@openclaw/matrix 2026.7.2-beta.1 → 2026.7.2-beta.3

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 (76) hide show
  1. package/dist/{account-selection-Bz00QTmQ.js → account-selection-kqquRzCf.js} +5 -5
  2. package/dist/api.js +6 -6
  3. package/dist/{approval-handler.runtime--Ei44Vo2.js → approval-handler.runtime-BEa98wwG.js} +5 -5
  4. package/dist/{approval-ids-C_2kSMdJ.js → approval-ids-Dfn7oQAm.js} +1 -1
  5. package/dist/{approval-reaction-auth-TdVPcgxP.js → approval-reaction-auth-kXkCJBGi.js} +2 -2
  6. package/dist/{approval-reactions-BgU51JGd.js → approval-reactions-D-BxBK_L.js} +1 -1
  7. package/dist/auth-presence.js +13 -21
  8. package/dist/{channel-CxqDh7mS.js → channel-j331Xd7b.js} +14 -13
  9. package/dist/channel-plugin-api.js +1 -1
  10. package/dist/{channel.runtime-wNfJc57I.js → channel.runtime-BIwlVfQw.js} +15 -16
  11. package/dist/{cli-o00oTJhx.js → cli-0EcKfqFw.js} +25 -15
  12. package/dist/{cli-metadata-Gf3HSJ2c.js → cli-metadata-Xq1Xb15R.js} +1 -1
  13. package/dist/cli-metadata.js +1 -1
  14. package/dist/{client-ClHisZbf.js → client-BtG4quUl.js} +2 -2
  15. package/dist/{client-DP0nmFxK.js → client-CA0PULls.js} +2 -2
  16. package/dist/{client-bootstrap-PqYOS-mO.js → client-bootstrap-Dk5EAn3n.js} +1 -1
  17. package/dist/{config-schema-CG9goLWp.js → config-schema-B5GRV8wL.js} +8 -10
  18. package/dist/contract-api.js +2 -2
  19. package/dist/{create-client-D9z9RjCM.js → create-client-WQExaby_.js} +4 -4
  20. package/dist/credentials-W2EmwRhu.js +65 -0
  21. package/dist/credentials-read-DVmFCm7X.js +77 -0
  22. package/dist/{credentials-write.runtime-J_EUt5WP.js → credentials-write.runtime-Be9zNSUw.js} +1 -1
  23. package/dist/{crypto-runtime-BHcxauC4.js → crypto-runtime-CAff-n15.js} +4 -4
  24. package/dist/{directory-live-DPy2aaPF.js → directory-live-DiC-0XBC.js} +3 -3
  25. package/dist/{doctor-BGTs609f.js → doctor-DwUVm5Lw.js} +1 -1
  26. package/dist/{doctor-contract-D2qTLe-C.js → doctor-contract-BA2Y6Crx.js} +1 -1
  27. package/dist/doctor-contract-api.js +117 -11
  28. package/dist/{draft-stream-De7uikGn.js → draft-stream-CTLKtJJ0.js} +1 -1
  29. package/dist/{encryption-guidance-BFfgq7c7.js → encryption-guidance-CbEFe38F.js} +1 -1
  30. package/dist/{file-sync-store-Cxb0ckyX.js → file-sync-store-CPkgnSXp.js} +23 -6
  31. package/dist/helper-api.js +2 -2
  32. package/dist/{http-client-W4TJQM6r.js → http-client-BmrgOZTL.js} +2 -2
  33. package/dist/{idb-persistence-iUZoHZkp.js → idb-persistence-Dyy6ipgU.js} +3 -3
  34. package/dist/{inbound-dedupe-DcMs0YXL.js → inbound-dedupe-CaBLblef.js} +19 -38
  35. package/dist/index.js +1 -1
  36. package/dist/{logger-BMClpI5b.js → logger-D0GCSDQq.js} +1 -1
  37. package/dist/{logging-CFJrbDAN.js → logging-QH-48Gr6.js} +1 -1
  38. package/dist/{media-text-DWaotsZB.js → media-text-BMXEXb1j.js} +1 -1
  39. package/dist/{messages-Dm3K4ZvM.js → messages-3UBHfZrN.js} +3 -3
  40. package/dist/{monitor-C_kgPPeV.js → monitor-BtUIds8T.js} +135 -136
  41. package/dist/plugin-entry.handlers.runtime.js +1 -1
  42. package/dist/probe.runtime-sBV-Govx.js +3 -0
  43. package/dist/{profile-update-iUHCoks3.js → profile-update-Bh2XtJwN.js} +3 -3
  44. package/dist/{reaction-events-0tubdHRM.js → reaction-events-BwAKtUyQ.js} +3 -3
  45. package/dist/record-shared-CWWx6fvI.js +2 -0
  46. package/dist/{recovery-key-store-Bx0zTJcB.js → recovery-key-store-CW6eePfp.js} +2 -2
  47. package/dist/{resolve-targets-DlLrfWDy.js → resolve-targets-DVoj-YxB.js} +1 -1
  48. package/dist/{resolver.runtime-MeaT1zXx.js → resolver.runtime-CC0VVsAt.js} +1 -1
  49. package/dist/{runtime-CveSqMOP.js → runtime-6S3DNFNv.js} +1 -1
  50. package/dist/runtime-api.js +6 -6
  51. package/dist/runtime-setter-api.js +1 -1
  52. package/dist/{sdk-CI8E2TKg.js → sdk-CIDZXWpZ.js} +7 -7
  53. package/dist/{secret-contract-OZoQf0kI.js → secret-contract-M3hRmGO-.js} +21 -5
  54. package/dist/secret-contract-api.js +1 -1
  55. package/dist/{send-C7xuGWpv.js → send-BJbrdmNm.js} +4 -3
  56. package/dist/session-binding-contract-api.js +2 -2
  57. package/dist/{setup-bootstrap-CCsexWTZ.js → setup-bootstrap-DGPOOdz-.js} +2 -2
  58. package/dist/{setup-core-DlmTyIP0.js → setup-core-XCdAx1nY.js} +3 -3
  59. package/dist/setup-plugin-api.js +3 -3
  60. package/dist/{setup-surface-2SS94JV0.js → setup-surface-CzUiTe_k.js} +6 -6
  61. package/dist/{shared-DgvN5rBx.js → shared-DquM1oz6.js} +7 -7
  62. package/dist/{startup-verification-CbIyF7z1.js → startup-verification-CA00kebL.js} +3 -3
  63. package/dist/{storage-BtSOar8T.js → storage-CzHxeF5E.js} +9 -9
  64. package/dist/{thread-bindings-BI8MHWp9.js → thread-bindings-Cw194yEn.js} +4 -4
  65. package/dist/{tool-actions.runtime-CnyhVPoY.js → tool-actions.runtime-C0jgWYhX.js} +19 -15
  66. package/dist/{verification-DLSe3sP7.js → verification-DjxyWTNP.js} +2 -2
  67. package/npm-shrinkwrap.json +3 -3
  68. package/openclaw.plugin.json +70 -70
  69. package/package.json +4 -4
  70. package/dist/async-lock-BcLS4KOc.js +0 -19
  71. package/dist/credentials-DnhsLAuR.js +0 -56
  72. package/dist/credentials-read-BtS-HRT5.js +0 -112
  73. package/dist/probe.runtime-Dry8PTWC.js +0 -3
  74. package/dist/record-shared-CvzjvHRn.js +0 -2
  75. package/dist/{deps-DDbghaZH.js → deps-CcVJfvRM.js} +1 -1
  76. package/dist/{storage-paths-B4_I9iqO.js → storage-paths-gUmSydsW.js} +1 -1
