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

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 (61) hide show
  1. package/dist/api.js +4 -4
  2. package/dist/{approval-handler.runtime--Ei44Vo2.js → approval-handler.runtime-BQZdg_dJ.js} +5 -5
  3. package/dist/{approval-ids-C_2kSMdJ.js → approval-ids-De4IhOSN.js} +1 -1
  4. package/dist/{approval-reaction-auth-TdVPcgxP.js → approval-reaction-auth-BLJKPLku.js} +2 -2
  5. package/dist/{approval-reactions-BgU51JGd.js → approval-reactions-D-BxBK_L.js} +1 -1
  6. package/dist/{channel-CxqDh7mS.js → channel-B1woOUgk.js} +10 -9
  7. package/dist/channel-plugin-api.js +1 -1
  8. package/dist/{channel.runtime-wNfJc57I.js → channel.runtime-BvJm9z0w.js} +6 -6
  9. package/dist/{cli-o00oTJhx.js → cli-CLWOkMvw.js} +16 -13
  10. package/dist/{cli-metadata-Gf3HSJ2c.js → cli-metadata-9Naf7in0.js} +1 -1
  11. package/dist/cli-metadata.js +1 -1
  12. package/dist/{client-ClHisZbf.js → client-BUai6s29.js} +2 -2
  13. package/dist/{client-DP0nmFxK.js → client-CPuYbNL8.js} +2 -2
  14. package/dist/{client-bootstrap-PqYOS-mO.js → client-bootstrap-CNVF73sF.js} +1 -1
  15. package/dist/{config-schema-CG9goLWp.js → config-schema-BTSatSY3.js} +8 -10
  16. package/dist/contract-api.js +2 -2
  17. package/dist/{create-client-D9z9RjCM.js → create-client-85ttAWDP.js} +3 -3
  18. package/dist/{credentials-DnhsLAuR.js → credentials-CncWUieb.js} +1 -1
  19. package/dist/{credentials-read-BtS-HRT5.js → credentials-read-CwNJrmwu.js} +1 -1
  20. package/dist/{credentials-write.runtime-J_EUt5WP.js → credentials-write.runtime-BDtpqvj0.js} +1 -1
  21. package/dist/{crypto-runtime-BHcxauC4.js → crypto-runtime-DoEB5RpM.js} +3 -3
  22. package/dist/{directory-live-DPy2aaPF.js → directory-live-0TyS9xep.js} +3 -3
  23. package/dist/doctor-contract-api.js +4 -4
  24. package/dist/{draft-stream-De7uikGn.js → draft-stream-GOdPZMBm.js} +1 -1
  25. package/dist/{file-sync-store-Cxb0ckyX.js → file-sync-store-CUE9WwD2.js} +3 -3
  26. package/dist/{http-client-W4TJQM6r.js → http-client-Jw5_bwQo.js} +1 -1
  27. package/dist/{idb-persistence-iUZoHZkp.js → idb-persistence-BiHEEzD7.js} +2 -2
  28. package/dist/{inbound-dedupe-DcMs0YXL.js → inbound-dedupe-CaBLblef.js} +19 -38
  29. package/dist/index.js +1 -1
  30. package/dist/{logger-BMClpI5b.js → logger-D0GCSDQq.js} +1 -1
  31. package/dist/{logging-CFJrbDAN.js → logging-QH-48Gr6.js} +1 -1
  32. package/dist/{media-text-DWaotsZB.js → media-text-DPCtdFjk.js} +1 -1
  33. package/dist/{messages-Dm3K4ZvM.js → messages-DCRbGLMh.js} +3 -3
  34. package/dist/{monitor-C_kgPPeV.js → monitor-C5EOF9et.js} +67 -66
  35. package/dist/plugin-entry.handlers.runtime.js +1 -1
  36. package/dist/probe.runtime-BBvciVfo.js +3 -0
  37. package/dist/{profile-update-iUHCoks3.js → profile-update-DompcDyu.js} +3 -3
  38. package/dist/{reaction-events-0tubdHRM.js → reaction-events-QUgxkQKQ.js} +3 -3
  39. package/dist/{recovery-key-store-Bx0zTJcB.js → recovery-key-store-B2RglalK.js} +2 -2
  40. package/dist/{resolve-targets-DlLrfWDy.js → resolve-targets-Cx1VVArA.js} +1 -1
  41. package/dist/{resolver.runtime-MeaT1zXx.js → resolver.runtime-PPrv3ZHu.js} +1 -1
  42. package/dist/{runtime-CveSqMOP.js → runtime-6S3DNFNv.js} +1 -1
  43. package/dist/runtime-api.js +3 -3
  44. package/dist/runtime-setter-api.js +1 -1
  45. package/dist/{sdk-CI8E2TKg.js → sdk-1TXuSiXZ.js} +7 -7
  46. package/dist/{send-C7xuGWpv.js → send-yre1krm8.js} +2 -2
  47. package/dist/session-binding-contract-api.js +2 -2
  48. package/dist/{setup-bootstrap-CCsexWTZ.js → setup-bootstrap-DXVRCd4G.js} +2 -2
  49. package/dist/{setup-core-DlmTyIP0.js → setup-core-CYQRY2oG.js} +2 -2
  50. package/dist/setup-plugin-api.js +3 -3
  51. package/dist/{setup-surface-2SS94JV0.js → setup-surface-BjvRQzK6.js} +4 -4
  52. package/dist/{shared-DgvN5rBx.js → shared-BfW4lxGu.js} +6 -6
  53. package/dist/{startup-verification-CbIyF7z1.js → startup-verification-DSiyDKM5.js} +2 -2
  54. package/dist/{storage-BtSOar8T.js → storage-DD-EnNJE.js} +4 -4
  55. package/dist/{thread-bindings-BI8MHWp9.js → thread-bindings-U5ZroBeZ.js} +3 -3
  56. package/dist/{tool-actions.runtime-CnyhVPoY.js → tool-actions.runtime-BlfTr9b0.js} +19 -15
  57. package/dist/{verification-DLSe3sP7.js → verification-CGnI9k1O.js} +1 -1
  58. package/npm-shrinkwrap.json +3 -3
  59. package/openclaw.plugin.json +70 -70
  60. package/package.json +4 -4
  61. package/dist/probe.runtime-Dry8PTWC.js +0 -3
package/dist/api.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import { a as resolveMatrixDefaultOrOnlyAccountId, i as resolveMatrixChannelConfig, n as requiresExplicitMatrixDefaultAccount, r as resolveConfiguredMatrixAccountIds, t as findMatrixAccountEntry } from "./account-selection-Bz00QTmQ.js";
2
2
  import { n as listMatrixEnvAccountIds, r as resolveMatrixEnvAccountToken, t as getMatrixScopedEnvVarNames } from "./env-vars-B0NxQnPk.js";
