@archipelagolab/lobi 1.0.6 → 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 (1533) 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/APEv2Parser-FYYGMFPI.js +0 -15
  313. package/dist/APEv2Parser-FYYGMFPI.js.map +0 -7
  314. package/dist/AiffParser-E6XWRTXM.js +0 -194
  315. package/dist/AiffParser-E6XWRTXM.js.map +0 -7
  316. package/dist/AiffParser-JHSDQA7T.js +0 -194
  317. package/dist/AiffParser-JHSDQA7T.js.map +0 -7
  318. package/dist/AsfParser-TPCQDEJB.js +0 -620
  319. package/dist/AsfParser-TPCQDEJB.js.map +0 -7
  320. package/dist/AsfParser-WSOH2JQY.js +0 -620
  321. package/dist/AsfParser-WSOH2JQY.js.map +0 -7
  322. package/dist/DsdiffParser-CGD3C3TL.js +0 -192
  323. package/dist/DsdiffParser-CGD3C3TL.js.map +0 -7
  324. package/dist/DsdiffParser-EUWJ4YAR.js +0 -192
  325. package/dist/DsdiffParser-EUWJ4YAR.js.map +0 -7
  326. package/dist/DsfParser-3UTIJVNF.js +0 -114
  327. package/dist/DsfParser-3UTIJVNF.js.map +0 -7
  328. package/dist/DsfParser-R6TPBJIY.js +0 -114
  329. package/dist/DsfParser-R6TPBJIY.js.map +0 -7
  330. package/dist/FlacParser-HLLYPJ76.js +0 -16
  331. package/dist/FlacParser-HLLYPJ76.js.map +0 -7
  332. package/dist/FlacParser-VDASGZ3E.js +0 -16
  333. package/dist/FlacParser-VDASGZ3E.js.map +0 -7
  334. package/dist/MP4Parser-64RGJLUM.js +0 -1145
  335. package/dist/MP4Parser-64RGJLUM.js.map +0 -7
  336. package/dist/MP4Parser-SM7HYL3Z.js +0 -1145
  337. package/dist/MP4Parser-SM7HYL3Z.js.map +0 -7
  338. package/dist/MatroskaParser-O6RXAKYA.js +0 -662
  339. package/dist/MatroskaParser-O6RXAKYA.js.map +0 -7
  340. package/dist/MatroskaParser-X7WRZ6D4.js +0 -662
  341. package/dist/MatroskaParser-X7WRZ6D4.js.map +0 -7
  342. package/dist/MpegParser-B6NX6DS3.js +0 -652
  343. package/dist/MpegParser-B6NX6DS3.js.map +0 -7
  344. package/dist/MpegParser-KXQEC6KD.js +0 -652
  345. package/dist/MpegParser-KXQEC6KD.js.map +0 -7
  346. package/dist/MusepackParser-NURI46TG.js +0 -331
  347. package/dist/MusepackParser-NURI46TG.js.map +0 -7
  348. package/dist/MusepackParser-WUBT63DS.js +0 -331
  349. package/dist/MusepackParser-WUBT63DS.js.map +0 -7
  350. package/dist/OggParser-5IYVBXPS.js +0 -448
  351. package/dist/OggParser-5IYVBXPS.js.map +0 -7
  352. package/dist/OggParser-ZY6E5C2P.js +0 -448
  353. package/dist/OggParser-ZY6E5C2P.js.map +0 -7
  354. package/dist/WavPackParser-5KTCSQEU.js +0 -209
  355. package/dist/WavPackParser-5KTCSQEU.js.map +0 -7
  356. package/dist/WavPackParser-RTEHKSJH.js +0 -209
  357. package/dist/WavPackParser-RTEHKSJH.js.map +0 -7
  358. package/dist/WaveParser-3R2NLXGP.js +0 -300
  359. package/dist/WaveParser-3R2NLXGP.js.map +0 -7
  360. package/dist/WaveParser-RZSHVQPZ.js +0 -300
  361. package/dist/WaveParser-RZSHVQPZ.js.map +0 -7
  362. package/dist/auth-presence.js +0 -46
  363. package/dist/auth-presence.js.map +0 -7
  364. package/dist/channel-plugin-api.js +0 -79
  365. package/dist/channel-plugin-api.js.map +0 -7
  366. package/dist/chunk-22WAAZ6I.js +0 -114
  367. package/dist/chunk-22WAAZ6I.js.map +0 -7
  368. package/dist/chunk-2A6HEFSO.js +0 -676
  369. package/dist/chunk-2A6HEFSO.js.map +0 -7
  370. package/dist/chunk-2GFROLI2.js +0 -261
  371. package/dist/chunk-2GFROLI2.js.map +0 -7
  372. package/dist/chunk-2IQWKATM.js +0 -127
  373. package/dist/chunk-2IQWKATM.js.map +0 -7
  374. package/dist/chunk-2KGHUHKU.js +0 -169
  375. package/dist/chunk-2KGHUHKU.js.map +0 -7
  376. package/dist/chunk-2NEQI4K6.js +0 -171
  377. package/dist/chunk-2NEQI4K6.js.map +0 -7
  378. package/dist/chunk-2OSJ3MTW.js +0 -175
  379. package/dist/chunk-2OSJ3MTW.js.map +0 -7
  380. package/dist/chunk-2Q626TDO.js +0 -27
  381. package/dist/chunk-2Q626TDO.js.map +0 -7
  382. package/dist/chunk-2U6OZ7N2.js +0 -155
  383. package/dist/chunk-2U6OZ7N2.js.map +0 -7
  384. package/dist/chunk-2V6Y4CAN.js +0 -25
  385. package/dist/chunk-2V6Y4CAN.js.map +0 -7
  386. package/dist/chunk-2WHRUMOM.js +0 -321
  387. package/dist/chunk-2WHRUMOM.js.map +0 -7
  388. package/dist/chunk-2Z4IOUDZ.js +0 -129
  389. package/dist/chunk-2Z4IOUDZ.js.map +0 -7
  390. package/dist/chunk-2ZEPAW7U.js +0 -154
  391. package/dist/chunk-2ZEPAW7U.js.map +0 -7
  392. package/dist/chunk-2ZI6JK5O.js +0 -63
  393. package/dist/chunk-2ZI6JK5O.js.map +0 -7
  394. package/dist/chunk-34UY6D6X.js +0 -36
  395. package/dist/chunk-34UY6D6X.js.map +0 -7
  396. package/dist/chunk-3GIK7SAA.js +0 -109
  397. package/dist/chunk-3GIK7SAA.js.map +0 -7
  398. package/dist/chunk-3JD6JSJD.js +0 -111
  399. package/dist/chunk-3JD6JSJD.js.map +0 -7
  400. package/dist/chunk-3OXOEMBS.js +0 -123
  401. package/dist/chunk-3OXOEMBS.js.map +0 -7
  402. package/dist/chunk-3R4ATE4Q.js +0 -176
  403. package/dist/chunk-3R4ATE4Q.js.map +0 -7
  404. package/dist/chunk-3TOEIHG5.js +0 -314
  405. package/dist/chunk-3TOEIHG5.js.map +0 -7
  406. package/dist/chunk-3TRKKAVT.js +0 -130
  407. package/dist/chunk-3TRKKAVT.js.map +0 -7
  408. package/dist/chunk-3UFTTK7C.js +0 -418
  409. package/dist/chunk-3UFTTK7C.js.map +0 -7
  410. package/dist/chunk-3XO6AAIC.js +0 -25
  411. package/dist/chunk-3XO6AAIC.js.map +0 -7
  412. package/dist/chunk-427SAQME.js +0 -321
  413. package/dist/chunk-427SAQME.js.map +0 -7
  414. package/dist/chunk-4CFQNJ7F.js +0 -7
  415. package/dist/chunk-4CFQNJ7F.js.map +0 -7
  416. package/dist/chunk-4COI4L2Y.js +0 -31
  417. package/dist/chunk-4COI4L2Y.js.map +0 -7
  418. package/dist/chunk-4EKKDVG3.js +0 -1662
  419. package/dist/chunk-4EKKDVG3.js.map +0 -7
  420. package/dist/chunk-4JVNTZAI.js +0 -80
  421. package/dist/chunk-4JVNTZAI.js.map +0 -7
  422. package/dist/chunk-4L2QI6AY.js +0 -71
  423. package/dist/chunk-4L2QI6AY.js.map +0 -7
  424. package/dist/chunk-4O3BEYYM.js +0 -187
  425. package/dist/chunk-4O3BEYYM.js.map +0 -7
  426. package/dist/chunk-4OXPPDV6.js +0 -676
  427. package/dist/chunk-4OXPPDV6.js.map +0 -7
  428. package/dist/chunk-4QTZHELX.js +0 -51
  429. package/dist/chunk-4QTZHELX.js.map +0 -7
  430. package/dist/chunk-4U42OJMK.js +0 -217
  431. package/dist/chunk-4U42OJMK.js.map +0 -7
  432. package/dist/chunk-4WCKVGQ5.js +0 -193
  433. package/dist/chunk-4WCKVGQ5.js.map +0 -7
  434. package/dist/chunk-4XXERLFH.js +0 -95
  435. package/dist/chunk-4XXERLFH.js.map +0 -7
  436. package/dist/chunk-4Z2N4GW6.js +0 -247
  437. package/dist/chunk-4Z2N4GW6.js.map +0 -7
  438. package/dist/chunk-4ZY2BOQ4.js +0 -123
  439. package/dist/chunk-4ZY2BOQ4.js.map +0 -7
  440. package/dist/chunk-56HN4SH6.js +0 -46
  441. package/dist/chunk-56HN4SH6.js.map +0 -7
  442. package/dist/chunk-57ROEOHB.js +0 -183
  443. package/dist/chunk-57ROEOHB.js.map +0 -7
  444. package/dist/chunk-5APBBTGW.js +0 -7
  445. package/dist/chunk-5APBBTGW.js.map +0 -7
  446. package/dist/chunk-5BQ6LLNU.js +0 -39
  447. package/dist/chunk-5BQ6LLNU.js.map +0 -7
  448. package/dist/chunk-5LNGMBWW.js +0 -93
  449. package/dist/chunk-5LNGMBWW.js.map +0 -7
  450. package/dist/chunk-5XFQSYZ4.js +0 -52
  451. package/dist/chunk-5XFQSYZ4.js.map +0 -7
  452. package/dist/chunk-62N5N4AC.js +0 -241
  453. package/dist/chunk-62N5N4AC.js.map +0 -7
  454. package/dist/chunk-63QTHDJL.js +0 -52
  455. package/dist/chunk-63QTHDJL.js.map +0 -7
  456. package/dist/chunk-65UUVZ6B.js +0 -151
  457. package/dist/chunk-65UUVZ6B.js.map +0 -7
  458. package/dist/chunk-6COVTMAO.js +0 -3586
  459. package/dist/chunk-6COVTMAO.js.map +0 -7
  460. package/dist/chunk-6EYPDJUD.js +0 -34
  461. package/dist/chunk-6EYPDJUD.js.map +0 -7
  462. package/dist/chunk-6HDYPVA4.js +0 -15
  463. package/dist/chunk-6HDYPVA4.js.map +0 -7
  464. package/dist/chunk-6HX3DEXK.js +0 -178
  465. package/dist/chunk-6HX3DEXK.js.map +0 -7
  466. package/dist/chunk-6NO5VEVV.js +0 -18
  467. package/dist/chunk-6NO5VEVV.js.map +0 -7
  468. package/dist/chunk-6OP3FK5F.js +0 -266
  469. package/dist/chunk-6OP3FK5F.js.map +0 -7
  470. package/dist/chunk-6PZGDVLR.js +0 -465
  471. package/dist/chunk-6PZGDVLR.js.map +0 -7
  472. package/dist/chunk-6RBDFNSX.js +0 -88
  473. package/dist/chunk-6RBDFNSX.js.map +0 -7
  474. package/dist/chunk-6SOGH3TW.js +0 -163
  475. package/dist/chunk-6SOGH3TW.js.map +0 -7
  476. package/dist/chunk-6TWWCETB.js +0 -70
  477. package/dist/chunk-6TWWCETB.js.map +0 -7
  478. package/dist/chunk-6WFHPMUF.js +0 -17
  479. package/dist/chunk-6WFHPMUF.js.map +0 -7
  480. package/dist/chunk-72TGY3LX.js +0 -104
  481. package/dist/chunk-72TGY3LX.js.map +0 -7
  482. package/dist/chunk-76IE55K7.js +0 -392
  483. package/dist/chunk-76IE55K7.js.map +0 -7
  484. package/dist/chunk-77BEEAPD.js +0 -86
  485. package/dist/chunk-77BEEAPD.js.map +0 -7
  486. package/dist/chunk-77JJ6QJK.js +0 -50
  487. package/dist/chunk-77JJ6QJK.js.map +0 -7
  488. package/dist/chunk-7BIUNV33.js +0 -62
  489. package/dist/chunk-7BIUNV33.js.map +0 -7
  490. package/dist/chunk-7F3242AO.js +0 -86
  491. package/dist/chunk-7F3242AO.js.map +0 -7
  492. package/dist/chunk-7FLQSTPG.js +0 -57
  493. package/dist/chunk-7FLQSTPG.js.map +0 -7
  494. package/dist/chunk-7L37R42D.js +0 -52
  495. package/dist/chunk-7L37R42D.js.map +0 -7
  496. package/dist/chunk-7MP46JBP.js +0 -177
  497. package/dist/chunk-7MP46JBP.js.map +0 -7
  498. package/dist/chunk-7MVZYR2T.js +0 -87
  499. package/dist/chunk-7MVZYR2T.js.map +0 -7
  500. package/dist/chunk-7N7ISMPG.js +0 -50
  501. package/dist/chunk-7N7ISMPG.js.map +0 -7
  502. package/dist/chunk-7S7LQQPX.js +0 -127
  503. package/dist/chunk-7S7LQQPX.js.map +0 -7
  504. package/dist/chunk-7TTNY5FK.js +0 -21
  505. package/dist/chunk-7TTNY5FK.js.map +0 -7
  506. package/dist/chunk-7W73QCTR.js +0 -244
  507. package/dist/chunk-7W73QCTR.js.map +0 -7
  508. package/dist/chunk-7XXLU33Y.js +0 -76
  509. package/dist/chunk-7XXLU33Y.js.map +0 -7
  510. package/dist/chunk-7ZP3KYVO.js +0 -104
  511. package/dist/chunk-7ZP3KYVO.js.map +0 -7
  512. package/dist/chunk-AAO7BQEV.js +0 -258
  513. package/dist/chunk-AAO7BQEV.js.map +0 -7
  514. package/dist/chunk-AH4MLRYT.js +0 -91
  515. package/dist/chunk-AH4MLRYT.js.map +0 -7
  516. package/dist/chunk-AHKR32FH.js +0 -7
  517. package/dist/chunk-AHKR32FH.js.map +0 -7
  518. package/dist/chunk-ALKRFDAW.js +0 -94
  519. package/dist/chunk-ALKRFDAW.js.map +0 -7
  520. package/dist/chunk-AQQGAE7N.js +0 -12
  521. package/dist/chunk-AQQGAE7N.js.map +0 -7
  522. package/dist/chunk-ARGF232V.js +0 -32
  523. package/dist/chunk-ARGF232V.js.map +0 -7
  524. package/dist/chunk-ATCJOK3K.js +0 -24
  525. package/dist/chunk-ATCJOK3K.js.map +0 -7
  526. package/dist/chunk-AUUABFHL.js +0 -124
  527. package/dist/chunk-AUUABFHL.js.map +0 -7
  528. package/dist/chunk-AWW3YUGJ.js +0 -193
  529. package/dist/chunk-AWW3YUGJ.js.map +0 -7
  530. package/dist/chunk-AX7VEEWJ.js +0 -158
  531. package/dist/chunk-AX7VEEWJ.js.map +0 -7
  532. package/dist/chunk-B3NTODO7.js +0 -57
  533. package/dist/chunk-B3NTODO7.js.map +0 -7
  534. package/dist/chunk-BAX7Q6GR.js +0 -55
  535. package/dist/chunk-BAX7Q6GR.js.map +0 -7
  536. package/dist/chunk-BBM6BR3Z.js +0 -28
  537. package/dist/chunk-BBM6BR3Z.js.map +0 -7
  538. package/dist/chunk-BHXZMHSX.js +0 -109
  539. package/dist/chunk-BHXZMHSX.js.map +0 -7
  540. package/dist/chunk-BIUXDLVY.js +0 -62
  541. package/dist/chunk-BIUXDLVY.js.map +0 -7
  542. package/dist/chunk-BM7J2W36.js +0 -86
  543. package/dist/chunk-BM7J2W36.js.map +0 -7
  544. package/dist/chunk-BMFZL2P4.js +0 -97
  545. package/dist/chunk-BMFZL2P4.js.map +0 -7
  546. package/dist/chunk-BQXEXK4H.js +0 -114
  547. package/dist/chunk-BQXEXK4H.js.map +0 -7
  548. package/dist/chunk-BU2CTWBG.js +0 -30
  549. package/dist/chunk-BU2CTWBG.js.map +0 -7
  550. package/dist/chunk-BVKSCLF7.js +0 -195
  551. package/dist/chunk-BVKSCLF7.js.map +0 -7
  552. package/dist/chunk-BWA3D22L.js +0 -88
  553. package/dist/chunk-BWA3D22L.js.map +0 -7
  554. package/dist/chunk-CE24RSPL.js +0 -506
  555. package/dist/chunk-CE24RSPL.js.map +0 -7
  556. package/dist/chunk-CEB5S2Z5.js +0 -127
  557. package/dist/chunk-CEB5S2Z5.js.map +0 -7
  558. package/dist/chunk-CEKNTCJD.js +0 -177
  559. package/dist/chunk-CEKNTCJD.js.map +0 -7
  560. package/dist/chunk-CETZGSCP.js +0 -71
  561. package/dist/chunk-CETZGSCP.js.map +0 -7
  562. package/dist/chunk-CGBWMONK.js +0 -412
  563. package/dist/chunk-CGBWMONK.js.map +0 -7
  564. package/dist/chunk-CGFDIH77.js +0 -94
  565. package/dist/chunk-CGFDIH77.js.map +0 -7
  566. package/dist/chunk-CPLEC5LJ.js +0 -26
  567. package/dist/chunk-CPLEC5LJ.js.map +0 -7
  568. package/dist/chunk-CPNIXMGX.js +0 -127
  569. package/dist/chunk-CPNIXMGX.js.map +0 -7
  570. package/dist/chunk-CSJO73LD.js +0 -84
  571. package/dist/chunk-CSJO73LD.js.map +0 -7
  572. package/dist/chunk-CTKBDSL6.js +0 -81
  573. package/dist/chunk-CTKBDSL6.js.map +0 -7
  574. package/dist/chunk-CY6WHUCW.js +0 -54
  575. package/dist/chunk-CY6WHUCW.js.map +0 -7
  576. package/dist/chunk-D4GYYYMW.js +0 -155
  577. package/dist/chunk-D4GYYYMW.js.map +0 -7
  578. package/dist/chunk-D64CZG54.js +0 -78
  579. package/dist/chunk-D64CZG54.js.map +0 -7
  580. package/dist/chunk-D7Q6Z74D.js +0 -123
  581. package/dist/chunk-D7Q6Z74D.js.map +0 -7
  582. package/dist/chunk-DSGPDHF2.js +0 -737
  583. package/dist/chunk-DSGPDHF2.js.map +0 -7
  584. package/dist/chunk-DZIM4OWK.js +0 -17
  585. package/dist/chunk-DZIM4OWK.js.map +0 -7
  586. package/dist/chunk-E3GC4V5V.js +0 -30
  587. package/dist/chunk-E3GC4V5V.js.map +0 -7
  588. package/dist/chunk-E5HPDHCW.js +0 -34
  589. package/dist/chunk-E5HPDHCW.js.map +0 -7
  590. package/dist/chunk-E75BJJZ2.js +0 -635
  591. package/dist/chunk-E75BJJZ2.js.map +0 -7
  592. package/dist/chunk-EBXHW7ZO.js +0 -108
  593. package/dist/chunk-EBXHW7ZO.js.map +0 -7
  594. package/dist/chunk-EE4DHUUZ.js +0 -472
  595. package/dist/chunk-EE4DHUUZ.js.map +0 -7
  596. package/dist/chunk-EHELTAAD.js +0 -198
  597. package/dist/chunk-EHELTAAD.js.map +0 -7
  598. package/dist/chunk-EKXPSI7Z.js +0 -135
  599. package/dist/chunk-EKXPSI7Z.js.map +0 -7
  600. package/dist/chunk-EO35SCFP.js +0 -7
  601. package/dist/chunk-EO35SCFP.js.map +0 -7
  602. package/dist/chunk-ER2XTD2S.js +0 -271
  603. package/dist/chunk-ER2XTD2S.js.map +0 -7
  604. package/dist/chunk-ERCH75SH.js +0 -292
  605. package/dist/chunk-ERCH75SH.js.map +0 -7
  606. package/dist/chunk-ERXO3674.js +0 -54
  607. package/dist/chunk-ERXO3674.js.map +0 -7
  608. package/dist/chunk-EVFWZGFL.js +0 -235
  609. package/dist/chunk-EVFWZGFL.js.map +0 -7
  610. package/dist/chunk-EVPBRKMZ.js +0 -45
  611. package/dist/chunk-EVPBRKMZ.js.map +0 -7
  612. package/dist/chunk-F43CC2X2.js +0 -49
  613. package/dist/chunk-F43CC2X2.js.map +0 -7
  614. package/dist/chunk-F64TXVJJ.js +0 -158
  615. package/dist/chunk-F64TXVJJ.js.map +0 -7
  616. package/dist/chunk-F6AFJHWV.js +0 -45
  617. package/dist/chunk-F6AFJHWV.js.map +0 -7
  618. package/dist/chunk-F6APWSAA.js +0 -51
  619. package/dist/chunk-F6APWSAA.js.map +0 -7
  620. package/dist/chunk-F7LNS7G3.js +0 -235
  621. package/dist/chunk-F7LNS7G3.js.map +0 -7
  622. package/dist/chunk-FCNWR7ZX.js +0 -16352
  623. package/dist/chunk-FCNWR7ZX.js.map +0 -7
  624. package/dist/chunk-FFCG5NRU.js +0 -87
  625. package/dist/chunk-FFCG5NRU.js.map +0 -7
  626. package/dist/chunk-FG4NVFKM.js +0 -455
  627. package/dist/chunk-FG4NVFKM.js.map +0 -7
  628. package/dist/chunk-FHNEN6IR.js +0 -14
  629. package/dist/chunk-FHNEN6IR.js.map +0 -7
  630. package/dist/chunk-FJFC6CRR.js +0 -446
  631. package/dist/chunk-FJFC6CRR.js.map +0 -7
  632. package/dist/chunk-FK6RGYBB.js +0 -46
  633. package/dist/chunk-FK6RGYBB.js.map +0 -7
  634. package/dist/chunk-FMY6KXK6.js +0 -251
  635. package/dist/chunk-FMY6KXK6.js.map +0 -7
  636. package/dist/chunk-FPH56SCM.js +0 -21
  637. package/dist/chunk-FPH56SCM.js.map +0 -7
  638. package/dist/chunk-FQ4R7IOX.js +0 -32
  639. package/dist/chunk-FQ4R7IOX.js.map +0 -7
  640. package/dist/chunk-FQPYAPJJ.js +0 -124
  641. package/dist/chunk-FQPYAPJJ.js.map +0 -7
  642. package/dist/chunk-FQTLJO4W.js +0 -335
  643. package/dist/chunk-FQTLJO4W.js.map +0 -7
  644. package/dist/chunk-FVLJSB2W.js +0 -124
  645. package/dist/chunk-FVLJSB2W.js.map +0 -7
  646. package/dist/chunk-FVSH4Z6T.js +0 -173
  647. package/dist/chunk-FVSH4Z6T.js.map +0 -7
  648. package/dist/chunk-FVWBLEAD.js +0 -44
  649. package/dist/chunk-FVWBLEAD.js.map +0 -7
  650. package/dist/chunk-FYRKBNTI.js +0 -18
  651. package/dist/chunk-FYRKBNTI.js.map +0 -7
  652. package/dist/chunk-FYSARMGS.js +0 -93
  653. package/dist/chunk-FYSARMGS.js.map +0 -7
  654. package/dist/chunk-FZJOJ6P4.js +0 -28
  655. package/dist/chunk-FZJOJ6P4.js.map +0 -7
  656. package/dist/chunk-G46GHNDU.js +0 -4890
  657. package/dist/chunk-G46GHNDU.js.map +0 -7
  658. package/dist/chunk-G4TIS2SC.js +0 -56
  659. package/dist/chunk-G4TIS2SC.js.map +0 -7
  660. package/dist/chunk-GD6L3SLC.js +0 -30
  661. package/dist/chunk-GD6L3SLC.js.map +0 -7
  662. package/dist/chunk-GGWS7NQP.js +0 -247
  663. package/dist/chunk-GGWS7NQP.js.map +0 -7
  664. package/dist/chunk-GI2ZANRY.js +0 -24
  665. package/dist/chunk-GI2ZANRY.js.map +0 -7
  666. package/dist/chunk-GK3XVKXT.js +0 -737
  667. package/dist/chunk-GK3XVKXT.js.map +0 -7
  668. package/dist/chunk-GKOWCDQV.js +0 -699
  669. package/dist/chunk-GKOWCDQV.js.map +0 -7
  670. package/dist/chunk-GLLRCKKE.js +0 -26
  671. package/dist/chunk-GLLRCKKE.js.map +0 -7
  672. package/dist/chunk-GNYG6I36.js +0 -175
  673. package/dist/chunk-GNYG6I36.js.map +0 -7
  674. package/dist/chunk-GRBJYAYF.js +0 -129
  675. package/dist/chunk-GRBJYAYF.js.map +0 -7
  676. package/dist/chunk-GVYGUH2V.js +0 -7
  677. package/dist/chunk-GVYGUH2V.js.map +0 -7
  678. package/dist/chunk-GXDQGBA2.js +0 -106
  679. package/dist/chunk-GXDQGBA2.js.map +0 -7
  680. package/dist/chunk-GZAGAWSU.js +0 -28
  681. package/dist/chunk-GZAGAWSU.js.map +0 -7
  682. package/dist/chunk-H23E72SB.js +0 -163
  683. package/dist/chunk-H23E72SB.js.map +0 -7
  684. package/dist/chunk-H2HY73I6.js +0 -122
  685. package/dist/chunk-H2HY73I6.js.map +0 -7
  686. package/dist/chunk-H5MLA6PA.js +0 -29
  687. package/dist/chunk-H5MLA6PA.js.map +0 -7
  688. package/dist/chunk-H6YVV7GE.js +0 -22
  689. package/dist/chunk-H6YVV7GE.js.map +0 -7
  690. package/dist/chunk-H7KAUMBC.js +0 -635
  691. package/dist/chunk-H7KAUMBC.js.map +0 -7
  692. package/dist/chunk-HDPICD3P.js +0 -4890
  693. package/dist/chunk-HDPICD3P.js.map +0 -7
  694. package/dist/chunk-HGHU3TVL.js +0 -174
  695. package/dist/chunk-HGHU3TVL.js.map +0 -7
  696. package/dist/chunk-HJ5E2JRL.js +0 -88
  697. package/dist/chunk-HJ5E2JRL.js.map +0 -7
  698. package/dist/chunk-HJW3CKZL.js +0 -94
  699. package/dist/chunk-HJW3CKZL.js.map +0 -7
  700. package/dist/chunk-HKF5EBER.js +0 -418
  701. package/dist/chunk-HKF5EBER.js.map +0 -7
  702. package/dist/chunk-HLUR35G5.js +0 -30
  703. package/dist/chunk-HLUR35G5.js.map +0 -7
  704. package/dist/chunk-HNIW2NZU.js +0 -120
  705. package/dist/chunk-HNIW2NZU.js.map +0 -7
  706. package/dist/chunk-HP5HMWOM.js +0 -123
  707. package/dist/chunk-HP5HMWOM.js.map +0 -7
  708. package/dist/chunk-HQSHS6IB.js +0 -88
  709. package/dist/chunk-HQSHS6IB.js.map +0 -7
  710. package/dist/chunk-HSXRCP25.js +0 -171
  711. package/dist/chunk-HSXRCP25.js.map +0 -7
  712. package/dist/chunk-HTV3R73W.js +0 -51
  713. package/dist/chunk-HTV3R73W.js.map +0 -7
  714. package/dist/chunk-I26OPZLO.js +0 -28
  715. package/dist/chunk-I26OPZLO.js.map +0 -7
  716. package/dist/chunk-I7JJQ4BQ.js +0 -30
  717. package/dist/chunk-I7JJQ4BQ.js.map +0 -7
  718. package/dist/chunk-IJ6Y4W7F.js +0 -392
  719. package/dist/chunk-IJ6Y4W7F.js.map +0 -7
  720. package/dist/chunk-IJCMYMZB.js +0 -239
  721. package/dist/chunk-IJCMYMZB.js.map +0 -7
  722. package/dist/chunk-IJH4NOQ4.js +0 -18
  723. package/dist/chunk-IJH4NOQ4.js.map +0 -7
  724. package/dist/chunk-IMHRZQRH.js +0 -76
  725. package/dist/chunk-IMHRZQRH.js.map +0 -7
  726. package/dist/chunk-INNENDEE.js +0 -472
  727. package/dist/chunk-INNENDEE.js.map +0 -7
  728. package/dist/chunk-IOTLSMEQ.js +0 -177
  729. package/dist/chunk-IOTLSMEQ.js.map +0 -7
  730. package/dist/chunk-IQYYEHSM.js +0 -300
  731. package/dist/chunk-IQYYEHSM.js.map +0 -7
  732. package/dist/chunk-IRA5NJ4Q.js +0 -21
  733. package/dist/chunk-IRA5NJ4Q.js.map +0 -7
  734. package/dist/chunk-IU7EXXK7.js +0 -1662
  735. package/dist/chunk-IU7EXXK7.js.map +0 -7
  736. package/dist/chunk-IUXAKDAY.js +0 -102
  737. package/dist/chunk-IUXAKDAY.js.map +0 -7
  738. package/dist/chunk-JB6ZQEVR.js +0 -465
  739. package/dist/chunk-JB6ZQEVR.js.map +0 -7
  740. package/dist/chunk-JCWNMWNY.js +0 -102
  741. package/dist/chunk-JCWNMWNY.js.map +0 -7
  742. package/dist/chunk-JGIZPU2Y.js +0 -39
  743. package/dist/chunk-JGIZPU2Y.js.map +0 -7
  744. package/dist/chunk-JIU4FXA7.js +0 -485
  745. package/dist/chunk-JIU4FXA7.js.map +0 -7
  746. package/dist/chunk-JMYIFYY5.js +0 -233
  747. package/dist/chunk-JMYIFYY5.js.map +0 -7
  748. package/dist/chunk-JSZBX2TA.js +0 -5853
  749. package/dist/chunk-JSZBX2TA.js.map +0 -7
  750. package/dist/chunk-JU2Y33DB.js +0 -60
  751. package/dist/chunk-JU2Y33DB.js.map +0 -7
  752. package/dist/chunk-JVLRI4RU.js +0 -62
  753. package/dist/chunk-JVLRI4RU.js.map +0 -7
  754. package/dist/chunk-JZ3AVNZC.js +0 -44117
  755. package/dist/chunk-JZ3AVNZC.js.map +0 -7
  756. package/dist/chunk-K3HEWOHN.js +0 -30
  757. package/dist/chunk-K3HEWOHN.js.map +0 -7
  758. package/dist/chunk-K5EK4WZV.js +0 -7
  759. package/dist/chunk-K5EK4WZV.js.map +0 -7
  760. package/dist/chunk-KAWXMSYC.js +0 -58
  761. package/dist/chunk-KAWXMSYC.js.map +0 -7
  762. package/dist/chunk-KEGPHS4C.js +0 -80
  763. package/dist/chunk-KEGPHS4C.js.map +0 -7
  764. package/dist/chunk-KHFWQ334.js +0 -138
  765. package/dist/chunk-KHFWQ334.js.map +0 -7
  766. package/dist/chunk-KJW6JLM6.js +0 -95
  767. package/dist/chunk-KJW6JLM6.js.map +0 -7
  768. package/dist/chunk-KSEANSJE.js +0 -40
  769. package/dist/chunk-KSEANSJE.js.map +0 -7
  770. package/dist/chunk-KVU54E6W.js +0 -63
  771. package/dist/chunk-KVU54E6W.js.map +0 -7
  772. package/dist/chunk-KXXVR3DC.js +0 -244
  773. package/dist/chunk-KXXVR3DC.js.map +0 -7
  774. package/dist/chunk-L5OUVMHK.js +0 -174
  775. package/dist/chunk-L5OUVMHK.js.map +0 -7
  776. package/dist/chunk-L5T6XUDP.js +0 -412
  777. package/dist/chunk-L5T6XUDP.js.map +0 -7
  778. package/dist/chunk-LIFXTQ4U.js +0 -7287
  779. package/dist/chunk-LIFXTQ4U.js.map +0 -7
  780. package/dist/chunk-LIVQ7GIO.js +0 -86
  781. package/dist/chunk-LIVQ7GIO.js.map +0 -7
  782. package/dist/chunk-LMD5UTKM.js +0 -169
  783. package/dist/chunk-LMD5UTKM.js.map +0 -7
  784. package/dist/chunk-LO4F6E3N.js +0 -163
  785. package/dist/chunk-LO4F6E3N.js.map +0 -7
  786. package/dist/chunk-LSVKDUNM.js +0 -151
  787. package/dist/chunk-LSVKDUNM.js.map +0 -7
  788. package/dist/chunk-LTXNC6JX.js +0 -27
  789. package/dist/chunk-LTXNC6JX.js.map +0 -7
  790. package/dist/chunk-LUGTGPT6.js +0 -138
  791. package/dist/chunk-LUGTGPT6.js.map +0 -7
  792. package/dist/chunk-LVMK2GPM.js +0 -18
  793. package/dist/chunk-LVMK2GPM.js.map +0 -7
  794. package/dist/chunk-LXVPETLK.js +0 -1405
  795. package/dist/chunk-LXVPETLK.js.map +0 -7
  796. package/dist/chunk-LZNW24OB.js +0 -78
  797. package/dist/chunk-LZNW24OB.js.map +0 -7
  798. package/dist/chunk-LZQFDJNW.js +0 -300
  799. package/dist/chunk-LZQFDJNW.js.map +0 -7
  800. package/dist/chunk-M4VQPIF4.js +0 -5853
  801. package/dist/chunk-M4VQPIF4.js.map +0 -7
  802. package/dist/chunk-M64QE4QC.js +0 -64
  803. package/dist/chunk-M64QE4QC.js.map +0 -7
  804. package/dist/chunk-MAF6PSCJ.js +0 -44
  805. package/dist/chunk-MAF6PSCJ.js.map +0 -7
  806. package/dist/chunk-MBIX6Z7U.js +0 -80
  807. package/dist/chunk-MBIX6Z7U.js.map +0 -7
  808. package/dist/chunk-MDLLXMC3.js +0 -183
  809. package/dist/chunk-MDLLXMC3.js.map +0 -7
  810. package/dist/chunk-MEI5HTWV.js +0 -127
  811. package/dist/chunk-MEI5HTWV.js.map +0 -7
  812. package/dist/chunk-MH74AJ3A.js +0 -82
  813. package/dist/chunk-MH74AJ3A.js.map +0 -7
  814. package/dist/chunk-MIFIM4PI.js +0 -163
  815. package/dist/chunk-MIFIM4PI.js.map +0 -7
  816. package/dist/chunk-MISZB5QJ.js +0 -22
  817. package/dist/chunk-MISZB5QJ.js.map +0 -7
  818. package/dist/chunk-MJ27XQYG.js +0 -125
  819. package/dist/chunk-MJ27XQYG.js.map +0 -7
  820. package/dist/chunk-MJ2GW6SU.js +0 -163
  821. package/dist/chunk-MJ2GW6SU.js.map +0 -7
  822. package/dist/chunk-MLQY5SKR.js +0 -52
  823. package/dist/chunk-MLQY5SKR.js.map +0 -7
  824. package/dist/chunk-MTMHGC3G.js +0 -39
  825. package/dist/chunk-MTMHGC3G.js.map +0 -7
  826. package/dist/chunk-MWBAW3YV.js +0 -244
  827. package/dist/chunk-MWBAW3YV.js.map +0 -7
  828. package/dist/chunk-MYSK3SIM.js +0 -55
  829. package/dist/chunk-MYSK3SIM.js.map +0 -7
  830. package/dist/chunk-MZGGB2YT.js +0 -50
  831. package/dist/chunk-MZGGB2YT.js.map +0 -7
  832. package/dist/chunk-N46MIZXB.js +0 -154
  833. package/dist/chunk-N46MIZXB.js.map +0 -7
  834. package/dist/chunk-N53537P6.js +0 -31
  835. package/dist/chunk-N53537P6.js.map +0 -7
  836. package/dist/chunk-N5CTFOLX.js +0 -40
  837. package/dist/chunk-N5CTFOLX.js.map +0 -7
  838. package/dist/chunk-N5SNGZJV.js +0 -217
  839. package/dist/chunk-N5SNGZJV.js.map +0 -7
  840. package/dist/chunk-NGCTBYQ3.js +0 -181
  841. package/dist/chunk-NGCTBYQ3.js.map +0 -7
  842. package/dist/chunk-NIFG55CE.js +0 -52
  843. package/dist/chunk-NIFG55CE.js.map +0 -7
  844. package/dist/chunk-NJ63ALPX.js +0 -7
  845. package/dist/chunk-NJ63ALPX.js.map +0 -7
  846. package/dist/chunk-NMUX7SGU.js +0 -676
  847. package/dist/chunk-NMUX7SGU.js.map +0 -7
  848. package/dist/chunk-NO7GMLNU.js +0 -292
  849. package/dist/chunk-NO7GMLNU.js.map +0 -7
  850. package/dist/chunk-NTOGVX2Y.js +0 -92
  851. package/dist/chunk-NTOGVX2Y.js.map +0 -7
  852. package/dist/chunk-NZVHE4IT.js +0 -3101
  853. package/dist/chunk-NZVHE4IT.js.map +0 -7
  854. package/dist/chunk-O5IVKDX7.js +0 -30
  855. package/dist/chunk-O5IVKDX7.js.map +0 -7
  856. package/dist/chunk-O7ORICEC.js +0 -82
  857. package/dist/chunk-O7ORICEC.js.map +0 -7
  858. package/dist/chunk-OBMBAM3N.js +0 -73
  859. package/dist/chunk-OBMBAM3N.js.map +0 -7
  860. package/dist/chunk-OFWMLQMU.js +0 -7287
  861. package/dist/chunk-OFWMLQMU.js.map +0 -7
  862. package/dist/chunk-OJ3ZUKBI.js +0 -73
  863. package/dist/chunk-OJ3ZUKBI.js.map +0 -7
  864. package/dist/chunk-OJJBD5K3.js +0 -45
  865. package/dist/chunk-OJJBD5K3.js.map +0 -7
  866. package/dist/chunk-OJTHE4B7.js +0 -50
  867. package/dist/chunk-OJTHE4B7.js.map +0 -7
  868. package/dist/chunk-OKDOVX4B.js +0 -699
  869. package/dist/chunk-OKDOVX4B.js.map +0 -7
  870. package/dist/chunk-OOYPYBTA.js +0 -446
  871. package/dist/chunk-OOYPYBTA.js.map +0 -7
  872. package/dist/chunk-OQP4W4AR.js +0 -105
  873. package/dist/chunk-OQP4W4AR.js.map +0 -7
  874. package/dist/chunk-OVMDMCZ5.js +0 -241
  875. package/dist/chunk-OVMDMCZ5.js.map +0 -7
  876. package/dist/chunk-OVTT2EKA.js +0 -516
  877. package/dist/chunk-OVTT2EKA.js.map +0 -7
  878. package/dist/chunk-OVU43GJK.js +0 -63
  879. package/dist/chunk-OVU43GJK.js.map +0 -7
  880. package/dist/chunk-P3TMARA6.js +0 -18
  881. package/dist/chunk-P3TMARA6.js.map +0 -7
  882. package/dist/chunk-P5N63LBS.js +0 -94
  883. package/dist/chunk-P5N63LBS.js.map +0 -7
  884. package/dist/chunk-PARITZ7F.js +0 -28
  885. package/dist/chunk-PARITZ7F.js.map +0 -7
  886. package/dist/chunk-PBQK4KY4.js +0 -195
  887. package/dist/chunk-PBQK4KY4.js.map +0 -7
  888. package/dist/chunk-PLMOTQ42.js +0 -335
  889. package/dist/chunk-PLMOTQ42.js.map +0 -7
  890. package/dist/chunk-PSL2AHIA.js +0 -27
  891. package/dist/chunk-PSL2AHIA.js.map +0 -7
  892. package/dist/chunk-Q5QT7JBM.js +0 -92
  893. package/dist/chunk-Q5QT7JBM.js.map +0 -7
  894. package/dist/chunk-Q6H5OV2R.js +0 -180
  895. package/dist/chunk-Q6H5OV2R.js.map +0 -7
  896. package/dist/chunk-Q7WA5DCR.js +0 -62
  897. package/dist/chunk-Q7WA5DCR.js.map +0 -7
  898. package/dist/chunk-QAR5POXD.js +0 -472
  899. package/dist/chunk-QAR5POXD.js.map +0 -7
  900. package/dist/chunk-QATEENP2.js +0 -7
  901. package/dist/chunk-QATEENP2.js.map +0 -7
  902. package/dist/chunk-QDT24CIA.js +0 -485
  903. package/dist/chunk-QDT24CIA.js.map +0 -7
  904. package/dist/chunk-QI3NB7D5.js +0 -455
  905. package/dist/chunk-QI3NB7D5.js.map +0 -7
  906. package/dist/chunk-QIDAVXSX.js +0 -106
  907. package/dist/chunk-QIDAVXSX.js.map +0 -7
  908. package/dist/chunk-QKIGQVP2.js +0 -104
  909. package/dist/chunk-QKIGQVP2.js.map +0 -7
  910. package/dist/chunk-QNJENPK2.js +0 -81
  911. package/dist/chunk-QNJENPK2.js.map +0 -7
  912. package/dist/chunk-R5S76YR5.js +0 -12
  913. package/dist/chunk-R5S76YR5.js.map +0 -7
  914. package/dist/chunk-R7ZBOXPS.js +0 -163
  915. package/dist/chunk-R7ZBOXPS.js.map +0 -7
  916. package/dist/chunk-RAL3KX76.js +0 -239
  917. package/dist/chunk-RAL3KX76.js.map +0 -7
  918. package/dist/chunk-REVXXWAS.js +0 -31
  919. package/dist/chunk-REVXXWAS.js.map +0 -7
  920. package/dist/chunk-RFH4HRZP.js +0 -94
  921. package/dist/chunk-RFH4HRZP.js.map +0 -7
  922. package/dist/chunk-RHITG64O.js +0 -50
  923. package/dist/chunk-RHITG64O.js.map +0 -7
  924. package/dist/chunk-RK5HZFP6.js +0 -111
  925. package/dist/chunk-RK5HZFP6.js.map +0 -7
  926. package/dist/chunk-RNGAGYCL.js +0 -49
  927. package/dist/chunk-RNGAGYCL.js.map +0 -7
  928. package/dist/chunk-RPCVN3JA.js +0 -261
  929. package/dist/chunk-RPCVN3JA.js.map +0 -7
  930. package/dist/chunk-RQ26XXFS.js +0 -45
  931. package/dist/chunk-RQ26XXFS.js.map +0 -7
  932. package/dist/chunk-RQQE5DDT.js +0 -193
  933. package/dist/chunk-RQQE5DDT.js.map +0 -7
  934. package/dist/chunk-RSA7PKZH.js +0 -187
  935. package/dist/chunk-RSA7PKZH.js.map +0 -7
  936. package/dist/chunk-RTSINQ4T.js +0 -78
  937. package/dist/chunk-RTSINQ4T.js.map +0 -7
  938. package/dist/chunk-RVOD3ESA.js +0 -38
  939. package/dist/chunk-RVOD3ESA.js.map +0 -7
  940. package/dist/chunk-SAOUP24A.js +0 -70
  941. package/dist/chunk-SAOUP24A.js.map +0 -7
  942. package/dist/chunk-SFZL2TCV.js +0 -55
  943. package/dist/chunk-SFZL2TCV.js.map +0 -7
  944. package/dist/chunk-SH6Y4CGQ.js +0 -175
  945. package/dist/chunk-SH6Y4CGQ.js.map +0 -7
  946. package/dist/chunk-SHBAAFFH.js +0 -74
  947. package/dist/chunk-SHBAAFFH.js.map +0 -7
  948. package/dist/chunk-SJPFUXBV.js +0 -45
  949. package/dist/chunk-SJPFUXBV.js.map +0 -7
  950. package/dist/chunk-SLIUQWAR.js +0 -58
  951. package/dist/chunk-SLIUQWAR.js.map +0 -7
  952. package/dist/chunk-SPNSM6SB.js +0 -36
  953. package/dist/chunk-SPNSM6SB.js.map +0 -7
  954. package/dist/chunk-SQUHLLK5.js +0 -125
  955. package/dist/chunk-SQUHLLK5.js.map +0 -7
  956. package/dist/chunk-SSEX66OL.js +0 -39
  957. package/dist/chunk-SSEX66OL.js.map +0 -7
  958. package/dist/chunk-SWWK35VQ.js +0 -84
  959. package/dist/chunk-SWWK35VQ.js.map +0 -7
  960. package/dist/chunk-SX2LOHOX.js +0 -251
  961. package/dist/chunk-SX2LOHOX.js.map +0 -7
  962. package/dist/chunk-T72EMFTX.js +0 -74
  963. package/dist/chunk-T72EMFTX.js.map +0 -7
  964. package/dist/chunk-TA2QJPPG.js +0 -169
  965. package/dist/chunk-TA2QJPPG.js.map +0 -7
  966. package/dist/chunk-TC5ZVFV6.js +0 -292
  967. package/dist/chunk-TC5ZVFV6.js.map +0 -7
  968. package/dist/chunk-TFD7ZIYD.js +0 -105
  969. package/dist/chunk-TFD7ZIYD.js.map +0 -7
  970. package/dist/chunk-TFEETDNY.js +0 -78
  971. package/dist/chunk-TFEETDNY.js.map +0 -7
  972. package/dist/chunk-TH6ONRWT.js +0 -516
  973. package/dist/chunk-TH6ONRWT.js.map +0 -7
  974. package/dist/chunk-THM2QV25.js +0 -108
  975. package/dist/chunk-THM2QV25.js.map +0 -7
  976. package/dist/chunk-TMQMQ67T.js +0 -81
  977. package/dist/chunk-TMQMQ67T.js.map +0 -7
  978. package/dist/chunk-TPYWUZOR.js +0 -178
  979. package/dist/chunk-TPYWUZOR.js.map +0 -7
  980. package/dist/chunk-TRWT2N6Z.js +0 -15
  981. package/dist/chunk-TRWT2N6Z.js.map +0 -7
  982. package/dist/chunk-TTXEM54Y.js +0 -76
  983. package/dist/chunk-TTXEM54Y.js.map +0 -7
  984. package/dist/chunk-U2O4LE6S.js +0 -22
  985. package/dist/chunk-U2O4LE6S.js.map +0 -7
  986. package/dist/chunk-U44IVNP2.js +0 -91
  987. package/dist/chunk-U44IVNP2.js.map +0 -7
  988. package/dist/chunk-U4LVIY5F.js +0 -1405
  989. package/dist/chunk-U4LVIY5F.js.map +0 -7
  990. package/dist/chunk-U767LCSG.js +0 -78
  991. package/dist/chunk-U767LCSG.js.map +0 -7
  992. package/dist/chunk-U7GKLHU6.js +0 -120
  993. package/dist/chunk-U7GKLHU6.js.map +0 -7
  994. package/dist/chunk-UAB5P5QO.js +0 -60
  995. package/dist/chunk-UAB5P5QO.js.map +0 -7
  996. package/dist/chunk-UDDWLWKZ.js +0 -82
  997. package/dist/chunk-UDDWLWKZ.js.map +0 -7
  998. package/dist/chunk-UEHPJQBL.js +0 -38
  999. package/dist/chunk-UEHPJQBL.js.map +0 -7
  1000. package/dist/chunk-UIBV6IGR.js +0 -31
  1001. package/dist/chunk-UIBV6IGR.js.map +0 -7
  1002. package/dist/chunk-UIYFRUET.js +0 -16352
  1003. package/dist/chunk-UIYFRUET.js.map +0 -7
  1004. package/dist/chunk-UJS3TIVS.js +0 -52
  1005. package/dist/chunk-UJS3TIVS.js.map +0 -7
  1006. package/dist/chunk-UMMPB6FL.js +0 -506
  1007. package/dist/chunk-UMMPB6FL.js.map +0 -7
  1008. package/dist/chunk-UP42ACP7.js +0 -27
  1009. package/dist/chunk-UP42ACP7.js.map +0 -7
  1010. package/dist/chunk-UPEF7ETP.js +0 -92
  1011. package/dist/chunk-UPEF7ETP.js.map +0 -7
  1012. package/dist/chunk-UU5PSBSI.js +0 -176
  1013. package/dist/chunk-UU5PSBSI.js.map +0 -7
  1014. package/dist/chunk-UV63XYFU.js +0 -173
  1015. package/dist/chunk-UV63XYFU.js.map +0 -7
  1016. package/dist/chunk-UWPHOAOC.js +0 -29
  1017. package/dist/chunk-UWPHOAOC.js.map +0 -7
  1018. package/dist/chunk-UXDDOSJC.js +0 -52
  1019. package/dist/chunk-UXDDOSJC.js.map +0 -7
  1020. package/dist/chunk-V3VAOMCO.js +0 -465
  1021. package/dist/chunk-V3VAOMCO.js.map +0 -7
  1022. package/dist/chunk-VA7ENH2S.js +0 -38
  1023. package/dist/chunk-VA7ENH2S.js.map +0 -7
  1024. package/dist/chunk-VBDLTKI2.js +0 -130
  1025. package/dist/chunk-VBDLTKI2.js.map +0 -7
  1026. package/dist/chunk-VCWIKEJ7.js +0 -7
  1027. package/dist/chunk-VCWIKEJ7.js.map +0 -7
  1028. package/dist/chunk-VFPDFLVE.js +0 -516
  1029. package/dist/chunk-VFPDFLVE.js.map +0 -7
  1030. package/dist/chunk-VHG4FNIJ.js +0 -93
  1031. package/dist/chunk-VHG4FNIJ.js.map +0 -7
  1032. package/dist/chunk-VKOO6MIZ.js +0 -51
  1033. package/dist/chunk-VKOO6MIZ.js.map +0 -7
  1034. package/dist/chunk-VKXKRZG7.js +0 -62
  1035. package/dist/chunk-VKXKRZG7.js.map +0 -7
  1036. package/dist/chunk-VPQICZQR.js +0 -93
  1037. package/dist/chunk-VPQICZQR.js.map +0 -7
  1038. package/dist/chunk-VRBJNFPL.js +0 -114
  1039. package/dist/chunk-VRBJNFPL.js.map +0 -7
  1040. package/dist/chunk-VUOLPEUZ.js +0 -7
  1041. package/dist/chunk-VUOLPEUZ.js.map +0 -7
  1042. package/dist/chunk-VUU5KFH3.js +0 -38
  1043. package/dist/chunk-VUU5KFH3.js.map +0 -7
  1044. package/dist/chunk-VVBL5CFF.js +0 -7
  1045. package/dist/chunk-VVBL5CFF.js.map +0 -7
  1046. package/dist/chunk-VYZEQ6KY.js +0 -22
  1047. package/dist/chunk-VYZEQ6KY.js.map +0 -7
  1048. package/dist/chunk-W6SOBS7M.js +0 -138
  1049. package/dist/chunk-W6SOBS7M.js.map +0 -7
  1050. package/dist/chunk-WBPQVWSU.js +0 -198
  1051. package/dist/chunk-WBPQVWSU.js.map +0 -7
  1052. package/dist/chunk-WDOKKRTE.js +0 -7
  1053. package/dist/chunk-WDOKKRTE.js.map +0 -7
  1054. package/dist/chunk-WGXXKFN5.js +0 -7
  1055. package/dist/chunk-WGXXKFN5.js.map +0 -7
  1056. package/dist/chunk-WHPUUP3J.js +0 -25
  1057. package/dist/chunk-WHPUUP3J.js.map +0 -7
  1058. package/dist/chunk-WS6HWBKT.js +0 -30
  1059. package/dist/chunk-WS6HWBKT.js.map +0 -7
  1060. package/dist/chunk-XF7LD6VV.js +0 -122
  1061. package/dist/chunk-XF7LD6VV.js.map +0 -7
  1062. package/dist/chunk-XFTXM3RE.js +0 -64
  1063. package/dist/chunk-XFTXM3RE.js.map +0 -7
  1064. package/dist/chunk-XJABPO2T.js +0 -235
  1065. package/dist/chunk-XJABPO2T.js.map +0 -7
  1066. package/dist/chunk-XK6VF3H7.js +0 -3586
  1067. package/dist/chunk-XK6VF3H7.js.map +0 -7
  1068. package/dist/chunk-XOZPOHLG.js +0 -233
  1069. package/dist/chunk-XOZPOHLG.js.map +0 -7
  1070. package/dist/chunk-XQYIIPOJ.js +0 -266
  1071. package/dist/chunk-XQYIIPOJ.js.map +0 -7
  1072. package/dist/chunk-XR7DPSNX.js +0 -195
  1073. package/dist/chunk-XR7DPSNX.js.map +0 -7
  1074. package/dist/chunk-XYH4JC3U.js +0 -7
  1075. package/dist/chunk-XYH4JC3U.js.map +0 -7
  1076. package/dist/chunk-XZSAN55E.js +0 -58
  1077. package/dist/chunk-XZSAN55E.js.map +0 -7
  1078. package/dist/chunk-Y3KJR4OG.js +0 -64
  1079. package/dist/chunk-Y3KJR4OG.js.map +0 -7
  1080. package/dist/chunk-Y4JKH7FF.js +0 -45
  1081. package/dist/chunk-Y4JKH7FF.js.map +0 -7
  1082. package/dist/chunk-Y6CJN4ID.js +0 -31
  1083. package/dist/chunk-Y6CJN4ID.js.map +0 -7
  1084. package/dist/chunk-YABGJU5M.js +0 -271
  1085. package/dist/chunk-YABGJU5M.js.map +0 -7
  1086. package/dist/chunk-YB5UCHLN.js +0 -314
  1087. package/dist/chunk-YB5UCHLN.js.map +0 -7
  1088. package/dist/chunk-YEJH7ZC2.js +0 -34
  1089. package/dist/chunk-YEJH7ZC2.js.map +0 -7
  1090. package/dist/chunk-YF5DYD3X.js +0 -97
  1091. package/dist/chunk-YF5DYD3X.js.map +0 -7
  1092. package/dist/chunk-YFTE4H54.js +0 -44117
  1093. package/dist/chunk-YFTE4H54.js.map +0 -7
  1094. package/dist/chunk-YGVQZCE7.js +0 -30
  1095. package/dist/chunk-YGVQZCE7.js.map +0 -7
  1096. package/dist/chunk-YNHADHHS.js +0 -138
  1097. package/dist/chunk-YNHADHHS.js.map +0 -7
  1098. package/dist/chunk-YNJYMD43.js +0 -392
  1099. package/dist/chunk-YNJYMD43.js.map +0 -7
  1100. package/dist/chunk-YNYEQGVN.js +0 -251
  1101. package/dist/chunk-YNYEQGVN.js.map +0 -7
  1102. package/dist/chunk-YOAMBAM2.js +0 -70
  1103. package/dist/chunk-YOAMBAM2.js.map +0 -7
  1104. package/dist/chunk-YUPBD27Z.js +0 -70
  1105. package/dist/chunk-YUPBD27Z.js.map +0 -7
  1106. package/dist/chunk-YWE5AQPZ.js +0 -258
  1107. package/dist/chunk-YWE5AQPZ.js.map +0 -7
  1108. package/dist/chunk-YWHH3MB6.js +0 -1405
  1109. package/dist/chunk-YWHH3MB6.js.map +0 -7
  1110. package/dist/chunk-YXJ52FD5.js +0 -271
  1111. package/dist/chunk-YXJ52FD5.js.map +0 -7
  1112. package/dist/chunk-YZ6F5N7R.js +0 -455
  1113. package/dist/chunk-YZ6F5N7R.js.map +0 -7
  1114. package/dist/chunk-YZGORRQN.js +0 -3101
  1115. package/dist/chunk-YZGORRQN.js.map +0 -7
  1116. package/dist/chunk-Z6IVJ6ZW.js +0 -30
  1117. package/dist/chunk-Z6IVJ6ZW.js.map +0 -7
  1118. package/dist/chunk-ZFC44XJJ.js +0 -86
  1119. package/dist/chunk-ZFC44XJJ.js.map +0 -7
  1120. package/dist/chunk-ZFGRQIB6.js +0 -38
  1121. package/dist/chunk-ZFGRQIB6.js.map +0 -7
  1122. package/dist/chunk-ZGAUVPAB.js +0 -14
  1123. package/dist/chunk-ZGAUVPAB.js.map +0 -7
  1124. package/dist/chunk-ZGCATLM5.js +0 -18
  1125. package/dist/chunk-ZGCATLM5.js.map +0 -7
  1126. package/dist/chunk-ZJDJC5TP.js +0 -82
  1127. package/dist/chunk-ZJDJC5TP.js.map +0 -7
  1128. package/dist/chunk-ZJGZNPDK.js +0 -171
  1129. package/dist/chunk-ZJGZNPDK.js.map +0 -7
  1130. package/dist/chunk-ZJHBJWZX.js +0 -699
  1131. package/dist/chunk-ZJHBJWZX.js.map +0 -7
  1132. package/dist/chunk-ZNOTD65D.js +0 -95
  1133. package/dist/chunk-ZNOTD65D.js.map +0 -7
  1134. package/dist/chunk-ZQ2QIFXW.js +0 -122
  1135. package/dist/chunk-ZQ2QIFXW.js.map +0 -7
  1136. package/dist/chunk-ZRMXPQGY.js +0 -241
  1137. package/dist/chunk-ZRMXPQGY.js.map +0 -7
  1138. package/dist/chunk-ZSOPE7DO.js +0 -92
  1139. package/dist/chunk-ZSOPE7DO.js.map +0 -7
  1140. package/dist/chunk-ZVEE5IDC.js +0 -3101
  1141. package/dist/chunk-ZVEE5IDC.js.map +0 -7
  1142. package/dist/chunk-ZY247PXY.js +0 -135
  1143. package/dist/chunk-ZY247PXY.js.map +0 -7
  1144. package/dist/cli-metadata.js +0 -12
  1145. package/dist/cli-metadata.js.map +0 -7
  1146. package/dist/contract-api.js +0 -104
  1147. package/dist/contract-api.js.map +0 -7
  1148. package/dist/dist-DVBXHDB4.js +0 -549
  1149. package/dist/dist-DVBXHDB4.js.map +0 -7
  1150. package/dist/dist-F3K7S5SS.js +0 -549
  1151. package/dist/dist-F3K7S5SS.js.map +0 -7
  1152. package/dist/helper-api.js +0 -51
  1153. package/dist/helper-api.js.map +0 -7
  1154. package/dist/index.js +0 -70
  1155. package/dist/index.js.map +0 -7
  1156. package/dist/magic-string.es-ITIPPYGW.js +0 -1315
  1157. package/dist/magic-string.es-ITIPPYGW.js.map +0 -7
  1158. package/dist/magic-string.es-V5NOGTUV.js +0 -1315
  1159. package/dist/magic-string.es-V5NOGTUV.js.map +0 -7
  1160. package/dist/openclaw.plugin.json +0 -23
  1161. package/dist/package.json +0 -59
  1162. package/dist/plugin-entry.handlers.runtime-JLRK5XTV.js +0 -20
  1163. package/dist/plugin-entry.handlers.runtime-JLRK5XTV.js.map +0 -7
  1164. package/dist/plugin-entry.handlers.runtime-POD4CSHM.js +0 -20
  1165. package/dist/plugin-entry.handlers.runtime-POD4CSHM.js.map +0 -7
  1166. package/dist/plugin-entry.handlers.runtime-YOSG6V6U.js +0 -20
  1167. package/dist/plugin-entry.handlers.runtime-YOSG6V6U.js.map +0 -7
  1168. package/dist/runtime-api.js +0 -104
  1169. package/dist/runtime-api.js.map +0 -7
  1170. package/dist/rust-crypto-7KS7OJ3F.js +0 -5323
  1171. package/dist/rust-crypto-7KS7OJ3F.js.map +0 -7
  1172. package/dist/rust-crypto-H35BXWUU.js +0 -5323
  1173. package/dist/rust-crypto-H35BXWUU.js.map +0 -7
  1174. package/dist/secret-contract-api.js +0 -18
  1175. package/dist/secret-contract-api.js.map +0 -7
  1176. package/dist/setup-entry.js +0 -22
  1177. package/dist/setup-entry.js.map +0 -7
  1178. package/dist/src/account-selection.js +0 -19
  1179. package/dist/src/account-selection.js.map +0 -7
  1180. package/dist/src/actions.js +0 -24
  1181. package/dist/src/actions.js.map +0 -7
  1182. package/dist/src/approval-auth.js +0 -27
  1183. package/dist/src/approval-auth.js.map +0 -7
  1184. package/dist/src/approval-handler.runtime.js +0 -378
  1185. package/dist/src/approval-handler.runtime.js.map +0 -7
  1186. package/dist/src/approval-ids.js +0 -9
  1187. package/dist/src/approval-ids.js.map +0 -7
  1188. package/dist/src/approval-native.js +0 -28
  1189. package/dist/src/approval-native.js.map +0 -7
  1190. package/dist/src/approval-reactions.js +0 -20
  1191. package/dist/src/approval-reactions.js.map +0 -7
  1192. package/dist/src/auth-precedence.js +0 -8
  1193. package/dist/src/auth-precedence.js.map +0 -7
  1194. package/dist/src/channel-account-paths.js +0 -11
  1195. package/dist/src/channel-account-paths.js.map +0 -7
  1196. package/dist/src/channel.js +0 -74
  1197. package/dist/src/channel.js.map +0 -7
  1198. package/dist/src/channel.runtime.js +0 -82
  1199. package/dist/src/channel.runtime.js.map +0 -7
  1200. package/dist/src/cli-metadata.js +0 -8
  1201. package/dist/src/cli-metadata.js.map +0 -7
  1202. package/dist/src/cli.js +0 -936
  1203. package/dist/src/cli.js.map +0 -7
  1204. package/dist/src/config-adapter.js +0 -26
  1205. package/dist/src/config-adapter.js.map +0 -7
  1206. package/dist/src/config-schema.js +0 -8
  1207. package/dist/src/config-schema.js.map +0 -7
  1208. package/dist/src/directory-live.js +0 -35
  1209. package/dist/src/directory-live.js.map +0 -7
  1210. package/dist/src/doctor-contract.js +0 -11
  1211. package/dist/src/doctor-contract.js.map +0 -7
  1212. package/dist/src/doctor.js +0 -42
  1213. package/dist/src/doctor.js.map +0 -7
  1214. package/dist/src/env-vars.js +0 -12
  1215. package/dist/src/env-vars.js.map +0 -7
  1216. package/dist/src/exec-approval-resolver.js +0 -10
  1217. package/dist/src/exec-approval-resolver.js.map +0 -7
  1218. package/dist/src/exec-approvals.js +0 -51
  1219. package/dist/src/exec-approvals.js.map +0 -7
  1220. package/dist/src/group-mentions.js +0 -28
  1221. package/dist/src/group-mentions.js.map +0 -7
  1222. package/dist/src/legacy-crypto-inspector-availability.js +0 -8
  1223. package/dist/src/legacy-crypto-inspector-availability.js.map +0 -7
  1224. package/dist/src/legacy-crypto.js +0 -26
  1225. package/dist/src/legacy-crypto.js.map +0 -7
  1226. package/dist/src/legacy-state.js +0 -24
  1227. package/dist/src/legacy-state.js.map +0 -7
  1228. package/dist/src/matrix/account-config.js +0 -16
  1229. package/dist/src/matrix/account-config.js.map +0 -7
  1230. package/dist/src/matrix/accounts.js +0 -31
  1231. package/dist/src/matrix/accounts.js.map +0 -7
  1232. package/dist/src/matrix/actions/client.js +0 -40
  1233. package/dist/src/matrix/actions/client.js.map +0 -7
  1234. package/dist/src/matrix/actions/devices.js +0 -42
  1235. package/dist/src/matrix/actions/devices.js.map +0 -7
  1236. package/dist/src/matrix/actions/limits.js +0 -8
  1237. package/dist/src/matrix/actions/limits.js.map +0 -7
  1238. package/dist/src/matrix/actions/messages.js +0 -49
  1239. package/dist/src/matrix/actions/messages.js.map +0 -7
  1240. package/dist/src/matrix/actions/pins.js +0 -46
  1241. package/dist/src/matrix/actions/pins.js.map +0 -7
  1242. package/dist/src/matrix/actions/polls.js +0 -37
  1243. package/dist/src/matrix/actions/polls.js.map +0 -7
  1244. package/dist/src/matrix/actions/profile.js +0 -38
  1245. package/dist/src/matrix/actions/profile.js.map +0 -7
  1246. package/dist/src/matrix/actions/reactions.js +0 -40
  1247. package/dist/src/matrix/actions/reactions.js.map +0 -7
  1248. package/dist/src/matrix/actions/room.js +0 -40
  1249. package/dist/src/matrix/actions/room.js.map +0 -7
  1250. package/dist/src/matrix/actions/summary.js +0 -19
  1251. package/dist/src/matrix/actions/summary.js.map +0 -7
  1252. package/dist/src/matrix/actions/types.js +0 -13
  1253. package/dist/src/matrix/actions/types.js.map +0 -7
  1254. package/dist/src/matrix/actions/verification.js +0 -77
  1255. package/dist/src/matrix/actions/verification.js.map +0 -7
  1256. package/dist/src/matrix/actions.js +0 -126
  1257. package/dist/src/matrix/actions.js.map +0 -7
  1258. package/dist/src/matrix/active-client.js +0 -10
  1259. package/dist/src/matrix/active-client.js.map +0 -7
  1260. package/dist/src/matrix/async-lock.js +0 -8
  1261. package/dist/src/matrix/async-lock.js.map +0 -7
  1262. package/dist/src/matrix/backup-health.js +0 -10
  1263. package/dist/src/matrix/backup-health.js.map +0 -7
  1264. package/dist/src/matrix/client/config-runtime-api.js +0 -24
  1265. package/dist/src/matrix/client/config-runtime-api.js.map +0 -7
  1266. package/dist/src/matrix/client/config-secret-input.runtime.js +0 -11
  1267. package/dist/src/matrix/client/config-secret-input.runtime.js.map +0 -7
  1268. package/dist/src/matrix/client/config.js +0 -42
  1269. package/dist/src/matrix/client/config.js.map +0 -7
  1270. package/dist/src/matrix/client/create-client.js +0 -20
  1271. package/dist/src/matrix/client/create-client.js.map +0 -7
  1272. package/dist/src/matrix/client/env-auth.js +0 -26
  1273. package/dist/src/matrix/client/env-auth.js.map +0 -7
  1274. package/dist/src/matrix/client/file-sync-store.js +0 -23
  1275. package/dist/src/matrix/client/file-sync-store.js.map +0 -7
  1276. package/dist/src/matrix/client/logging.js +0 -17
  1277. package/dist/src/matrix/client/logging.js.map +0 -7
  1278. package/dist/src/matrix/client/migration-snapshot.runtime.js +0 -13
  1279. package/dist/src/matrix/client/migration-snapshot.runtime.js.map +0 -7
  1280. package/dist/src/matrix/client/private-network-host.js +0 -8
  1281. package/dist/src/matrix/client/private-network-host.js.map +0 -7
  1282. package/dist/src/matrix/client/runtime.js +0 -8
  1283. package/dist/src/matrix/client/runtime.js.map +0 -7
  1284. package/dist/src/matrix/client/shared.js +0 -34
  1285. package/dist/src/matrix/client/shared.js.map +0 -7
  1286. package/dist/src/matrix/client/storage.js +0 -26
  1287. package/dist/src/matrix/client/storage.js.map +0 -7
  1288. package/dist/src/matrix/client/types.js +0 -7
  1289. package/dist/src/matrix/client/types.js.map +0 -7
  1290. package/dist/src/matrix/client-bootstrap.js +0 -15
  1291. package/dist/src/matrix/client-bootstrap.js.map +0 -7
  1292. package/dist/src/matrix/client-resolver.test-helpers.js +0 -122
  1293. package/dist/src/matrix/client-resolver.test-helpers.js.map +0 -7
  1294. package/dist/src/matrix/client.js +0 -63
  1295. package/dist/src/matrix/client.js.map +0 -7
  1296. package/dist/src/matrix/config-paths.js +0 -12
  1297. package/dist/src/matrix/config-paths.js.map +0 -7
  1298. package/dist/src/matrix/config-update.js +0 -17
  1299. package/dist/src/matrix/config-update.js.map +0 -7
  1300. package/dist/src/matrix/credentials-read.js +0 -22
  1301. package/dist/src/matrix/credentials-read.js.map +0 -7
  1302. package/dist/src/matrix/credentials-write.runtime.js +0 -24
  1303. package/dist/src/matrix/credentials-write.runtime.js.map +0 -7
  1304. package/dist/src/matrix/credentials.js +0 -90
  1305. package/dist/src/matrix/credentials.js.map +0 -7
  1306. package/dist/src/matrix/deps.js +0 -12
  1307. package/dist/src/matrix/deps.js.map +0 -7
  1308. package/dist/src/matrix/device-health.js +0 -10
  1309. package/dist/src/matrix/device-health.js.map +0 -7
  1310. package/dist/src/matrix/direct-management.js +0 -18
  1311. package/dist/src/matrix/direct-management.js.map +0 -7
  1312. package/dist/src/matrix/direct-room.js +0 -18
  1313. package/dist/src/matrix/direct-room.js.map +0 -7
  1314. package/dist/src/matrix/draft-stream.js +0 -33
  1315. package/dist/src/matrix/draft-stream.js.map +0 -7
  1316. package/dist/src/matrix/encryption-guidance.js +0 -17
  1317. package/dist/src/matrix/encryption-guidance.js.map +0 -7
  1318. package/dist/src/matrix/errors.js +0 -12
  1319. package/dist/src/matrix/errors.js.map +0 -7
  1320. package/dist/src/matrix/format.js +0 -13
  1321. package/dist/src/matrix/format.js.map +0 -7
  1322. package/dist/src/matrix/legacy-crypto-inspector.js +0 -72
  1323. package/dist/src/matrix/legacy-crypto-inspector.js.map +0 -7
  1324. package/dist/src/matrix/media-errors.js +0 -12
  1325. package/dist/src/matrix/media-errors.js.map +0 -7
  1326. package/dist/src/matrix/media-text.js +0 -22
  1327. package/dist/src/matrix/media-text.js.map +0 -7
  1328. package/dist/src/matrix/monitor/access-state.js +0 -9
  1329. package/dist/src/matrix/monitor/access-state.js.map +0 -7
  1330. package/dist/src/matrix/monitor/ack-config.js +0 -10
  1331. package/dist/src/matrix/monitor/ack-config.js.map +0 -7
  1332. package/dist/src/matrix/monitor/allowlist.js +0 -12
  1333. package/dist/src/matrix/monitor/allowlist.js.map +0 -7
  1334. package/dist/src/matrix/monitor/auto-join.js +0 -9
  1335. package/dist/src/matrix/monitor/auto-join.js.map +0 -7
  1336. package/dist/src/matrix/monitor/config.js +0 -37
  1337. package/dist/src/matrix/monitor/config.js.map +0 -7
  1338. package/dist/src/matrix/monitor/context-summary.js +0 -13
  1339. package/dist/src/matrix/monitor/context-summary.js.map +0 -7
  1340. package/dist/src/matrix/monitor/direct.js +0 -13
  1341. package/dist/src/matrix/monitor/direct.js.map +0 -7
  1342. package/dist/src/matrix/monitor/events.js +0 -20
  1343. package/dist/src/matrix/monitor/events.js.map +0 -7
  1344. package/dist/src/matrix/monitor/handler.js +0 -76
  1345. package/dist/src/matrix/monitor/handler.js.map +0 -7
  1346. package/dist/src/matrix/monitor/handler.test-helpers.js +0 -268
  1347. package/dist/src/matrix/monitor/handler.test-helpers.js.map +0 -7
  1348. package/dist/src/matrix/monitor/inbound-dedupe.js +0 -17
  1349. package/dist/src/matrix/monitor/inbound-dedupe.js.map +0 -7
  1350. package/dist/src/matrix/monitor/index.js +0 -502
  1351. package/dist/src/matrix/monitor/index.js.map +0 -7
  1352. package/dist/src/matrix/monitor/legacy-crypto-restore.js +0 -99
  1353. package/dist/src/matrix/monitor/legacy-crypto-restore.js.map +0 -7
  1354. package/dist/src/matrix/monitor/location.js +0 -11
  1355. package/dist/src/matrix/monitor/location.js.map +0 -7
  1356. package/dist/src/matrix/monitor/media.js +0 -10
  1357. package/dist/src/matrix/monitor/media.js.map +0 -7
  1358. package/dist/src/matrix/monitor/mentions.js +0 -9
  1359. package/dist/src/matrix/monitor/mentions.js.map +0 -7
  1360. package/dist/src/matrix/monitor/reaction-events.js +0 -38
  1361. package/dist/src/matrix/monitor/reaction-events.js.map +0 -7
  1362. package/dist/src/matrix/monitor/recent-invite.js +0 -10
  1363. package/dist/src/matrix/monitor/recent-invite.js.map +0 -7
  1364. package/dist/src/matrix/monitor/replies.js +0 -33
  1365. package/dist/src/matrix/monitor/replies.js.map +0 -7
  1366. package/dist/src/matrix/monitor/reply-context.js +0 -14
  1367. package/dist/src/matrix/monitor/reply-context.js.map +0 -7
  1368. package/dist/src/matrix/monitor/room-history.js +0 -10
  1369. package/dist/src/matrix/monitor/room-history.js.map +0 -7
  1370. package/dist/src/matrix/monitor/room-info.js +0 -9
  1371. package/dist/src/matrix/monitor/room-info.js.map +0 -7
  1372. package/dist/src/matrix/monitor/rooms.js +0 -9
  1373. package/dist/src/matrix/monitor/rooms.js.map +0 -7
  1374. package/dist/src/matrix/monitor/route.js +0 -12
  1375. package/dist/src/matrix/monitor/route.js.map +0 -7
  1376. package/dist/src/matrix/monitor/runtime-api.js +0 -40
  1377. package/dist/src/matrix/monitor/runtime-api.js.map +0 -7
  1378. package/dist/src/matrix/monitor/startup-verification.js +0 -174
  1379. package/dist/src/matrix/monitor/startup-verification.js.map +0 -7
  1380. package/dist/src/matrix/monitor/startup.js +0 -9
  1381. package/dist/src/matrix/monitor/startup.js.map +0 -7
  1382. package/dist/src/matrix/monitor/status.js +0 -10
  1383. package/dist/src/matrix/monitor/status.js.map +0 -7
  1384. package/dist/src/matrix/monitor/sync-lifecycle.js +0 -9
  1385. package/dist/src/matrix/monitor/sync-lifecycle.js.map +0 -7
  1386. package/dist/src/matrix/monitor/task-runner.js +0 -8
  1387. package/dist/src/matrix/monitor/task-runner.js.map +0 -7
  1388. package/dist/src/matrix/monitor/thread-context.js +0 -14
  1389. package/dist/src/matrix/monitor/thread-context.js.map +0 -7
  1390. package/dist/src/matrix/monitor/threads.js +0 -16
  1391. package/dist/src/matrix/monitor/threads.js.map +0 -7
  1392. package/dist/src/matrix/monitor/types.js +0 -11
  1393. package/dist/src/matrix/monitor/types.js.map +0 -7
  1394. package/dist/src/matrix/monitor/verification-events.js +0 -13
  1395. package/dist/src/matrix/monitor/verification-events.js.map +0 -7
  1396. package/dist/src/matrix/monitor/verification-utils.js +0 -16
  1397. package/dist/src/matrix/monitor/verification-utils.js.map +0 -7
  1398. package/dist/src/matrix/outbound-media-runtime.js +0 -9
  1399. package/dist/src/matrix/outbound-media-runtime.js.map +0 -7
  1400. package/dist/src/matrix/poll-summary.js +0 -14
  1401. package/dist/src/matrix/poll-summary.js.map +0 -7
  1402. package/dist/src/matrix/poll-types.js +0 -55
  1403. package/dist/src/matrix/poll-types.js.map +0 -7
  1404. package/dist/src/matrix/probe.js +0 -9
  1405. package/dist/src/matrix/probe.js.map +0 -7
  1406. package/dist/src/matrix/probe.runtime.js +0 -30
  1407. package/dist/src/matrix/probe.runtime.js.map +0 -7
  1408. package/dist/src/matrix/profile.js +0 -16
  1409. package/dist/src/matrix/profile.js.map +0 -7
  1410. package/dist/src/matrix/reaction-common.js +0 -26
  1411. package/dist/src/matrix/reaction-common.js.map +0 -7
  1412. package/dist/src/matrix/sdk/crypto-bootstrap.js +0 -15
  1413. package/dist/src/matrix/sdk/crypto-bootstrap.js.map +0 -7
  1414. package/dist/src/matrix/sdk/crypto-facade.js +0 -8
  1415. package/dist/src/matrix/sdk/crypto-facade.js.map +0 -7
  1416. package/dist/src/matrix/sdk/crypto-node.runtime.js +0 -14
  1417. package/dist/src/matrix/sdk/crypto-node.runtime.js.map +0 -7
  1418. package/dist/src/matrix/sdk/crypto-runtime.js +0 -84
  1419. package/dist/src/matrix/sdk/crypto-runtime.js.map +0 -7
  1420. package/dist/src/matrix/sdk/decrypt-bridge.js +0 -11
  1421. package/dist/src/matrix/sdk/decrypt-bridge.js.map +0 -7
  1422. package/dist/src/matrix/sdk/event-helpers.js +0 -12
  1423. package/dist/src/matrix/sdk/event-helpers.js.map +0 -7
  1424. package/dist/src/matrix/sdk/http-client.js +0 -13
  1425. package/dist/src/matrix/sdk/http-client.js.map +0 -7
  1426. package/dist/src/matrix/sdk/idb-persistence-lock.js +0 -12
  1427. package/dist/src/matrix/sdk/idb-persistence-lock.js.map +0 -7
  1428. package/dist/src/matrix/sdk/idb-persistence.js +0 -13
  1429. package/dist/src/matrix/sdk/idb-persistence.js.map +0 -7
  1430. package/dist/src/matrix/sdk/idb-persistence.test-helpers.js +0 -83
  1431. package/dist/src/matrix/sdk/idb-persistence.test-helpers.js.map +0 -7
  1432. package/dist/src/matrix/sdk/logger.js +0 -15
  1433. package/dist/src/matrix/sdk/logger.js.map +0 -7
  1434. package/dist/src/matrix/sdk/read-response-with-limit.js +0 -8
  1435. package/dist/src/matrix/sdk/read-response-with-limit.js.map +0 -7
  1436. package/dist/src/matrix/sdk/recovery-key-store.js +0 -14
  1437. package/dist/src/matrix/sdk/recovery-key-store.js.map +0 -7
  1438. package/dist/src/matrix/sdk/transport.js +0 -13
  1439. package/dist/src/matrix/sdk/transport.js.map +0 -7
  1440. package/dist/src/matrix/sdk/types.js +0 -7
  1441. package/dist/src/matrix/sdk/types.js.map +0 -7
  1442. package/dist/src/matrix/sdk/verification-manager.js +0 -11
  1443. package/dist/src/matrix/sdk/verification-manager.js.map +0 -7
  1444. package/dist/src/matrix/sdk/verification-status.js +0 -12
  1445. package/dist/src/matrix/sdk/verification-status.js.map +0 -7
  1446. package/dist/src/matrix/sdk.js +0 -1375
  1447. package/dist/src/matrix/sdk.js.map +0 -7
  1448. package/dist/src/matrix/send/client.js +0 -14
  1449. package/dist/src/matrix/send/client.js.map +0 -7
  1450. package/dist/src/matrix/send/formatting.js +0 -29
  1451. package/dist/src/matrix/send/formatting.js.map +0 -7
  1452. package/dist/src/matrix/send/media.js +0 -26
  1453. package/dist/src/matrix/send/media.js.map +0 -7
  1454. package/dist/src/matrix/send/targets.js +0 -15
  1455. package/dist/src/matrix/send/targets.js.map +0 -7
  1456. package/dist/src/matrix/send/types.js +0 -17
  1457. package/dist/src/matrix/send/types.js.map +0 -7
  1458. package/dist/src/matrix/send.js +0 -51
  1459. package/dist/src/matrix/send.js.map +0 -7
  1460. package/dist/src/matrix/session-store-metadata.js +0 -15
  1461. package/dist/src/matrix/session-store-metadata.js.map +0 -7
  1462. package/dist/src/matrix/startup-abort.js +0 -14
  1463. package/dist/src/matrix/startup-abort.js.map +0 -7
  1464. package/dist/src/matrix/sync-state.js +0 -12
  1465. package/dist/src/matrix/sync-state.js.map +0 -7
  1466. package/dist/src/matrix/target-ids.js +0 -20
  1467. package/dist/src/matrix/target-ids.js.map +0 -7
  1468. package/dist/src/matrix/thread-bindings-shared.js +0 -34
  1469. package/dist/src/matrix/thread-bindings-shared.js.map +0 -7
  1470. package/dist/src/matrix/thread-bindings.js +0 -49
  1471. package/dist/src/matrix/thread-bindings.js.map +0 -7
  1472. package/dist/src/matrix-migration.runtime.js +0 -45
  1473. package/dist/src/matrix-migration.runtime.js.map +0 -7
  1474. package/dist/src/migration-config.js +0 -29
  1475. package/dist/src/migration-config.js.map +0 -7
  1476. package/dist/src/migration-snapshot-backup.js +0 -12
  1477. package/dist/src/migration-snapshot-backup.js.map +0 -7
  1478. package/dist/src/migration-snapshot.js +0 -38
  1479. package/dist/src/migration-snapshot.js.map +0 -7
  1480. package/dist/src/onboarding.js +0 -43
  1481. package/dist/src/onboarding.js.map +0 -7
  1482. package/dist/src/onboarding.test-harness.js +0 -124
  1483. package/dist/src/onboarding.test-harness.js.map +0 -7
  1484. package/dist/src/outbound.js +0 -33
  1485. package/dist/src/outbound.js.map +0 -7
  1486. package/dist/src/plugin-entry.runtime.js +0 -15
  1487. package/dist/src/plugin-entry.runtime.js.map +0 -7
  1488. package/dist/src/profile-update.js +0 -41
  1489. package/dist/src/profile-update.js.map +0 -7
  1490. package/dist/src/record-shared.js +0 -8
  1491. package/dist/src/record-shared.js.map +0 -7
  1492. package/dist/src/resolve-targets.js +0 -34
  1493. package/dist/src/resolve-targets.js.map +0 -7
  1494. package/dist/src/resolver.js +0 -8
  1495. package/dist/src/resolver.js.map +0 -7
  1496. package/dist/src/runtime-api.js +0 -120
  1497. package/dist/src/runtime-api.js.map +0 -7
  1498. package/dist/src/runtime.js +0 -10
  1499. package/dist/src/runtime.js.map +0 -7
  1500. package/dist/src/secret-contract.js +0 -13
  1501. package/dist/src/secret-contract.js.map +0 -7
  1502. package/dist/src/session-route.js +0 -25
  1503. package/dist/src/session-route.js.map +0 -7
  1504. package/dist/src/setup-bootstrap.js +0 -124
  1505. package/dist/src/setup-bootstrap.js.map +0 -7
  1506. package/dist/src/setup-config.js +0 -28
  1507. package/dist/src/setup-config.js.map +0 -7
  1508. package/dist/src/setup-contract.js +0 -16
  1509. package/dist/src/setup-contract.js.map +0 -7
  1510. package/dist/src/setup-core.js +0 -25
  1511. package/dist/src/setup-core.js.map +0 -7
  1512. package/dist/src/setup-surface.js +0 -45
  1513. package/dist/src/setup-surface.js.map +0 -7
  1514. package/dist/src/startup-maintenance.js +0 -29
  1515. package/dist/src/startup-maintenance.js.map +0 -7
  1516. package/dist/src/storage-paths.js +0 -24
  1517. package/dist/src/storage-paths.js.map +0 -7
  1518. package/dist/src/test-helpers.js +0 -49
  1519. package/dist/src/test-helpers.js.map +0 -7
  1520. package/dist/src/test-mocks.js +0 -40
  1521. package/dist/src/test-mocks.js.map +0 -7
  1522. package/dist/src/test-runtime.js +0 -65
  1523. package/dist/src/test-runtime.js.map +0 -7
  1524. package/dist/src/tool-actions.js +0 -68
  1525. package/dist/src/tool-actions.js.map +0 -7
  1526. package/dist/src/tool-actions.runtime.js +0 -73
  1527. package/dist/src/tool-actions.runtime.js.map +0 -7
  1528. package/dist/src/types.js +0 -7
  1529. package/dist/src/types.js.map +0 -7
  1530. package/dist/test-api.js +0 -82
  1531. package/dist/test-api.js.map +0 -7
  1532. package/dist/thread-bindings-runtime.js +0 -15
  1533. package/dist/thread-bindings-runtime.js.map +0 -7
