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

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 (77) hide show
  1. package/README.md +1 -1
  2. package/dist/api.js +4 -4
  3. package/dist/{approval-handler.runtime-BEa98wwG.js → approval-handler.runtime-D1ibJgSk.js} +4 -4
  4. package/dist/{approval-ids-Dfn7oQAm.js → approval-ids-2OQj32-K.js} +1 -1
  5. package/dist/{approval-reaction-auth-kXkCJBGi.js → approval-reaction-auth-CCAWWkbu.js} +2 -2
  6. package/dist/{channel-j331Xd7b.js → channel-Cmi248PA.js} +34 -32
  7. package/dist/channel-plugin-api.js +1 -1
  8. package/dist/{channel.runtime-BIwlVfQw.js → channel.runtime-BaPXFRgT.js} +34 -40
  9. package/dist/{cli-0EcKfqFw.js → cli-0CNHkps5.js} +868 -852
  10. package/dist/{cli-metadata-Xq1Xb15R.js → cli-metadata-DnXxNCoj.js} +1 -1
  11. package/dist/cli-metadata.js +1 -1
  12. package/dist/{client-CA0PULls.js → client-BFRg0kd4.js} +2 -2
  13. package/dist/{client-BtG4quUl.js → client-CitERujx.js} +2 -2
  14. package/dist/{client-bootstrap-Dk5EAn3n.js → client-bootstrap-CkAnkzB6.js} +1 -1
  15. package/dist/{config-schema-B5GRV8wL.js → config-schema-BShrVROw.js} +19 -6
  16. package/dist/contract-api.js +2 -2
  17. package/dist/{create-client-WQExaby_.js → create-client-f-CkRllE.js} +3 -3
  18. package/dist/{crypto-runtime-CAff-n15.js → crypto-runtime-D9_6J5tZ.js} +2 -2
  19. package/dist/{device-health-D4LBxuPq.js → device-health-B4-YXtJR.js} +6 -1
  20. package/dist/{directory-live-DiC-0XBC.js → directory-live-YRgYDx2w.js} +3 -3
  21. package/dist/{doctor-DwUVm5Lw.js → doctor-CM8ijNpW.js} +1 -1
  22. package/dist/doctor-contract-BMSJkkAE.js +167 -0
  23. package/dist/doctor-contract-api.js +112 -71
  24. package/dist/{draft-stream-CTLKtJJ0.js → draft-stream-CIjafRr0.js} +1 -1
  25. package/dist/{file-sync-store-CPkgnSXp.js → file-sync-store-DiiFsayX.js} +1 -1
  26. package/dist/{http-client-BmrgOZTL.js → http-client-CycYxU9-.js} +2 -2
  27. package/dist/{idb-persistence-Dyy6ipgU.js → idb-persistence-B6x7dMsF.js} +75 -72
  28. package/dist/index.js +1 -1
  29. package/dist/{logging-QH-48Gr6.js → logging-DV-p52N0.js} +8 -1
  30. package/dist/{media-text-BMXEXb1j.js → media-text-DlQC_k_K.js} +1 -1
  31. package/dist/{messages-3UBHfZrN.js → messages-Bf_s--M9.js} +3 -3
  32. package/dist/{monitor-BtUIds8T.js → monitor-s--XqoxF.js} +2041 -1804
  33. package/dist/plugin-entry.handlers.runtime.js +1 -1
  34. package/dist/probe.runtime-BJOvCHnZ.js +3 -0
  35. package/dist/{profile-update-Bh2XtJwN.js → profile-update-z3aM46KS.js} +2 -2
  36. package/dist/{reaction-events-BwAKtUyQ.js → reaction-events-DrK9Zua7.js} +2 -2
  37. package/dist/{recovery-key-store-CW6eePfp.js → recovery-key-store-BNnHvXdk.js} +1 -1
  38. package/dist/{resolve-targets-DVoj-YxB.js → resolve-targets-nNMcrV3W.js} +1 -1
  39. package/dist/{resolver.runtime-CC0VVsAt.js → resolver.runtime-BvaFlVLg.js} +1 -1
  40. package/dist/{room-info-B6vKD5DF.js → room-info-CAFZ3Z9J.js} +13 -12
  41. package/dist/{sdk-CIDZXWpZ.js → sdk-UzPd8tst.js} +227 -181
  42. package/dist/{send-BJbrdmNm.js → send-C9Ssx-iV.js} +624 -109
  43. package/dist/session-binding-contract-api.js +1 -1
  44. package/dist/{setup-bootstrap-DGPOOdz-.js → setup-bootstrap-BBGpPKgy.js} +2 -2
  45. package/dist/{setup-core-XCdAx1nY.js → setup-core-a542Ernq.js} +135 -45
  46. package/dist/setup-plugin-api.js +4 -3
  47. package/dist/{setup-surface-CzUiTe_k.js → setup-surface-BJrCI6KT.js} +34 -30
  48. package/dist/{shared-DquM1oz6.js → shared-CUH5otj8.js} +5 -12
  49. package/dist/{startup-verification-CA00kebL.js → startup-verification-wm3_i88s.js} +1 -1
  50. package/dist/{storage-CzHxeF5E.js → storage-BvAkgzvT.js} +24 -57
  51. package/dist/{thread-bindings-Cw194yEn.js → thread-bindings-D3RfVgAF.js} +4 -3
  52. package/dist/{tool-actions.runtime-C0jgWYhX.js → tool-actions.runtime-Dh5ow2EK.js} +8 -8
  53. package/dist/{verification-DjxyWTNP.js → verification-ZdAXdmuh.js} +1 -1
  54. package/node_modules/music-metadata/lib/common/Util.d.ts +1 -1
  55. package/node_modules/music-metadata/lib/common/Util.js +7 -1
  56. package/node_modules/music-metadata/lib/id3v2/FrameHeader.js +23 -3
  57. package/node_modules/music-metadata/lib/id3v2/FrameParser.js +2 -2
  58. package/node_modules/music-metadata/lib/id3v2/ID3v2Token.js +1 -1
  59. package/node_modules/music-metadata/lib/mp4/AtomToken.js +38 -13
  60. package/node_modules/music-metadata/lib/mpeg/MpegParser.js +1 -1
  61. package/node_modules/music-metadata/package.json +6 -6
  62. package/node_modules/typebox/build/compile/validator.d.mts +1 -4
  63. package/node_modules/typebox/build/guard/guard.d.mts +1 -1
  64. package/node_modules/typebox/build/guard/guard.mjs +5 -2
  65. package/node_modules/typebox/build/guard/string.mjs +16 -4
  66. package/node_modules/typebox/build/schema/engine/_functions.mjs +34 -15
  67. package/node_modules/typebox/build/type/action/readonly_object.d.mts +5 -0
  68. package/node_modules/typebox/build/type/action/readonly_object.mjs +8 -0
  69. package/node_modules/typebox/build/typebox.d.mts +1 -1
  70. package/node_modules/typebox/build/typebox.mjs +1 -1
  71. package/node_modules/typebox/package.json +1 -1
  72. package/node_modules/typebox/readme.md +29 -32
  73. package/openclaw.plugin.json +7 -20
  74. package/package.json +111 -29
  75. package/dist/doctor-contract-BA2Y6Crx.js +0 -312
  76. package/dist/probe.runtime-sBV-Govx.js +0 -3
  77. package/npm-shrinkwrap.json +0 -557
