@openclaw/matrix 2026.5.24-beta.2 → 2026.5.25-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 (47) hide show
  1. package/dist/api.js +4 -4
  2. package/dist/{approval-handler.runtime-Bb6fxC96.js → approval-handler.runtime-R9NDTUte.js} +6 -5
  3. package/dist/{approval-ids-BxkgpCbC.js → approval-ids-CDBO9rb7.js} +1 -1
  4. package/dist/{approval-reaction-auth-CEVNfsxP.js → approval-reaction-auth-B1S7D_cq.js} +2 -2
  5. package/dist/{channel-nkcpZsMB.js → channel-Q-9mXTAf.js} +12 -12
  6. package/dist/channel-plugin-api.js +1 -1
  7. package/dist/{channel.runtime-CdvR9rPM.js → channel.runtime-Dfg5ICEI.js} +6 -6
  8. package/dist/{cli-9WDb7vD3.js → cli-Dy8NAJro.js} +9 -9
  9. package/dist/{cli-metadata-DkG8K_HZ.js → cli-metadata-CoOIrCvz.js} +1 -1
  10. package/dist/cli-metadata.js +1 -1
  11. package/dist/{client-BUC2jCAX.js → client-DLpRIMeD.js} +2 -2
  12. package/dist/{client-BbuTUaZb.js → client-QO7vDxm0.js} +2 -2
  13. package/dist/{client-bootstrap-bDVMLctr.js → client-bootstrap-DK9i3KZ5.js} +1 -1
  14. package/dist/{config-schema-B29Tb4I2.js → config-schema-qPgAoSU2.js} +3 -3
  15. package/dist/contract-api.js +3 -3
  16. package/dist/{create-client-Bt3o4spU.js → create-client-hdBEoEIm.js} +2 -2
  17. package/dist/{crypto-runtime-yojbuOD8.js → crypto-runtime-BcQzS9DV.js} +1 -1
  18. package/dist/{directory-live-CF8-oMy9.js → directory-live-2-Vb6nss.js} +2 -2
  19. package/dist/{doctor-Ct_9WGLY.js → doctor-qLh9PyE4.js} +2 -1
  20. package/dist/{draft-stream-BBwgRoUh.js → draft-stream-D1PvVZ3B.js} +1 -1
  21. package/dist/index.js +1 -1
  22. package/dist/{legacy-crypto-inspector-FOIK8zmf.js → legacy-crypto-inspector-BRdo-WqV.js} +3 -2
  23. package/dist/{matrix-migration.runtime-BeJ2i3_e.js → matrix-migration.runtime-BhJb4ZII.js} +1 -1
  24. package/dist/{media-text-BJv2N4wk.js → media-text-Dowl-J8F.js} +1 -1
  25. package/dist/{messages-C3mtEl6W.js → messages-D_zHS_2K.js} +3 -3
  26. package/dist/{monitor-C-it5ue9.js → monitor-j0WwEmVj.js} +19 -19
  27. package/dist/plugin-entry.handlers.runtime.js +1 -1
  28. package/dist/probe.runtime-9S17Q3Mo.js +3 -0
  29. package/dist/{profile-update-Rn6jH803.js → profile-update-Esnq0p93.js} +2 -2
  30. package/dist/{reaction-events-DmHbgP3C.js → reaction-events-BP49GRln.js} +1 -1
  31. package/dist/{resolve-targets-Bsvenfrx.js → resolve-targets-BPhBqXyj.js} +1 -1
  32. package/dist/{resolver.runtime-CINI2ek_.js → resolver.runtime-BOS3foyc.js} +1 -1
  33. package/dist/runtime-heavy-api.js +1 -1
  34. package/dist/{sdk-DYgMrfU0.js → sdk-BKBZkPKt.js} +3 -3
  35. package/dist/{send-DxmZAhzk.js → send-DiYHONuz.js} +1 -1
  36. package/dist/{setup-bootstrap-DrbtSj86.js → setup-bootstrap-Cgq4GjHo.js} +2 -2
  37. package/dist/{setup-core-3cj9Xl8X.js → setup-core-DiRWksVZ.js} +1 -1
  38. package/dist/setup-plugin-api.js +3 -3
  39. package/dist/{setup-surface-BQpdB86d.js → setup-surface-DD5dKWcB.js} +4 -4
  40. package/dist/{shared-CiCENm9L.js → shared-3K27tl8e.js} +2 -2
  41. package/dist/test-api.js +2 -2
  42. package/dist/{thread-bindings-J5zieZly.js → thread-bindings-DpAW-FD_.js} +1 -1
  43. package/dist/{tool-actions.runtime-Degh72hC.js → tool-actions.runtime-B0cTgnsO.js} +9 -10
  44. package/dist/{verification-0rKbLW-L.js → verification-CVQiUQ9Y.js} +1 -1
  45. package/npm-shrinkwrap.json +3 -3
  46. package/package.json +4 -4
  47. package/dist/probe.runtime-BzgYdO2A.js +0 -3