3
3
  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";
4
- import { n as matrixSetupAdapter, t as createMatrixSetupWizardProxy } from "./setup-core-DlmTyIP0.js";
5
- import { t as matrixPlugin } from "./channel-CxqDh7mS.js";
4
+ import { n as matrixSetupAdapter, t as createMatrixSetupWizardProxy } from "./setup-core-CYQRY2oG.js";
5
+ import { t as matrixPlugin } from "./channel-B1woOUgk.js";
6
6
  import { d as setMatrixThreadBindingIdleTimeoutBySessionKey, n as getMatrixThreadBindingManager, p as setMatrixThreadBindingMaxAgeBySessionKey, s as resetMatrixThreadBindingsForTests } from "./thread-bindings-shared-CKnY4LSd.js";
7
- import { n as matrixOnboardingAdapter } from "./setup-surface-2SS94JV0.js";
8
- import { t as createMatrixThreadBindingManager } from "./thread-bindings-BI8MHWp9.js";
7
+ import { n as matrixOnboardingAdapter } from "./setup-surface-BjvRQzK6.js";
8
+ import { t as createMatrixThreadBindingManager } from "./thread-bindings-U5ZroBeZ.js";
9
9
  //#region extensions/matrix/api.ts
10
10
  const matrixSessionBindingAdapterChannels = ["matrix"];
11
11
  //#endregion
@@ -1,9 +1,9 @@
1
- import { g as resolveMatrixAccount } from "./setup-core-DlmTyIP0.js";
2
- import { _ as shouldHandleMatrixApprovalRequest, g as isMatrixAnyApprovalClientEnabled } from "./channel-CxqDh7mS.js";
1
+ import { g as resolveMatrixAccount } from "./setup-core-CYQRY2oG.js";
2
+ import { _ as shouldHandleMatrixApprovalRequest, g as isMatrixAnyApprovalClientEnabled } from "./channel-B1woOUgk.js";
3
3
  import { a as resolveMatrixTargetIdentity } from "./target-ids-B-5aQxwn.js";
4
- import { a as sendMessageMatrix, i as reactMatrixMessage, p as repairMatrixDirectRooms, s as sendSingleTextMessageMatrix } from "./send-C7xuGWpv.js";
5
- import { a as unregisterMatrixApprovalReactionTarget, n as listMatrixApprovalReactionBindings, r as registerMatrixApprovalReactionTarget, t as buildMatrixApprovalReactionHint } from "./approval-reactions-BgU51JGd.js";
6
- import { n as editMatrixMessage, t as deleteMatrixMessage } from "./messages-Dm3K4ZvM.js";
4
+ import { a as sendMessageMatrix, i as reactMatrixMessage, p as repairMatrixDirectRooms, s as sendSingleTextMessageMatrix } from "./send-yre1krm8.js";
5
+ import { a as unregisterMatrixApprovalReactionTarget, n as listMatrixApprovalReactionBindings, r as registerMatrixApprovalReactionTarget, t as buildMatrixApprovalReactionHint } from "./approval-reactions-D-BxBK_L.js";
6
+ import { n as editMatrixMessage, t as deleteMatrixMessage } from "./messages-DCRbGLMh.js";
7
7
  import { listMessageReceiptPlatformIds, resolveMessageReceiptPrimaryId } from "openclaw/plugin-sdk/channel-outbound";
8
8
  import { normalizeUniqueStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
9
9
  import { buildChannelApprovalNativeTargetKey } from "openclaw/plugin-sdk/approval-native-runtime";
@@ -1,4 +1,4 @@
1
- import { a as normalizeMatrixUserId } from "./config-schema-CG9goLWp.js";
1
+ import { a as normalizeMatrixUserId } from "./config-schema-BTSatSY3.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-DlmTyIP0.js";
2
- import { t as normalizeMatrixApproverId } from "./approval-ids-C_2kSMdJ.js";
1
+ import { g as resolveMatrixAccount } from "./setup-core-CYQRY2oG.js";
2
+ import { t as normalizeMatrixApproverId } from "./approval-ids-De4IhOSN.js";
3
3
  import { resolveApprovalApprovers } from "openclaw/plugin-sdk/approval-auth-runtime";
4
4
  //#region extensions/matrix/src/approval-reaction-auth.ts
5
5
  function normalizeMatrixExecApproverId(value) {
@@ -1,4 +1,4 @@
1
- import { n as getOptionalMatrixRuntime } from "./runtime-CveSqMOP.js";
1
+ import { n as getOptionalMatrixRuntime } from "./runtime-6S3DNFNv.js";
2
2
  import { normalizeAccountId, normalizeOptionalAccountId } from "openclaw/plugin-sdk/routing";
3
3
  import { createApprovalReactionTargetStore } from "openclaw/plugin-sdk/approval-reaction-runtime";
4
4
  //#region extensions/matrix/src/approval-reactions.ts
@@ -1,8 +1,8 @@
1
1
  import { n as requiresExplicitMatrixDefaultAccount } from "./account-selection-Bz00QTmQ.js";
2
2
  import { a as resolveMatrixAccountConfig } from "./account-config-BZWN9tGS.js";
3
- import { d as resolveSingleAccountPromotionTarget, f as singleAccountKeysToMove, g as resolveMatrixAccount, h as resolveDefaultMatrixAccountId, n as matrixSetupAdapter, p as listMatrixAccountIds, t as createMatrixSetupWizardProxy, u as namedAccountPromotionKeys } from "./setup-core-DlmTyIP0.js";
4
- import { a as normalizeMatrixUserId, n as DEFAULT_ACCOUNT_ID$2, r as matrixConfigAdapter, t as MatrixChannelConfigSchema } from "./config-schema-CG9goLWp.js";
5
- import { t as normalizeMatrixApproverId } from "./approval-ids-C_2kSMdJ.js";
3
+ import { d as resolveSingleAccountPromotionTarget, f as singleAccountKeysToMove, g as resolveMatrixAccount, h as resolveDefaultMatrixAccountId, n as matrixSetupAdapter, p as listMatrixAccountIds, t as createMatrixSetupWizardProxy, u as namedAccountPromotionKeys } from "./setup-core-CYQRY2oG.js";
4
+ import { a as normalizeMatrixUserId, n as DEFAULT_ACCOUNT_ID$2, r as matrixConfigAdapter, t as MatrixChannelConfigSchema } from "./config-schema-BTSatSY3.js";
5
+ import { t as normalizeMatrixApproverId } from "./approval-ids-De4IhOSN.js";
6
6
  import { a as resolveMatrixTargetIdentity, i as resolveMatrixDirectUserId, n as normalizeMatrixMessagingTarget, r as normalizeMatrixResolvableTarget, t as isMatrixQualifiedUserId } from "./target-ids-B-5aQxwn.js";
7
7
  import { t as formatMatrixErrorMessage } from "./errors-C47hvAF8.js";
8
8
  import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-D2qTLe-C.js";
@@ -127,7 +127,7 @@ const matrixMessageActions = {
127
127
  return extractToolSend(args, "sendMessage");
128
128
  },
129
129
  handleAction: async (ctx) => {
130
- const { handleMatrixAction } = await import("./tool-actions.runtime-CnyhVPoY.js");
130
+ const { handleMatrixAction } = await import("./tool-actions.runtime-BlfTr9b0.js");
131
131
  const { action, params, cfg, accountId, mediaLocalRoots } = ctx;
132
132
  const dispatch = async (actionParams) => await handleMatrixAction({
133
133
  ...actionParams,
@@ -601,7 +601,7 @@ const matrixNativeApprovalCapability = createApproverRestrictedNativeApprovalCap
601
601
  approvalKind,
602
602
  request
603
603
  }),
604
- load: async () => (await import("./approval-handler.runtime--Ei44Vo2.js")).matrixApprovalNativeRuntime
604
+ load: async () => (await import("./approval-handler.runtime-BQZdg_dJ.js")).matrixApprovalNativeRuntime
605
605
  })
606
606
  });
