@openclaw/matrix 2026.7.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 (83) 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-BQZdg_dJ.js} +27 -17
  4. package/dist/{approval-ids-ZgqbspmS.js → approval-ids-De4IhOSN.js} +1 -1
  5. package/dist/{approval-reaction-auth-D9LijQhr.js → approval-reaction-auth-BLJKPLku.js} +2 -2
  6. package/dist/approval-reactions-D-BxBK_L.js +202 -0
  7. package/dist/auth-presence.js +1 -1
  8. package/dist/{channel-jUTBsjHU.js → channel-B1woOUgk.js} +103 -143
  9. package/dist/channel-plugin-api.js +1 -1
  10. package/dist/{channel.runtime-DO1Nv9ed.js → channel.runtime-BvJm9z0w.js} +7 -7
  11. package/dist/{cli-CEfWwCKx.js → cli-CLWOkMvw.js} +15 -12
  12. package/dist/{cli-metadata-CfiEO-CE.js → cli-metadata-9Naf7in0.js} +1 -1
  13. package/dist/cli-metadata.js +1 -1
  14. package/dist/{client-FRuyCNju.js → client-BUai6s29.js} +2 -2
  15. package/dist/{client-tgnlQJk4.js → client-CPuYbNL8.js} +4 -4
  16. package/dist/{client-bootstrap-DjFJ7e0N.js → client-bootstrap-CNVF73sF.js} +1 -1
  17. package/dist/{config-schema-DtnhNYd-.js → config-schema-BTSatSY3.js} +27 -63
  18. package/dist/contract-api.js +2 -2
  19. package/dist/{create-client-CNakT7zF.js → create-client-85ttAWDP.js} +3 -3
  20. package/dist/{credentials-Ds9V1mn2.js → credentials-CncWUieb.js} +1 -1
  21. package/dist/{credentials-read-BlkvsNFg.js → credentials-read-CwNJrmwu.js} +2 -2
  22. package/dist/{credentials-write.runtime-CTqqxcut.js → credentials-write.runtime-BDtpqvj0.js} +1 -1
  23. package/dist/{crypto-runtime-B74cTS6A.js → crypto-runtime-DoEB5RpM.js} +74 -44
  24. package/dist/{deps-CdjHvnmh.js → deps-DDbghaZH.js} +23 -90
  25. package/dist/{directory-live-Ufd4qSpX.js → directory-live-0TyS9xep.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-GOdPZMBm.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-CUE9WwD2.js} +2 -3
  35. package/dist/helper-api.js +4 -4
  36. package/dist/{http-client-nSmFiVgk.js → http-client-Jw5_bwQo.js} +18 -34
  37. package/dist/{idb-persistence-BHm97th-.js → idb-persistence-BiHEEzD7.js} +1 -1
  38. package/dist/inbound-dedupe-CaBLblef.js +48 -0
  39. package/dist/index.js +1 -1
  40. package/dist/{media-text-p-LP21qs.js → media-text-DPCtdFjk.js} +1 -1
  41. package/dist/{messages-DRKkiEY-.js → messages-DCRbGLMh.js} +3 -3
  42. package/dist/{monitor-CsGOGdwu.js → monitor-C5EOF9et.js} +90 -427
  43. package/dist/plugin-entry.handlers.runtime.js +1 -1
  44. package/dist/probe.runtime-BBvciVfo.js +3 -0
  45. package/dist/{profile-update-Ucc8RrJL.js → profile-update-DompcDyu.js} +2 -2
  46. package/dist/{reaction-events-DentrVii.js → reaction-events-QUgxkQKQ.js} +60 -10
  47. package/dist/record-shared-CvzjvHRn.js +2 -0
  48. package/dist/{recovery-key-store-DSeLFvNx.js → recovery-key-store-B2RglalK.js} +1 -1
  49. package/dist/{resolve-targets-DcV_KfgX.js → resolve-targets-Cx1VVArA.js} +1 -1
  50. package/dist/{resolver.runtime-Hr6bO5zl.js → resolver.runtime-PPrv3ZHu.js} +1 -1
  51. package/dist/room-info-B6vKD5DF.js +86 -0
  52. package/dist/{runtime-api-CsBoesCU.js → runtime-api-D1xI_cvh.js} +3 -3
  53. package/dist/runtime-api.js +6 -6
  54. package/dist/{sdk-AZYVl34z.js → sdk-1TXuSiXZ.js} +10 -15
  55. package/dist/{secret-contract-DTgQyQxc.js → secret-contract-OZoQf0kI.js} +7 -48
  56. package/dist/secret-contract-api.js +1 -1
  57. package/dist/{send-D92v6Yy0.js → send-yre1krm8.js} +9 -3
  58. package/dist/session-binding-contract-api.js +1 -1
  59. package/dist/{setup-bootstrap-Da564w5f.js → setup-bootstrap-DXVRCd4G.js} +2 -2
  60. package/dist/{setup-core-BGgbrdaJ.js → setup-core-CYQRY2oG.js} +9 -7
  61. package/dist/setup-plugin-api.js +3 -3
  62. package/dist/{setup-surface-iJ6pd-t5.js → setup-surface-BjvRQzK6.js} +7 -7
  63. package/dist/{shared-DkFfq7mH.js → shared-BfW4lxGu.js} +13 -8
  64. package/dist/{startup-verification-BKMAXvcV.js → startup-verification-DSiyDKM5.js} +2 -3
  65. package/dist/storage-DD-EnNJE.js +718 -0
  66. package/dist/{storage-paths-BWo_ZEMC.js → storage-paths-B4_I9iqO.js} +1 -12
  67. package/dist/{thread-bindings-BX5nmWpw.js → thread-bindings-U5ZroBeZ.js} +3 -4
  68. package/dist/{tool-actions.runtime-C1d5fxE_.js → tool-actions.runtime-BlfTr9b0.js} +246 -53
  69. package/dist/{verification-BGCMiO1p.js → verification-CGnI9k1O.js} +2 -2
  70. package/npm-shrinkwrap.json +3 -3
  71. package/openclaw.plugin.json +136 -125
  72. package/package.json +4 -4
  73. package/dist/approval-reactions-BdUaUXVw.js +0 -113
  74. package/dist/crypto-state-store-Jy3qwhdy.js +0 -352
  75. package/dist/doctor-DfaOqFtr.js +0 -167
  76. package/dist/legacy-crypto-inspector-vzXSkm18.js +0 -42
  77. package/dist/legacy-crypto-restore-CIBfOmLn.js +0 -93
  78. package/dist/matrix-migration.runtime-BMCyrANT.js +0 -524
  79. package/dist/migration-snapshot-backup-YcCrSjbE.js +0 -69
  80. package/dist/migration-snapshot.runtime-VGD4QfeS.js +0 -2
  81. package/dist/probe.runtime-2MZLc6ng.js +0 -3
  82. package/dist/runtime-heavy-api.js +0 -3
  83. package/dist/storage-CQdyKcGg.js +0 -430