package/dist/api.js CHANGED
@@ -2,10 +2,10 @@ import { d as setMatrixThreadBindingIdleTimeoutBySessionKey, n as getMatrixThrea
2
2
  import { a as resolveMatrixDefaultOrOnlyAccountId, i as resolveMatrixChannelConfig, n as requiresExplicitMatrixDefaultAccount, r as resolveConfiguredMatrixAccountIds, t as findMatrixAccountEntry } from "./account-selection-C3arLOhC.js";
3
3
  import { n as listMatrixEnvAccountIds, r as resolveMatrixEnvAccountToken, t as getMatrixScopedEnvVarNames } from "./env-vars-KzaYveuy.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-BV2Z7bns.js";
5
- import { n as matrixSetupAdapter, t as createMatrixSetupWizardProxy } from "./setup-core-3cj9Xl8X.js";
6
- import { t as matrixPlugin } from "./channel-nkcpZsMB.js";
7
- import { n as matrixOnboardingAdapter } from "./setup-surface-BQpdB86d.js";
8
- import { t as createMatrixThreadBindingManager } from "./thread-bindings-J5zieZly.js";
5
+ import { n as matrixSetupAdapter, t as createMatrixSetupWizardProxy } from "./setup-core-DiRWksVZ.js";
6
+ import { t as matrixPlugin } from "./channel-Q-9mXTAf.js";
7
+ import { n as matrixOnboardingAdapter } from "./setup-surface-DD5dKWcB.js";
8
+ import { t as createMatrixThreadBindingManager } from "./thread-bindings-DpAW-FD_.js";
9
9
  //#region extensions/matrix/api.ts
10
10
  const matrixSessionBindingAdapterChannels = ["matrix"];
11
11
  //#endregion
@@ -1,9 +1,10 @@
1
1
  import { a as resolveMatrixTargetIdentity } from "./target-ids-B-5aQxwn.js";
2
- import { g as resolveMatrixAccount } from "./setup-core-3cj9Xl8X.js";
3
- import { _ as shouldHandleMatrixApprovalRequest, g as isMatrixAnyApprovalClientEnabled } from "./channel-nkcpZsMB.js";
4
- import { a as sendMessageMatrix, i as reactMatrixMessage, p as repairMatrixDirectRooms, s as sendSingleTextMessageMatrix } from "./send-DxmZAhzk.js";
2
+ import { g as resolveMatrixAccount } from "./setup-core-DiRWksVZ.js";
3
+ import { _ as shouldHandleMatrixApprovalRequest, g as isMatrixAnyApprovalClientEnabled } from "./channel-Q-9mXTAf.js";
4
+ import { a as sendMessageMatrix, i as reactMatrixMessage, p as repairMatrixDirectRooms, s as sendSingleTextMessageMatrix } from "./send-DiYHONuz.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-C3mtEl6W.js";
6
+ import { n as editMatrixMessage, t as deleteMatrixMessage } from "./messages-D_zHS_2K.js";
7
+ import { normalizeUniqueStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
7
8
  import { listMessageReceiptPlatformIds, resolveMessageReceiptPrimaryId } from "openclaw/plugin-sdk/channel-message";
8
9
  import { buildChannelApprovalNativeTargetKey } from "openclaw/plugin-sdk/approval-native-runtime";
9
10
  import { setTimeout } from "node:timers/promises";
@@ -24,7 +25,7 @@ function resolveHandlerContext(params) {
24
25
  };
25
26
  }
26
27
  function normalizePendingMessageIds(entry) {
27
- return Array.from(new Set(entry.platformMessageIds.map((messageId) => messageId.trim()).filter(Boolean)));
28
+ return normalizeUniqueStringEntries(entry.platformMessageIds);
28
29
  }
29
30
  function normalizeReactionTargetRef(params) {
30
31
  const roomId = params.roomId.trim();
@@ -1,4 +1,4 @@
1
- import { a as normalizeMatrixUserId } from "./config-schema-B29Tb4I2.js";
1
+ import { a as normalizeMatrixUserId } from "./config-schema-qPgAoSU2.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-3cj9Xl8X.js";
2
- import { t as normalizeMatrixApproverId } from "./approval-ids-BxkgpCbC.js";
1
+ import { g as resolveMatrixAccount } from "./setup-core-DiRWksVZ.js";
2
+ import { t as normalizeMatrixApproverId } from "./approval-ids-CDBO9rb7.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) {
@@ -2,13 +2,13 @@ import { a as resolveMatrixTargetIdentity, i as resolveMatrixDirectUserId, n as
2
2
  import { d as setMatrixThreadBindingIdleTimeoutBySessionKey, p as setMatrixThreadBindingMaxAgeBySessionKey } from "./thread-bindings-shared-CKnY4LSd.js";
3
3
  import { n as requiresExplicitMatrixDefaultAccount } from "./account-selection-C3arLOhC.js";
4
4
  import { c as resolveMatrixAccountConfig } from "./config-paths-ZBCMwSos.js";
5
- 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-3cj9Xl8X.js";
6
- import { a as normalizeMatrixUserId, n as DEFAULT_ACCOUNT_ID$2, r as matrixConfigAdapter, t as MatrixChannelConfigSchema } from "./config-schema-B29Tb4I2.js";
7
- import { t as normalizeMatrixApproverId } from "./approval-ids-BxkgpCbC.js";
5
+ 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-DiRWksVZ.js";
6
+ import { a as normalizeMatrixUserId, n as DEFAULT_ACCOUNT_ID$2, r as matrixConfigAdapter, t as MatrixChannelConfigSchema } from "./config-schema-qPgAoSU2.js";
7
+ import { t as normalizeMatrixApproverId } from "./approval-ids-CDBO9rb7.js";
8
8
  import { t as formatMatrixErrorMessage } from "./errors-C47hvAF8.js";
9
9
  import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-D9oKDvsJ.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-BeJ2i3_e.js";
11
+ import { i as autoPrepareLegacyMatrixCrypto, o as autoMigrateLegacyMatrixState, r as resolveMatrixMigrationStatus } from "./matrix-migration.runtime-BhJb4ZII.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 { normalizeAccountId } from "openclaw/plugin-sdk/account-id";
@@ -132,7 +132,7 @@ const matrixMessageActions = {
132
132
  return extractToolSend(args, "sendMessage");
133
133
  },
134
134
  handleAction: async (ctx) => {
135
- const { handleMatrixAction } = await import("./tool-actions.runtime-Degh72hC.js");
135
+ const { handleMatrixAction } = await import("./tool-actions.runtime-B0cTgnsO.js");
136
136
  const { action, params, cfg, accountId, mediaLocalRoots } = ctx;
137
137
  const dispatch = async (actionParams) => await handleMatrixAction({
138
138
  ...actionParams,
@@ -596,7 +596,7 @@ const matrixNativeApprovalCapability = createApproverRestrictedNativeApprovalCap
596
596
  accountId,
597
597
  request
598
598
  }),
599
- load: async () => (await import("./approval-handler.runtime-Bb6fxC96.js")).matrixApprovalNativeRuntime
599
+ load: async () => (await import("./approval-handler.runtime-R9NDTUte.js")).matrixApprovalNativeRuntime
600
600
  })
601
601
  });
602
602
  const splitMatrixApprovalCapability = splitChannelApprovalCapability(matrixNativeApprovalCapability);
@@ -758,7 +758,7 @@ function resolveMatrixGroupToolPolicy(params) {
758
758
  }
759
759
  //#endregion
760
760
  //#region extensions/matrix/src/resolver.ts