@@ -1,10 +1,10 @@
1
- import { a as resolveMatrixDefaultOrOnlyAccountId, i as resolveMatrixChannelConfig, n as requiresExplicitMatrixDefaultAccount, o as resolveMatrixAccountStringValues, r as resolveConfiguredMatrixAccountIds, t as findMatrixAccountEntry } from "./account-selection-Bz00QTmQ.js";
1
+ import { a as resolveMatrixDefaultOrOnlyAccountId, i as resolveMatrixChannelConfig, n as requiresExplicitMatrixDefaultAccount, o as resolveMatrixAccountStringValues, r as resolveConfiguredMatrixAccountIds, t as findMatrixAccountEntry } from "./account-selection-kqquRzCf.js";
2
2
  import { n as listMatrixEnvAccountIds, r as resolveMatrixEnvAccountToken, t as getMatrixScopedEnvVarNames } from "./env-vars-B0NxQnPk.js";
3
- import { r as setMatrixRuntime } from "./runtime-CveSqMOP.js";
4
- import { a as resolveMatrixCredentialsPath, i as resolveMatrixCredentialsFilename, n as resolveMatrixAccountStorageRoot, o as resolveMatrixHomeserverKey, r as resolveMatrixCredentialsDir, s as sanitizeMatrixPathSegment, t as hashMatrixAccessToken } from "./storage-paths-B4_I9iqO.js";
3
+ import { r as setMatrixRuntime } from "./runtime-6S3DNFNv.js";
4
+ import { a as resolveMatrixCredentialsPath, i as resolveMatrixCredentialsFilename, n as resolveMatrixAccountStorageRoot, o as resolveMatrixHomeserverKey, r as resolveMatrixCredentialsDir, s as sanitizeMatrixPathSegment, t as hashMatrixAccessToken } from "./storage-paths-gUmSydsW.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-DDbghaZH.js";
7
- import { assertHttpUrlTargetsPrivateNetwork, closeDispatcher, createPinnedDispatcher, resolvePinnedHostnameWithPolicy, ssrfPolicyFromAllowPrivateNetwork, ssrfPolicyFromDangerouslyAllowPrivateNetwork } from "openclaw/plugin-sdk/ssrf-runtime";
6
+ import { n as ensureMatrixSdkInstalled, r as isMatrixSdkAvailable } from "./deps-CcVJfvRM.js";
7
+ import { assertHttpUrlTargetsPrivateNetwork, closeDispatcher, createPinnedDispatcher, resolvePinnedHostnameWithPolicy, 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";
10
10
  //#region extensions/matrix/runtime-api.ts
@@ -22,4 +22,4 @@ function chunkTextForOutbound(text, limit) {
22
22
  return chunks;
23
23
  }
24
24
  //#endregion
25
- export { assertHttpUrlTargetsPrivateNetwork, chunkTextForOutbound, closeDispatcher, createPinnedDispatcher, ensureMatrixSdkInstalled, findMatrixAccountEntry, formatZonedTimestamp, getMatrixScopedEnvVarNames, hashMatrixAccessToken, isMatrixSdkAvailable, listMatrixEnvAccountIds, requiresExplicitMatrixDefaultAccount, resolveConfiguredMatrixAccountIds, resolveMatrixAccountStorageRoot, resolveMatrixAccountStringValues, resolveMatrixChannelConfig, resolveMatrixCredentialsDir, resolveMatrixCredentialsFilename, resolveMatrixCredentialsPath, resolveMatrixDefaultOrOnlyAccountId, resolveMatrixEnvAccountToken, resolveMatrixHomeserverKey, resolvePinnedHostnameWithPolicy, sanitizeMatrixPathSegment, setMatrixRuntime, setMatrixThreadBindingIdleTimeoutBySessionKey, setMatrixThreadBindingMaxAgeBySessionKey, ssrfPolicyFromAllowPrivateNetwork, ssrfPolicyFromDangerouslyAllowPrivateNetwork, writeJsonFileAtomically };
25
+ export { assertHttpUrlTargetsPrivateNetwork, chunkTextForOutbound, closeDispatcher, createPinnedDispatcher, ensureMatrixSdkInstalled, findMatrixAccountEntry, formatZonedTimestamp, getMatrixScopedEnvVarNames, hashMatrixAccessToken, isMatrixSdkAvailable, listMatrixEnvAccountIds, requiresExplicitMatrixDefaultAccount, resolveConfiguredMatrixAccountIds, resolveMatrixAccountStorageRoot, resolveMatrixAccountStringValues, resolveMatrixChannelConfig, resolveMatrixCredentialsDir, resolveMatrixCredentialsFilename, resolveMatrixCredentialsPath, resolveMatrixDefaultOrOnlyAccountId, resolveMatrixEnvAccountToken, resolveMatrixHomeserverKey, resolvePinnedHostnameWithPolicy, sanitizeMatrixPathSegment, setMatrixRuntime, setMatrixThreadBindingIdleTimeoutBySessionKey, setMatrixThreadBindingMaxAgeBySessionKey, ssrfPolicyFromDangerouslyAllowPrivateNetwork, writeJsonFileAtomically };
@@ -1,2 +1,2 @@
1
- import { r as setMatrixRuntime } from "./runtime-CveSqMOP.js";
1
+ import { r as setMatrixRuntime } from "./runtime-6S3DNFNv.js";
2
2
  export { setMatrixRuntime };
@@ -1,13 +1,13 @@
1
1
  import { n as formatMatrixErrorReason, r as isMatrixNotFoundError, t as formatMatrixErrorMessage } from "./errors-C47hvAF8.js";
2
- import { n as LogService, r as noop, t as ConsoleLogger } from "./logger-BMClpI5b.js";
3
- import { t as SqliteBackedMatrixSyncStore } from "./file-sync-store-Cxb0ckyX.js";
2
+ import { t as SqliteBackedMatrixSyncStore } from "./file-sync-store-CPkgnSXp.js";
3
+ import { n as LogService, r as noop, t as ConsoleLogger } from "./logger-D0GCSDQq.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-DgvN5rBx.js";
6
- import { a as matrixEventToRaw, n as createMatrixGuardedFetch, o as parseMxc, t as MatrixAuthedHttpClient } from "./http-client-W4TJQM6r.js";
5
+ import { c as createMatrixStartupAbortError, u as throwIfMatrixStartupAborted } from "./shared-DquM1oz6.js";
6
+ import { a as matrixEventToRaw, n as createMatrixGuardedFetch, o as parseMxc, t as MatrixAuthedHttpClient } from "./http-client-BmrgOZTL.js";
7
7
  import { n as resolveMatrixRoomKeyBackupReadinessError } from "./backup-health-Dm_YMVFT.js";
8
- import { createMatrixJsSdkClientLogger } from "./logging-CFJrbDAN.js";
8
+ import { createMatrixJsSdkClientLogger } from "./logging-QH-48Gr6.js";
9
9
  import { n as isMatrixReadySyncState, r as isMatrixTerminalSyncState } from "./sync-state-CWbp0QSY.js";
10
- import { n as isRepairableSecretStorageAccessError, t as MatrixRecoveryKeyStore } from "./recovery-key-store-Bx0zTJcB.js";
10
+ import { n as isRepairableSecretStorageAccessError, t as MatrixRecoveryKeyStore } from "./recovery-key-store-CW6eePfp.js";
11
11
  import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
12
12
  import { normalizeNullableString, normalizeStringEntries, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
13
13
  import { KeyedAsyncQueue } from "openclaw/plugin-sdk/keyed-async-queue";
@@ -94,7 +94,7 @@ function createMatrixExplicitBootstrapOptions(params) {
94
94
  };
95
95
  }
96
96
  let loadedMatrixCryptoRuntime = null;
97
- const loadMatrixCryptoRuntime = createLazyRuntimeModule(() => import("./crypto-runtime-BHcxauC4.js").then((runtime) => {
97
+ const loadMatrixCryptoRuntime = createLazyRuntimeModule(() => import("./crypto-runtime-CAff-n15.js").then((runtime) => {
98
98
  loadedMatrixCryptoRuntime = runtime;
99
99
  return runtime;
100
100
  }));
@@ -2,6 +2,14 @@ import { t as getMatrixScopedEnvVarNames } from "./env-vars-B0NxQnPk.js";
2
2
  import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "openclaw/plugin-sdk/account-id";
3
3
  import { collectSecretInputAssignment, createChannelSecretTargetRegistryEntries, getChannelSurface, hasConfiguredSecretInputValue, hasOwnProperty, normalizeSecretStringValue } from "openclaw/plugin-sdk/channel-secret-basic-runtime";
4
4
  //#region extensions/matrix/src/secret-contract.ts
5
+ function accountSecretOwner(accountId) {
6
+ return {
7
+ ownerKind: "account",
8
+ ownerId: `matrix:${normalizeAccountId(accountId)}`,
9
+ requiredForGateway: false,
10
+ disposition: "isolate"
11
+ };
12
+ }
5
13
  const secretTargetRegistryEntries = createChannelSecretTargetRegistryEntries({
6
14
  channelKey: "matrix",
7
15
  account: ["accessToken", "password"],
@@ -13,7 +21,11 @@ function collectRuntimeConfigAssignments(params) {
13
21
  const { channel: matrix, surface } = resolved;
14
22
  const envAccessTokenConfigured = normalizeSecretStringValue(params.context.env.MATRIX_ACCESS_TOKEN).length > 0;
15
23
  const defaultScopedAccessTokenConfigured = normalizeSecretStringValue(params.context.env[getMatrixScopedEnvVarNames("default").accessToken]).length > 0;
16
- const defaultAccountAccessTokenConfigured = surface.accounts.some(({ accountId, account }) => normalizeAccountId(accountId) === DEFAULT_ACCOUNT_ID && hasConfiguredSecretInputValue(account.accessToken, params.defaults));
24
+ const defaultScopedPasswordConfigured = normalizeSecretStringValue(params.context.env[getMatrixScopedEnvVarNames("default").password]).length > 0;
25
+ const defaultAccount = surface.hasExplicitAccounts ? surface.accounts.find(({ accountId }) => normalizeAccountId(accountId) === DEFAULT_ACCOUNT_ID) : void 0;
26
+ const defaultAccountEnabled = surface.channelEnabled && (defaultAccount?.enabled ?? true);
27
+ const defaultAccountAccessTokenConfigured = hasConfiguredSecretInputValue(defaultAccount?.account.accessToken, params.defaults);
28
+ const defaultAccountPasswordConfigured = hasConfiguredSecretInputValue(defaultAccount?.account.password, params.defaults);
17
29
  const baseAccessTokenConfigured = hasConfiguredSecretInputValue(matrix.accessToken, params.defaults);
18
30
  collectSecretInputAssignment({
19
31
  value: matrix.accessToken,
@@ -21,8 +33,9 @@ function collectRuntimeConfigAssignments(params) {
21
33
  expected: "string",
22
34
  defaults: params.defaults,
23
35
  context: params.context,
24
- active: surface.channelEnabled,
25
- inactiveReason: "Matrix channel is disabled.",
36
+ active: defaultAccountEnabled && !defaultAccountAccessTokenConfigured && !defaultScopedAccessTokenConfigured,
37
+ inactiveReason: "Matrix channel or default account is disabled, or default-account access-token auth overrides the top-level accessToken.",
38
+ owner: accountSecretOwner(DEFAULT_ACCOUNT_ID),
26
39
  apply: (value) => {
27
40
  matrix.accessToken = value;
28
41
  }
@@ -33,8 +46,9 @@ function collectRuntimeConfigAssignments(params) {
33
46
  expected: "string",
34
47
  defaults: params.defaults,
35
48
  context: params.context,
36
- active: surface.channelEnabled && !(baseAccessTokenConfigured || envAccessTokenConfigured || defaultScopedAccessTokenConfigured || defaultAccountAccessTokenConfigured),
37
- inactiveReason: "Matrix channel is disabled or access-token auth is configured for the default Matrix account.",
49
+ active: defaultAccountEnabled && !(baseAccessTokenConfigured || envAccessTokenConfigured || defaultScopedAccessTokenConfigured || defaultAccountAccessTokenConfigured || defaultAccountPasswordConfigured || defaultScopedPasswordConfigured),
50
+ inactiveReason: "Matrix channel or default account is disabled, or higher-precedence default-account auth is configured.",
51
+ owner: accountSecretOwner(DEFAULT_ACCOUNT_ID),
38
52
  apply: (value) => {
39
53
  matrix.password = value;
40
54
  }
@@ -49,6 +63,7 @@ function collectRuntimeConfigAssignments(params) {
49
63
  context: params.context,
50
64
  active: enabled,
51
65
  inactiveReason: "Matrix account is disabled.",
66
+ owner: accountSecretOwner(accountId),
52
67
  apply: (value) => {
53
68
  account.accessToken = value;
54
69
  }
@@ -65,6 +80,7 @@ function collectRuntimeConfigAssignments(params) {
65
80
  context: params.context,
66
81
  active: enabled && !(accountAccessTokenConfigured || scopedEnvAccessTokenConfigured || inheritedDefaultAccountAccessTokenConfigured),
67
82
  inactiveReason: "Matrix account is disabled or this account has an accessToken configured.",
83
+ owner: accountSecretOwner(accountId),
68
84
  apply: (value) => {
69
85
  account.password = value;
70
86
  }
@@ -1,2 +1,2 @@
1
- import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries, t as channelSecrets } from "./secret-contract-OZoQf0kI.js";
1
+ import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries, t as channelSecrets } from "./secret-contract-M3hRmGO-.js";
2
2
  export { channelSecrets, collectRuntimeConfigAssignments, secretTargetRegistryEntries };
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
2
  import { a as resolveMatrixAccountConfig } from "./account-config-BZWN9tGS.js";
3
- import { t as getMatrixRuntime } from "./runtime-CveSqMOP.js";
3
+ import { t as getMatrixRuntime } from "./runtime-6S3DNFNv.js";
4
4
  import { r as normalizeMatrixResolvableTarget, t as isMatrixQualifiedUserId } from "./target-ids-B-5aQxwn.js";
5
5
  import { n as MATRIX_REACTION_EVENT_TYPE, r as buildMatrixReactionContent, t as MATRIX_ANNOTATION_RELATION_TYPE } from "./reaction-common-DkrQdBSZ.js";
6
6
  import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
@@ -9,6 +9,7 @@ import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeOpti
9
9
  import { requireRuntimeConfig } from "openclaw/plugin-sdk/plugin-config-runtime";
10
10
  import { loadOutboundMediaFromUrl } from "openclaw/plugin-sdk/outbound-media";
11
11
  import { normalizePollInput } from "openclaw/plugin-sdk/poll-runtime";
12
+ import { isVoiceMessageCompatibleAudio } from "openclaw/plugin-sdk/media-runtime";
12
13
  import MarkdownIt from "markdown-it";
13
14
  import { isAutoLinkedFileRef } from "openclaw/plugin-sdk/text-autolink-runtime";
14
15
  import { parseBuffer } from "music-metadata";
@@ -228,7 +229,7 @@ function buildPollResponseContent(pollEventId, answerIds) {
228
229
  }
229
230
  //#endregion
230
231
  //#region extensions/matrix/src/matrix/send/client.ts
231
- const loadMatrixSendClientRuntime = createLazyRuntimeModule(() => import("./client-bootstrap-PqYOS-mO.js").then((n) => n.t));
232
+ const loadMatrixSendClientRuntime = createLazyRuntimeModule(() => import("./client-bootstrap-Dk5EAn3n.js").then((n) => n.t));
232
233
  function resolveMediaMaxBytes(accountId, cfg) {
233
234
  if (!cfg) throw new Error("Matrix media limits requires a resolved runtime config. Load and resolve config at the command or gateway boundary, then pass cfg through the runtime path.");
234
235
  const matrixCfg = resolveMatrixAccountConfig({
@@ -670,7 +671,7 @@ function resolveMatrixVoiceDecision(opts) {
670
671
  return { useVoice: false };
671
672
  }
672
673
  function isMatrixVoiceCompatibleAudio(opts) {
673
- return getCore$2().media.isVoiceCompatibleAudio({
674
+ return isVoiceMessageCompatibleAudio({
674
675
  contentType: opts.contentType,
675
676
  fileName: opts.fileName
676
677
  });
@@ -1,4 +1,4 @@
1
- import { r as setMatrixRuntime } from "./runtime-CveSqMOP.js";
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-BI8MHWp9.js";
3
+ import { t as createMatrixThreadBindingManager } from "./thread-bindings-Cw194yEn.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-DlmTyIP0.js";
2
+ import "./setup-core-XCdAx1nY.js";
3
3
  import { t as formatMatrixErrorMessage } from "./errors-C47hvAF8.js";
4
- import { n as bootstrapMatrixVerification } from "./verification-DLSe3sP7.js";
4
+ import { n as bootstrapMatrixVerification } from "./verification-DjxyWTNP.js";
5
5
  //#region extensions/matrix/src/setup-bootstrap.ts
6
6
  async function maybeBootstrapNewEncryptedMatrixAccount(params) {
7
7
  const accountConfig = resolveMatrixAccountConfig({
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { a as resolveMatrixDefaultOrOnlyAccountId, o as resolveMatrixAccountStringValues, r as resolveConfiguredMatrixAccountIds } from "./account-selection-Bz00QTmQ.js";
2
+ import { a as resolveMatrixDefaultOrOnlyAccountId, o as resolveMatrixAccountStringValues, r as resolveConfiguredMatrixAccountIds } from "./account-selection-kqquRzCf.js";
3
3
  import { a as resolveMatrixAccountConfig, o as resolveMatrixBaseConfig, t as findMatrixAccountConfig } from "./account-config-BZWN9tGS.js";
4
4
  import { i as resolveScopedMatrixEnvConfig, n as resolveGlobalMatrixEnvConfig, r as resolveMatrixEnvAuthReadiness } from "./env-auth-CQsYbz-p.js";
5
- import { i as loadMatrixCredentials, n as credentialsMatchConfig } from "./credentials-read-BtS-HRT5.js";
5
+ import { o as loadMatrixCredentials, r as credentialsMatchConfig } from "./credentials-read-DVmFCm7X.js";
6
6
  import { n as resolveMatrixConfigPath$1, r as shouldStoreMatrixAccountAtTopLevel, t as resolveMatrixConfigFieldPath } from "./config-paths-CnREYb1Y.js";
7
7
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
8
8
  import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "openclaw/plugin-sdk/account-id";
@@ -669,7 +669,7 @@ const matrixSetupAdapter = {
669
669
  input
670
670
  }),
671
671
  afterAccountConfigWritten: async ({ previousCfg, cfg, accountId, runtime }) => {
672
- const { runMatrixSetupBootstrapAfterConfigWrite } = await import("./setup-bootstrap-CCsexWTZ.js");
672
+ const { runMatrixSetupBootstrapAfterConfigWrite } = await import("./setup-bootstrap-DGPOOdz-.js");
673
673
  await runMatrixSetupBootstrapAfterConfigWrite({
674
674
  previousCfg,
675
675
  cfg,
@@ -1,5 +1,5 @@
1
- import { g as resolveMatrixAccount, n as matrixSetupAdapter, t as createMatrixSetupWizardProxy } from "./setup-core-DlmTyIP0.js";
2
- import { r as matrixConfigAdapter, t as MatrixChannelConfigSchema } from "./config-schema-CG9goLWp.js";
1
+ import { g as resolveMatrixAccount, n as matrixSetupAdapter, t as createMatrixSetupWizardProxy } from "./setup-core-XCdAx1nY.js";
2
+ import { r as matrixConfigAdapter, t as MatrixChannelConfigSchema } from "./config-schema-B5GRV8wL.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-2SS94JV0.js").then((n) => n.t)).matrixSetupWizard })),
16
+ setupWizard: createMatrixSetupWizardProxy(async () => ({ matrixSetupWizard: (await import("./setup-surface-CzUiTe_k.js").then((n) => n.t)).matrixSetupWizard })),
17
17
  setup: matrixSetupAdapter,
18
18
  capabilities: {
19
19
  chatTypes: [
@@ -1,11 +1,11 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { n as requiresExplicitMatrixDefaultAccount } from "./account-selection-Bz00QTmQ.js";
2
+ import { n as requiresExplicitMatrixDefaultAccount } from "./account-selection-kqquRzCf.js";
3
3
  import { a as resolveMatrixAccountConfig } from "./account-config-BZWN9tGS.js";
4
4
  import { r as resolveMatrixEnvAuthReadiness } from "./env-auth-CQsYbz-p.js";
5
- import { g as resolveMatrixAccount, h as resolveDefaultMatrixAccountId, i as moveSingleMatrixAccountConfigToNamedAccount, l as updateMatrixAccountConfig, p as listMatrixAccountIds, r as resolveMatrixSetupDmAllowFrom } from "./setup-core-DlmTyIP0.js";
5
+ import { g as resolveMatrixAccount, h as resolveDefaultMatrixAccountId, i as moveSingleMatrixAccountConfigToNamedAccount, l as updateMatrixAccountConfig, p as listMatrixAccountIds, r as resolveMatrixSetupDmAllowFrom } from "./setup-core-XCdAx1nY.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-DDbghaZH.js";
8
+ import { n as ensureMatrixSdkInstalled, r as isMatrixSdkAvailable } from "./deps-CcVJfvRM.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-DlLrfWDy.js").then((n) => n.n);
108
+ const { resolveMatrixTargets } = await import("./resolve-targets-DVoj-YxB.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-DPy2aaPF.js").then((n) => n.t);
236
+ const { listMatrixDirectoryGroupsLive } = await import("./directory-live-DiC-0XBC.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-CCsexWTZ.js");
511
+ const { runMatrixSetupBootstrapAfterConfigWrite } = await import("./setup-bootstrap-DGPOOdz-.js");
512
512
  await runMatrixSetupBootstrapAfterConfigWrite({
513
513
  previousCfg,
514
514
  cfg,
@@ -1,12 +1,12 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { a as resolveMatrixDefaultOrOnlyAccountId, n as requiresExplicitMatrixDefaultAccount, o as resolveMatrixAccountStringValues } from "./account-selection-Bz00QTmQ.js";
2
+ import { a as resolveMatrixDefaultOrOnlyAccountId, n as requiresExplicitMatrixDefaultAccount, o as resolveMatrixAccountStringValues } from "./account-selection-kqquRzCf.js";
3
3
  import { t as getMatrixScopedEnvVarNames } from "./env-vars-B0NxQnPk.js";
4
4
  import { o as resolveMatrixBaseConfig, r as listNormalizedMatrixAccountIds, t as findMatrixAccountConfig } from "./account-config-BZWN9tGS.js";
5
5
  import { i as resolveScopedMatrixEnvConfig, n as resolveGlobalMatrixEnvConfig } from "./env-auth-CQsYbz-p.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-BtSOar8T.js";
9
- import { n as LogService } from "./logger-BMClpI5b.js";
8
+ import { s as repairCurrentTokenStorageMetaDeviceId } from "./storage-CzHxeF5E.js";
9
+ import { n as LogService } from "./logger-D0GCSDQq.js";
10
10
  import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
11
11
  import { DEFAULT_ACCOUNT_ID as DEFAULT_ACCOUNT_ID$1, normalizeAccountId as normalizeAccountId$1, normalizeOptionalAccountId, normalizeOptionalAccountId as normalizeOptionalAccountId$1 } from "openclaw/plugin-sdk/account-id";
12
12
  import { coerceSecretRef, normalizeResolvedSecretInputString } from "openclaw/plugin-sdk/secret-input-runtime";
@@ -16,7 +16,7 @@ import { resolveOptionalIntegerOption } from "openclaw/plugin-sdk/number-runtime
16
16
  import { requireRuntimeConfig } from "openclaw/plugin-sdk/plugin-config-runtime";
17
17
  import { retryAsync } from "openclaw/plugin-sdk/retry-runtime";
18
18
  //#region extensions/matrix/src/matrix/client/config.ts
19
- const loadDefaultMatrixAuthClientDeps = createLazyRuntimeModule(() => Promise.all([import("./sdk-CI8E2TKg.js"), import("./logging-CFJrbDAN.js")]).then(([sdkModule, loggingModule]) => ({
19
+ const loadDefaultMatrixAuthClientDeps = createLazyRuntimeModule(() => Promise.all([import("./sdk-CIDZXWpZ.js"), import("./logging-QH-48Gr6.js")]).then(([sdkModule, loggingModule]) => ({
20
20
  MatrixClient: sdkModule.MatrixClient,
21
21
  ensureMatrixSdkLoggingConfigured: loggingModule.ensureMatrixSdkLoggingConfigured
22
22
  })));
@@ -24,11 +24,11 @@ const MATRIX_AUTH_REQUEST_RETRY_RE = /\b(fetch failed|econnreset|econnrefused|en
24
24
  async function loadMatrixAuthClientDeps() {
25
25
  return await loadDefaultMatrixAuthClientDeps();
26
26
  }
27
- const loadMatrixCredentialsReadDeps = createLazyRuntimeModule(() => import("./credentials-read-BtS-HRT5.js").then((n) => n.r).then((credentialsReadModule) => ({
27
+ const loadMatrixCredentialsReadDeps = createLazyRuntimeModule(() => import("./credentials-read-DVmFCm7X.js").then((n) => n.i).then((credentialsReadModule) => ({
28
28
  loadMatrixCredentials: credentialsReadModule.loadMatrixCredentials,
29
29
  credentialsMatchConfig: credentialsReadModule.credentialsMatchConfig
30
30
  })));
31
- const loadMatrixCredentialsWriteRuntime = createLazyRuntimeModule(() => import("./credentials-write.runtime-J_EUt5WP.js"));
31
+ const loadMatrixCredentialsWriteRuntime = createLazyRuntimeModule(() => import("./credentials-write.runtime-Be9zNSUw.js"));
32
32
  const loadMatrixSecretInputDeps = createLazyRuntimeModule(() => import("./config-secret-input.runtime-CwsP3--c.js").then((runtime) => ({ resolveConfiguredSecretInputString: runtime.resolveConfiguredSecretInputString })));
33
33
  function shouldRetryMatrixAuthRequest(err) {
34
34
  return MATRIX_AUTH_REQUEST_RETRY_RE.test(formatErrorMessage(err));
@@ -492,7 +492,7 @@ var shared_exports = /* @__PURE__ */ __exportAll({
492
492
  stopSharedClientForAccount: () => stopSharedClientForAccount,
493
493
  stopSharedClientInstance: () => stopSharedClientInstance
494
494
  });
495
- const loadMatrixCreateClientDeps = createLazyRuntimeModule(() => import("./create-client-D9z9RjCM.js").then((n) => n.n).then((runtime) => ({ createMatrixClient: runtime.createMatrixClient })));
495
+ const loadMatrixCreateClientDeps = createLazyRuntimeModule(() => import("./create-client-WQExaby_.js").then((n) => n.n).then((runtime) => ({ createMatrixClient: runtime.createMatrixClient })));
496
496
  const sharedClientStates = /* @__PURE__ */ new Map();
497
497
  const sharedClientPromises = /* @__PURE__ */ new Map();
498
498
  function serializeDispatcherPolicyKey(auth) {
@@ -1,8 +1,8 @@
1
- import { t as getMatrixRuntime } from "./runtime-CveSqMOP.js";
1
+ import { t as getMatrixRuntime } from "./runtime-6S3DNFNv.js";
2
2
  import { t as formatMatrixErrorMessage } from "./errors-C47hvAF8.js";
3
- import { M as resolveMatrixSqliteStateEnv, l as resolveMatrixStoragePaths, o as recordCurrentStorageMetaDeviceId } from "./storage-BtSOar8T.js";
4
- import path from "node:path";
3
+ import { M as resolveMatrixSqliteStateEnv, l as resolveMatrixStoragePaths, o as recordCurrentStorageMetaDeviceId } from "./storage-CzHxeF5E.js";
5
4
  import { createHash } from "node:crypto";
5
+ import path from "node:path";
6
6
  import { timestampMsToIsoString } from "openclaw/plugin-sdk/number-runtime";
7
7
  import fs from "node:fs/promises";
8
8
  import { readJsonFileWithFallback } from "openclaw/plugin-sdk/json-store";
@@ -1,12 +1,12 @@
1
- import { t as isRecord } from "./record-shared-CvzjvHRn.js";
2
- import { t as getMatrixRuntime } from "./runtime-CveSqMOP.js";
3
- import { n as resolveMatrixAccountStorageRoot } from "./storage-paths-B4_I9iqO.js";
1
+ import { t as isRecord } from "./record-shared-CWWx6fvI.js";
2
+ import { t as getMatrixRuntime } from "./runtime-6S3DNFNv.js";
3
+ import { n as resolveMatrixAccountStorageRoot } from "./storage-paths-gUmSydsW.js";
4
4
  import { normalizeAccountId } from "openclaw/plugin-sdk/account-id";
5
- import fs from "node:fs";
6
- import os from "node:os";
7
- import path from "node:path";
8
5
  import { createHash, randomUUID } from "node:crypto";
6
+ import path from "node:path";
7
+ import fs from "node:fs";
9
8
  import { loadJsonFile } from "openclaw/plugin-sdk/json-store";
9
+ import os from "node:os";
10
10
  //#region extensions/matrix/src/matrix/sqlite-state.ts
11
11
  function resolveStateDirOverride(options) {
12
12
  if (!options) return;
@@ -526,7 +526,7 @@ function resolveMatrixStateFilePath(params) {
526
526
  }
527
527
  async function maybeMigrateLegacyStorage(params) {
528
528
  const hasAccountScopedLegacyStorageFile = fs.existsSync(params.storagePaths.storagePath);
529
- const syncCache = hasAccountScopedLegacyStorageFile ? await import("./file-sync-store-Cxb0ckyX.js").then((n) => n.n) : null;
529
+ const syncCache = hasAccountScopedLegacyStorageFile ? await import("./file-sync-store-CPkgnSXp.js").then((n) => n.n) : null;
530
530
  const hasAccountScopedLegacyStorage = hasAccountScopedLegacyStorageFile && await syncCache?.readLegacyMatrixSyncCacheState(params.storagePaths.rootDir) !== null;
531
531
  const hasAccountScopedRecoveryKey = fs.existsSync(params.storagePaths.recoveryKeyPath);
532
532
  const hasAccountScopedIdbSnapshot = fs.existsSync(params.storagePaths.idbSnapshotPath);
@@ -587,7 +587,7 @@ async function migrateLegacyIdbSnapshotToSqlite(params) {
587
587
  });
588
588
  return;
589
589
  }
590
- const { readLegacyMatrixIdbSnapshotState } = await import("./idb-persistence-iUZoHZkp.js").then((n) => n.t);
590
+ const { readLegacyMatrixIdbSnapshotState } = await import("./idb-persistence-Dyy6ipgU.js").then((n) => n.t);
591
591
  const snapshot = await readLegacyMatrixIdbSnapshotState(params.storageRootDir);
592
592
  if (!snapshot) return;
593
593
  writeMatrixIdbSnapshotJson({
@@ -606,7 +606,7 @@ async function migrateLegacyIdbSnapshotToSqlite(params) {
606
606
  });
607
607
  }
608
608
  async function migrateLegacySyncCacheToSqlite(params) {
609
- const syncCache = await import("./file-sync-store-Cxb0ckyX.js").then((n) => n.n);
609
+ const syncCache = await import("./file-sync-store-CPkgnSXp.js").then((n) => n.n);
610
610
  const persisted = await syncCache.readLegacyMatrixSyncCacheState(params.sourceRootDir);
611
611
  if (!persisted) return;
612
612
  const store = getMatrixRuntime().state.openKeyedStore(syncCache.openMatrixSyncCacheStoreOptions(params.targetRootDir));
@@ -1,10 +1,10 @@
1
- import { t as getMatrixRuntime } from "./runtime-CveSqMOP.js";
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
- import { M as resolveMatrixSqliteStateEnv, N as resolveMatrixSqliteStateKey, c as resolveMatrixStateFilePath, t as claimCurrentTokenStorageState } from "./storage-BtSOar8T.js";
4
- import { a as sendMessageMatrix } from "./send-C7xuGWpv.js";
3
+ import { M as resolveMatrixSqliteStateEnv, N as resolveMatrixSqliteStateKey, c as resolveMatrixStateFilePath, t as claimCurrentTokenStorageState } from "./storage-CzHxeF5E.js";
4
+ import { a as sendMessageMatrix } from "./send-BJbrdmNm.js";
5
5
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
6
- import path from "node:path";
7
6
  import { createHash } from "node:crypto";
7
+ import path from "node:path";
8
8
  import { registerSessionBindingAdapter, resolveThreadBindingFarewellText, unregisterSessionBindingAdapter } from "openclaw/plugin-sdk/thread-bindings-session-runtime";
9
9
  import fs from "node:fs/promises";
10
10
  import { readJsonFileWithFallback } from "openclaw/plugin-sdk/json-store";
@@ -1,14 +1,14 @@
1
1
  import { a as resolveMatrixAccountConfig, o as resolveMatrixBaseConfig } from "./account-config-BZWN9tGS.js";
2
- import { g as resolveMatrixAccount } from "./setup-core-DlmTyIP0.js";
3
- import { r as resolveMatrixRoomConfig } from "./channel-CxqDh7mS.js";
2
+ import { g as resolveMatrixAccount } from "./setup-core-XCdAx1nY.js";
3
+ import { r as resolveMatrixRoomConfig } from "./channel-j331Xd7b.js";
4
4
  import { r as normalizeMatrixResolvableTarget } from "./target-ids-B-5aQxwn.js";
5
- import { E as parsePollStart, T as isPollStartType, _ as readJoinedMatrixMembers, b as buildPollResponseContent, g as isStrictDirectMembership, h as hasDirectMatrixMemberFlag, i as reactMatrixMessage, u as resolveMatrixRoomId } from "./send-C7xuGWpv.js";
5
+ import { E as parsePollStart, T as isPollStartType, _ as readJoinedMatrixMembers, b as buildPollResponseContent, g as isStrictDirectMembership, h as hasDirectMatrixMemberFlag, i as reactMatrixMessage, u as resolveMatrixRoomId } from "./send-BJbrdmNm.js";
6
6
  import { i as buildMatrixReactionRelationsPath, o as selectOwnMatrixReactionEventIds, s as summarizeMatrixReactionEvents } from "./reaction-common-DkrQdBSZ.js";
7
- import { n as withResolvedActionClient, r as withResolvedRoomAction } from "./client-ClHisZbf.js";
8
- 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-Dm3K4ZvM.js";
7
+ import { n as withResolvedActionClient, r as withResolvedRoomAction } from "./client-BtG4quUl.js";
8
+ 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-3UBHfZrN.js";
9
9
  import { c as readReactionParams, d as resolveAllowlistProviderRuntimeGroupPolicy, f as resolveDefaultGroupPolicy, i as createActionGate, l as readStringArrayParam, n as ToolAuthorizationError, o as jsonResult, s as readPositiveIntegerParam, u as readStringParam } from "./runtime-api-D1xI_cvh.js";
10
- import { t as applyMatrixProfileUpdate } from "./profile-update-iUHCoks3.js";
11
- 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-DLSe3sP7.js";
10
+ import { t as applyMatrixProfileUpdate } from "./profile-update-Bh2XtJwN.js";
11
+ 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-DjxyWTNP.js";
12
12
  import { t as createMatrixRoomInfoResolver } from "./room-info-B6vKD5DF.js";
13
13
  import { normalizeOptionalLowercaseString, uniqueStrings, uniqueValues } from "openclaw/plugin-sdk/string-coerce-runtime";
14
14
  import { normalizeAccountId } from "openclaw/plugin-sdk/account-id";
@@ -503,14 +503,18 @@ async function handleMatrixAction(params, cfg, opts = {}) {
503
503
  return jsonResult({
504
504
  ok: true,
505
505
  ...await withReadTarget(roomId, async (target) => {
506
- return await readMatrixMessages(target.roomId, {
507
- limit: limit ?? void 0,
508
- before: before ?? void 0,
509
- after: after ?? void 0,
510
- threadId: threadId ?? void 0,
511
- ...clientOpts,
512
- client: target.client
513
- });
506
+ return {
507
+ ...await readMatrixMessages(target.roomId, {
508
+ limit: limit ?? void 0,
509
+ before: before ?? void 0,
510
+ after: after ?? void 0,
511
+ threadId: threadId ?? void 0,
512
+ ...clientOpts,
513
+ client: target.client
514
+ }),
515
+ roomId: target.roomId,
516
+ ...threadId ? { threadId } : {}
517
+ };
514
518
  })
515
519
  });
516
520
  }
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { i as withStartedActionClient, n as withResolvedActionClient } from "./client-ClHisZbf.js";
3
- import { n as formatMatrixEncryptionUnavailableError } from "./encryption-guidance-BFfgq7c7.js";
2
+ import { i as withStartedActionClient, n as withResolvedActionClient } from "./client-BtG4quUl.js";
3
+ import { n as formatMatrixEncryptionUnavailableError } from "./encryption-guidance-CbEFe38F.js";
4
4
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  import { requireRuntimeConfig } from "openclaw/plugin-sdk/plugin-config-runtime";
6
6
  import { setTimeout } from "node:timers/promises";
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@openclaw/matrix",
3
- "version": "2026.7.2-beta.1",
3
+ "version": "2026.7.2-beta.3",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@openclaw/matrix",
9
- "version": "2026.7.2-beta.1",
9
+ "version": "2026.7.2-beta.3",
10
10
  "dependencies": {
11
11
  "@matrix-org/matrix-sdk-crypto-nodejs": "0.6.1",
12
12
  "@matrix-org/matrix-sdk-crypto-wasm": "18.3.1",
@@ -18,7 +18,7 @@
18
18
  "zod": "4.4.3"
19
19
  },
20
20
  "peerDependencies": {
21
- "openclaw": ">=2026.7.2-beta.1"
21
+ "openclaw": ">=2026.7.2-beta.3"
22
22
  },
23
23
  "peerDependenciesMeta": {
24
24
  "openclaw": {