@openclaw/matrix 2026.6.11 → 2026.7.1-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/api.js +4 -4
  2. package/dist/{approval-handler.runtime-CK5HedmU.js → approval-handler.runtime-GpL8SxX2.js} +4 -4
  3. package/dist/{approval-ids-gM2AFaP-.js → approval-ids-DIKCZewR.js} +1 -1
  4. package/dist/{approval-reaction-auth--lKUos8v.js → approval-reaction-auth-DhBxqiQQ.js} +2 -2
  5. package/dist/{channel-Y_HGdzpZ.js → channel-CGc6D4tf.js} +17 -17
  6. package/dist/channel-plugin-api.js +1 -1
  7. package/dist/{channel.runtime-DkbZfBYE.js → channel.runtime-CPu_uwsn.js} +6 -6
  8. package/dist/{cli-ZiO7g1vT.js → cli-BfwYmyEc.js} +9 -9
  9. package/dist/{cli-metadata-Cn_UFU3u.js → cli-metadata-FO-fJqf0.js} +1 -1
  10. package/dist/cli-metadata.js +1 -1
  11. package/dist/{client-DnNqVfCX.js → client-CVluBRDh.js} +2 -2
  12. package/dist/{client-COdtuzoa.js → client-Cb5ILtpE.js} +2 -2
  13. package/dist/{client-bootstrap-DoOOMP52.js → client-bootstrap-1cbA9aSs.js} +1 -1
  14. package/dist/{config-schema-o1UmRtMF.js → config-schema-DFRmUTAG.js} +1 -1
  15. package/dist/contract-api.js +2 -2
  16. package/dist/{create-client-DWe5jGGk.js → create-client-8YNurIAr.js} +3 -3
  17. package/dist/{crypto-runtime-DaHFPR8x.js → crypto-runtime-hMMmqNr1.js} +2 -2
  18. package/dist/{deps-BVWGd2XS.js → deps-D3bkh48_.js} +3 -3
  19. package/dist/{directory-live-D4ibL3X0.js → directory-live-pjbvjDz2.js} +3 -3
  20. package/dist/{doctor-BwpkOBwr.js → doctor-BRSDNU5C.js} +1 -1
  21. package/dist/doctor-contract-api.js +2 -2
  22. package/dist/{draft-stream-aZa1gWNI.js → draft-stream-Djasj65z.js} +1 -1
  23. package/dist/{file-sync-store-1GY-yvy-.js → file-sync-store-BWLVB01Y.js} +1 -1
  24. package/dist/{http-client-BBfH0FfA.js → http-client-nSmFiVgk.js} +11 -6
  25. package/dist/index.js +1 -1
  26. package/dist/{legacy-crypto-inspector-tJOj25VL.js → legacy-crypto-inspector-D_8iylBq.js} +1 -1
  27. package/dist/{legacy-crypto-restore-DenIM7bT.js → legacy-crypto-restore-B0gcIEkE.js} +1 -1
  28. package/dist/{matrix-migration.runtime-dvxE3e5l.js → matrix-migration.runtime-Ctlb_rZl.js} +1 -1
  29. package/dist/{media-text-DS2lvlA2.js → media-text-CUFW_BP5.js} +1 -1
  30. package/dist/{messages-CMTiMecS.js → messages-C1dIZHKy.js} +3 -3
  31. package/dist/{monitor-BpvP2_nj.js → monitor-BMGnvIbg.js} +32 -29
  32. package/dist/plugin-entry.handlers.runtime.js +1 -1
  33. package/dist/probe.runtime-DFt7PIoE.js +3 -0
  34. package/dist/{profile-update-DUh6sAqK.js → profile-update-BaEk4COs.js} +2 -2
  35. package/dist/{reaction-events-CABcpM-q.js → reaction-events-n69MjKzG.js} +1 -1
  36. package/dist/{resolve-targets-Byrcsv59.js → resolve-targets-DyGW9WzC.js} +1 -1
  37. package/dist/{resolver.runtime-Blu9khLB.js → resolver.runtime-DhZV369r.js} +1 -1
  38. package/dist/runtime-api.js +1 -1
  39. package/dist/runtime-heavy-api.js +1 -1
  40. package/dist/{sdk-CpYofZkF.js → sdk-DOxaiBRE.js} +5 -5
  41. package/dist/{send-eoayPB_l.js → send-C0NwpZ-c.js} +1 -1
  42. package/dist/session-binding-contract-api.js +1 -1
  43. package/dist/{setup-bootstrap-DRzRwu9E.js → setup-bootstrap-DbWPVINS.js} +2 -2
  44. package/dist/{setup-core-Ub_idsu1.js → setup-core-DVkrIoax.js} +1 -1
  45. package/dist/setup-plugin-api.js +3 -3
  46. package/dist/{setup-surface-CXenmuMm.js → setup-surface-CN7DEvpg.js} +5 -5
  47. package/dist/{shared-CSN0TWWD.js → shared-iLI-9tb9.js} +3 -3
  48. package/dist/{startup-verification-Bl_QJ2BQ.js → startup-verification-Bd31KqLv.js} +1 -1
  49. package/dist/{storage-BSLHjdgS.js → storage-t5S-5c_5.js} +27 -12
  50. package/dist/{thread-bindings-DuoPRata.js → thread-bindings-D73QFTXW.js} +2 -2
  51. package/dist/{tool-actions.runtime-BwP9E9M0.js → tool-actions.runtime-BCCPq_aO.js} +6 -6
  52. package/dist/{verification-BN8M6A73.js → verification-C0KvXyHK.js} +1 -1
  53. package/npm-shrinkwrap.json +3 -3
  54. package/package.json +4 -4
  55. package/dist/probe.runtime-DKRqRegP.js +0 -3
package/dist/api.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import { a as resolveMatrixDefaultOrOnlyAccountId, i as resolveMatrixChannelConfig, n as requiresExplicitMatrixDefaultAccount, r as resolveConfiguredMatrixAccountIds, t as findMatrixAccountEntry } from "./account-selection-Bv_ZuOu4.js";
2
2
  import { n as listMatrixEnvAccountIds, r as resolveMatrixEnvAccountToken, t as getMatrixScopedEnvVarNames } from "./env-vars-KzaYveuy.js";
3
3
  import { a as resolveMatrixCredentialsPath, c as resolveMatrixLegacyFlatStoreRoot, i as resolveMatrixCredentialsFilename, l as sanitizeMatrixPathSegment, n as resolveMatrixAccountStorageRoot, o as resolveMatrixHomeserverKey, r as resolveMatrixCredentialsDir, s as resolveMatrixLegacyFlatStoragePaths, t as hashMatrixAccessToken } from "./storage-paths-BWo_ZEMC.js";
4
- import { n as matrixSetupAdapter, t as createMatrixSetupWizardProxy } from "./setup-core-Ub_idsu1.js";
5
- import { t as matrixPlugin } from "./channel-Y_HGdzpZ.js";
4
+ import { n as matrixSetupAdapter, t as createMatrixSetupWizardProxy } from "./setup-core-DVkrIoax.js";
5
+ import { t as matrixPlugin } from "./channel-CGc6D4tf.js";
6
6
  import { d as setMatrixThreadBindingIdleTimeoutBySessionKey, n as getMatrixThreadBindingManager, p as setMatrixThreadBindingMaxAgeBySessionKey, s as resetMatrixThreadBindingsForTests } from "./thread-bindings-shared-CKnY4LSd.js";
7
- import { n as matrixOnboardingAdapter } from "./setup-surface-CXenmuMm.js";
8
- import { t as createMatrixThreadBindingManager } from "./thread-bindings-DuoPRata.js";
7
+ import { n as matrixOnboardingAdapter } from "./setup-surface-CN7DEvpg.js";
8
+ import { t as createMatrixThreadBindingManager } from "./thread-bindings-D73QFTXW.js";
9
9
  //#region extensions/matrix/api.ts
10
10
  const matrixSessionBindingAdapterChannels = ["matrix"];
11
11
  //#endregion
@@ -1,9 +1,9 @@
1
- import { g as resolveMatrixAccount } from "./setup-core-Ub_idsu1.js";
2
- import { _ as shouldHandleMatrixApprovalRequest, g as isMatrixAnyApprovalClientEnabled } from "./channel-Y_HGdzpZ.js";
1
+ import { g as resolveMatrixAccount } from "./setup-core-DVkrIoax.js";
2
+ import { _ as shouldHandleMatrixApprovalRequest, g as isMatrixAnyApprovalClientEnabled } from "./channel-CGc6D4tf.js";
3
3
  import { a as resolveMatrixTargetIdentity } from "./target-ids-B-5aQxwn.js";
4
- import { a as sendMessageMatrix, i as reactMatrixMessage, p as repairMatrixDirectRooms, s as sendSingleTextMessageMatrix } from "./send-eoayPB_l.js";
4
+ import { a as sendMessageMatrix, i as reactMatrixMessage, p as repairMatrixDirectRooms, s as sendSingleTextMessageMatrix } from "./send-C0NwpZ-c.js";
5
5
  import { a as unregisterMatrixApprovalReactionTarget, n as listMatrixApprovalReactionBindings, r as registerMatrixApprovalReactionTarget, t as buildMatrixApprovalReactionHint } from "./approval-reactions-BRGQgOu2.js";
6
- import { n as editMatrixMessage, t as deleteMatrixMessage } from "./messages-CMTiMecS.js";
6
+ import { n as editMatrixMessage, t as deleteMatrixMessage } from "./messages-C1dIZHKy.js";
7
7
  import { listMessageReceiptPlatformIds, resolveMessageReceiptPrimaryId } from "openclaw/plugin-sdk/channel-outbound";
