@archipelagolab/lobi 1.0.5 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +164 -0
- package/SPEC-SUPPORT.md +116 -0
- package/api.ts +18 -0
- package/auth-presence.ts +56 -0
- package/channel-plugin-api.ts +3 -0
- package/cli-metadata.ts +11 -0
- package/contract-api.ts +17 -0
- package/helper-api.ts +3 -0
- package/index.test.ts +61 -0
- package/index.ts +51 -0
- package/openclaw.plugin.json +10 -10
- package/package.json +13 -19
- package/plugin-entry.handlers.runtime.ts +1 -0
- package/runtime-api.ts +54 -0
- package/runtime-heavy-api.ts +1 -0
- package/secret-contract-api.ts +5 -0
- package/setup-entry.ts +13 -0
- package/src/account-selection.test.ts +124 -0
- package/src/account-selection.ts +220 -0
- package/src/actions.account-propagation.test.ts +251 -0
- package/src/actions.test.ts +251 -0
- package/src/actions.ts +336 -0
- package/src/approval-auth.test.ts +23 -0
- package/src/approval-auth.ts +25 -0
- package/src/approval-handler.runtime.test.ts +46 -0
- package/src/approval-handler.runtime.ts +400 -0
- package/src/approval-ids.ts +6 -0
- package/src/approval-native.test.ts +329 -0
- package/src/approval-native.ts +336 -0
- package/src/approval-reactions.test.ts +107 -0
- package/src/approval-reactions.ts +158 -0
- package/src/auth-precedence.ts +61 -0
- package/src/channel-account-paths.ts +92 -0
- package/src/channel.account-paths.test.ts +102 -0
- package/src/channel.directory.test.ts +601 -0
- package/src/channel.resolve.test.ts +38 -0
- package/src/channel.runtime.ts +16 -0
- package/src/channel.setup.test.ts +269 -0
- package/src/channel.ts +570 -0
- package/src/cli-metadata.ts +19 -0
- package/src/cli.test.ts +1015 -0
- package/src/cli.ts +1198 -0
- package/src/config-adapter.ts +41 -0
- package/src/config-schema.test.ts +90 -0
- package/src/config-schema.ts +114 -0
- package/src/directory-live.test.ts +200 -0
- package/src/directory-live.ts +238 -0
- package/src/doctor-contract.ts +287 -0
- package/src/doctor.test.ts +440 -0
- package/src/doctor.ts +262 -0
- package/src/env-vars.ts +92 -0
- package/src/exec-approval-resolver.test.ts +68 -0
- package/src/exec-approval-resolver.ts +23 -0
- package/src/exec-approvals.test.ts +483 -0
- package/src/exec-approvals.ts +290 -0
- package/src/group-mentions.ts +41 -0
- package/src/legacy-crypto-inspector-availability.test.ts +81 -0
- package/src/legacy-crypto-inspector-availability.ts +60 -0
- package/src/legacy-crypto.test.ts +234 -0
- package/src/legacy-crypto.ts +549 -0
- package/src/legacy-state.test.ts +86 -0
- package/src/legacy-state.ts +156 -0
- package/src/matrix/account-config.ts +150 -0
- package/src/matrix/accounts.readiness.test.ts +27 -0
- package/src/matrix/accounts.test.ts +757 -0
- package/src/matrix/accounts.ts +194 -0
- package/src/matrix/actions/client.test.ts +215 -0
- package/src/matrix/actions/client.ts +31 -0
- package/src/matrix/actions/devices.test.ts +114 -0
- package/src/matrix/actions/devices.ts +34 -0
- package/src/matrix/actions/limits.test.ts +15 -0
- package/src/matrix/actions/limits.ts +6 -0
- package/src/matrix/actions/messages.test.ts +289 -0
- package/src/matrix/actions/messages.ts +123 -0
- package/src/matrix/actions/pins.test.ts +74 -0
- package/src/matrix/actions/pins.ts +64 -0
- package/src/matrix/actions/polls.test.ts +71 -0
- package/src/matrix/actions/polls.ts +109 -0
- package/src/matrix/actions/profile.test.ts +109 -0
- package/src/matrix/actions/profile.ts +37 -0
- package/src/matrix/actions/reactions.test.ts +135 -0
- package/src/matrix/actions/reactions.ts +59 -0
- package/src/matrix/actions/room.test.ts +79 -0
- package/src/matrix/actions/room.ts +71 -0
- package/src/matrix/actions/summary.test.ts +87 -0
- package/src/matrix/actions/summary.ts +88 -0
- package/src/matrix/actions/types.ts +82 -0
- package/src/matrix/actions/verification.test.ts +105 -0
- package/src/matrix/actions/verification.ts +237 -0
- package/src/matrix/actions.ts +37 -0
- package/src/matrix/active-client.ts +26 -0
- package/src/matrix/async-lock.ts +18 -0
- package/src/matrix/backup-health.ts +115 -0
- package/src/matrix/client/config-runtime-api.ts +14 -0
- package/src/matrix/client/config-secret-input.runtime.ts +1 -0
- package/src/matrix/client/config.ts +979 -0
- package/src/matrix/client/create-client.test.ts +115 -0
- package/src/matrix/client/create-client.ts +101 -0
- package/src/matrix/client/env-auth.ts +6 -0
- package/src/matrix/client/file-sync-store.test.ts +265 -0
- package/src/matrix/client/file-sync-store.ts +289 -0
- package/src/matrix/client/logging.ts +123 -0
- package/src/matrix/client/migration-snapshot.runtime.ts +1 -0
- package/src/matrix/client/private-network-host.ts +56 -0
- package/src/matrix/client/runtime.ts +4 -0
- package/src/matrix/client/shared.test.ts +344 -0
- package/src/matrix/client/shared.ts +306 -0
- package/src/matrix/client/storage.test.ts +634 -0
- package/src/matrix/client/storage.ts +544 -0
- package/src/matrix/client/types.ts +50 -0
- package/src/matrix/client-bootstrap.test.ts +84 -0
- package/src/matrix/client-bootstrap.ts +164 -0
- package/src/matrix/client-resolver.test-helpers.ts +147 -0
- package/src/matrix/client.test.ts +1521 -0
- package/src/matrix/client.ts +23 -0
- package/src/matrix/config-paths.ts +31 -0
- package/src/matrix/config-update.test.ts +237 -0
- package/src/matrix/config-update.ts +291 -0
- package/src/matrix/credentials-read.ts +206 -0
- package/src/matrix/credentials-write.runtime.ts +26 -0
- package/src/matrix/credentials.test.ts +501 -0
- package/src/matrix/credentials.ts +95 -0
- package/src/matrix/deps.test.ts +74 -0
- package/src/matrix/deps.ts +225 -0
- package/src/matrix/device-health.test.ts +45 -0
- package/src/matrix/device-health.ts +31 -0
- package/src/matrix/direct-management.test.ts +350 -0
- package/src/matrix/direct-management.ts +347 -0
- package/src/matrix/direct-room.test.ts +61 -0
- package/src/matrix/direct-room.ts +128 -0
- package/src/matrix/draft-stream.test.ts +406 -0
- package/src/matrix/draft-stream.ts +216 -0
- package/src/matrix/encryption-guidance.ts +27 -0
- package/src/matrix/errors.ts +21 -0
- package/src/matrix/format.test.ts +340 -0
- package/src/matrix/format.ts +428 -0
- package/src/matrix/legacy-crypto-inspector.ts +95 -0
- package/src/matrix/media-errors.ts +20 -0
- package/src/matrix/media-text.ts +169 -0
- package/src/matrix/monitor/access-state.test.ts +45 -0
- package/src/matrix/monitor/access-state.ts +77 -0
- package/src/matrix/monitor/ack-config.test.ts +57 -0
- package/src/matrix/monitor/ack-config.ts +26 -0
- package/src/matrix/monitor/allowlist.test.ts +45 -0
- package/src/matrix/monitor/allowlist.ts +94 -0
- package/src/matrix/monitor/auto-join.test.ts +203 -0
- package/src/matrix/monitor/auto-join.ts +86 -0
- package/src/matrix/monitor/config.test.ts +197 -0
- package/src/matrix/monitor/config.ts +303 -0
- package/src/matrix/monitor/context-summary.ts +43 -0
- package/src/matrix/monitor/direct.test.ts +529 -0
- package/src/matrix/monitor/direct.ts +270 -0
- package/src/matrix/monitor/events.test.ts +1524 -0
- package/src/matrix/monitor/events.ts +213 -0
- package/src/matrix/monitor/handler.body-for-agent.test.ts +396 -0
- package/src/matrix/monitor/handler.group-history.test.ts +648 -0
- package/src/matrix/monitor/handler.media-failure.test.ts +267 -0
- package/src/matrix/monitor/handler.test-helpers.ts +308 -0
- package/src/matrix/monitor/handler.test.ts +2952 -0
- package/src/matrix/monitor/handler.thread-root-media.test.ts +82 -0
- package/src/matrix/monitor/handler.ts +1679 -0
- package/src/matrix/monitor/inbound-dedupe.test.ts +146 -0
- package/src/matrix/monitor/inbound-dedupe.ts +267 -0
- package/src/matrix/monitor/index.test.ts +920 -0
- package/src/matrix/monitor/index.ts +434 -0
- package/src/matrix/monitor/legacy-crypto-restore.test.ts +206 -0
- package/src/matrix/monitor/legacy-crypto-restore.ts +139 -0
- package/src/matrix/monitor/location.ts +100 -0
- package/src/matrix/monitor/media.test.ts +159 -0
- package/src/matrix/monitor/media.ts +119 -0
- package/src/matrix/monitor/mentions.test.ts +289 -0
- package/src/matrix/monitor/mentions.ts +177 -0
- package/src/matrix/monitor/reaction-events.test.ts +326 -0
- package/src/matrix/monitor/reaction-events.ts +187 -0
- package/src/matrix/monitor/recent-invite.test.ts +92 -0
- package/src/matrix/monitor/recent-invite.ts +30 -0
- package/src/matrix/monitor/replies.test.ts +265 -0
- package/src/matrix/monitor/replies.ts +136 -0
- package/src/matrix/monitor/reply-context.test.ts +276 -0
- package/src/matrix/monitor/reply-context.ts +92 -0
- package/src/matrix/monitor/room-history.test.ts +258 -0
- package/src/matrix/monitor/room-history.ts +301 -0
- package/src/matrix/monitor/room-info.test.ts +201 -0
- package/src/matrix/monitor/room-info.ts +126 -0
- package/src/matrix/monitor/rooms.test.ts +121 -0
- package/src/matrix/monitor/rooms.ts +52 -0
- package/src/matrix/monitor/route.test.ts +255 -0
- package/src/matrix/monitor/route.ts +178 -0
- package/src/matrix/monitor/runtime-api.ts +31 -0
- package/src/matrix/monitor/startup-verification.test.ts +294 -0
- package/src/matrix/monitor/startup-verification.ts +237 -0
- package/src/matrix/monitor/startup.test.ts +257 -0
- package/src/matrix/monitor/startup.ts +218 -0
- package/src/matrix/monitor/status.ts +111 -0
- package/src/matrix/monitor/sync-lifecycle.test.ts +224 -0
- package/src/matrix/monitor/sync-lifecycle.ts +91 -0
- package/src/matrix/monitor/task-runner.ts +38 -0
- package/src/matrix/monitor/thread-context.test.ts +149 -0
- package/src/matrix/monitor/thread-context.ts +108 -0
- package/src/matrix/monitor/threads.test.ts +68 -0
- package/src/matrix/monitor/threads.ts +85 -0
- package/src/matrix/monitor/types.ts +30 -0
- package/src/matrix/monitor/verification-events.ts +627 -0
- package/src/matrix/monitor/verification-utils.test.ts +47 -0
- package/src/matrix/monitor/verification-utils.ts +46 -0
- package/src/matrix/outbound-media-runtime.ts +1 -0
- package/src/matrix/poll-summary.ts +110 -0
- package/src/matrix/poll-types.test.ts +205 -0
- package/src/matrix/poll-types.ts +433 -0
- package/src/matrix/probe.runtime.ts +4 -0
- package/src/matrix/probe.test.ts +154 -0
- package/src/matrix/probe.ts +96 -0
- package/src/matrix/profile.test.ts +154 -0
- package/src/matrix/profile.ts +184 -0
- package/src/matrix/reaction-common.test.ts +96 -0
- package/src/matrix/reaction-common.ts +147 -0
- package/src/matrix/sdk/crypto-bootstrap.test.ts +505 -0
- package/src/matrix/sdk/crypto-bootstrap.ts +341 -0
- package/src/matrix/sdk/crypto-facade.test.ts +197 -0
- package/src/matrix/sdk/crypto-facade.ts +207 -0
- package/src/matrix/sdk/crypto-node.runtime.test.ts +27 -0
- package/src/matrix/sdk/crypto-node.runtime.ts +9 -0
- package/src/matrix/sdk/crypto-runtime.ts +11 -0
- package/src/matrix/sdk/decrypt-bridge.ts +356 -0
- package/src/matrix/sdk/event-helpers.test.ts +60 -0
- package/src/matrix/sdk/event-helpers.ts +71 -0
- package/src/matrix/sdk/http-client.test.ts +134 -0
- package/src/matrix/sdk/http-client.ts +87 -0
- package/src/matrix/sdk/idb-persistence-lock.ts +51 -0
- package/src/matrix/sdk/idb-persistence.lock-order.test.ts +108 -0
- package/src/matrix/sdk/idb-persistence.test-helpers.ts +88 -0
- package/src/matrix/sdk/idb-persistence.test.ts +149 -0
- package/src/matrix/sdk/idb-persistence.ts +283 -0
- package/src/matrix/sdk/logger.test.ts +25 -0
- package/src/matrix/sdk/logger.ts +108 -0
- package/src/matrix/sdk/read-response-with-limit.ts +19 -0
- package/src/matrix/sdk/recovery-key-store.test.ts +385 -0
- package/src/matrix/sdk/recovery-key-store.ts +430 -0
- package/src/matrix/sdk/transport.test.ts +161 -0
- package/src/matrix/sdk/transport.ts +344 -0
- package/src/matrix/sdk/types.ts +236 -0
- package/src/matrix/sdk/verification-manager.test.ts +509 -0
- package/src/matrix/sdk/verification-manager.ts +694 -0
- package/src/matrix/sdk/verification-status.ts +23 -0
- package/src/matrix/sdk.test.ts +2568 -0
- package/src/matrix/sdk.ts +1789 -0
- package/src/matrix/send/client.test.ts +174 -0
- package/src/matrix/send/client.ts +90 -0
- package/src/matrix/send/formatting.ts +189 -0
- package/src/matrix/send/media.ts +244 -0
- package/src/matrix/send/targets.test.ts +254 -0
- package/src/matrix/send/targets.ts +104 -0
- package/src/matrix/send/types.ts +134 -0
- package/src/matrix/send.test.ts +958 -0
- package/src/matrix/send.ts +609 -0
- package/src/matrix/session-store-metadata.ts +108 -0
- package/src/matrix/startup-abort.ts +44 -0
- package/src/matrix/sync-state.ts +27 -0
- package/src/matrix/target-ids.ts +102 -0
- package/src/matrix/thread-bindings-shared.ts +201 -0
- package/src/matrix/thread-bindings.test.ts +673 -0
- package/src/matrix/thread-bindings.ts +577 -0
- package/src/matrix-migration.runtime.ts +9 -0
- package/src/migration-config.test.ts +228 -0
- package/src/migration-config.ts +243 -0
- package/src/migration-snapshot-backup.ts +117 -0
- package/src/migration-snapshot.test.ts +184 -0
- package/src/migration-snapshot.ts +55 -0
- package/src/onboarding.resolve.test.ts +55 -0
- package/src/onboarding.test-harness.ts +158 -0
- package/src/onboarding.test.ts +665 -0
- package/src/onboarding.ts +773 -0
- package/src/outbound.test.ts +173 -0
- package/src/outbound.ts +78 -0
- package/src/plugin-entry.runtime.js +159 -0
- package/src/plugin-entry.runtime.test.ts +108 -0
- package/src/plugin-entry.runtime.ts +68 -0
- package/src/profile-update.ts +68 -0
- package/src/record-shared.ts +3 -0
- package/src/resolve-targets.test.ts +178 -0
- package/src/resolve-targets.ts +175 -0
- package/src/resolver.ts +21 -0
- package/src/runtime-api.ts +144 -0
- package/src/runtime.ts +7 -0
- package/src/secret-contract.ts +174 -0
- package/src/session-route.test.ts +315 -0
- package/src/session-route.ts +113 -0
- package/src/setup-bootstrap.ts +94 -0
- package/src/setup-config.ts +222 -0
- package/src/setup-contract.ts +89 -0
- package/src/setup-core.test.ts +326 -0
- package/src/setup-core.ts +50 -0
- package/src/setup-surface.ts +4 -0
- package/src/startup-maintenance.test.ts +227 -0
- package/src/startup-maintenance.ts +114 -0
- package/src/storage-paths.ts +92 -0
- package/src/test-helpers.ts +42 -0
- package/src/test-mocks.ts +55 -0
- package/src/test-runtime.ts +72 -0
- package/src/test-support/monitor-route-test-support.ts +8 -0
- package/src/tool-actions.runtime.ts +1 -0
- package/src/tool-actions.test.ts +422 -0
- package/src/tool-actions.ts +498 -0
- package/src/types.ts +230 -0
- package/test-api.ts +2 -0
- package/thread-bindings-runtime.ts +4 -0
- package/tsconfig.json +16 -0
- package/LICENSE +0 -17
- package/README.md +0 -136
- package/dist/APEv2Parser-6EMKXRZS.js +0 -15
- package/dist/APEv2Parser-6EMKXRZS.js.map +0 -7
- package/dist/AiffParser-E6XWRTXM.js +0 -194
- package/dist/AiffParser-E6XWRTXM.js.map +0 -7
- package/dist/AsfParser-WSOH2JQY.js +0 -620
- package/dist/AsfParser-WSOH2JQY.js.map +0 -7
- package/dist/DsdiffParser-EUWJ4YAR.js +0 -192
- package/dist/DsdiffParser-EUWJ4YAR.js.map +0 -7
- package/dist/DsfParser-R6TPBJIY.js +0 -114
- package/dist/DsfParser-R6TPBJIY.js.map +0 -7
- package/dist/FlacParser-VDASGZ3E.js +0 -16
- package/dist/FlacParser-VDASGZ3E.js.map +0 -7
- package/dist/MP4Parser-64RGJLUM.js +0 -1145
- package/dist/MP4Parser-64RGJLUM.js.map +0 -7
- package/dist/MatroskaParser-O6RXAKYA.js +0 -662
- package/dist/MatroskaParser-O6RXAKYA.js.map +0 -7
- package/dist/MpegParser-B6NX6DS3.js +0 -652
- package/dist/MpegParser-B6NX6DS3.js.map +0 -7
- package/dist/MusepackParser-WUBT63DS.js +0 -331
- package/dist/MusepackParser-WUBT63DS.js.map +0 -7
- package/dist/OggParser-ZY6E5C2P.js +0 -448
- package/dist/OggParser-ZY6E5C2P.js.map +0 -7
- package/dist/WavPackParser-5KTCSQEU.js +0 -209
- package/dist/WavPackParser-5KTCSQEU.js.map +0 -7
- package/dist/WaveParser-RZSHVQPZ.js +0 -300
- package/dist/WaveParser-RZSHVQPZ.js.map +0 -7
- package/dist/auth-presence.js +0 -46
- package/dist/auth-presence.js.map +0 -7
- package/dist/channel-plugin-api.js +0 -79
- package/dist/channel-plugin-api.js.map +0 -7
- package/dist/chunk-22WAAZ6I.js +0 -114
- package/dist/chunk-22WAAZ6I.js.map +0 -7
- package/dist/chunk-2A6HEFSO.js +0 -676
- package/dist/chunk-2A6HEFSO.js.map +0 -7
- package/dist/chunk-2KGHUHKU.js +0 -169
- package/dist/chunk-2KGHUHKU.js.map +0 -7
- package/dist/chunk-2NEQI4K6.js +0 -171
- package/dist/chunk-2NEQI4K6.js.map +0 -7
- package/dist/chunk-2OSJ3MTW.js +0 -175
- package/dist/chunk-2OSJ3MTW.js.map +0 -7
- package/dist/chunk-2Q626TDO.js +0 -27
- package/dist/chunk-2Q626TDO.js.map +0 -7
- package/dist/chunk-2U6OZ7N2.js +0 -155
- package/dist/chunk-2U6OZ7N2.js.map +0 -7
- package/dist/chunk-2Z4IOUDZ.js +0 -129
- package/dist/chunk-2Z4IOUDZ.js.map +0 -7
- package/dist/chunk-2ZEPAW7U.js +0 -154
- package/dist/chunk-2ZEPAW7U.js.map +0 -7
- package/dist/chunk-2ZI6JK5O.js +0 -63
- package/dist/chunk-2ZI6JK5O.js.map +0 -7
- package/dist/chunk-34UY6D6X.js +0 -36
- package/dist/chunk-34UY6D6X.js.map +0 -7
- package/dist/chunk-3JD6JSJD.js +0 -111
- package/dist/chunk-3JD6JSJD.js.map +0 -7
- package/dist/chunk-3TOEIHG5.js +0 -314
- package/dist/chunk-3TOEIHG5.js.map +0 -7
- package/dist/chunk-3TRKKAVT.js +0 -130
- package/dist/chunk-3TRKKAVT.js.map +0 -7
- package/dist/chunk-3UFTTK7C.js +0 -418
- package/dist/chunk-3UFTTK7C.js.map +0 -7
- package/dist/chunk-3XO6AAIC.js +0 -25
- package/dist/chunk-3XO6AAIC.js.map +0 -7
- package/dist/chunk-427SAQME.js +0 -321
- package/dist/chunk-427SAQME.js.map +0 -7
- package/dist/chunk-4JVNTZAI.js +0 -80
- package/dist/chunk-4JVNTZAI.js.map +0 -7
- package/dist/chunk-4O3BEYYM.js +0 -187
- package/dist/chunk-4O3BEYYM.js.map +0 -7
- package/dist/chunk-4Z2N4GW6.js +0 -247
- package/dist/chunk-4Z2N4GW6.js.map +0 -7
- package/dist/chunk-56HN4SH6.js +0 -46
- package/dist/chunk-56HN4SH6.js.map +0 -7
- package/dist/chunk-5APBBTGW.js +0 -7
- package/dist/chunk-5APBBTGW.js.map +0 -7
- package/dist/chunk-5LNGMBWW.js +0 -93
- package/dist/chunk-5LNGMBWW.js.map +0 -7
- package/dist/chunk-5XFQSYZ4.js +0 -52
- package/dist/chunk-5XFQSYZ4.js.map +0 -7
- package/dist/chunk-62N5N4AC.js +0 -241
- package/dist/chunk-62N5N4AC.js.map +0 -7
- package/dist/chunk-6HX3DEXK.js +0 -178
- package/dist/chunk-6HX3DEXK.js.map +0 -7
- package/dist/chunk-6NO5VEVV.js +0 -18
- package/dist/chunk-6NO5VEVV.js.map +0 -7
- package/dist/chunk-6PZGDVLR.js +0 -465
- package/dist/chunk-6PZGDVLR.js.map +0 -7
- package/dist/chunk-6SOGH3TW.js +0 -163
- package/dist/chunk-6SOGH3TW.js.map +0 -7
- package/dist/chunk-72TGY3LX.js +0 -104
- package/dist/chunk-72TGY3LX.js.map +0 -7
- package/dist/chunk-76IE55K7.js +0 -392
- package/dist/chunk-76IE55K7.js.map +0 -7
- package/dist/chunk-7F3242AO.js +0 -86
- package/dist/chunk-7F3242AO.js.map +0 -7
- package/dist/chunk-7FLQSTPG.js +0 -57
- package/dist/chunk-7FLQSTPG.js.map +0 -7
- package/dist/chunk-7MP46JBP.js +0 -177
- package/dist/chunk-7MP46JBP.js.map +0 -7
- package/dist/chunk-7MVZYR2T.js +0 -87
- package/dist/chunk-7MVZYR2T.js.map +0 -7
- package/dist/chunk-7N7ISMPG.js +0 -50
- package/dist/chunk-7N7ISMPG.js.map +0 -7
- package/dist/chunk-7S7LQQPX.js +0 -127
- package/dist/chunk-7S7LQQPX.js.map +0 -7
- package/dist/chunk-7TTNY5FK.js +0 -21
- package/dist/chunk-7TTNY5FK.js.map +0 -7
- package/dist/chunk-7W73QCTR.js +0 -244
- package/dist/chunk-7W73QCTR.js.map +0 -7
- package/dist/chunk-7XXLU33Y.js +0 -76
- package/dist/chunk-7XXLU33Y.js.map +0 -7
- package/dist/chunk-AAO7BQEV.js +0 -258
- package/dist/chunk-AAO7BQEV.js.map +0 -7
- package/dist/chunk-AH4MLRYT.js +0 -91
- package/dist/chunk-AH4MLRYT.js.map +0 -7
- package/dist/chunk-AHKR32FH.js +0 -7
- package/dist/chunk-AHKR32FH.js.map +0 -7
- package/dist/chunk-ALKRFDAW.js +0 -94
- package/dist/chunk-ALKRFDAW.js.map +0 -7
- package/dist/chunk-AQQGAE7N.js +0 -12
- package/dist/chunk-AQQGAE7N.js.map +0 -7
- package/dist/chunk-AWW3YUGJ.js +0 -193
- package/dist/chunk-AWW3YUGJ.js.map +0 -7
- package/dist/chunk-AX7VEEWJ.js +0 -158
- package/dist/chunk-AX7VEEWJ.js.map +0 -7
- package/dist/chunk-BAX7Q6GR.js +0 -55
- package/dist/chunk-BAX7Q6GR.js.map +0 -7
- package/dist/chunk-BBM6BR3Z.js +0 -28
- package/dist/chunk-BBM6BR3Z.js.map +0 -7
- package/dist/chunk-BHXZMHSX.js +0 -109
- package/dist/chunk-BHXZMHSX.js.map +0 -7
- package/dist/chunk-BIUXDLVY.js +0 -62
- package/dist/chunk-BIUXDLVY.js.map +0 -7
- package/dist/chunk-BMFZL2P4.js +0 -97
- package/dist/chunk-BMFZL2P4.js.map +0 -7
- package/dist/chunk-BQXEXK4H.js +0 -114
- package/dist/chunk-BQXEXK4H.js.map +0 -7
- package/dist/chunk-BU2CTWBG.js +0 -30
- package/dist/chunk-BU2CTWBG.js.map +0 -7
- package/dist/chunk-BVKSCLF7.js +0 -195
- package/dist/chunk-BVKSCLF7.js.map +0 -7
- package/dist/chunk-BWA3D22L.js +0 -88
- package/dist/chunk-BWA3D22L.js.map +0 -7
- package/dist/chunk-CE24RSPL.js +0 -506
- package/dist/chunk-CE24RSPL.js.map +0 -7
- package/dist/chunk-CETZGSCP.js +0 -71
- package/dist/chunk-CETZGSCP.js.map +0 -7
- package/dist/chunk-CGBWMONK.js +0 -412
- package/dist/chunk-CGBWMONK.js.map +0 -7
- package/dist/chunk-CPNIXMGX.js +0 -127
- package/dist/chunk-CPNIXMGX.js.map +0 -7
- package/dist/chunk-CSJO73LD.js +0 -84
- package/dist/chunk-CSJO73LD.js.map +0 -7
- package/dist/chunk-CTKBDSL6.js +0 -81
- package/dist/chunk-CTKBDSL6.js.map +0 -7
- package/dist/chunk-CY6WHUCW.js +0 -54
- package/dist/chunk-CY6WHUCW.js.map +0 -7
- package/dist/chunk-D7Q6Z74D.js +0 -123
- package/dist/chunk-D7Q6Z74D.js.map +0 -7
- package/dist/chunk-DZIM4OWK.js +0 -17
- package/dist/chunk-DZIM4OWK.js.map +0 -7
- package/dist/chunk-E3GC4V5V.js +0 -30
- package/dist/chunk-E3GC4V5V.js.map +0 -7
- package/dist/chunk-E5HPDHCW.js +0 -34
- package/dist/chunk-E5HPDHCW.js.map +0 -7
- package/dist/chunk-E75BJJZ2.js +0 -635
- package/dist/chunk-E75BJJZ2.js.map +0 -7
- package/dist/chunk-EE4DHUUZ.js +0 -472
- package/dist/chunk-EE4DHUUZ.js.map +0 -7
- package/dist/chunk-EHELTAAD.js +0 -198
- package/dist/chunk-EHELTAAD.js.map +0 -7
- package/dist/chunk-EKXPSI7Z.js +0 -135
- package/dist/chunk-EKXPSI7Z.js.map +0 -7
- package/dist/chunk-ERCH75SH.js +0 -292
- package/dist/chunk-ERCH75SH.js.map +0 -7
- package/dist/chunk-EVFWZGFL.js +0 -235
- package/dist/chunk-EVFWZGFL.js.map +0 -7
- package/dist/chunk-EVPBRKMZ.js +0 -45
- package/dist/chunk-EVPBRKMZ.js.map +0 -7
- package/dist/chunk-F6AFJHWV.js +0 -45
- package/dist/chunk-F6AFJHWV.js.map +0 -7
- package/dist/chunk-FG4NVFKM.js +0 -455
- package/dist/chunk-FG4NVFKM.js.map +0 -7
- package/dist/chunk-FHNEN6IR.js +0 -14
- package/dist/chunk-FHNEN6IR.js.map +0 -7
- package/dist/chunk-FQ4R7IOX.js +0 -32
- package/dist/chunk-FQ4R7IOX.js.map +0 -7
- package/dist/chunk-FQPYAPJJ.js +0 -124
- package/dist/chunk-FQPYAPJJ.js.map +0 -7
- package/dist/chunk-FQTLJO4W.js +0 -335
- package/dist/chunk-FQTLJO4W.js.map +0 -7
- package/dist/chunk-FVLJSB2W.js +0 -124
- package/dist/chunk-FVLJSB2W.js.map +0 -7
- package/dist/chunk-FYRKBNTI.js +0 -18
- package/dist/chunk-FYRKBNTI.js.map +0 -7
- package/dist/chunk-GD6L3SLC.js +0 -30
- package/dist/chunk-GD6L3SLC.js.map +0 -7
- package/dist/chunk-GI2ZANRY.js +0 -24
- package/dist/chunk-GI2ZANRY.js.map +0 -7
- package/dist/chunk-GK3XVKXT.js +0 -737
- package/dist/chunk-GK3XVKXT.js.map +0 -7
- package/dist/chunk-GKOWCDQV.js +0 -699
- package/dist/chunk-GKOWCDQV.js.map +0 -7
- package/dist/chunk-GLLRCKKE.js +0 -26
- package/dist/chunk-GLLRCKKE.js.map +0 -7
- package/dist/chunk-GNYG6I36.js +0 -175
- package/dist/chunk-GNYG6I36.js.map +0 -7
- package/dist/chunk-GVYGUH2V.js +0 -7
- package/dist/chunk-GVYGUH2V.js.map +0 -7
- package/dist/chunk-GZAGAWSU.js +0 -28
- package/dist/chunk-GZAGAWSU.js.map +0 -7
- package/dist/chunk-H23E72SB.js +0 -163
- package/dist/chunk-H23E72SB.js.map +0 -7
- package/dist/chunk-H6YVV7GE.js +0 -22
- package/dist/chunk-H6YVV7GE.js.map +0 -7
- package/dist/chunk-HDPICD3P.js +0 -4890
- package/dist/chunk-HDPICD3P.js.map +0 -7
- package/dist/chunk-HP5HMWOM.js +0 -123
- package/dist/chunk-HP5HMWOM.js.map +0 -7
- package/dist/chunk-HQSHS6IB.js +0 -88
- package/dist/chunk-HQSHS6IB.js.map +0 -7
- package/dist/chunk-HTV3R73W.js +0 -51
- package/dist/chunk-HTV3R73W.js.map +0 -7
- package/dist/chunk-IJCMYMZB.js +0 -239
- package/dist/chunk-IJCMYMZB.js.map +0 -7
- package/dist/chunk-INNENDEE.js +0 -472
- package/dist/chunk-INNENDEE.js.map +0 -7
- package/dist/chunk-IOTLSMEQ.js +0 -177
- package/dist/chunk-IOTLSMEQ.js.map +0 -7
- package/dist/chunk-IQYYEHSM.js +0 -300
- package/dist/chunk-IQYYEHSM.js.map +0 -7
- package/dist/chunk-IRA5NJ4Q.js +0 -21
- package/dist/chunk-IRA5NJ4Q.js.map +0 -7
- package/dist/chunk-IU7EXXK7.js +0 -1662
- package/dist/chunk-IU7EXXK7.js.map +0 -7
- package/dist/chunk-IUXAKDAY.js +0 -102
- package/dist/chunk-IUXAKDAY.js.map +0 -7
- package/dist/chunk-JMYIFYY5.js +0 -233
- package/dist/chunk-JMYIFYY5.js.map +0 -7
- package/dist/chunk-JSZBX2TA.js +0 -5853
- package/dist/chunk-JSZBX2TA.js.map +0 -7
- package/dist/chunk-KHFWQ334.js +0 -138
- package/dist/chunk-KHFWQ334.js.map +0 -7
- package/dist/chunk-KJW6JLM6.js +0 -95
- package/dist/chunk-KJW6JLM6.js.map +0 -7
- package/dist/chunk-KSEANSJE.js +0 -40
- package/dist/chunk-KSEANSJE.js.map +0 -7
- package/dist/chunk-KVU54E6W.js +0 -63
- package/dist/chunk-KVU54E6W.js.map +0 -7
- package/dist/chunk-L5OUVMHK.js +0 -174
- package/dist/chunk-L5OUVMHK.js.map +0 -7
- package/dist/chunk-LIVQ7GIO.js +0 -86
- package/dist/chunk-LIVQ7GIO.js.map +0 -7
- package/dist/chunk-LO4F6E3N.js +0 -163
- package/dist/chunk-LO4F6E3N.js.map +0 -7
- package/dist/chunk-LSVKDUNM.js +0 -151
- package/dist/chunk-LSVKDUNM.js.map +0 -7
- package/dist/chunk-LVMK2GPM.js +0 -18
- package/dist/chunk-LVMK2GPM.js.map +0 -7
- package/dist/chunk-LXVPETLK.js +0 -1405
- package/dist/chunk-LXVPETLK.js.map +0 -7
- package/dist/chunk-LZNW24OB.js +0 -78
- package/dist/chunk-LZNW24OB.js.map +0 -7
- package/dist/chunk-MAF6PSCJ.js +0 -44
- package/dist/chunk-MAF6PSCJ.js.map +0 -7
- package/dist/chunk-MBIX6Z7U.js +0 -80
- package/dist/chunk-MBIX6Z7U.js.map +0 -7
- package/dist/chunk-MDLLXMC3.js +0 -183
- package/dist/chunk-MDLLXMC3.js.map +0 -7
- package/dist/chunk-MEI5HTWV.js +0 -127
- package/dist/chunk-MEI5HTWV.js.map +0 -7
- package/dist/chunk-MH74AJ3A.js +0 -82
- package/dist/chunk-MH74AJ3A.js.map +0 -7
- package/dist/chunk-MIFIM4PI.js +0 -163
- package/dist/chunk-MIFIM4PI.js.map +0 -7
- package/dist/chunk-MISZB5QJ.js +0 -22
- package/dist/chunk-MISZB5QJ.js.map +0 -7
- package/dist/chunk-MJ27XQYG.js +0 -125
- package/dist/chunk-MJ27XQYG.js.map +0 -7
- package/dist/chunk-MLQY5SKR.js +0 -52
- package/dist/chunk-MLQY5SKR.js.map +0 -7
- package/dist/chunk-MTMHGC3G.js +0 -39
- package/dist/chunk-MTMHGC3G.js.map +0 -7
- package/dist/chunk-MWBAW3YV.js +0 -244
- package/dist/chunk-MWBAW3YV.js.map +0 -7
- package/dist/chunk-MZGGB2YT.js +0 -50
- package/dist/chunk-MZGGB2YT.js.map +0 -7
- package/dist/chunk-N5SNGZJV.js +0 -217
- package/dist/chunk-N5SNGZJV.js.map +0 -7
- package/dist/chunk-NGCTBYQ3.js +0 -181
- package/dist/chunk-NGCTBYQ3.js.map +0 -7
- package/dist/chunk-NMUX7SGU.js +0 -676
- package/dist/chunk-NMUX7SGU.js.map +0 -7
- package/dist/chunk-NO7GMLNU.js +0 -292
- package/dist/chunk-NO7GMLNU.js.map +0 -7
- package/dist/chunk-NTOGVX2Y.js +0 -92
- package/dist/chunk-NTOGVX2Y.js.map +0 -7
- package/dist/chunk-O5IVKDX7.js +0 -30
- package/dist/chunk-O5IVKDX7.js.map +0 -7
- package/dist/chunk-OFWMLQMU.js +0 -7287
- package/dist/chunk-OFWMLQMU.js.map +0 -7
- package/dist/chunk-OJ3ZUKBI.js +0 -73
- package/dist/chunk-OJ3ZUKBI.js.map +0 -7
- package/dist/chunk-OJTHE4B7.js +0 -50
- package/dist/chunk-OJTHE4B7.js.map +0 -7
- package/dist/chunk-OOYPYBTA.js +0 -446
- package/dist/chunk-OOYPYBTA.js.map +0 -7
- package/dist/chunk-OQP4W4AR.js +0 -105
- package/dist/chunk-OQP4W4AR.js.map +0 -7
- package/dist/chunk-OVTT2EKA.js +0 -516
- package/dist/chunk-OVTT2EKA.js.map +0 -7
- package/dist/chunk-P5N63LBS.js +0 -94
- package/dist/chunk-P5N63LBS.js.map +0 -7
- package/dist/chunk-PARITZ7F.js +0 -28
- package/dist/chunk-PARITZ7F.js.map +0 -7
- package/dist/chunk-PBQK4KY4.js +0 -195
- package/dist/chunk-PBQK4KY4.js.map +0 -7
- package/dist/chunk-PSL2AHIA.js +0 -27
- package/dist/chunk-PSL2AHIA.js.map +0 -7
- package/dist/chunk-Q5QT7JBM.js +0 -92
- package/dist/chunk-Q5QT7JBM.js.map +0 -7
- package/dist/chunk-Q7WA5DCR.js +0 -62
- package/dist/chunk-Q7WA5DCR.js.map +0 -7
- package/dist/chunk-QATEENP2.js +0 -7
- package/dist/chunk-QATEENP2.js.map +0 -7
- package/dist/chunk-QDT24CIA.js +0 -485
- package/dist/chunk-QDT24CIA.js.map +0 -7
- package/dist/chunk-QI3NB7D5.js +0 -455
- package/dist/chunk-QI3NB7D5.js.map +0 -7
- package/dist/chunk-QIDAVXSX.js +0 -106
- package/dist/chunk-QIDAVXSX.js.map +0 -7
- package/dist/chunk-QKIGQVP2.js +0 -104
- package/dist/chunk-QKIGQVP2.js.map +0 -7
- package/dist/chunk-QNJENPK2.js +0 -81
- package/dist/chunk-QNJENPK2.js.map +0 -7
- package/dist/chunk-REVXXWAS.js +0 -31
- package/dist/chunk-REVXXWAS.js.map +0 -7
- package/dist/chunk-RFH4HRZP.js +0 -94
- package/dist/chunk-RFH4HRZP.js.map +0 -7
- package/dist/chunk-RNGAGYCL.js +0 -49
- package/dist/chunk-RNGAGYCL.js.map +0 -7
- package/dist/chunk-RPCVN3JA.js +0 -261
- package/dist/chunk-RPCVN3JA.js.map +0 -7
- package/dist/chunk-RQQE5DDT.js +0 -193
- package/dist/chunk-RQQE5DDT.js.map +0 -7
- package/dist/chunk-RVOD3ESA.js +0 -38
- package/dist/chunk-RVOD3ESA.js.map +0 -7
- package/dist/chunk-SAOUP24A.js +0 -70
- package/dist/chunk-SAOUP24A.js.map +0 -7
- package/dist/chunk-SFZL2TCV.js +0 -55
- package/dist/chunk-SFZL2TCV.js.map +0 -7
- package/dist/chunk-SJPFUXBV.js +0 -45
- package/dist/chunk-SJPFUXBV.js.map +0 -7
- package/dist/chunk-SLIUQWAR.js +0 -58
- package/dist/chunk-SLIUQWAR.js.map +0 -7
- package/dist/chunk-SSEX66OL.js +0 -39
- package/dist/chunk-SSEX66OL.js.map +0 -7
- package/dist/chunk-SX2LOHOX.js +0 -251
- package/dist/chunk-SX2LOHOX.js.map +0 -7
- package/dist/chunk-T72EMFTX.js +0 -74
- package/dist/chunk-T72EMFTX.js.map +0 -7
- package/dist/chunk-TA2QJPPG.js +0 -169
- package/dist/chunk-TA2QJPPG.js.map +0 -7
- package/dist/chunk-TFEETDNY.js +0 -78
- package/dist/chunk-TFEETDNY.js.map +0 -7
- package/dist/chunk-THM2QV25.js +0 -108
- package/dist/chunk-THM2QV25.js.map +0 -7
- package/dist/chunk-TRWT2N6Z.js +0 -15
- package/dist/chunk-TRWT2N6Z.js.map +0 -7
- package/dist/chunk-TTXEM54Y.js +0 -76
- package/dist/chunk-TTXEM54Y.js.map +0 -7
- package/dist/chunk-U4LVIY5F.js +0 -1405
- package/dist/chunk-U4LVIY5F.js.map +0 -7
- package/dist/chunk-U767LCSG.js +0 -78
- package/dist/chunk-U767LCSG.js.map +0 -7
- package/dist/chunk-U7GKLHU6.js +0 -120
- package/dist/chunk-U7GKLHU6.js.map +0 -7
- package/dist/chunk-UAB5P5QO.js +0 -60
- package/dist/chunk-UAB5P5QO.js.map +0 -7
- package/dist/chunk-UEHPJQBL.js +0 -38
- package/dist/chunk-UEHPJQBL.js.map +0 -7
- package/dist/chunk-UIBV6IGR.js +0 -31
- package/dist/chunk-UIBV6IGR.js.map +0 -7
- package/dist/chunk-UIYFRUET.js +0 -16352
- package/dist/chunk-UIYFRUET.js.map +0 -7
- package/dist/chunk-UJS3TIVS.js +0 -52
- package/dist/chunk-UJS3TIVS.js.map +0 -7
- package/dist/chunk-UU5PSBSI.js +0 -176
- package/dist/chunk-UU5PSBSI.js.map +0 -7
- package/dist/chunk-UV63XYFU.js +0 -173
- package/dist/chunk-UV63XYFU.js.map +0 -7
- package/dist/chunk-UWPHOAOC.js +0 -29
- package/dist/chunk-UWPHOAOC.js.map +0 -7
- package/dist/chunk-UXDDOSJC.js +0 -52
- package/dist/chunk-UXDDOSJC.js.map +0 -7
- package/dist/chunk-V3VAOMCO.js +0 -465
- package/dist/chunk-V3VAOMCO.js.map +0 -7
- package/dist/chunk-VA7ENH2S.js +0 -38
- package/dist/chunk-VA7ENH2S.js.map +0 -7
- package/dist/chunk-VFPDFLVE.js +0 -516
- package/dist/chunk-VFPDFLVE.js.map +0 -7
- package/dist/chunk-VHG4FNIJ.js +0 -93
- package/dist/chunk-VHG4FNIJ.js.map +0 -7
- package/dist/chunk-VKOO6MIZ.js +0 -51
- package/dist/chunk-VKOO6MIZ.js.map +0 -7
- package/dist/chunk-VKXKRZG7.js +0 -62
- package/dist/chunk-VKXKRZG7.js.map +0 -7
- package/dist/chunk-VUOLPEUZ.js +0 -7
- package/dist/chunk-VUOLPEUZ.js.map +0 -7
- package/dist/chunk-W6SOBS7M.js +0 -138
- package/dist/chunk-W6SOBS7M.js.map +0 -7
- package/dist/chunk-WDOKKRTE.js +0 -7
- package/dist/chunk-WDOKKRTE.js.map +0 -7
- package/dist/chunk-WGXXKFN5.js +0 -7
- package/dist/chunk-WGXXKFN5.js.map +0 -7
- package/dist/chunk-WHPUUP3J.js +0 -25
- package/dist/chunk-WHPUUP3J.js.map +0 -7
- package/dist/chunk-XF7LD6VV.js +0 -122
- package/dist/chunk-XF7LD6VV.js.map +0 -7
- package/dist/chunk-XFTXM3RE.js +0 -64
- package/dist/chunk-XFTXM3RE.js.map +0 -7
- package/dist/chunk-XJABPO2T.js +0 -235
- package/dist/chunk-XJABPO2T.js.map +0 -7
- package/dist/chunk-XK6VF3H7.js +0 -3586
- package/dist/chunk-XK6VF3H7.js.map +0 -7
- package/dist/chunk-XQYIIPOJ.js +0 -266
- package/dist/chunk-XQYIIPOJ.js.map +0 -7
- package/dist/chunk-XZSAN55E.js +0 -58
- package/dist/chunk-XZSAN55E.js.map +0 -7
- package/dist/chunk-Y3KJR4OG.js +0 -64
- package/dist/chunk-Y3KJR4OG.js.map +0 -7
- package/dist/chunk-Y4JKH7FF.js +0 -45
- package/dist/chunk-Y4JKH7FF.js.map +0 -7
- package/dist/chunk-Y6CJN4ID.js +0 -31
- package/dist/chunk-Y6CJN4ID.js.map +0 -7
- package/dist/chunk-YABGJU5M.js +0 -271
- package/dist/chunk-YABGJU5M.js.map +0 -7
- package/dist/chunk-YEJH7ZC2.js +0 -34
- package/dist/chunk-YEJH7ZC2.js.map +0 -7
- package/dist/chunk-YFTE4H54.js +0 -44117
- package/dist/chunk-YFTE4H54.js.map +0 -7
- package/dist/chunk-YNJYMD43.js +0 -392
- package/dist/chunk-YNJYMD43.js.map +0 -7
- package/dist/chunk-YNYEQGVN.js +0 -251
- package/dist/chunk-YNYEQGVN.js.map +0 -7
- package/dist/chunk-YUPBD27Z.js +0 -70
- package/dist/chunk-YUPBD27Z.js.map +0 -7
- package/dist/chunk-YXJ52FD5.js +0 -271
- package/dist/chunk-YXJ52FD5.js.map +0 -7
- package/dist/chunk-YZGORRQN.js +0 -3101
- package/dist/chunk-YZGORRQN.js.map +0 -7
- package/dist/chunk-Z6IVJ6ZW.js +0 -30
- package/dist/chunk-Z6IVJ6ZW.js.map +0 -7
- package/dist/chunk-ZFC44XJJ.js +0 -86
- package/dist/chunk-ZFC44XJJ.js.map +0 -7
- package/dist/chunk-ZJDJC5TP.js +0 -82
- package/dist/chunk-ZJDJC5TP.js.map +0 -7
- package/dist/chunk-ZJGZNPDK.js +0 -171
- package/dist/chunk-ZJGZNPDK.js.map +0 -7
- package/dist/chunk-ZJHBJWZX.js +0 -699
- package/dist/chunk-ZJHBJWZX.js.map +0 -7
- package/dist/chunk-ZNOTD65D.js +0 -95
- package/dist/chunk-ZNOTD65D.js.map +0 -7
- package/dist/chunk-ZQ2QIFXW.js +0 -122
- package/dist/chunk-ZQ2QIFXW.js.map +0 -7
- package/dist/chunk-ZRMXPQGY.js +0 -241
- package/dist/chunk-ZRMXPQGY.js.map +0 -7
- package/dist/chunk-ZVEE5IDC.js +0 -3101
- package/dist/chunk-ZVEE5IDC.js.map +0 -7
- package/dist/cli-metadata.js +0 -12
- package/dist/cli-metadata.js.map +0 -7
- package/dist/contract-api.js +0 -104
- package/dist/contract-api.js.map +0 -7
- package/dist/dist-F3K7S5SS.js +0 -549
- package/dist/dist-F3K7S5SS.js.map +0 -7
- package/dist/helper-api.js +0 -51
- package/dist/helper-api.js.map +0 -7
- package/dist/index.js +0 -71
- package/dist/index.js.map +0 -7
- package/dist/magic-string.es-V5NOGTUV.js +0 -1315
- package/dist/magic-string.es-V5NOGTUV.js.map +0 -7
- package/dist/openclaw.plugin.json +0 -23
- package/dist/package.json +0 -59
- package/dist/plugin-entry.handlers.runtime-POD4CSHM.js +0 -20
- package/dist/plugin-entry.handlers.runtime-POD4CSHM.js.map +0 -7
- package/dist/plugin-entry.handlers.runtime-YOSG6V6U.js +0 -20
- package/dist/plugin-entry.handlers.runtime-YOSG6V6U.js.map +0 -7
- package/dist/runtime-api.js +0 -104
- package/dist/runtime-api.js.map +0 -7
- package/dist/rust-crypto-H35BXWUU.js +0 -5323
- package/dist/rust-crypto-H35BXWUU.js.map +0 -7
- package/dist/secret-contract-api.js +0 -18
- package/dist/secret-contract-api.js.map +0 -7
- package/dist/setup-entry.js +0 -23
- package/dist/setup-entry.js.map +0 -7
- package/dist/src/account-selection.js +0 -19
- package/dist/src/account-selection.js.map +0 -7
- package/dist/src/actions.js +0 -24
- package/dist/src/actions.js.map +0 -7
- package/dist/src/approval-auth.js +0 -27
- package/dist/src/approval-auth.js.map +0 -7
- package/dist/src/approval-handler.runtime.js +0 -378
- package/dist/src/approval-handler.runtime.js.map +0 -7
- package/dist/src/approval-ids.js +0 -9
- package/dist/src/approval-ids.js.map +0 -7
- package/dist/src/approval-native.js +0 -28
- package/dist/src/approval-native.js.map +0 -7
- package/dist/src/approval-reactions.js +0 -20
- package/dist/src/approval-reactions.js.map +0 -7
- package/dist/src/auth-precedence.js +0 -8
- package/dist/src/auth-precedence.js.map +0 -7
- package/dist/src/channel-account-paths.js +0 -11
- package/dist/src/channel-account-paths.js.map +0 -7
- package/dist/src/channel.js +0 -74
- package/dist/src/channel.js.map +0 -7
- package/dist/src/channel.runtime.js +0 -82
- package/dist/src/channel.runtime.js.map +0 -7
- package/dist/src/cli-metadata.js +0 -8
- package/dist/src/cli-metadata.js.map +0 -7
- package/dist/src/cli.js +0 -936
- package/dist/src/cli.js.map +0 -7
- package/dist/src/config-adapter.js +0 -26
- package/dist/src/config-adapter.js.map +0 -7
- package/dist/src/config-schema.js +0 -8
- package/dist/src/config-schema.js.map +0 -7
- package/dist/src/directory-live.js +0 -35
- package/dist/src/directory-live.js.map +0 -7
- package/dist/src/doctor-contract.js +0 -11
- package/dist/src/doctor-contract.js.map +0 -7
- package/dist/src/doctor.js +0 -42
- package/dist/src/doctor.js.map +0 -7
- package/dist/src/env-vars.js +0 -12
- package/dist/src/env-vars.js.map +0 -7
- package/dist/src/exec-approval-resolver.js +0 -10
- package/dist/src/exec-approval-resolver.js.map +0 -7
- package/dist/src/exec-approvals.js +0 -51
- package/dist/src/exec-approvals.js.map +0 -7
- package/dist/src/group-mentions.js +0 -28
- package/dist/src/group-mentions.js.map +0 -7
- package/dist/src/legacy-crypto-inspector-availability.js +0 -8
- package/dist/src/legacy-crypto-inspector-availability.js.map +0 -7
- package/dist/src/legacy-crypto.js +0 -26
- package/dist/src/legacy-crypto.js.map +0 -7
- package/dist/src/legacy-state.js +0 -24
- package/dist/src/legacy-state.js.map +0 -7
- package/dist/src/matrix/account-config.js +0 -16
- package/dist/src/matrix/account-config.js.map +0 -7
- package/dist/src/matrix/accounts.js +0 -31
- package/dist/src/matrix/accounts.js.map +0 -7
- package/dist/src/matrix/actions/client.js +0 -40
- package/dist/src/matrix/actions/client.js.map +0 -7
- package/dist/src/matrix/actions/devices.js +0 -42
- package/dist/src/matrix/actions/devices.js.map +0 -7
- package/dist/src/matrix/actions/limits.js +0 -8
- package/dist/src/matrix/actions/limits.js.map +0 -7
- package/dist/src/matrix/actions/messages.js +0 -49
- package/dist/src/matrix/actions/messages.js.map +0 -7
- package/dist/src/matrix/actions/pins.js +0 -46
- package/dist/src/matrix/actions/pins.js.map +0 -7
- package/dist/src/matrix/actions/polls.js +0 -37
- package/dist/src/matrix/actions/polls.js.map +0 -7
- package/dist/src/matrix/actions/profile.js +0 -38
- package/dist/src/matrix/actions/profile.js.map +0 -7
- package/dist/src/matrix/actions/reactions.js +0 -40
- package/dist/src/matrix/actions/reactions.js.map +0 -7
- package/dist/src/matrix/actions/room.js +0 -40
- package/dist/src/matrix/actions/room.js.map +0 -7
- package/dist/src/matrix/actions/summary.js +0 -19
- package/dist/src/matrix/actions/summary.js.map +0 -7
- package/dist/src/matrix/actions/types.js +0 -13
- package/dist/src/matrix/actions/types.js.map +0 -7
- package/dist/src/matrix/actions/verification.js +0 -77
- package/dist/src/matrix/actions/verification.js.map +0 -7
- package/dist/src/matrix/actions.js +0 -126
- package/dist/src/matrix/actions.js.map +0 -7
- package/dist/src/matrix/active-client.js +0 -10
- package/dist/src/matrix/active-client.js.map +0 -7
- package/dist/src/matrix/async-lock.js +0 -8
- package/dist/src/matrix/async-lock.js.map +0 -7
- package/dist/src/matrix/backup-health.js +0 -10
- package/dist/src/matrix/backup-health.js.map +0 -7
- package/dist/src/matrix/client/config-runtime-api.js +0 -24
- package/dist/src/matrix/client/config-runtime-api.js.map +0 -7
- package/dist/src/matrix/client/config-secret-input.runtime.js +0 -11
- package/dist/src/matrix/client/config-secret-input.runtime.js.map +0 -7
- package/dist/src/matrix/client/config.js +0 -42
- package/dist/src/matrix/client/config.js.map +0 -7
- package/dist/src/matrix/client/create-client.js +0 -20
- package/dist/src/matrix/client/create-client.js.map +0 -7
- package/dist/src/matrix/client/env-auth.js +0 -26
- package/dist/src/matrix/client/env-auth.js.map +0 -7
- package/dist/src/matrix/client/file-sync-store.js +0 -23
- package/dist/src/matrix/client/file-sync-store.js.map +0 -7
- package/dist/src/matrix/client/logging.js +0 -17
- package/dist/src/matrix/client/logging.js.map +0 -7
- package/dist/src/matrix/client/migration-snapshot.runtime.js +0 -13
- package/dist/src/matrix/client/migration-snapshot.runtime.js.map +0 -7
- package/dist/src/matrix/client/private-network-host.js +0 -8
- package/dist/src/matrix/client/private-network-host.js.map +0 -7
- package/dist/src/matrix/client/runtime.js +0 -8
- package/dist/src/matrix/client/runtime.js.map +0 -7
- package/dist/src/matrix/client/shared.js +0 -34
- package/dist/src/matrix/client/shared.js.map +0 -7
- package/dist/src/matrix/client/storage.js +0 -26
- package/dist/src/matrix/client/storage.js.map +0 -7
- package/dist/src/matrix/client/types.js +0 -7
- package/dist/src/matrix/client/types.js.map +0 -7
- package/dist/src/matrix/client-bootstrap.js +0 -15
- package/dist/src/matrix/client-bootstrap.js.map +0 -7
- package/dist/src/matrix/client-resolver.test-helpers.js +0 -122
- package/dist/src/matrix/client-resolver.test-helpers.js.map +0 -7
- package/dist/src/matrix/client.js +0 -63
- package/dist/src/matrix/client.js.map +0 -7
- package/dist/src/matrix/config-paths.js +0 -12
- package/dist/src/matrix/config-paths.js.map +0 -7
- package/dist/src/matrix/config-update.js +0 -17
- package/dist/src/matrix/config-update.js.map +0 -7
- package/dist/src/matrix/credentials-read.js +0 -22
- package/dist/src/matrix/credentials-read.js.map +0 -7
- package/dist/src/matrix/credentials-write.runtime.js +0 -24
- package/dist/src/matrix/credentials-write.runtime.js.map +0 -7
- package/dist/src/matrix/credentials.js +0 -90
- package/dist/src/matrix/credentials.js.map +0 -7
- package/dist/src/matrix/deps.js +0 -12
- package/dist/src/matrix/deps.js.map +0 -7
- package/dist/src/matrix/device-health.js +0 -10
- package/dist/src/matrix/device-health.js.map +0 -7
- package/dist/src/matrix/direct-management.js +0 -18
- package/dist/src/matrix/direct-management.js.map +0 -7
- package/dist/src/matrix/direct-room.js +0 -18
- package/dist/src/matrix/direct-room.js.map +0 -7
- package/dist/src/matrix/draft-stream.js +0 -33
- package/dist/src/matrix/draft-stream.js.map +0 -7
- package/dist/src/matrix/encryption-guidance.js +0 -17
- package/dist/src/matrix/encryption-guidance.js.map +0 -7
- package/dist/src/matrix/errors.js +0 -12
- package/dist/src/matrix/errors.js.map +0 -7
- package/dist/src/matrix/format.js +0 -13
- package/dist/src/matrix/format.js.map +0 -7
- package/dist/src/matrix/legacy-crypto-inspector.js +0 -73
- package/dist/src/matrix/legacy-crypto-inspector.js.map +0 -7
- package/dist/src/matrix/media-errors.js +0 -12
- package/dist/src/matrix/media-errors.js.map +0 -7
- package/dist/src/matrix/media-text.js +0 -22
- package/dist/src/matrix/media-text.js.map +0 -7
- package/dist/src/matrix/monitor/access-state.js +0 -9
- package/dist/src/matrix/monitor/access-state.js.map +0 -7
- package/dist/src/matrix/monitor/ack-config.js +0 -10
- package/dist/src/matrix/monitor/ack-config.js.map +0 -7
- package/dist/src/matrix/monitor/allowlist.js +0 -12
- package/dist/src/matrix/monitor/allowlist.js.map +0 -7
- package/dist/src/matrix/monitor/auto-join.js +0 -9
- package/dist/src/matrix/monitor/auto-join.js.map +0 -7
- package/dist/src/matrix/monitor/config.js +0 -37
- package/dist/src/matrix/monitor/config.js.map +0 -7
- package/dist/src/matrix/monitor/context-summary.js +0 -13
- package/dist/src/matrix/monitor/context-summary.js.map +0 -7
- package/dist/src/matrix/monitor/direct.js +0 -13
- package/dist/src/matrix/monitor/direct.js.map +0 -7
- package/dist/src/matrix/monitor/events.js +0 -20
- package/dist/src/matrix/monitor/events.js.map +0 -7
- package/dist/src/matrix/monitor/handler.js +0 -76
- package/dist/src/matrix/monitor/handler.js.map +0 -7
- package/dist/src/matrix/monitor/handler.test-helpers.js +0 -268
- package/dist/src/matrix/monitor/handler.test-helpers.js.map +0 -7
- package/dist/src/matrix/monitor/inbound-dedupe.js +0 -17
- package/dist/src/matrix/monitor/inbound-dedupe.js.map +0 -7
- package/dist/src/matrix/monitor/index.js +0 -502
- package/dist/src/matrix/monitor/index.js.map +0 -7
- package/dist/src/matrix/monitor/legacy-crypto-restore.js +0 -99
- package/dist/src/matrix/monitor/legacy-crypto-restore.js.map +0 -7
- package/dist/src/matrix/monitor/location.js +0 -11
- package/dist/src/matrix/monitor/location.js.map +0 -7
- package/dist/src/matrix/monitor/media.js +0 -10
- package/dist/src/matrix/monitor/media.js.map +0 -7
- package/dist/src/matrix/monitor/mentions.js +0 -9
- package/dist/src/matrix/monitor/mentions.js.map +0 -7
- package/dist/src/matrix/monitor/reaction-events.js +0 -38
- package/dist/src/matrix/monitor/reaction-events.js.map +0 -7
- package/dist/src/matrix/monitor/recent-invite.js +0 -10
- package/dist/src/matrix/monitor/recent-invite.js.map +0 -7
- package/dist/src/matrix/monitor/replies.js +0 -33
- package/dist/src/matrix/monitor/replies.js.map +0 -7
- package/dist/src/matrix/monitor/reply-context.js +0 -14
- package/dist/src/matrix/monitor/reply-context.js.map +0 -7
- package/dist/src/matrix/monitor/room-history.js +0 -10
- package/dist/src/matrix/monitor/room-history.js.map +0 -7
- package/dist/src/matrix/monitor/room-info.js +0 -9
- package/dist/src/matrix/monitor/room-info.js.map +0 -7
- package/dist/src/matrix/monitor/rooms.js +0 -9
- package/dist/src/matrix/monitor/rooms.js.map +0 -7
- package/dist/src/matrix/monitor/route.js +0 -12
- package/dist/src/matrix/monitor/route.js.map +0 -7
- package/dist/src/matrix/monitor/runtime-api.js +0 -40
- package/dist/src/matrix/monitor/runtime-api.js.map +0 -7
- package/dist/src/matrix/monitor/startup-verification.js +0 -174
- package/dist/src/matrix/monitor/startup-verification.js.map +0 -7
- package/dist/src/matrix/monitor/startup.js +0 -9
- package/dist/src/matrix/monitor/startup.js.map +0 -7
- package/dist/src/matrix/monitor/status.js +0 -10
- package/dist/src/matrix/monitor/status.js.map +0 -7
- package/dist/src/matrix/monitor/sync-lifecycle.js +0 -9
- package/dist/src/matrix/monitor/sync-lifecycle.js.map +0 -7
- package/dist/src/matrix/monitor/task-runner.js +0 -8
- package/dist/src/matrix/monitor/task-runner.js.map +0 -7
- package/dist/src/matrix/monitor/thread-context.js +0 -14
- package/dist/src/matrix/monitor/thread-context.js.map +0 -7
- package/dist/src/matrix/monitor/threads.js +0 -16
- package/dist/src/matrix/monitor/threads.js.map +0 -7
- package/dist/src/matrix/monitor/types.js +0 -11
- package/dist/src/matrix/monitor/types.js.map +0 -7
- package/dist/src/matrix/monitor/verification-events.js +0 -13
- package/dist/src/matrix/monitor/verification-events.js.map +0 -7
- package/dist/src/matrix/monitor/verification-utils.js +0 -16
- package/dist/src/matrix/monitor/verification-utils.js.map +0 -7
- package/dist/src/matrix/outbound-media-runtime.js +0 -9
- package/dist/src/matrix/outbound-media-runtime.js.map +0 -7
- package/dist/src/matrix/poll-summary.js +0 -14
- package/dist/src/matrix/poll-summary.js.map +0 -7
- package/dist/src/matrix/poll-types.js +0 -55
- package/dist/src/matrix/poll-types.js.map +0 -7
- package/dist/src/matrix/probe.js +0 -9
- package/dist/src/matrix/probe.js.map +0 -7
- package/dist/src/matrix/probe.runtime.js +0 -30
- package/dist/src/matrix/probe.runtime.js.map +0 -7
- package/dist/src/matrix/profile.js +0 -16
- package/dist/src/matrix/profile.js.map +0 -7
- package/dist/src/matrix/reaction-common.js +0 -26
- package/dist/src/matrix/reaction-common.js.map +0 -7
- package/dist/src/matrix/sdk/crypto-bootstrap.js +0 -15
- package/dist/src/matrix/sdk/crypto-bootstrap.js.map +0 -7
- package/dist/src/matrix/sdk/crypto-facade.js +0 -8
- package/dist/src/matrix/sdk/crypto-facade.js.map +0 -7
- package/dist/src/matrix/sdk/crypto-node.runtime.js +0 -15
- package/dist/src/matrix/sdk/crypto-node.runtime.js.map +0 -7
- package/dist/src/matrix/sdk/crypto-runtime.js +0 -84
- package/dist/src/matrix/sdk/crypto-runtime.js.map +0 -7
- package/dist/src/matrix/sdk/decrypt-bridge.js +0 -11
- package/dist/src/matrix/sdk/decrypt-bridge.js.map +0 -7
- package/dist/src/matrix/sdk/event-helpers.js +0 -12
- package/dist/src/matrix/sdk/event-helpers.js.map +0 -7
- package/dist/src/matrix/sdk/http-client.js +0 -13
- package/dist/src/matrix/sdk/http-client.js.map +0 -7
- package/dist/src/matrix/sdk/idb-persistence-lock.js +0 -12
- package/dist/src/matrix/sdk/idb-persistence-lock.js.map +0 -7
- package/dist/src/matrix/sdk/idb-persistence.js +0 -13
- package/dist/src/matrix/sdk/idb-persistence.js.map +0 -7
- package/dist/src/matrix/sdk/idb-persistence.test-helpers.js +0 -83
- package/dist/src/matrix/sdk/idb-persistence.test-helpers.js.map +0 -7
- package/dist/src/matrix/sdk/logger.js +0 -15
- package/dist/src/matrix/sdk/logger.js.map +0 -7
- package/dist/src/matrix/sdk/read-response-with-limit.js +0 -8
- package/dist/src/matrix/sdk/read-response-with-limit.js.map +0 -7
- package/dist/src/matrix/sdk/recovery-key-store.js +0 -14
- package/dist/src/matrix/sdk/recovery-key-store.js.map +0 -7
- package/dist/src/matrix/sdk/transport.js +0 -13
- package/dist/src/matrix/sdk/transport.js.map +0 -7
- package/dist/src/matrix/sdk/types.js +0 -7
- package/dist/src/matrix/sdk/types.js.map +0 -7
- package/dist/src/matrix/sdk/verification-manager.js +0 -11
- package/dist/src/matrix/sdk/verification-manager.js.map +0 -7
- package/dist/src/matrix/sdk/verification-status.js +0 -12
- package/dist/src/matrix/sdk/verification-status.js.map +0 -7
- package/dist/src/matrix/sdk.js +0 -1375
- package/dist/src/matrix/sdk.js.map +0 -7
- package/dist/src/matrix/send/client.js +0 -14
- package/dist/src/matrix/send/client.js.map +0 -7
- package/dist/src/matrix/send/formatting.js +0 -29
- package/dist/src/matrix/send/formatting.js.map +0 -7
- package/dist/src/matrix/send/media.js +0 -26
- package/dist/src/matrix/send/media.js.map +0 -7
- package/dist/src/matrix/send/targets.js +0 -15
- package/dist/src/matrix/send/targets.js.map +0 -7
- package/dist/src/matrix/send/types.js +0 -17
- package/dist/src/matrix/send/types.js.map +0 -7
- package/dist/src/matrix/send.js +0 -51
- package/dist/src/matrix/send.js.map +0 -7
- package/dist/src/matrix/session-store-metadata.js +0 -15
- package/dist/src/matrix/session-store-metadata.js.map +0 -7
- package/dist/src/matrix/startup-abort.js +0 -14
- package/dist/src/matrix/startup-abort.js.map +0 -7
- package/dist/src/matrix/sync-state.js +0 -12
- package/dist/src/matrix/sync-state.js.map +0 -7
- package/dist/src/matrix/target-ids.js +0 -20
- package/dist/src/matrix/target-ids.js.map +0 -7
- package/dist/src/matrix/thread-bindings-shared.js +0 -34
- package/dist/src/matrix/thread-bindings-shared.js.map +0 -7
- package/dist/src/matrix/thread-bindings.js +0 -49
- package/dist/src/matrix/thread-bindings.js.map +0 -7
- package/dist/src/matrix-migration.runtime.js +0 -45
- package/dist/src/matrix-migration.runtime.js.map +0 -7
- package/dist/src/migration-config.js +0 -29
- package/dist/src/migration-config.js.map +0 -7
- package/dist/src/migration-snapshot-backup.js +0 -12
- package/dist/src/migration-snapshot-backup.js.map +0 -7
- package/dist/src/migration-snapshot.js +0 -38
- package/dist/src/migration-snapshot.js.map +0 -7
- package/dist/src/onboarding.js +0 -43
- package/dist/src/onboarding.js.map +0 -7
- package/dist/src/onboarding.test-harness.js +0 -124
- package/dist/src/onboarding.test-harness.js.map +0 -7
- package/dist/src/outbound.js +0 -33
- package/dist/src/outbound.js.map +0 -7
- package/dist/src/plugin-entry.runtime.js +0 -15
- package/dist/src/plugin-entry.runtime.js.map +0 -7
- package/dist/src/profile-update.js +0 -41
- package/dist/src/profile-update.js.map +0 -7
- package/dist/src/record-shared.js +0 -8
- package/dist/src/record-shared.js.map +0 -7
- package/dist/src/resolve-targets.js +0 -34
- package/dist/src/resolve-targets.js.map +0 -7
- package/dist/src/resolver.js +0 -8
- package/dist/src/resolver.js.map +0 -7
- package/dist/src/runtime-api.js +0 -120
- package/dist/src/runtime-api.js.map +0 -7
- package/dist/src/runtime.js +0 -10
- package/dist/src/runtime.js.map +0 -7
- package/dist/src/secret-contract.js +0 -13
- package/dist/src/secret-contract.js.map +0 -7
- package/dist/src/session-route.js +0 -25
- package/dist/src/session-route.js.map +0 -7
- package/dist/src/setup-bootstrap.js +0 -124
- package/dist/src/setup-bootstrap.js.map +0 -7
- package/dist/src/setup-config.js +0 -28
- package/dist/src/setup-config.js.map +0 -7
- package/dist/src/setup-contract.js +0 -16
- package/dist/src/setup-contract.js.map +0 -7
- package/dist/src/setup-core.js +0 -25
- package/dist/src/setup-core.js.map +0 -7
- package/dist/src/setup-surface.js +0 -45
- package/dist/src/setup-surface.js.map +0 -7
- package/dist/src/startup-maintenance.js +0 -29
- package/dist/src/startup-maintenance.js.map +0 -7
- package/dist/src/storage-paths.js +0 -24
- package/dist/src/storage-paths.js.map +0 -7
- package/dist/src/test-helpers.js +0 -49
- package/dist/src/test-helpers.js.map +0 -7
- package/dist/src/test-mocks.js +0 -40
- package/dist/src/test-mocks.js.map +0 -7
- package/dist/src/test-runtime.js +0 -65
- package/dist/src/test-runtime.js.map +0 -7
- package/dist/src/tool-actions.js +0 -68
- package/dist/src/tool-actions.js.map +0 -7
- package/dist/src/tool-actions.runtime.js +0 -73
- package/dist/src/tool-actions.runtime.js.map +0 -7
- package/dist/src/types.js +0 -7
- package/dist/src/types.js.map +0 -7
- package/dist/test-api.js +0 -82
- package/dist/test-api.js.map +0 -7
- package/dist/thread-bindings-runtime.js +0 -15
- package/dist/thread-bindings-runtime.js.map +0 -7
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/matrix/client/config.ts"],
|
|
4
|
-
"sourcesContent": ["import { formatErrorMessage, type PinnedDispatcherPolicy } from \"openclaw/plugin-sdk/infra-runtime\";\nimport { coerceSecretRef } from \"openclaw/plugin-sdk/provider-auth\";\nimport { retryAsync } from \"openclaw/plugin-sdk/retry-runtime\";\nimport { normalizeResolvedSecretInputString } from \"openclaw/plugin-sdk/secret-input\";\nimport {\n requiresExplicitMatrixDefaultAccount,\n resolveMatrixDefaultOrOnlyAccountId,\n} from \"../../account-selection.js\";\nimport { resolveMatrixAccountStringValues } from \"../../auth-precedence.js\";\nimport { getLobiScopedEnvVarNames as getMatrixScopedEnvVarNames } from \"../../env-vars.js\";\nimport { getMatrixRuntime } from \"../../runtime.js\";\nimport type { CoreConfig } from \"../../types.js\";\nimport {\n findMatrixAccountConfig,\n resolveMatrixBaseConfig,\n listNormalizedMatrixAccountIds,\n} from \"../account-config.js\";\nimport { resolveMatrixConfigFieldPath } from \"../config-paths.js\";\nimport type { MatrixStoredCredentials } from \"../credentials-read.js\";\nimport {\n DEFAULT_ACCOUNT_ID,\n assertHttpUrlTargetsPrivateNetwork,\n isPrivateOrLoopbackHost,\n isPrivateNetworkOptInEnabled,\n type LookupFn,\n normalizeAccountId,\n normalizeOptionalAccountId,\n ssrfPolicyFromDangerouslyAllowPrivateNetwork,\n} from \"./config-runtime-api.js\";\nimport { repairCurrentTokenStorageMetaDeviceId } from \"./storage.js\";\nimport type { MatrixAuth, MatrixResolvedConfig } from \"./types.js\";\n\ntype MatrixAuthClientDeps = {\n MatrixClient: typeof import(\"../sdk.js\").MatrixClient;\n ensureMatrixSdkLoggingConfigured: typeof import(\"./logging.js\").ensureMatrixSdkLoggingConfigured;\n};\n\ntype MatrixCredentialsReadDeps = {\n loadMatrixCredentials: typeof import(\"../credentials-read.js\").loadMatrixCredentials;\n credentialsMatchConfig: typeof import(\"../credentials-read.js\").credentialsMatchConfig;\n};\n\ntype MatrixSecretInputDeps = {\n resolveConfiguredSecretInputString: typeof import(\"./config-secret-input.runtime.js\").resolveConfiguredSecretInputString;\n};\n\nlet matrixAuthClientDepsPromise: Promise<MatrixAuthClientDeps> | undefined;\nlet matrixCredentialsReadDepsPromise: Promise<MatrixCredentialsReadDeps> | undefined;\nlet matrixSecretInputDepsPromise: Promise<MatrixSecretInputDeps> | undefined;\nlet matrixAuthClientDepsForTest: MatrixAuthClientDeps | undefined;\n\nconst MATRIX_AUTH_REQUEST_RETRY_RE =\n /\\b(fetch failed|econnreset|econnrefused|enotfound|etimedout|ehostunreach|enetunreach|eai_again|und_err_|socket hang up|network|headers timeout|body timeout|connect timeout)\\b/i;\n\nexport function setMatrixAuthClientDepsForTest(deps?: {\n MatrixClient: typeof import(\"../sdk.js\").MatrixClient;\n ensureMatrixSdkLoggingConfigured: typeof import(\"./logging.js\").ensureMatrixSdkLoggingConfigured;\n}): void {\n matrixAuthClientDepsForTest = deps;\n}\n\nasync function loadMatrixAuthClientDeps(): Promise<MatrixAuthClientDeps> {\n if (matrixAuthClientDepsForTest) {\n return matrixAuthClientDepsForTest;\n }\n matrixAuthClientDepsPromise ??= Promise.all([import(\"../sdk.js\"), import(\"./logging.js\")]).then(\n ([sdkModule, loggingModule]) => ({\n MatrixClient: sdkModule.MatrixClient,\n ensureMatrixSdkLoggingConfigured: loggingModule.ensureMatrixSdkLoggingConfigured,\n }),\n );\n return await matrixAuthClientDepsPromise;\n}\n\nasync function loadMatrixCredentialsReadDeps(): Promise<MatrixCredentialsReadDeps> {\n matrixCredentialsReadDepsPromise ??= import(\"../credentials-read.js\").then(\n (credentialsReadModule) => ({\n loadMatrixCredentials: credentialsReadModule.loadMatrixCredentials,\n credentialsMatchConfig: credentialsReadModule.credentialsMatchConfig,\n }),\n );\n return await matrixCredentialsReadDepsPromise;\n}\n\nasync function loadMatrixSecretInputDeps(): Promise<MatrixSecretInputDeps> {\n matrixSecretInputDepsPromise ??= import(\"./config-secret-input.runtime.js\").then((runtime) => ({\n resolveConfiguredSecretInputString: runtime.resolveConfiguredSecretInputString,\n }));\n return await matrixSecretInputDepsPromise;\n}\n\nfunction shouldRetryMatrixAuthRequest(err: unknown): boolean {\n return MATRIX_AUTH_REQUEST_RETRY_RE.test(formatErrorMessage(err));\n}\n\nfunction isAbortSignalTriggered(signal?: AbortSignal): boolean {\n return signal?.aborted === true;\n}\n\nfunction credentialsMatchBackfillAuthLineage(params: {\n stored: MatrixStoredCredentials | null;\n auth: Pick<MatrixAuth, \"homeserver\" | \"userId\" | \"accessToken\">;\n}): boolean {\n if (!params.stored) {\n return true;\n }\n return (\n params.stored.homeserver === params.auth.homeserver &&\n params.stored.userId === params.auth.userId &&\n params.stored.accessToken === params.auth.accessToken\n );\n}\n\nasync function retryMatrixAuthRequest<T>(label: string, run: () => Promise<T>): Promise<T> {\n return await retryAsync(run, {\n attempts: 3,\n minDelayMs: 250,\n maxDelayMs: 1_500,\n jitter: 0.1,\n label,\n shouldRetry: (err) => shouldRetryMatrixAuthRequest(err),\n });\n}\n\nasync function fetchMatrixWhoamiIdentity(params: {\n homeserver: string;\n accessToken: string;\n userId?: string;\n ssrfPolicy?: MatrixResolvedConfig[\"ssrfPolicy\"];\n dispatcherPolicy?: PinnedDispatcherPolicy;\n}): Promise<{\n user_id?: string;\n device_id?: string;\n}> {\n const { MatrixClient, ensureMatrixSdkLoggingConfigured } = await loadMatrixAuthClientDeps();\n ensureMatrixSdkLoggingConfigured();\n const tempClient = new MatrixClient(params.homeserver, params.accessToken, {\n userId: params.userId,\n ssrfPolicy: params.ssrfPolicy,\n dispatcherPolicy: params.dispatcherPolicy,\n });\n return (await retryMatrixAuthRequest(\"matrix auth whoami\", async () => {\n return (await tempClient.doRequest(\"GET\", \"/_matrix/client/v3/account/whoami\")) as {\n user_id?: string;\n device_id?: string;\n };\n })) as {\n user_id?: string;\n device_id?: string;\n };\n}\n\nfunction readEnvSecretRefFallback(params: {\n value: unknown;\n env?: NodeJS.ProcessEnv;\n config?: Pick<CoreConfig, \"secrets\">;\n}): string | undefined {\n const ref = coerceSecretRef(params.value, params.config?.secrets?.defaults);\n if (!ref || ref.source !== \"env\" || !params.env) {\n return undefined;\n }\n\n const providerConfig = params.config?.secrets?.providers?.[ref.provider];\n if (providerConfig) {\n if (providerConfig.source !== \"env\") {\n throw new Error(\n `Secret provider \"${ref.provider}\" has source \"${providerConfig.source}\" but ref requests \"env\".`,\n );\n }\n if (providerConfig.allowlist && !providerConfig.allowlist.includes(ref.id)) {\n throw new Error(\n `Environment variable \"${ref.id}\" is not allowlisted in secrets.providers.${ref.provider}.allowlist.`,\n );\n }\n } else if (ref.provider !== (params.config?.secrets?.defaults?.env?.trim() || \"default\")) {\n throw new Error(\n `Secret provider \"${ref.provider}\" is not configured (ref: ${ref.source}:${ref.provider}:${ref.id}).`,\n );\n }\n\n const resolved = params.env[ref.id];\n if (typeof resolved !== \"string\") {\n return undefined;\n }\n\n const trimmed = resolved.trim();\n return trimmed.length > 0 ? trimmed : undefined;\n}\n\nfunction clean(\n value: unknown,\n path: string,\n opts?: {\n env?: NodeJS.ProcessEnv;\n config?: Pick<CoreConfig, \"secrets\">;\n allowEnvSecretRefFallback?: boolean;\n suppressSecretRef?: boolean;\n },\n): string {\n const ref = coerceSecretRef(value, opts?.config?.secrets?.defaults);\n if (opts?.suppressSecretRef && ref) {\n return \"\";\n }\n const normalizedValue = opts?.allowEnvSecretRefFallback\n ? ref?.source === \"env\"\n ? (readEnvSecretRefFallback({\n value,\n env: opts.env,\n config: opts.config,\n }) ?? value)\n : ref\n ? \"\"\n : value\n : value;\n return (\n normalizeResolvedSecretInputString({\n value: normalizedValue,\n path,\n defaults: opts?.config?.secrets?.defaults,\n }) ?? \"\"\n );\n}\n\ntype MatrixEnvConfig = {\n homeserver: string;\n userId: string;\n accessToken?: string;\n password?: string;\n deviceId?: string;\n deviceName?: string;\n};\n\ntype MatrixConfigStringField =\n | \"homeserver\"\n | \"userId\"\n | \"accessToken\"\n | \"password\"\n | \"deviceId\"\n | \"deviceName\";\n\nfunction resolveMatrixBaseConfigFieldPath(field: MatrixConfigStringField): string {\n return `channels.lobi.${field}`;\n}\n\nfunction shouldAllowEnvSecretRefFallback(field: MatrixConfigStringField): boolean {\n return field === \"accessToken\" || field === \"password\";\n}\n\ntype MatrixAuthSecretField = \"accessToken\" | \"password\";\n\ntype MatrixConfiguredAuthInput = {\n value: unknown;\n path: string;\n};\n\nfunction hasConfiguredSecretInputValue(value: unknown, cfg: Pick<CoreConfig, \"secrets\">): boolean {\n return (\n (typeof value === \"string\" && value.trim().length > 0) ||\n Boolean(coerceSecretRef(value, cfg.secrets?.defaults))\n );\n}\n\nfunction hasConfiguredMatrixAccessTokenSource(params: {\n cfg: CoreConfig;\n env: NodeJS.ProcessEnv;\n accountId: string;\n}): boolean {\n const normalizedAccountId = normalizeAccountId(params.accountId);\n const account = findMatrixAccountConfig(params.cfg, normalizedAccountId) ?? {};\n const scopedAccessTokenVar = getMatrixScopedEnvVarNames(normalizedAccountId).accessToken;\n if (\n hasConfiguredSecretInputValue(account.accessToken, params.cfg) ||\n clean(params.env[scopedAccessTokenVar], scopedAccessTokenVar).length > 0\n ) {\n return true;\n }\n if (normalizedAccountId !== DEFAULT_ACCOUNT_ID) {\n return false;\n }\n const matrix = resolveMatrixBaseConfig(params.cfg);\n return (\n hasConfiguredSecretInputValue(matrix.accessToken, params.cfg) ||\n clean(params.env.LOBI_ACCESS_TOKEN, \"LOBI_ACCESS_TOKEN\").length > 0\n );\n}\n\nfunction resolveConfiguredMatrixAuthInput(params: {\n cfg: CoreConfig;\n env: NodeJS.ProcessEnv;\n accountId: string;\n field: MatrixAuthSecretField;\n}): MatrixConfiguredAuthInput | undefined {\n const normalizedAccountId = normalizeAccountId(params.accountId);\n const account = findMatrixAccountConfig(params.cfg, normalizedAccountId) ?? {};\n const accountValue = account[params.field];\n if (accountValue !== undefined) {\n return {\n value: accountValue,\n path: resolveMatrixConfigFieldPath(params.cfg, normalizedAccountId, params.field),\n };\n }\n\n const scopedKeys = getMatrixScopedEnvVarNames(normalizedAccountId);\n const scopedEnv = resolveScopedMatrixEnvConfig(normalizedAccountId, params.env);\n const scopedValue = scopedEnv[params.field];\n if (scopedValue !== undefined) {\n return {\n value: scopedValue,\n path: params.field === \"accessToken\" ? scopedKeys.accessToken : scopedKeys.password,\n };\n }\n\n if (normalizedAccountId !== DEFAULT_ACCOUNT_ID) {\n return undefined;\n }\n\n const matrix = resolveMatrixBaseConfig(params.cfg);\n const baseValue = matrix[params.field];\n if (baseValue !== undefined) {\n return {\n value: baseValue,\n path: resolveMatrixBaseConfigFieldPath(params.field),\n };\n }\n\n const globalValue =\n params.field === \"accessToken\" ? params.env.LOBI_ACCESS_TOKEN : params.env.LOBI_PASSWORD;\n if (globalValue !== undefined) {\n return {\n value: globalValue,\n path: params.field === \"accessToken\" ? \"LOBI_ACCESS_TOKEN\" : \"LOBI_PASSWORD\",\n };\n }\n\n return undefined;\n}\n\nasync function resolveConfiguredMatrixAuthSecretInput(params: {\n cfg: CoreConfig;\n env: NodeJS.ProcessEnv;\n accountId: string;\n field: MatrixAuthSecretField;\n}): Promise<string | undefined> {\n const configured = resolveConfiguredMatrixAuthInput(params);\n if (!configured) {\n return undefined;\n }\n\n const { resolveConfiguredSecretInputString } = await loadMatrixSecretInputDeps();\n const resolved = await resolveConfiguredSecretInputString({\n config: params.cfg,\n env: params.env,\n value: configured.value,\n path: configured.path,\n unresolvedReasonStyle: \"detailed\",\n });\n if (resolved.value !== undefined) {\n return resolved.value;\n }\n\n if (coerceSecretRef(configured.value, params.cfg.secrets?.defaults)) {\n throw new Error(\n resolved.unresolvedRefReason ?? `${configured.path} SecretRef could not be resolved.`,\n );\n }\n\n return undefined;\n}\n\nfunction readMatrixBaseConfigField(\n matrix: ReturnType<typeof resolveMatrixBaseConfig>,\n field: MatrixConfigStringField,\n opts?: {\n env?: NodeJS.ProcessEnv;\n config?: Pick<CoreConfig, \"secrets\">;\n suppressSecretRef?: boolean;\n },\n): string {\n return clean(matrix[field], resolveMatrixBaseConfigFieldPath(field), {\n env: opts?.env,\n config: opts?.config,\n allowEnvSecretRefFallback: shouldAllowEnvSecretRefFallback(field),\n suppressSecretRef: opts?.suppressSecretRef,\n });\n}\n\nfunction readMatrixAccountConfigField(\n cfg: CoreConfig,\n accountId: string,\n account: Partial<Record<MatrixConfigStringField, unknown>>,\n field: MatrixConfigStringField,\n opts?: {\n env?: NodeJS.ProcessEnv;\n config?: Pick<CoreConfig, \"secrets\">;\n suppressSecretRef?: boolean;\n },\n): string {\n return clean(account[field], resolveMatrixConfigFieldPath(cfg, accountId, field), {\n env: opts?.env,\n config: opts?.config,\n allowEnvSecretRefFallback: shouldAllowEnvSecretRefFallback(field),\n suppressSecretRef: opts?.suppressSecretRef,\n });\n}\n\nfunction clampMatrixInitialSyncLimit(value: unknown): number | undefined {\n return typeof value === \"number\" ? Math.max(0, Math.floor(value)) : undefined;\n}\n\nconst MATRIX_HTTP_HOMESERVER_ERROR =\n \"Matrix homeserver must use https:// unless it targets a private or loopback host\";\n\nfunction buildMatrixNetworkFields(params: {\n allowPrivateNetwork: boolean | undefined;\n proxy?: string;\n dispatcherPolicy?: PinnedDispatcherPolicy;\n}): Pick<MatrixResolvedConfig, \"allowPrivateNetwork\" | \"ssrfPolicy\" | \"dispatcherPolicy\"> {\n const dispatcherPolicy: PinnedDispatcherPolicy | undefined =\n params.dispatcherPolicy ??\n (params.proxy ? { mode: \"explicit-proxy\", proxyUrl: params.proxy } : undefined);\n if (!params.allowPrivateNetwork && !dispatcherPolicy) {\n return {};\n }\n return {\n ...(params.allowPrivateNetwork\n ? {\n allowPrivateNetwork: true,\n ssrfPolicy: ssrfPolicyFromDangerouslyAllowPrivateNetwork(true),\n }\n : {}),\n ...(dispatcherPolicy ? { dispatcherPolicy } : {}),\n };\n}\n\nconst DEFAULT_LOBI_HOMESERVER = \"https://lobi.lobisland.com/\";\n\nexport function resolveGlobalMatrixEnvConfig(env: NodeJS.ProcessEnv): MatrixEnvConfig {\n const homeserver = clean(env.LOBI_HOMESERVER, \"LOBI_HOMESERVER\");\n return {\n homeserver: homeserver || DEFAULT_LOBI_HOMESERVER,\n userId: clean(env.LOBI_USER_ID, \"LOBI_USER_ID\"),\n accessToken: clean(env.LOBI_ACCESS_TOKEN, \"LOBI_ACCESS_TOKEN\") || undefined,\n password: clean(env.LOBI_PASSWORD, \"LOBI_PASSWORD\") || undefined,\n deviceId: clean(env.LOBI_DEVICE_ID, \"LOBI_DEVICE_ID\") || undefined,\n deviceName: clean(env.LOBI_DEVICE_NAME, \"LOBI_DEVICE_NAME\") || undefined,\n };\n}\n\nexport { getLobiScopedEnvVarNames as getMatrixScopedEnvVarNames } from \"../../env-vars.js\";\n\nexport function resolveMatrixEnvAuthReadiness(\n accountId: string,\n env: NodeJS.ProcessEnv = process.env,\n): {\n ready: boolean;\n homeserver?: string;\n userId?: string;\n sourceHint: string;\n missingMessage: string;\n} {\n const normalizedAccountId = normalizeAccountId(accountId);\n const scoped = resolveScopedMatrixEnvConfig(normalizedAccountId, env);\n const scopedReady = hasReadyMatrixEnvAuth(scoped);\n if (normalizedAccountId !== DEFAULT_ACCOUNT_ID) {\n const keys = getMatrixScopedEnvVarNames(normalizedAccountId);\n return {\n ready: scopedReady,\n homeserver: scoped.homeserver || undefined,\n userId: scoped.userId || undefined,\n sourceHint: `${keys.homeserver} (+ auth vars)`,\n missingMessage: `Set per-account env vars for \"${normalizedAccountId}\" (for example ${keys.homeserver} + ${keys.accessToken} or ${keys.userId} + ${keys.password}).`,\n };\n }\n\n const defaultScoped = resolveScopedMatrixEnvConfig(DEFAULT_ACCOUNT_ID, env);\n const global = resolveGlobalMatrixEnvConfig(env);\n const defaultScopedReady = hasReadyMatrixEnvAuth(defaultScoped);\n const globalReady = hasReadyMatrixEnvAuth(global);\n const defaultKeys = getMatrixScopedEnvVarNames(DEFAULT_ACCOUNT_ID);\n return {\n ready: defaultScopedReady || globalReady,\n homeserver: defaultScoped.homeserver || global.homeserver || undefined,\n userId: defaultScoped.userId || global.userId || undefined,\n sourceHint: \"LOBI_* or LOBI_DEFAULT_*\",\n missingMessage:\n `Set Lobi env vars for the default account ` +\n `(for example LOBI_HOMESERVER + LOBI_ACCESS_TOKEN, LOBI_USER_ID + LOBI_PASSWORD, ` +\n `or ${defaultKeys.homeserver} + ${defaultKeys.accessToken}).`,\n };\n}\n\nexport function resolveScopedMatrixEnvConfig(\n accountId: string,\n env: NodeJS.ProcessEnv = process.env,\n): MatrixEnvConfig {\n const keys = getMatrixScopedEnvVarNames(accountId);\n return {\n homeserver: clean(env[keys.homeserver], keys.homeserver),\n userId: clean(env[keys.userId], keys.userId),\n accessToken: clean(env[keys.accessToken], keys.accessToken) || undefined,\n password: clean(env[keys.password], keys.password) || undefined,\n deviceId: clean(env[keys.deviceId], keys.deviceId) || undefined,\n deviceName: clean(env[keys.deviceName], keys.deviceName) || undefined,\n };\n}\n\nfunction hasScopedMatrixEnvConfig(accountId: string, env: NodeJS.ProcessEnv): boolean {\n const scoped = resolveScopedMatrixEnvConfig(accountId, env);\n return Boolean(\n scoped.homeserver ||\n scoped.userId ||\n scoped.accessToken ||\n scoped.password ||\n scoped.deviceId ||\n scoped.deviceName,\n );\n}\n\nexport function hasReadyMatrixEnvAuth(config: {\n homeserver?: string;\n userId?: string;\n accessToken?: string;\n password?: string;\n}): boolean {\n const homeserver = clean(config.homeserver, \"matrix.env.homeserver\");\n const userId = clean(config.userId, \"matrix.env.userId\");\n const accessToken = clean(config.accessToken, \"matrix.env.accessToken\");\n const password = clean(config.password, \"matrix.env.password\");\n return Boolean(homeserver && (accessToken || (userId && password)));\n}\n\nexport function validateMatrixHomeserverUrl(\n homeserver: string,\n opts?: { allowPrivateNetwork?: boolean },\n): string {\n const trimmed = clean(homeserver, \"matrix.homeserver\");\n if (!trimmed) {\n throw new Error(\"Matrix homeserver is required (matrix.homeserver)\");\n }\n\n let parsed: URL;\n try {\n parsed = new URL(trimmed);\n } catch {\n throw new Error(\"Matrix homeserver must be a valid http(s) URL\");\n }\n\n if (parsed.protocol !== \"https:\" && parsed.protocol !== \"http:\") {\n throw new Error(\"Matrix homeserver must use http:// or https://\");\n }\n if (!parsed.hostname) {\n throw new Error(\"Matrix homeserver must include a hostname\");\n }\n if (parsed.username || parsed.password) {\n throw new Error(\"Matrix homeserver URL must not include embedded credentials\");\n }\n if (parsed.search || parsed.hash) {\n throw new Error(\"Matrix homeserver URL must not include query strings or fragments\");\n }\n if (\n parsed.protocol === \"http:\" &&\n opts?.allowPrivateNetwork !== true &&\n !isPrivateOrLoopbackHost(parsed.hostname)\n ) {\n throw new Error(MATRIX_HTTP_HOMESERVER_ERROR);\n }\n\n return trimmed;\n}\n\nexport async function resolveValidatedMatrixHomeserverUrl(\n homeserver: string,\n opts?: {\n dangerouslyAllowPrivateNetwork?: boolean;\n allowPrivateNetwork?: boolean;\n lookupFn?: LookupFn;\n },\n): Promise<string> {\n const allowPrivateNetwork =\n typeof opts?.dangerouslyAllowPrivateNetwork === \"boolean\"\n ? opts.dangerouslyAllowPrivateNetwork\n : opts?.allowPrivateNetwork;\n const normalized = validateMatrixHomeserverUrl(homeserver, {\n allowPrivateNetwork,\n });\n await assertHttpUrlTargetsPrivateNetwork(normalized, {\n dangerouslyAllowPrivateNetwork: opts?.dangerouslyAllowPrivateNetwork,\n allowPrivateNetwork,\n lookupFn: opts?.lookupFn,\n errorMessage: MATRIX_HTTP_HOMESERVER_ERROR,\n });\n return normalized;\n}\n\nexport function resolveMatrixConfigForAccount(\n cfg: CoreConfig,\n accountId: string,\n env: NodeJS.ProcessEnv = process.env,\n): MatrixResolvedConfig {\n const matrix = resolveMatrixBaseConfig(cfg);\n const account = findMatrixAccountConfig(cfg, accountId) ?? {};\n const normalizedAccountId = normalizeAccountId(accountId);\n const suppressInactivePasswordSecretRef = hasConfiguredMatrixAccessTokenSource({\n cfg,\n env,\n accountId: normalizedAccountId,\n });\n const fieldReadOptions = {\n env,\n config: cfg,\n };\n const scopedEnv = resolveScopedMatrixEnvConfig(normalizedAccountId, env);\n const globalEnv = resolveGlobalMatrixEnvConfig(env);\n const accountField = (field: MatrixConfigStringField) =>\n readMatrixAccountConfigField(cfg, normalizedAccountId, account, field, {\n ...fieldReadOptions,\n suppressSecretRef: field === \"password\" ? suppressInactivePasswordSecretRef : undefined,\n });\n const resolvedStrings = resolveMatrixAccountStringValues({\n accountId: normalizedAccountId,\n account: {\n homeserver: accountField(\"homeserver\"),\n userId: accountField(\"userId\"),\n accessToken: accountField(\"accessToken\"),\n password: accountField(\"password\"),\n deviceId: accountField(\"deviceId\"),\n deviceName: accountField(\"deviceName\"),\n },\n scopedEnv,\n channel: {\n homeserver: readMatrixBaseConfigField(matrix, \"homeserver\", fieldReadOptions),\n userId: readMatrixBaseConfigField(matrix, \"userId\", fieldReadOptions),\n accessToken: readMatrixBaseConfigField(matrix, \"accessToken\", fieldReadOptions),\n password: readMatrixBaseConfigField(matrix, \"password\", {\n ...fieldReadOptions,\n suppressSecretRef: suppressInactivePasswordSecretRef,\n }),\n deviceId: readMatrixBaseConfigField(matrix, \"deviceId\", fieldReadOptions),\n deviceName: readMatrixBaseConfigField(matrix, \"deviceName\", fieldReadOptions),\n },\n globalEnv,\n });\n\n const accountInitialSyncLimit = clampMatrixInitialSyncLimit(account.initialSyncLimit);\n const initialSyncLimit =\n accountInitialSyncLimit ?? clampMatrixInitialSyncLimit(matrix.initialSyncLimit);\n const encryption =\n typeof account.encryption === \"boolean\" ? account.encryption : (matrix.encryption ?? false);\n const allowPrivateNetwork =\n isPrivateNetworkOptInEnabled(account) || isPrivateNetworkOptInEnabled(matrix)\n ? true\n : undefined;\n\n return {\n homeserver: resolvedStrings.homeserver,\n userId: resolvedStrings.userId,\n accessToken: resolvedStrings.accessToken || undefined,\n password: resolvedStrings.password || undefined,\n deviceId: resolvedStrings.deviceId || undefined,\n deviceName: resolvedStrings.deviceName || undefined,\n initialSyncLimit,\n encryption,\n ...buildMatrixNetworkFields({\n allowPrivateNetwork,\n proxy: account.proxy ?? matrix.proxy,\n }),\n };\n}\n\nfunction resolveImplicitMatrixAccountId(\n cfg: CoreConfig,\n env: NodeJS.ProcessEnv = process.env,\n): string | null {\n if (requiresExplicitMatrixDefaultAccount(cfg, env)) {\n return null;\n }\n return normalizeAccountId(resolveMatrixDefaultOrOnlyAccountId(cfg, env));\n}\n\nexport function resolveMatrixAuthContext(params?: {\n cfg?: CoreConfig;\n env?: NodeJS.ProcessEnv;\n accountId?: string | null;\n}): {\n cfg: CoreConfig;\n env: NodeJS.ProcessEnv;\n accountId: string;\n resolved: MatrixResolvedConfig;\n} {\n const cfg = params?.cfg ?? (getMatrixRuntime().config.loadConfig() as CoreConfig);\n const env = params?.env ?? process.env;\n const explicitAccountId = normalizeOptionalAccountId(params?.accountId);\n const effectiveAccountId = explicitAccountId ?? resolveImplicitMatrixAccountId(cfg, env);\n if (!effectiveAccountId) {\n throw new Error(\n 'Multiple Lobi accounts are configured and channels.lobi.defaultAccount is not set. Set \"channels.lobi.defaultAccount\" to the intended account or pass --account <id>.',\n );\n }\n if (\n explicitAccountId &&\n explicitAccountId !== DEFAULT_ACCOUNT_ID &&\n !listNormalizedMatrixAccountIds(cfg).includes(explicitAccountId) &&\n !hasScopedMatrixEnvConfig(explicitAccountId, env)\n ) {\n throw new Error(\n `Lobi account \"${explicitAccountId}\" is not configured. Add channels.lobi.accounts.${explicitAccountId} or define scoped ${getMatrixScopedEnvVarNames(explicitAccountId).accessToken.replace(/_ACCESS_TOKEN$/, \"\")}_* variables.`,\n );\n }\n const resolved = resolveMatrixConfigForAccount(cfg, effectiveAccountId, env);\n\n return {\n cfg,\n env,\n accountId: effectiveAccountId,\n resolved,\n };\n}\n\nexport async function resolveMatrixAuth(params?: {\n cfg?: CoreConfig;\n env?: NodeJS.ProcessEnv;\n accountId?: string | null;\n}): Promise<MatrixAuth> {\n const { cfg, env, accountId, resolved } = resolveMatrixAuthContext(params);\n const accessToken =\n (await resolveConfiguredMatrixAuthSecretInput({\n cfg,\n env,\n accountId,\n field: \"accessToken\",\n })) ?? resolved.accessToken;\n const tokenAuthPassword = resolved.password;\n const homeserver = await resolveValidatedMatrixHomeserverUrl(resolved.homeserver, {\n dangerouslyAllowPrivateNetwork: resolved.allowPrivateNetwork,\n });\n let credentialsWriter: typeof import(\"../credentials-write.runtime.js\") | undefined;\n const loadCredentialsWriter = async () => {\n credentialsWriter ??= await import(\"../credentials-write.runtime.js\");\n return credentialsWriter;\n };\n\n const { loadMatrixCredentials, credentialsMatchConfig } = await loadMatrixCredentialsReadDeps();\n const cached = loadMatrixCredentials(env, accountId);\n const cachedCredentials =\n cached &&\n credentialsMatchConfig(cached, {\n homeserver,\n userId: resolved.userId || \"\",\n accessToken,\n })\n ? cached\n : null;\n\n // If we have an access token, we can fetch userId via whoami if not provided\n if (accessToken) {\n let userId = resolved.userId;\n const hasMatchingCachedToken = cachedCredentials?.accessToken === accessToken;\n let knownDeviceId = hasMatchingCachedToken\n ? cachedCredentials?.deviceId || resolved.deviceId\n : resolved.deviceId;\n\n if (!userId) {\n // Only block startup on whoami when token auth still needs the user ID.\n // A missing device ID alone is optional and should not force a network round-trip.\n const whoami = await fetchMatrixWhoamiIdentity({\n homeserver,\n accessToken,\n userId,\n ssrfPolicy: resolved.ssrfPolicy,\n dispatcherPolicy: resolved.dispatcherPolicy,\n });\n const fetchedUserId = whoami.user_id?.trim();\n if (!fetchedUserId) {\n throw new Error(\"Matrix whoami did not return user_id\");\n }\n userId = fetchedUserId;\n knownDeviceId = knownDeviceId || whoami.device_id?.trim() || resolved.deviceId;\n }\n\n const shouldRefreshCachedCredentials =\n !cachedCredentials ||\n !hasMatchingCachedToken ||\n cachedCredentials.userId !== userId ||\n (cachedCredentials.deviceId || undefined) !== knownDeviceId;\n if (shouldRefreshCachedCredentials) {\n const { saveMatrixCredentials } = await loadCredentialsWriter();\n await saveMatrixCredentials(\n {\n homeserver,\n userId,\n accessToken,\n deviceId: knownDeviceId,\n },\n env,\n accountId,\n );\n } else if (hasMatchingCachedToken) {\n const { touchMatrixCredentials } = await loadCredentialsWriter();\n await touchMatrixCredentials(env, accountId);\n }\n return {\n accountId,\n homeserver,\n userId,\n accessToken,\n password: tokenAuthPassword,\n deviceId: knownDeviceId,\n deviceName: resolved.deviceName,\n initialSyncLimit: resolved.initialSyncLimit,\n encryption: resolved.encryption,\n ...buildMatrixNetworkFields({\n allowPrivateNetwork: resolved.allowPrivateNetwork,\n dispatcherPolicy: resolved.dispatcherPolicy,\n }),\n };\n }\n\n if (cachedCredentials) {\n const { touchMatrixCredentials } = await loadCredentialsWriter();\n await touchMatrixCredentials(env, accountId);\n return {\n accountId,\n homeserver: cachedCredentials.homeserver,\n userId: cachedCredentials.userId,\n accessToken: cachedCredentials.accessToken,\n password: tokenAuthPassword,\n deviceId: cachedCredentials.deviceId || resolved.deviceId,\n deviceName: resolved.deviceName,\n initialSyncLimit: resolved.initialSyncLimit,\n encryption: resolved.encryption,\n ...buildMatrixNetworkFields({\n allowPrivateNetwork: resolved.allowPrivateNetwork,\n dispatcherPolicy: resolved.dispatcherPolicy,\n }),\n };\n }\n\n if (!resolved.userId) {\n throw new Error(\"Matrix userId is required when no access token is configured (matrix.userId)\");\n }\n\n const password =\n (await resolveConfiguredMatrixAuthSecretInput({\n cfg,\n env,\n accountId,\n field: \"password\",\n })) ?? resolved.password;\n if (!password) {\n throw new Error(\n \"Matrix password is required when no access token is configured (matrix.password)\",\n );\n }\n\n // Login with password using the same hardened request path as other Matrix HTTP calls.\n const { MatrixClient, ensureMatrixSdkLoggingConfigured } = await loadMatrixAuthClientDeps();\n ensureMatrixSdkLoggingConfigured();\n const loginClient = new MatrixClient(homeserver, \"\", {\n ssrfPolicy: resolved.ssrfPolicy,\n dispatcherPolicy: resolved.dispatcherPolicy,\n });\n const login = (await retryMatrixAuthRequest(\"matrix auth login\", async () => {\n return (await loginClient.doRequest(\"POST\", \"/_matrix/client/v3/login\", undefined, {\n type: \"m.login.password\",\n identifier: { type: \"m.id.user\", user: resolved.userId },\n password,\n device_id: resolved.deviceId,\n initial_device_display_name: resolved.deviceName ?? \"OpenClaw Gateway\",\n })) as {\n access_token?: string;\n user_id?: string;\n device_id?: string;\n };\n })) as {\n access_token?: string;\n user_id?: string;\n device_id?: string;\n };\n\n const loginAccessToken = login.access_token?.trim();\n if (!loginAccessToken) {\n throw new Error(\"Matrix login did not return an access token\");\n }\n\n const auth: MatrixAuth = {\n accountId,\n homeserver,\n userId: login.user_id ?? resolved.userId,\n accessToken: loginAccessToken,\n password,\n deviceId: login.device_id ?? resolved.deviceId,\n deviceName: resolved.deviceName,\n initialSyncLimit: resolved.initialSyncLimit,\n encryption: resolved.encryption,\n ...buildMatrixNetworkFields({\n allowPrivateNetwork: resolved.allowPrivateNetwork,\n dispatcherPolicy: resolved.dispatcherPolicy,\n }),\n };\n\n const { saveMatrixCredentials } = await loadCredentialsWriter();\n await saveMatrixCredentials(\n {\n homeserver: auth.homeserver,\n userId: auth.userId,\n accessToken: auth.accessToken,\n deviceId: auth.deviceId,\n },\n env,\n accountId,\n );\n\n return auth;\n}\n\nexport async function backfillMatrixAuthDeviceIdAfterStartup(params: {\n auth: MatrixAuth;\n env?: NodeJS.ProcessEnv;\n abortSignal?: AbortSignal;\n}): Promise<string | undefined> {\n const knownDeviceId = params.auth.deviceId?.trim();\n if (knownDeviceId) {\n return knownDeviceId;\n }\n if (isAbortSignalTriggered(params.abortSignal)) {\n return undefined;\n }\n\n const whoami = await fetchMatrixWhoamiIdentity({\n homeserver: params.auth.homeserver,\n accessToken: params.auth.accessToken,\n userId: params.auth.userId,\n ssrfPolicy: params.auth.ssrfPolicy,\n dispatcherPolicy: params.auth.dispatcherPolicy,\n });\n const deviceId = whoami.device_id?.trim();\n if (!deviceId) {\n return undefined;\n }\n if (isAbortSignalTriggered(params.abortSignal)) {\n return undefined;\n }\n\n const env = params.env ?? process.env;\n const { loadMatrixCredentials } = await loadMatrixCredentialsReadDeps();\n if (\n !credentialsMatchBackfillAuthLineage({\n stored: loadMatrixCredentials(env, params.auth.accountId),\n auth: params.auth,\n })\n ) {\n return undefined;\n }\n\n const repairedStorageMeta = repairCurrentTokenStorageMetaDeviceId({\n homeserver: params.auth.homeserver,\n userId: params.auth.userId,\n accessToken: params.auth.accessToken,\n accountId: params.auth.accountId,\n deviceId,\n env: params.env,\n });\n if (!repairedStorageMeta) {\n throw new Error(\"Matrix deviceId backfill failed to repair current-token storage metadata\");\n }\n if (isAbortSignalTriggered(params.abortSignal)) {\n return undefined;\n }\n\n const credentialsWriter = await import(\"../credentials-write.runtime.js\");\n const saved = await credentialsWriter.saveBackfilledMatrixDeviceId(\n {\n homeserver: params.auth.homeserver,\n userId: params.auth.userId,\n accessToken: params.auth.accessToken,\n deviceId,\n },\n env,\n params.auth.accountId,\n );\n return saved === \"saved\" ? deviceId : undefined;\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["saveMatrixCredentials"]
|
|
7
|
-
}
|
package/dist/chunk-ZNOTD65D.js
DELETED
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
withResolvedRoomAction
|
|
3
|
-
} from "./chunk-Y6CJN4ID.js";
|
|
4
|
-
import {
|
|
5
|
-
buildPollResponseContent,
|
|
6
|
-
isPollStartType,
|
|
7
|
-
parsePollStart
|
|
8
|
-
} from "./chunk-IQYYEHSM.js";
|
|
9
|
-
import {
|
|
10
|
-
init_shims
|
|
11
|
-
} from "./chunk-7FLQSTPG.js";
|
|
12
|
-
|
|
13
|
-
// src/matrix/actions/polls.ts
|
|
14
|
-
init_shims();
|
|
15
|
-
function normalizeOptionIndexes(indexes) {
|
|
16
|
-
const normalized = indexes.map((index) => Math.trunc(index)).filter((index) => Number.isFinite(index) && index > 0);
|
|
17
|
-
return Array.from(new Set(normalized));
|
|
18
|
-
}
|
|
19
|
-
function normalizeOptionIds(optionIds) {
|
|
20
|
-
return Array.from(
|
|
21
|
-
new Set(optionIds.map((optionId) => optionId.trim()).filter((optionId) => optionId.length > 0))
|
|
22
|
-
);
|
|
23
|
-
}
|
|
24
|
-
function resolveSelectedAnswerIds(params) {
|
|
25
|
-
const parsed = parsePollStart(params.pollContent);
|
|
26
|
-
if (!parsed) {
|
|
27
|
-
throw new Error("Matrix poll vote requires a valid poll start event.");
|
|
28
|
-
}
|
|
29
|
-
const selectedById = normalizeOptionIds(params.optionIds ?? []);
|
|
30
|
-
const selectedByIndex = normalizeOptionIndexes(params.optionIndexes ?? []).map((index) => {
|
|
31
|
-
const answer = parsed.answers[index - 1];
|
|
32
|
-
if (!answer) {
|
|
33
|
-
throw new Error(
|
|
34
|
-
`Matrix poll option index ${index} is out of range for a poll with ${parsed.answers.length} options.`
|
|
35
|
-
);
|
|
36
|
-
}
|
|
37
|
-
return answer.id;
|
|
38
|
-
});
|
|
39
|
-
const answerIds = normalizeOptionIds([...selectedById, ...selectedByIndex]);
|
|
40
|
-
if (answerIds.length === 0) {
|
|
41
|
-
throw new Error("Matrix poll vote requires at least one poll option id or index.");
|
|
42
|
-
}
|
|
43
|
-
if (answerIds.length > parsed.maxSelections) {
|
|
44
|
-
throw new Error(
|
|
45
|
-
`Matrix poll allows at most ${parsed.maxSelections} selection${parsed.maxSelections === 1 ? "" : "s"}.`
|
|
46
|
-
);
|
|
47
|
-
}
|
|
48
|
-
const answerMap = new Map(parsed.answers.map((answer) => [answer.id, answer.text]));
|
|
49
|
-
const labels = answerIds.map((answerId) => {
|
|
50
|
-
const label = answerMap.get(answerId);
|
|
51
|
-
if (!label) {
|
|
52
|
-
throw new Error(
|
|
53
|
-
`Matrix poll option id "${answerId}" is not valid for poll ${parsed.question}.`
|
|
54
|
-
);
|
|
55
|
-
}
|
|
56
|
-
return label;
|
|
57
|
-
});
|
|
58
|
-
return {
|
|
59
|
-
answerIds,
|
|
60
|
-
labels,
|
|
61
|
-
maxSelections: parsed.maxSelections
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
async function voteMatrixPoll(roomId, pollId, opts = {}) {
|
|
65
|
-
return await withResolvedRoomAction(roomId, opts, async (client, resolvedRoom) => {
|
|
66
|
-
const pollEvent = await client.getEvent(resolvedRoom, pollId);
|
|
67
|
-
const eventType = typeof pollEvent.type === "string" ? pollEvent.type : "";
|
|
68
|
-
if (!isPollStartType(eventType)) {
|
|
69
|
-
throw new Error(`Event ${pollId} is not a Matrix poll start event.`);
|
|
70
|
-
}
|
|
71
|
-
const { answerIds, labels, maxSelections } = resolveSelectedAnswerIds({
|
|
72
|
-
optionIds: [...opts.optionIds ?? [], ...opts.optionId ? [opts.optionId] : []],
|
|
73
|
-
optionIndexes: [
|
|
74
|
-
...opts.optionIndexes ?? [],
|
|
75
|
-
...opts.optionIndex !== void 0 ? [opts.optionIndex] : []
|
|
76
|
-
],
|
|
77
|
-
pollContent: pollEvent.content
|
|
78
|
-
});
|
|
79
|
-
const content = buildPollResponseContent(pollId, answerIds);
|
|
80
|
-
const eventId = await client.sendEvent(resolvedRoom, "m.poll.response", content);
|
|
81
|
-
return {
|
|
82
|
-
eventId: eventId ?? null,
|
|
83
|
-
roomId: resolvedRoom,
|
|
84
|
-
pollId,
|
|
85
|
-
answerIds,
|
|
86
|
-
labels,
|
|
87
|
-
maxSelections
|
|
88
|
-
};
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
export {
|
|
93
|
-
voteMatrixPoll
|
|
94
|
-
};
|
|
95
|
-
//# sourceMappingURL=chunk-ZNOTD65D.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/matrix/actions/polls.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n buildPollResponseContent,\n isPollStartType,\n parsePollStart,\n type PollStartContent,\n} from \"../poll-types.js\";\nimport { withResolvedRoomAction } from \"./client.js\";\nimport type { MatrixActionClientOpts } from \"./types.js\";\n\nfunction normalizeOptionIndexes(indexes: number[]): number[] {\n const normalized = indexes\n .map((index) => Math.trunc(index))\n .filter((index) => Number.isFinite(index) && index > 0);\n return Array.from(new Set(normalized));\n}\n\nfunction normalizeOptionIds(optionIds: string[]): string[] {\n return Array.from(\n new Set(optionIds.map((optionId) => optionId.trim()).filter((optionId) => optionId.length > 0)),\n );\n}\n\nfunction resolveSelectedAnswerIds(params: {\n optionIds?: string[];\n optionIndexes?: number[];\n pollContent: PollStartContent;\n}): { answerIds: string[]; labels: string[]; maxSelections: number } {\n const parsed = parsePollStart(params.pollContent);\n if (!parsed) {\n throw new Error(\"Matrix poll vote requires a valid poll start event.\");\n }\n\n const selectedById = normalizeOptionIds(params.optionIds ?? []);\n const selectedByIndex = normalizeOptionIndexes(params.optionIndexes ?? []).map((index) => {\n const answer = parsed.answers[index - 1];\n if (!answer) {\n throw new Error(\n `Matrix poll option index ${index} is out of range for a poll with ${parsed.answers.length} options.`,\n );\n }\n return answer.id;\n });\n\n const answerIds = normalizeOptionIds([...selectedById, ...selectedByIndex]);\n if (answerIds.length === 0) {\n throw new Error(\"Matrix poll vote requires at least one poll option id or index.\");\n }\n if (answerIds.length > parsed.maxSelections) {\n throw new Error(\n `Matrix poll allows at most ${parsed.maxSelections} selection${parsed.maxSelections === 1 ? \"\" : \"s\"}.`,\n );\n }\n\n const answerMap = new Map(parsed.answers.map((answer) => [answer.id, answer.text] as const));\n const labels = answerIds.map((answerId) => {\n const label = answerMap.get(answerId);\n if (!label) {\n throw new Error(\n `Matrix poll option id \"${answerId}\" is not valid for poll ${parsed.question}.`,\n );\n }\n return label;\n });\n\n return {\n answerIds,\n labels,\n maxSelections: parsed.maxSelections,\n };\n}\n\nexport async function voteMatrixPoll(\n roomId: string,\n pollId: string,\n opts: MatrixActionClientOpts & {\n optionId?: string;\n optionIds?: string[];\n optionIndex?: number;\n optionIndexes?: number[];\n } = {},\n) {\n return await withResolvedRoomAction(roomId, opts, async (client, resolvedRoom) => {\n const pollEvent = await client.getEvent(resolvedRoom, pollId);\n const eventType = typeof pollEvent.type === \"string\" ? pollEvent.type : \"\";\n if (!isPollStartType(eventType)) {\n throw new Error(`Event ${pollId} is not a Matrix poll start event.`);\n }\n\n const { answerIds, labels, maxSelections } = resolveSelectedAnswerIds({\n optionIds: [...(opts.optionIds ?? []), ...(opts.optionId ? [opts.optionId] : [])],\n optionIndexes: [\n ...(opts.optionIndexes ?? []),\n ...(opts.optionIndex !== undefined ? [opts.optionIndex] : []),\n ],\n pollContent: pollEvent.content as PollStartContent,\n });\n\n const content = buildPollResponseContent(pollId, answerIds);\n const eventId = await client.sendEvent(resolvedRoom, \"m.poll.response\", content);\n return {\n eventId: eventId ?? null,\n roomId: resolvedRoom,\n pollId,\n answerIds,\n labels,\n maxSelections,\n };\n });\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
package/dist/chunk-ZQ2QIFXW.js
DELETED
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
getActiveMatrixClient
|
|
3
|
-
} from "./chunk-GD6L3SLC.js";
|
|
4
|
-
import {
|
|
5
|
-
isBunRuntime
|
|
6
|
-
} from "./chunk-TRWT2N6Z.js";
|
|
7
|
-
import {
|
|
8
|
-
getMatrixRuntime
|
|
9
|
-
} from "./chunk-FHNEN6IR.js";
|
|
10
|
-
import {
|
|
11
|
-
init_shims
|
|
12
|
-
} from "./chunk-7FLQSTPG.js";
|
|
13
|
-
|
|
14
|
-
// src/matrix/client-bootstrap.ts
|
|
15
|
-
init_shims();
|
|
16
|
-
var matrixSharedClientRuntimeDepsPromise;
|
|
17
|
-
async function loadMatrixSharedClientRuntimeDeps() {
|
|
18
|
-
matrixSharedClientRuntimeDepsPromise ??= Promise.all([
|
|
19
|
-
import("./src/matrix/client.js"),
|
|
20
|
-
import("./src/matrix/client/shared.js")
|
|
21
|
-
]).then(([clientModule, sharedModule]) => ({
|
|
22
|
-
acquireSharedMatrixClient: clientModule.acquireSharedMatrixClient,
|
|
23
|
-
resolveMatrixAuthContext: clientModule.resolveMatrixAuthContext,
|
|
24
|
-
releaseSharedClientInstance: sharedModule.releaseSharedClientInstance
|
|
25
|
-
}));
|
|
26
|
-
return await matrixSharedClientRuntimeDepsPromise;
|
|
27
|
-
}
|
|
28
|
-
async function ensureResolvedClientReadiness(params) {
|
|
29
|
-
if (params.readiness === "started") {
|
|
30
|
-
await params.client.start();
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
if (params.readiness === "prepared" || !params.readiness && params.preparedByDefault) {
|
|
34
|
-
await params.client.prepareForOneOff();
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
function ensureMatrixNodeRuntime() {
|
|
38
|
-
if (isBunRuntime()) {
|
|
39
|
-
throw new Error("Matrix support requires Node (bun runtime not supported)");
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
async function resolveRuntimeMatrixClient(opts) {
|
|
43
|
-
ensureMatrixNodeRuntime();
|
|
44
|
-
if (opts.client) {
|
|
45
|
-
await opts.onResolved?.(opts.client, { preparedByDefault: false });
|
|
46
|
-
return { client: opts.client, stopOnDone: false };
|
|
47
|
-
}
|
|
48
|
-
const cfg = opts.cfg ?? getMatrixRuntime().config.loadConfig();
|
|
49
|
-
const { acquireSharedMatrixClient, releaseSharedClientInstance, resolveMatrixAuthContext } = await loadMatrixSharedClientRuntimeDeps();
|
|
50
|
-
const authContext = resolveMatrixAuthContext({
|
|
51
|
-
cfg,
|
|
52
|
-
accountId: opts.accountId
|
|
53
|
-
});
|
|
54
|
-
const active = getActiveMatrixClient(authContext.accountId);
|
|
55
|
-
if (active) {
|
|
56
|
-
await opts.onResolved?.(active, { preparedByDefault: false });
|
|
57
|
-
return { client: active, stopOnDone: false };
|
|
58
|
-
}
|
|
59
|
-
const client = await acquireSharedMatrixClient({
|
|
60
|
-
cfg,
|
|
61
|
-
timeoutMs: opts.timeoutMs,
|
|
62
|
-
accountId: authContext.accountId,
|
|
63
|
-
startClient: false
|
|
64
|
-
});
|
|
65
|
-
try {
|
|
66
|
-
await opts.onResolved?.(client, { preparedByDefault: true });
|
|
67
|
-
} catch (err) {
|
|
68
|
-
await releaseSharedClientInstance(client, "stop");
|
|
69
|
-
throw err;
|
|
70
|
-
}
|
|
71
|
-
return {
|
|
72
|
-
client,
|
|
73
|
-
stopOnDone: true,
|
|
74
|
-
cleanup: async (mode) => {
|
|
75
|
-
await releaseSharedClientInstance(client, mode);
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
async function resolveRuntimeMatrixClientWithReadiness(opts) {
|
|
80
|
-
return await resolveRuntimeMatrixClient({
|
|
81
|
-
client: opts.client,
|
|
82
|
-
cfg: opts.cfg,
|
|
83
|
-
timeoutMs: opts.timeoutMs,
|
|
84
|
-
accountId: opts.accountId,
|
|
85
|
-
onResolved: async (client, context) => {
|
|
86
|
-
await ensureResolvedClientReadiness({
|
|
87
|
-
client,
|
|
88
|
-
readiness: opts.readiness,
|
|
89
|
-
preparedByDefault: context.preparedByDefault
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
async function stopResolvedRuntimeMatrixClient(resolved, mode = "stop") {
|
|
95
|
-
if (!resolved.stopOnDone) {
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
if (resolved.cleanup) {
|
|
99
|
-
await resolved.cleanup(mode);
|
|
100
|
-
return;
|
|
101
|
-
}
|
|
102
|
-
if (mode === "persist") {
|
|
103
|
-
await resolved.client.stopAndPersist();
|
|
104
|
-
return;
|
|
105
|
-
}
|
|
106
|
-
resolved.client.stop();
|
|
107
|
-
}
|
|
108
|
-
async function withResolvedRuntimeMatrixClient(opts, run, stopMode = "stop") {
|
|
109
|
-
const resolved = await resolveRuntimeMatrixClientWithReadiness(opts);
|
|
110
|
-
try {
|
|
111
|
-
return await run(resolved.client);
|
|
112
|
-
} finally {
|
|
113
|
-
await stopResolvedRuntimeMatrixClient(resolved, stopMode);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
export {
|
|
118
|
-
resolveRuntimeMatrixClientWithReadiness,
|
|
119
|
-
stopResolvedRuntimeMatrixClient,
|
|
120
|
-
withResolvedRuntimeMatrixClient
|
|
121
|
-
};
|
|
122
|
-
//# sourceMappingURL=chunk-ZQ2QIFXW.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/matrix/client-bootstrap.ts"],
|
|
4
|
-
"sourcesContent": ["import { getMatrixRuntime } from \"../runtime.js\";\nimport type { CoreConfig } from \"../types.js\";\nimport { getActiveMatrixClient } from \"./active-client.js\";\nimport { isBunRuntime } from \"./client/runtime.js\";\nimport type { MatrixClient } from \"./sdk.js\";\n\ntype ResolvedRuntimeMatrixClient = {\n client: MatrixClient;\n stopOnDone: boolean;\n cleanup?: (mode: ResolvedRuntimeMatrixClientStopMode) => Promise<void>;\n};\n\ntype MatrixRuntimeClientReadiness = \"none\" | \"prepared\" | \"started\";\ntype ResolvedRuntimeMatrixClientStopMode = \"stop\" | \"persist\";\n\ntype MatrixResolvedClientHook = (\n client: MatrixClient,\n context: { preparedByDefault: boolean },\n) => Promise<void> | void;\n\ntype MatrixSharedClientRuntimeDeps = Pick<\n typeof import(\"./client.js\"),\n \"acquireSharedMatrixClient\" | \"resolveMatrixAuthContext\"\n> &\n Pick<typeof import(\"./client/shared.js\"), \"releaseSharedClientInstance\">;\n\nlet matrixSharedClientRuntimeDepsPromise: Promise<MatrixSharedClientRuntimeDeps> | undefined;\n\nasync function loadMatrixSharedClientRuntimeDeps(): Promise<MatrixSharedClientRuntimeDeps> {\n matrixSharedClientRuntimeDepsPromise ??= Promise.all([\n import(\"./client.js\"),\n import(\"./client/shared.js\"),\n ]).then(([clientModule, sharedModule]) => ({\n acquireSharedMatrixClient: clientModule.acquireSharedMatrixClient,\n resolveMatrixAuthContext: clientModule.resolveMatrixAuthContext,\n releaseSharedClientInstance: sharedModule.releaseSharedClientInstance,\n }));\n return await matrixSharedClientRuntimeDepsPromise;\n}\n\nasync function ensureResolvedClientReadiness(params: {\n client: MatrixClient;\n readiness?: MatrixRuntimeClientReadiness;\n preparedByDefault: boolean;\n}): Promise<void> {\n if (params.readiness === \"started\") {\n await params.client.start();\n return;\n }\n if (params.readiness === \"prepared\" || (!params.readiness && params.preparedByDefault)) {\n await params.client.prepareForOneOff();\n }\n}\n\nfunction ensureMatrixNodeRuntime() {\n if (isBunRuntime()) {\n throw new Error(\"Matrix support requires Node (bun runtime not supported)\");\n }\n}\n\nasync function resolveRuntimeMatrixClient(opts: {\n client?: MatrixClient;\n cfg?: CoreConfig;\n timeoutMs?: number;\n accountId?: string | null;\n onResolved?: MatrixResolvedClientHook;\n}): Promise<ResolvedRuntimeMatrixClient> {\n ensureMatrixNodeRuntime();\n if (opts.client) {\n await opts.onResolved?.(opts.client, { preparedByDefault: false });\n return { client: opts.client, stopOnDone: false };\n }\n\n const cfg = opts.cfg ?? (getMatrixRuntime().config.loadConfig() as CoreConfig);\n const { acquireSharedMatrixClient, releaseSharedClientInstance, resolveMatrixAuthContext } =\n await loadMatrixSharedClientRuntimeDeps();\n const authContext = resolveMatrixAuthContext({\n cfg,\n accountId: opts.accountId,\n });\n const active = getActiveMatrixClient(authContext.accountId);\n if (active) {\n await opts.onResolved?.(active, { preparedByDefault: false });\n return { client: active, stopOnDone: false };\n }\n const client = await acquireSharedMatrixClient({\n cfg,\n timeoutMs: opts.timeoutMs,\n accountId: authContext.accountId,\n startClient: false,\n });\n try {\n await opts.onResolved?.(client, { preparedByDefault: true });\n } catch (err) {\n await releaseSharedClientInstance(client, \"stop\");\n throw err;\n }\n return {\n client,\n stopOnDone: true,\n cleanup: async (mode) => {\n await releaseSharedClientInstance(client, mode);\n },\n };\n}\n\nexport async function resolveRuntimeMatrixClientWithReadiness(opts: {\n client?: MatrixClient;\n cfg?: CoreConfig;\n timeoutMs?: number;\n accountId?: string | null;\n readiness?: MatrixRuntimeClientReadiness;\n}): Promise<ResolvedRuntimeMatrixClient> {\n return await resolveRuntimeMatrixClient({\n client: opts.client,\n cfg: opts.cfg,\n timeoutMs: opts.timeoutMs,\n accountId: opts.accountId,\n onResolved: async (client, context) => {\n await ensureResolvedClientReadiness({\n client,\n readiness: opts.readiness,\n preparedByDefault: context.preparedByDefault,\n });\n },\n });\n}\n\nexport async function stopResolvedRuntimeMatrixClient(\n resolved: ResolvedRuntimeMatrixClient,\n mode: ResolvedRuntimeMatrixClientStopMode = \"stop\",\n): Promise<void> {\n if (!resolved.stopOnDone) {\n return;\n }\n if (resolved.cleanup) {\n await resolved.cleanup(mode);\n return;\n }\n if (mode === \"persist\") {\n await resolved.client.stopAndPersist();\n return;\n }\n resolved.client.stop();\n}\n\nexport async function withResolvedRuntimeMatrixClient<T>(\n opts: {\n client?: MatrixClient;\n cfg?: CoreConfig;\n timeoutMs?: number;\n accountId?: string | null;\n readiness?: MatrixRuntimeClientReadiness;\n },\n run: (client: MatrixClient) => Promise<T>,\n stopMode: ResolvedRuntimeMatrixClientStopMode = \"stop\",\n): Promise<T> {\n const resolved = await resolveRuntimeMatrixClientWithReadiness(opts);\n try {\n return await run(resolved.client);\n } finally {\n await stopResolvedRuntimeMatrixClient(resolved, stopMode);\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
package/dist/chunk-ZRMXPQGY.js
DELETED
|
@@ -1,241 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
awaitMatrixStartupWithAbort
|
|
3
|
-
} from "./chunk-UXDDOSJC.js";
|
|
4
|
-
import {
|
|
5
|
-
LogService
|
|
6
|
-
} from "./chunk-BMFZL2P4.js";
|
|
7
|
-
import {
|
|
8
|
-
resolveMatrixAuth,
|
|
9
|
-
resolveMatrixAuthContext
|
|
10
|
-
} from "./chunk-GKOWCDQV.js";
|
|
11
|
-
import {
|
|
12
|
-
init_shims
|
|
13
|
-
} from "./chunk-7FLQSTPG.js";
|
|
14
|
-
|
|
15
|
-
// src/matrix/client/shared.ts
|
|
16
|
-
init_shims();
|
|
17
|
-
import { normalizeOptionalAccountId } from "openclaw/plugin-sdk/account-id";
|
|
18
|
-
var matrixCreateClientDepsPromise;
|
|
19
|
-
async function loadMatrixCreateClientDeps() {
|
|
20
|
-
matrixCreateClientDepsPromise ??= import("./src/matrix/client/create-client.js").then((runtime) => ({
|
|
21
|
-
createMatrixClient: runtime.createMatrixClient
|
|
22
|
-
}));
|
|
23
|
-
return await matrixCreateClientDepsPromise;
|
|
24
|
-
}
|
|
25
|
-
var sharedClientStates = /* @__PURE__ */ new Map();
|
|
26
|
-
var sharedClientPromises = /* @__PURE__ */ new Map();
|
|
27
|
-
function serializeDispatcherPolicyKey(auth) {
|
|
28
|
-
return JSON.stringify(auth.dispatcherPolicy ?? null);
|
|
29
|
-
}
|
|
30
|
-
function buildSharedClientKey(auth) {
|
|
31
|
-
return [
|
|
32
|
-
auth.homeserver,
|
|
33
|
-
auth.userId,
|
|
34
|
-
auth.accessToken,
|
|
35
|
-
auth.encryption ? "e2ee" : "plain",
|
|
36
|
-
auth.allowPrivateNetwork ? "private-net" : "strict-net",
|
|
37
|
-
serializeDispatcherPolicyKey(auth),
|
|
38
|
-
auth.accountId
|
|
39
|
-
].join("|");
|
|
40
|
-
}
|
|
41
|
-
async function createSharedMatrixClient(params) {
|
|
42
|
-
const { createMatrixClient } = await loadMatrixCreateClientDeps();
|
|
43
|
-
const client = await createMatrixClient({
|
|
44
|
-
homeserver: params.auth.homeserver,
|
|
45
|
-
userId: params.auth.userId,
|
|
46
|
-
accessToken: params.auth.accessToken,
|
|
47
|
-
password: params.auth.password,
|
|
48
|
-
deviceId: params.auth.deviceId,
|
|
49
|
-
encryption: params.auth.encryption,
|
|
50
|
-
localTimeoutMs: params.timeoutMs,
|
|
51
|
-
initialSyncLimit: params.auth.initialSyncLimit,
|
|
52
|
-
accountId: params.auth.accountId,
|
|
53
|
-
allowPrivateNetwork: params.auth.allowPrivateNetwork,
|
|
54
|
-
ssrfPolicy: params.auth.ssrfPolicy,
|
|
55
|
-
dispatcherPolicy: params.auth.dispatcherPolicy
|
|
56
|
-
});
|
|
57
|
-
return {
|
|
58
|
-
client,
|
|
59
|
-
key: buildSharedClientKey(params.auth),
|
|
60
|
-
started: false,
|
|
61
|
-
cryptoReady: false,
|
|
62
|
-
startPromise: null,
|
|
63
|
-
leases: 0
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
function findSharedClientStateByInstance(client) {
|
|
67
|
-
for (const state of sharedClientStates.values()) {
|
|
68
|
-
if (state.client === client) {
|
|
69
|
-
return state;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
return null;
|
|
73
|
-
}
|
|
74
|
-
function deleteSharedClientState(state) {
|
|
75
|
-
sharedClientStates.delete(state.key);
|
|
76
|
-
sharedClientPromises.delete(state.key);
|
|
77
|
-
}
|
|
78
|
-
async function ensureSharedClientStarted(params) {
|
|
79
|
-
const waitForStart = async (startPromise2) => {
|
|
80
|
-
await awaitMatrixStartupWithAbort(startPromise2, params.abortSignal);
|
|
81
|
-
};
|
|
82
|
-
if (params.state.started) {
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
if (params.state.startPromise) {
|
|
86
|
-
await waitForStart(params.state.startPromise);
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
const startPromise = (async () => {
|
|
90
|
-
const client = params.state.client;
|
|
91
|
-
if (params.encryption && !params.state.cryptoReady) {
|
|
92
|
-
try {
|
|
93
|
-
const joinedRooms = await client.getJoinedRooms();
|
|
94
|
-
if (client.crypto) {
|
|
95
|
-
await client.crypto.prepare(joinedRooms);
|
|
96
|
-
params.state.cryptoReady = true;
|
|
97
|
-
}
|
|
98
|
-
} catch (err) {
|
|
99
|
-
LogService.warn("MatrixClientLite", "Failed to prepare crypto:", err);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
await client.start({ abortSignal: params.abortSignal });
|
|
103
|
-
params.state.started = true;
|
|
104
|
-
})();
|
|
105
|
-
const guardedStart = startPromise.finally(() => {
|
|
106
|
-
if (params.state.startPromise === guardedStart) {
|
|
107
|
-
params.state.startPromise = null;
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
params.state.startPromise = guardedStart;
|
|
111
|
-
await waitForStart(guardedStart);
|
|
112
|
-
}
|
|
113
|
-
async function resolveSharedMatrixClientState(params = {}) {
|
|
114
|
-
const requestedAccountId = normalizeOptionalAccountId(params.accountId);
|
|
115
|
-
if (params.auth && requestedAccountId && requestedAccountId !== params.auth.accountId) {
|
|
116
|
-
throw new Error(
|
|
117
|
-
`Matrix shared client account mismatch: requested ${requestedAccountId}, auth resolved ${params.auth.accountId}`
|
|
118
|
-
);
|
|
119
|
-
}
|
|
120
|
-
const authContext = params.auth ? null : resolveMatrixAuthContext({
|
|
121
|
-
cfg: params.cfg,
|
|
122
|
-
env: params.env,
|
|
123
|
-
accountId: params.accountId
|
|
124
|
-
});
|
|
125
|
-
const auth = params.auth ?? await resolveMatrixAuth({
|
|
126
|
-
cfg: authContext?.cfg ?? params.cfg,
|
|
127
|
-
env: authContext?.env ?? params.env,
|
|
128
|
-
accountId: authContext?.accountId
|
|
129
|
-
});
|
|
130
|
-
const key = buildSharedClientKey(auth);
|
|
131
|
-
const shouldStart = params.startClient !== false;
|
|
132
|
-
const existingState = sharedClientStates.get(key);
|
|
133
|
-
if (existingState) {
|
|
134
|
-
if (shouldStart) {
|
|
135
|
-
await ensureSharedClientStarted({
|
|
136
|
-
state: existingState,
|
|
137
|
-
encryption: auth.encryption,
|
|
138
|
-
abortSignal: params.abortSignal
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
return existingState;
|
|
142
|
-
}
|
|
143
|
-
const existingPromise = sharedClientPromises.get(key);
|
|
144
|
-
if (existingPromise) {
|
|
145
|
-
const pending = await existingPromise;
|
|
146
|
-
if (shouldStart) {
|
|
147
|
-
await ensureSharedClientStarted({
|
|
148
|
-
state: pending,
|
|
149
|
-
encryption: auth.encryption,
|
|
150
|
-
abortSignal: params.abortSignal
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
return pending;
|
|
154
|
-
}
|
|
155
|
-
const creationPromise = createSharedMatrixClient({
|
|
156
|
-
auth,
|
|
157
|
-
timeoutMs: params.timeoutMs
|
|
158
|
-
});
|
|
159
|
-
sharedClientPromises.set(key, creationPromise);
|
|
160
|
-
try {
|
|
161
|
-
const created = await creationPromise;
|
|
162
|
-
sharedClientStates.set(key, created);
|
|
163
|
-
if (shouldStart) {
|
|
164
|
-
await ensureSharedClientStarted({
|
|
165
|
-
state: created,
|
|
166
|
-
encryption: auth.encryption,
|
|
167
|
-
abortSignal: params.abortSignal
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
return created;
|
|
171
|
-
} finally {
|
|
172
|
-
sharedClientPromises.delete(key);
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
async function resolveSharedMatrixClient(params = {}) {
|
|
176
|
-
const state = await resolveSharedMatrixClientState(params);
|
|
177
|
-
return state.client;
|
|
178
|
-
}
|
|
179
|
-
async function acquireSharedMatrixClient(params = {}) {
|
|
180
|
-
const state = await resolveSharedMatrixClientState(params);
|
|
181
|
-
state.leases += 1;
|
|
182
|
-
return state.client;
|
|
183
|
-
}
|
|
184
|
-
function stopSharedClient() {
|
|
185
|
-
for (const state of sharedClientStates.values()) {
|
|
186
|
-
state.client.stop();
|
|
187
|
-
}
|
|
188
|
-
sharedClientStates.clear();
|
|
189
|
-
sharedClientPromises.clear();
|
|
190
|
-
}
|
|
191
|
-
function stopSharedClientForAccount(auth) {
|
|
192
|
-
const key = buildSharedClientKey(auth);
|
|
193
|
-
const state = sharedClientStates.get(key);
|
|
194
|
-
if (!state) {
|
|
195
|
-
return;
|
|
196
|
-
}
|
|
197
|
-
state.client.stop();
|
|
198
|
-
deleteSharedClientState(state);
|
|
199
|
-
}
|
|
200
|
-
function removeSharedClientInstance(client) {
|
|
201
|
-
const state = findSharedClientStateByInstance(client);
|
|
202
|
-
if (!state) {
|
|
203
|
-
return false;
|
|
204
|
-
}
|
|
205
|
-
deleteSharedClientState(state);
|
|
206
|
-
return true;
|
|
207
|
-
}
|
|
208
|
-
function stopSharedClientInstance(client) {
|
|
209
|
-
if (!removeSharedClientInstance(client)) {
|
|
210
|
-
return;
|
|
211
|
-
}
|
|
212
|
-
client.stop();
|
|
213
|
-
}
|
|
214
|
-
async function releaseSharedClientInstance(client, mode = "stop") {
|
|
215
|
-
const state = findSharedClientStateByInstance(client);
|
|
216
|
-
if (!state) {
|
|
217
|
-
return false;
|
|
218
|
-
}
|
|
219
|
-
state.leases = Math.max(0, state.leases - 1);
|
|
220
|
-
if (state.leases > 0) {
|
|
221
|
-
return false;
|
|
222
|
-
}
|
|
223
|
-
deleteSharedClientState(state);
|
|
224
|
-
if (mode === "persist") {
|
|
225
|
-
await client.stopAndPersist();
|
|
226
|
-
} else {
|
|
227
|
-
client.stop();
|
|
228
|
-
}
|
|
229
|
-
return true;
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
export {
|
|
233
|
-
resolveSharedMatrixClient,
|
|
234
|
-
acquireSharedMatrixClient,
|
|
235
|
-
stopSharedClient,
|
|
236
|
-
stopSharedClientForAccount,
|
|
237
|
-
removeSharedClientInstance,
|
|
238
|
-
stopSharedClientInstance,
|
|
239
|
-
releaseSharedClientInstance
|
|
240
|
-
};
|
|
241
|
-
//# sourceMappingURL=chunk-ZRMXPQGY.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/matrix/client/shared.ts"],
|
|
4
|
-
"sourcesContent": ["import { normalizeOptionalAccountId } from \"openclaw/plugin-sdk/account-id\";\nimport type { CoreConfig } from \"../../types.js\";\nimport type { MatrixClient } from \"../sdk.js\";\nimport { LogService } from \"../sdk/logger.js\";\nimport { awaitMatrixStartupWithAbort } from \"../startup-abort.js\";\nimport { resolveMatrixAuth, resolveMatrixAuthContext } from \"./config.js\";\nimport type { MatrixAuth } from \"./types.js\";\n\ntype MatrixCreateClientDeps = {\n createMatrixClient: typeof import(\"./create-client.js\").createMatrixClient;\n};\n\nlet matrixCreateClientDepsPromise: Promise<MatrixCreateClientDeps> | undefined;\n\nasync function loadMatrixCreateClientDeps(): Promise<MatrixCreateClientDeps> {\n matrixCreateClientDepsPromise ??= import(\"./create-client.js\").then((runtime) => ({\n createMatrixClient: runtime.createMatrixClient,\n }));\n return await matrixCreateClientDepsPromise;\n}\n\ntype SharedMatrixClientState = {\n client: MatrixClient;\n key: string;\n started: boolean;\n cryptoReady: boolean;\n startPromise: Promise<void> | null;\n leases: number;\n};\n\nconst sharedClientStates = new Map<string, SharedMatrixClientState>();\nconst sharedClientPromises = new Map<string, Promise<SharedMatrixClientState>>();\n\nfunction serializeDispatcherPolicyKey(auth: MatrixAuth): string {\n return JSON.stringify(auth.dispatcherPolicy ?? null);\n}\n\nfunction buildSharedClientKey(auth: MatrixAuth): string {\n return [\n auth.homeserver,\n auth.userId,\n auth.accessToken,\n auth.encryption ? \"e2ee\" : \"plain\",\n auth.allowPrivateNetwork ? \"private-net\" : \"strict-net\",\n serializeDispatcherPolicyKey(auth),\n auth.accountId,\n ].join(\"|\");\n}\n\nasync function createSharedMatrixClient(params: {\n auth: MatrixAuth;\n timeoutMs?: number;\n}): Promise<SharedMatrixClientState> {\n const { createMatrixClient } = await loadMatrixCreateClientDeps();\n const client = await createMatrixClient({\n homeserver: params.auth.homeserver,\n userId: params.auth.userId,\n accessToken: params.auth.accessToken,\n password: params.auth.password,\n deviceId: params.auth.deviceId,\n encryption: params.auth.encryption,\n localTimeoutMs: params.timeoutMs,\n initialSyncLimit: params.auth.initialSyncLimit,\n accountId: params.auth.accountId,\n allowPrivateNetwork: params.auth.allowPrivateNetwork,\n ssrfPolicy: params.auth.ssrfPolicy,\n dispatcherPolicy: params.auth.dispatcherPolicy,\n });\n return {\n client,\n key: buildSharedClientKey(params.auth),\n started: false,\n cryptoReady: false,\n startPromise: null,\n leases: 0,\n };\n}\n\nfunction findSharedClientStateByInstance(client: MatrixClient): SharedMatrixClientState | null {\n for (const state of sharedClientStates.values()) {\n if (state.client === client) {\n return state;\n }\n }\n return null;\n}\n\nfunction deleteSharedClientState(state: SharedMatrixClientState): void {\n sharedClientStates.delete(state.key);\n sharedClientPromises.delete(state.key);\n}\n\nasync function ensureSharedClientStarted(params: {\n state: SharedMatrixClientState;\n encryption?: boolean;\n abortSignal?: AbortSignal;\n}): Promise<void> {\n const waitForStart = async (startPromise: Promise<void>) => {\n await awaitMatrixStartupWithAbort(startPromise, params.abortSignal);\n };\n\n if (params.state.started) {\n return;\n }\n if (params.state.startPromise) {\n await waitForStart(params.state.startPromise);\n return;\n }\n\n const startPromise = (async () => {\n const client = params.state.client;\n\n // Initialize crypto if enabled\n if (params.encryption && !params.state.cryptoReady) {\n try {\n const joinedRooms = await client.getJoinedRooms();\n if (client.crypto) {\n await client.crypto.prepare(joinedRooms);\n params.state.cryptoReady = true;\n }\n } catch (err) {\n LogService.warn(\"MatrixClientLite\", \"Failed to prepare crypto:\", err);\n }\n }\n\n await client.start({ abortSignal: params.abortSignal });\n params.state.started = true;\n })();\n // Keep the shared startup lock until the underlying start fully settles, even\n // if one waiter aborts early while another caller still owns the startup.\n const guardedStart = startPromise.finally(() => {\n if (params.state.startPromise === guardedStart) {\n params.state.startPromise = null;\n }\n });\n params.state.startPromise = guardedStart;\n\n await waitForStart(guardedStart);\n}\n\nasync function resolveSharedMatrixClientState(\n params: {\n cfg?: CoreConfig;\n env?: NodeJS.ProcessEnv;\n timeoutMs?: number;\n auth?: MatrixAuth;\n startClient?: boolean;\n accountId?: string | null;\n abortSignal?: AbortSignal;\n } = {},\n): Promise<SharedMatrixClientState> {\n const requestedAccountId = normalizeOptionalAccountId(params.accountId);\n if (params.auth && requestedAccountId && requestedAccountId !== params.auth.accountId) {\n throw new Error(\n `Matrix shared client account mismatch: requested ${requestedAccountId}, auth resolved ${params.auth.accountId}`,\n );\n }\n const authContext = params.auth\n ? null\n : resolveMatrixAuthContext({\n cfg: params.cfg,\n env: params.env,\n accountId: params.accountId,\n });\n const auth =\n params.auth ??\n (await resolveMatrixAuth({\n cfg: authContext?.cfg ?? params.cfg,\n env: authContext?.env ?? params.env,\n accountId: authContext?.accountId,\n }));\n const key = buildSharedClientKey(auth);\n const shouldStart = params.startClient !== false;\n\n const existingState = sharedClientStates.get(key);\n if (existingState) {\n if (shouldStart) {\n await ensureSharedClientStarted({\n state: existingState,\n encryption: auth.encryption,\n abortSignal: params.abortSignal,\n });\n }\n return existingState;\n }\n\n const existingPromise = sharedClientPromises.get(key);\n if (existingPromise) {\n const pending = await existingPromise;\n if (shouldStart) {\n await ensureSharedClientStarted({\n state: pending,\n encryption: auth.encryption,\n abortSignal: params.abortSignal,\n });\n }\n return pending;\n }\n\n const creationPromise = createSharedMatrixClient({\n auth,\n timeoutMs: params.timeoutMs,\n });\n sharedClientPromises.set(key, creationPromise);\n\n try {\n const created = await creationPromise;\n sharedClientStates.set(key, created);\n if (shouldStart) {\n await ensureSharedClientStarted({\n state: created,\n encryption: auth.encryption,\n abortSignal: params.abortSignal,\n });\n }\n return created;\n } finally {\n sharedClientPromises.delete(key);\n }\n}\n\nexport async function resolveSharedMatrixClient(\n params: {\n cfg?: CoreConfig;\n env?: NodeJS.ProcessEnv;\n timeoutMs?: number;\n auth?: MatrixAuth;\n startClient?: boolean;\n accountId?: string | null;\n abortSignal?: AbortSignal;\n } = {},\n): Promise<MatrixClient> {\n const state = await resolveSharedMatrixClientState(params);\n return state.client;\n}\n\nexport async function acquireSharedMatrixClient(\n params: {\n cfg?: CoreConfig;\n env?: NodeJS.ProcessEnv;\n timeoutMs?: number;\n auth?: MatrixAuth;\n startClient?: boolean;\n accountId?: string | null;\n abortSignal?: AbortSignal;\n } = {},\n): Promise<MatrixClient> {\n const state = await resolveSharedMatrixClientState(params);\n state.leases += 1;\n return state.client;\n}\n\nexport function stopSharedClient(): void {\n for (const state of sharedClientStates.values()) {\n state.client.stop();\n }\n sharedClientStates.clear();\n sharedClientPromises.clear();\n}\n\nexport function stopSharedClientForAccount(auth: MatrixAuth): void {\n const key = buildSharedClientKey(auth);\n const state = sharedClientStates.get(key);\n if (!state) {\n return;\n }\n state.client.stop();\n deleteSharedClientState(state);\n}\n\nexport function removeSharedClientInstance(client: MatrixClient): boolean {\n const state = findSharedClientStateByInstance(client);\n if (!state) {\n return false;\n }\n deleteSharedClientState(state);\n return true;\n}\n\nexport function stopSharedClientInstance(client: MatrixClient): void {\n if (!removeSharedClientInstance(client)) {\n return;\n }\n client.stop();\n}\n\nexport async function releaseSharedClientInstance(\n client: MatrixClient,\n mode: \"stop\" | \"persist\" = \"stop\",\n): Promise<boolean> {\n const state = findSharedClientStateByInstance(client);\n if (!state) {\n return false;\n }\n state.leases = Math.max(0, state.leases - 1);\n if (state.leases > 0) {\n return false;\n }\n deleteSharedClientState(state);\n if (mode === \"persist\") {\n await client.stopAndPersist();\n } else {\n client.stop();\n }\n return true;\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["startPromise"]
|
|
7
|
-
}
|