@@ -0,0 +1,1521 @@
1
+ import fs from "node:fs/promises";
2
+ import os from "node:os";
3
+ import path from "node:path";
4
+ import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
5
+ import type { LookupFn } from "../../runtime-api.js";
6
+ import { installMatrixTestRuntime } from "../test-runtime.js";
7
+ import type { CoreConfig } from "../types.js";
8
+
9
+ function createLookupFn(addresses: Array<{ address: string; family: number }>): LookupFn {
10
+ return vi.fn(async (_hostname: string, options?: unknown) => {
11
+ if (typeof options === "number" || !options || !(options as { all?: boolean }).all) {
12
+ return addresses[0];
13
+ }
14
+ return addresses;
15
+ }) as unknown as LookupFn;
16
+ }
17
+
18
+ const saveMatrixCredentialsMock = vi.hoisted(() => vi.fn());
19
+ const saveBackfilledMatrixDeviceIdMock = vi.hoisted(() => vi.fn(async () => "saved"));
20
+ const touchMatrixCredentialsMock = vi.hoisted(() => vi.fn());
21
+ const repairCurrentTokenStorageMetaDeviceIdMock = vi.hoisted(() => vi.fn());
22
+
23
+ vi.mock("./credentials-read.js", () => ({
24
+ loadMatrixCredentials: vi.fn(() => null),
25
+ credentialsMatchConfig: vi.fn(() => false),
26
+ }));
27
+
28
+ vi.mock("./credentials-write.runtime.js", () => ({
29
+ saveBackfilledMatrixDeviceId: saveBackfilledMatrixDeviceIdMock,
30
+ saveMatrixCredentials: saveMatrixCredentialsMock,
31
+ touchMatrixCredentials: touchMatrixCredentialsMock,
32
+ }));
33
+
34
+ vi.mock("./client/storage.js", async () => {
35
+ const actual = await vi.importActual<typeof import("./client/storage.js")>("./client/storage.js");
36
+ return {
37
+ ...actual,
38
+ repairCurrentTokenStorageMetaDeviceId: repairCurrentTokenStorageMetaDeviceIdMock,
39
+ };
40
+ });
41
+
42
+ const {
43
+ backfillMatrixAuthDeviceIdAfterStartup,
44
+ getMatrixScopedEnvVarNames,
45
+ resolveMatrixConfigForAccount,
46
+ resolveMatrixAuth,
47
+ resolveMatrixAuthContext,
48
+ setMatrixAuthClientDepsForTest,
49
+ resolveValidatedMatrixHomeserverUrl,
50
+ validateMatrixHomeserverUrl,
51
+ } = await import("./client/config.js");
52
+
53
+ let credentialsReadModule: typeof import("./credentials-read.js") | undefined;
54
+ const ensureMatrixSdkLoggingConfiguredMock = vi.fn();
55
+ const matrixDoRequestMock = vi.fn();
56
+
57
+ class MockMatrixClient {
58
+ async doRequest(...args: unknown[]) {
59
+ return await matrixDoRequestMock(...args);
60
+ }
61
+ }
62
+
63
+ function requireCredentialsReadModule(): typeof import("./credentials-read.js") {
64
+ if (!credentialsReadModule) {
65
+ throw new Error("credentials-read test module not initialized");
66
+ }
67
+ return credentialsReadModule;
68
+ }
69
+
70
+ function resolveDefaultMatrixAuthContext(
71
+ cfg: CoreConfig,
72
+ env: NodeJS.ProcessEnv = {} as NodeJS.ProcessEnv,
73
+ ) {
74
+ return resolveMatrixAuthContext({ cfg, env });
75
+ }
76
+
77
+ beforeEach(() => {
78
+ installMatrixTestRuntime();
79
+ });
80
+
81
+ describe("Matrix auth/config live surfaces", () => {
82
+ it("prefers config over env", () => {
83
+ const cfg = {
84
+ channels: {
85
+ matrix: {
86
+ homeserver: "https://cfg.example.org",
87
+ userId: "@cfg:example.org",
88
+ accessToken: "cfg-token",
89
+ password: "cfg-pass",
90
+ deviceName: "CfgDevice",
91
+ initialSyncLimit: 5,
92
+ },
93
+ },
94
+ } as CoreConfig;
95
+ const env = {
96
+ MATRIX_HOMESERVER: "https://env.example.org",
97
+ MATRIX_USER_ID: "@env:example.org",
98
+ MATRIX_ACCESS_TOKEN: "env-token",
99
+ MATRIX_PASSWORD: "env-pass",
100
+ MATRIX_DEVICE_NAME: "EnvDevice",
101
+ } as NodeJS.ProcessEnv;
102
+ const resolved = resolveDefaultMatrixAuthContext(cfg, env).resolved;
103
+ expect(resolved).toEqual({
104
+ homeserver: "https://cfg.example.org",
105
+ userId: "@cfg:example.org",
106
+ accessToken: "cfg-token",
107
+ password: "cfg-pass",
108
+ deviceId: undefined,
109
+ deviceName: "CfgDevice",
110
+ initialSyncLimit: 5,
111
+ encryption: false,
112
+ });
113
+ });
114
+
115
+ it("uses env when config is missing", () => {
116
+ const cfg = {} as CoreConfig;
117
+ const env = {
118
+ MATRIX_HOMESERVER: "https://env.example.org",
119
+ MATRIX_USER_ID: "@env:example.org",
120
+ MATRIX_ACCESS_TOKEN: "env-token",
121
+ MATRIX_PASSWORD: "env-pass",
122
+ MATRIX_DEVICE_ID: "ENVDEVICE",
123
+ MATRIX_DEVICE_NAME: "EnvDevice",
124
+ } as NodeJS.ProcessEnv;
125
+ const resolved = resolveDefaultMatrixAuthContext(cfg, env).resolved;
126
+ expect(resolved.homeserver).toBe("https://env.example.org");
127
+ expect(resolved.userId).toBe("@env:example.org");
128
+ expect(resolved.accessToken).toBe("env-token");
129
+ expect(resolved.password).toBe("env-pass");
130
+ expect(resolved.deviceId).toBe("ENVDEVICE");
131
+ expect(resolved.deviceName).toBe("EnvDevice");
132
+ expect(resolved.initialSyncLimit).toBeUndefined();
133
+ expect(resolved.encryption).toBe(false);
134
+ });
135
+
136
+ it("resolves accessToken SecretRef against the provided env", () => {
137
+ const cfg = {
138
+ channels: {
139
+ matrix: {
140
+ homeserver: "https://cfg.example.org",
141
+ accessToken: { source: "env", provider: "default", id: "MATRIX_ACCESS_TOKEN" },
142
+ },
143
+ },
144
+ secrets: {
145
+ defaults: {
146
+ env: "default",
147
+ },
148
+ },
149
+ } as CoreConfig;
150
+ const env = {
151
+ MATRIX_ACCESS_TOKEN: "env-token",
152
+ } as NodeJS.ProcessEnv;
153
+
154
+ const resolved = resolveDefaultMatrixAuthContext(cfg, env).resolved;
155
+ expect(resolved.accessToken).toBe("env-token");
156
+ });
157
+
158
+ it("resolves password SecretRef against the provided env", () => {
159
+ const cfg = {
160
+ channels: {
161
+ matrix: {
162
+ homeserver: "https://cfg.example.org",
163
+ userId: "@cfg:example.org",
164
+ password: { source: "env", provider: "default", id: "MATRIX_PASSWORD" },
165
+ },
166
+ },
167
+ secrets: {
168
+ defaults: {
169
+ env: "default",
170
+ },
171
+ },
172
+ } as CoreConfig;
173
+ const env = {
174
+ MATRIX_PASSWORD: "env-pass",
175
+ } as NodeJS.ProcessEnv;
176
+
177
+ const resolved = resolveDefaultMatrixAuthContext(cfg, env).resolved;
178
+ expect(resolved.password).toBe("env-pass");
179
+ });
180
+
181
+ it("resolves account accessToken SecretRef against the provided env", () => {
182
+ const cfg = {
183
+ channels: {
184
+ matrix: {
185
+ accounts: {
186
+ ops: {
187
+ homeserver: "https://ops.example.org",
188
+ accessToken: { source: "env", provider: "default", id: "MATRIX_OPS_ACCESS_TOKEN" },
189
+ },
190
+ },
191
+ },
192
+ },
193
+ secrets: {
194
+ defaults: {
195
+ env: "default",
196
+ },
197
+ },
198
+ } as CoreConfig;
199
+ const env = {
200
+ MATRIX_OPS_ACCESS_TOKEN: "ops-token",
201
+ } as NodeJS.ProcessEnv;
202
+
203
+ const resolved = resolveMatrixConfigForAccount(cfg, "ops", env);
204
+ expect(resolved.accessToken).toBe("ops-token");
205
+ });
206
+
207
+ it("does not resolve account password SecretRefs when scoped token auth is configured", () => {
208
+ const cfg = {
209
+ channels: {
210
+ matrix: {
211
+ accounts: {
212
+ ops: {
213
+ homeserver: "https://ops.example.org",
214
+ password: { source: "env", provider: "default", id: "MATRIX_OPS_PASSWORD" },
215
+ },
216
+ },
217
+ },
218
+ },
219
+ secrets: {
220
+ defaults: {
221
+ env: "default",
222
+ },
223
+ },
224
+ } as CoreConfig;
225
+ const env = {
226
+ MATRIX_OPS_ACCESS_TOKEN: "ops-token",
227
+ } as NodeJS.ProcessEnv;
228
+
229
+ const resolved = resolveMatrixConfigForAccount(cfg, "ops", env);
230
+ expect(resolved.accessToken).toBe("ops-token");
231
+ expect(resolved.password).toBeUndefined();
232
+ });
233
+
234
+ it("keeps unresolved accessToken SecretRef errors when env fallback is missing", () => {
235
+ const cfg = {
236
+ channels: {
237
+ matrix: {
238
+ homeserver: "https://cfg.example.org",
239
+ accessToken: { source: "env", provider: "default", id: "MATRIX_ACCESS_TOKEN" },
240
+ },
241
+ },
242
+ secrets: {
243
+ defaults: {
244
+ env: "default",
245
+ },
246
+ },
247
+ } as CoreConfig;
248
+
249
+ expect(() => resolveDefaultMatrixAuthContext(cfg, {} as NodeJS.ProcessEnv)).toThrow(
250
+ /channels\.matrix\.accessToken: unresolved SecretRef "env:default:MATRIX_ACCESS_TOKEN"/i,
251
+ );
252
+ });
253
+
254
+ it("does not bypass env provider allowlists during startup fallback", () => {
255
+ const cfg = {
256
+ channels: {
257
+ matrix: {
258
+ homeserver: "https://cfg.example.org",
259
+ accessToken: { source: "env", provider: "matrix-env", id: "MATRIX_ACCESS_TOKEN" },
260
+ },
261
+ },
262
+ secrets: {
263
+ providers: {
264
+ "matrix-env": {
265
+ source: "env",
266
+ allowlist: ["OTHER_MATRIX_ACCESS_TOKEN"],
267
+ },
268
+ },
269
+ },
270
+ } as CoreConfig;
271
+
272
+ expect(() =>
273
+ resolveDefaultMatrixAuthContext(cfg, {
274
+ MATRIX_ACCESS_TOKEN: "env-token",
275
+ } as NodeJS.ProcessEnv),
276
+ ).toThrow(/not allowlisted in secrets\.providers\.matrix-env\.allowlist/i);
277
+ });
278
+
279
+ it("does not throw when accessToken uses a non-env SecretRef", () => {
280
+ const cfg = {
281
+ channels: {
282
+ matrix: {
283
+ homeserver: "https://cfg.example.org",
284
+ accessToken: { source: "file", provider: "matrix-file", id: "value" },
285
+ },
286
+ },
287
+ secrets: {
288
+ providers: {
289
+ "matrix-file": {
290
+ source: "file",
291
+ path: "/tmp/matrix-token",
292
+ },
293
+ },
294
+ },
295
+ } as CoreConfig;
296
+
297
+ expect(
298
+ resolveDefaultMatrixAuthContext(cfg, {} as NodeJS.ProcessEnv).resolved.accessToken,
299
+ ).toBeUndefined();
300
+ });
301
+
302
+ it("uses account-scoped env vars for non-default accounts before global env", () => {
303
+ const cfg = {
304
+ channels: {
305
+ matrix: {
306
+ homeserver: "https://base.example.org",
307
+ },
308
+ },
309
+ } as CoreConfig;
310
+ const env = {
311
+ MATRIX_HOMESERVER: "https://global.example.org",
312
+ MATRIX_ACCESS_TOKEN: "global-token",
313
+ MATRIX_OPS_HOMESERVER: "https://ops.example.org",
314
+ MATRIX_OPS_ACCESS_TOKEN: "ops-token",
315
+ MATRIX_OPS_DEVICE_NAME: "Ops Device",
316
+ } as NodeJS.ProcessEnv;
317
+
318
+ const resolved = resolveMatrixConfigForAccount(cfg, "ops", env);
319
+ expect(resolved.homeserver).toBe("https://ops.example.org");
320
+ expect(resolved.accessToken).toBe("ops-token");
321
+ expect(resolved.deviceName).toBe("Ops Device");
322
+ });
323
+
324
+ it("uses collision-free scoped env var names for normalized account ids", () => {
325
+ expect(getMatrixScopedEnvVarNames("ops-prod").accessToken).toBe(
326
+ "MATRIX_OPS_X2D_PROD_ACCESS_TOKEN",
327
+ );
328
+ expect(getMatrixScopedEnvVarNames("ops_prod").accessToken).toBe(
329
+ "MATRIX_OPS_X5F_PROD_ACCESS_TOKEN",
330
+ );
331
+ });
332
+
333
+ it("prefers channels.lobi.accounts.default over global env for the default account", () => {
334
+ const cfg = {
335
+ channels: {
336
+ matrix: {
337
+ accounts: {
338
+ default: {
339
+ homeserver: "https://matrix.gumadeiras.com",
340
+ userId: "@pinguini:matrix.gumadeiras.com",
341
+ password: "cfg-pass", // pragma: allowlist secret
342
+ deviceName: "OpenClaw Gateway Pinguini",
343
+ encryption: true,
344
+ },
345
+ },
346
+ },
347
+ },
348
+ } as CoreConfig;
349
+ const env = {
350
+ MATRIX_HOMESERVER: "https://env.example.org",
351
+ MATRIX_USER_ID: "@env:example.org",
352
+ MATRIX_PASSWORD: "env-pass",
353
+ MATRIX_DEVICE_NAME: "EnvDevice",
354
+ } as NodeJS.ProcessEnv;
355
+
356
+ const resolved = resolveMatrixAuthContext({ cfg, env });
357
+ expect(resolved.accountId).toBe("default");
358
+ expect(resolved.resolved).toMatchObject({
359
+ homeserver: "https://matrix.gumadeiras.com",
360
+ userId: "@pinguini:matrix.gumadeiras.com",
361
+ password: "cfg-pass",
362
+ deviceName: "OpenClaw Gateway Pinguini",
363
+ encryption: true,
364
+ });
365
+ });
366
+
367
+ it("ignores typoed defaultAccount values that do not map to a real Matrix account", () => {
368
+ const cfg = {
369
+ channels: {
370
+ matrix: {
371
+ defaultAccount: "ops",
372
+ homeserver: "https://legacy.example.org",
373
+ accessToken: "legacy-token",
374
+ },
375
+ },
376
+ } as CoreConfig;
377
+
378
+ expect(resolveMatrixAuthContext({ cfg, env: {} as NodeJS.ProcessEnv }).accountId).toBe(
379
+ "default",
380
+ );
381
+ });
382
+
383
+ it("requires explicit defaultAccount selection when multiple named Matrix accounts exist", () => {
384
+ const cfg = {
385
+ channels: {
386
+ matrix: {
387
+ accounts: {
388
+ assistant: {
389
+ homeserver: "https://matrix.assistant.example.org",
390
+ accessToken: "assistant-token",
391
+ },
392
+ ops: {
393
+ homeserver: "https://matrix.ops.example.org",
394
+ accessToken: "ops-token",
395
+ },
396
+ },
397
+ },
398
+ },
399
+ } as CoreConfig;
400
+
401
+ expect(() => resolveMatrixAuthContext({ cfg, env: {} as NodeJS.ProcessEnv })).toThrow(
402
+ /channels\.matrix\.defaultAccount.*--account <id>/i,
403
+ );
404
+ });
405
+
406
+ it("does not materialize a default account from shared top-level defaults alone", () => {
407
+ const cfg = {
408
+ channels: {
409
+ matrix: {
410
+ name: "Shared Defaults",
411
+ accounts: {
412
+ ops: {
413
+ homeserver: "https://matrix.ops.example.org",
414
+ accessToken: "ops-token",
415
+ },
416
+ },
417
+ },
418
+ },
419
+ } as CoreConfig;
420
+
421
+ expect(resolveMatrixAuthContext({ cfg, env: {} as NodeJS.ProcessEnv }).accountId).toBe("ops");
422
+ });
423
+
424
+ it("does not materialize a default account from partial top-level auth defaults", () => {
425
+ const cfg = {
426
+ channels: {
427
+ matrix: {
428
+ accessToken: "shared-token",
429
+ accounts: {
430
+ ops: {
431
+ homeserver: "https://matrix.ops.example.org",
432
+ accessToken: "ops-token",
433
+ },
434
+ },
435
+ },
436
+ },
437
+ } as CoreConfig;
438
+
439
+ expect(resolveMatrixAuthContext({ cfg, env: {} as NodeJS.ProcessEnv }).accountId).toBe("ops");
440
+ });
441
+
442
+ it("honors injected env when implicit Matrix account selection becomes ambiguous", () => {
443
+ const cfg = {
444
+ channels: {
445
+ matrix: {},
446
+ },
447
+ } as CoreConfig;
448
+ const env = {
449
+ MATRIX_HOMESERVER: "https://matrix.example.org",
450
+ MATRIX_ACCESS_TOKEN: "default-token",
451
+ MATRIX_OPS_HOMESERVER: "https://matrix.example.org",
452
+ MATRIX_OPS_ACCESS_TOKEN: "ops-token",
453
+ } as NodeJS.ProcessEnv;
454
+
455
+ expect(() => resolveMatrixAuthContext({ cfg, env })).toThrow(
456
+ /channels\.matrix\.defaultAccount.*--account <id>/i,
457
+ );
458
+ });
459
+
460
+ it("does not materialize a default env account from partial global auth fields", () => {
461
+ const cfg = {
462
+ channels: {
463
+ matrix: {},
464
+ },
465
+ } as CoreConfig;
466
+ const env = {
467
+ MATRIX_ACCESS_TOKEN: "shared-token",
468
+ MATRIX_OPS_HOMESERVER: "https://matrix.example.org",
469
+ MATRIX_OPS_ACCESS_TOKEN: "ops-token",
470
+ } as NodeJS.ProcessEnv;
471
+
472
+ expect(resolveMatrixAuthContext({ cfg, env }).accountId).toBe("ops");
473
+ });
474
+
475
+ it("does not materialize a default account from top-level homeserver plus userId alone", () => {
476
+ const cfg = {
477
+ channels: {
478
+ matrix: {
479
+ homeserver: "https://matrix.example.org",
480
+ userId: "@default:example.org",
481
+ accounts: {
482
+ ops: {
483
+ homeserver: "https://matrix.example.org",
484
+ accessToken: "ops-token",
485
+ },
486
+ },
487
+ },
488
+ },
489
+ } as CoreConfig;
490
+
491
+ expect(resolveMatrixAuthContext({ cfg, env: {} as NodeJS.ProcessEnv }).accountId).toBe("ops");
492
+ });
493
+
494
+ it("does not materialize a default env account from global homeserver plus userId alone", () => {
495
+ const cfg = {
496
+ channels: {
497
+ matrix: {},
498
+ },
499
+ } as CoreConfig;
500
+ const env = {
501
+ MATRIX_HOMESERVER: "https://matrix.example.org",
502
+ MATRIX_USER_ID: "@default:example.org",
503
+ MATRIX_OPS_HOMESERVER: "https://matrix.example.org",
504
+ MATRIX_OPS_ACCESS_TOKEN: "ops-token",
505
+ } as NodeJS.ProcessEnv;
506
+
507
+ expect(resolveMatrixAuthContext({ cfg, env }).accountId).toBe("ops");
508
+ });
509
+
510
+ it("keeps implicit selection for env-backed accounts that can use cached credentials", () => {
511
+ const cfg = {
512
+ channels: {
513
+ matrix: {
514
+ homeserver: "https://matrix.example.org",
515
+ },
516
+ },
517
+ } as CoreConfig;
518
+ const env = {
519
+ MATRIX_OPS_USER_ID: "@ops:example.org",
520
+ } as NodeJS.ProcessEnv;
521
+
522
+ expect(resolveMatrixAuthContext({ cfg, env }).accountId).toBe("ops");
523
+ });
524
+
525
+ it("rejects explicit non-default account ids that are neither configured nor scoped in env", () => {
526
+ const cfg = {
527
+ channels: {
528
+ matrix: {
529
+ homeserver: "https://legacy.example.org",
530
+ accessToken: "legacy-token",
531
+ accounts: {
532
+ ops: {
533
+ homeserver: "https://ops.example.org",
534
+ accessToken: "ops-token",
535
+ },
536
+ },
537
+ },
538
+ },
539
+ } as CoreConfig;
540
+
541
+ expect(() =>
542
+ resolveMatrixAuthContext({ cfg, env: {} as NodeJS.ProcessEnv, accountId: "typo" }),
543
+ ).toThrow(/Matrix account "typo" is not configured/i);
544
+ });
545
+
546
+ it("allows explicit non-default account ids backed only by scoped env vars", () => {
547
+ const cfg = {
548
+ channels: {
549
+ matrix: {
550
+ homeserver: "https://legacy.example.org",
551
+ accessToken: "legacy-token",
552
+ },
553
+ },
554
+ } as CoreConfig;
555
+ const env = {
556
+ MATRIX_OPS_HOMESERVER: "https://ops.example.org",
557
+ MATRIX_OPS_ACCESS_TOKEN: "ops-token",
558
+ } as NodeJS.ProcessEnv;
559
+
560
+ expect(resolveMatrixAuthContext({ cfg, env, accountId: "ops" }).accountId).toBe("ops");
561
+ });
562
+
563
+ it("does not inherit the base deviceId for non-default accounts", () => {
564
+ const cfg = {
565
+ channels: {
566
+ matrix: {
567
+ homeserver: "https://base.example.org",
568
+ accessToken: "base-token",
569
+ deviceId: "BASEDEVICE",
570
+ accounts: {
571
+ ops: {
572
+ homeserver: "https://ops.example.org",
573
+ accessToken: "ops-token",
574
+ },
575
+ },
576
+ },
577
+ },
578
+ } as CoreConfig;
579
+
580
+ const resolved = resolveMatrixConfigForAccount(cfg, "ops", {} as NodeJS.ProcessEnv);
581
+ expect(resolved.deviceId).toBeUndefined();
582
+ });
583
+
584
+ it("does not inherit the base userId for non-default accounts", () => {
585
+ const cfg = {
586
+ channels: {
587
+ matrix: {
588
+ homeserver: "https://base.example.org",
589
+ userId: "@base:example.org",
590
+ accessToken: "base-token",
591
+ accounts: {
592
+ ops: {
593
+ homeserver: "https://ops.example.org",
594
+ accessToken: "ops-token",
595
+ },
596
+ },
597
+ },
598
+ },
599
+ } as CoreConfig;
600
+
601
+ const resolved = resolveMatrixConfigForAccount(cfg, "ops", {} as NodeJS.ProcessEnv);
602
+ expect(resolved.userId).toBe("");
603
+ });
604
+
605
+ it("does not inherit base or global auth secrets for non-default accounts", () => {
606
+ const cfg = {
607
+ channels: {
608
+ matrix: {
609
+ homeserver: "https://base.example.org",
610
+ accessToken: "base-token",
611
+ password: "base-pass", // pragma: allowlist secret
612
+ deviceId: "BASEDEVICE",
613
+ accounts: {
614
+ ops: {
615
+ homeserver: "https://ops.example.org",
616
+ userId: "@ops:example.org",
617
+ password: "ops-pass", // pragma: allowlist secret
618
+ },
619
+ },
620
+ },
621
+ },
622
+ } as CoreConfig;
623
+ const env = {
624
+ MATRIX_ACCESS_TOKEN: "global-token",
625
+ MATRIX_PASSWORD: "global-pass",
626
+ MATRIX_DEVICE_ID: "GLOBALDEVICE",
627
+ } as NodeJS.ProcessEnv;
628
+
629
+ const resolved = resolveMatrixConfigForAccount(cfg, "ops", env);
630
+ expect(resolved.accessToken).toBeUndefined();
631
+ expect(resolved.password).toBe("ops-pass");
632
+ expect(resolved.deviceId).toBeUndefined();
633
+ });
634
+
635
+ it("does not inherit a base password for non-default accounts", () => {
636
+ const cfg = {
637
+ channels: {
638
+ matrix: {
639
+ homeserver: "https://base.example.org",
640
+ password: "base-pass", // pragma: allowlist secret
641
+ accounts: {
642
+ ops: {
643
+ homeserver: "https://ops.example.org",
644
+ userId: "@ops:example.org",
645
+ },
646
+ },
647
+ },
648
+ },
649
+ } as CoreConfig;
650
+ const env = {
651
+ MATRIX_PASSWORD: "global-pass",
652
+ } as NodeJS.ProcessEnv;
653
+
654
+ const resolved = resolveMatrixConfigForAccount(cfg, "ops", env);
655
+ expect(resolved.password).toBeUndefined();
656
+ });
657
+
658
+ it("rejects insecure public http Matrix homeservers", () => {
659
+ expect(() => validateMatrixHomeserverUrl("http://matrix.example.org")).toThrow(
660
+ "Matrix homeserver must use https:// unless it targets a private or loopback host",
661
+ );
662
+ expect(validateMatrixHomeserverUrl("http://127.0.0.1:8008")).toBe("http://127.0.0.1:8008");
663
+ });
664
+
665
+ it("accepts internal http homeservers only when private-network access is enabled", () => {
666
+ expect(() => validateMatrixHomeserverUrl("http://matrix-synapse:8008")).toThrow(
667
+ "Matrix homeserver must use https:// unless it targets a private or loopback host",
668
+ );
669
+ expect(
670
+ validateMatrixHomeserverUrl("http://matrix-synapse:8008", {
671
+ allowPrivateNetwork: true,
672
+ }),
673
+ ).toBe("http://matrix-synapse:8008");
674
+ });
675
+
676
+ it("resolves an explicit proxy dispatcher from top-level Matrix config", () => {
677
+ const cfg = {
678
+ channels: {
679
+ matrix: {
680
+ homeserver: "https://matrix.example.org",
681
+ accessToken: "tok-123",
682
+ proxy: "http://127.0.0.1:7890",
683
+ },
684
+ },
685
+ } as CoreConfig;
686
+
687
+ const resolved = resolveDefaultMatrixAuthContext(cfg, {} as NodeJS.ProcessEnv).resolved;
688
+
689
+ expect(resolved.dispatcherPolicy).toEqual({
690
+ mode: "explicit-proxy",
691
+ proxyUrl: "http://127.0.0.1:7890",
692
+ });
693
+ });
694
+
695
+ it("prefers account proxy overrides over top-level Matrix proxy config", () => {
696
+ const cfg = {
697
+ channels: {
698
+ matrix: {
699
+ homeserver: "https://matrix.example.org",
700
+ accessToken: "base-token",
701
+ proxy: "http://127.0.0.1:7890",
702
+ accounts: {
703
+ ops: {
704
+ homeserver: "https://matrix.ops.example.org",
705
+ accessToken: "ops-token",
706
+ proxy: "http://127.0.0.1:7891",
707
+ },
708
+ },
709
+ },
710
+ },
711
+ } as CoreConfig;
712
+
713
+ const resolved = resolveMatrixConfigForAccount(cfg, "ops", {} as NodeJS.ProcessEnv);
714
+
715
+ expect(resolved.dispatcherPolicy).toEqual({
716
+ mode: "explicit-proxy",
717
+ proxyUrl: "http://127.0.0.1:7891",
718
+ });
719
+ });
720
+
721
+ it("rejects public http homeservers even when private-network access is enabled", async () => {
722
+ await expect(
723
+ resolveValidatedMatrixHomeserverUrl("http://matrix.example.org:8008", {
724
+ allowPrivateNetwork: true,
725
+ lookupFn: createLookupFn([{ address: "93.184.216.34", family: 4 }]),
726
+ }),
727
+ ).rejects.toThrow(
728
+ "Matrix homeserver must use https:// unless it targets a private or loopback host",
729
+ );
730
+ });
731
+
732
+ it("accepts internal http hostnames when the private-network opt-in is explicit", async () => {
733
+ await expect(
734
+ resolveValidatedMatrixHomeserverUrl("http://localhost.localdomain:8008", {
735
+ dangerouslyAllowPrivateNetwork: true,
736
+ lookupFn: createLookupFn([{ address: "127.0.0.1", family: 4 }]),
737
+ }),
738
+ ).resolves.toBe("http://localhost.localdomain:8008");
739
+ });
740
+ });
741
+
742
+ describe("resolveMatrixAuth", () => {
743
+ beforeAll(async () => {
744
+ credentialsReadModule = await import("./credentials-read.js");
745
+ });
746
+
747
+ beforeEach(() => {
748
+ const readModule = requireCredentialsReadModule();
749
+ vi.mocked(readModule.loadMatrixCredentials).mockReset();
750
+ vi.mocked(readModule.loadMatrixCredentials).mockReturnValue(null);
751
+ vi.mocked(readModule.credentialsMatchConfig).mockReset();
752
+ vi.mocked(readModule.credentialsMatchConfig).mockReturnValue(false);
753
+ saveMatrixCredentialsMock.mockReset();
754
+ saveBackfilledMatrixDeviceIdMock.mockReset().mockResolvedValue("saved");
755
+ touchMatrixCredentialsMock.mockReset();
756
+ repairCurrentTokenStorageMetaDeviceIdMock.mockReset().mockReturnValue(true);
757
+ ensureMatrixSdkLoggingConfiguredMock.mockReset();
758
+ matrixDoRequestMock.mockReset();
759
+ setMatrixAuthClientDepsForTest({
760
+ MatrixClient: MockMatrixClient as unknown as typeof import("./sdk.js").MatrixClient,
761
+ ensureMatrixSdkLoggingConfigured: ensureMatrixSdkLoggingConfiguredMock,
762
+ });
763
+ });
764
+
765
+ afterEach(() => {
766
+ vi.restoreAllMocks();
767
+ vi.unstubAllGlobals();
768
+ setMatrixAuthClientDepsForTest(undefined);
769
+ });
770
+
771
+ it("uses the hardened client request path for password login and persists deviceId", async () => {
772
+ matrixDoRequestMock.mockResolvedValue({
773
+ access_token: "tok-123",
774
+ user_id: "@bot:example.org",
775
+ device_id: "DEVICE123",
776
+ });
777
+
778
+ const cfg = {
779
+ channels: {
780
+ matrix: {
781
+ homeserver: "https://matrix.example.org",
782
+ userId: "@bot:example.org",
783
+ password: "secret", // pragma: allowlist secret
784
+ encryption: true,
785
+ },
786
+ },
787
+ } as CoreConfig;
788
+
789
+ const auth = await resolveMatrixAuth({
790
+ cfg,
791
+ env: {} as NodeJS.ProcessEnv,
792
+ });
793
+
794
+ expect(matrixDoRequestMock).toHaveBeenCalledWith(
795
+ "POST",
796
+ "/_matrix/client/v3/login",
797
+ undefined,
798
+ expect.objectContaining({
799
+ type: "m.login.password",
800
+ }),
801
+ );
802
+ expect(auth).toMatchObject({
803
+ accountId: "default",
804
+ homeserver: "https://matrix.example.org",
805
+ userId: "@bot:example.org",
806
+ accessToken: "tok-123",
807
+ deviceId: "DEVICE123",
808
+ encryption: true,
809
+ });
810
+ expect(saveMatrixCredentialsMock).toHaveBeenCalledWith(
811
+ expect.objectContaining({
812
+ homeserver: "https://matrix.example.org",
813
+ userId: "@bot:example.org",
814
+ accessToken: "tok-123",
815
+ deviceId: "DEVICE123",
816
+ }),
817
+ expect.any(Object),
818
+ "default",
819
+ );
820
+ });
821
+
822
+ it("surfaces password login errors when account credentials are invalid", async () => {
823
+ matrixDoRequestMock.mockRejectedValueOnce(new Error("Invalid username or password"));
824
+
825
+ const cfg = {
826
+ channels: {
827
+ matrix: {
828
+ homeserver: "https://matrix.example.org",
829
+ userId: "@bot:example.org",
830
+ password: "secret", // pragma: allowlist secret
831
+ },
832
+ },
833
+ } as CoreConfig;
834
+
835
+ await expect(
836
+ resolveMatrixAuth({
837
+ cfg,
838
+ env: {} as NodeJS.ProcessEnv,
839
+ }),
840
+ ).rejects.toThrow("Invalid username or password");
841
+
842
+ expect(matrixDoRequestMock).toHaveBeenCalledWith(
843
+ "POST",
844
+ "/_matrix/client/v3/login",
845
+ undefined,
846
+ expect.objectContaining({
847
+ type: "m.login.password",
848
+ }),
849
+ );
850
+ expect(saveMatrixCredentialsMock).not.toHaveBeenCalled();
851
+ });
852
+
853
+ it("uses cached matching credentials when access token is not configured", async () => {
854
+ vi.mocked(credentialsReadModule!.loadMatrixCredentials).mockReturnValue({
855
+ homeserver: "https://matrix.example.org",
856
+ userId: "@bot:example.org",
857
+ accessToken: "cached-token",
858
+ deviceId: "CACHEDDEVICE",
859
+ createdAt: "2026-01-01T00:00:00.000Z",
860
+ });
861
+ vi.mocked(credentialsReadModule!.credentialsMatchConfig).mockReturnValue(true);
862
+
863
+ const cfg = {
864
+ channels: {
865
+ matrix: {
866
+ homeserver: "https://matrix.example.org",
867
+ userId: "@bot:example.org",
868
+ password: "secret", // pragma: allowlist secret
869
+ },
870
+ },
871
+ } as CoreConfig;
872
+
873
+ const auth = await resolveMatrixAuth({
874
+ cfg,
875
+ env: {} as NodeJS.ProcessEnv,
876
+ });
877
+
878
+ expect(auth).toMatchObject({
879
+ accountId: "default",
880
+ homeserver: "https://matrix.example.org",
881
+ userId: "@bot:example.org",
882
+ accessToken: "cached-token",
883
+ deviceId: "CACHEDDEVICE",
884
+ });
885
+ expect(saveMatrixCredentialsMock).not.toHaveBeenCalled();
886
+ });
887
+
888
+ it("uses cached matching credentials for env-backed named accounts without fresh auth", async () => {
889
+ vi.mocked(credentialsReadModule!.loadMatrixCredentials).mockReturnValue({
890
+ homeserver: "https://matrix.example.org",
891
+ userId: "@ops:example.org",
892
+ accessToken: "cached-token",
893
+ deviceId: "CACHEDDEVICE",
894
+ createdAt: "2026-01-01T00:00:00.000Z",
895
+ });
896
+ vi.mocked(credentialsReadModule!.credentialsMatchConfig).mockReturnValue(true);
897
+
898
+ const cfg = {
899
+ channels: {
900
+ matrix: {
901
+ homeserver: "https://matrix.example.org",
902
+ },
903
+ },
904
+ } as CoreConfig;
905
+ const env = {
906
+ MATRIX_OPS_USER_ID: "@ops:example.org",
907
+ } as NodeJS.ProcessEnv;
908
+
909
+ const auth = await resolveMatrixAuth({
910
+ cfg,
911
+ env,
912
+ accountId: "ops",
913
+ });
914
+
915
+ expect(auth).toMatchObject({
916
+ accountId: "ops",
917
+ homeserver: "https://matrix.example.org",
918
+ userId: "@ops:example.org",
919
+ accessToken: "cached-token",
920
+ deviceId: "CACHEDDEVICE",
921
+ });
922
+ expect(saveMatrixCredentialsMock).not.toHaveBeenCalled();
923
+ });
924
+
925
+ it("rejects embedded credentials in Matrix homeserver URLs", async () => {
926
+ const cfg = {
927
+ channels: {
928
+ matrix: {
929
+ homeserver: "https://user:pass@matrix.example.org",
930
+ accessToken: "tok-123",
931
+ },
932
+ },
933
+ } as CoreConfig;
934
+
935
+ await expect(resolveMatrixAuth({ cfg, env: {} as NodeJS.ProcessEnv })).rejects.toThrow(
936
+ "Matrix homeserver URL must not include embedded credentials",
937
+ );
938
+ });
939
+
940
+ it("falls back to config deviceId when cached credentials are missing it", async () => {
941
+ vi.mocked(credentialsReadModule!.loadMatrixCredentials).mockReturnValue({
942
+ homeserver: "https://matrix.example.org",
943
+ userId: "@bot:example.org",
944
+ accessToken: "tok-123",
945
+ createdAt: "2026-01-01T00:00:00.000Z",
946
+ });
947
+ vi.mocked(credentialsReadModule!.credentialsMatchConfig).mockReturnValue(true);
948
+
949
+ const cfg = {
950
+ channels: {
951
+ matrix: {
952
+ homeserver: "https://matrix.example.org",
953
+ userId: "@bot:example.org",
954
+ accessToken: "tok-123",
955
+ deviceId: "DEVICE123",
956
+ encryption: true,
957
+ },
958
+ },
959
+ } as CoreConfig;
960
+
961
+ const auth = await resolveMatrixAuth({ cfg, env: {} as NodeJS.ProcessEnv });
962
+
963
+ expect(auth.deviceId).toBe("DEVICE123");
964
+ expect(auth.accountId).toBe("default");
965
+ expect(saveMatrixCredentialsMock).toHaveBeenCalledWith(
966
+ expect.objectContaining({
967
+ homeserver: "https://matrix.example.org",
968
+ userId: "@bot:example.org",
969
+ accessToken: "tok-123",
970
+ deviceId: "DEVICE123",
971
+ }),
972
+ expect.any(Object),
973
+ "default",
974
+ );
975
+ });
976
+
977
+ it("carries the private-network opt-in through Matrix auth resolution", async () => {
978
+ const cfg = {
979
+ channels: {
980
+ matrix: {
981
+ homeserver: "http://127.0.0.1:8008",
982
+ allowPrivateNetwork: true,
983
+ userId: "@bot:example.org",
984
+ accessToken: "tok-123",
985
+ deviceId: "DEVICE123",
986
+ },
987
+ },
988
+ } as CoreConfig;
989
+
990
+ const auth = await resolveMatrixAuth({ cfg, env: {} as NodeJS.ProcessEnv });
991
+
992
+ expect(auth).toMatchObject({
993
+ homeserver: "http://127.0.0.1:8008",
994
+ allowPrivateNetwork: true,
995
+ ssrfPolicy: { allowPrivateNetwork: true },
996
+ });
997
+ });
998
+
999
+ it("resolves token-only non-default account userId from whoami instead of inheriting the base user", async () => {
1000
+ matrixDoRequestMock.mockResolvedValue({
1001
+ user_id: "@ops:example.org",
1002
+ device_id: "OPSDEVICE",
1003
+ });
1004
+
1005
+ const cfg = {
1006
+ channels: {
1007
+ matrix: {
1008
+ userId: "@base:example.org",
1009
+ homeserver: "https://matrix.example.org",
1010
+ accounts: {
1011
+ ops: {
1012
+ homeserver: "https://matrix.example.org",
1013
+ accessToken: "ops-token",
1014
+ },
1015
+ },
1016
+ },
1017
+ },
1018
+ } as CoreConfig;
1019
+
1020
+ const auth = await resolveMatrixAuth({
1021
+ cfg,
1022
+ env: {} as NodeJS.ProcessEnv,
1023
+ accountId: "ops",
1024
+ });
1025
+
1026
+ expect(matrixDoRequestMock).toHaveBeenCalledWith("GET", "/_matrix/client/v3/account/whoami");
1027
+ expect(auth.userId).toBe("@ops:example.org");
1028
+ expect(auth.deviceId).toBe("OPSDEVICE");
1029
+ });
1030
+
1031
+ it("uses named-account password auth instead of inheriting the base access token", async () => {
1032
+ vi.mocked(credentialsReadModule!.loadMatrixCredentials).mockReturnValue(null);
1033
+ vi.mocked(credentialsReadModule!.credentialsMatchConfig).mockReturnValue(false);
1034
+ matrixDoRequestMock.mockResolvedValue({
1035
+ access_token: "ops-token",
1036
+ user_id: "@ops:example.org",
1037
+ device_id: "OPSDEVICE",
1038
+ });
1039
+
1040
+ const cfg = {
1041
+ channels: {
1042
+ matrix: {
1043
+ homeserver: "https://matrix.example.org",
1044
+ accessToken: "legacy-token",
1045
+ accounts: {
1046
+ ops: {
1047
+ homeserver: "https://matrix.example.org",
1048
+ userId: "@ops:example.org",
1049
+ password: "ops-pass", // pragma: allowlist secret
1050
+ },
1051
+ },
1052
+ },
1053
+ },
1054
+ } as CoreConfig;
1055
+
1056
+ const auth = await resolveMatrixAuth({
1057
+ cfg,
1058
+ env: {} as NodeJS.ProcessEnv,
1059
+ accountId: "ops",
1060
+ });
1061
+
1062
+ expect(matrixDoRequestMock).toHaveBeenCalledWith(
1063
+ "POST",
1064
+ "/_matrix/client/v3/login",
1065
+ undefined,
1066
+ expect.objectContaining({
1067
+ type: "m.login.password",
1068
+ identifier: { type: "m.id.user", user: "@ops:example.org" },
1069
+ password: "ops-pass",
1070
+ }),
1071
+ );
1072
+ expect(auth).toMatchObject({
1073
+ accountId: "ops",
1074
+ homeserver: "https://matrix.example.org",
1075
+ userId: "@ops:example.org",
1076
+ accessToken: "ops-token",
1077
+ deviceId: "OPSDEVICE",
1078
+ });
1079
+ });
1080
+
1081
+ it("resolves missing whoami identity fields for token auth", async () => {
1082
+ matrixDoRequestMock.mockResolvedValue({
1083
+ user_id: "@bot:example.org",
1084
+ device_id: "DEVICE123",
1085
+ });
1086
+
1087
+ const cfg = {
1088
+ channels: {
1089
+ matrix: {
1090
+ homeserver: "https://matrix.example.org",
1091
+ accessToken: "tok-123",
1092
+ encryption: true,
1093
+ },
1094
+ },
1095
+ } as CoreConfig;
1096
+
1097
+ const auth = await resolveMatrixAuth({
1098
+ cfg,
1099
+ env: {} as NodeJS.ProcessEnv,
1100
+ });
1101
+
1102
+ expect(matrixDoRequestMock).toHaveBeenCalledWith("GET", "/_matrix/client/v3/account/whoami");
1103
+ expect(auth).toMatchObject({
1104
+ accountId: "default",
1105
+ homeserver: "https://matrix.example.org",
1106
+ userId: "@bot:example.org",
1107
+ accessToken: "tok-123",
1108
+ deviceId: "DEVICE123",
1109
+ encryption: true,
1110
+ });
1111
+ });
1112
+
1113
+ it("retries token whoami when startup auth hits a transient network error", async () => {
1114
+ matrixDoRequestMock
1115
+ .mockRejectedValueOnce(
1116
+ Object.assign(new TypeError("fetch failed"), {
1117
+ cause: Object.assign(new Error("read ECONNRESET"), {
1118
+ code: "ECONNRESET",
1119
+ }),
1120
+ }),
1121
+ )
1122
+ .mockResolvedValue({
1123
+ user_id: "@bot:example.org",
1124
+ device_id: "DEVICE123",
1125
+ });
1126
+
1127
+ const cfg = {
1128
+ channels: {
1129
+ matrix: {
1130
+ homeserver: "https://matrix.example.org",
1131
+ accessToken: "tok-123",
1132
+ },
1133
+ },
1134
+ } as CoreConfig;
1135
+
1136
+ const auth = await resolveMatrixAuth({
1137
+ cfg,
1138
+ env: {} as NodeJS.ProcessEnv,
1139
+ });
1140
+
1141
+ expect(matrixDoRequestMock).toHaveBeenCalledTimes(2);
1142
+ expect(auth).toMatchObject({
1143
+ userId: "@bot:example.org",
1144
+ deviceId: "DEVICE123",
1145
+ });
1146
+ });
1147
+
1148
+ it("does not call whoami when token auth already has a userId and only deviceId is missing", async () => {
1149
+ matrixDoRequestMock.mockRejectedValue(new Error("whoami should not be called"));
1150
+
1151
+ const cfg = {
1152
+ channels: {
1153
+ matrix: {
1154
+ homeserver: "https://matrix.example.org",
1155
+ userId: "@bot:example.org",
1156
+ accessToken: "tok-123",
1157
+ encryption: true,
1158
+ },
1159
+ },
1160
+ } as CoreConfig;
1161
+
1162
+ const auth = await resolveMatrixAuth({
1163
+ cfg,
1164
+ env: {} as NodeJS.ProcessEnv,
1165
+ });
1166
+
1167
+ expect(matrixDoRequestMock).not.toHaveBeenCalled();
1168
+ expect(auth).toMatchObject({
1169
+ accountId: "default",
1170
+ homeserver: "https://matrix.example.org",
1171
+ userId: "@bot:example.org",
1172
+ accessToken: "tok-123",
1173
+ deviceId: undefined,
1174
+ encryption: true,
1175
+ });
1176
+ });
1177
+
1178
+ it("retries password login when startup auth hits a transient network error", async () => {
1179
+ matrixDoRequestMock
1180
+ .mockRejectedValueOnce(
1181
+ Object.assign(new TypeError("fetch failed"), {
1182
+ cause: Object.assign(new Error("socket hang up"), {
1183
+ code: "ECONNRESET",
1184
+ }),
1185
+ }),
1186
+ )
1187
+ .mockResolvedValue({
1188
+ access_token: "tok-123",
1189
+ user_id: "@bot:example.org",
1190
+ device_id: "DEVICE123",
1191
+ });
1192
+
1193
+ const cfg = {
1194
+ channels: {
1195
+ matrix: {
1196
+ homeserver: "https://matrix.example.org",
1197
+ userId: "@bot:example.org",
1198
+ password: "secret", // pragma: allowlist secret
1199
+ },
1200
+ },
1201
+ } as CoreConfig;
1202
+
1203
+ const auth = await resolveMatrixAuth({
1204
+ cfg,
1205
+ env: {} as NodeJS.ProcessEnv,
1206
+ });
1207
+
1208
+ expect(matrixDoRequestMock).toHaveBeenCalledTimes(2);
1209
+ expect(auth).toMatchObject({
1210
+ accessToken: "tok-123",
1211
+ deviceId: "DEVICE123",
1212
+ });
1213
+ });
1214
+
1215
+ it("best-effort backfills a missing deviceId after startup", async () => {
1216
+ matrixDoRequestMock.mockResolvedValue({
1217
+ user_id: "@bot:example.org",
1218
+ device_id: "DEVICE123",
1219
+ });
1220
+
1221
+ const deviceId = await backfillMatrixAuthDeviceIdAfterStartup({
1222
+ auth: {
1223
+ accountId: "default",
1224
+ homeserver: "https://matrix.example.org",
1225
+ userId: "@bot:example.org",
1226
+ accessToken: "tok-123",
1227
+ },
1228
+ env: {} as NodeJS.ProcessEnv,
1229
+ });
1230
+
1231
+ expect(matrixDoRequestMock).toHaveBeenCalledWith("GET", "/_matrix/client/v3/account/whoami");
1232
+ expect(saveBackfilledMatrixDeviceIdMock).toHaveBeenCalledWith(
1233
+ {
1234
+ homeserver: "https://matrix.example.org",
1235
+ userId: "@bot:example.org",
1236
+ accessToken: "tok-123",
1237
+ deviceId: "DEVICE123",
1238
+ },
1239
+ expect.any(Object),
1240
+ "default",
1241
+ );
1242
+ expect(repairCurrentTokenStorageMetaDeviceIdMock).toHaveBeenCalledWith({
1243
+ homeserver: "https://matrix.example.org",
1244
+ userId: "@bot:example.org",
1245
+ accessToken: "tok-123",
1246
+ accountId: "default",
1247
+ deviceId: "DEVICE123",
1248
+ env: expect.any(Object),
1249
+ });
1250
+ expect(repairCurrentTokenStorageMetaDeviceIdMock.mock.invocationCallOrder[0]).toBeLessThan(
1251
+ saveBackfilledMatrixDeviceIdMock.mock.invocationCallOrder[0],
1252
+ );
1253
+ expect(deviceId).toBe("DEVICE123");
1254
+ });
1255
+
1256
+ it("skips deviceId backfill when auth already includes it", async () => {
1257
+ const deviceId = await backfillMatrixAuthDeviceIdAfterStartup({
1258
+ auth: {
1259
+ accountId: "default",
1260
+ homeserver: "https://matrix.example.org",
1261
+ userId: "@bot:example.org",
1262
+ accessToken: "tok-123",
1263
+ deviceId: "DEVICE123",
1264
+ },
1265
+ env: {} as NodeJS.ProcessEnv,
1266
+ });
1267
+
1268
+ expect(matrixDoRequestMock).not.toHaveBeenCalled();
1269
+ expect(saveMatrixCredentialsMock).not.toHaveBeenCalled();
1270
+ expect(saveBackfilledMatrixDeviceIdMock).not.toHaveBeenCalled();
1271
+ expect(repairCurrentTokenStorageMetaDeviceIdMock).not.toHaveBeenCalled();
1272
+ expect(deviceId).toBe("DEVICE123");
1273
+ });
1274
+
1275
+ it("fails before saving repaired credentials when storage metadata repair fails", async () => {
1276
+ matrixDoRequestMock.mockResolvedValue({
1277
+ user_id: "@bot:example.org",
1278
+ device_id: "DEVICE123",
1279
+ });
1280
+ repairCurrentTokenStorageMetaDeviceIdMock.mockReturnValue(false);
1281
+
1282
+ await expect(
1283
+ backfillMatrixAuthDeviceIdAfterStartup({
1284
+ auth: {
1285
+ accountId: "default",
1286
+ homeserver: "https://matrix.example.org",
1287
+ userId: "@bot:example.org",
1288
+ accessToken: "tok-123",
1289
+ },
1290
+ env: {} as NodeJS.ProcessEnv,
1291
+ }),
1292
+ ).rejects.toThrow("Matrix deviceId backfill failed to repair current-token storage metadata");
1293
+ expect(saveBackfilledMatrixDeviceIdMock).not.toHaveBeenCalled();
1294
+ });
1295
+
1296
+ it("skips stale deviceId backfill writes after newer credentials take over", async () => {
1297
+ matrixDoRequestMock.mockResolvedValue({
1298
+ user_id: "@bot:example.org",
1299
+ device_id: "DEVICE123",
1300
+ });
1301
+ vi.mocked(requireCredentialsReadModule().loadMatrixCredentials).mockReturnValue({
1302
+ homeserver: "https://matrix.example.org",
1303
+ userId: "@bot:example.org",
1304
+ accessToken: "tok-new",
1305
+ deviceId: "DEVICE999",
1306
+ createdAt: "2026-03-01T00:00:00.000Z",
1307
+ });
1308
+
1309
+ const deviceId = await backfillMatrixAuthDeviceIdAfterStartup({
1310
+ auth: {
1311
+ accountId: "default",
1312
+ homeserver: "https://matrix.example.org",
1313
+ userId: "@bot:example.org",
1314
+ accessToken: "tok-old",
1315
+ },
1316
+ env: {} as NodeJS.ProcessEnv,
1317
+ });
1318
+
1319
+ expect(deviceId).toBeUndefined();
1320
+ expect(repairCurrentTokenStorageMetaDeviceIdMock).not.toHaveBeenCalled();
1321
+ expect(saveBackfilledMatrixDeviceIdMock).not.toHaveBeenCalled();
1322
+ });
1323
+
1324
+ it("skips persistence when startup backfill is aborted before whoami resolves", async () => {
1325
+ let resolveWhoami: ((value: { user_id: string; device_id: string }) => void) | undefined;
1326
+ matrixDoRequestMock.mockImplementation(
1327
+ () =>
1328
+ new Promise((resolve) => {
1329
+ resolveWhoami = resolve;
1330
+ }),
1331
+ );
1332
+ const abortController = new AbortController();
1333
+ const backfillPromise = backfillMatrixAuthDeviceIdAfterStartup({
1334
+ auth: {
1335
+ accountId: "default",
1336
+ homeserver: "https://matrix.example.org",
1337
+ userId: "@bot:example.org",
1338
+ accessToken: "tok-123",
1339
+ },
1340
+ env: {} as NodeJS.ProcessEnv,
1341
+ abortSignal: abortController.signal,
1342
+ });
1343
+
1344
+ await vi.waitFor(() => {
1345
+ expect(resolveWhoami).toBeTypeOf("function");
1346
+ });
1347
+ abortController.abort();
1348
+ resolveWhoami?.({
1349
+ user_id: "@bot:example.org",
1350
+ device_id: "DEVICE123",
1351
+ });
1352
+
1353
+ await expect(backfillPromise).resolves.toBeUndefined();
1354
+ expect(repairCurrentTokenStorageMetaDeviceIdMock).not.toHaveBeenCalled();
1355
+ expect(saveBackfilledMatrixDeviceIdMock).not.toHaveBeenCalled();
1356
+ });
1357
+
1358
+ it("resolves file-backed accessToken SecretRefs during Matrix auth", async () => {
1359
+ const tempDir = await fs.mkdtemp(path.join(os.tmpdir(), "matrix-secret-ref-"));
1360
+ const secretPath = path.join(tempDir, "token.txt");
1361
+ await fs.writeFile(secretPath, "file-token\n", "utf8");
1362
+ await fs.chmod(secretPath, 0o600);
1363
+
1364
+ matrixDoRequestMock.mockResolvedValue({
1365
+ user_id: "@bot:example.org",
1366
+ device_id: "DEVICE123",
1367
+ });
1368
+
1369
+ try {
1370
+ const cfg = {
1371
+ channels: {
1372
+ matrix: {
1373
+ homeserver: "https://matrix.example.org",
1374
+ accessToken: { source: "file", provider: "matrix-file", id: "value" },
1375
+ },
1376
+ },
1377
+ secrets: {
1378
+ providers: {
1379
+ "matrix-file": {
1380
+ source: "file",
1381
+ path: secretPath,
1382
+ mode: "singleValue",
1383
+ },
1384
+ },
1385
+ },
1386
+ } as CoreConfig;
1387
+
1388
+ const auth = await resolveMatrixAuth({
1389
+ cfg,
1390
+ env: {} as NodeJS.ProcessEnv,
1391
+ });
1392
+
1393
+ expect(matrixDoRequestMock).toHaveBeenCalledWith("GET", "/_matrix/client/v3/account/whoami");
1394
+ expect(auth).toMatchObject({
1395
+ accountId: "default",
1396
+ homeserver: "https://matrix.example.org",
1397
+ userId: "@bot:example.org",
1398
+ accessToken: "file-token",
1399
+ deviceId: "DEVICE123",
1400
+ });
1401
+ } finally {
1402
+ await fs.rm(tempDir, { recursive: true, force: true });
1403
+ }
1404
+ });
1405
+
1406
+ it("does not resolve inactive password SecretRefs when scoped token auth wins", async () => {
1407
+ matrixDoRequestMock.mockResolvedValue({
1408
+ user_id: "@ops:example.org",
1409
+ device_id: "OPSDEVICE",
1410
+ });
1411
+
1412
+ const cfg = {
1413
+ channels: {
1414
+ matrix: {
1415
+ accounts: {
1416
+ ops: {
1417
+ homeserver: "https://matrix.example.org",
1418
+ password: { source: "env", provider: "default", id: "MATRIX_OPS_PASSWORD" },
1419
+ },
1420
+ },
1421
+ },
1422
+ },
1423
+ secrets: {
1424
+ defaults: {
1425
+ env: "default",
1426
+ },
1427
+ },
1428
+ } as CoreConfig;
1429
+
1430
+ installMatrixTestRuntime({ cfg });
1431
+
1432
+ const auth = await resolveMatrixAuth({
1433
+ cfg,
1434
+ env: {
1435
+ MATRIX_OPS_ACCESS_TOKEN: "ops-token",
1436
+ } as NodeJS.ProcessEnv,
1437
+ accountId: "ops",
1438
+ });
1439
+
1440
+ expect(matrixDoRequestMock).toHaveBeenCalledWith("GET", "/_matrix/client/v3/account/whoami");
1441
+ expect(auth).toMatchObject({
1442
+ accountId: "ops",
1443
+ homeserver: "https://matrix.example.org",
1444
+ userId: "@ops:example.org",
1445
+ accessToken: "ops-token",
1446
+ deviceId: "OPSDEVICE",
1447
+ password: undefined,
1448
+ });
1449
+ });
1450
+
1451
+ it("uses config deviceId with cached credentials when token is loaded from cache", async () => {
1452
+ vi.mocked(credentialsReadModule!.loadMatrixCredentials).mockReturnValue({
1453
+ homeserver: "https://matrix.example.org",
1454
+ userId: "@bot:example.org",
1455
+ accessToken: "tok-123",
1456
+ createdAt: "2026-01-01T00:00:00.000Z",
1457
+ });
1458
+ vi.mocked(credentialsReadModule!.credentialsMatchConfig).mockReturnValue(true);
1459
+
1460
+ const cfg = {
1461
+ channels: {
1462
+ matrix: {
1463
+ homeserver: "https://matrix.example.org",
1464
+ userId: "@bot:example.org",
1465
+ deviceId: "DEVICE123",
1466
+ encryption: true,
1467
+ },
1468
+ },
1469
+ } as CoreConfig;
1470
+
1471
+ const auth = await resolveMatrixAuth({ cfg, env: {} as NodeJS.ProcessEnv });
1472
+
1473
+ expect(auth).toMatchObject({
1474
+ accountId: "default",
1475
+ homeserver: "https://matrix.example.org",
1476
+ userId: "@bot:example.org",
1477
+ accessToken: "tok-123",
1478
+ deviceId: "DEVICE123",
1479
+ encryption: true,
1480
+ });
1481
+ });
1482
+
1483
+ it("falls back to the sole configured account when no global homeserver is set", async () => {
1484
+ const cfg = {
1485
+ channels: {
1486
+ matrix: {
1487
+ accounts: {
1488
+ ops: {
1489
+ homeserver: "https://ops.example.org",
1490
+ userId: "@ops:example.org",
1491
+ accessToken: "ops-token",
1492
+ deviceId: "OPSDEVICE",
1493
+ encryption: true,
1494
+ },
1495
+ },
1496
+ },
1497
+ },
1498
+ } as CoreConfig;
1499
+
1500
+ const auth = await resolveMatrixAuth({ cfg, env: {} as NodeJS.ProcessEnv });
1501
+
1502
+ expect(auth).toMatchObject({
1503
+ accountId: "ops",
1504
+ homeserver: "https://ops.example.org",
1505
+ userId: "@ops:example.org",
1506
+ accessToken: "ops-token",
1507
+ deviceId: "OPSDEVICE",
1508
+ encryption: true,
1509
+ });
1510
+ expect(saveMatrixCredentialsMock).toHaveBeenCalledWith(
1511
+ expect.objectContaining({
1512
+ homeserver: "https://ops.example.org",
1513
+ userId: "@ops:example.org",
1514
+ accessToken: "ops-token",
1515
+ deviceId: "OPSDEVICE",
1516
+ }),
1517
+ expect.any(Object),
1518
+ "ops",
1519
+ );
1520
+ });
1521
+ });