607
607
  const splitMatrixApprovalCapability = splitChannelApprovalCapability(matrixNativeApprovalCapability);
@@ -780,7 +780,7 @@ function resolveMatrixGroupToolPolicy(params) {
780
780
  }
781
781
  //#endregion
782
782
  //#region extensions/matrix/src/resolver.ts
783
- const loadMatrixChannelRuntime$1 = createLazyRuntimeNamedExport(() => import("./resolver.runtime-MeaT1zXx.js"), "matrixResolverRuntime");
783
+ const loadMatrixChannelRuntime$1 = createLazyRuntimeNamedExport(() => import("./resolver.runtime-PPrv3ZHu.js"), "matrixResolverRuntime");
784
784
  const matrixResolverAdapter = { resolveTargets: async ({ cfg, accountId, inputs, kind, runtime }) => (await loadMatrixChannelRuntime$1()).resolveMatrixTargets({
785
785
  cfg,
786
786
  accountId,
@@ -906,8 +906,8 @@ function resolveMatrixOutboundSessionRoute(params) {
906
906
  //#endregion
907
907
  //#region extensions/matrix/src/channel.ts
908
908
  let matrixStartupLock = Promise.resolve();
909
- const loadMatrixSetupWizard = createLazyRuntimeNamedExport(() => import("./setup-surface-2SS94JV0.js").then((n) => n.t), "matrixSetupWizard");
910
- const loadMatrixChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-wNfJc57I.js"), "matrixChannelRuntime");
909
+ const loadMatrixSetupWizard = createLazyRuntimeNamedExport(() => import("./setup-surface-BjvRQzK6.js").then((n) => n.t), "matrixSetupWizard");
910
+ const loadMatrixChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-BvJm9z0w.js"), "matrixChannelRuntime");
911
911
  const loadMatrixDoctorModule = createLazyRuntimeModule(() => import("./doctor-BGTs609f.js"));
912
912
  const meta = {
913
913
  id: "matrix",
@@ -1176,6 +1176,7 @@ const matrixPlugin = createChatChannelPlugin({
1176
1176
  messaging: {
1177
1177
  defaultMarkdownTableMode: "bullets",
1178
1178
  targetPrefixes: ["matrix"],
1179
+ targetIdComparison: "case-sensitive",
1179
1180
  normalizeTarget: normalizeMatrixMessagingTarget,
1180
1181
  resolveInboundConversation: ({ to, conversationId, threadId }) => resolveMatrixInboundConversation({
1181
1182
  to,
@@ -1280,7 +1281,7 @@ const matrixPlugin = createChatChannelPlugin({
1280
1281
  await previousLock;
1281
1282
  let monitorMatrixProvider;
1282
1283
  try {
1283
- monitorMatrixProvider = (await import("./monitor-C_kgPPeV.js")).monitorMatrixProvider;
1284
+ monitorMatrixProvider = (await import("./monitor-C5EOF9et.js")).monitorMatrixProvider;
1284
1285
  } finally {
1285
1286
  releaseLock();
1286
1287
  }
@@ -1,2 +1,2 @@
1
- import { t as matrixPlugin } from "./channel-CxqDh7mS.js";
1
+ import { t as matrixPlugin } from "./channel-B1woOUgk.js";
2
2
  export { matrixPlugin };
@@ -1,10 +1,10 @@
1
- import { a as sendMessageMatrix, c as sendTypingMatrix, o as sendPollMatrix } from "./send-C7xuGWpv.js";
1
+ import { a as sendMessageMatrix, c as sendTypingMatrix, o as sendPollMatrix } from "./send-yre1krm8.js";
2
2
  import { t as isBunRuntime } from "./runtime-BefyhPWv.js";
3
- import { f as resolveMatrixAuth } from "./shared-DgvN5rBx.js";
4
- import "./client-DP0nmFxK.js";
5
- import { n as listMatrixDirectoryGroupsLive, r as listMatrixDirectoryPeersLive } from "./directory-live-DPy2aaPF.js";
3
+ import { f as resolveMatrixAuth } from "./shared-BfW4lxGu.js";
4
+ import "./client-CPuYbNL8.js";
5
+ import { n as listMatrixDirectoryGroupsLive, r as listMatrixDirectoryPeersLive } from "./directory-live-0TyS9xep.js";
6
6
  import { p as resolveOutboundSendDep, r as chunkTextForOutbound } from "./runtime-api-D1xI_cvh.js";
7
- import { t as resolveMatrixTargets } from "./resolve-targets-DlLrfWDy.js";
7
+ import { t as resolveMatrixTargets } from "./resolve-targets-Cx1VVArA.js";
8
8
  import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
9
9
  import { createReplyToFanout } from "openclaw/plugin-sdk/channel-outbound";
10
10
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
@@ -12,7 +12,7 @@ import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
12
12
  import { renderMessagePresentationFallbackText } from "openclaw/plugin-sdk/interactive-runtime";
13
13
  import { resolvePayloadMediaUrls } from "openclaw/plugin-sdk/reply-payload";
14
14
  //#region extensions/matrix/src/matrix/probe.ts
15
- const loadMatrixProbeRuntimeDeps = createLazyRuntimeModule(() => import("./probe.runtime-Dry8PTWC.js").then((runtimeModule) => ({ createMatrixClient: runtimeModule.createMatrixClient })));
15
+ const loadMatrixProbeRuntimeDeps = createLazyRuntimeModule(() => import("./probe.runtime-BBvciVfo.js").then((runtimeModule) => ({ createMatrixClient: runtimeModule.createMatrixClient })));
16
16
  async function probeMatrix(params) {
17
17
  const started = Date.now();
18
18
  const result = {
@@ -1,16 +1,16 @@
1
1
  import { a as resolveMatrixAccountConfig } from "./account-config-BZWN9tGS.js";
2
- import { t as getMatrixRuntime } from "./runtime-CveSqMOP.js";
3
- import { c as resolveMatrixConfigPath, g as resolveMatrixAccount, l as updateMatrixAccountConfig, n as matrixSetupAdapter } from "./setup-core-DlmTyIP0.js";
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-CYQRY2oG.js";
4
4
  import { t as formatMatrixErrorMessage } from "./errors-C47hvAF8.js";
5
- import { n as withResolvedActionClient } from "./client-ClHisZbf.js";
6
- import { p as resolveMatrixAuthContext } from "./shared-DgvN5rBx.js";
7
- import "./client-DP0nmFxK.js";
5
+ import { n as withResolvedActionClient } from "./client-BUai6s29.js";
6
+ import { p as resolveMatrixAuthContext } from "./shared-BfW4lxGu.js";
7
+ import "./client-CPuYbNL8.js";
8
8
  import { a as formatZonedTimestamp } from "./runtime-api-D1xI_cvh.js";
9
9
  import { isOpenClawManagedMatrixDevice, summarizeMatrixDeviceHealth } from "./device-health-D4LBxuPq.js";
10
- import { n as updateMatrixOwnProfile, t as applyMatrixProfileUpdate } from "./profile-update-iUHCoks3.js";
11
- import { a as confirmMatrixVerificationSas, b as verifyMatrixRecoveryKey, c as getMatrixRoomKeyBackupStatus, d as listMatrixVerifications, f as mismatchMatrixVerificationSas, g as runMatrixSelfVerification, h as restoreMatrixRoomKeyBackup, l as getMatrixVerificationSas, m as resetMatrixRoomKeyBackup, n as bootstrapMatrixVerification, p as requestMatrixVerification, r as cancelMatrixVerification, t as acceptMatrixVerification, u as getMatrixVerificationStatus, v as startMatrixVerification } from "./verification-DLSe3sP7.js";
10
+ import { n as updateMatrixOwnProfile, t as applyMatrixProfileUpdate } from "./profile-update-DompcDyu.js";
11
+ import { a as confirmMatrixVerificationSas, b as verifyMatrixRecoveryKey, c as getMatrixRoomKeyBackupStatus, d as listMatrixVerifications, f as mismatchMatrixVerificationSas, g as runMatrixSelfVerification, h as restoreMatrixRoomKeyBackup, l as getMatrixVerificationSas, m as resetMatrixRoomKeyBackup, n as bootstrapMatrixVerification, p as requestMatrixVerification, r as cancelMatrixVerification, t as acceptMatrixVerification, u as getMatrixVerificationStatus, v as startMatrixVerification } from "./verification-CGnI9k1O.js";
12
12
  import { t as resolveMatrixRoomKeyBackupIssue } from "./backup-health-Dm_YMVFT.js";
13
- import { setMatrixSdkConsoleLogging, setMatrixSdkLogMode } from "./logging-CFJrbDAN.js";
13
+ import { setMatrixSdkConsoleLogging, setMatrixSdkLogMode } from "./logging-QH-48Gr6.js";
14
14
  import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
15
15
  import { normalizeAccountId } from "openclaw/plugin-sdk/account-id";
16
16
  import { parseStrictInteger, timestampMsToIsoString } from "openclaw/plugin-sdk/number-runtime";
@@ -36,8 +36,8 @@ async function pruneMatrixStaleGatewayDevices(opts = {}) {
36
36
  //#endregion
37
37
  //#region extensions/matrix/src/cli.ts
38
38
  let matrixCliExitScheduled = false;
39
- const loadMatrixActionClientModule = createLazyRuntimeModule(() => import("./client-ClHisZbf.js").then((n) => n.t));
40
- const loadMatrixDirectManagementModule = createLazyRuntimeModule(() => import("./send-C7xuGWpv.js").then((n) => n.d));
39
+ const loadMatrixActionClientModule = createLazyRuntimeModule(() => import("./client-BUai6s29.js").then((n) => n.t));
40
+ const loadMatrixDirectManagementModule = createLazyRuntimeModule(() => import("./send-yre1krm8.js").then((n) => n.d));
41
41
  function scheduleMatrixCliExit() {
42
42
  if (matrixCliExitScheduled || process.env.VITEST) return;
43
43
  matrixCliExitScheduled = true;
@@ -205,7 +205,7 @@ async function addMatrixAccount(params) {
205
205
  backupVersion: null
206
206
  };
207
207
  if (accountConfig.encryption === true) {
208
- const { maybeBootstrapNewEncryptedMatrixAccount } = await import("./setup-bootstrap-CCsexWTZ.js");
208
+ const { maybeBootstrapNewEncryptedMatrixAccount } = await import("./setup-bootstrap-DXVRCd4G.js");
209
209
  verificationBootstrap = await maybeBootstrapNewEncryptedMatrixAccount({
210
210
  previousCfg: cfg,
211
211
  cfg: updated,
@@ -936,13 +936,16 @@ function registerMatrixCli(params) {
936
936
  errorPrefix: "Direct room repair failed"
937
937
  });
938
938
  });
939
- root.command("encryption").description("Set up Matrix end-to-end encryption").command("setup").description("Enable Matrix E2EE, bootstrap verification, and print next steps").option("--account <id>", "Account ID (for multi-account setups)").option("--recovery-key <key>", "Recovery key to apply before bootstrap").option("--force-reset-cross-signing", "Force reset cross-signing identity before bootstrap (requires active recovery key)").option("--verbose", "Show detailed diagnostics").option("--json", "Output as JSON").action(async (options) => {
939
+ root.command("encryption").description("Set up Matrix end-to-end encryption").command("setup").description("Enable Matrix E2EE, bootstrap verification, and print next steps").option("--account <id>", "Account ID (for multi-account setups)").option("--recovery-key <key>", "Recovery key to apply before bootstrap (prefer --recovery-key-stdin)").option("--recovery-key-stdin", "Read the Matrix recovery key from stdin").option("--force-reset-cross-signing", "Force reset cross-signing identity before bootstrap (requires active recovery key)").option("--verbose", "Show detailed diagnostics").option("--json", "Output as JSON").action(async (options) => {
940
940
  await runMatrixCliCommand({
941
941
  verbose: options.verbose === true,
942
942
  json: options.json === true,
943
943
  run: async () => await setupMatrixEncryption({
944
944
  account: options.account,
945
- recoveryKey: options.recoveryKey,
945
+ recoveryKey: await resolveMatrixCliRecoveryKeyInput({
946
+ recoveryKey: options.recoveryKey,
947
+ recoveryKeyStdin: options.recoveryKeyStdin
948
+ }),
946
949
  forceResetCrossSigning: options.forceResetCrossSigning === true
947
950
  }),
948
951
  onText: (result, verbose) => {
@@ -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-o00oTJhx.js");
5
+ const { registerMatrixCli } = await import("./cli-CLWOkMvw.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-Gf3HSJ2c.js";
1
+ import { n as registerMatrixCliMetadata, t as cli_metadata_default } from "./cli-metadata-9Naf7in0.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-C7xuGWpv.js";
3
- import { n as withResolvedRuntimeMatrixClient } from "./client-bootstrap-PqYOS-mO.js";
2
+ import { u as resolveMatrixRoomId } from "./send-yre1krm8.js";
3
+ import { n as withResolvedRuntimeMatrixClient } from "./client-bootstrap-CNVF73sF.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-B0NxQnPk.js";
3
3
  import { i as resolveScopedMatrixEnvConfig, r as resolveMatrixEnvAuthReadiness, t as hasReadyMatrixEnvAuth } from "./env-auth-CQsYbz-p.js";
4
4
  import { n as validateMatrixHomeserverUrl, t as resolveValidatedMatrixHomeserverUrl } from "./url-validation-GRHde6lq.js";
5
5
  import { t as isBunRuntime } from "./runtime-BefyhPWv.js";
6
- import { d as backfillMatrixAuthDeviceIdAfterStartup, f as resolveMatrixAuth, i as resolveSharedMatrixClient, m as resolveMatrixConfigForAccount, n as releaseSharedClientInstance, o as stopSharedClientForAccount, p as resolveMatrixAuthContext, r as removeSharedClientInstance, s as stopSharedClientInstance, t as acquireSharedMatrixClient } from "./shared-DgvN5rBx.js";
7
- import { t as createMatrixClient } from "./create-client-D9z9RjCM.js";
6
+ import { d as backfillMatrixAuthDeviceIdAfterStartup, f as resolveMatrixAuth, i as resolveSharedMatrixClient, m as resolveMatrixConfigForAccount, n as releaseSharedClientInstance, o as stopSharedClientForAccount, p as resolveMatrixAuthContext, r as removeSharedClientInstance, s as stopSharedClientInstance, t as acquireSharedMatrixClient } from "./shared-BfW4lxGu.js";
7
+ import { t as createMatrixClient } from "./create-client-85ttAWDP.js";
8
8
  //#region extensions/matrix/src/matrix/client.ts
9
9
  var client_exports = /* @__PURE__ */ __exportAll({
10
10
  acquireSharedMatrixClient: () => acquireSharedMatrixClient,
@@ -8,7 +8,7 @@ var client_bootstrap_exports = /* @__PURE__ */ __exportAll({
8
8
  resolveRuntimeMatrixClientWithReadiness: () => resolveRuntimeMatrixClientWithReadiness,
9
9
  withResolvedRuntimeMatrixClient: () => withResolvedRuntimeMatrixClient
10
10
  });
11
- const loadMatrixSharedClientRuntimeDeps = createLazyRuntimeModule(() => Promise.all([import("./client-DP0nmFxK.js").then((n) => n.t), import("./shared-DgvN5rBx.js").then((n) => n.a)]).then(([clientModule, sharedModule]) => ({
11
+ const loadMatrixSharedClientRuntimeDeps = createLazyRuntimeModule(() => Promise.all([import("./client-CPuYbNL8.js").then((n) => n.t), import("./shared-BfW4lxGu.js").then((n) => n.a)]).then(([clientModule, sharedModule]) => ({
12
12
  acquireSharedMatrixClient: clientModule.acquireSharedMatrixClient,
13
13
  resolveMatrixAuthContext: clientModule.resolveMatrixAuthContext,
14
14
  releaseSharedClientInstance: sharedModule.releaseSharedClientInstance
@@ -1,12 +1,12 @@
1
1
  import { a as resolveMatrixAccountConfig } from "./account-config-BZWN9tGS.js";
2
- import { g as resolveMatrixAccount, h as resolveDefaultMatrixAccountId, p as listMatrixAccountIds } from "./setup-core-DlmTyIP0.js";
2
+ import { g as resolveMatrixAccount, h as resolveDefaultMatrixAccountId, p as listMatrixAccountIds } from "./setup-core-CYQRY2oG.js";
3
3
  import { adaptScopedAccountAccessor, createScopedChannelConfigAdapter } from "openclaw/plugin-sdk/channel-config-helpers";
4
4
  import { createChannelConfigUiHints } from "openclaw/plugin-sdk/channel-core";
5
5
  import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
6
6
  import { DEFAULT_ACCOUNT_ID as DEFAULT_ACCOUNT_ID$1 } from "openclaw/plugin-sdk/account-id";
7
7
  import { resolveAllowlistMatchByCandidates } from "openclaw/plugin-sdk/allow-from";
8
8
  import { normalizeStringEntries as normalizeStringEntries$1 } from "openclaw/plugin-sdk/string-normalization-runtime";
9
- import { AllowFromListSchema, BlockStreamingCoalesceSchema, ContextVisibilityModeSchema, GroupPolicySchema, MarkdownConfigSchema, MentionPatternsPolicySchema, ToolPolicySchema, buildChannelConfigSchema, buildNestedDmConfigSchema } from "openclaw/plugin-sdk/channel-config-schema";
9
+ import { AllowFromListSchema, BlockStreamingCoalesceSchema, ContextVisibilityModeSchema, GroupPolicySchema, MarkdownConfigSchema, MentionPatternsPolicySchema, buildChannelConfigSchema, buildGroupEntrySchema, 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
@@ -180,18 +180,16 @@ const botLoopProtectionSchema = z.object({
180
180
  windowSeconds: z.number().int().positive().optional(),
181
181
  cooldownSeconds: z.number().int().positive().optional()
182
182
  }).strict().optional();
183
- const matrixRoomSchema = z.object({
183
+ const matrixRoomSchema = buildGroupEntrySchema({
184
184
  account: z.string().optional(),
185
- enabled: z.boolean().optional(),
186
- requireMention: z.boolean().optional(),
187
185
  allowBots: z.union([z.boolean(), z.literal("mentions")]).optional(),
188
186
  botLoopProtection: botLoopProtectionSchema,
189
- tools: ToolPolicySchema,
190
187
  autoReply: z.boolean().optional(),
191
- users: AllowFromListSchema,
192
- skills: z.array(z.string()).optional(),
193
- systemPrompt: z.string().optional()
194
- }).optional();
188
+ users: AllowFromListSchema
189
+ }).omit({
190
+ toolsBySender: true,
191
+ allowFrom: true
192
+ }).strict().optional();
195
193
  const matrixNetworkSchema = z.object({ dangerouslyAllowPrivateNetwork: z.boolean().optional() }).strict().optional();
196
194
  const matrixStreamingSchema = z.object({
197
195
  mode: z.enum([
@@ -1,3 +1,3 @@
1
- import { d as resolveSingleAccountPromotionTarget, f as singleAccountKeysToMove, n as matrixSetupAdapter, u as namedAccountPromotionKeys } from "./setup-core-DlmTyIP0.js";
2
- import { n as matrixOnboardingAdapter } from "./setup-surface-2SS94JV0.js";
1
+ import { d as resolveSingleAccountPromotionTarget, f as singleAccountKeysToMove, n as matrixSetupAdapter, u as namedAccountPromotionKeys } from "./setup-core-CYQRY2oG.js";
2
+ import { n as matrixOnboardingAdapter } from "./setup-surface-BjvRQzK6.js";
3
3
  export { matrixSetupAdapter, matrixOnboardingAdapter as matrixSetupWizard, namedAccountPromotionKeys, resolveSingleAccountPromotionTarget, singleAccountKeysToMove };
@@ -1,14 +1,14 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
2
  import { t as resolveValidatedMatrixHomeserverUrl } from "./url-validation-GRHde6lq.js";
3
- import { d as writeStorageMeta, l as resolveMatrixStoragePaths, r as maybeMigrateLegacyStorage } from "./storage-BtSOar8T.js";
4
- import "./shared-DgvN5rBx.js";
3
+ import { d as writeStorageMeta, l as resolveMatrixStoragePaths, r as maybeMigrateLegacyStorage } from "./storage-DD-EnNJE.js";
4
+ import "./shared-BfW4lxGu.js";
5
5
  import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
6
6
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
7
7
  import fs from "node:fs";
8
8
  import { ssrfPolicyFromDangerouslyAllowPrivateNetwork } from "openclaw/plugin-sdk/ssrf-runtime";
9
9
  //#region extensions/matrix/src/matrix/client/create-client.ts
10
10
  var create_client_exports = /* @__PURE__ */ __exportAll({ createMatrixClient: () => createMatrixClient });
11
- const loadMatrixCreateClientRuntimeDeps = createLazyRuntimeModule(() => Promise.all([import("./sdk-CI8E2TKg.js"), import("./logging-CFJrbDAN.js")]).then(([sdkModule, loggingModule]) => ({
11
+ const loadMatrixCreateClientRuntimeDeps = createLazyRuntimeModule(() => Promise.all([import("./sdk-1TXuSiXZ.js"), import("./logging-QH-48Gr6.js")]).then(([sdkModule, loggingModule]) => ({
12
12
  MatrixClient: sdkModule.MatrixClient,
13
13
  ensureMatrixSdkLoggingConfigured: loggingModule.ensureMatrixSdkLoggingConfigured
14
14
  })));
@@ -1,4 +1,4 @@
1
- import { a as resolveMatrixCredentialsDir, i as loadMatrixCredentials, n as credentialsMatchConfig, o as resolveMatrixCredentialsPath, t as clearMatrixCredentials } from "./credentials-read-BtS-HRT5.js";
1
+ import { a as resolveMatrixCredentialsDir, i as loadMatrixCredentials, n as credentialsMatchConfig, o as resolveMatrixCredentialsPath, t as clearMatrixCredentials } from "./credentials-read-CwNJrmwu.js";
2
2
  import { t as createAsyncLock } from "./async-lock-BcLS4KOc.js";
3
3
  import { writeJsonFileAtomically } from "openclaw/plugin-sdk/json-store";
4
4
  //#region extensions/matrix/src/matrix/credentials.ts
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
2
  import { a as resolveMatrixDefaultOrOnlyAccountId, n as requiresExplicitMatrixDefaultAccount } from "./account-selection-Bz00QTmQ.js";
3
- import { t as getMatrixRuntime } from "./runtime-CveSqMOP.js";
3
+ import { t as getMatrixRuntime } from "./runtime-6S3DNFNv.js";
4
4
  import { a as resolveMatrixCredentialsPath$1, r as resolveMatrixCredentialsDir$1 } from "./storage-paths-B4_I9iqO.js";
5
5
  import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "openclaw/plugin-sdk/account-id";
6
6
  import fs from "node:fs";
@@ -1,6 +1,6 @@
1
1
  import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
2
2
  //#region extensions/matrix/src/matrix/credentials-write.runtime.ts
3
- const loadMatrixCredentialsRuntime = createLazyRuntimeModule(() => import("./credentials-DnhsLAuR.js"));
3
+ const loadMatrixCredentialsRuntime = createLazyRuntimeModule(() => import("./credentials-CncWUieb.js"));
4
4
  async function saveMatrixCredentials(...args) {
5
5
  return (await loadMatrixCredentialsRuntime()).saveMatrixCredentials(...args);
6
6
  }
@@ -1,8 +1,8 @@
1
1
  import { t as formatMatrixErrorMessage } from "./errors-C47hvAF8.js";
2
2
  import { t as ensureMatrixCryptoRuntime } from "./deps-DDbghaZH.js";
3
- import { n as LogService, r as noop } from "./logger-BMClpI5b.js";
4
- import { i as restoreIdbFromDisk, n as persistIdbToDisk } from "./idb-persistence-iUZoHZkp.js";
5
- import { n as isRepairableSecretStorageAccessError } from "./recovery-key-store-Bx0zTJcB.js";
3
+ import { n as LogService, r as noop } from "./logger-D0GCSDQq.js";
4
+ import { i as restoreIdbFromDisk, n as persistIdbToDisk } from "./idb-persistence-BiHEEzD7.js";
5
+ import { n as isRepairableSecretStorageAccessError } from "./recovery-key-store-B2RglalK.js";
6
6
  import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
7
7
  import { resolveDateTimestampMs, resolveTimestampMsToIsoString } from "openclaw/plugin-sdk/number-runtime";
8
8
  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
- import { f as resolveMatrixAuth } from "./shared-DgvN5rBx.js";
4
- import "./client-DP0nmFxK.js";
5
- import { t as MatrixAuthedHttpClient } from "./http-client-W4TJQM6r.js";
3
+ import { f as resolveMatrixAuth } from "./shared-BfW4lxGu.js";
4
+ import "./client-CPuYbNL8.js";
5
+ import { t as MatrixAuthedHttpClient } from "./http-client-Jw5_bwQo.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,9 +1,9 @@
1
1
  import { t as isRecord } from "./record-shared-CvzjvHRn.js";
2
2
  import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-D2qTLe-C.js";
3
- import { O as writeMatrixIdbSnapshotJsonToStore, S as readLegacyMatrixLegacyCryptoMigrationState, _ as hasMatrixRecoveryKeyStateInStore, a as openMatrixStorageMetaStoreOptions, b as openMatrixLegacyCryptoMigrationStoreOptions, f as MATRIX_IDB_SNAPSHOT_FILENAME, g as hasMatrixLegacyCryptoMigrationStateInStore, h as hasMatrixIdbSnapshotStateInStore, i as normalizeMatrixStorageMetadata, j as writeMatrixRecoveryKeyStateToStore, k as writeMatrixLegacyCryptoMigrationStateToStore, m as MATRIX_RECOVERY_KEY_FILENAME, n as hasMatrixStorageMetaStateInStore, p as MATRIX_LEGACY_CRYPTO_MIGRATION_FILENAME, u as writeMatrixStorageMetaStateToStore, w as readLegacyMatrixRecoveryKeyState, x as openMatrixRecoveryKeyStoreOptions, y as openMatrixIdbSnapshotStoreOptions } from "./storage-BtSOar8T.js";
4
- import { a as readLegacyMatrixSyncCacheState, i as openMatrixSyncCacheStoreOptions, o as writeMatrixSyncCacheStateToStore, r as hasMatrixSyncCacheStateInStore } from "./file-sync-store-Cxb0ckyX.js";
5
- import { a as resolveMatrixInboundDedupeStateNamespace, n as MATRIX_INBOUND_DEDUPE_TTL_MS, r as buildMatrixInboundDedupeEventKey } from "./inbound-dedupe-DcMs0YXL.js";
6
- import { r as readLegacyMatrixIdbSnapshotState } from "./idb-persistence-iUZoHZkp.js";
3
+ import { O as writeMatrixIdbSnapshotJsonToStore, S as readLegacyMatrixLegacyCryptoMigrationState, _ as hasMatrixRecoveryKeyStateInStore, a as openMatrixStorageMetaStoreOptions, b as openMatrixLegacyCryptoMigrationStoreOptions, f as MATRIX_IDB_SNAPSHOT_FILENAME, g as hasMatrixLegacyCryptoMigrationStateInStore, h as hasMatrixIdbSnapshotStateInStore, i as normalizeMatrixStorageMetadata, j as writeMatrixRecoveryKeyStateToStore, k as writeMatrixLegacyCryptoMigrationStateToStore, m as MATRIX_RECOVERY_KEY_FILENAME, n as hasMatrixStorageMetaStateInStore, p as MATRIX_LEGACY_CRYPTO_MIGRATION_FILENAME, u as writeMatrixStorageMetaStateToStore, w as readLegacyMatrixRecoveryKeyState, x as openMatrixRecoveryKeyStoreOptions, y as openMatrixIdbSnapshotStoreOptions } from "./storage-DD-EnNJE.js";
4
+ import { a as readLegacyMatrixSyncCacheState, i as openMatrixSyncCacheStoreOptions, o as writeMatrixSyncCacheStateToStore, r as hasMatrixSyncCacheStateInStore } from "./file-sync-store-CUE9WwD2.js";
5
+ import { a as resolveMatrixInboundDedupeStateNamespace, n as MATRIX_INBOUND_DEDUPE_TTL_MS, r as buildMatrixInboundDedupeEventKey } from "./inbound-dedupe-CaBLblef.js";
6
+ import { r as readLegacyMatrixIdbSnapshotState } from "./idb-persistence-BiHEEzD7.js";
7
7
  import path from "node:path";
8
8
  import { createHash } from "node:crypto";
9
9
  import { archiveLegacyStateSource } from "openclaw/plugin-sdk/runtime-doctor";
@@ -1,4 +1,4 @@
1
- import { n as editMessageMatrix, r as prepareMatrixSingleText, s as sendSingleTextMessageMatrix, y as MsgType } from "./send-C7xuGWpv.js";
1
+ import { n as editMessageMatrix, r as prepareMatrixSingleText, s as sendSingleTextMessageMatrix, y as MsgType } from "./send-yre1krm8.js";
2
2
  import { createDraftStreamLoop } from "openclaw/plugin-sdk/channel-outbound";
3
3
  //#region extensions/matrix/src/matrix/draft-stream.ts
4
4
  const DEFAULT_THROTTLE_MS = 1e3;
@@ -1,9 +1,9 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
2
  import { t as isRecord } from "./record-shared-CvzjvHRn.js";
3
- import { t as getMatrixRuntime } from "./runtime-CveSqMOP.js";
4
- import { M as resolveMatrixSqliteStateEnv, t as claimCurrentTokenStorageState } from "./storage-BtSOar8T.js";
3
+ import { t as getMatrixRuntime } from "./runtime-6S3DNFNv.js";
4
+ import { M as resolveMatrixSqliteStateEnv, t as claimCurrentTokenStorageState } from "./storage-DD-EnNJE.js";
5
5
  import { t as createAsyncLock } from "./async-lock-BcLS4KOc.js";
6
- import { n as LogService } from "./logger-BMClpI5b.js";
6
+ import { n as LogService } from "./logger-D0GCSDQq.js";
7
7
  import path from "node:path";
8
8
  import { createHash, randomUUID } from "node:crypto";
9
9
  import fs from "node:fs/promises";
@@ -337,7 +337,7 @@ var MatrixAuthedHttpClient = class {
337
337
  allowAbsoluteEndpoint: params.allowAbsoluteEndpoint
338
338
  });
339
339
  if (!response.ok) throw buildHttpError(response.status, text);
340
- if ((response.headers.get("content-type") ?? "").includes("application/json")) {
340
+ if ((response.headers.get("content-type") ?? "").split(";", 1)[0]?.trim().toLowerCase() === "application/json") {
341
341
  if (!text.trim()) return {};
342
342
  try {
343
343
  return JSON.parse(text);
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { D as writeMatrixIdbSnapshotJson, T as readMatrixIdbSnapshotJson, f as MATRIX_IDB_SNAPSHOT_FILENAME } from "./storage-BtSOar8T.js";
3
- import { n as LogService } from "./logger-BMClpI5b.js";
2
+ import { D as writeMatrixIdbSnapshotJson, T as readMatrixIdbSnapshotJson, f as MATRIX_IDB_SNAPSHOT_FILENAME } from "./storage-DD-EnNJE.js";
3
+ import { n as LogService } from "./logger-D0GCSDQq.js";
4
4
  import { n as MATRIX_IDB_SNAPSHOT_LOCK_OPTIONS } from "./idb-persistence-lock-DAJ49nZX.js";
5
5
  import fs from "node:fs";
6
6
  import path from "node:path";
@@ -1,5 +1,5 @@
1
- import { n as LogService } from "./logger-BMClpI5b.js";
2
- import { createClaimableDedupe, resolvePersistentDedupePluginStateNamespace } from "openclaw/plugin-sdk/persistent-dedupe";
1
+ import { n as LogService } from "./logger-D0GCSDQq.js";
2
+ import { createChannelReplayGuard, resolvePersistentDedupePluginStateNamespace } from "openclaw/plugin-sdk/persistent-dedupe";
3
3
  //#region extensions/matrix/src/matrix/monitor/inbound-dedupe.ts
4
4
  const MATRIX_INBOUND_DEDUPE_PLUGIN_ID = "matrix";
5
5
  const MATRIX_INBOUND_DEDUPE_NAMESPACE_PREFIX = "matrix.inbound-dedupe";
@@ -24,44 +24,25 @@ function resolveMatrixInboundDedupeStateNamespace() {
24
24
  });
25
25
  }
26
26
  function createMatrixInboundEventDeduper(params) {
27
- const guard = createClaimableDedupe({
28
- pluginId: MATRIX_INBOUND_DEDUPE_PLUGIN_ID,
29
- namespacePrefix: MATRIX_INBOUND_DEDUPE_NAMESPACE_PREFIX,
30
- ttlMs: MATRIX_INBOUND_DEDUPE_TTL_MS,
31
- memoryMaxSize: MATRIX_INBOUND_DEDUPE_MEMORY_MAX,
32
- stateMaxEntries: MATRIX_INBOUND_DEDUPE_STATE_MAX_ENTRIES,
33
- ...params.env ? { env: params.env } : {},
34
- onDiskError: (err) => {
35
- LogService.warn("MatrixInboundDedupe", "Matrix inbound dedupe persistence failed:", err);
36
- }
37
- });
38
27
  const accountId = params.auth.accountId;
39
- const namespace = MATRIX_INBOUND_DEDUPE_NAMESPACE;
40
- return {
41
- claimEvent: async (ids) => {
42
- const key = buildMatrixInboundDedupeEventKey({
43
- accountId,
44
- ...ids
45
- });
46
- if (!key) return true;
47
- return (await guard.claim(key, { namespace })).kind === "claimed";
48
- },
49
- commitEvent: async (ids) => {
50
- const key = buildMatrixInboundDedupeEventKey({
51
- accountId,
52
- ...ids
53
- });
54
- if (!key) return;
55
- await guard.commit(key, { namespace });
28
+ return createChannelReplayGuard({
29
+ dedupe: {
30
+ pluginId: MATRIX_INBOUND_DEDUPE_PLUGIN_ID,
31
+ namespacePrefix: MATRIX_INBOUND_DEDUPE_NAMESPACE_PREFIX,
32
+ ttlMs: MATRIX_INBOUND_DEDUPE_TTL_MS,
33
+ memoryMaxSize: MATRIX_INBOUND_DEDUPE_MEMORY_MAX,
34
+ stateMaxEntries: MATRIX_INBOUND_DEDUPE_STATE_MAX_ENTRIES,
35
+ ...params.env ? { env: params.env } : {},
36
+ onDiskError: (err) => {
37
+ LogService.warn("MatrixInboundDedupe", "Matrix inbound dedupe persistence failed:", err);
38
+ }
56
39
  },
57
- releaseEvent: (ids) => {
58
- const key = buildMatrixInboundDedupeEventKey({
59
- accountId,
60
- ...ids
61
- });
62
- if (key) guard.release(key, { namespace });
63
- }
64
- };
40
+ buildReplayKey: (event) => buildMatrixInboundDedupeEventKey({
41
+ accountId,
42
+ ...event
43
+ }),
44
+ namespace: () => MATRIX_INBOUND_DEDUPE_NAMESPACE
45
+ });
65
46
  }
66
47
  //#endregion
67
48
  export { resolveMatrixInboundDedupeStateNamespace as a, createMatrixInboundEventDeduper as i, MATRIX_INBOUND_DEDUPE_TTL_MS as n, buildMatrixInboundDedupeEventKey as r, MATRIX_INBOUND_DEDUPE_STATE_MAX_ENTRIES as t };
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { n as registerMatrixCliMetadata } from "./cli-metadata-Gf3HSJ2c.js";
1
+ import { n as registerMatrixCliMetadata } from "./cli-metadata-9Naf7in0.js";
2
2
  import { registerMatrixSubagentHooks } from "./subagent-hooks-api.js";
3
3
  import { defineBundledChannelEntry } from "openclaw/plugin-sdk/channel-entry-contract";
4
4
  import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
@@ -1,4 +1,4 @@
1
- import { t as getMatrixRuntime } from "./runtime-CveSqMOP.js";
1
+ import { t as getMatrixRuntime } from "./runtime-6S3DNFNv.js";
2
2
  import { format } from "node:util";
3
3
  import { redactSensitiveText } from "openclaw/plugin-sdk/logging-core";
4
4
  //#region extensions/matrix/src/matrix/sdk/logger.ts
@@ -1,4 +1,4 @@
1
- import { i as setMatrixConsoleLogging, n as LogService, t as ConsoleLogger } from "./logger-BMClpI5b.js";
1
+ import { i as setMatrixConsoleLogging, n as LogService, t as ConsoleLogger } from "./logger-D0GCSDQq.js";
2
2
  import { logger } from "matrix-js-sdk/lib/logger.js";
3
3
  //#region extensions/matrix/src/matrix/client/logging.ts
4
4
  let matrixSdkLoggingConfigured = false;
@@ -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-C7xuGWpv.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-yre1krm8.js";
2
2
  import path from "node:path";
3
3
  //#region extensions/matrix/src/matrix/poll-summary.ts
4
4
  function resolveMatrixPollRootEventId(event) {
@@ -1,8 +1,8 @@
1
1
  import { r as isMatrixNotFoundError } from "./errors-C47hvAF8.js";
2
- import { T as isPollStartType, a as sendMessageMatrix, n as editMessageMatrix, w as isPollEventType } from "./send-C7xuGWpv.js";
2
+ import { T as isPollStartType, a as sendMessageMatrix, n as editMessageMatrix, w as isPollEventType } from "./send-yre1krm8.js";
3
3
  import { n as MATRIX_REACTION_EVENT_TYPE } from "./reaction-common-DkrQdBSZ.js";
4
- import { a as resolveMatrixMessageAttachment, l as resolveMatrixPollRootEventId, o as resolveMatrixMessageBody, s as fetchMatrixPollMessageSummary } from "./media-text-DWaotsZB.js";
5
- import { r as withResolvedRoomAction } from "./client-ClHisZbf.js";
4
+ import { a as resolveMatrixMessageAttachment, l as resolveMatrixPollRootEventId, o as resolveMatrixMessageBody, s as fetchMatrixPollMessageSummary } from "./media-text-DPCtdFjk.js";
5
+ import { r as withResolvedRoomAction } from "./client-BUai6s29.js";
6
6
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
7
7
  import { resolveIntegerOption } from "openclaw/plugin-sdk/number-runtime";
8
8
  //#region extensions/matrix/src/matrix/actions/limits.ts