@@ -1,4 +1,4 @@
1
- import { a as resolveMatrixDefaultOrOnlyAccountId } from "./account-selection-5e4mHR1m.js";
1
+ import { a as resolveMatrixDefaultOrOnlyAccountId } from "./account-selection-Bz00QTmQ.js";
2
2
  import { t as resolveMatrixConfigFieldPath } from "./config-paths-CnREYb1Y.js";
3
3
  import { normalizeOptionalAccountId } from "openclaw/plugin-sdk/account-id";
4
4
  //#region extensions/matrix/src/matrix/encryption-guidance.ts
@@ -1,4 +1,4 @@
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
3
  //#region extensions/matrix/src/matrix/client/env-auth.ts
4
4
  function cleanEnv(value) {
@@ -54,7 +54,9 @@ function listMatrixEnvAccountIds(env = process.env) {
54
54
  for (const key of Object.keys(env)) {
55
55
  const match = MATRIX_SCOPED_ENV_RE.exec(key);
56
56
  if (!match) continue;
57
- const accountId = decodeMatrixEnvAccountToken(match[1]);
57
+ const encodedAccountId = match[1];
58
+ if (!encodedAccountId) continue;
59
+ const accountId = decodeMatrixEnvAccountToken(encodedAccountId);
58
60
  if (accountId) ids.add(accountId);
59
61
  }
60
62
  return Array.from(ids).toSorted((a, b) => a.localeCompare(b));
@@ -2,9 +2,10 @@ import { isApprovalNotFoundError } from "openclaw/plugin-sdk/error-runtime";
2
2
  import { resolveApprovalOverGateway } from "openclaw/plugin-sdk/approval-gateway-runtime";
3
3
  //#region extensions/matrix/src/exec-approval-resolver.ts
4
4
  async function resolveMatrixApproval(params) {
5
- await resolveApprovalOverGateway({
5
+ return await resolveApprovalOverGateway({
6
6
  cfg: params.cfg,
7
7
  approvalId: params.approvalId,
8
+ approvalKind: params.approvalKind,
8
9
  decision: params.decision,
9
10
  senderId: params.senderId,
10
11
  gatewayUrl: params.gatewayUrl,
@@ -1,8 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { o as isRecord } from "./account-selection-5e4mHR1m.js";
2
+ import { t as isRecord } from "./record-shared-CvzjvHRn.js";
3
3
  import { t as getMatrixRuntime } from "./runtime-6S3DNFNv.js";
4
- import { O as resolveMatrixSqliteStateEnv } from "./crypto-state-store-Jy3qwhdy.js";
5
- import { t as claimCurrentTokenStorageState } from "./storage-CQdyKcGg.js";
4
+ import { M as resolveMatrixSqliteStateEnv, t as claimCurrentTokenStorageState } from "./storage-DD-EnNJE.js";
6
5
  import { t as createAsyncLock } from "./async-lock-BcLS4KOc.js";
7
6
  import { n as LogService } from "./logger-D0GCSDQq.js";
8
7
  import path from "node:path";
@@ -1,4 +1,4 @@
1
- import { a as resolveMatrixDefaultOrOnlyAccountId, i as resolveMatrixChannelConfig, n as requiresExplicitMatrixDefaultAccount, r as resolveConfiguredMatrixAccountIds, 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 { a as resolveMatrixCredentialsPath, c as resolveMatrixLegacyFlatStoreRoot, i as resolveMatrixCredentialsFilename, l as sanitizeMatrixPathSegment, n as resolveMatrixAccountStorageRoot, o as resolveMatrixHomeserverKey, r as resolveMatrixCredentialsDir, s as resolveMatrixLegacyFlatStoragePaths, t as hashMatrixAccessToken } from "./storage-paths-BWo_ZEMC.js";
4
- export { findMatrixAccountEntry, getMatrixScopedEnvVarNames, hashMatrixAccessToken, listMatrixEnvAccountIds, requiresExplicitMatrixDefaultAccount, resolveConfiguredMatrixAccountIds, resolveMatrixAccountStorageRoot, resolveMatrixChannelConfig, resolveMatrixCredentialsDir, resolveMatrixCredentialsFilename, resolveMatrixCredentialsPath, resolveMatrixDefaultOrOnlyAccountId, resolveMatrixEnvAccountToken, resolveMatrixHomeserverKey, resolveMatrixLegacyFlatStoragePaths, resolveMatrixLegacyFlatStoreRoot, sanitizeMatrixPathSegment };
1
+ import { a as resolveMatrixDefaultOrOnlyAccountId, i as resolveMatrixChannelConfig, n as requiresExplicitMatrixDefaultAccount, 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 { 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
+ export { findMatrixAccountEntry, getMatrixScopedEnvVarNames, hashMatrixAccessToken, listMatrixEnvAccountIds, requiresExplicitMatrixDefaultAccount, resolveConfiguredMatrixAccountIds, resolveMatrixAccountStorageRoot, resolveMatrixChannelConfig, resolveMatrixCredentialsDir, resolveMatrixCredentialsFilename, resolveMatrixCredentialsPath, resolveMatrixDefaultOrOnlyAccountId, resolveMatrixEnvAccountToken, resolveMatrixHomeserverKey, sanitizeMatrixPathSegment };
@@ -1,47 +1,39 @@
1
1
  import { t as buildTimeoutAbortSignal } from "./timeout-abort-signal-DMrgRFIy.js";
2
+ import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
2
3
  import { parseMediaContentLength } from "openclaw/plugin-sdk/media-runtime";
3
4
  import { readResponseWithLimit } from "openclaw/plugin-sdk/response-limit-runtime";
4
5
  import { fetchWithRuntimeDispatcherOrMockedGlobal } from "openclaw/plugin-sdk/runtime-fetch";
5
6
  import { closeDispatcher, createPinnedDispatcher, resolvePinnedHostnameWithPolicy } from "openclaw/plugin-sdk/ssrf-dispatcher";
6
7
  //#region extensions/matrix/src/matrix/sdk/event-helpers.ts
7
8
  function matrixEventToRaw(event, opts = {}) {
8
- const unsigned = event.getUnsigned?.() ?? {};
9
- const eventWithOriginalContent = event;
10
- const normalizedContent = preserveMatrixRelation(event, (opts.contentMode === "original" ? eventWithOriginalContent.getOriginalContent?.() ?? event.getContent?.() ?? {} : event.getContent?.() ?? eventWithOriginalContent.getOriginalContent?.() ?? {}) || {});
9
+ const originalContent = event.getOriginalContent();
10
+ const content = opts.contentMode === "original" ? originalContent : event.getContent();
11
+ const relation = originalContent["m.relates_to"] || event.getWireContent()["m.relates_to"];
12
+ const normalizedContent = relation && !Object.hasOwn(content, "m.relates_to") ? {
13
+ ...content,
14
+ "m.relates_to": relation
15
+ } : content;
11
16
  const raw = {
12
17
  event_id: event.getId() ?? "",
13
18
  sender: event.getSender() ?? "",
14
19
  type: event.getType() ?? "",
15
20
  origin_server_ts: event.getTs() ?? 0,
16
21
  content: normalizedContent,
17
- unsigned
22
+ unsigned: event.getUnsigned()
18
23
  };
19
- const stateKey = resolveMatrixStateKey(event);
24
+ const stateKey = event.getStateKey() ?? event.getWireStateKey();
20
25
  if (typeof stateKey === "string") raw.state_key = stateKey;
21
26
  return raw;
22
27
  }
23
- function preserveMatrixRelation(event, content) {
24
- if (Object.hasOwn(content, "m.relates_to")) return content;
25
- const relation = resolveMatrixRelation(event);
26
- return relation ? {
27
- ...content,
28
- "m.relates_to": relation
29
- } : content;
30
- }
31
- function resolveMatrixRelation(event) {
32
- const originalRelation = (event.getOriginalContent?.())?.["m.relates_to"];
33
- if (originalRelation) return originalRelation;
34
- const wireRelation = (event.getWireContent?.())?.["m.relates_to"];
35
- if (wireRelation) return wireRelation;
36
- const rawContent = event.event?.content;
37
- if (rawContent && typeof rawContent === "object") return rawContent["m.relates_to"];
38
- }
39
28
  function parseMxc(url) {
40
29
  const match = /^mxc:\/\/([^/]+)\/(.+)$/.exec(url.trim());
41
30
  if (!match) return null;
31
+ const server = match[1];
32
+ const mediaId = match[2];
33
+ if (!server || !mediaId) return null;
42
34
  return {
43
- server: match[1],
44
- mediaId: match[2]
35
+ server,
36
+ mediaId
45
37
  };
46
38
  }
47
39
  function buildHttpError(statusCode, bodyText) {
@@ -49,20 +41,12 @@ function buildHttpError(statusCode, bodyText) {
49
41
  if (bodyText.trim()) try {
50
42
  const parsed = JSON.parse(bodyText);
51
43
  if (typeof parsed.error === "string" && parsed.error.trim()) message = parsed.error.trim();
52
- else message = bodyText.slice(0, 500);
44
+ else message = truncateUtf16Safe(bodyText, 500);
53
45
  } catch {
54
- message = bodyText.slice(0, 500);
46
+ message = truncateUtf16Safe(bodyText, 500);
55
47
  }
56
48
  return Object.assign(new Error(message), { statusCode });
57
49
  }
58
- function resolveMatrixStateKey(event) {
59
- const direct = event.getStateKey?.();
60
- if (typeof direct === "string") return direct;
61
- const wireContent = event.getWireContent?.();
62
- if (wireContent && typeof wireContent.state_key === "string") return wireContent.state_key;
63
- const rawEvent = event.event;
64
- if (rawEvent && typeof rawEvent.state_key === "string") return rawEvent.state_key;
65
- }
66
50
  //#endregion
67
51
  //#region extensions/matrix/src/matrix/media-errors.ts
68
52
  const MATRIX_MEDIA_SIZE_LIMIT_ERROR_MESSAGE = "Matrix media exceeds configured size limit";
@@ -353,7 +337,7 @@ var MatrixAuthedHttpClient = class {
353
337
  allowAbsoluteEndpoint: params.allowAbsoluteEndpoint
354
338
  });
355
339
  if (!response.ok) throw buildHttpError(response.status, text);
356
- if ((response.headers.get("content-type") ?? "").includes("application/json")) {
340
+ if ((response.headers.get("content-type") ?? "").split(";", 1)[0]?.trim().toLowerCase() === "application/json") {
357
341
  if (!text.trim()) return {};
358
342
  try {
359
343
  return JSON.parse(text);
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { g as readMatrixIdbSnapshotJson, t as MATRIX_IDB_SNAPSHOT_FILENAME, x as writeMatrixIdbSnapshotJson } from "./crypto-state-store-Jy3qwhdy.js";
2
+ import { D as writeMatrixIdbSnapshotJson, T as readMatrixIdbSnapshotJson, f as MATRIX_IDB_SNAPSHOT_FILENAME } from "./storage-DD-EnNJE.js";
3
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";
@@ -0,0 +1,48 @@
1
+ import { n as LogService } from "./logger-D0GCSDQq.js";
2
+ import { createChannelReplayGuard, resolvePersistentDedupePluginStateNamespace } from "openclaw/plugin-sdk/persistent-dedupe";
3
+ //#region extensions/matrix/src/matrix/monitor/inbound-dedupe.ts
4
+ const MATRIX_INBOUND_DEDUPE_PLUGIN_ID = "matrix";
5
+ const MATRIX_INBOUND_DEDUPE_NAMESPACE_PREFIX = "matrix.inbound-dedupe";
6
+ const MATRIX_INBOUND_DEDUPE_NAMESPACE = "global";
7
+ const MATRIX_INBOUND_DEDUPE_TTL_MS = 720 * 60 * 60 * 1e3;
8
+ const MATRIX_INBOUND_DEDUPE_MEMORY_MAX = 5e3;
9
+ const MATRIX_INBOUND_DEDUPE_STATE_MAX_ENTRIES = 2e4;
10
+ function resolveMatrixInboundDedupeAccountId(accountId) {
11
+ return accountId.trim() || "default";
12
+ }
13
+ function buildMatrixInboundDedupeEventKey(params) {
14
+ const roomId = params.roomId.trim();
15
+ const eventId = params.eventId.trim();
16
+ if (!roomId || !eventId) return null;
17
+ return `${resolveMatrixInboundDedupeAccountId(params.accountId)}\0${roomId}\0${eventId}`;
18
+ }
19
+ /** Persisted plugin-state namespace holding the inbound dedupe rows. */
20
+ function resolveMatrixInboundDedupeStateNamespace() {
21
+ return resolvePersistentDedupePluginStateNamespace({
22
+ namespace: MATRIX_INBOUND_DEDUPE_NAMESPACE,
23
+ namespacePrefix: MATRIX_INBOUND_DEDUPE_NAMESPACE_PREFIX
24
+ });
25
+ }
26
+ function createMatrixInboundEventDeduper(params) {
27
+ const accountId = params.auth.accountId;
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
+ }
39
+ },
40
+ buildReplayKey: (event) => buildMatrixInboundDedupeEventKey({
41
+ accountId,
42
+ ...event
43
+ }),
44
+ namespace: () => MATRIX_INBOUND_DEDUPE_NAMESPACE
45
+ });
46
+ }
47
+ //#endregion
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-CfiEO-CE.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 { C as formatPollResultsAsText, D as parsePollStartContent, O as resolvePollReferenceEventId, S as formatPollAsText, T as isPollStartType, w as isPollEventType, x as buildPollResultsSummary } from "./send-D92v6Yy0.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-D92v6Yy0.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-p-LP21qs.js";
5
- import { r as withResolvedRoomAction } from "./client-FRuyCNju.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