761
- const loadMatrixChannelRuntime$1 = createLazyRuntimeNamedExport(() => import("./resolver.runtime-CINI2ek_.js"), "matrixResolverRuntime");
761
+ const loadMatrixChannelRuntime$1 = createLazyRuntimeNamedExport(() => import("./resolver.runtime-BOS3foyc.js"), "matrixResolverRuntime");
762
762
  const matrixResolverAdapter = { resolveTargets: async ({ cfg, accountId, inputs, kind, runtime }) => (await loadMatrixChannelRuntime$1()).resolveMatrixTargets({
763
763
  cfg,
764
764
  accountId,
@@ -947,8 +947,8 @@ async function runMatrixStartupMaintenance(params) {
947
947
  //#endregion
948
948
  //#region extensions/matrix/src/channel.ts
949
949
  let matrixStartupLock = Promise.resolve();
950
- const loadMatrixSetupWizard = createLazyRuntimeNamedExport(() => import("./setup-surface-BQpdB86d.js").then((n) => n.t), "matrixSetupWizard");
951
- const loadMatrixChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-CdvR9rPM.js"), "matrixChannelRuntime");
950
+ const loadMatrixSetupWizard = createLazyRuntimeNamedExport(() => import("./setup-surface-DD5dKWcB.js").then((n) => n.t), "matrixSetupWizard");
951
+ const loadMatrixChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-Dfg5ICEI.js"), "matrixChannelRuntime");
952
952
  const meta = {
953
953
  id: "matrix",
954
954
  label: "Matrix",
@@ -972,12 +972,12 @@ const matrixDoctor = {
972
972
  warnOnEmptyGroupSenderAllowlist: true,
973
973
  legacyConfigRules,
974
974
  normalizeCompatibilityConfig,
975
- runConfigSequence: async ({ cfg, env, shouldRepair }) => await (await import("./doctor-Ct_9WGLY.js")).runMatrixDoctorSequence({
975
+ runConfigSequence: async ({ cfg, env, shouldRepair }) => await (await import("./doctor-qLh9PyE4.js")).runMatrixDoctorSequence({
976
976
  cfg,
977
977
  env,
978
978
  shouldRepair
979
979
  }),
980
- cleanStaleConfig: async ({ cfg }) => await (await import("./doctor-Ct_9WGLY.js")).cleanStaleMatrixPluginConfig(cfg)
980
+ cleanStaleConfig: async ({ cfg }) => await (await import("./doctor-qLh9PyE4.js")).cleanStaleMatrixPluginConfig(cfg)
981
981
  };
982
982
  const listMatrixDirectoryPeersFromConfig = createResolvedDirectoryEntriesLister({
983
983
  kind: "user",
@@ -1318,7 +1318,7 @@ const matrixPlugin = createChatChannelPlugin({
1318
1318
  await previousLock;
1319
1319
  let monitorMatrixProvider;
1320
1320
  try {
1321
- monitorMatrixProvider = (await import("./monitor-C-it5ue9.js")).monitorMatrixProvider;
1321
+ monitorMatrixProvider = (await import("./monitor-j0WwEmVj.js")).monitorMatrixProvider;
1322
1322
  } finally {
1323
1323
  releaseLock();
1324
1324
  }
@@ -1,2 +1,2 @@
1
- import { t as matrixPlugin } from "./channel-nkcpZsMB.js";
1
+ import { t as matrixPlugin } from "./channel-Q-9mXTAf.js";
2
2
  export { matrixPlugin };
@@ -1,10 +1,10 @@
1
- import { a as sendMessageMatrix, c as sendTypingMatrix, o as sendPollMatrix } from "./send-DxmZAhzk.js";
1
+ import { a as sendMessageMatrix, c as sendTypingMatrix, o as sendPollMatrix } from "./send-DiYHONuz.js";
2
2
  import { t as isBunRuntime } from "./runtime-BefyhPWv.js";
3
- import { l as resolveMatrixAuth } from "./shared-CiCENm9L.js";
4
- import "./client-BbuTUaZb.js";
5
- import { n as listMatrixDirectoryGroupsLive, r as listMatrixDirectoryPeersLive } from "./directory-live-CF8-oMy9.js";
3
+ import { l as resolveMatrixAuth } from "./shared-3K27tl8e.js";
4
+ import "./client-QO7vDxm0.js";
5
+ import { n as listMatrixDirectoryGroupsLive, r as listMatrixDirectoryPeersLive } from "./directory-live-2-Vb6nss.js";
6
6
  import { f as resolveOutboundSendDep, n as chunkTextForOutbound } from "./runtime-api-CtNLoJ_E.js";
7
- import { t as resolveMatrixTargets } from "./resolve-targets-Bsvenfrx.js";
7
+ import { t as resolveMatrixTargets } from "./resolve-targets-BPhBqXyj.js";
8
8
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
9
9
  import { createReplyToFanout } from "openclaw/plugin-sdk/outbound-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-BzgYdO2A.js").then((runtimeModule) => ({ createMatrixClient: runtimeModule.createMatrixClient }));
16
+ matrixProbeRuntimeDepsPromise ??= import("./probe.runtime-9S17Q3Mo.js").then((runtimeModule) => ({ createMatrixClient: runtimeModule.createMatrixClient }));
17
17
  return await matrixProbeRuntimeDepsPromise;
18
18
  }
19
19
  async function probeMatrix(params) {
@@ -1,16 +1,16 @@
1
1
  import { c as resolveMatrixAccountConfig } from "./config-paths-ZBCMwSos.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-3cj9Xl8X.js";
3
+ import { c as resolveMatrixConfigPath, g as resolveMatrixAccount, l as updateMatrixAccountConfig, n as matrixSetupAdapter } from "./setup-core-DiRWksVZ.js";
4
4
  import { t as formatMatrixErrorMessage } from "./errors-C47hvAF8.js";
5
5
  import { t as resolveMatrixRoomKeyBackupIssue } from "./backup-health-Dm_YMVFT.js";
6
6
  import { i as setMatrixSdkLogMode, r as setMatrixSdkConsoleLogging } from "./logging-BR-gcAjp.js";
7
- import { n as withResolvedActionClient } from "./client-BUC2jCAX.js";
8
- import { u as resolveMatrixAuthContext } from "./shared-CiCENm9L.js";
9
- import "./client-BbuTUaZb.js";
7
+ import { n as withResolvedActionClient } from "./client-DLpRIMeD.js";
8
+ import { u as resolveMatrixAuthContext } from "./shared-3K27tl8e.js";
9
+ import "./client-QO7vDxm0.js";
10
10
  import { i as formatZonedTimestamp } from "./runtime-api-CtNLoJ_E.js";
11
11
  import { isOpenClawManagedMatrixDevice, summarizeMatrixDeviceHealth } from "./device-health-D4LBxuPq.js";
12
- import { n as updateMatrixOwnProfile, t as applyMatrixProfileUpdate } from "./profile-update-Rn6jH803.js";
13
- 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-0rKbLW-L.js";
12
+ import { n as updateMatrixOwnProfile, t as applyMatrixProfileUpdate } from "./profile-update-Esnq0p93.js";
13
+ 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-CVQiUQ9Y.js";
14
14
  import { normalizeAccountId } from "openclaw/plugin-sdk/account-id";
15
15
  //#region extensions/matrix/src/matrix/actions/devices.ts
16
16
  async function listMatrixOwnDevices(opts = {}) {
@@ -37,11 +37,11 @@ let matrixCliExitScheduled = false;
37
37
  let matrixActionClientModulePromise;
38
38
  let matrixDirectManagementModulePromise;
39
39
  function loadMatrixActionClientModule() {
40
- matrixActionClientModulePromise ??= import("./client-BUC2jCAX.js").then((n) => n.t);
40
+ matrixActionClientModulePromise ??= import("./client-DLpRIMeD.js").then((n) => n.t);
41
41
  return matrixActionClientModulePromise;
42
42
  }
43
43
  function loadMatrixDirectManagementModule() {
44
- matrixDirectManagementModulePromise ??= import("./send-DxmZAhzk.js").then((n) => n.d);
44
+ matrixDirectManagementModulePromise ??= import("./send-DiYHONuz.js").then((n) => n.d);
45
45
  return matrixDirectManagementModulePromise;
46
46
  }
47
47
  function scheduleMatrixCliExit() {
@@ -207,7 +207,7 @@ async function addMatrixAccount(params) {
207
207
  backupVersion: null
208
208
  };
209
209
  if (accountConfig.encryption === true) {
210
- const { maybeBootstrapNewEncryptedMatrixAccount } = await import("./setup-bootstrap-DrbtSj86.js");
210
+ const { maybeBootstrapNewEncryptedMatrixAccount } = await import("./setup-bootstrap-Cgq4GjHo.js");
211
211
  verificationBootstrap = await maybeBootstrapNewEncryptedMatrixAccount({
212
212
  previousCfg: cfg,
213
213
  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-9WDb7vD3.js");
5
+ const { registerMatrixCli } = await import("./cli-Dy8NAJro.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-DkG8K_HZ.js";
1
+ import { n as registerMatrixCliMetadata, t as cli_metadata_default } from "./cli-metadata-CoOIrCvz.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-DxmZAhzk.js";
3
- import { n as withResolvedRuntimeMatrixClient } from "./client-bootstrap-bDVMLctr.js";
2
+ import { u as resolveMatrixRoomId } from "./send-DiYHONuz.js";
3
+ import { n as withResolvedRuntimeMatrixClient } from "./client-bootstrap-DK9i3KZ5.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 { c as backfillMatrixAuthDeviceIdAfterStartup, d as resolveMatrixConfigForAccount, i as resolveSharedMatrixClient, l as resolveMatrixAuth, n as releaseSharedClientInstance, o as stopSharedClientForAccount, r as removeSharedClientInstance, s as stopSharedClientInstance, t as acquireSharedMatrixClient, u as resolveMatrixAuthContext } from "./shared-CiCENm9L.js";
7
- import { t as createMatrixClient } from "./create-client-Bt3o4spU.js";
6
+ import { c as backfillMatrixAuthDeviceIdAfterStartup, d as resolveMatrixConfigForAccount, i as resolveSharedMatrixClient, l as resolveMatrixAuth, n as releaseSharedClientInstance, o as stopSharedClientForAccount, r as removeSharedClientInstance, s as stopSharedClientInstance, t as acquireSharedMatrixClient, u as resolveMatrixAuthContext } from "./shared-3K27tl8e.js";
7
+ import { t as createMatrixClient } from "./create-client-hdBEoEIm.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-BbuTUaZb.js").then((n) => n.t), import("./shared-CiCENm9L.js").then((n) => n.a)]).then(([clientModule, sharedModule]) => ({
13
+ matrixSharedClientRuntimeDepsPromise ??= Promise.all([import("./client-QO7vDxm0.js").then((n) => n.t), import("./shared-3K27tl8e.js").then((n) => n.a)]).then(([clientModule, sharedModule]) => ({
14
14
  acquireSharedMatrixClient: clientModule.acquireSharedMatrixClient,
15
15
  resolveMatrixAuthContext: clientModule.resolveMatrixAuthContext,
16
16
  releaseSharedClientInstance: sharedModule.releaseSharedClientInstance
@@ -1,17 +1,17 @@
1
1
  import { c as resolveMatrixAccountConfig } from "./config-paths-ZBCMwSos.js";
2
- import { g as resolveMatrixAccount, h as resolveDefaultMatrixAccountId, p as listMatrixAccountIds } from "./setup-core-3cj9Xl8X.js";
2
+ import { g as resolveMatrixAccount, h as resolveDefaultMatrixAccountId, p as listMatrixAccountIds } from "./setup-core-DiRWksVZ.js";
3
3
  import { DEFAULT_ACCOUNT_ID as DEFAULT_ACCOUNT_ID$1 } from "openclaw/plugin-sdk/account-id";
4
4
  import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  import { adaptScopedAccountAccessor, createScopedChannelConfigAdapter } from "openclaw/plugin-sdk/channel-config-helpers";
6
6
  import { resolveAllowlistMatchByCandidates } from "openclaw/plugin-sdk/allow-from";
7
- import { normalizeStringEntries } from "openclaw/plugin-sdk/string-normalization-runtime";
7
+ import { normalizeStringEntries as normalizeStringEntries$1 } from "openclaw/plugin-sdk/string-normalization-runtime";
8
8
  import { buildChannelConfigSchema } from "openclaw/plugin-sdk/channel-config-primitives";
9
9
  import { AllowFromListSchema, ContextVisibilityModeSchema, GroupPolicySchema, MarkdownConfigSchema, ToolPolicySchema, buildNestedDmConfigSchema } from "openclaw/plugin-sdk/channel-config-schema";
10
10
  import { buildSecretInputSchema } from "openclaw/plugin-sdk/secret-input";
11
11
  import { z } from "zod";
12
12
  //#region extensions/matrix/src/matrix/monitor/allowlist.ts
13
13
  function normalizeAllowList(list) {
14
- return normalizeStringEntries(list);
14
+ return normalizeStringEntries$1(list);
15
15
  }
16
16
  function normalizeMatrixUser(raw) {
17
17
  const value = (raw ?? "").trim();
@@ -1,8 +1,8 @@
1
1
  import { s as resetMatrixThreadBindingsForTests } from "./thread-bindings-shared-CKnY4LSd.js";
2
2
  import { r as setMatrixRuntime } from "./runtime-6S3DNFNv.js";
3
- import { d as resolveSingleAccountPromotionTarget, f as singleAccountKeysToMove, n as matrixSetupAdapter, u as namedAccountPromotionKeys } from "./setup-core-3cj9Xl8X.js";
3
+ import { d as resolveSingleAccountPromotionTarget, f as singleAccountKeysToMove, n as matrixSetupAdapter, u as namedAccountPromotionKeys } from "./setup-core-DiRWksVZ.js";
4
4
  import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-D9oKDvsJ.js";
5
5
  import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-DTgQyQxc.js";
6
- import { n as matrixOnboardingAdapter } from "./setup-surface-BQpdB86d.js";
7
- import { t as createMatrixThreadBindingManager } from "./thread-bindings-J5zieZly.js";
6
+ import { n as matrixOnboardingAdapter } from "./setup-surface-DD5dKWcB.js";
7
+ import { t as createMatrixThreadBindingManager } from "./thread-bindings-DpAW-FD_.js";
8
8
  export { collectRuntimeConfigAssignments, createMatrixThreadBindingManager, legacyConfigRules, matrixSetupAdapter, matrixOnboardingAdapter as matrixSetupWizard, namedAccountPromotionKeys, normalizeCompatibilityConfig, resetMatrixThreadBindingsForTests, resolveSingleAccountPromotionTarget, secretTargetRegistryEntries, setMatrixRuntime, 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
3
  import { a as resolveMatrixStoragePaths, n as maybeMigrateLegacyStorage, o as writeStorageMeta } from "./storage-onzulLbU.js";
4
- import "./shared-CiCENm9L.js";
4
+ import "./shared-3K27tl8e.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-DYgMrfU0.js").then((n) => n.n), import("./logging-BR-gcAjp.js").then((n) => n.n)]).then(([sdkModule, loggingModule]) => ({
12
+ matrixCreateClientRuntimeDepsPromise ??= Promise.all([import("./sdk-BKBZkPKt.js").then((n) => n.n), import("./logging-BR-gcAjp.js").then((n) => n.n)]).then(([sdkModule, loggingModule]) => ({
13
13
  MatrixClient: sdkModule.MatrixClient,
14
14
  ensureMatrixSdkLoggingConfigured: loggingModule.ensureMatrixSdkLoggingConfigured
15
15
  }));
@@ -1,7 +1,7 @@
1
1
  import { t as formatMatrixErrorMessage } from "./errors-C47hvAF8.js";
2
2
  import { t as ensureMatrixCryptoRuntime } from "./deps-CAdiytPJ.js";
3
3
  import { o as LogService, s as noop } from "./startup-abort-Bs0Up_Qx.js";
4
- import { i as MATRIX_IDB_SNAPSHOT_LOCK_OPTIONS, r as isRepairableSecretStorageAccessError } from "./sdk-DYgMrfU0.js";
4
+ import { i as MATRIX_IDB_SNAPSHOT_LOCK_OPTIONS, r as isRepairableSecretStorageAccessError } from "./sdk-BKBZkPKt.js";
5
5
  import fs from "node:fs";
6
6
  import path from "node:path";
7
7
  import { MatrixEventEvent } from "matrix-js-sdk/lib/matrix.js";
@@ -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
3
  import { t as MatrixAuthedHttpClient } from "./http-client-DJNugFzO.js";
4
- import { l as resolveMatrixAuth } from "./shared-CiCENm9L.js";
5
- import "./client-BbuTUaZb.js";
4
+ import { l as resolveMatrixAuth } from "./shared-3K27tl8e.js";
5
+ import "./client-QO7vDxm0.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,7 +1,8 @@
1
1
  import { t as isRecord } from "./record-shared-CvzjvHRn.js";
2
2
  import "./doctor-contract-D9oKDvsJ.js";
3
- import { i as autoPrepareLegacyMatrixCrypto, o as autoMigrateLegacyMatrixState, r as resolveMatrixMigrationStatus } from "./matrix-migration.runtime-BeJ2i3_e.js";
3
+ import { i as autoPrepareLegacyMatrixCrypto, o as autoMigrateLegacyMatrixState, r as resolveMatrixMigrationStatus } from "./matrix-migration.runtime-BhJb4ZII.js";
4
4
  import { t as maybeCreateMatrixMigrationSnapshot } from "./migration-snapshot-backup-YcCrSjbE.js";
5
+ import "openclaw/plugin-sdk/channel-contract";
5
6
  import { detectPluginInstallPathIssue, formatPluginInstallPathIssue, removePluginFromConfig } from "openclaw/plugin-sdk/runtime-doctor";
6
7
  //#region extensions/matrix/src/doctor.ts
7
8
  function hasConfiguredMatrixChannel(cfg) {
@@ -1,4 +1,4 @@
1
- import { n as editMessageMatrix, r as prepareMatrixSingleText, s as sendSingleTextMessageMatrix, y as MsgType } from "./send-DxmZAhzk.js";
1
+ import { n as editMessageMatrix, r as prepareMatrixSingleText, s as sendSingleTextMessageMatrix, y as MsgType } from "./send-DiYHONuz.js";
2
2
  import { createDraftStreamLoop } from "openclaw/plugin-sdk/channel-lifecycle";
3
3
  //#region extensions/matrix/src/matrix/draft-stream.ts
4
4
  const DEFAULT_THROTTLE_MS = 1e3;
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { n as registerMatrixCliMetadata } from "./cli-metadata-DkG8K_HZ.js";
1
+ import { n as registerMatrixCliMetadata } from "./cli-metadata-CoOIrCvz.js";
2
2
  import { t as registerMatrixSubagentHooks } from "./subagent-hooks-api-bedE4GYl.js";
3
3
  import { defineBundledChannelEntry } from "openclaw/plugin-sdk/channel-entry-contract";
4
4
  //#region extensions/matrix/index.ts
@@ -4,6 +4,7 @@ import fs from "node:fs";
4
4
  import path from "node:path";
5
5
  import crypto from "node:crypto";
6
6
  //#region extensions/matrix/src/matrix/legacy-crypto-inspector.ts
7
+ const MATRIX_CRYPTO_STORE_SQLITE = 0;
7
8
  function resolveLegacyMachineStorePath(params) {
8
9
  const hashedDir = path.join(params.cryptoRootDir, crypto.createHash("sha256").update(params.deviceId).digest("hex"));
9
10
  if (fs.existsSync(path.join(hashedDir, "matrix-sdk-crypto.sqlite3"))) return hashedDir;
@@ -20,8 +21,8 @@ async function inspectLegacyMatrixCryptoStore(params) {
20
21
  resolveFn: requireFn.resolve.bind(requireFn),
21
22
  log: params.log
22
23
  });
23
- const { DeviceId, OlmMachine, StoreType, UserId } = requireFn("@matrix-org/matrix-sdk-crypto-nodejs");
24
- const machine = await OlmMachine.initialize(new UserId(params.userId), new DeviceId(params.deviceId), machineStorePath, "", StoreType.Sqlite);
24
+ const { DeviceId, OlmMachine, UserId } = requireFn("@matrix-org/matrix-sdk-crypto-nodejs");
25
+ const machine = await OlmMachine.initialize(new UserId(params.userId), new DeviceId(params.deviceId), machineStorePath, "", MATRIX_CRYPTO_STORE_SQLITE);
25
26
  try {
26
27
  const [backupKeys, roomKeyCounts] = await Promise.all([machine.getBackupKeys(), machine.roomKeyCounts()]);
27
28
  return {
@@ -249,7 +249,7 @@ function isMatrixLegacyCryptoInspectorAvailable() {
249
249
  //#region extensions/matrix/src/legacy-crypto.ts
250
250
  const MATRIX_LEGACY_CRYPTO_INSPECTOR_UNAVAILABLE_MESSAGE = "Legacy Matrix encrypted state was detected, but the Matrix crypto inspector is unavailable.";
251
251
  async function loadMatrixLegacyCryptoInspector() {
252
- return (await import("./legacy-crypto-inspector-FOIK8zmf.js")).inspectLegacyMatrixCryptoStore;
252
+ return (await import("./legacy-crypto-inspector-BRdo-WqV.js")).inspectLegacyMatrixCryptoStore;
253
253
  }
254
254
  function detectLegacyBotSdkCryptoStore(cryptoRootDir) {
255
255
  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-DxmZAhzk.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-DiYHONuz.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 { a as sendMessageMatrix, n as editMessageMatrix, w as isPollEventType } from "./send-DxmZAhzk.js";
2
+ import { a as sendMessageMatrix, n as editMessageMatrix, w as isPollEventType } from "./send-DiYHONuz.js";
3
3
  import { n as MATRIX_REACTION_EVENT_TYPE } from "./reaction-common-DkrQdBSZ.js";
4
- import { a as resolveMatrixMessageBody, c as resolveMatrixPollRootEventId, i as resolveMatrixMessageAttachment, o as fetchMatrixPollMessageSummary } from "./media-text-BJv2N4wk.js";
5
- import { r as withResolvedRoomAction } from "./client-BUC2jCAX.js";
4
+ import { a as resolveMatrixMessageBody, c as resolveMatrixPollRootEventId, i as resolveMatrixMessageAttachment, o as fetchMatrixPollMessageSummary } from "./media-text-Dowl-J8F.js";
5
+ import { r as withResolvedRoomAction } from "./client-DLpRIMeD.js";
6
6
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
7
7
  //#region extensions/matrix/src/matrix/actions/limits.ts
8
8
  function resolveMatrixActionLimit(raw, fallback) {
@@ -1,27 +1,27 @@
1
1
  import { t as isMatrixQualifiedUserId } from "./target-ids-B-5aQxwn.js";
2
2
  import { c as resolveMatrixAccountConfig, s as resolveMatrixAccountAllowlistConfig } from "./config-paths-ZBCMwSos.js";
3
3
  import { t as getMatrixRuntime } from "./runtime-6S3DNFNv.js";
4
- import { m as resolveConfiguredMatrixBotUserIds } from "./setup-core-3cj9Xl8X.js";
5
- 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-nkcpZsMB.js";
6
- import { a as normalizeMatrixUserId, i as normalizeMatrixAllowList, o as resolveMatrixAllowListMatch } from "./config-schema-B29Tb4I2.js";
4
+ import { m as resolveConfiguredMatrixBotUserIds } from "./setup-core-DiRWksVZ.js";
5
+ 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-Q-9mXTAf.js";
6
+ import { a as normalizeMatrixUserId, i as normalizeMatrixAllowList, o as resolveMatrixAllowListMatch } from "./config-schema-qPgAoSU2.js";
7
7
  import { r as isMatrixNotFoundError, t as formatMatrixErrorMessage } from "./errors-C47hvAF8.js";
8
8
  import { i as resolveMatrixStateFilePath } from "./storage-onzulLbU.js";
9
- 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-DxmZAhzk.js";
10
- import { t as createMatrixThreadBindingManager } from "./thread-bindings-J5zieZly.js";
9
+ 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-DiYHONuz.js";
10
+ import { t as createMatrixThreadBindingManager } from "./thread-bindings-DpAW-FD_.js";
11
11
  import { t as createAsyncLock } from "./async-lock-BcLS4KOc.js";
12
12
  import { i as throwIfMatrixStartupAborted, o as LogService, r as isMatrixStartupAbortError } from "./startup-abort-Bs0Up_Qx.js";
13
13
  import { i as isMatrixMediaSizeLimitError, r as MatrixMediaSizeLimitError } from "./http-client-DJNugFzO.js";
14
14
  import { n as isMatrixReadySyncState, r as isMatrixTerminalSyncState, t as isMatrixDisconnectedSyncState } from "./sync-state-CWbp0QSY.js";
15
- import { a as resolveMatrixMessageBody, i as resolveMatrixMessageAttachment, n as formatMatrixMediaUnavailableText, r as formatMatrixMessageText, s as fetchMatrixPollSnapshot, t as formatMatrixMediaTooLargeText } from "./media-text-BJv2N4wk.js";
15
+ import { a as resolveMatrixMessageBody, i as resolveMatrixMessageAttachment, n as formatMatrixMediaUnavailableText, r as formatMatrixMessageText, s as fetchMatrixPollSnapshot, t as formatMatrixMediaTooLargeText } from "./media-text-Dowl-J8F.js";
16
16
  import { n as setActiveMatrixClient } from "./active-client-DXvz2gCo.js";
17
17
  import { t as isBunRuntime } from "./runtime-BefyhPWv.js";
18
- import { c as backfillMatrixAuthDeviceIdAfterStartup, i as resolveSharedMatrixClient, l as resolveMatrixAuth, n as releaseSharedClientInstance, u as resolveMatrixAuthContext } from "./shared-CiCENm9L.js";
19
- import "./client-BbuTUaZb.js";
18
+ import { c as backfillMatrixAuthDeviceIdAfterStartup, i as resolveSharedMatrixClient, l as resolveMatrixAuth, n as releaseSharedClientInstance, u as resolveMatrixAuthContext } from "./shared-3K27tl8e.js";
19
+ import "./client-QO7vDxm0.js";
20
20
  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-CtNLoJ_E.js";
21
- import { t as resolveMatrixTargets } from "./resolve-targets-Bsvenfrx.js";
21
+ import { t as resolveMatrixTargets } from "./resolve-targets-BPhBqXyj.js";
22
22
  import { t as formatMatrixEncryptedEventDisabledWarning } from "./encryption-guidance-CU-OAPMg.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";
24
- import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeStringifiedOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
24
+ import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeStringifiedEntries, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
25
25
  import { createPreviewMessageReceipt, defineFinalizableLivePreviewAdapter, deliverWithFinalizableLivePreviewAdapter } from "openclaw/plugin-sdk/channel-message";
26
26
  import { CHANNEL_APPROVAL_NATIVE_RUNTIME_CONTEXT_CAPABILITY } from "openclaw/plugin-sdk/approval-handler-adapter-runtime";
27
27
  import { resolveInboundLastRouteSessionKey } from "openclaw/plugin-sdk/routing";
@@ -51,7 +51,7 @@ function registerMatrixAutoJoin(params) {
51
51
  runtime.log?.(message);
52
52
  };
53
53
  const autoJoin = accountConfig.autoJoin ?? "off";
54
- const rawAllowlist = (accountConfig.autoJoinAllowlist ?? []).map((entry) => normalizeStringifiedOptionalString(entry)).filter((entry) => Boolean(entry));
54
+ const rawAllowlist = normalizeStringifiedEntries(accountConfig.autoJoinAllowlist ?? []);
55
55
  const autoJoinAllowlist = new Set(rawAllowlist);
56
56
  const allowedRoomIds = new Set(rawAllowlist.filter((entry) => entry.startsWith("!")));
57
57
  const allowedAliases = rawAllowlist.filter((entry) => entry.startsWith("#"));
@@ -811,7 +811,7 @@ const SAS_NOTICE_RETRY_DELAY_MS = 750;
811
811
  const VERIFICATION_EVENT_STARTUP_GRACE_MS = 3e4;
812
812
  let matrixDirectRoomDepsPromise;
813
813
  async function loadMatrixDirectRoomDeps() {
814
- matrixDirectRoomDepsPromise ??= Promise.all([import("./send-DxmZAhzk.js").then((n) => n.d), import("./send-DxmZAhzk.js").then((n) => n.m)]).then(([directManagementModule, directRoomModule]) => ({
814
+ matrixDirectRoomDepsPromise ??= Promise.all([import("./send-DiYHONuz.js").then((n) => n.d), import("./send-DiYHONuz.js").then((n) => n.m)]).then(([directManagementModule, directRoomModule]) => ({
815
815
  inspectMatrixDirectRooms: directManagementModule.inspectMatrixDirectRooms,
816
816
  isStrictDirectRoom: directRoomModule.isStrictDirectRoom
817
817
  }));
@@ -1221,8 +1221,8 @@ function createMatrixPostHealthySyncDecryptFailureTracker(params) {
1221
1221
  failureCount
1222
1222
  };
1223
1223
  warningEmitted = true;
1224
- const rooms = [...new Set(observations.map((entry) => entry.roomId))].slice(0, MATRIX_POST_HEALTHY_SYNC_DECRYPT_FAILURE_SAMPLE_LIMIT);
1225
- const senders = [...new Set(observations.map((entry) => entry.sender).filter(Boolean))].slice(0, MATRIX_POST_HEALTHY_SYNC_DECRYPT_FAILURE_SAMPLE_LIMIT);
1224
+ const rooms = uniqueStrings(observations.map((entry) => entry.roomId)).slice(0, MATRIX_POST_HEALTHY_SYNC_DECRYPT_FAILURE_SAMPLE_LIMIT);
1225
+ const senders = uniqueStrings(observations.map((entry) => entry.sender).filter((sender) => Boolean(sender))).slice(0, MATRIX_POST_HEALTHY_SYNC_DECRYPT_FAILURE_SAMPLE_LIMIT);
1226
1226
  const eventIds = observations.slice(-3).map((entry) => entry.eventId);
1227
1227
  const latestError = observations.at(-1)?.error ?? error.message;
1228
1228
  return {
@@ -2020,7 +2020,7 @@ let sessionBindingRuntimePromise;
2020
2020
  let matrixReactionEventsPromise;
2021
2021
  let matrixDraftStreamPromise;
2022
2022
  function loadMatrixSendModule() {
2023
- matrixSendModulePromise ??= import("./send-DxmZAhzk.js").then((n) => n.l);
2023
+ matrixSendModulePromise ??= import("./send-DiYHONuz.js").then((n) => n.l);
2024
2024
  return matrixSendModulePromise;
2025
2025
  }
2026
2026
  function loadAcpBindingRuntime() {
@@ -2032,11 +2032,11 @@ function loadSessionBindingRuntime() {
2032
2032
  return sessionBindingRuntimePromise;
2033
2033
  }
2034
2034
  function loadMatrixReactionEvents() {
2035
- matrixReactionEventsPromise ??= import("./reaction-events-DmHbgP3C.js");
2035
+ matrixReactionEventsPromise ??= import("./reaction-events-BP49GRln.js");
2036
2036
  return matrixReactionEventsPromise;
2037
2037
  }
2038
2038
  function loadMatrixDraftStream() {
2039
- matrixDraftStreamPromise ??= import("./draft-stream-BBwgRoUh.js");
2039
+ matrixDraftStreamPromise ??= import("./draft-stream-D1PvVZ3B.js");
2040
2040
  return matrixDraftStreamPromise;
2041
2041
  }
2042
2042
  const MAX_TRACKED_PAIRING_REPLY_SENDERS = 512;
@@ -3715,9 +3715,9 @@ function createMatrixRoomInfoResolver(client) {
3715
3715
  let matrixStartupMaintenanceDepsPromise;
3716
3716
  async function loadMatrixStartupMaintenanceDeps() {
3717
3717
  matrixStartupMaintenanceDepsPromise ??= Promise.all([
3718
- import("./setup-core-3cj9Xl8X.js").then((n) => n.s),
3718
+ import("./setup-core-DiRWksVZ.js").then((n) => n.s),
3719
3719
  import("./device-health-D4LBxuPq.js"),
3720
- import("./setup-core-3cj9Xl8X.js").then((n) => n.a),
3720
+ import("./setup-core-DiRWksVZ.js").then((n) => n.a),
3721
3721
  import("./legacy-crypto-restore-BgW3I87R.js"),
3722
3722
  import("./startup-verification-BmTEngvU.js")
3723
3723
  ]).then(([configUpdateModule, deviceHealthModule, profileModule, legacyCryptoRestoreModule, startupVerificationModule]) => ({
@@ -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-0rKbLW-L.js").then((n) => n.y);
6
+ matrixVerificationRuntimePromise ??= import("./verification-CVQiUQ9Y.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-hdBEoEIm.js";
2
+ import "./client-QO7vDxm0.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-3cj9Xl8X.js";
3
- import { n as withResolvedActionClient } from "./client-BUC2jCAX.js";
2
+ import { c as resolveMatrixConfigPath, l as updateMatrixAccountConfig, o as syncMatrixOwnProfile } from "./setup-core-DiRWksVZ.js";
3
+ import { n as withResolvedActionClient } from "./client-DLpRIMeD.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-CEVNfsxP.js");
10
+ approvalReactionAuthPromise ??= import("./approval-reaction-auth-B1S7D_cq.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-CF8-oMy9.js";
3
+ import { n as listMatrixDirectoryGroupsLive, r as listMatrixDirectoryPeersLive } from "./directory-live-2-Vb6nss.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-Bsvenfrx.js";
1
+ import { t as resolveMatrixTargets } from "./resolve-targets-BPhBqXyj.js";
2
2
  //#region extensions/matrix/src/resolver.runtime.ts
3
3
  const matrixResolverRuntime = { resolveMatrixTargets };
4
4
  //#endregion
@@ -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-BeJ2i3_e.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-BhJb4ZII.js";
2
2
  import { t as maybeCreateMatrixMigrationSnapshot } from "./migration-snapshot-backup-YcCrSjbE.js";
3
3
  export { autoMigrateLegacyMatrixState, autoPrepareLegacyMatrixCrypto, detectLegacyMatrixCrypto, detectLegacyMatrixState, hasActionableMatrixMigration, hasPendingMatrixMigration, maybeCreateMatrixMigrationSnapshot, resolveMatrixMigrationStatus };
@@ -8,7 +8,7 @@ import { a as ConsoleLogger, i as throwIfMatrixStartupAborted, n as createMatrix
8
8
  import { t as createMatrixJsSdkClientLogger } from "./logging-BR-gcAjp.js";
9
9
  import { a as matrixEventToRaw, n as createMatrixGuardedFetch, o as parseMxc, t as MatrixAuthedHttpClient } from "./http-client-DJNugFzO.js";
10
10
  import { n as isMatrixReadySyncState, r as isMatrixTerminalSyncState } from "./sync-state-CWbp0QSY.js";
11
- import { normalizeNullableString } from "openclaw/plugin-sdk/string-coerce-runtime";
11
+ import { normalizeNullableString, normalizeStringEntries, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
12
12
  import { readFileSync } from "node:fs";
13
13
  import path from "node:path";
14
14
  import { loadJsonFile, saveJsonFile, writeJsonFileAtomically } from "openclaw/plugin-sdk/json-store";
@@ -578,7 +578,7 @@ function createMatrixExplicitBootstrapOptions(params) {
578
578
  let loadedMatrixCryptoRuntime = null;
579
579
  let matrixCryptoRuntimePromise = null;
580
580
  async function loadMatrixCryptoRuntime() {
581
- matrixCryptoRuntimePromise ??= import("./crypto-runtime-yojbuOD8.js").then((runtime) => {
581
+ matrixCryptoRuntimePromise ??= import("./crypto-runtime-BcQzS9DV.js").then((runtime) => {
582
582
  loadedMatrixCryptoRuntime = runtime;
583
583
  return runtime;
584
584
  });
@@ -1527,7 +1527,7 @@ var MatrixClient = class {
1527
1527
  }));
1528
1528
  }
1529
1529
  async deleteOwnDevices(deviceIds) {
1530
- const uniqueDeviceIds = [...new Set(deviceIds.map((value) => value.trim()).filter(Boolean))];
1530
+ const uniqueDeviceIds = uniqueStrings(normalizeStringEntries(deviceIds));
1531
1531
  const currentDeviceId = this.client.getDeviceId()?.trim() || null;
1532
1532
  const protectedDeviceIds = uniqueDeviceIds.filter((deviceId) => deviceId === currentDeviceId);
1533
1533
  if (protectedDeviceIds.length > 0) throw new Error(`Refusing to delete the current Matrix device: ${protectedDeviceIds[0]}`);
@@ -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-bDVMLctr.js").then((n) => n.t);
232
+ matrixSendClientRuntimePromise ??= import("./client-bootstrap-DK9i3KZ5.js").then((n) => n.t);
233
233
  return await matrixSendClientRuntimePromise;
234
234
  }
235
235
  function resolveMediaMaxBytes(accountId, cfg) {
@@ -1,7 +1,7 @@
1
1
  import { a as hasExplicitMatrixAccountConfig, c as resolveMatrixAccountConfig } from "./config-paths-ZBCMwSos.js";
2
- import "./setup-core-3cj9Xl8X.js";
2
+ import "./setup-core-DiRWksVZ.js";
3
3
  import { t as formatMatrixErrorMessage } from "./errors-C47hvAF8.js";
4
- import { n as bootstrapMatrixVerification } from "./verification-0rKbLW-L.js";
4
+ import { n as bootstrapMatrixVerification } from "./verification-CVQiUQ9Y.js";
5
5
  //#region extensions/matrix/src/setup-bootstrap.ts
6
6
  async function maybeBootstrapNewEncryptedMatrixAccount(params) {
7
7
  const accountConfig = resolveMatrixAccountConfig({
@@ -664,7 +664,7 @@ const matrixSetupAdapter = {
664
664
  input
665
665
  }),
666
666
  afterAccountConfigWritten: async ({ previousCfg, cfg, accountId, runtime }) => {
667
- const { runMatrixSetupBootstrapAfterConfigWrite } = await import("./setup-bootstrap-DrbtSj86.js");
667
+ const { runMatrixSetupBootstrapAfterConfigWrite } = await import("./setup-bootstrap-Cgq4GjHo.js");
668
668
  await runMatrixSetupBootstrapAfterConfigWrite({
669
669
  previousCfg,
670
670
  cfg,
@@ -1,5 +1,5 @@
1
- import { g as resolveMatrixAccount, n as matrixSetupAdapter, t as createMatrixSetupWizardProxy } from "./setup-core-3cj9Xl8X.js";
2
- import { r as matrixConfigAdapter, t as MatrixChannelConfigSchema } from "./config-schema-B29Tb4I2.js";
1
+ import { g as resolveMatrixAccount, n as matrixSetupAdapter, t as createMatrixSetupWizardProxy } from "./setup-core-DiRWksVZ.js";
2
+ import { r as matrixConfigAdapter, t as MatrixChannelConfigSchema } from "./config-schema-qPgAoSU2.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-BQpdB86d.js").then((n) => n.t)).matrixSetupWizard })),
16
+ setupWizard: createMatrixSetupWizardProxy(async () => ({ matrixSetupWizard: (await import("./setup-surface-DD5dKWcB.js").then((n) => n.t)).matrixSetupWizard })),
17
17
  setup: matrixSetupAdapter,
18
18
  capabilities: {
19
19
  chatTypes: [
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
2
  import { n as requiresExplicitMatrixDefaultAccount } from "./account-selection-C3arLOhC.js";
3
3
  import { c as resolveMatrixAccountConfig, t as resolveMatrixConfigFieldPath } from "./config-paths-ZBCMwSos.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-3cj9Xl8X.js";
5
+ import { g as resolveMatrixAccount, h as resolveDefaultMatrixAccountId, i as moveSingleMatrixAccountConfigToNamedAccount, l as updateMatrixAccountConfig, p as listMatrixAccountIds, r as resolveMatrixSetupDmAllowFrom } from "./setup-core-DiRWksVZ.js";
6
6
  import { n as validateMatrixHomeserverUrl, r as isPrivateOrLoopbackHost, t as resolveValidatedMatrixHomeserverUrl } from "./url-validation-GRHde6lq.js";
7
7
  import { n as ensureMatrixSdkInstalled, r as isMatrixSdkAvailable } from "./deps-CAdiytPJ.js";
8
8
  import { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/account-id";
@@ -104,7 +104,7 @@ async function promptMatrixAllowFrom(params) {
104
104
  pending.push(part);
105
105
  }
106
106
  if (pending.length > 0) {
107
- const { resolveMatrixTargets } = await import("./resolve-targets-Bsvenfrx.js").then((n) => n.n);
107
+ const { resolveMatrixTargets } = await import("./resolve-targets-BPhBqXyj.js").then((n) => n.n);
108
108
  const results = await resolveMatrixTargets({
109
109
  cfg,
110
110
  accountId,
@@ -232,7 +232,7 @@ async function configureMatrixAccessPrompts(params) {
232
232
  resolvedIds.push(cleaned);
233
233
  continue;
234
234
  }
235
- const { listMatrixDirectoryGroupsLive } = await import("./directory-live-CF8-oMy9.js").then((n) => n.t);
235
+ const { listMatrixDirectoryGroupsLive } = await import("./directory-live-2-Vb6nss.js").then((n) => n.t);
236
236
  const matches = await listMatrixDirectoryGroupsLive({
237
237
  cfg: next,
238
238
  accountId: params.accountId,
@@ -507,7 +507,7 @@ const matrixOnboardingAdapter = {
507
507
  });
508
508
  },
509
509
  afterConfigWritten: async ({ previousCfg, cfg, accountId, runtime }) => {
510
- const { runMatrixSetupBootstrapAfterConfigWrite } = await import("./setup-bootstrap-DrbtSj86.js");
510
+ const { runMatrixSetupBootstrapAfterConfigWrite } = await import("./setup-bootstrap-Cgq4GjHo.js");
511
511
  await runMatrixSetupBootstrapAfterConfigWrite({
512
512
  previousCfg,
513
513
  cfg,
@@ -19,7 +19,7 @@ let matrixCredentialsWriteRuntimePromise;
19
19
  let matrixSecretInputDepsPromise;
20
20
  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;
21
21
  async function loadMatrixAuthClientDeps() {
22
- matrixAuthClientDepsPromise ??= Promise.all([import("./sdk-DYgMrfU0.js").then((n) => n.n), import("./logging-BR-gcAjp.js").then((n) => n.n)]).then(([sdkModule, loggingModule]) => ({
22
+ matrixAuthClientDepsPromise ??= Promise.all([import("./sdk-BKBZkPKt.js").then((n) => n.n), import("./logging-BR-gcAjp.js").then((n) => n.n)]).then(([sdkModule, loggingModule]) => ({
23
23
  MatrixClient: sdkModule.MatrixClient,
24
24
  ensureMatrixSdkLoggingConfigured: loggingModule.ensureMatrixSdkLoggingConfigured
25
25
  }));
@@ -461,7 +461,7 @@ var shared_exports = /* @__PURE__ */ __exportAll({
461
461
  });
462
462
  let matrixCreateClientDepsPromise;
463
463
  async function loadMatrixCreateClientDeps() {
464
- matrixCreateClientDepsPromise ??= import("./create-client-Bt3o4spU.js").then((n) => n.n).then((runtime) => ({ createMatrixClient: runtime.createMatrixClient }));
464
+ matrixCreateClientDepsPromise ??= import("./create-client-hdBEoEIm.js").then((n) => n.n).then((runtime) => ({ createMatrixClient: runtime.createMatrixClient }));
465
465
  return await matrixCreateClientDepsPromise;
466
466
  }
467
467
  const sharedClientStates = /* @__PURE__ */ new Map();
package/dist/test-api.js CHANGED
@@ -1,4 +1,4 @@
1
1
  import { r as setMatrixRuntime } from "./runtime-6S3DNFNv.js";
2
- import { t as matrixPlugin } from "./channel-nkcpZsMB.js";
3
- import { t as MatrixClient } from "./sdk-DYgMrfU0.js";
2
+ import { t as matrixPlugin } from "./channel-Q-9mXTAf.js";
3
+ import { t as MatrixClient } from "./sdk-BKBZkPKt.js";
4
4
  export { MatrixClient, matrixPlugin, setMatrixRuntime };
@@ -1,6 +1,6 @@
1
1
  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";
2
2
  import { i as resolveMatrixStateFilePath, t as claimCurrentTokenStorageState } from "./storage-onzulLbU.js";
3
- import { a as sendMessageMatrix } from "./send-DxmZAhzk.js";
3
+ import { a as sendMessageMatrix } from "./send-DiYHONuz.js";
4
4
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  import { registerSessionBindingAdapter, resolveThreadBindingFarewellText, unregisterSessionBindingAdapter } from "openclaw/plugin-sdk/thread-bindings-session-runtime";
6
6
  import path from "node:path";
@@ -1,20 +1,19 @@
1
1
  import { c as resolveMatrixAccountConfig } from "./config-paths-ZBCMwSos.js";
2
- import "./setup-core-3cj9Xl8X.js";
3
- import { E as parsePollStart, T as isPollStartType, b as buildPollResponseContent, i as reactMatrixMessage, u as resolveMatrixRoomId } from "./send-DxmZAhzk.js";
2
+ import "./setup-core-DiRWksVZ.js";
3
+ import { E as parsePollStart, T as isPollStartType, b as buildPollResponseContent, i as reactMatrixMessage, u as resolveMatrixRoomId } from "./send-DiYHONuz.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-BUC2jCAX.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-C3mtEl6W.js";
5
+ import { n as withResolvedActionClient, r as withResolvedRoomAction } from "./client-DLpRIMeD.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-D_zHS_2K.js";
7
7
  import { a as jsonResult, c as readStringArrayParam, l as readStringParam, o as readNumberParam, r as createActionGate, s as readReactionParams } from "./runtime-api-CtNLoJ_E.js";
8
- import { t as applyMatrixProfileUpdate } from "./profile-update-Rn6jH803.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-0rKbLW-L.js";
10
- import { normalizeOptionalLowercaseString } from "openclaw/plugin-sdk/string-coerce-runtime";
8
+ import { t as applyMatrixProfileUpdate } from "./profile-update-Esnq0p93.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-CVQiUQ9Y.js";
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) {
13
- const normalized = indexes.map((index) => Math.trunc(index)).filter((index) => Number.isFinite(index) && index > 0);
14
- return Array.from(new Set(normalized));
13
+ return uniqueValues(indexes.map((index) => Math.trunc(index)).filter((index) => Number.isFinite(index) && index > 0));
15
14
  }
16
15
  function normalizeOptionIds(optionIds) {
17
- return Array.from(new Set(optionIds.map((optionId) => optionId.trim()).filter((optionId) => optionId.length > 0)));
16
+ return uniqueStrings(optionIds.map((optionId) => optionId.trim()).filter((optionId) => optionId.length > 0));
18
17
  }
19
18
  function resolveSelectedAnswerIds(params) {
20
19
  const parsed = parsePollStart(params.pollContent);
@@ -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-BUC2jCAX.js";
2
+ import { i as withStartedActionClient, n as withResolvedActionClient } from "./client-DLpRIMeD.js";
3
3
  import { n as formatMatrixEncryptionUnavailableError } from "./encryption-guidance-CU-OAPMg.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.5.24-beta.2",
3
+ "version": "2026.5.25-beta.1",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@openclaw/matrix",
9
- "version": "2026.5.24-beta.2",
9
+ "version": "2026.5.25-beta.1",
10
10
  "dependencies": {
11
11
  "@matrix-org/matrix-sdk-crypto-nodejs": "0.4.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.5.24-beta.2"
21
+ "openclaw": ">=2026.5.25-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.5.24-beta.2",
3
+ "version": "2026.5.25-beta.1",
4
4
  "description": "OpenClaw Matrix channel plugin",
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.5.24-beta.2"
21
+ "openclaw": ">=2026.5.25-beta.1"
22
22
  },
23
23
  "peerDependenciesMeta": {
24
24
  "openclaw": {
@@ -83,10 +83,10 @@
83
83
  "allowInvalidConfigRecovery": true
84
84
  },
85
85
  "compat": {
86
- "pluginApi": ">=2026.5.24-beta.2"
86
+ "pluginApi": ">=2026.5.25-beta.1"
87
87
  },
88
88
  "build": {
89
- "openclawVersion": "2026.5.24-beta.2"
89
+ "openclawVersion": "2026.5.25-beta.1"
90
90
  },
91
91
  "release": {
92
92
  "publishToClawHub": true,
@@ -1,3 +0,0 @@
1
- import { t as createMatrixClient } from "./create-client-Bt3o4spU.js";
2
- import "./client-BbuTUaZb.js";
3
- export { createMatrixClient };