@@ -211,7 +211,7 @@ async function fetchWithMatrixGuardedRedirects(params) {
211
211
  headers.delete("content-type");
212
212
  headers.delete("content-length");
213
213
  }
214
- response.body?.cancel();
214
+ response.body?.cancel().catch(() => void 0);
215
215
  await closeDispatcher(dispatcher);
216
216
  currentUrl = nextUrl;
217
217
  } catch (error) {
@@ -254,7 +254,7 @@ function createMatrixGuardedFetch(params) {
254
254
  async function performMatrixRequest(params) {
255
255
  const isAbsoluteEndpoint = params.endpoint.startsWith("http://") || params.endpoint.startsWith("https://");
256
256
  if (isAbsoluteEndpoint && params.allowAbsoluteEndpoint !== true) throw new Error(`Absolute Matrix endpoint is blocked by default: ${params.endpoint}. Set allowAbsoluteEndpoint=true to opt in.`);
257
- const baseUrl = isAbsoluteEndpoint ? new URL(params.endpoint) : new URL(normalizeEndpoint(params.endpoint), params.homeserver);
257
+ const baseUrl = isAbsoluteEndpoint ? new URL(params.endpoint) : new URL(`${params.homeserver.replace(/\/+$/u, "")}${normalizeEndpoint(params.endpoint)}`);
258
258
  applyQuery(baseUrl, params.qs);
259
259
  const headers = new Headers();
260
260
  headers.set("Accept", params.raw ? "*/*" : "application/json");
@@ -1,17 +1,25 @@
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-CzHxeF5E.js";
1
+ import { D as writeMatrixIdbSnapshotJson, f as MATRIX_IDB_SNAPSHOT_FILENAME, w as readMatrixIdbSnapshotJson } from "./storage-BvAkgzvT.js";
3
2
  import { n as LogService } from "./logger-D0GCSDQq.js";
4
3
  import { n as MATRIX_IDB_SNAPSHOT_LOCK_OPTIONS } from "./idb-persistence-lock-DAJ49nZX.js";
5
4
  import path from "node:path";
5
+ import { toErrorObject } from "openclaw/plugin-sdk/error-runtime";
6
6
  import fs from "node:fs";
7
- import { indexedDB } from "fake-indexeddb";
8
7
  import { withFileLock } from "openclaw/plugin-sdk/file-lock";
8
+ import { indexedDB } from "fake-indexeddb";
9
9
  //#region extensions/matrix/src/matrix/sdk/idb-persistence.ts
10
- var idb_persistence_exports = /* @__PURE__ */ __exportAll({
11
- persistIdbToDisk: () => persistIdbToDisk,
12
- readLegacyMatrixIdbSnapshotState: () => readLegacyMatrixIdbSnapshotState,
13
- restoreIdbFromDisk: () => restoreIdbFromDisk
14
- });
10
+ const LEGACY_SNAPSHOT_DIAGNOSTIC = {
11
+ code: "matrix-idb-snapshot-requires-doctor",
12
+ message: "Matrix IndexedDB snapshot exists outside canonical SQLite state",
13
+ remediation: "openclaw doctor --fix"
14
+ };
15
+ var MatrixIdbSnapshotMigrationRequiredError = class extends Error {
16
+ constructor() {
17
+ super(`${LEGACY_SNAPSHOT_DIAGNOSTIC.message}; run ${LEGACY_SNAPSHOT_DIAGNOSTIC.remediation}`);
18
+ this.code = LEGACY_SNAPSHOT_DIAGNOSTIC.code;
19
+ this.remediation = LEGACY_SNAPSHOT_DIAGNOSTIC.remediation;
20
+ this.name = "MatrixIdbSnapshotMigrationRequiredError";
21
+ }
22
+ };
15
23
  function isValidIdbIndexSnapshot(value) {
16
24
  if (!value || typeof value !== "object") return false;
17
25
  const candidate = value;
@@ -38,10 +46,17 @@ function parseSnapshotPayload(data) {
38
46
  if (!parsed.every((entry) => isValidIdbDatabaseSnapshot(entry))) throw new Error("Malformed IndexedDB snapshot payload");
39
47
  return parsed;
40
48
  }
49
+ function isValidMatrixIdbSnapshotJson(data) {
50
+ try {
51
+ return parseSnapshotPayload(data) !== null;
52
+ } catch {
53
+ return false;
54
+ }
55
+ }
41
56
  function idbReq(req) {
42
57
  return new Promise((resolve, reject) => {
43
58
  req.addEventListener("success", () => resolve(req.result), { once: true });
44
- req.addEventListener("error", () => reject(toLintErrorObject(req.error, "Non-Error rejection")), { once: true });
59
+ req.addEventListener("error", () => reject(toErrorObject(req.error, "Non-Error rejection")), { once: true });
45
60
  });
46
61
  }
47
62
  async function dumpIndexedDatabases(databasePrefix) {
@@ -55,7 +70,7 @@ async function dumpIndexedDatabases(databasePrefix) {
55
70
  const db = await new Promise((resolve, reject) => {
56
71
  const r = idb.open(name, version);
57
72
  r.addEventListener("success", () => resolve(r.result), { once: true });
58
- r.addEventListener("error", () => reject(toLintErrorObject(r.error, "Non-Error rejection")), { once: true });
73
+ r.addEventListener("error", () => reject(toErrorObject(r.error, "Non-Error rejection")), { once: true });
59
74
  });
60
75
  const stores = [];
61
76
  for (const storeName of db.objectStoreNames) {
@@ -127,7 +142,7 @@ async function restoreIndexedDatabases(snapshot) {
127
142
  resolve();
128
143
  })().catch(reject);
129
144
  }, { once: true });
130
- r.addEventListener("error", () => reject(toLintErrorObject(r.error, "Non-Error rejection")), { once: true });
145
+ r.addEventListener("error", () => reject(toErrorObject(r.error, "Non-Error rejection")), { once: true });
131
146
  });
132
147
  }
133
148
  function resolveDefaultIdbSnapshotPath() {
@@ -135,95 +150,83 @@ function resolveDefaultIdbSnapshotPath() {
135
150
  return path.join(stateDir, "matrix", "crypto-idb-snapshot.json");
136
151
  }
137
152
  async function restoreIdbFromDisk(snapshotPath) {
138
- const candidatePaths = snapshotPath ? [snapshotPath] : [resolveDefaultIdbSnapshotPath()];
139
- for (const resolvedPath of candidatePaths) {
140
- const storageRootDir = path.dirname(resolvedPath);
141
- try {
142
- if (await withFileLock(resolvedPath, MATRIX_IDB_SNAPSHOT_LOCK_OPTIONS, async () => {
143
- try {
144
- const storedSnapshotJson = readMatrixIdbSnapshotJson(storageRootDir);
145
- if (storedSnapshotJson) {
146
- const snapshot = parseSnapshotPayload(storedSnapshotJson);
147
- if (snapshot) {
148
- await restoreIndexedDatabases(snapshot);
149
- LogService.info("IdbPersistence", `Restored ${snapshot.length} IndexedDB database(s) from Matrix SQLite state`);
150
- return true;
151
- }
152
- }
153
- } catch (err) {
154
- LogService.warn("IdbPersistence", "Failed to restore IndexedDB snapshot from SQLite:", err);
155
- }
156
- if (!fs.existsSync(resolvedPath)) return false;
157
- const data = fs.readFileSync(resolvedPath, "utf8");
158
- const snapshot = parseSnapshotPayload(data);
159
- if (!snapshot) return false;
160
- let migratedToSqlite = false;
161
- try {
162
- writeMatrixIdbSnapshotJson({
163
- storageRootDir,
164
- snapshotJson: data,
165
- databaseCount: snapshot.length
166
- });
167
- archiveLegacyIdbSnapshotFile(resolvedPath);
168
- migratedToSqlite = true;
169
- } catch (err) {
170
- LogService.warn("IdbPersistence", `Failed to migrate IndexedDB snapshot to SQLite from ${resolvedPath}:`, err);
171
- }
172
- await restoreIndexedDatabases(snapshot);
173
- LogService.info("IdbPersistence", migratedToSqlite ? `Migrated and restored ${snapshot.length} IndexedDB database(s) from ${resolvedPath}` : `Restored ${snapshot.length} IndexedDB database(s) from legacy snapshot ${resolvedPath}`);
174
- return true;
175
- })) return true;
176
- } catch (err) {
177
- LogService.warn("IdbPersistence", `Failed to restore IndexedDB snapshot from ${resolvedPath}:`, err);
178
- continue;
179
- }
153
+ const resolvedPath = snapshotPath ?? resolveDefaultIdbSnapshotPath();
154
+ const storageRootDir = path.dirname(resolvedPath);
155
+ let callbackStarted = false;
156
+ try {
157
+ return await withFileLock(resolvedPath, MATRIX_IDB_SNAPSHOT_LOCK_OPTIONS, async () => {
158
+ callbackStarted = true;
159
+ let storedSnapshotJson;
160
+ try {
161
+ storedSnapshotJson = readMatrixIdbSnapshotJson(storageRootDir);
162
+ } catch (err) {
163
+ if (fs.existsSync(resolvedPath)) throwLegacySnapshotMigrationRequired();
164
+ throw err;
165
+ }
166
+ throwIfLegacySnapshotNeedsDoctor(resolvedPath, storedSnapshotJson);
167
+ if (!storedSnapshotJson) return false;
168
+ const snapshot = parseSnapshotPayload(storedSnapshotJson);
169
+ if (!snapshot) return false;
170
+ await restoreIndexedDatabases(snapshot);
171
+ LogService.info("IdbPersistence", `Restored ${snapshot.length} IndexedDB database(s) from Matrix SQLite state`);
172
+ return true;
173
+ });
174
+ } catch (err) {
175
+ if (err instanceof MatrixIdbSnapshotMigrationRequiredError) throw err;
176
+ if (!callbackStarted && fs.existsSync(resolvedPath)) throwLegacySnapshotMigrationRequired();
177
+ LogService.warn("IdbPersistence", "Failed to restore IndexedDB snapshot from SQLite:", err);
178
+ return false;
180
179
  }
181
- return false;
182
180
  }
183
181
  async function persistIdbToDisk(params) {
184
182
  const snapshotPath = params?.snapshotPath ?? resolveDefaultIdbSnapshotPath();
183
+ let callbackStarted = false;
185
184
  try {
186
185
  fs.mkdirSync(path.dirname(snapshotPath), { recursive: true });
187
186
  const persistedCount = await withFileLock(snapshotPath, MATRIX_IDB_SNAPSHOT_LOCK_OPTIONS, async () => {
187
+ callbackStarted = true;
188
+ const storageRootDir = path.dirname(snapshotPath);
189
+ let storedSnapshotJson;
190
+ try {
191
+ storedSnapshotJson = readMatrixIdbSnapshotJson(storageRootDir);
192
+ } catch (err) {
193
+ if (fs.existsSync(snapshotPath)) throwLegacySnapshotMigrationRequired();
194
+ throw err;
195
+ }
196
+ throwIfLegacySnapshotNeedsDoctor(snapshotPath, storedSnapshotJson);
188
197
  const snapshot = await dumpIndexedDatabases(params?.databasePrefix);
189
198
  if (snapshot.length === 0) return 0;
190
199
  writeMatrixIdbSnapshotJson({
191
- storageRootDir: path.dirname(snapshotPath),
200
+ storageRootDir,
192
201
  snapshotJson: JSON.stringify(snapshot),
193
202
  databaseCount: snapshot.length
194
203
  });
195
- archiveLegacyIdbSnapshotFile(snapshotPath);
196
204
  return snapshot.length;
197
205
  });
198
206
  if (persistedCount === 0) return;
199
207
  LogService.debug("IdbPersistence", `Persisted ${persistedCount} IndexedDB database(s) to Matrix SQLite state`);
200
208
  } catch (err) {
209
+ if (err instanceof MatrixIdbSnapshotMigrationRequiredError) throw err;
210
+ if (!callbackStarted && fs.existsSync(snapshotPath)) throwLegacySnapshotMigrationRequired();
201
211
  LogService.warn("IdbPersistence", "Failed to persist IndexedDB snapshot:", err);
202
212
  }
203
213
  }
204
- async function readLegacyMatrixIdbSnapshotState(storageRootDir) {
214
+ function readLegacyMatrixIdbSnapshotStateUnlocked(storageRootDir) {
205
215
  const snapshotPath = path.join(storageRootDir, MATRIX_IDB_SNAPSHOT_FILENAME);
206
216
  if (!fs.existsSync(snapshotPath)) return null;
217
+ const data = fs.readFileSync(snapshotPath, "utf8");
207
218
  try {
208
- return await withFileLock(snapshotPath, MATRIX_IDB_SNAPSHOT_LOCK_OPTIONS, async () => {
209
- return parseSnapshotPayload(fs.readFileSync(snapshotPath, "utf8"));
210
- });
219
+ return parseSnapshotPayload(data);
211
220
  } catch {
212
221
  return null;
213
222
  }
214
223
  }
215
- function archiveLegacyIdbSnapshotFile(snapshotPath) {
216
- if (!fs.existsSync(snapshotPath)) return;
217
- const archivedPath = `${snapshotPath}.migrated`;
218
- if (fs.existsSync(archivedPath)) return;
219
- fs.renameSync(snapshotPath, archivedPath);
224
+ function throwIfLegacySnapshotNeedsDoctor(snapshotPath, storedSnapshotJson) {
225
+ if (fs.existsSync(snapshotPath) && (!storedSnapshotJson || !isValidMatrixIdbSnapshotJson(storedSnapshotJson))) throwLegacySnapshotMigrationRequired();
220
226
  }
221
- function toLintErrorObject(value, fallbackMessage) {
222
- if (value instanceof Error) return value;
223
- if (typeof value === "string") return new Error(value);
224
- const error = new Error(fallbackMessage, { cause: value });
225
- if (typeof value === "object" && value !== null || typeof value === "function") Object.assign(error, value);
226
- return error;
227
+ function throwLegacySnapshotMigrationRequired() {
228
+ LogService.warn("IdbPersistence", LEGACY_SNAPSHOT_DIAGNOSTIC);
229
+ throw new MatrixIdbSnapshotMigrationRequiredError();
227
230
  }
228
231
  //#endregion
229
- export { restoreIdbFromDisk as i, persistIdbToDisk as n, readLegacyMatrixIdbSnapshotState as r, idb_persistence_exports as t };
232
+ export { restoreIdbFromDisk as i, persistIdbToDisk as n, readLegacyMatrixIdbSnapshotStateUnlocked as r, isValidMatrixIdbSnapshotJson as t };
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { n as registerMatrixCliMetadata } from "./cli-metadata-Xq1Xb15R.js";
1
+ import { n as registerMatrixCliMetadata } from "./cli-metadata-DnXxNCoj.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,6 +1,13 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
1
2
  import { i as setMatrixConsoleLogging, n as LogService, t as ConsoleLogger } from "./logger-D0GCSDQq.js";
2
3
  import { logger } from "matrix-js-sdk/lib/logger.js";
3
4
  //#region extensions/matrix/src/matrix/client/logging.ts
5
+ var logging_exports = /* @__PURE__ */ __exportAll({
6
+ createMatrixJsSdkClientLogger: () => createMatrixJsSdkClientLogger,
7
+ ensureMatrixSdkLoggingConfigured: () => ensureMatrixSdkLoggingConfigured,
8
+ setMatrixSdkConsoleLogging: () => setMatrixSdkConsoleLogging,
9
+ setMatrixSdkLogMode: () => setMatrixSdkLogMode
10
+ });
4
11
  let matrixSdkLoggingConfigured = false;
5
12
  let matrixSdkLogMode = "default";
6
13
  const matrixSdkBaseLogger = new ConsoleLogger();
@@ -89,4 +96,4 @@ function createMatrixJsSdkLoggerInstance(prefix) {
89
96
  };
90
97
  }
91
98
  //#endregion
92
- export { createMatrixJsSdkClientLogger, ensureMatrixSdkLoggingConfigured, setMatrixSdkConsoleLogging, setMatrixSdkLogMode };
99
+ export { setMatrixSdkLogMode as i, logging_exports as n, setMatrixSdkConsoleLogging as r, createMatrixJsSdkClientLogger as t };
@@ -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-BJbrdmNm.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-C9Ssx-iV.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-BJbrdmNm.js";
2
+ import { T as isPollStartType, r as sendMessageMatrix, t as editMessageMatrix, w as isPollEventType } from "./send-C9Ssx-iV.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-BMXEXb1j.js";
5
- import { r as withResolvedRoomAction } from "./client-BtG4quUl.js";
4
+ import { a as resolveMatrixMessageAttachment, l as resolveMatrixPollRootEventId, o as resolveMatrixMessageBody, s as fetchMatrixPollMessageSummary } from "./media-text-DlQC_k_K.js";
5
+ import { r as withResolvedRoomAction } from "./client-CitERujx.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