8
8
  import { normalizeUniqueStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
9
9
  import { buildChannelApprovalNativeTargetKey } from "openclaw/plugin-sdk/approval-native-runtime";
@@ -1,4 +1,4 @@
1
- import { a as normalizeMatrixUserId } from "./config-schema-o1UmRtMF.js";
1
+ import { a as normalizeMatrixUserId } from "./config-schema-DFRmUTAG.js";
2
2
  //#region extensions/matrix/src/approval-ids.ts
3
3
  function normalizeMatrixApproverId(value) {
4
4
  return normalizeMatrixUserId(String(value)) || void 0;
@@ -1,5 +1,5 @@
1
- import { g as resolveMatrixAccount } from "./setup-core-Ub_idsu1.js";
2
- import { t as normalizeMatrixApproverId } from "./approval-ids-gM2AFaP-.js";
1
+ import { g as resolveMatrixAccount } from "./setup-core-DVkrIoax.js";
2
+ import { t as normalizeMatrixApproverId } from "./approval-ids-DIKCZewR.js";
3
3
  import { resolveApprovalApprovers } from "openclaw/plugin-sdk/approval-auth-runtime";
4
4
  //#region extensions/matrix/src/approval-reaction-auth.ts
5
5
  function normalizeMatrixExecApproverId(value) {
@@ -1,14 +1,14 @@
1
1
  import { n as requiresExplicitMatrixDefaultAccount } from "./account-selection-Bv_ZuOu4.js";
2
2
  import { a as resolveMatrixAccountConfig } from "./account-config-BZWN9tGS.js";
3
- import { d as resolveSingleAccountPromotionTarget, f as singleAccountKeysToMove, g as resolveMatrixAccount, h as resolveDefaultMatrixAccountId, n as matrixSetupAdapter, p as listMatrixAccountIds, t as createMatrixSetupWizardProxy, u as namedAccountPromotionKeys } from "./setup-core-Ub_idsu1.js";
4
- import { a as normalizeMatrixUserId, n as DEFAULT_ACCOUNT_ID$2, r as matrixConfigAdapter, t as MatrixChannelConfigSchema } from "./config-schema-o1UmRtMF.js";
5
- import { t as normalizeMatrixApproverId } from "./approval-ids-gM2AFaP-.js";
3
+ import { d as resolveSingleAccountPromotionTarget, f as singleAccountKeysToMove, g as resolveMatrixAccount, h as resolveDefaultMatrixAccountId, n as matrixSetupAdapter, p as listMatrixAccountIds, t as createMatrixSetupWizardProxy, u as namedAccountPromotionKeys } from "./setup-core-DVkrIoax.js";
4
+ import { a as normalizeMatrixUserId, n as DEFAULT_ACCOUNT_ID$2, r as matrixConfigAdapter, t as MatrixChannelConfigSchema } from "./config-schema-DFRmUTAG.js";
5
+ import { t as normalizeMatrixApproverId } from "./approval-ids-DIKCZewR.js";
6
6
  import { a as resolveMatrixTargetIdentity, i as resolveMatrixDirectUserId, n as normalizeMatrixMessagingTarget, r as normalizeMatrixResolvableTarget } from "./target-ids-B-5aQxwn.js";
7
7
  import { t as formatMatrixErrorMessage } from "./errors-C47hvAF8.js";
8
8
  import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-Dq8OZWHF.js";
9
9
  import { d as setMatrixThreadBindingIdleTimeoutBySessionKey, p as setMatrixThreadBindingMaxAgeBySessionKey } from "./thread-bindings-shared-CKnY4LSd.js";
10
10
  import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-DTgQyQxc.js";
11
- import { i as autoPrepareLegacyMatrixCrypto, o as autoMigrateLegacyMatrixState, r as resolveMatrixMigrationStatus } from "./matrix-migration.runtime-dvxE3e5l.js";
11
+ import { i as autoPrepareLegacyMatrixCrypto, o as autoMigrateLegacyMatrixState, r as resolveMatrixMigrationStatus } from "./matrix-migration.runtime-Ctlb_rZl.js";
12
12
  import { t as maybeCreateMatrixMigrationSnapshot } from "./migration-snapshot-backup-YcCrSjbE.js";
13
13
  import { n as resolveMatrixInboundConversation } from "./thread-binding-api-DRbBZlhS.js";
14
14
  import { describeAccountSnapshot } from "openclaw/plugin-sdk/account-helpers";
@@ -21,7 +21,7 @@ import { createChannelDirectoryAdapter, createResolvedDirectoryEntriesLister, cr
21
21
  import { createLazyRuntimeNamedExport } from "openclaw/plugin-sdk/lazy-runtime";
22
22
  import { buildProbeChannelStatusSummary, collectStatusIssuesFromLastError, createComputedAccountStatusAdapter, createDefaultChannelRuntimeState } from "openclaw/plugin-sdk/status-helpers";
23
23
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeOptionalStringifiedId } from "openclaw/plugin-sdk/string-coerce-runtime";
24
- import { chunkTextForOutbound } from "openclaw/plugin-sdk/text-chunking";
24
+ import { chunkTextForOutbound, sanitizeAssistantVisibleText } from "openclaw/plugin-sdk/text-chunking";
25
25
  import { ToolAuthorizationError, createActionGate, readPositiveIntegerParam, readStringParam } from "openclaw/plugin-sdk/channel-actions";
26
26
  import { extractToolSend } from "openclaw/plugin-sdk/tool-send";
27
27
  import { Type } from "typebox";
@@ -38,7 +38,7 @@ import { PAIRING_APPROVED_MESSAGE } from "openclaw/plugin-sdk/channel-status";
38
38
  import { formatLocationText, logInboundDrop, toLocationContext } from "openclaw/plugin-sdk/channel-inbound";
39
39
  import { getAgentScopedMediaLocalRoots } from "openclaw/plugin-sdk/agent-media-payload";
40
40
  import { buildChannelKeyCandidates, resolveChannelEntryMatch } from "openclaw/plugin-sdk/channel-targets";
41
- import { loadSessionStore, resolveSessionStoreEntry, resolveStorePath } from "openclaw/plugin-sdk/session-store-runtime";
41
+ import { getSessionEntry, resolveStorePath } from "openclaw/plugin-sdk/session-store-runtime";
42
42
  //#region extensions/matrix/src/actions.ts
43
43
  const MATRIX_PLUGIN_HANDLED_ACTIONS = new Set([
44
44
  "send",
@@ -129,7 +129,7 @@ const matrixMessageActions = {
129
129
  return extractToolSend(args, "sendMessage");
130
130
  },
131
131
  handleAction: async (ctx) => {
132
- const { handleMatrixAction } = await import("./tool-actions.runtime-BwP9E9M0.js");
132
+ const { handleMatrixAction } = await import("./tool-actions.runtime-BCCPq_aO.js");
133
133
  const { action, params, cfg, accountId, mediaLocalRoots } = ctx;
134
134
  const dispatch = async (actionParams) => await handleMatrixAction({
135
135
  ...actionParams,
@@ -594,7 +594,7 @@ const matrixNativeApprovalCapability = createApproverRestrictedNativeApprovalCap
594
594
  accountId,
595
595
  request
596
596
  }),
597
- load: async () => (await import("./approval-handler.runtime-CK5HedmU.js")).matrixApprovalNativeRuntime
597
+ load: async () => (await import("./approval-handler.runtime-GpL8SxX2.js")).matrixApprovalNativeRuntime
598
598
  })
599
599
  });
600
600
  const splitMatrixApprovalCapability = splitChannelApprovalCapability(matrixNativeApprovalCapability);
@@ -756,7 +756,7 @@ function resolveMatrixGroupToolPolicy(params) {
756
756
  }
757
757
  //#endregion
758
758
  //#region extensions/matrix/src/resolver.ts
759
- const loadMatrixChannelRuntime$1 = createLazyRuntimeNamedExport(() => import("./resolver.runtime-Blu9khLB.js"), "matrixResolverRuntime");
759
+ const loadMatrixChannelRuntime$1 = createLazyRuntimeNamedExport(() => import("./resolver.runtime-DhZV369r.js"), "matrixResolverRuntime");
760
760
  const matrixResolverAdapter = { resolveTargets: async ({ cfg, accountId, inputs, kind, runtime }) => (await loadMatrixChannelRuntime$1()).resolveMatrixTargets({
761
761
  cfg,
762
762
  accountId,
@@ -823,11 +823,10 @@ function resolveMatrixCurrentDmRoomId(params) {
823
823
  const sessionKey = parseThreadSessionSuffix(params.currentSessionKey).baseSessionKey ?? params.currentSessionKey?.trim();
824
824
  if (!sessionKey) return;
825
825
  try {
826
- const existing = resolveSessionStoreEntry({
827
- store: loadSessionStore(resolveStorePath(params.cfg.session?.store, { agentId: params.agentId })),
826
+ const currentSession = resolveMatrixStoredSessionMeta(getSessionEntry({
827
+ storePath: resolveStorePath(params.cfg.session?.store, { agentId: params.agentId }),
828
828
  sessionKey
829
- }).existing;
830
- const currentSession = resolveMatrixStoredSessionMeta(existing);
829
+ }));
831
830
  if (!currentSession) return;
832
831
  if (currentSession.accountId && currentSession.accountId !== params.accountId) return;
833
832
  if (!currentSession.directUserId || currentSession.directUserId !== params.targetUserId) return;
@@ -945,11 +944,11 @@ async function runMatrixStartupMaintenance(params) {
945
944
  //#endregion
946
945
  //#region extensions/matrix/src/channel.ts
947
946
  let matrixStartupLock = Promise.resolve();
948
- const loadMatrixSetupWizard = createLazyRuntimeNamedExport(() => import("./setup-surface-CXenmuMm.js").then((n) => n.t), "matrixSetupWizard");
949
- const loadMatrixChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-DkbZfBYE.js"), "matrixChannelRuntime");
947
+ const loadMatrixSetupWizard = createLazyRuntimeNamedExport(() => import("./setup-surface-CN7DEvpg.js").then((n) => n.t), "matrixSetupWizard");
948
+ const loadMatrixChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-CPu_uwsn.js"), "matrixChannelRuntime");
950
949
  let matrixDoctorModulePromise = null;
951
950
  const loadMatrixDoctorModule = async () => {
952
- matrixDoctorModulePromise ??= import("./doctor-BwpkOBwr.js");
951
+ matrixDoctorModulePromise ??= import("./doctor-BRSDNU5C.js");
953
952
  return await matrixDoctorModulePromise;
954
953
  };
955
954
  const meta = {
@@ -1103,6 +1102,7 @@ const matrixChannelOutbound = {
1103
1102
  chunker: chunkTextForOutbound,
1104
1103
  chunkerMode: "markdown",
1105
1104
  textChunkLimit: 4e3,
1105
+ sanitizeText: ({ text }) => sanitizeAssistantVisibleText(text),
1106
1106
  deliveryCapabilities: { durableFinal: {
1107
1107
  text: true,
1108
1108
  media: true,
@@ -1322,7 +1322,7 @@ const matrixPlugin = createChatChannelPlugin({
1322
1322
  await previousLock;
1323
1323
  let monitorMatrixProvider;
1324
1324
  try {
1325
- monitorMatrixProvider = (await import("./monitor-BpvP2_nj.js")).monitorMatrixProvider;
1325
+ monitorMatrixProvider = (await import("./monitor-BMGnvIbg.js")).monitorMatrixProvider;
1326
1326
  } finally {
1327
1327
  releaseLock();
1328
1328
  }
@@ -1,2 +1,2 @@
1
- import { t as matrixPlugin } from "./channel-Y_HGdzpZ.js";
1
+ import { t as matrixPlugin } from "./channel-CGc6D4tf.js";
2
2
  export { matrixPlugin };
@@ -1,10 +1,10 @@
1
- import { a as sendMessageMatrix, c as sendTypingMatrix, o as sendPollMatrix } from "./send-eoayPB_l.js";
1
+ import { a as sendMessageMatrix, c as sendTypingMatrix, o as sendPollMatrix } from "./send-C0NwpZ-c.js";
2
2
  import { t as isBunRuntime } from "./runtime-BefyhPWv.js";
3
- import { f as resolveMatrixAuth } from "./shared-CSN0TWWD.js";
4
- import "./client-COdtuzoa.js";
5
- import { n as listMatrixDirectoryGroupsLive, r as listMatrixDirectoryPeersLive } from "./directory-live-D4ibL3X0.js";
3
+ import { f as resolveMatrixAuth } from "./shared-iLI-9tb9.js";
4
+ import "./client-Cb5ILtpE.js";
5
+ import { n as listMatrixDirectoryGroupsLive, r as listMatrixDirectoryPeersLive } from "./directory-live-pjbvjDz2.js";
6
6
  import { f as resolveOutboundSendDep, n as chunkTextForOutbound } from "./runtime-api-CsBoesCU.js";
7
- import { t as resolveMatrixTargets } from "./resolve-targets-Byrcsv59.js";
7
+ import { t as resolveMatrixTargets } from "./resolve-targets-DyGW9WzC.js";
8
8
  import { createReplyToFanout } from "openclaw/plugin-sdk/channel-outbound";
9
9
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
10
10
  import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
@@ -13,7 +13,7 @@ import { resolvePayloadMediaUrls } from "openclaw/plugin-sdk/reply-payload";
13
13
  //#region extensions/matrix/src/matrix/probe.ts
14
14
  let matrixProbeRuntimeDepsPromise;
15
15
  async function loadMatrixProbeRuntimeDeps() {
16
- matrixProbeRuntimeDepsPromise ??= import("./probe.runtime-DKRqRegP.js").then((runtimeModule) => ({ createMatrixClient: runtimeModule.createMatrixClient }));
16
+ matrixProbeRuntimeDepsPromise ??= import("./probe.runtime-DFt7PIoE.js").then((runtimeModule) => ({ createMatrixClient: runtimeModule.createMatrixClient }));
17
17
  return await matrixProbeRuntimeDepsPromise;
18
18
  }
19
19
  async function probeMatrix(params) {
@@ -1,14 +1,14 @@
1
1
  import { a as resolveMatrixAccountConfig } from "./account-config-BZWN9tGS.js";
2
2
  import { t as getMatrixRuntime } from "./runtime-6S3DNFNv.js";
3
- import { c as resolveMatrixConfigPath, g as resolveMatrixAccount, l as updateMatrixAccountConfig, n as matrixSetupAdapter } from "./setup-core-Ub_idsu1.js";
3
+ import { c as resolveMatrixConfigPath, g as resolveMatrixAccount, l as updateMatrixAccountConfig, n as matrixSetupAdapter } from "./setup-core-DVkrIoax.js";
4
4
  import { t as formatMatrixErrorMessage } from "./errors-C47hvAF8.js";
5
- import { n as withResolvedActionClient } from "./client-DnNqVfCX.js";
6
- import { p as resolveMatrixAuthContext } from "./shared-CSN0TWWD.js";
7
- import "./client-COdtuzoa.js";
5
+ import { n as withResolvedActionClient } from "./client-CVluBRDh.js";
6
+ import { p as resolveMatrixAuthContext } from "./shared-iLI-9tb9.js";
7
+ import "./client-Cb5ILtpE.js";
8
8
  import { i as formatZonedTimestamp } from "./runtime-api-CsBoesCU.js";
9
9
  import { isOpenClawManagedMatrixDevice, summarizeMatrixDeviceHealth } from "./device-health-D4LBxuPq.js";
10
- import { n as updateMatrixOwnProfile, t as applyMatrixProfileUpdate } from "./profile-update-DUh6sAqK.js";
11
- import { a as confirmMatrixVerificationSas, b as verifyMatrixRecoveryKey, c as getMatrixRoomKeyBackupStatus, d as listMatrixVerifications, f as mismatchMatrixVerificationSas, g as runMatrixSelfVerification, h as restoreMatrixRoomKeyBackup, l as getMatrixVerificationSas, m as resetMatrixRoomKeyBackup, n as bootstrapMatrixVerification, p as requestMatrixVerification, r as cancelMatrixVerification, t as acceptMatrixVerification, u as getMatrixVerificationStatus, v as startMatrixVerification } from "./verification-BN8M6A73.js";
10
+ import { n as updateMatrixOwnProfile, t as applyMatrixProfileUpdate } from "./profile-update-BaEk4COs.js";
11
+ import { a as confirmMatrixVerificationSas, b as verifyMatrixRecoveryKey, c as getMatrixRoomKeyBackupStatus, d as listMatrixVerifications, f as mismatchMatrixVerificationSas, g as runMatrixSelfVerification, h as restoreMatrixRoomKeyBackup, l as getMatrixVerificationSas, m as resetMatrixRoomKeyBackup, n as bootstrapMatrixVerification, p as requestMatrixVerification, r as cancelMatrixVerification, t as acceptMatrixVerification, u as getMatrixVerificationStatus, v as startMatrixVerification } from "./verification-C0KvXyHK.js";
12
12
  import { t as resolveMatrixRoomKeyBackupIssue } from "./backup-health-Dm_YMVFT.js";
13
13
  import { setMatrixSdkConsoleLogging, setMatrixSdkLogMode } from "./logging-QH-48Gr6.js";
14
14
  import { normalizeAccountId } from "openclaw/plugin-sdk/account-id";
@@ -38,11 +38,11 @@ let matrixCliExitScheduled = false;
38
38
  let matrixActionClientModulePromise;
39
39
  let matrixDirectManagementModulePromise;
40
40
  function loadMatrixActionClientModule() {
41
- matrixActionClientModulePromise ??= import("./client-DnNqVfCX.js").then((n) => n.t);
41
+ matrixActionClientModulePromise ??= import("./client-CVluBRDh.js").then((n) => n.t);
42
42
  return matrixActionClientModulePromise;
43
43
  }
44
44
  function loadMatrixDirectManagementModule() {
45
- matrixDirectManagementModulePromise ??= import("./send-eoayPB_l.js").then((n) => n.d);
45
+ matrixDirectManagementModulePromise ??= import("./send-C0NwpZ-c.js").then((n) => n.d);
46
46
  return matrixDirectManagementModulePromise;
47
47
  }
48
48
  function scheduleMatrixCliExit() {
@@ -212,7 +212,7 @@ async function addMatrixAccount(params) {
212
212
  backupVersion: null
213
213
  };
214
214
  if (accountConfig.encryption === true) {
215
- const { maybeBootstrapNewEncryptedMatrixAccount } = await import("./setup-bootstrap-DRzRwu9E.js");
215
+ const { maybeBootstrapNewEncryptedMatrixAccount } = await import("./setup-bootstrap-DbWPVINS.js");
216
216
  verificationBootstrap = await maybeBootstrapNewEncryptedMatrixAccount({
217
217
  previousCfg: cfg,
218
218
  cfg: updated,
@@ -2,7 +2,7 @@ import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
2
2
  //#region extensions/matrix/src/cli-metadata.ts
3
3
  function registerMatrixCliMetadata(api) {
4
4
  api.registerCli(async ({ program }) => {
5
- const { registerMatrixCli } = await import("./cli-ZiO7g1vT.js");
5
+ const { registerMatrixCli } = await import("./cli-BfwYmyEc.js");
6
6
  registerMatrixCli({ program });
7
7
  }, { descriptors: [{
8
8
  name: "matrix",
@@ -1,2 +1,2 @@
1
- import { n as registerMatrixCliMetadata, t as cli_metadata_default } from "./cli-metadata-Cn_UFU3u.js";
1
+ import { n as registerMatrixCliMetadata, t as cli_metadata_default } from "./cli-metadata-FO-fJqf0.js";
2
2
  export { cli_metadata_default as default, registerMatrixCliMetadata };
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { u as resolveMatrixRoomId } from "./send-eoayPB_l.js";
3
- import { n as withResolvedRuntimeMatrixClient } from "./client-bootstrap-DoOOMP52.js";
2
+ import { u as resolveMatrixRoomId } from "./send-C0NwpZ-c.js";
3
+ import { n as withResolvedRuntimeMatrixClient } from "./client-bootstrap-1cbA9aSs.js";
4
4
  //#region extensions/matrix/src/matrix/actions/client.ts
5
5
  var client_exports = /* @__PURE__ */ __exportAll({
6
6
  withResolvedActionClient: () => withResolvedActionClient,
@@ -3,8 +3,8 @@ import { t as getMatrixScopedEnvVarNames } from "./env-vars-KzaYveuy.js";
3
3
  import { i as resolveScopedMatrixEnvConfig, r as resolveMatrixEnvAuthReadiness, t as hasReadyMatrixEnvAuth } from "./env-auth-DIzOApj0.js";
4
4
  import { n as validateMatrixHomeserverUrl, t as resolveValidatedMatrixHomeserverUrl } from "./url-validation-GRHde6lq.js";
5
5
  import { t as isBunRuntime } from "./runtime-BefyhPWv.js";
6
- import { d as backfillMatrixAuthDeviceIdAfterStartup, f as resolveMatrixAuth, i as resolveSharedMatrixClient, m as resolveMatrixConfigForAccount, n as releaseSharedClientInstance, o as stopSharedClientForAccount, p as resolveMatrixAuthContext, r as removeSharedClientInstance, s as stopSharedClientInstance, t as acquireSharedMatrixClient } from "./shared-CSN0TWWD.js";
7
- import { t as createMatrixClient } from "./create-client-DWe5jGGk.js";
6
+ import { d as backfillMatrixAuthDeviceIdAfterStartup, f as resolveMatrixAuth, i as resolveSharedMatrixClient, m as resolveMatrixConfigForAccount, n as releaseSharedClientInstance, o as stopSharedClientForAccount, p as resolveMatrixAuthContext, r as removeSharedClientInstance, s as stopSharedClientInstance, t as acquireSharedMatrixClient } from "./shared-iLI-9tb9.js";
7
+ import { t as createMatrixClient } from "./create-client-8YNurIAr.js";
8
8
  //#region extensions/matrix/src/matrix/client.ts
9
9
  var client_exports = /* @__PURE__ */ __exportAll({
10
10
  acquireSharedMatrixClient: () => acquireSharedMatrixClient,
@@ -10,7 +10,7 @@ var client_bootstrap_exports = /* @__PURE__ */ __exportAll({
10
10
  });
11
11
  let matrixSharedClientRuntimeDepsPromise;
12
12
  async function loadMatrixSharedClientRuntimeDeps() {
13
- matrixSharedClientRuntimeDepsPromise ??= Promise.all([import("./client-COdtuzoa.js").then((n) => n.t), import("./shared-CSN0TWWD.js").then((n) => n.a)]).then(([clientModule, sharedModule]) => ({
13
+ matrixSharedClientRuntimeDepsPromise ??= Promise.all([import("./client-Cb5ILtpE.js").then((n) => n.t), import("./shared-iLI-9tb9.js").then((n) => n.a)]).then(([clientModule, sharedModule]) => ({
14
14
  acquireSharedMatrixClient: clientModule.acquireSharedMatrixClient,
15
15
  resolveMatrixAuthContext: clientModule.resolveMatrixAuthContext,
16
16
  releaseSharedClientInstance: sharedModule.releaseSharedClientInstance
@@ -1,5 +1,5 @@
1
1
  import { a as resolveMatrixAccountConfig } from "./account-config-BZWN9tGS.js";
2
- import { g as resolveMatrixAccount, h as resolveDefaultMatrixAccountId, p as listMatrixAccountIds } from "./setup-core-Ub_idsu1.js";
2
+ import { g as resolveMatrixAccount, h as resolveDefaultMatrixAccountId, p as listMatrixAccountIds } from "./setup-core-DVkrIoax.js";
3
3
  import { adaptScopedAccountAccessor, createScopedChannelConfigAdapter } from "openclaw/plugin-sdk/channel-config-helpers";
4
4
  import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  import { DEFAULT_ACCOUNT_ID as DEFAULT_ACCOUNT_ID$1 } from "openclaw/plugin-sdk/account-id";
@@ -1,3 +1,3 @@
1
- import { d as resolveSingleAccountPromotionTarget, f as singleAccountKeysToMove, n as matrixSetupAdapter, u as namedAccountPromotionKeys } from "./setup-core-Ub_idsu1.js";
2
- import { n as matrixOnboardingAdapter } from "./setup-surface-CXenmuMm.js";
1
+ import { d as resolveSingleAccountPromotionTarget, f as singleAccountKeysToMove, n as matrixSetupAdapter, u as namedAccountPromotionKeys } from "./setup-core-DVkrIoax.js";
2
+ import { n as matrixOnboardingAdapter } from "./setup-surface-CN7DEvpg.js";
3
3
  export { matrixSetupAdapter, matrixOnboardingAdapter as matrixSetupWizard, namedAccountPromotionKeys, resolveSingleAccountPromotionTarget, singleAccountKeysToMove };
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
2
  import { t as resolveValidatedMatrixHomeserverUrl } from "./url-validation-GRHde6lq.js";
3
- import { d as writeStorageMeta, l as resolveMatrixStoragePaths, r as maybeMigrateLegacyStorage } from "./storage-BSLHjdgS.js";
4
- import "./shared-CSN0TWWD.js";
3
+ import { d as writeStorageMeta, l as resolveMatrixStoragePaths, r as maybeMigrateLegacyStorage } from "./storage-t5S-5c_5.js";
4
+ import "./shared-iLI-9tb9.js";
5
5
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
6
6
  import fs from "node:fs";
7
7
  import { ssrfPolicyFromDangerouslyAllowPrivateNetwork } from "openclaw/plugin-sdk/ssrf-runtime";
@@ -9,7 +9,7 @@ import { ssrfPolicyFromDangerouslyAllowPrivateNetwork } from "openclaw/plugin-sd
9
9
  var create_client_exports = /* @__PURE__ */ __exportAll({ createMatrixClient: () => createMatrixClient });
10
10
  let matrixCreateClientRuntimeDepsPromise;
11
11
  async function loadMatrixCreateClientRuntimeDeps() {
12
- matrixCreateClientRuntimeDepsPromise ??= Promise.all([import("./sdk-CpYofZkF.js"), import("./logging-QH-48Gr6.js")]).then(([sdkModule, loggingModule]) => ({
12
+ matrixCreateClientRuntimeDepsPromise ??= Promise.all([import("./sdk-DOxaiBRE.js"), import("./logging-QH-48Gr6.js")]).then(([sdkModule, loggingModule]) => ({
13
13
  MatrixClient: sdkModule.MatrixClient,
14
14
  ensureMatrixSdkLoggingConfigured: loggingModule.ensureMatrixSdkLoggingConfigured
15
15
  }));
@@ -1,5 +1,5 @@
1
1
  import { t as formatMatrixErrorMessage } from "./errors-C47hvAF8.js";
2
- import { t as ensureMatrixCryptoRuntime } from "./deps-BVWGd2XS.js";
2
+ import { t as ensureMatrixCryptoRuntime } from "./deps-D3bkh48_.js";
3
3
  import { n as LogService, r as noop } from "./logger-D0GCSDQq.js";
4
4
  import { i as restoreIdbFromDisk, n as persistIdbToDisk } from "./idb-persistence-BGY1CJ7J.js";
5
5
  import { n as isRepairableSecretStorageAccessError } from "./recovery-key-store-BGk8c_gf.js";
@@ -389,8 +389,8 @@ function createMatrixCryptoFacade(deps) {
389
389
  };
390
390
  },
391
391
  decryptMedia: async (file, opts) => {
392
- const { Attachment, EncryptedAttachment } = await loadMatrixCryptoNodeBindings();
393
392
  const encrypted = await deps.downloadContent(file.url, opts);
393
+ const { Attachment, EncryptedAttachment } = await loadMatrixCryptoNodeBindings();
394
394
  const metadata = {
395
395
  url: file.url,
396
396
  key: file.key,
@@ -158,7 +158,7 @@ function removeIncompleteMatrixCryptoNativeBinding(params) {
158
158
  }
159
159
  }
160
160
  async function ensureMatrixCryptoRuntime(params = {}) {
161
- const usesDefaultRuntime = !params.requireFn && !params.runCommand && !params.resolveFn && !params.nodeExecutable;
161
+ const usesDefaultRuntime = !params.requireFn && !params.resolveFn;
162
162
  if (usesDefaultRuntime && defaultMatrixCryptoRuntimeEnsurePromise) {
163
163
  await defaultMatrixCryptoRuntimeEnsurePromise;
164
164
  return;
@@ -190,8 +190,8 @@ async function ensureMatrixCryptoRuntimeOnce(params) {
190
190
  }
191
191
  const scriptPath = resolveFn("@matrix-org/matrix-sdk-crypto-nodejs/download-lib.js");
192
192
  params.log?.("matrix: bootstrapping native crypto runtime");
193
- const result = await (params.runCommand ?? runFixedCommandWithTimeout)({
194
- argv: [params.nodeExecutable ?? process.execPath, scriptPath],
193
+ const result = await runFixedCommandWithTimeout({
194
+ argv: [process.execPath, scriptPath],
195
195
  cwd: path.dirname(scriptPath),
196
196
  timeoutMs: 3e5,
197
197
  env: { COREPACK_ENABLE_DOWNLOAD_PROMPT: "0" }
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
2
  import { n as normalizeMatrixMessagingTarget, t as isMatrixQualifiedUserId } from "./target-ids-B-5aQxwn.js";
3
- import { f as resolveMatrixAuth } from "./shared-CSN0TWWD.js";
4
- import "./client-COdtuzoa.js";
5
- import { t as MatrixAuthedHttpClient } from "./http-client-BBfH0FfA.js";
3
+ import { f as resolveMatrixAuth } from "./shared-iLI-9tb9.js";
4
+ import "./client-Cb5ILtpE.js";
5
+ import { t as MatrixAuthedHttpClient } from "./http-client-nSmFiVgk.js";
6
6
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
7
7
  //#region extensions/matrix/src/directory-live.ts
8
8
  var directory_live_exports = /* @__PURE__ */ __exportAll({
@@ -1,6 +1,6 @@
1
1
  import { o as isRecord } from "./account-selection-Bv_ZuOu4.js";
2
2
  import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-Dq8OZWHF.js";
3
- import { i as autoPrepareLegacyMatrixCrypto, o as autoMigrateLegacyMatrixState, r as resolveMatrixMigrationStatus } from "./matrix-migration.runtime-dvxE3e5l.js";
3
+ import { i as autoPrepareLegacyMatrixCrypto, o as autoMigrateLegacyMatrixState, r as resolveMatrixMigrationStatus } from "./matrix-migration.runtime-Ctlb_rZl.js";
4
4
  import { t as maybeCreateMatrixMigrationSnapshot } from "./migration-snapshot-backup-YcCrSjbE.js";
5
5
  import { detectPluginInstallPathIssue, formatPluginInstallPathIssue, removePluginFromConfig } from "openclaw/plugin-sdk/runtime-doctor";
6
6
  //#region extensions/matrix/src/doctor.ts
@@ -1,7 +1,7 @@
1
1
  import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-Dq8OZWHF.js";
2
2
  import { D as writeMatrixRecoveryKeyStateToStore, S as writeMatrixIdbSnapshotJsonToStore, a as hasMatrixLegacyCryptoMigrationStateInStore, d as openMatrixLegacyCryptoMigrationStoreOptions, f as openMatrixRecoveryKeyStoreOptions, h as readLegacyMatrixRecoveryKeyState, i as hasMatrixIdbSnapshotStateInStore, n as MATRIX_LEGACY_CRYPTO_MIGRATION_FILENAME, o as hasMatrixRecoveryKeyStateInStore, p as readLegacyMatrixLegacyCryptoMigrationState, r as MATRIX_RECOVERY_KEY_FILENAME, t as MATRIX_IDB_SNAPSHOT_FILENAME, u as openMatrixIdbSnapshotStoreOptions, w as writeMatrixLegacyCryptoMigrationStateToStore } from "./crypto-state-store-DK2tcEyP.js";
3
- import { a as openMatrixStorageMetaStoreOptions, i as normalizeMatrixStorageMetadata, n as hasMatrixStorageMetaStateInStore, u as writeMatrixStorageMetaStateToStore } from "./storage-BSLHjdgS.js";
4
- import { a as readLegacyMatrixSyncCacheState, i as openMatrixSyncCacheStoreOptions, o as writeMatrixSyncCacheStateToStore, r as hasMatrixSyncCacheStateInStore } from "./file-sync-store-1GY-yvy-.js";
3
+ import { a as openMatrixStorageMetaStoreOptions, i as normalizeMatrixStorageMetadata, n as hasMatrixStorageMetaStateInStore, u as writeMatrixStorageMetaStateToStore } from "./storage-t5S-5c_5.js";
4
+ import { a as readLegacyMatrixSyncCacheState, i as openMatrixSyncCacheStoreOptions, o as writeMatrixSyncCacheStateToStore, r as hasMatrixSyncCacheStateInStore } from "./file-sync-store-BWLVB01Y.js";
5
5
  import { r as readLegacyMatrixIdbSnapshotState } from "./idb-persistence-BGY1CJ7J.js";
6
6
  import path from "node:path";
7
7
  import fs from "node:fs/promises";
@@ -1,4 +1,4 @@
1
- import { n as editMessageMatrix, r as prepareMatrixSingleText, s as sendSingleTextMessageMatrix, y as MsgType } from "./send-eoayPB_l.js";
1
+ import { n as editMessageMatrix, r as prepareMatrixSingleText, s as sendSingleTextMessageMatrix, y as MsgType } from "./send-C0NwpZ-c.js";
2
2
  import { createDraftStreamLoop } from "openclaw/plugin-sdk/channel-outbound";
3
3
  //#region extensions/matrix/src/matrix/draft-stream.ts
4
4
  const DEFAULT_THROTTLE_MS = 1e3;
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
2
  import { o as isRecord } from "./account-selection-Bv_ZuOu4.js";
3
3
  import { t as getMatrixRuntime } from "./runtime-6S3DNFNv.js";
4
4
  import { O as resolveMatrixSqliteStateEnv } from "./crypto-state-store-DK2tcEyP.js";
5
- import { t as claimCurrentTokenStorageState } from "./storage-BSLHjdgS.js";
5
+ import { t as claimCurrentTokenStorageState } from "./storage-t5S-5c_5.js";
6
6
  import { t as createAsyncLock } from "./async-lock-BcLS4KOc.js";
7
7
  import { n as LogService } from "./logger-D0GCSDQq.js";
8
8
  import path from "node:path";
@@ -294,15 +294,16 @@ async function performMatrixRequest(params) {
294
294
  });
295
295
  try {
296
296
  if (params.raw) {
297
- if (params.maxBytes) await enforceDeclaredResponseSize({
297
+ const rawMaxBytes = params.maxBytes ?? MATRIX_SDK_RESPONSE_MAX_BYTES;
298
+ await enforceDeclaredResponseSize({
298
299
  response,
299
- maxBytes: params.maxBytes,
300
- createError: (length) => new MatrixMediaSizeLimitError(`Matrix media exceeds configured size limit (${length} bytes > ${params.maxBytes} bytes)`)
300
+ maxBytes: rawMaxBytes,
301
+ createError: (length) => new MatrixMediaSizeLimitError(`Matrix media exceeds configured size limit (${length} bytes > ${rawMaxBytes} bytes)`)
301
302
  });
302
- const bytes = params.maxBytes ? await readResponseWithLimit$1(response, params.maxBytes, {
303
+ const bytes = await readResponseWithLimit$1(response, rawMaxBytes, {
303
304
  onOverflow: ({ maxBytes, size }) => new MatrixMediaSizeLimitError(`Matrix media exceeds configured size limit (${size} bytes > ${maxBytes} bytes)`),
304
305
  chunkTimeoutMs: params.readIdleTimeoutMs
305
- }) : Buffer.from(await response.arrayBuffer());
306
+ });
306
307
  return {
307
308
  response,
308
309
  text: bytes.toString("utf8"),
@@ -354,7 +355,11 @@ var MatrixAuthedHttpClient = class {
354
355
  if (!response.ok) throw buildHttpError(response.status, text);
355
356
  if ((response.headers.get("content-type") ?? "").includes("application/json")) {
356
357
  if (!text.trim()) return {};
357
- return JSON.parse(text);
358
+ try {
359
+ return JSON.parse(text);
360
+ } catch {
361
+ throw Object.assign(/* @__PURE__ */ new Error("Matrix homeserver returned malformed JSON"), { statusCode: response.status });
362
+ }
358
363
  }
359
364
  return text;
360
365
  }
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { n as registerMatrixCliMetadata } from "./cli-metadata-Cn_UFU3u.js";
1
+ import { n as registerMatrixCliMetadata } from "./cli-metadata-FO-fJqf0.js";
2
2
  import { registerMatrixSubagentHooks } from "./subagent-hooks-api.js";
3
3
  import { defineBundledChannelEntry } from "openclaw/plugin-sdk/channel-entry-contract";
4
4
  //#region extensions/matrix/index.ts
@@ -1,4 +1,4 @@
1
- import { t as ensureMatrixCryptoRuntime } from "./deps-BVWGd2XS.js";
1
+ import { t as ensureMatrixCryptoRuntime } from "./deps-D3bkh48_.js";
2
2
  import { createRequire } from "node:module";
3
3
  import fs from "node:fs";
4
4
  import path from "node:path";
@@ -1,6 +1,6 @@
1
1
  import { t as getMatrixRuntime } from "./runtime-6S3DNFNv.js";
2
2
  import { C as writeMatrixLegacyCryptoMigrationState, _ as readMatrixLegacyCryptoMigrationState, s as migrateLegacyMatrixLegacyCryptoMigrationFileToStore } from "./crypto-state-store-DK2tcEyP.js";
3
- import { l as resolveMatrixStoragePaths } from "./storage-BSLHjdgS.js";
3
+ import { l as resolveMatrixStoragePaths } from "./storage-t5S-5c_5.js";
4
4
  import os from "node:os";
5
5
  import path from "node:path";
6
6
  import fs from "node:fs/promises";
@@ -250,7 +250,7 @@ function isMatrixLegacyCryptoInspectorAvailable() {
250
250
  //#region extensions/matrix/src/legacy-crypto.ts
251
251
  const MATRIX_LEGACY_CRYPTO_INSPECTOR_UNAVAILABLE_MESSAGE = "Legacy Matrix encrypted state was detected, but the Matrix crypto inspector is unavailable.";
252
252
  async function loadMatrixLegacyCryptoInspector() {
253
- return (await import("./legacy-crypto-inspector-tJOj25VL.js")).inspectLegacyMatrixCryptoStore;
253
+ return (await import("./legacy-crypto-inspector-D_8iylBq.js")).inspectLegacyMatrixCryptoStore;
254
254
  }
255
255
  function detectLegacyBotSdkCryptoStore(cryptoRootDir) {
256
256
  try {
@@ -1,4 +1,4 @@
1
- import { C as formatPollResultsAsText, D as parsePollStartContent, O as resolvePollReferenceEventId, S as formatPollAsText, T as isPollStartType, w as isPollEventType, x as buildPollResultsSummary } from "./send-eoayPB_l.js";
1
+ import { C as formatPollResultsAsText, D as parsePollStartContent, O as resolvePollReferenceEventId, S as formatPollAsText, T as isPollStartType, w as isPollEventType, x as buildPollResultsSummary } from "./send-C0NwpZ-c.js";
2
2
  import path from "node:path";
3
3
  //#region extensions/matrix/src/matrix/poll-summary.ts
4
4
  function resolveMatrixPollRootEventId(event) {
@@ -1,8 +1,8 @@
1
1
  import { r as isMatrixNotFoundError } from "./errors-C47hvAF8.js";
2
- import { T as isPollStartType, a as sendMessageMatrix, n as editMessageMatrix, w as isPollEventType } from "./send-eoayPB_l.js";
2
+ import { T as isPollStartType, a as sendMessageMatrix, n as editMessageMatrix, w as isPollEventType } from "./send-C0NwpZ-c.js";
3
3
  import { n as MATRIX_REACTION_EVENT_TYPE } from "./reaction-common-DkrQdBSZ.js";
4
- import { a as resolveMatrixMessageAttachment, l as resolveMatrixPollRootEventId, o as resolveMatrixMessageBody, s as fetchMatrixPollMessageSummary } from "./media-text-DS2lvlA2.js";
5
- import { r as withResolvedRoomAction } from "./client-DnNqVfCX.js";
4
+ import { a as resolveMatrixMessageAttachment, l as resolveMatrixPollRootEventId, o as resolveMatrixMessageBody, s as fetchMatrixPollMessageSummary } from "./media-text-CUFW_BP5.js";
5
+ import { r as withResolvedRoomAction } from "./client-CVluBRDh.js";
6
6
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
7
7
  import { resolveIntegerOption } from "openclaw/plugin-sdk/number-runtime";
8
8
  //#region extensions/matrix/src/matrix/actions/limits.ts
@@ -1,23 +1,23 @@
1
1
  import { a as resolveMatrixAccountConfig, i as resolveMatrixAccountAllowlistConfig } from "./account-config-BZWN9tGS.js";
2
2
  import { t as getMatrixRuntime } from "./runtime-6S3DNFNv.js";
3
- import { m as resolveConfiguredMatrixBotUserIds } from "./setup-core-Ub_idsu1.js";
4
- import { a as buildAllowlistResolutionSummary, c as createTypingCallbacks, d as logInboundDrop, f as logTypingFailure, h as toLocationContext, i as addAllowlistUserEntriesFromConfigEntry, l as formatLocationText, m as summarizeMapping, n as resolveMatrixStoredSessionMeta, o as canonicalizeAllowlistWithResolvedIds, p as patchAllowlistUsersInConfigEntries, r as resolveMatrixRoomConfig, s as createReplyPrefixOptions, u as getAgentScopedMediaLocalRoots } from "./channel-Y_HGdzpZ.js";
5
- import { a as normalizeMatrixUserId, i as normalizeMatrixAllowList, o as resolveMatrixAllowListMatch } from "./config-schema-o1UmRtMF.js";
3
+ import { m as resolveConfiguredMatrixBotUserIds } from "./setup-core-DVkrIoax.js";
4
+ import { a as buildAllowlistResolutionSummary, c as createTypingCallbacks, d as logInboundDrop, f as logTypingFailure, h as toLocationContext, i as addAllowlistUserEntriesFromConfigEntry, l as formatLocationText, m as summarizeMapping, n as resolveMatrixStoredSessionMeta, o as canonicalizeAllowlistWithResolvedIds, p as patchAllowlistUsersInConfigEntries, r as resolveMatrixRoomConfig, s as createReplyPrefixOptions, u as getAgentScopedMediaLocalRoots } from "./channel-CGc6D4tf.js";
5
+ import { a as normalizeMatrixUserId, i as normalizeMatrixAllowList, o as resolveMatrixAllowListMatch } from "./config-schema-DFRmUTAG.js";
6
6
  import { t as isMatrixQualifiedUserId } from "./target-ids-B-5aQxwn.js";
7
7
  import { r as isMatrixNotFoundError, t as formatMatrixErrorMessage } from "./errors-C47hvAF8.js";
8
8
  import { O as resolveMatrixSqliteStateEnv } from "./crypto-state-store-DK2tcEyP.js";
9
- import { c as resolveMatrixStateFilePath } from "./storage-BSLHjdgS.js";
10
- import { D as parsePollStartContent, S as formatPollAsText, T as isPollStartType, _ as readJoinedMatrixMembers, a as sendMessageMatrix, f as promoteMatrixDirectRoomCandidate, g as isStrictDirectMembership, h as hasDirectMatrixMemberFlag, t as chunkMatrixText, v as MATRIX_OPENCLAW_FINALIZED_PREVIEW_KEY, w as isPollEventType } from "./send-eoayPB_l.js";
11
- import { t as createMatrixThreadBindingManager } from "./thread-bindings-DuoPRata.js";
9
+ import { c as resolveMatrixStateFilePath } from "./storage-t5S-5c_5.js";
10
+ import { D as parsePollStartContent, S as formatPollAsText, T as isPollStartType, _ as readJoinedMatrixMembers, a as sendMessageMatrix, f as promoteMatrixDirectRoomCandidate, g as isStrictDirectMembership, h as hasDirectMatrixMemberFlag, t as chunkMatrixText, v as MATRIX_OPENCLAW_FINALIZED_PREVIEW_KEY, w as isPollEventType } from "./send-C0NwpZ-c.js";
11
+ import { t as createMatrixThreadBindingManager } from "./thread-bindings-D73QFTXW.js";
12
12
  import { n as LogService } from "./logger-D0GCSDQq.js";
13
- import { a as resolveMatrixMessageAttachment, c as fetchMatrixPollSnapshot, i as isLikelyBareFilename, n as formatMatrixMediaUnavailableText, o as resolveMatrixMessageBody, r as formatMatrixMessageText, t as formatMatrixMediaTooLargeText } from "./media-text-DS2lvlA2.js";
13
+ import { a as resolveMatrixMessageAttachment, c as fetchMatrixPollSnapshot, i as isLikelyBareFilename, n as formatMatrixMediaUnavailableText, o as resolveMatrixMessageBody, r as formatMatrixMessageText, t as formatMatrixMediaTooLargeText } from "./media-text-CUFW_BP5.js";
14
14
  import { n as setActiveMatrixClient } from "./active-client-DXvz2gCo.js";
15
15
  import { t as isBunRuntime } from "./runtime-BefyhPWv.js";
16
- import { d as backfillMatrixAuthDeviceIdAfterStartup, f as resolveMatrixAuth, i as resolveSharedMatrixClient, l as isMatrixStartupAbortError, n as releaseSharedClientInstance, p as resolveMatrixAuthContext, u as throwIfMatrixStartupAborted } from "./shared-CSN0TWWD.js";
17
- import "./client-COdtuzoa.js";
18
- import { i as isMatrixMediaSizeLimitError, r as MatrixMediaSizeLimitError } from "./http-client-BBfH0FfA.js";
16
+ import { d as backfillMatrixAuthDeviceIdAfterStartup, f as resolveMatrixAuth, i as resolveSharedMatrixClient, l as isMatrixStartupAbortError, n as releaseSharedClientInstance, p as resolveMatrixAuthContext, u as throwIfMatrixStartupAborted } from "./shared-iLI-9tb9.js";
17
+ import "./client-Cb5ILtpE.js";
18
+ import { i as isMatrixMediaSizeLimitError, r as MatrixMediaSizeLimitError } from "./http-client-nSmFiVgk.js";
19
19
  import { d as resolveDefaultGroupPolicy, h as warnMissingProviderGroupPolicyFallbackOnce, m as resolveThreadBindingMaxAgeMsForChannel, p as resolveThreadBindingIdleTimeoutMsForChannel, t as GROUP_POLICY_BLOCKED_LABEL, u as resolveAllowlistProviderRuntimeGroupPolicy } from "./runtime-api-CsBoesCU.js";
20
- import { t as resolveMatrixTargets } from "./resolve-targets-Byrcsv59.js";
20
+ import { t as resolveMatrixTargets } from "./resolve-targets-DyGW9WzC.js";
21
21
  import { t as formatMatrixEncryptedEventDisabledWarning } from "./encryption-guidance-Bg3IRYoX.js";
22
22
  import { n as isMatrixReadySyncState, r as isMatrixTerminalSyncState, t as isMatrixDisconnectedSyncState } from "./sync-state-CWbp0QSY.js";
23
23
  import { a as EventType, i as resolveMatrixThreadRouting, n as resolveMatrixReplyToEventId, o as RelationType, r as resolveMatrixThreadRootId, t as resolveMatrixInboundRoute } from "./route-DY6at4qJ.js";
@@ -28,7 +28,7 @@ import { createHash } from "node:crypto";
28
28
  import { CHANNEL_APPROVAL_NATIVE_RUNTIME_CONTEXT_CAPABILITY } from "openclaw/plugin-sdk/approval-handler-adapter-runtime";
29
29
  import { resolveInboundLastRouteSessionKey } from "openclaw/plugin-sdk/routing";
30
30
  import { buildChannelInboundEventContext, hasFinalInboundReplyDispatch, toInboundMediaFacts } from "openclaw/plugin-sdk/channel-inbound";
31
- import { loadSessionStore, resolveSessionStoreEntry } from "openclaw/plugin-sdk/session-store-runtime";
31
+ import { getSessionEntry } from "openclaw/plugin-sdk/session-store-runtime";
32
32
  import { isFutureDateTimestampMs, parseStrictFiniteNumber, resolveExpiresAtMsFromDurationMs, resolveOptionalIntegerOption } from "openclaw/plugin-sdk/number-runtime";
33
33
  import { readJsonFileWithFallback } from "openclaw/plugin-sdk/json-store";
34
34
  import fs from "node:fs/promises";
@@ -42,7 +42,7 @@ import { evaluateSupplementalContextVisibility, resolveChannelContextVisibilityM
42
42
  import { mergePairLoopGuardConfig } from "openclaw/plugin-sdk/pair-loop-guard-runtime";
43
43
  import { buildInboundHistoryFromEntries } from "openclaw/plugin-sdk/reply-history";
44
44
  import { resolvePinnedMainDmOwnerFromAllowlist } from "openclaw/plugin-sdk/security-runtime";
45
- import { escapeRegExp } from "openclaw/plugin-sdk/text-utility-runtime";
45
+ import { escapeRegExp, sliceUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
46
46
  import { logVerbose } from "openclaw/plugin-sdk/runtime-env";
47
47
  import { createConnectedChannelStatusPatch, createTransportActivityStatusPatch } from "openclaw/plugin-sdk/gateway-runtime";
48
48
  //#region extensions/matrix/src/matrix/monitor/auto-join.ts
@@ -821,7 +821,7 @@ const SAS_NOTICE_RETRY_DELAY_MS = 750;
821
821
  const VERIFICATION_EVENT_STARTUP_GRACE_MS = 3e4;
822
822
  let matrixDirectRoomDepsPromise;
823
823
  async function loadMatrixDirectRoomDeps() {
824
- matrixDirectRoomDepsPromise ??= Promise.all([import("./send-eoayPB_l.js").then((n) => n.d), import("./send-eoayPB_l.js").then((n) => n.m)]).then(([directManagementModule, directRoomModule]) => ({
824
+ matrixDirectRoomDepsPromise ??= Promise.all([import("./send-C0NwpZ-c.js").then((n) => n.d), import("./send-C0NwpZ-c.js").then((n) => n.m)]).then(([directManagementModule, directRoomModule]) => ({
825
825
  inspectMatrixDirectRooms: directManagementModule.inspectMatrixDirectRooms,
826
826
  isStrictDirectRoom: directRoomModule.isStrictDirectRoom
827
827
  }));
@@ -1870,7 +1870,7 @@ const MAX_CACHED_REPLY_CONTEXTS = 256;
1870
1870
  const MAX_REPLY_BODY_LENGTH = 500;
1871
1871
  function truncateReplyBody(value) {
1872
1872
  if (value.length <= MAX_REPLY_BODY_LENGTH) return value;
1873
- return `${value.slice(0, MAX_REPLY_BODY_LENGTH - 3)}...`;
1873
+ return `${sliceUtf16Safe(value, 0, MAX_REPLY_BODY_LENGTH - 3)}...`;
1874
1874
  }
1875
1875
  function summarizeMatrixReplyEvent(event) {
1876
1876
  const body = summarizeMatrixMessageContextEvent(event);
@@ -2170,7 +2170,7 @@ const MAX_TRACKED_THREAD_STARTERS = 256;
2170
2170
  const MAX_THREAD_STARTER_BODY_LENGTH = 500;
2171
2171
  function truncateThreadStarterBody(value) {
2172
2172
  if (value.length <= MAX_THREAD_STARTER_BODY_LENGTH) return value;
2173
- return `${value.slice(0, MAX_THREAD_STARTER_BODY_LENGTH - 3)}...`;
2173
+ return `${sliceUtf16Safe(value, 0, MAX_THREAD_STARTER_BODY_LENGTH - 3)}...`;
2174
2174
  }
2175
2175
  function summarizeMatrixThreadStarterEvent(event) {
2176
2176
  const body = summarizeMatrixMessageContextEvent(event);
@@ -2235,7 +2235,7 @@ let sessionBindingRuntimePromise;
2235
2235
  let matrixReactionEventsPromise;
2236
2236
  let matrixDraftStreamPromise;
2237
2237
  function loadMatrixSendModule() {
2238
- matrixSendModulePromise ??= import("./send-eoayPB_l.js").then((n) => n.l);
2238
+ matrixSendModulePromise ??= import("./send-C0NwpZ-c.js").then((n) => n.l);
2239
2239
  return matrixSendModulePromise;
2240
2240
  }
2241
2241
  function loadAcpBindingRuntime() {
@@ -2247,11 +2247,11 @@ function loadSessionBindingRuntime() {
2247
2247
  return sessionBindingRuntimePromise;
2248
2248
  }
2249
2249
  function loadMatrixReactionEvents() {
2250
- matrixReactionEventsPromise ??= import("./reaction-events-CABcpM-q.js");
2250
+ matrixReactionEventsPromise ??= import("./reaction-events-n69MjKzG.js");
2251
2251
  return matrixReactionEventsPromise;
2252
2252
  }
2253
2253
  function loadMatrixDraftStream() {
2254
- matrixDraftStreamPromise ??= import("./draft-stream-aZa1gWNI.js");
2254
+ matrixDraftStreamPromise ??= import("./draft-stream-Djasj65z.js");
2255
2255
  return matrixDraftStreamPromise;
2256
2256
  }
2257
2257
  async function matrixTextWouldActivateMentions(client, text) {
@@ -2317,10 +2317,10 @@ function resolveMatrixSharedDmContextNotice(params) {
2317
2317
  if ((params.dmSessionScope ?? "per-user") === "per-room") return null;
2318
2318
  if (params.sentRooms.has(params.roomId)) return null;
2319
2319
  try {
2320
- const currentSession = resolveMatrixStoredSessionMeta(resolveSessionStoreEntry({
2321
- store: loadSessionStore(params.storePath),
2320
+ const currentSession = resolveMatrixStoredSessionMeta(getSessionEntry({
2321
+ storePath: params.storePath,
2322
2322
  sessionKey: params.sessionKey
2323
- }).existing);
2323
+ }));
2324
2324
  if (!currentSession) return null;
2325
2325
  if (currentSession.channel && currentSession.channel !== "matrix") return null;
2326
2326
  if (currentSession.accountId && currentSession.accountId !== params.accountId) return null;
@@ -3882,12 +3882,15 @@ function pruneSeenEvents(params) {
3882
3882
  seen.delete(oldestKey);
3883
3883
  }
3884
3884
  }
3885
- function createInboundDedupeStore(params) {
3886
- return getMatrixRuntime().state.openKeyedStore({
3885
+ function openMatrixInboundDedupeStoreOptions(params) {
3886
+ return {
3887
3887
  namespace: INBOUND_DEDUPE_NAMESPACE,
3888
3888
  maxEntries: DEFAULT_MAX_ENTRIES,
3889
3889
  env: resolveMatrixSqliteStateEnv(params)
3890
- });
3890
+ };
3891
+ }
3892
+ function createInboundDedupeStore(params) {
3893
+ return getMatrixRuntime().state.openKeyedStore(openMatrixInboundDedupeStoreOptions(params));
3891
3894
  }
3892
3895
  function createInboundDedupeMigrationStore(params) {
3893
3896
  return getMatrixRuntime().state.openKeyedStore({
@@ -4146,11 +4149,11 @@ function createMatrixRoomInfoResolver(client) {
4146
4149
  let matrixStartupMaintenanceDepsPromise;
4147
4150
  async function loadMatrixStartupMaintenanceDeps() {
4148
4151
  matrixStartupMaintenanceDepsPromise ??= Promise.all([
4149
- import("./setup-core-Ub_idsu1.js").then((n) => n.s),
4152
+ import("./setup-core-DVkrIoax.js").then((n) => n.s),
4150
4153
  import("./device-health-D4LBxuPq.js"),
4151
- import("./setup-core-Ub_idsu1.js").then((n) => n.a),
4152
- import("./legacy-crypto-restore-DenIM7bT.js"),
4153
- import("./startup-verification-Bl_QJ2BQ.js")
4154
+ import("./setup-core-DVkrIoax.js").then((n) => n.a),
4155
+ import("./legacy-crypto-restore-B0gcIEkE.js"),
4156
+ import("./startup-verification-Bd31KqLv.js")
4154
4157
  ]).then(([configUpdateModule, deviceHealthModule, profileModule, legacyCryptoRestoreModule, startupVerificationModule]) => ({
4155
4158
  updateMatrixAccountConfig: configUpdateModule.updateMatrixAccountConfig,
4156
4159
  summarizeMatrixDeviceHealth: deviceHealthModule.summarizeMatrixDeviceHealth,
@@ -3,7 +3,7 @@ import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runti
3
3
  //#region extensions/matrix/src/plugin-entry.runtime.ts
4
4
  let matrixVerificationRuntimePromise;
5
5
  function loadMatrixVerificationRuntime() {
6
- matrixVerificationRuntimePromise ??= import("./verification-BN8M6A73.js").then((n) => n.y);
6
+ matrixVerificationRuntimePromise ??= import("./verification-C0KvXyHK.js").then((n) => n.y);
7
7
  return matrixVerificationRuntimePromise;
8
8
  }
9
9
  function sendError(respond, err) {
@@ -0,0 +1,3 @@
1
+ import { t as createMatrixClient } from "./create-client-8YNurIAr.js";
2
+ import "./client-Cb5ILtpE.js";
3
+ export { createMatrixClient };
@@ -1,6 +1,6 @@
1
1
  import { t as getMatrixRuntime } from "./runtime-6S3DNFNv.js";
2
- import { c as resolveMatrixConfigPath, l as updateMatrixAccountConfig, o as syncMatrixOwnProfile } from "./setup-core-Ub_idsu1.js";
3
- import { n as withResolvedActionClient } from "./client-DnNqVfCX.js";
2
+ import { c as resolveMatrixConfigPath, l as updateMatrixAccountConfig, o as syncMatrixOwnProfile } from "./setup-core-DVkrIoax.js";
3
+ import { n as withResolvedActionClient } from "./client-CVluBRDh.js";
4
4
  import { normalizeAccountId } from "openclaw/plugin-sdk/account-id";
5
5
  //#region extensions/matrix/src/matrix/actions/profile.ts
6
6
  async function updateMatrixOwnProfile(opts = {}) {
@@ -7,7 +7,7 @@ import { getSessionBindingService } from "openclaw/plugin-sdk/session-binding-ru
7
7
  let approvalReactionAuthPromise;
8
8
  let execApprovalResolverPromise;
9
9
  function loadApprovalReactionAuth() {
10
- approvalReactionAuthPromise ??= import("./approval-reaction-auth--lKUos8v.js");
10
+ approvalReactionAuthPromise ??= import("./approval-reaction-auth-DhBxqiQQ.js");
11
11
  return approvalReactionAuthPromise;
12
12
  }
13
13
  function loadExecApprovalResolver() {
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
2
  import { n as normalizeMatrixMessagingTarget, t as isMatrixQualifiedUserId } from "./target-ids-B-5aQxwn.js";
3
- import { n as listMatrixDirectoryGroupsLive, r as listMatrixDirectoryPeersLive } from "./directory-live-D4ibL3X0.js";
3
+ import { n as listMatrixDirectoryGroupsLive, r as listMatrixDirectoryPeersLive } from "./directory-live-pjbvjDz2.js";
4
4
  import { normalizeOptionalLowercaseString } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  //#region extensions/matrix/src/resolve-targets.ts
6
6
  var resolve_targets_exports = /* @__PURE__ */ __exportAll({ resolveMatrixTargets: () => resolveMatrixTargets });
@@ -1,4 +1,4 @@
1
- import { t as resolveMatrixTargets } from "./resolve-targets-Byrcsv59.js";
1
+ import { t as resolveMatrixTargets } from "./resolve-targets-DyGW9WzC.js";
2
2
  //#region extensions/matrix/src/resolver.runtime.ts
3
3
  const matrixResolverRuntime = { resolveMatrixTargets };
4
4
  //#endregion
@@ -3,7 +3,7 @@ import { n as listMatrixEnvAccountIds, r as resolveMatrixEnvAccountToken, t as g
3
3
  import { r as setMatrixRuntime } from "./runtime-6S3DNFNv.js";
4
4
  import { a as resolveMatrixCredentialsPath, c as resolveMatrixLegacyFlatStoreRoot, i as resolveMatrixCredentialsFilename, l as sanitizeMatrixPathSegment, n as resolveMatrixAccountStorageRoot, o as resolveMatrixHomeserverKey, r as resolveMatrixCredentialsDir, s as resolveMatrixLegacyFlatStoragePaths, t as hashMatrixAccessToken } from "./storage-paths-BWo_ZEMC.js";
5
5
  import { d as setMatrixThreadBindingIdleTimeoutBySessionKey, p as setMatrixThreadBindingMaxAgeBySessionKey } from "./thread-bindings-shared-CKnY4LSd.js";
6
- import { n as ensureMatrixSdkInstalled, r as isMatrixSdkAvailable } from "./deps-BVWGd2XS.js";
6
+ import { n as ensureMatrixSdkInstalled, r as isMatrixSdkAvailable } from "./deps-D3bkh48_.js";
7
7
  import { assertHttpUrlTargetsPrivateNetwork, closeDispatcher, createPinnedDispatcher, resolvePinnedHostnameWithPolicy, ssrfPolicyFromAllowPrivateNetwork, ssrfPolicyFromDangerouslyAllowPrivateNetwork } from "openclaw/plugin-sdk/ssrf-runtime";
8
8
  import { writeJsonFileAtomically } from "openclaw/plugin-sdk/json-store";
9
9
  import { formatZonedTimestamp } from "openclaw/plugin-sdk/time-runtime";
@@ -1,3 +1,3 @@
1
- import { a as detectLegacyMatrixCrypto, i as autoPrepareLegacyMatrixCrypto, n as hasPendingMatrixMigration, o as autoMigrateLegacyMatrixState, r as resolveMatrixMigrationStatus, s as detectLegacyMatrixState, t as hasActionableMatrixMigration } from "./matrix-migration.runtime-dvxE3e5l.js";
1
+ import { a as detectLegacyMatrixCrypto, i as autoPrepareLegacyMatrixCrypto, n as hasPendingMatrixMigration, o as autoMigrateLegacyMatrixState, r as resolveMatrixMigrationStatus, s as detectLegacyMatrixState, t as hasActionableMatrixMigration } from "./matrix-migration.runtime-Ctlb_rZl.js";
2
2
  import { t as maybeCreateMatrixMigrationSnapshot } from "./migration-snapshot-backup-YcCrSjbE.js";
3
3
  export { autoMigrateLegacyMatrixState, autoPrepareLegacyMatrixCrypto, detectLegacyMatrixCrypto, detectLegacyMatrixState, hasActionableMatrixMigration, hasPendingMatrixMigration, maybeCreateMatrixMigrationSnapshot, resolveMatrixMigrationStatus };
@@ -1,9 +1,9 @@
1
1
  import { n as formatMatrixErrorReason, r as isMatrixNotFoundError, t as formatMatrixErrorMessage } from "./errors-C47hvAF8.js";
2
2
  import { n as LogService, r as noop, t as ConsoleLogger } from "./logger-D0GCSDQq.js";
3
- import { t as SqliteBackedMatrixSyncStore } from "./file-sync-store-1GY-yvy-.js";
3
+ import { t as SqliteBackedMatrixSyncStore } from "./file-sync-store-BWLVB01Y.js";
4
4
  import { t as MATRIX_IDB_PERSIST_INTERVAL_MS } from "./idb-persistence-lock-DAJ49nZX.js";
5
- import { c as createMatrixStartupAbortError, u as throwIfMatrixStartupAborted } from "./shared-CSN0TWWD.js";
6
- import { a as matrixEventToRaw, n as createMatrixGuardedFetch, o as parseMxc, t as MatrixAuthedHttpClient } from "./http-client-BBfH0FfA.js";
5
+ import { c as createMatrixStartupAbortError, u as throwIfMatrixStartupAborted } from "./shared-iLI-9tb9.js";
6
+ import { a as matrixEventToRaw, n as createMatrixGuardedFetch, o as parseMxc, t as MatrixAuthedHttpClient } from "./http-client-nSmFiVgk.js";
7
7
  import { n as resolveMatrixRoomKeyBackupReadinessError } from "./backup-health-Dm_YMVFT.js";
8
8
  import { createMatrixJsSdkClientLogger } from "./logging-QH-48Gr6.js";
9
9
  import { n as isMatrixReadySyncState, r as isMatrixTerminalSyncState } from "./sync-state-CWbp0QSY.js";
@@ -95,7 +95,7 @@ function createMatrixExplicitBootstrapOptions(params) {
95
95
  let loadedMatrixCryptoRuntime = null;
96
96
  let matrixCryptoRuntimePromise = null;
97
97
  async function loadMatrixCryptoRuntime() {
98
- matrixCryptoRuntimePromise ??= import("./crypto-runtime-DaHFPR8x.js").then((runtime) => {
98
+ matrixCryptoRuntimePromise ??= import("./crypto-runtime-hMMmqNr1.js").then((runtime) => {
99
99
  loadedMatrixCryptoRuntime = runtime;
100
100
  return runtime;
101
101
  });
@@ -221,7 +221,7 @@ var MatrixClient = class {
221
221
  verificationManager: this.verificationManager,
222
222
  recoveryKeyStore: this.recoveryKeyStore,
223
223
  getRoomStateEvent: (roomId, eventType, stateKey = "") => this.getRoomStateEvent(roomId, eventType, stateKey),
224
- downloadContent: (mxcUrl) => this.downloadContent(mxcUrl)
224
+ downloadContent: (mxcUrl, opts) => this.downloadContent(mxcUrl, opts)
225
225
  });
226
226
  if (!this.verificationSummaryListenerBound) {
227
227
  this.verificationSummaryListenerBound = true;
@@ -229,7 +229,7 @@ function buildPollResponseContent(pollEventId, answerIds) {
229
229
  //#region extensions/matrix/src/matrix/send/client.ts
230
230
  let matrixSendClientRuntimePromise = null;
231
231
  async function loadMatrixSendClientRuntime() {
232
- matrixSendClientRuntimePromise ??= import("./client-bootstrap-DoOOMP52.js").then((n) => n.t);
232
+ matrixSendClientRuntimePromise ??= import("./client-bootstrap-1cbA9aSs.js").then((n) => n.t);
233
233
  return await matrixSendClientRuntimePromise;
234
234
  }
235
235
  function resolveMediaMaxBytes(accountId, cfg) {
@@ -1,4 +1,4 @@
1
1
  import { r as setMatrixRuntime } from "./runtime-6S3DNFNv.js";
2
2
  import { s as resetMatrixThreadBindingsForTests } from "./thread-bindings-shared-CKnY4LSd.js";
3
- import { t as createMatrixThreadBindingManager } from "./thread-bindings-DuoPRata.js";
3
+ import { t as createMatrixThreadBindingManager } from "./thread-bindings-D73QFTXW.js";
4
4
  export { createMatrixThreadBindingManager, resetMatrixThreadBindingsForTests, setMatrixRuntime };
@@ -1,7 +1,7 @@
1
1
  import { a as resolveMatrixAccountConfig, n as hasExplicitMatrixAccountConfig } from "./account-config-BZWN9tGS.js";
2
- import "./setup-core-Ub_idsu1.js";
2
+ import "./setup-core-DVkrIoax.js";
3
3
  import { t as formatMatrixErrorMessage } from "./errors-C47hvAF8.js";
4
- import { n as bootstrapMatrixVerification } from "./verification-BN8M6A73.js";
4
+ import { n as bootstrapMatrixVerification } from "./verification-C0KvXyHK.js";
5
5
  //#region extensions/matrix/src/setup-bootstrap.ts
6
6
  async function maybeBootstrapNewEncryptedMatrixAccount(params) {
7
7
  const accountConfig = resolveMatrixAccountConfig({
@@ -670,7 +670,7 @@ const matrixSetupAdapter = {
670
670
  input
671
671
  }),
672
672
  afterAccountConfigWritten: async ({ previousCfg, cfg, accountId, runtime }) => {
673
- const { runMatrixSetupBootstrapAfterConfigWrite } = await import("./setup-bootstrap-DRzRwu9E.js");
673
+ const { runMatrixSetupBootstrapAfterConfigWrite } = await import("./setup-bootstrap-DbWPVINS.js");
674
674
  await runMatrixSetupBootstrapAfterConfigWrite({
675
675
  previousCfg,
676
676
  cfg,
@@ -1,5 +1,5 @@
1
- import { g as resolveMatrixAccount, n as matrixSetupAdapter, t as createMatrixSetupWizardProxy } from "./setup-core-Ub_idsu1.js";
2
- import { r as matrixConfigAdapter, t as MatrixChannelConfigSchema } from "./config-schema-o1UmRtMF.js";
1
+ import { g as resolveMatrixAccount, n as matrixSetupAdapter, t as createMatrixSetupWizardProxy } from "./setup-core-DVkrIoax.js";
2
+ import { r as matrixConfigAdapter, t as MatrixChannelConfigSchema } from "./config-schema-DFRmUTAG.js";
3
3
  import { describeAccountSnapshot } from "openclaw/plugin-sdk/account-helpers";
4
4
  const matrixSetupPlugin = {
5
5
  id: "matrix",
@@ -13,7 +13,7 @@ const matrixSetupPlugin = {
13
13
  order: 70,
14
14
  quickstartAllowFrom: true
15
15
  },
16
- setupWizard: createMatrixSetupWizardProxy(async () => ({ matrixSetupWizard: (await import("./setup-surface-CXenmuMm.js").then((n) => n.t)).matrixSetupWizard })),
16
+ setupWizard: createMatrixSetupWizardProxy(async () => ({ matrixSetupWizard: (await import("./setup-surface-CN7DEvpg.js").then((n) => n.t)).matrixSetupWizard })),
17
17
  setup: matrixSetupAdapter,
18
18
  capabilities: {
19
19
  chatTypes: [
@@ -2,10 +2,10 @@ import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
2
  import { n as requiresExplicitMatrixDefaultAccount } from "./account-selection-Bv_ZuOu4.js";
3
3
  import { a as resolveMatrixAccountConfig } from "./account-config-BZWN9tGS.js";
4
4
  import { r as resolveMatrixEnvAuthReadiness } from "./env-auth-DIzOApj0.js";
5
- import { g as resolveMatrixAccount, h as resolveDefaultMatrixAccountId, i as moveSingleMatrixAccountConfigToNamedAccount, l as updateMatrixAccountConfig, p as listMatrixAccountIds, r as resolveMatrixSetupDmAllowFrom } from "./setup-core-Ub_idsu1.js";
5
+ import { g as resolveMatrixAccount, h as resolveDefaultMatrixAccountId, i as moveSingleMatrixAccountConfigToNamedAccount, l as updateMatrixAccountConfig, p as listMatrixAccountIds, r as resolveMatrixSetupDmAllowFrom } from "./setup-core-DVkrIoax.js";
6
6
  import { t as resolveMatrixConfigFieldPath } from "./config-paths-CnREYb1Y.js";
7
7
  import { n as validateMatrixHomeserverUrl, r as isPrivateOrLoopbackHost, t as resolveValidatedMatrixHomeserverUrl } from "./url-validation-GRHde6lq.js";
8
- import { n as ensureMatrixSdkInstalled, r as isMatrixSdkAvailable } from "./deps-BVWGd2XS.js";
8
+ import { n as ensureMatrixSdkInstalled, r as isMatrixSdkAvailable } from "./deps-D3bkh48_.js";
9
9
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeStringifiedOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
10
10
  import { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/account-id";
11
11
  import { formatDocsLink, hasConfiguredSecretInput, mergeAllowFromEntries, normalizeAccountId as normalizeAccountId$1, promptAccountId, promptChannelAccessConfig, splitSetupEntries } from "openclaw/plugin-sdk/setup";
@@ -105,7 +105,7 @@ async function promptMatrixAllowFrom(params) {
105
105
  pending.push(part);
106
106
  }
107
107
  if (pending.length > 0) {
108
- const { resolveMatrixTargets } = await import("./resolve-targets-Byrcsv59.js").then((n) => n.n);
108
+ const { resolveMatrixTargets } = await import("./resolve-targets-DyGW9WzC.js").then((n) => n.n);
109
109
  const results = await resolveMatrixTargets({
110
110
  cfg,
111
111
  accountId,
@@ -233,7 +233,7 @@ async function configureMatrixAccessPrompts(params) {
233
233
  resolvedIds.push(cleaned);
234
234
  continue;
235
235
  }
236
- const { listMatrixDirectoryGroupsLive } = await import("./directory-live-D4ibL3X0.js").then((n) => n.t);
236
+ const { listMatrixDirectoryGroupsLive } = await import("./directory-live-pjbvjDz2.js").then((n) => n.t);
237
237
  const matches = await listMatrixDirectoryGroupsLive({
238
238
  cfg: next,
239
239
  accountId: params.accountId,
@@ -508,7 +508,7 @@ const matrixOnboardingAdapter = {
508
508
  });
509
509
  },
510
510
  afterConfigWritten: async ({ previousCfg, cfg, accountId, runtime }) => {
511
- const { runMatrixSetupBootstrapAfterConfigWrite } = await import("./setup-bootstrap-DRzRwu9E.js");
511
+ const { runMatrixSetupBootstrapAfterConfigWrite } = await import("./setup-bootstrap-DbWPVINS.js");
512
512
  await runMatrixSetupBootstrapAfterConfigWrite({
513
513
  previousCfg,
514
514
  cfg,
@@ -5,7 +5,7 @@ import { o as resolveMatrixBaseConfig, r as listNormalizedMatrixAccountIds, t as
5
5
  import { i as resolveScopedMatrixEnvConfig, n as resolveGlobalMatrixEnvConfig } from "./env-auth-DIzOApj0.js";
6
6
  import { t as resolveMatrixConfigFieldPath } from "./config-paths-CnREYb1Y.js";
7
7
  import { t as resolveValidatedMatrixHomeserverUrl } from "./url-validation-GRHde6lq.js";
8
- import { s as repairCurrentTokenStorageMetaDeviceId } from "./storage-BSLHjdgS.js";
8
+ import { s as repairCurrentTokenStorageMetaDeviceId } from "./storage-t5S-5c_5.js";
9
9
  import { n as LogService } from "./logger-D0GCSDQq.js";
10
10
  import { DEFAULT_ACCOUNT_ID as DEFAULT_ACCOUNT_ID$1, normalizeAccountId as normalizeAccountId$1, normalizeOptionalAccountId, normalizeOptionalAccountId as normalizeOptionalAccountId$1 } from "openclaw/plugin-sdk/account-id";
11
11
  import { coerceSecretRef, normalizeResolvedSecretInputString } from "openclaw/plugin-sdk/secret-input-runtime";
@@ -21,7 +21,7 @@ let matrixCredentialsWriteRuntimePromise;
21
21
  let matrixSecretInputDepsPromise;
22
22
  const MATRIX_AUTH_REQUEST_RETRY_RE = /\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;
23
23
  async function loadMatrixAuthClientDeps() {
24
- matrixAuthClientDepsPromise ??= Promise.all([import("./sdk-CpYofZkF.js"), import("./logging-QH-48Gr6.js")]).then(([sdkModule, loggingModule]) => ({
24
+ matrixAuthClientDepsPromise ??= Promise.all([import("./sdk-DOxaiBRE.js"), import("./logging-QH-48Gr6.js")]).then(([sdkModule, loggingModule]) => ({
25
25
  MatrixClient: sdkModule.MatrixClient,
26
26
  ensureMatrixSdkLoggingConfigured: loggingModule.ensureMatrixSdkLoggingConfigured
27
27
  }));
@@ -501,7 +501,7 @@ var shared_exports = /* @__PURE__ */ __exportAll({
501
501
  });
502
502
  let matrixCreateClientDepsPromise;
503
503
  async function loadMatrixCreateClientDeps() {
504
- matrixCreateClientDepsPromise ??= import("./create-client-DWe5jGGk.js").then((n) => n.n).then((runtime) => ({ createMatrixClient: runtime.createMatrixClient }));
504
+ matrixCreateClientDepsPromise ??= import("./create-client-8YNurIAr.js").then((n) => n.n).then((runtime) => ({ createMatrixClient: runtime.createMatrixClient }));
505
505
  return await matrixCreateClientDepsPromise;
506
506
  }
507
507
  const sharedClientStates = /* @__PURE__ */ new Map();
@@ -1,7 +1,7 @@
1
1
  import { t as getMatrixRuntime } from "./runtime-6S3DNFNv.js";
2
2
  import { t as formatMatrixErrorMessage } from "./errors-C47hvAF8.js";
3
3
  import { O as resolveMatrixSqliteStateEnv } from "./crypto-state-store-DK2tcEyP.js";
4
- import { l as resolveMatrixStoragePaths, o as recordCurrentStorageMetaDeviceId } from "./storage-BSLHjdgS.js";
4
+ import { l as resolveMatrixStoragePaths, o as recordCurrentStorageMetaDeviceId } from "./storage-t5S-5c_5.js";
5
5
  import path from "node:path";
6
6
  import { createHash } from "node:crypto";
7
7
  import { timestampMsToIsoString } from "openclaw/plugin-sdk/number-runtime";
@@ -92,21 +92,17 @@ function isCompatibleStorageRoot(params) {
92
92
  function resolvePreferredMatrixStorageRoot(params) {
93
93
  const parentDir = path.dirname(params.canonicalRootDir);
94
94
  const bestCurrentScore = scoreStorageRoot(params.canonicalRootDir);
95
+ const bestCurrentMtimeMs = resolveStorageRootMtimeMs(params.canonicalRootDir);
95
96
  let best = {
96
97
  rootDir: params.canonicalRootDir,
97
98
  tokenHash: params.canonicalTokenHash,
98
99
  score: bestCurrentScore,
99
- mtimeMs: resolveStorageRootMtimeMs(params.canonicalRootDir)
100
+ mtimeMs: bestCurrentMtimeMs
100
101
  };
101
102
  if (!params.deviceId?.trim()) return {
102
103
  rootDir: best.rootDir,
103
104
  tokenHash: best.tokenHash
104
105
  };
105
- const canonicalMetadata = readStoredRootMetadata(params.canonicalRootDir);
106
- if (canonicalMetadata.accessTokenHash === params.canonicalTokenHash && canonicalMetadata.deviceId?.trim() === params.deviceId.trim() && canonicalMetadata.currentTokenStateClaimed === true) return {
107
- rootDir: best.rootDir,
108
- tokenHash: best.tokenHash
109
- };
110
106
  let siblingEntries;
111
107
  try {
112
108
  siblingEntries = fs.readdirSync(parentDir, { withFileTypes: true });
@@ -116,7 +112,9 @@ function resolvePreferredMatrixStorageRoot(params) {
116
112
  tokenHash: best.tokenHash
117
113
  };
118
114
  }
119
- for (const entry of siblingEntries) {
115
+ const compatiblePopulatedSiblings = [];
116
+ const populatedTokenHashes = bestCurrentScore > 0 ? [params.canonicalTokenHash] : [];
117
+ for (const entry of siblingEntries.toSorted((a, b) => a.name.localeCompare(b.name))) {
120
118
  if (!entry.isDirectory()) continue;
121
119
  if (entry.name === params.canonicalTokenHash) continue;
122
120
  const candidateRootDir = path.join(parentDir, entry.name);
@@ -130,14 +128,31 @@ function resolvePreferredMatrixStorageRoot(params) {
130
128
  })) continue;
131
129
  const candidateScore = scoreStorageRoot(candidateRootDir);
132
130
  if (candidateScore <= 0) continue;
133
- const candidateMtimeMs = resolveStorageRootMtimeMs(candidateRootDir);
134
- if (candidateScore > best.score || best.rootDir !== params.canonicalRootDir && candidateScore === best.score && candidateMtimeMs > best.mtimeMs) best = {
131
+ populatedTokenHashes.push(entry.name);
132
+ compatiblePopulatedSiblings.push({
135
133
  rootDir: candidateRootDir,
136
134
  tokenHash: entry.name,
137
135
  score: candidateScore,
138
- mtimeMs: candidateMtimeMs
136
+ mtimeMs: resolveStorageRootMtimeMs(candidateRootDir)
137
+ });
138
+ }
139
+ const canonicalMetadata = readStoredRootMetadata(params.canonicalRootDir);
140
+ if (!(canonicalMetadata.accessTokenHash === params.canonicalTokenHash && canonicalMetadata.deviceId?.trim() === params.deviceId.trim() && canonicalMetadata.currentTokenStateClaimed === true)) {
141
+ for (const candidate of compatiblePopulatedSiblings) if (candidate.score > best.score || best.rootDir !== params.canonicalRootDir && candidate.score === best.score && candidate.mtimeMs > best.mtimeMs) best = {
142
+ rootDir: candidate.rootDir,
143
+ tokenHash: candidate.tokenHash,
144
+ score: candidate.score,
145
+ mtimeMs: candidate.mtimeMs
139
146
  };
140
147
  }
148
+ if (populatedTokenHashes.length > 1) getMatrixRuntime().logging.getChildLogger({ module: "matrix-storage" }).warn("matrix: multiple populated token-hash storage roots detected", {
149
+ parentDir,
150
+ canonicalTokenHash: params.canonicalTokenHash,
151
+ selectedTokenHash: best.tokenHash,
152
+ populatedTokenHashes,
153
+ populatedSiblingTokenHashes: compatiblePopulatedSiblings.map((root) => root.tokenHash),
154
+ populatedRootCount: populatedTokenHashes.length
155
+ });
141
156
  return {
142
157
  rootDir: best.rootDir,
143
158
  tokenHash: best.tokenHash
@@ -186,7 +201,7 @@ async function maybeMigrateLegacyStorage(params) {
186
201
  const legacy = resolveLegacyStoragePaths(params.env);
187
202
  const hasFlatLegacyStorageFile = fs.existsSync(legacy.storagePath);
188
203
  const hasAccountScopedLegacyStorageFile = fs.existsSync(params.storagePaths.storagePath);
189
- const syncCache = hasFlatLegacyStorageFile || hasAccountScopedLegacyStorageFile ? await import("./file-sync-store-1GY-yvy-.js").then((n) => n.n) : null;
204
+ const syncCache = hasFlatLegacyStorageFile || hasAccountScopedLegacyStorageFile ? await import("./file-sync-store-BWLVB01Y.js").then((n) => n.n) : null;
190
205
  const hasFlatLegacyStorage = hasFlatLegacyStorageFile && await syncCache?.readLegacyMatrixSyncCacheState(legacy.rootDir) !== null;
191
206
  const hasAccountScopedLegacyStorage = hasAccountScopedLegacyStorageFile && await syncCache?.readLegacyMatrixSyncCacheState(params.storagePaths.rootDir) !== null;
192
207
  const hasLegacyCrypto = fs.existsSync(legacy.cryptoPath);
@@ -293,7 +308,7 @@ async function migrateLegacyIdbSnapshotToSqlite(params) {
293
308
  });
294
309
  }
295
310
  async function migrateLegacySyncCacheToSqlite(params) {
296
- const syncCache = await import("./file-sync-store-1GY-yvy-.js").then((n) => n.n);
311
+ const syncCache = await import("./file-sync-store-BWLVB01Y.js").then((n) => n.n);
297
312
  const persisted = await syncCache.readLegacyMatrixSyncCacheState(params.sourceRootDir);
298
313
  if (!persisted) return;
299
314
  const store = getMatrixRuntime().state.openKeyedStore(syncCache.openMatrixSyncCacheStoreOptions(params.targetRootDir));
@@ -1,8 +1,8 @@
1
1
  import { t as getMatrixRuntime } from "./runtime-6S3DNFNv.js";
2
2
  import { a as listBindingsForAccount, c as resolveBindingKey, f as setMatrixThreadBindingManagerEntry, h as toSessionBindingRecord, l as resolveEffectiveBindingExpiry, m as toMatrixBindingTargetKind, o as removeBindingRecord, r as getMatrixThreadBindingManagerEntry, t as deleteMatrixThreadBindingManagerEntry, u as setBindingRecord } from "./thread-bindings-shared-CKnY4LSd.js";
3
3
  import { O as resolveMatrixSqliteStateEnv, k as resolveMatrixSqliteStateKey } from "./crypto-state-store-DK2tcEyP.js";
4
- import { c as resolveMatrixStateFilePath, t as claimCurrentTokenStorageState } from "./storage-BSLHjdgS.js";
5
- import { a as sendMessageMatrix } from "./send-eoayPB_l.js";
4
+ import { c as resolveMatrixStateFilePath, t as claimCurrentTokenStorageState } from "./storage-t5S-5c_5.js";
5
+ import { a as sendMessageMatrix } from "./send-C0NwpZ-c.js";
6
6
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
7
7
  import path from "node:path";
8
8
  import { createHash } from "node:crypto";
@@ -1,12 +1,12 @@
1
1
  import { a as resolveMatrixAccountConfig } from "./account-config-BZWN9tGS.js";
2
- import "./setup-core-Ub_idsu1.js";
3
- import { E as parsePollStart, T as isPollStartType, b as buildPollResponseContent, i as reactMatrixMessage, u as resolveMatrixRoomId } from "./send-eoayPB_l.js";
2
+ import "./setup-core-DVkrIoax.js";
3
+ import { E as parsePollStart, T as isPollStartType, b as buildPollResponseContent, i as reactMatrixMessage, u as resolveMatrixRoomId } from "./send-C0NwpZ-c.js";
4
4
  import { i as buildMatrixReactionRelationsPath, o as selectOwnMatrixReactionEventIds, s as summarizeMatrixReactionEvents } from "./reaction-common-DkrQdBSZ.js";
5
- import { n as withResolvedActionClient, r as withResolvedRoomAction } from "./client-DnNqVfCX.js";
6
- import { a as fetchEventSummary, c as resolveMatrixActionLimit, i as sendMatrixMessage, n as editMatrixMessage, o as readPinnedEvents, r as readMatrixMessages, s as EventType, t as deleteMatrixMessage } from "./messages-CMTiMecS.js";
5
+ import { n as withResolvedActionClient, r as withResolvedRoomAction } from "./client-CVluBRDh.js";
6
+ import { a as fetchEventSummary, c as resolveMatrixActionLimit, i as sendMatrixMessage, n as editMatrixMessage, o as readPinnedEvents, r as readMatrixMessages, s as EventType, t as deleteMatrixMessage } from "./messages-C1dIZHKy.js";
7
7
  import { a as jsonResult, c as readStringArrayParam, l as readStringParam, o as readPositiveIntegerParam, r as createActionGate, s as readReactionParams } from "./runtime-api-CsBoesCU.js";
8
- import { t as applyMatrixProfileUpdate } from "./profile-update-DUh6sAqK.js";
9
- import { _ as scanMatrixVerificationQr, a as confirmMatrixVerificationSas, b as verifyMatrixRecoveryKey, c as getMatrixRoomKeyBackupStatus, d as listMatrixVerifications, f as mismatchMatrixVerificationSas, h as restoreMatrixRoomKeyBackup, i as confirmMatrixVerificationReciprocateQr, l as getMatrixVerificationSas, n as bootstrapMatrixVerification, o as generateMatrixVerificationQr, p as requestMatrixVerification, r as cancelMatrixVerification, s as getMatrixEncryptionStatus, t as acceptMatrixVerification, u as getMatrixVerificationStatus, v as startMatrixVerification } from "./verification-BN8M6A73.js";
8
+ import { t as applyMatrixProfileUpdate } from "./profile-update-BaEk4COs.js";
9
+ import { _ as scanMatrixVerificationQr, a as confirmMatrixVerificationSas, b as verifyMatrixRecoveryKey, c as getMatrixRoomKeyBackupStatus, d as listMatrixVerifications, f as mismatchMatrixVerificationSas, h as restoreMatrixRoomKeyBackup, i as confirmMatrixVerificationReciprocateQr, l as getMatrixVerificationSas, n as bootstrapMatrixVerification, o as generateMatrixVerificationQr, p as requestMatrixVerification, r as cancelMatrixVerification, s as getMatrixEncryptionStatus, t as acceptMatrixVerification, u as getMatrixVerificationStatus, v as startMatrixVerification } from "./verification-C0KvXyHK.js";
10
10
  import { normalizeOptionalLowercaseString, uniqueStrings, uniqueValues } from "openclaw/plugin-sdk/string-coerce-runtime";
11
11
  //#region extensions/matrix/src/matrix/actions/polls.ts
12
12
  function normalizeOptionIndexes(indexes) {
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { i as withStartedActionClient, n as withResolvedActionClient } from "./client-DnNqVfCX.js";
2
+ import { i as withStartedActionClient, n as withResolvedActionClient } from "./client-CVluBRDh.js";
3
3
  import { n as formatMatrixEncryptionUnavailableError } from "./encryption-guidance-Bg3IRYoX.js";
4
4
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  import { requireRuntimeConfig } from "openclaw/plugin-sdk/plugin-config-runtime";
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@openclaw/matrix",
3
- "version": "2026.6.11",
3
+ "version": "2026.7.1-beta.1",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@openclaw/matrix",
9
- "version": "2026.6.11",
9
+ "version": "2026.7.1-beta.1",
10
10
  "dependencies": {
11
11
  "@matrix-org/matrix-sdk-crypto-nodejs": "0.6.0",
12
12
  "@matrix-org/matrix-sdk-crypto-wasm": "18.3.0",
@@ -18,7 +18,7 @@
18
18
  "zod": "4.4.3"
19
19
  },
20
20
  "peerDependencies": {
21
- "openclaw": ">=2026.6.11"
21
+ "openclaw": ">=2026.7.1-beta.1"
22
22
  },
23
23
  "peerDependenciesMeta": {
24
24
  "openclaw": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/matrix",
3
- "version": "2026.6.11",
3
+ "version": "2026.7.1-beta.1",
4
4
  "description": "OpenClaw Matrix channel plugin for rooms and direct messages.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -18,7 +18,7 @@
18
18
  "zod": "4.4.3"
19
19
  },
20
20
  "peerDependencies": {
21
- "openclaw": ">=2026.6.11"
21
+ "openclaw": ">=2026.7.1-beta.1"
22
22
  },
23
23
  "peerDependenciesMeta": {
24
24
  "openclaw": {
@@ -84,10 +84,10 @@
84
84
  "allowInvalidConfigRecovery": true
85
85
  },
86
86
  "compat": {
87
- "pluginApi": ">=2026.6.11"
87
+ "pluginApi": ">=2026.7.1-beta.1"
88
88
  },
89
89
  "build": {
90
- "openclawVersion": "2026.6.11"
90
+ "openclawVersion": "2026.7.1-beta.1"
91
91
  },
92
92
  "release": {
93
93
  "publishToClawHub": true,
@@ -1,3 +0,0 @@
1
- import { t as createMatrixClient } from "./create-client-DWe5jGGk.js";
2
- import "./client-COdtuzoa.js";
3
- export { createMatrixClient };