@openclaw/matrix 2026.7.1-beta.6 → 2026.7.2-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 (87) hide show
  1. package/dist/{account-selection-5e4mHR1m.js → account-selection-Bz00QTmQ.js} +4 -3
  2. package/dist/api.js +8 -8
  3. package/dist/{approval-handler.runtime-DI5x9r8I.js → approval-handler.runtime--Ei44Vo2.js} +27 -17
  4. package/dist/{approval-ids-ZgqbspmS.js → approval-ids-C_2kSMdJ.js} +1 -1
  5. package/dist/{approval-reaction-auth-D9LijQhr.js → approval-reaction-auth-TdVPcgxP.js} +2 -2
  6. package/dist/approval-reactions-BgU51JGd.js +202 -0
  7. package/dist/auth-presence.js +1 -1
  8. package/dist/{channel-jUTBsjHU.js → channel-CxqDh7mS.js} +102 -143
  9. package/dist/channel-plugin-api.js +1 -1
  10. package/dist/{channel.runtime-DO1Nv9ed.js → channel.runtime-wNfJc57I.js} +7 -7
  11. package/dist/{cli-metadata-CfiEO-CE.js → cli-metadata-Gf3HSJ2c.js} +1 -1
  12. package/dist/cli-metadata.js +1 -1
  13. package/dist/{cli-CEfWwCKx.js → cli-o00oTJhx.js} +12 -12
  14. package/dist/{client-FRuyCNju.js → client-ClHisZbf.js} +2 -2
  15. package/dist/{client-tgnlQJk4.js → client-DP0nmFxK.js} +4 -4
  16. package/dist/{client-bootstrap-DjFJ7e0N.js → client-bootstrap-PqYOS-mO.js} +1 -1
  17. package/dist/{config-schema-DtnhNYd-.js → config-schema-CG9goLWp.js} +21 -55
  18. package/dist/contract-api.js +2 -2
  19. package/dist/{create-client-CNakT7zF.js → create-client-D9z9RjCM.js} +3 -3
  20. package/dist/{credentials-Ds9V1mn2.js → credentials-DnhsLAuR.js} +1 -1
  21. package/dist/{credentials-read-BlkvsNFg.js → credentials-read-BtS-HRT5.js} +3 -3
  22. package/dist/{credentials-write.runtime-CTqqxcut.js → credentials-write.runtime-J_EUt5WP.js} +1 -1
  23. package/dist/{crypto-runtime-B74cTS6A.js → crypto-runtime-BHcxauC4.js} +75 -45
  24. package/dist/{deps-CdjHvnmh.js → deps-DDbghaZH.js} +23 -90
  25. package/dist/{directory-live-Ufd4qSpX.js → directory-live-DPy2aaPF.js} +3 -3
  26. package/dist/doctor-BGTs609f.js +64 -0
  27. package/dist/{doctor-contract-BAja_fmb.js → doctor-contract-D2qTLe-C.js} +72 -6
  28. package/dist/doctor-contract-api.js +323 -45
  29. package/dist/{draft-stream-D4EH25gv.js → draft-stream-De7uikGn.js} +1 -1
  30. package/dist/{encryption-guidance-D8walY04.js → encryption-guidance-BFfgq7c7.js} +1 -1
  31. package/dist/{env-auth-DIzOApj0.js → env-auth-CQsYbz-p.js} +1 -1
  32. package/dist/{env-vars-KzaYveuy.js → env-vars-B0NxQnPk.js} +3 -1
  33. package/dist/{exec-approval-resolver-f9j6staN.js → exec-approval-resolver-BCgqRtZS.js} +2 -1
  34. package/dist/{file-sync-store-DVm0ACml.js → file-sync-store-Cxb0ckyX.js} +4 -5
  35. package/dist/helper-api.js +4 -4
  36. package/dist/{http-client-nSmFiVgk.js → http-client-W4TJQM6r.js} +17 -33
  37. package/dist/{idb-persistence-BHm97th-.js → idb-persistence-iUZoHZkp.js} +2 -2
  38. package/dist/inbound-dedupe-DcMs0YXL.js +67 -0
  39. package/dist/index.js +1 -1
  40. package/dist/{logger-D0GCSDQq.js → logger-BMClpI5b.js} +1 -1
  41. package/dist/{logging-QH-48Gr6.js → logging-CFJrbDAN.js} +1 -1
  42. package/dist/{media-text-p-LP21qs.js → media-text-DWaotsZB.js} +1 -1
  43. package/dist/{messages-DRKkiEY-.js → messages-Dm3K4ZvM.js} +3 -3
  44. package/dist/{monitor-CsGOGdwu.js → monitor-C_kgPPeV.js} +44 -382
  45. package/dist/plugin-entry.handlers.runtime.js +1 -1
  46. package/dist/probe.runtime-Dry8PTWC.js +3 -0
  47. package/dist/{profile-update-Ucc8RrJL.js → profile-update-iUHCoks3.js} +3 -3
  48. package/dist/{reaction-events-DentrVii.js → reaction-events-0tubdHRM.js} +60 -10
  49. package/dist/record-shared-CvzjvHRn.js +2 -0
  50. package/dist/{recovery-key-store-DSeLFvNx.js → recovery-key-store-Bx0zTJcB.js} +2 -2
  51. package/dist/{resolve-targets-DcV_KfgX.js → resolve-targets-DlLrfWDy.js} +1 -1
  52. package/dist/{resolver.runtime-Hr6bO5zl.js → resolver.runtime-MeaT1zXx.js} +1 -1
  53. package/dist/room-info-B6vKD5DF.js +86 -0
  54. package/dist/{runtime-6S3DNFNv.js → runtime-CveSqMOP.js} +1 -1
  55. package/dist/{runtime-api-CsBoesCU.js → runtime-api-D1xI_cvh.js} +3 -3
  56. package/dist/runtime-api.js +6 -6
  57. package/dist/runtime-setter-api.js +1 -1
  58. package/dist/{sdk-AZYVl34z.js → sdk-CI8E2TKg.js} +12 -17
  59. package/dist/{secret-contract-DTgQyQxc.js → secret-contract-OZoQf0kI.js} +7 -48
  60. package/dist/secret-contract-api.js +1 -1
  61. package/dist/{send-D92v6Yy0.js → send-C7xuGWpv.js} +10 -4
  62. package/dist/session-binding-contract-api.js +2 -2
  63. package/dist/{setup-bootstrap-Da564w5f.js → setup-bootstrap-CCsexWTZ.js} +2 -2
  64. package/dist/{setup-core-BGgbrdaJ.js → setup-core-DlmTyIP0.js} +9 -7
  65. package/dist/setup-plugin-api.js +3 -3
  66. package/dist/{setup-surface-iJ6pd-t5.js → setup-surface-2SS94JV0.js} +7 -7
  67. package/dist/{shared-DkFfq7mH.js → shared-DgvN5rBx.js} +14 -9
  68. package/dist/{startup-verification-BKMAXvcV.js → startup-verification-CbIyF7z1.js} +3 -4
  69. package/dist/storage-BtSOar8T.js +718 -0
  70. package/dist/{storage-paths-BWo_ZEMC.js → storage-paths-B4_I9iqO.js} +1 -12
  71. package/dist/{thread-bindings-BX5nmWpw.js → thread-bindings-BI8MHWp9.js} +4 -5
  72. package/dist/{tool-actions.runtime-C1d5fxE_.js → tool-actions.runtime-CnyhVPoY.js} +242 -53
  73. package/dist/{verification-BGCMiO1p.js → verification-DLSe3sP7.js} +2 -2
  74. package/npm-shrinkwrap.json +3 -3
  75. package/openclaw.plugin.json +66 -55
  76. package/package.json +4 -4
  77. package/dist/approval-reactions-BdUaUXVw.js +0 -113
  78. package/dist/crypto-state-store-Jy3qwhdy.js +0 -352
  79. package/dist/doctor-DfaOqFtr.js +0 -167
  80. package/dist/legacy-crypto-inspector-vzXSkm18.js +0 -42
  81. package/dist/legacy-crypto-restore-CIBfOmLn.js +0 -93
  82. package/dist/matrix-migration.runtime-BMCyrANT.js +0 -524
  83. package/dist/migration-snapshot-backup-YcCrSjbE.js +0 -69
  84. package/dist/migration-snapshot.runtime-VGD4QfeS.js +0 -2
  85. package/dist/probe.runtime-2MZLc6ng.js +0 -3
  86. package/dist/runtime-heavy-api.js +0 -3
  87. package/dist/storage-CQdyKcGg.js +0 -430
@@ -1,12 +1,47 @@
1
1
  import { a as resolveMatrixAccountConfig } from "./account-config-BZWN9tGS.js";
2
2
  import { a as extractMatrixReactionAnnotation } from "./reaction-common-DkrQdBSZ.js";
3
- import { a as unregisterMatrixApprovalReactionTarget, i as resolveMatrixApprovalReactionTargetWithPersistence } from "./approval-reactions-BdUaUXVw.js";
3
+ import { i as resolveMatrixApprovalReactionTargetWithPersistence, o as unregisterMatrixApprovalReactionTargetsForApproval } from "./approval-reactions-BgU51JGd.js";
4
4
  import { i as resolveMatrixThreadRouting, r as resolveMatrixThreadRootId, t as resolveMatrixInboundRoute } from "./route-DY6at4qJ.js";
5
5
  import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
6
+ import { normalizeAccountId } from "openclaw/plugin-sdk/routing";
6
7
  import { getSessionBindingService } from "openclaw/plugin-sdk/session-binding-runtime";
7
8
  //#region extensions/matrix/src/matrix/monitor/reaction-events.ts
8
- const loadApprovalReactionAuth = createLazyRuntimeModule(() => import("./approval-reaction-auth-D9LijQhr.js"));
9
- const loadExecApprovalResolver = createLazyRuntimeModule(() => import("./exec-approval-resolver-f9j6staN.js"));
9
+ const loadApprovalReactionAuth = createLazyRuntimeModule(() => import("./approval-reaction-auth-TdVPcgxP.js"));
10
+ const loadExecApprovalResolver = createLazyRuntimeModule(() => import("./exec-approval-resolver-BCgqRtZS.js"));
11
+ const loadMatrixSend = createLazyRuntimeModule(() => import("./send-C7xuGWpv.js").then((n) => n.l));
12
+ function buildMatrixApprovalTerminalText(result) {
13
+ const approval = result.approval;
14
+ const terminalLabel = approval.status === "allowed" ? approval.decision === "allow-always" ? "Allowed always" : "Allowed once" : approval.status === "denied" ? "Denied" : approval.status === "expired" ? "Expired" : "Cancelled";
15
+ return `${result.applied ? "Resolved" : "Already resolved"}: ${terminalLabel}\n\nID: ${approval.id}`;
16
+ }
17
+ async function retireMatrixApprovalReactionTargets(params) {
18
+ const accountId = normalizeAccountId(params.accountId);
19
+ const registeredTargets = await unregisterMatrixApprovalReactionTargetsForApproval({
20
+ accountId,
21
+ approvalId: params.approvalId,
22
+ approvalKind: params.approvalKind
23
+ });
24
+ const targets = /* @__PURE__ */ new Map();
25
+ for (const target of [...registeredTargets, {
26
+ accountId,
27
+ roomId: params.roomId,
28
+ eventId: params.targetEventId
29
+ }]) targets.set(JSON.stringify([
30
+ target.accountId,
31
+ target.roomId,
32
+ target.eventId
33
+ ]), target);
34
+ const { editMessageMatrix } = await loadMatrixSend();
35
+ const terminalText = buildMatrixApprovalTerminalText(params.result);
36
+ const failedUpdates = (await Promise.allSettled(Array.from(targets.values(), async (target) => {
37
+ await editMessageMatrix(target.roomId, target.eventId, terminalText, {
38
+ cfg: params.cfg,
39
+ accountId: target.accountId,
40
+ client: params.client
41
+ });
42
+ }))).filter((update) => update.status === "rejected").length;
43
+ if (failedUpdates > 0) params.logVerboseMessage(`matrix: failed to terminalize ${failedUpdates} approval prompt(s) id=${params.approvalId}`);
44
+ }
10
45
  function resolveMatrixReactionNotificationMode(params) {
11
46
  const matrixConfig = params.cfg.channels?.matrix;
12
47
  return resolveMatrixAccountConfig({
@@ -16,27 +51,40 @@ function resolveMatrixReactionNotificationMode(params) {
16
51
  }
17
52
  async function maybeResolveMatrixApprovalReaction(params) {
18
53
  if (!params.target) return false;
19
- const approvalKind = params.target.approvalId.startsWith("plugin:") ? "plugin" : "exec";
20
54
  const { isMatrixApprovalReactionAuthorizedSender } = await loadApprovalReactionAuth();
21
55
  if (!isMatrixApprovalReactionAuthorizedSender({
22
56
  ...params,
23
- approvalKind
57
+ approvalKind: params.target.approvalKind
24
58
  })) return false;
25
59
  const { isApprovalNotFoundError, resolveMatrixApproval } = await loadExecApprovalResolver();
26
60
  try {
27
- await resolveMatrixApproval({
61
+ const result = await resolveMatrixApproval({
28
62
  cfg: params.cfg,
29
63
  approvalId: params.target.approvalId,
64
+ approvalKind: params.target.approvalKind,
30
65
  decision: params.target.decision,
31
66
  senderId: params.senderId
32
67
  });
33
- params.logVerboseMessage(`matrix: approval reaction resolved id=${params.target.approvalId} sender=${params.senderId} decision=${params.target.decision}`);
68
+ await retireMatrixApprovalReactionTargets({
69
+ cfg: params.cfg,
70
+ accountId: params.accountId,
71
+ client: params.client,
72
+ roomId: params.roomId,
73
+ targetEventId: params.targetEventId,
74
+ approvalId: params.target.approvalId,
75
+ approvalKind: params.target.approvalKind,
76
+ result,
77
+ logVerboseMessage: params.logVerboseMessage
78
+ });
79
+ const canonicalDecision = "decision" in result.approval ? result.approval.decision : "none";
80
+ params.logVerboseMessage(`matrix: approval reaction resolved id=${params.target.approvalId} sender=${params.senderId} applied=${result.applied} status=${result.approval.status} decision=${canonicalDecision}`);
34
81
  return true;
35
82
  } catch (err) {
36
83
  if (isApprovalNotFoundError(err)) {
37
- unregisterMatrixApprovalReactionTarget({
38
- roomId: params.roomId,
39
- eventId: params.targetEventId
84
+ await unregisterMatrixApprovalReactionTargetsForApproval({
85
+ accountId: params.accountId,
86
+ approvalId: params.target.approvalId,
87
+ approvalKind: params.target.approvalKind
40
88
  });
41
89
  params.logVerboseMessage(`matrix: approval reaction ignored for expired approval id=${params.target.approvalId} sender=${params.senderId}`);
42
90
  return true;
@@ -50,6 +98,7 @@ async function handleInboundMatrixReaction(params) {
50
98
  if (!reaction?.eventId) return;
51
99
  if (params.senderId === params.selfUserId) return;
52
100
  const approvalTarget = await resolveMatrixApprovalReactionTargetWithPersistence({
101
+ accountId: params.accountId,
53
102
  roomId: params.roomId,
54
103
  eventId: reaction.eventId,
55
104
  reactionKey: reaction.key
@@ -61,6 +110,7 @@ async function handleInboundMatrixReaction(params) {
61
110
  target: approvalTarget,
62
111
  targetEventId: reaction.eventId,
63
112
  roomId: params.roomId,
113
+ client: params.client,
64
114
  logVerboseMessage: params.logVerboseMessage
65
115
  })) return;
66
116
  const notificationMode = resolveMatrixReactionNotificationMode({
@@ -0,0 +1,2 @@
1
+ import { isRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
2
+ export { isRecord as t };
@@ -1,6 +1,6 @@
1
1
  import { n as formatMatrixErrorReason, t as formatMatrixErrorMessage } from "./errors-C47hvAF8.js";
2
- import { E as writeMatrixRecoveryKeyStateForPath, c as migrateLegacyMatrixRecoveryKeyFilePathToStore, m as readLegacyMatrixRecoveryKeyFile, y as readMatrixRecoveryKeyStateForPath } from "./crypto-state-store-Jy3qwhdy.js";
3
- import { n as LogService } from "./logger-D0GCSDQq.js";
2
+ import { A as writeMatrixRecoveryKeyStateForPath, C as readLegacyMatrixRecoveryKeyFile, E as readMatrixRecoveryKeyStateForPath, v as migrateLegacyMatrixRecoveryKeyFilePathToStore } from "./storage-BtSOar8T.js";
3
+ import { n as LogService } from "./logger-BMClpI5b.js";
4
4
  import path from "node:path";
5
5
  import { decodeRecoveryKey } from "matrix-js-sdk/lib/crypto-api/recovery-key.js";
6
6
  //#region extensions/matrix/src/matrix/sdk/recovery-key-store.ts
@@ -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-Ufd4qSpX.js";
3
+ import { n as listMatrixDirectoryGroupsLive, r as listMatrixDirectoryPeersLive } from "./directory-live-DPy2aaPF.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-DcV_KfgX.js";
1
+ import { t as resolveMatrixTargets } from "./resolve-targets-DlLrfWDy.js";
2
2
  //#region extensions/matrix/src/resolver.runtime.ts
3
3
  const matrixResolverRuntime = { resolveMatrixTargets };
4
4
  //#endregion
@@ -0,0 +1,86 @@
1
+ import { r as isMatrixNotFoundError } from "./errors-C47hvAF8.js";
2
+ //#region extensions/matrix/src/matrix/monitor/room-info.ts
3
+ const MAX_TRACKED_ROOM_INFO = 1024;
4
+ const MAX_TRACKED_MEMBER_DISPLAY_NAMES = 4096;
5
+ function rememberBounded(map, key, value, maxEntries) {
6
+ map.set(key, value);
7
+ if (map.size > maxEntries) {
8
+ const oldest = map.keys().next().value;
9
+ if (typeof oldest === "string") map.delete(oldest);
10
+ }
11
+ }
12
+ function createMatrixRoomInfoResolver(client) {
13
+ const roomNameCache = /* @__PURE__ */ new Map();
14
+ const roomAliasCache = /* @__PURE__ */ new Map();
15
+ const memberDisplayNameCache = /* @__PURE__ */ new Map();
16
+ const getRoomName = async (roomId) => {
17
+ if (roomNameCache.has(roomId)) return roomNameCache.get(roomId) ?? { nameResolved: false };
18
+ let name;
19
+ let nameResolved = false;
20
+ try {
21
+ const nameState = await client.getRoomStateEvent(roomId, "m.room.name", "");
22
+ nameResolved = true;
23
+ if (nameState && typeof nameState.name === "string") name = nameState.name;
24
+ } catch (err) {
25
+ if (isMatrixNotFoundError(err)) nameResolved = true;
26
+ }
27
+ const info = {
28
+ name,
29
+ nameResolved
30
+ };
31
+ if (nameResolved) rememberBounded(roomNameCache, roomId, info, MAX_TRACKED_ROOM_INFO);
32
+ return info;
33
+ };
34
+ const getRoomAliases = async (roomId) => {
35
+ const cached = roomAliasCache.get(roomId);
36
+ if (cached) return cached;
37
+ let canonicalAlias;
38
+ let altAliases = [];
39
+ let aliasesResolved = false;
40
+ try {
41
+ const aliasState = await client.getRoomStateEvent(roomId, "m.room.canonical_alias", "");
42
+ aliasesResolved = true;
43
+ if (aliasState && typeof aliasState.alias === "string") canonicalAlias = aliasState.alias;
44
+ const rawAliases = aliasState?.alt_aliases;
45
+ if (Array.isArray(rawAliases)) altAliases = rawAliases.filter((entry) => typeof entry === "string");
46
+ } catch (err) {
47
+ if (isMatrixNotFoundError(err)) aliasesResolved = true;
48
+ }
49
+ const info = {
50
+ canonicalAlias,
51
+ altAliases,
52
+ aliasesResolved
53
+ };
54
+ if (aliasesResolved) rememberBounded(roomAliasCache, roomId, info, MAX_TRACKED_ROOM_INFO);
55
+ return info;
56
+ };
57
+ const getRoomInfo = async (roomId, opts = {}) => {
58
+ const { name, nameResolved } = await getRoomName(roomId);
59
+ if (!opts.includeAliases) return {
60
+ name,
61
+ altAliases: [],
62
+ nameResolved,
63
+ aliasesResolved: false
64
+ };
65
+ return {
66
+ name,
67
+ nameResolved,
68
+ ...await getRoomAliases(roomId)
69
+ };
70
+ };
71
+ const getMemberDisplayName = async (roomId, userId) => {
72
+ const cacheKey = `${roomId}:${userId}`;
73
+ if (memberDisplayNameCache.has(cacheKey)) return memberDisplayNameCache.get(cacheKey) ?? userId;
74
+ const memberState = await client.getRoomStateEvent(roomId, "m.room.member", userId).catch(() => null);
75
+ const displayName = memberState && typeof memberState.displayname === "string" ? memberState.displayname : userId;
76
+ rememberBounded(memberDisplayNameCache, cacheKey, displayName, MAX_TRACKED_MEMBER_DISPLAY_NAMES);
77
+ return displayName;
78
+ };
79
+ return {
80
+ getRoomAliases,
81
+ getRoomInfo,
82
+ getMemberDisplayName
83
+ };
84
+ }
85
+ //#endregion
86
+ export { createMatrixRoomInfoResolver as t };
@@ -1,6 +1,6 @@
1
1
  import { createPluginRuntimeStore } from "openclaw/plugin-sdk/runtime-store";
2
2
  //#region extensions/matrix/src/runtime.ts
3
- const { setRuntime: setMatrixRuntime, getRuntime: getMatrixRuntime, tryGetRuntime: getOptionalMatrixRuntime } = createPluginRuntimeStore({
3
+ const { setRuntime: setMatrixRuntime, clearRuntime: clearMatrixRuntime, getRuntime: getMatrixRuntime, tryGetRuntime: getOptionalMatrixRuntime } = createPluginRuntimeStore({
4
4
  pluginId: "matrix",
5
5
  errorMessage: "Matrix runtime not initialized"
6
6
  });
@@ -2,11 +2,11 @@ import "./timeout-abort-signal-DMrgRFIy.js";
2
2
  import { resolveOutboundSendDep } from "openclaw/plugin-sdk/channel-outbound";
3
3
  import { resolveThreadBindingIdleTimeoutMsForChannel, resolveThreadBindingMaxAgeMsForChannel } from "openclaw/plugin-sdk/conversation-runtime";
4
4
  import { chunkTextForOutbound as chunkTextForOutbound$1 } from "openclaw/plugin-sdk/text-chunking";
5
- import { createActionGate as createActionGate$1, jsonResult, readPositiveIntegerParam as readPositiveIntegerParam$1, readReactionParams, readStringArrayParam, readStringParam as readStringParam$1 } from "openclaw/plugin-sdk/channel-actions";
5
+ import { ToolAuthorizationError as ToolAuthorizationError$1, createActionGate as createActionGate$1, jsonResult, readPositiveIntegerParam as readPositiveIntegerParam$1, readReactionParams, readStringArrayParam, readStringParam as readStringParam$1 } from "openclaw/plugin-sdk/channel-actions";
6
6
  import "openclaw/plugin-sdk/account-id";
7
7
  import "openclaw/plugin-sdk/routing";
8
8
  import "openclaw/plugin-sdk/channel-status";
9
- import "openclaw/plugin-sdk/channel-config-primitives";
9
+ import "openclaw/plugin-sdk/channel-config-schema";
10
10
  import "openclaw/plugin-sdk/ssrf-runtime";
11
11
  import "openclaw/plugin-sdk/channel-inbound";
12
12
  import "openclaw/plugin-sdk/channel-targets";
@@ -18,4 +18,4 @@ import { formatZonedTimestamp } from "openclaw/plugin-sdk/time-runtime";
18
18
  import "openclaw/plugin-sdk/channel-feedback";
19
19
  import { GROUP_POLICY_BLOCKED_LABEL, resolveAllowlistProviderRuntimeGroupPolicy, resolveDefaultGroupPolicy, warnMissingProviderGroupPolicyFallbackOnce } from "openclaw/plugin-sdk/runtime-group-policy";
20
20
  import "openclaw/plugin-sdk/acp-binding-runtime";
21
- export { jsonResult as a, readStringArrayParam as c, resolveDefaultGroupPolicy as d, resolveOutboundSendDep as f, warnMissingProviderGroupPolicyFallbackOnce as h, formatZonedTimestamp as i, readStringParam$1 as l, resolveThreadBindingMaxAgeMsForChannel as m, chunkTextForOutbound$1 as n, readPositiveIntegerParam$1 as o, resolveThreadBindingIdleTimeoutMsForChannel as p, createActionGate$1 as r, readReactionParams as s, GROUP_POLICY_BLOCKED_LABEL as t, resolveAllowlistProviderRuntimeGroupPolicy as u };
21
+ export { formatZonedTimestamp as a, readReactionParams as c, resolveAllowlistProviderRuntimeGroupPolicy as d, resolveDefaultGroupPolicy as f, warnMissingProviderGroupPolicyFallbackOnce as g, resolveThreadBindingMaxAgeMsForChannel as h, createActionGate$1 as i, readStringArrayParam as l, resolveThreadBindingIdleTimeoutMsForChannel as m, ToolAuthorizationError$1 as n, jsonResult as o, resolveOutboundSendDep as p, chunkTextForOutbound$1 as r, readPositiveIntegerParam$1 as s, GROUP_POLICY_BLOCKED_LABEL as t, readStringParam$1 as u };
@@ -1,9 +1,9 @@
1
- import { a as resolveMatrixDefaultOrOnlyAccountId, i as resolveMatrixChannelConfig, n as requiresExplicitMatrixDefaultAccount, r as resolveConfiguredMatrixAccountIds, s as resolveMatrixAccountStringValues, t as findMatrixAccountEntry } from "./account-selection-5e4mHR1m.js";
2
- import { n as listMatrixEnvAccountIds, r as resolveMatrixEnvAccountToken, t as getMatrixScopedEnvVarNames } from "./env-vars-KzaYveuy.js";
3
- import { r as setMatrixRuntime } from "./runtime-6S3DNFNv.js";
4
- import { a as resolveMatrixCredentialsPath, c as resolveMatrixLegacyFlatStoreRoot, i as resolveMatrixCredentialsFilename, l as sanitizeMatrixPathSegment, n as resolveMatrixAccountStorageRoot, o as resolveMatrixHomeserverKey, r as resolveMatrixCredentialsDir, s as resolveMatrixLegacyFlatStoragePaths, t as hashMatrixAccessToken } from "./storage-paths-BWo_ZEMC.js";
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";
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";
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-CdjHvnmh.js";
6
+ import { n as ensureMatrixSdkInstalled, r as isMatrixSdkAvailable } from "./deps-DDbghaZH.js";
7
7
  import { assertHttpUrlTargetsPrivateNetwork, closeDispatcher, createPinnedDispatcher, resolvePinnedHostnameWithPolicy, ssrfPolicyFromAllowPrivateNetwork, ssrfPolicyFromDangerouslyAllowPrivateNetwork } from "openclaw/plugin-sdk/ssrf-runtime";
8
8
  import { writeJsonFileAtomically } from "openclaw/plugin-sdk/json-store";
9
9
  import { formatZonedTimestamp } from "openclaw/plugin-sdk/time-runtime";
@@ -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, resolveMatrixLegacyFlatStoragePaths, resolveMatrixLegacyFlatStoreRoot, 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, ssrfPolicyFromAllowPrivateNetwork, ssrfPolicyFromDangerouslyAllowPrivateNetwork, writeJsonFileAtomically };
@@ -1,2 +1,2 @@
1
- import { r as setMatrixRuntime } from "./runtime-6S3DNFNv.js";
1
+ import { r as setMatrixRuntime } from "./runtime-CveSqMOP.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-D0GCSDQq.js";
3
- import { t as SqliteBackedMatrixSyncStore } from "./file-sync-store-DVm0ACml.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";
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-DkFfq7mH.js";
6
- import { a as matrixEventToRaw, n as createMatrixGuardedFetch, o as parseMxc, t as MatrixAuthedHttpClient } from "./http-client-nSmFiVgk.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";
7
7
  import { n as resolveMatrixRoomKeyBackupReadinessError } from "./backup-health-Dm_YMVFT.js";
8
- import { createMatrixJsSdkClientLogger } from "./logging-QH-48Gr6.js";
8
+ import { createMatrixJsSdkClientLogger } from "./logging-CFJrbDAN.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-DSeLFvNx.js";
10
+ import { n as isRepairableSecretStorageAccessError, t as MatrixRecoveryKeyStore } from "./recovery-key-store-Bx0zTJcB.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-B74cTS6A.js").then((runtime) => {
97
+ const loadMatrixCryptoRuntime = createLazyRuntimeModule(() => import("./crypto-runtime-BHcxauC4.js").then((runtime) => {
98
98
  loadedMatrixCryptoRuntime = runtime;
99
99
  return runtime;
100
100
  }));
@@ -436,13 +436,13 @@ var MatrixClient = class {
436
436
  return Object.keys(joined);
437
437
  }
438
438
  hasSyncedJoinedRoomMember(roomId, userId) {
439
- return (this.client.getRoom?.(roomId))?.currentState?.getMember?.(userId)?.membership === "join";
439
+ return this.client.getRoom(roomId)?.getMember(userId)?.membership === "join";
440
440
  }
441
441
  async getRoomStateEvent(roomId, eventType, stateKey = "") {
442
442
  return await this.client.getStateEvent(roomId, eventType, stateKey) ?? {};
443
443
  }
444
444
  async getAccountData(eventType) {
445
- return this.client.getAccountData(eventType)?.getContent() ?? void 0;
445
+ return await this.client.getAccountDataFromServer(eventType) ?? void 0;
446
446
  }
447
447
  async setAccountData(eventType, content) {
448
448
  await this.client.setAccountData(eventType, content);
@@ -1189,10 +1189,9 @@ var MatrixClient = class {
1189
1189
  });
1190
1190
  }
1191
1191
  emitMembershipForRoom(room) {
1192
- const roomObj = room;
1193
- const roomId = roomObj.roomId?.trim();
1192
+ const roomId = room.roomId.trim();
1194
1193
  if (!roomId) return;
1195
- const membership = roomObj.getMyMembership?.() ?? roomObj.selfMembership ?? void 0;
1194
+ const membership = room.getMyMembership();
1196
1195
  const selfUserId = this.client.getUserId() ?? this.selfUserId ?? "";
1197
1196
  if (!selfUserId) return;
1198
1197
  const raw = {
@@ -1211,11 +1210,7 @@ var MatrixClient = class {
1211
1210
  if (membership === "join") this.emitter.emit("room.join", roomId, raw);
1212
1211
  }
1213
1212
  emitOutstandingInviteEvents() {
1214
- const listRooms = this.client.getRooms;
1215
- if (typeof listRooms !== "function") return;
1216
- const rooms = listRooms.call(this.client);
1217
- if (!Array.isArray(rooms)) return;
1218
- for (const room of rooms) this.emitMembershipForRoom(room);
1213
+ for (const room of this.client.getRooms()) this.emitMembershipForRoom(room);
1219
1214
  }
1220
1215
  async refreshDmCache() {
1221
1216
  const direct = await this.getAccountData("m.direct");
@@ -1,53 +1,12 @@
1
- import { t as getMatrixScopedEnvVarNames } from "./env-vars-KzaYveuy.js";
1
+ import { t as getMatrixScopedEnvVarNames } from "./env-vars-B0NxQnPk.js";
2
2
  import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "openclaw/plugin-sdk/account-id";
3
- import { collectSecretInputAssignment, getChannelSurface, hasConfiguredSecretInputValue, hasOwnProperty, normalizeSecretStringValue } from "openclaw/plugin-sdk/channel-secret-basic-runtime";
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
- const secretTargetRegistryEntries = [
6
- {
7
- id: "channels.matrix.accounts.*.accessToken",
8
- targetType: "channels.matrix.accounts.*.accessToken",
9
- configFile: "openclaw.json",
10
- pathPattern: "channels.matrix.accounts.*.accessToken",
11
- secretShape: "secret_input",
12
- expectedResolvedValue: "string",
13
- includeInPlan: true,
14
- includeInConfigure: true,
15
- includeInAudit: true
16
- },
17
- {
18
- id: "channels.matrix.accounts.*.password",
19
- targetType: "channels.matrix.accounts.*.password",
20
- configFile: "openclaw.json",
21
- pathPattern: "channels.matrix.accounts.*.password",
22
- secretShape: "secret_input",
23
- expectedResolvedValue: "string",
24
- includeInPlan: true,
25
- includeInConfigure: true,
26
- includeInAudit: true
27
- },
28
- {
29
- id: "channels.matrix.accessToken",
30
- targetType: "channels.matrix.accessToken",
31
- configFile: "openclaw.json",
32
- pathPattern: "channels.matrix.accessToken",
33
- secretShape: "secret_input",
34
- expectedResolvedValue: "string",
35
- includeInPlan: true,
36
- includeInConfigure: true,
37
- includeInAudit: true
38
- },
39
- {
40
- id: "channels.matrix.password",
41
- targetType: "channels.matrix.password",
42
- configFile: "openclaw.json",
43
- pathPattern: "channels.matrix.password",
44
- secretShape: "secret_input",
45
- expectedResolvedValue: "string",
46
- includeInPlan: true,
47
- includeInConfigure: true,
48
- includeInAudit: true
49
- }
50
- ];
5
+ const secretTargetRegistryEntries = createChannelSecretTargetRegistryEntries({
6
+ channelKey: "matrix",
7
+ account: ["accessToken", "password"],
8
+ channel: ["accessToken", "password"]
9
+ });
51
10
  function collectRuntimeConfigAssignments(params) {
52
11
  const resolved = getChannelSurface(params.config, "matrix");
53
12
  if (!resolved) return;
@@ -1,2 +1,2 @@
1
- import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries, t as channelSecrets } from "./secret-contract-DTgQyQxc.js";
1
+ import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries, t as channelSecrets } from "./secret-contract-OZoQf0kI.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-6S3DNFNv.js";
3
+ import { t as getMatrixRuntime } from "./runtime-CveSqMOP.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";
@@ -228,7 +228,7 @@ function buildPollResponseContent(pollEventId, answerIds) {
228
228
  }
229
229
  //#endregion
230
230
  //#region extensions/matrix/src/matrix/send/client.ts
231
- const loadMatrixSendClientRuntime = createLazyRuntimeModule(() => import("./client-bootstrap-DjFJ7e0N.js").then((n) => n.t));
231
+ const loadMatrixSendClientRuntime = createLazyRuntimeModule(() => import("./client-bootstrap-PqYOS-mO.js").then((n) => n.t));
232
232
  function resolveMediaMaxBytes(accountId, cfg) {
233
233
  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
234
  const matrixCfg = resolveMatrixAccountConfig({
@@ -479,8 +479,14 @@ function compactLooseListTokens(tokens) {
479
479
  if (token.type === "list_item_close") {
480
480
  const item = listItemStack.pop();
481
481
  if (item && item.immediateParagraphOpenIndexes.length === 1 && item.immediateParagraphCloseIndexes.length === 1) {
482
- tokens[item.immediateParagraphOpenIndexes[0]].hidden = true;
483
- tokens[item.immediateParagraphCloseIndexes[0]].hidden = true;
482
+ const openIndex = item.immediateParagraphOpenIndexes[0];
483
+ const closeIndex = item.immediateParagraphCloseIndexes[0];
484
+ const openToken = openIndex === void 0 ? void 0 : tokens[openIndex];
485
+ const closeToken = closeIndex === void 0 ? void 0 : tokens[closeIndex];
486
+ if (openToken && closeToken) {
487
+ openToken.hidden = true;
488
+ closeToken.hidden = true;
489
+ }
484
490
  }
485
491
  continue;
486
492
  }
@@ -1,4 +1,4 @@
1
- import { r as setMatrixRuntime } from "./runtime-6S3DNFNv.js";
1
+ import { r as setMatrixRuntime } from "./runtime-CveSqMOP.js";
2
2
  import { s as resetMatrixThreadBindingsForTests } from "./thread-bindings-shared-CKnY4LSd.js";
3
- import { t as createMatrixThreadBindingManager } from "./thread-bindings-BX5nmWpw.js";
3
+ import { t as createMatrixThreadBindingManager } from "./thread-bindings-BI8MHWp9.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-BGgbrdaJ.js";
2
+ import "./setup-core-DlmTyIP0.js";
3
3
  import { t as formatMatrixErrorMessage } from "./errors-C47hvAF8.js";
4
- import { n as bootstrapMatrixVerification } from "./verification-BGCMiO1p.js";
4
+ import { n as bootstrapMatrixVerification } from "./verification-DLSe3sP7.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, r as resolveConfiguredMatrixAccountIds, s as resolveMatrixAccountStringValues } from "./account-selection-5e4mHR1m.js";
2
+ import { a as resolveMatrixDefaultOrOnlyAccountId, o as resolveMatrixAccountStringValues, r as resolveConfiguredMatrixAccountIds } from "./account-selection-Bz00QTmQ.js";
3
3
  import { a as resolveMatrixAccountConfig, o as resolveMatrixBaseConfig, t as findMatrixAccountConfig } from "./account-config-BZWN9tGS.js";
4
- import { i as resolveScopedMatrixEnvConfig, n as resolveGlobalMatrixEnvConfig, r as resolveMatrixEnvAuthReadiness } from "./env-auth-DIzOApj0.js";
5
- import { i as loadMatrixCredentials, n as credentialsMatchConfig } from "./credentials-read-BlkvsNFg.js";
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";
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";
@@ -142,11 +142,10 @@ const matrixSingleAccountKeysToMove = [
142
142
  "allowlistOnly",
143
143
  "dangerouslyAllowNameMatching",
144
144
  "allowBots",
145
- "blockStreaming",
145
+ "streaming",
146
146
  "replyToMode",
147
147
  "threadReplies",
148
148
  "textChunkLimit",
149
- "chunkMode",
150
149
  "responsePrefix",
151
150
  "ackReaction",
152
151
  "ackReactionScope",
@@ -183,7 +182,10 @@ function resolveSingleAccountPromotionTarget(params) {
183
182
  if (matchedAccountId) return matchedAccountId;
184
183
  if (normalizedDefaultAccount) return DEFAULT_ACCOUNT_ID$1;
185
184
  const namedAccounts = Object.entries(accounts).filter(([accountId, value]) => accountId && typeof value === "object" && value);
186
- if (namedAccounts.length === 1) return namedAccounts[0][0];
185
+ if (namedAccounts.length === 1) {
186
+ const onlyAccount = namedAccounts[0];
187
+ if (onlyAccount) return onlyAccount[0];
188
+ }
187
189
  if (namedAccounts.length > 1 && accounts[DEFAULT_ACCOUNT_ID$1] && typeof accounts[DEFAULT_ACCOUNT_ID$1] === "object") return DEFAULT_ACCOUNT_ID$1;
188
190
  return DEFAULT_ACCOUNT_ID$1;
189
191
  }
@@ -667,7 +669,7 @@ const matrixSetupAdapter = {
667
669
  input
668
670
  }),
669
671
  afterAccountConfigWritten: async ({ previousCfg, cfg, accountId, runtime }) => {
670
- const { runMatrixSetupBootstrapAfterConfigWrite } = await import("./setup-bootstrap-Da564w5f.js");
672
+ const { runMatrixSetupBootstrapAfterConfigWrite } = await import("./setup-bootstrap-CCsexWTZ.js");
671
673
  await runMatrixSetupBootstrapAfterConfigWrite({
672
674
  previousCfg,
673
675
  cfg,
@@ -1,5 +1,5 @@
1
- import { g as resolveMatrixAccount, n as matrixSetupAdapter, t as createMatrixSetupWizardProxy } from "./setup-core-BGgbrdaJ.js";
2
- import { r as matrixConfigAdapter, t as MatrixChannelConfigSchema } from "./config-schema-DtnhNYd-.js";
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";
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-iJ6pd-t5.js").then((n) => n.t)).matrixSetupWizard })),
16
+ setupWizard: createMatrixSetupWizardProxy(async () => ({ matrixSetupWizard: (await import("./setup-surface-2SS94JV0.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-5e4mHR1m.js";
2
+ import { n as requiresExplicitMatrixDefaultAccount } from "./account-selection-Bz00QTmQ.js";
3
3
  import { a as resolveMatrixAccountConfig } from "./account-config-BZWN9tGS.js";
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-BGgbrdaJ.js";
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";
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-CdjHvnmh.js";
8
+ import { n as ensureMatrixSdkInstalled, r as isMatrixSdkAvailable } from "./deps-DDbghaZH.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-DcV_KfgX.js").then((n) => n.n);
108
+ const { resolveMatrixTargets } = await import("./resolve-targets-DlLrfWDy.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-Ufd4qSpX.js").then((n) => n.t);
236
+ const { listMatrixDirectoryGroupsLive } = await import("./directory-live-DPy2aaPF.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-Da564w5f.js");
511
+ const { runMatrixSetupBootstrapAfterConfigWrite } = await import("./setup-bootstrap-CCsexWTZ.js");
512
512
  await runMatrixSetupBootstrapAfterConfigWrite({
513
513
  previousCfg,
514
514
  cfg,