@openclaw/matrix 2026.8.1-beta.2 → 2026.8.1-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api.js +6 -6
- package/dist/{approval-handler.runtime-CJXCUdRg.js → approval-handler.runtime-CSvueU9P.js} +5 -4
- package/dist/{approval-ids-7rf7etWE.js → approval-ids-CEcf-EiM.js} +1 -1
- package/dist/{approval-reaction-auth-wBwbEDpZ.js → approval-reaction-auth-CziKXatm.js} +1 -1
- package/dist/{channel-VSrHgTON.js → channel-CzQw5OZN.js} +228 -20
- package/dist/channel-plugin-api.js +1 -1
- package/dist/{channel.runtime-pOOL0uT_.js → channel.runtime-I9pBRQb3.js} +24 -14
- package/dist/{channel.setup-PpxRP9Du.js → channel.setup-aNaa3Uyn.js} +3 -9
- package/dist/{cli-CkTfKC_c.js → cli-iR6QJ5U0.js} +8 -8
- package/dist/{cli-metadata-B1d1aGM5.js → cli-metadata-BmUYWjuM.js} +1 -1
- package/dist/cli-metadata.js +1 -1
- package/dist/{client-CeGw0G5S.js → client-BBQdBG7t.js} +34 -19
- package/dist/{client-sJesKQmp.js → client-D8XghqmX.js} +2 -2
- package/dist/{client-bootstrap-BFwT_2VT.js → client-bootstrap-Co3RlItb.js} +1 -1
- package/dist/contract-api.js +2 -2
- package/dist/{directory-live-Bvg2wAnR.js → directory-live-DLQzel12.js} +2 -2
- package/dist/doctor-contract-api.js +7 -1
- package/dist/{draft-stream-BRi7PRRS.js → draft-stream-DQ7QNC-l.js} +1 -1
- package/dist/index.js +1 -1
- package/dist/{media-text-JudlYOSc.js → media-text-Dh-DpTc3.js} +4 -1
- package/dist/{messages-BW0s-6Y9.js → messages-DEqg7HVy.js} +27 -7
- package/dist/{monitor-Ddfc-vjX.js → monitor-FNrfkuWL.js} +33 -35
- package/dist/plugin-entry.handlers.runtime.js +1 -1
- package/dist/probe.runtime-NIJZYqc2.js +2 -0
- package/dist/{profile-update-BkgWYDIp.js → profile-update-BQlE5s2J.js} +1 -1
- package/dist/{reaction-events-nfUbFLdV.js → reaction-events-BKOLlnCo.js} +3 -3
- package/dist/{resolve-targets-BJAPY4Vb.js → resolve-targets-e7AI0P75.js} +2 -2
- package/dist/{resolver.runtime-LWJELYq5.js → resolver.runtime-V8u0pHEb.js} +1 -1
- package/dist/runtime-api.js +1 -1
- package/dist/{sdk-DjaQFCHc.js → sdk-NxK3vzMa.js} +17 -3
- package/dist/{send-ZDLU4JTk.js → send-ClHgDZLT.js} +11 -10
- package/dist/session-binding-contract-api.js +2 -3
- package/dist/{setup-bootstrap-BaXkhgJg.js → setup-bootstrap-BGPjbA5N.js} +1 -1
- package/dist/{setup-core-DQn6b5vi.js → setup-core-DigrLebY.js} +1 -1
- package/dist/setup-plugin-api.js +1 -1
- package/dist/{setup-surface-DlhJdrNI.js → setup-surface-Dtn8sAWs.js} +10 -9
- package/dist/subagent-hooks-CMoZaARG.js +48 -0
- package/dist/subagent-hooks-api.js +1 -1
- package/dist/{target-ids-B-5aQxwn.js → target-ids-Nwx7cMVE.js} +11 -1
- package/dist/{thread-binding-api-DRbBZlhS.js → thread-binding-api-CzkeLZCU.js} +1 -1
- package/dist/thread-binding-api.js +1 -1
- package/dist/{thread-bindings-CcHZP3w2.js → thread-bindings-BYEGfw3h.js} +11 -7
- package/dist/thread-bindings-runtime.js +1 -1
- package/dist/{thread-bindings-shared-CKnY4LSd.js → thread-bindings-shared-oNPiyMWY.js} +1 -6
- package/dist/{tool-actions.runtime-DmdRL0bN.js → tool-actions.runtime-ck6IJyP0.js} +8 -8
- package/dist/{verification-C7ig-bQE.js → verification-CabtBTtB.js} +1 -1
- package/openclaw.plugin.json +7 -0
- package/package.json +4 -4
- package/dist/probe.runtime-Dr91B_X3.js +0 -2
- package/dist/route-DY6at4qJ.js +0 -161
- package/dist/subagent-hooks-dkPAF6Et.js +0 -143
|
@@ -20,7 +20,7 @@ import { retryAsync } from "openclaw/plugin-sdk/retry-runtime";
|
|
|
20
20
|
import { sleepWithAbort } from "openclaw/plugin-sdk/runtime-env";
|
|
21
21
|
import { createDeferred } from "openclaw/plugin-sdk/extension-shared";
|
|
22
22
|
//#region extensions/matrix/src/matrix/client/config.ts
|
|
23
|
-
const loadMatrixAuthClientDeps = createLazyRuntimeModule(() => Promise.all([import("./sdk-
|
|
23
|
+
const loadMatrixAuthClientDeps = createLazyRuntimeModule(() => Promise.all([import("./sdk-NxK3vzMa.js"), import("./logging-DRjvUOIh.js").then((n) => n.n)]).then(([sdkModule, loggingModule]) => ({
|
|
24
24
|
MatrixClient: sdkModule.MatrixClient,
|
|
25
25
|
ensureMatrixSdkLoggingConfigured: loggingModule.ensureMatrixSdkLoggingConfigured
|
|
26
26
|
})));
|
|
@@ -416,7 +416,7 @@ async function backfillMatrixAuthDeviceIdAfterStartup(params) {
|
|
|
416
416
|
//#endregion
|
|
417
417
|
//#region extensions/matrix/src/matrix/client/create-client.ts
|
|
418
418
|
var create_client_exports = /* @__PURE__ */ __exportAll({ createMatrixClient: () => createMatrixClient });
|
|
419
|
-
const loadMatrixCreateClientRuntimeDeps = createLazyRuntimeModule(() => Promise.all([import("./sdk-
|
|
419
|
+
const loadMatrixCreateClientRuntimeDeps = createLazyRuntimeModule(() => Promise.all([import("./sdk-NxK3vzMa.js"), import("./logging-DRjvUOIh.js").then((n) => n.n)]).then(([sdkModule, loggingModule]) => ({
|
|
420
420
|
MatrixClient: sdkModule.MatrixClient,
|
|
421
421
|
ensureMatrixSdkLoggingConfigured: loggingModule.ensureMatrixSdkLoggingConfigured
|
|
422
422
|
})));
|
|
@@ -549,6 +549,9 @@ function deleteSharedClientState(state) {
|
|
|
549
549
|
if (sharedClientStates.get(state.key) === state) sharedClientStates.delete(state.key);
|
|
550
550
|
sharedClientPromises.delete(state.key);
|
|
551
551
|
}
|
|
552
|
+
function deleteSharedClientStateAfterLateDrain(state) {
|
|
553
|
+
if (state.phase === "late-drain-stopped" && state.leases.size === 0) deleteSharedClientState(state);
|
|
554
|
+
}
|
|
552
555
|
async function ensureSharedClientStarted(state, abortSignal) {
|
|
553
556
|
if (state.started) return;
|
|
554
557
|
if (state.startPromise) {
|
|
@@ -645,20 +648,14 @@ function mergeReleaseMode(current, requested) {
|
|
|
645
648
|
function abortTransientLeases(state) {
|
|
646
649
|
for (const lease of state.leases) if (lease.role === "transient") lease.abortController.abort();
|
|
647
650
|
}
|
|
648
|
-
function forceReleaseLeases(state, releasePromise = Promise.resolve()) {
|
|
649
|
-
for (const lease of state.leases) {
|
|
650
|
-
lease.abortController.abort();
|
|
651
|
-
lease.releasePromise ??= releasePromise;
|
|
652
|
-
}
|
|
653
|
-
state.leases.clear();
|
|
654
|
-
state.noLeases.resolve();
|
|
655
|
-
}
|
|
656
651
|
async function waitForLeaseDrain(state) {
|
|
657
652
|
if (state.leases.size === 0) return;
|
|
658
653
|
let deadline;
|
|
659
654
|
try {
|
|
660
655
|
await Promise.race([state.noLeases.promise, new Promise((_, reject) => {
|
|
661
656
|
deadline = setTimeout(() => {
|
|
657
|
+
if (state.leases.size === 0) return;
|
|
658
|
+
state.phase = "late-drain";
|
|
662
659
|
reject(/* @__PURE__ */ new Error(`Matrix transient leases did not drain within ${MATRIX_TRANSIENT_LEASE_DRAIN_TIMEOUT_MS}ms`));
|
|
663
660
|
}, MATRIX_TRANSIENT_LEASE_DRAIN_TIMEOUT_MS);
|
|
664
661
|
deadline.unref?.();
|
|
@@ -672,6 +669,7 @@ function beginGenerationRetirement(params) {
|
|
|
672
669
|
if (state.retirementPromise) return state.retirementPromise;
|
|
673
670
|
state.phase = "quiescing";
|
|
674
671
|
state.retirementPromise = Promise.resolve().then(async () => {
|
|
672
|
+
let poisonDisposition = "replace-after-stop";
|
|
675
673
|
try {
|
|
676
674
|
await state.client.quiesceSync();
|
|
677
675
|
state.started = false;
|
|
@@ -683,17 +681,25 @@ function beginGenerationRetirement(params) {
|
|
|
683
681
|
await retireMonitorLeases(state, params.monitorLeases ?? []);
|
|
684
682
|
} catch (error) {
|
|
685
683
|
state.poisonError ??= toStringifiedError(error);
|
|
684
|
+
poisonDisposition = "retain";
|
|
686
685
|
}
|
|
687
686
|
state.phase = "closing";
|
|
688
687
|
try {
|
|
689
688
|
await waitForLeaseDrain(state);
|
|
690
689
|
} catch (error) {
|
|
691
690
|
state.poisonError ??= toStringifiedError(error);
|
|
692
|
-
|
|
691
|
+
if (poisonDisposition !== "retain") poisonDisposition = "replace-after-late-drain";
|
|
693
692
|
}
|
|
694
693
|
if (state.poisonError) {
|
|
695
|
-
await state.client.drainPendingDecryptions("matrix poisoned client shutdown").
|
|
694
|
+
const decryptionsDrained = await state.client.drainPendingDecryptions("matrix poisoned client shutdown").then(() => true, () => false);
|
|
696
695
|
state.client.stopWithoutPersist();
|
|
696
|
+
if (decryptionsDrained) {
|
|
697
|
+
if (poisonDisposition === "replace-after-stop") deleteSharedClientState(state);
|
|
698
|
+
else if (poisonDisposition === "replace-after-late-drain") {
|
|
699
|
+
state.phase = "late-drain-stopped";
|
|
700
|
+
deleteSharedClientStateAfterLateDrain(state);
|
|
701
|
+
}
|
|
702
|
+
}
|
|
697
703
|
throw state.poisonError;
|
|
698
704
|
}
|
|
699
705
|
try {
|
|
@@ -719,6 +725,7 @@ function beginGenerationRetirement(params) {
|
|
|
719
725
|
return state.retirementPromise;
|
|
720
726
|
}
|
|
721
727
|
function createSharedMatrixClientLease(state, role) {
|
|
728
|
+
if (state.phase !== "open" || state.poisonError) return null;
|
|
722
729
|
const leaseState = {
|
|
723
730
|
abortController: new AbortController(),
|
|
724
731
|
monitorRetirement: null,
|
|
@@ -747,6 +754,11 @@ function createSharedMatrixClientLease(state, role) {
|
|
|
747
754
|
state.releaseMode = mergeReleaseMode(state.releaseMode, releaseParams.mode ?? "stop");
|
|
748
755
|
state.leases.delete(leaseState);
|
|
749
756
|
if (state.leases.size === 0) state.noLeases.resolve();
|
|
757
|
+
if (state.phase === "late-drain" || state.phase === "late-drain-stopped") {
|
|
758
|
+
leaseState.releasePromise = Promise.resolve();
|
|
759
|
+
deleteSharedClientStateAfterLateDrain(state);
|
|
760
|
+
return leaseState.releasePromise;
|
|
761
|
+
}
|
|
750
762
|
const finalMonitor = role === "monitor" && !Array.from(state.leases).some((lease) => lease.role === "monitor");
|
|
751
763
|
if (role === "monitor" && !finalMonitor) {
|
|
752
764
|
leaseState.releasePromise = retireMonitorLease(state, leaseState);
|
|
@@ -765,14 +777,17 @@ function createSharedMatrixClientLease(state, role) {
|
|
|
765
777
|
};
|
|
766
778
|
}
|
|
767
779
|
async function acquireSharedMatrixClient(params = {}) {
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
780
|
+
while (true) {
|
|
781
|
+
const lease = createSharedMatrixClientLease(await resolveOpenSharedMatrixClientState(params), params.role ?? "transient");
|
|
782
|
+
if (!lease) continue;
|
|
783
|
+
if (params.startClient !== false) try {
|
|
784
|
+
await lease.start(params.abortSignal);
|
|
785
|
+
} catch (error) {
|
|
786
|
+
await lease.release({ mode: "stop" }).catch(() => void 0);
|
|
787
|
+
throw error;
|
|
788
|
+
}
|
|
789
|
+
return lease;
|
|
774
790
|
}
|
|
775
|
-
return lease;
|
|
776
791
|
}
|
|
777
792
|
//#endregion
|
|
778
793
|
//#region extensions/matrix/src/matrix/client.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
|
|
2
|
-
import { x as resolveMatrixRoomId } from "./send-
|
|
3
|
-
import { n as withResolvedRuntimeMatrixClient } from "./client-bootstrap-
|
|
2
|
+
import { x as resolveMatrixRoomId } from "./send-ClHgDZLT.js";
|
|
3
|
+
import { n as withResolvedRuntimeMatrixClient } from "./client-bootstrap-Co3RlItb.js";
|
|
4
4
|
//#region extensions/matrix/src/matrix/actions/client.ts
|
|
5
5
|
var client_exports = /* @__PURE__ */ __exportAll({
|
|
6
6
|
withResolvedActionClient: () => withResolvedActionClient,
|
|
@@ -7,7 +7,7 @@ var client_bootstrap_exports = /* @__PURE__ */ __exportAll({
|
|
|
7
7
|
resolveRuntimeMatrixClientWithReadiness: () => resolveRuntimeMatrixClientWithReadiness,
|
|
8
8
|
withResolvedRuntimeMatrixClient: () => withResolvedRuntimeMatrixClient
|
|
9
9
|
});
|
|
10
|
-
const loadMatrixSharedClientRuntimeDeps = createLazyRuntimeModule(() => import("./client-
|
|
10
|
+
const loadMatrixSharedClientRuntimeDeps = createLazyRuntimeModule(() => import("./client-BBQdBG7t.js").then((n) => n.t).then((clientModule) => ({
|
|
11
11
|
acquireSharedMatrixClient: clientModule.acquireSharedMatrixClient,
|
|
12
12
|
resolveMatrixAuthContext: clientModule.resolveMatrixAuthContext
|
|
13
13
|
})));
|
package/dist/contract-api.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { c as singleAccountKeysToMove, n as matrixSetupAdapter, o as namedAccountPromotionKeys, s as resolveSingleAccountPromotionTarget } from "./setup-core-
|
|
2
|
-
import { n as matrixOnboardingAdapter } from "./setup-surface-
|
|
1
|
+
import { c as singleAccountKeysToMove, n as matrixSetupAdapter, o as namedAccountPromotionKeys, s as resolveSingleAccountPromotionTarget } from "./setup-core-DigrLebY.js";
|
|
2
|
+
import { n as matrixOnboardingAdapter } from "./setup-surface-Dtn8sAWs.js";
|
|
3
3
|
export { matrixSetupAdapter, matrixOnboardingAdapter as matrixSetupWizard, namedAccountPromotionKeys, resolveSingleAccountPromotionTarget, singleAccountKeysToMove };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
|
|
2
|
-
import {
|
|
3
|
-
import { c as resolveMatrixAuth } from "./client-
|
|
2
|
+
import { r as normalizeMatrixMessagingTarget, t as isMatrixQualifiedUserId } from "./target-ids-Nwx7cMVE.js";
|
|
3
|
+
import { c as resolveMatrixAuth } from "./client-BBQdBG7t.js";
|
|
4
4
|
import { t as MatrixAuthedHttpClient } from "./http-client-CycYxU9-.js";
|
|
5
5
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
6
6
|
//#region extensions/matrix/src/directory-live.ts
|
|
@@ -508,7 +508,13 @@ const stateMigrations = [
|
|
|
508
508
|
}
|
|
509
509
|
const existing = normalizeMatrixStoredCredentials(stored, source.accountId);
|
|
510
510
|
if (existing && JSON.stringify(existing) !== JSON.stringify(credentials)) {
|
|
511
|
-
|
|
511
|
+
changes.push(`Kept existing Matrix credentials for account ${source.accountId}`);
|
|
512
|
+
await archiveLegacyStateSource({
|
|
513
|
+
filePath: source.filePath,
|
|
514
|
+
label: "Matrix credentials",
|
|
515
|
+
changes,
|
|
516
|
+
warnings
|
|
517
|
+
});
|
|
512
518
|
continue;
|
|
513
519
|
}
|
|
514
520
|
if (!existing) try {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { E as MsgType, a as sendSingleTextMessageMatrix, l as prepareMatrixSingleText, t as editMessageMatrix } from "./send-
|
|
1
|
+
import { E as MsgType, a as sendSingleTextMessageMatrix, l as prepareMatrixSingleText, t as editMessageMatrix } from "./send-ClHgDZLT.js";
|
|
2
2
|
import { createFinalizableDraftStreamControlsForState } from "openclaw/plugin-sdk/channel-outbound";
|
|
3
3
|
//#region extensions/matrix/src/matrix/draft-stream.ts
|
|
4
4
|
const DEFAULT_THROTTLE_MS = 1e3;
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as registerMatrixCliMetadata } from "./cli-metadata-
|
|
1
|
+
import { n as registerMatrixCliMetadata } from "./cli-metadata-BmUYWjuM.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 { _ as parsePollStartContent, d as buildPollResultsSummary, f as formatPollAsText, h as isPollStartType, m as isPollEventType, p as formatPollResultsAsText, v as resolvePollReferenceEventId } from "./send-
|
|
1
|
+
import { _ as parsePollStartContent, d as buildPollResultsSummary, f as formatPollAsText, h as isPollStartType, m as isPollEventType, p as formatPollResultsAsText, v as resolvePollReferenceEventId } from "./send-ClHgDZLT.js";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
//#region extensions/matrix/src/matrix/poll-summary.ts
|
|
4
4
|
function resolveMatrixPollRootEventId(event) {
|
|
@@ -10,11 +10,14 @@ function resolveMatrixPollRootEventId(event) {
|
|
|
10
10
|
}
|
|
11
11
|
async function readAllPollRelations(client, roomId, pollEventId) {
|
|
12
12
|
const relationEvents = [];
|
|
13
|
+
const seenCursors = /* @__PURE__ */ new Set();
|
|
13
14
|
let nextBatch;
|
|
14
15
|
do {
|
|
15
16
|
const page = await client.getRelations(roomId, pollEventId, "m.reference", void 0, { from: nextBatch });
|
|
16
17
|
relationEvents.push(...page.events);
|
|
17
18
|
nextBatch = page.nextBatch ?? void 0;
|
|
19
|
+
if (nextBatch && seenCursors.has(nextBatch)) throw new Error("Matrix poll pagination returned a repeated cursor");
|
|
20
|
+
if (nextBatch) seenCursors.add(nextBatch);
|
|
18
21
|
} while (nextBatch);
|
|
19
22
|
return relationEvents;
|
|
20
23
|
}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import { h as isPollStartType, m as isPollEventType, r as sendMessageMatrix, t as editMessageMatrix } from "./send-ZDLU4JTk.js";
|
|
2
1
|
import { n as MATRIX_REACTION_EVENT_TYPE } from "./reaction-common-DkrQdBSZ.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { h as isPollStartType, m as isPollEventType, r as sendMessageMatrix, t as editMessageMatrix } from "./send-ClHgDZLT.js";
|
|
3
|
+
import { a as resolveMatrixMessageAttachment, l as resolveMatrixPollRootEventId, o as resolveMatrixMessageBody, s as fetchMatrixPollMessageSummary } from "./media-text-Dh-DpTc3.js";
|
|
4
|
+
import { r as withResolvedRoomAction } from "./client-D8XghqmX.js";
|
|
5
5
|
import { n as isMatrixNotFoundError } from "./errors-DKVS3_DO.js";
|
|
6
|
-
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
7
|
-
import { resolveIntegerOption } from "openclaw/plugin-sdk/number-runtime";
|
|
6
|
+
import { asNullableObjectRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
8
7
|
//#region extensions/matrix/src/matrix/actions/limits.ts
|
|
9
8
|
function resolveMatrixActionLimit(raw, fallback) {
|
|
10
|
-
return
|
|
9
|
+
return Math.max(1, Math.floor(raw !== void 0 && Number.isFinite(raw) ? raw : fallback));
|
|
11
10
|
}
|
|
12
11
|
//#endregion
|
|
13
12
|
//#region extensions/matrix/src/matrix/actions/types.ts
|
|
@@ -19,6 +18,26 @@ const EventType = {
|
|
|
19
18
|
};
|
|
20
19
|
//#endregion
|
|
21
20
|
//#region extensions/matrix/src/matrix/actions/summary.ts
|
|
21
|
+
function parseMatrixRawEvent(value) {
|
|
22
|
+
const event = asNullableObjectRecord(value);
|
|
23
|
+
const content = asNullableObjectRecord(event?.content);
|
|
24
|
+
if (!event || typeof event.event_id !== "string" || typeof event.sender !== "string" || typeof event.type !== "string" || typeof event.origin_server_ts !== "number" || !content) return null;
|
|
25
|
+
const unsigned = asNullableObjectRecord(event.unsigned);
|
|
26
|
+
const relations = asNullableObjectRecord(unsigned?.["m.relations"]);
|
|
27
|
+
return {
|
|
28
|
+
event_id: event.event_id,
|
|
29
|
+
sender: event.sender,
|
|
30
|
+
type: event.type,
|
|
31
|
+
origin_server_ts: event.origin_server_ts,
|
|
32
|
+
content,
|
|
33
|
+
...unsigned ? { unsigned: {
|
|
34
|
+
...typeof unsigned.age === "number" ? { age: unsigned.age } : {},
|
|
35
|
+
...relations ? { "m.relations": relations } : {},
|
|
36
|
+
...unsigned.redacted_because !== void 0 ? { redacted_because: unsigned.redacted_because } : {}
|
|
37
|
+
} } : {},
|
|
38
|
+
...typeof event.state_key === "string" ? { state_key: event.state_key } : {}
|
|
39
|
+
};
|
|
40
|
+
}
|
|
22
41
|
function resolveBundledMatrixReplacementContent(event) {
|
|
23
42
|
const rawReplacement = event.unsigned?.["m.relations"]?.["m.replace"];
|
|
24
43
|
if (!rawReplacement || typeof rawReplacement !== "object" || event.state_key !== void 0) return;
|
|
@@ -73,7 +92,8 @@ async function readPinnedEvents(client, roomId) {
|
|
|
73
92
|
}
|
|
74
93
|
async function fetchEventSummary(client, roomId, eventId) {
|
|
75
94
|
try {
|
|
76
|
-
const raw = await client.getEvent(roomId, eventId);
|
|
95
|
+
const raw = parseMatrixRawEvent(await client.getEvent(roomId, eventId));
|
|
96
|
+
if (!raw) return null;
|
|
77
97
|
if (raw.unsigned?.redacted_because) return null;
|
|
78
98
|
const pollSummary = await fetchMatrixPollMessageSummary(client, roomId, raw);
|
|
79
99
|
if (pollSummary) return pollSummary;
|
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
import { a as resolveMatrixAccountConfig, i as resolveMatrixAccountAllowlistConfig } from "./account-config-BZWN9tGS.js";
|
|
2
2
|
import { t as getMatrixRuntime } from "./runtime-6S3DNFNv.js";
|
|
3
3
|
import { n as resolveConfiguredMatrixBotUserIds } from "./accounts-BCzyubQt.js";
|
|
4
|
-
import { a as
|
|
5
|
-
import { a as normalizeMatrixUserId, i as normalizeMatrixAllowList, o as resolveMatrixAllowListMatch } from "./channel.setup-
|
|
6
|
-
import { t as isMatrixQualifiedUserId } from "./target-ids-
|
|
7
|
-
import { C as promoteMatrixDirectRoomCandidate, T as MATRIX_OPENCLAW_FINALIZED_PREVIEW_KEY, _ as parsePollStartContent, c as chunkMatrixText, f as formatPollAsText, h as isPollStartType, m as isPollEventType, r as sendMessageMatrix } from "./send-
|
|
4
|
+
import { _ as logInboundDrop, a as resolveMatrixThreadRootId, b as summarizeMapping, c as RelationType, d as buildAllowlistResolutionSummary, f as canonicalizeAllowlistWithResolvedIds, g as getAgentScopedMediaLocalRoots, h as formatLocationText, i as resolveMatrixReplyToEventId, l as resolveMatrixRoomConfig, m as createTypingCallbacks, n as resolveMatrixStoredSessionMeta, o as resolveMatrixThreadRouting, p as createReplyPrefixOptions, r as resolveMatrixInboundRoute, s as EventType, u as addAllowlistUserEntriesFromConfigEntry, v as logTypingFailure, x as toLocationContext, y as patchAllowlistUsersInConfigEntries } from "./channel-CzQw5OZN.js";
|
|
5
|
+
import { a as normalizeMatrixUserId, i as normalizeMatrixAllowList, o as resolveMatrixAllowListMatch } from "./channel.setup-aNaa3Uyn.js";
|
|
6
|
+
import { n as isMatrixRoomId, t as isMatrixQualifiedUserId } from "./target-ids-Nwx7cMVE.js";
|
|
7
|
+
import { C as promoteMatrixDirectRoomCandidate, T as MATRIX_OPENCLAW_FINALIZED_PREVIEW_KEY, _ as parsePollStartContent, c as chunkMatrixText, f as formatPollAsText, h as isPollStartType, m as isPollEventType, r as sendMessageMatrix } from "./send-ClHgDZLT.js";
|
|
8
8
|
import { i as isStrictDirectMembership, n as hasDirectMatrixMemberFlag, o as readJoinedMatrixMembers } from "./direct-room-RinHjtqX.js";
|
|
9
|
-
import { t as createMatrixThreadBindingManager } from "./thread-bindings-
|
|
10
|
-
import { a as resolveMatrixMessageAttachment, c as fetchMatrixPollSnapshot, i as isLikelyBareFilename, n as formatMatrixMediaUnavailableText, o as resolveMatrixMessageBody, r as formatMatrixMessageText, t as formatMatrixMediaTooLargeText } from "./media-text-
|
|
9
|
+
import { t as createMatrixThreadBindingManager } from "./thread-bindings-BYEGfw3h.js";
|
|
10
|
+
import { a as resolveMatrixMessageAttachment, c as fetchMatrixPollSnapshot, i as isLikelyBareFilename, n as formatMatrixMediaUnavailableText, o as resolveMatrixMessageBody, r as formatMatrixMessageText, t as formatMatrixMediaTooLargeText } from "./media-text-Dh-DpTc3.js";
|
|
11
11
|
import { t as isBunRuntime } from "./runtime-BefyhPWv.js";
|
|
12
|
-
import { a as throwIfMatrixStartupAborted, c as resolveMatrixAuth, i as isMatrixStartupAbortError, l as resolveMatrixAuthContext, n as acquireSharedMatrixClient, s as backfillMatrixAuthDeviceIdAfterStartup } from "./client-
|
|
12
|
+
import { a as throwIfMatrixStartupAborted, c as resolveMatrixAuth, i as isMatrixStartupAbortError, l as resolveMatrixAuthContext, n as acquireSharedMatrixClient, s as backfillMatrixAuthDeviceIdAfterStartup } from "./client-BBQdBG7t.js";
|
|
13
13
|
import { i as isMatrixMediaSizeLimitError, r as MatrixMediaSizeLimitError } from "./http-client-CycYxU9-.js";
|
|
14
14
|
import { d as resolveAllowlistProviderRuntimeGroupPolicy, f as resolveDefaultGroupPolicy, g as warnMissingProviderGroupPolicyFallbackOnce, h as resolveThreadBindingMaxAgeMsForChannel, m as resolveThreadBindingIdleTimeoutMsForChannel, t as GROUP_POLICY_BLOCKED_LABEL } from "./runtime-api-BGO16Fu8.js";
|
|
15
|
-
import { t as resolveMatrixTargets } from "./resolve-targets-
|
|
15
|
+
import { t as resolveMatrixTargets } from "./resolve-targets-e7AI0P75.js";
|
|
16
16
|
import { t as formatMatrixEncryptedEventDisabledWarning } from "./encryption-guidance-DmLY8NiO.js";
|
|
17
17
|
import { createMatrixInboundEventDeduper } from "./inbound-dedupe-RvSLqdsz.js";
|
|
18
18
|
import { a as isMatrixAccessTokenInvalidatedError, d as isMatrixDisconnectedSyncState, f as isMatrixReadySyncState, p as isMatrixTerminalSyncState } from "./client-support-DLj4vDeu.js";
|
|
19
19
|
import { n as setBoundedMap, t as createMatrixRoomInfoResolver } from "./room-info-BXQA7y10.js";
|
|
20
|
-
import { a as EventType, i as resolveMatrixThreadRouting, n as resolveMatrixReplyToEventId, o as RelationType, r as resolveMatrixThreadRootId, t as resolveMatrixInboundRoute } from "./route-DY6at4qJ.js";
|
|
21
20
|
import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
|
|
22
21
|
import { buildChannelProgressDraftLineForEntry, createChannelProgressDraftCompositor, createMessageReceiptFromOutboundResults, createPreviewMessageReceipt, defineFinalizableLivePreviewAdapter, deliverWithFinalizableLivePreviewAdapter, formatChannelProgressDraftLine, formatChannelProgressDraftText, listMessageReceiptPlatformIds, resolveChannelStreamingBlockEnabled, waitUntilAbort } from "openclaw/plugin-sdk/channel-outbound";
|
|
23
22
|
import { normalizeLowercaseStringOrEmpty, normalizeNullableString, normalizeOptionalString, normalizeStringifiedEntries, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
@@ -26,7 +25,7 @@ import { CHANNEL_APPROVAL_NATIVE_RUNTIME_CONTEXT_CAPABILITY } from "openclaw/plu
|
|
|
26
25
|
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
27
26
|
import { isFutureDateTimestampMs, parseStrictFiniteNumber, resolveExpiresAtMsFromDurationMs, resolveOptionalIntegerOption } from "openclaw/plugin-sdk/number-runtime";
|
|
28
27
|
import { resolveInboundLastRouteSessionKey } from "openclaw/plugin-sdk/routing";
|
|
29
|
-
import { createChannelInboundEnvelopeBuilder, createChannelPartialDeliveryError, hasFinalInboundReplyDispatch, isChannelPartialDeliveryError, resolveInboundMentionDecision, toInboundMediaFactsWithMetadata } from "openclaw/plugin-sdk/channel-inbound";
|
|
28
|
+
import { createChannelInboundEnvelopeBuilder, createChannelPartialDeliveryError, hasFinalInboundReplyDispatch, isChannelPartialDeliveryError, resolveInboundMentionDecision, resolveInboundReplyDispatchCounts, toInboundMediaFactsWithMetadata } from "openclaw/plugin-sdk/channel-inbound";
|
|
30
29
|
import { getSessionEntry, resolveStorePath } from "openclaw/plugin-sdk/session-store-runtime";
|
|
31
30
|
import { KeyedAsyncQueue } from "openclaw/plugin-sdk/keyed-async-queue";
|
|
32
31
|
import { format } from "node:util";
|
|
@@ -40,7 +39,7 @@ import { createChannelIngressResolver, defineStableChannelIngressIdentity } from
|
|
|
40
39
|
import { resolveHumanDelayConfig } from "openclaw/plugin-sdk/agent-runtime";
|
|
41
40
|
import { evaluateSupplementalContextVisibility, resolveChannelContextVisibilityMode } from "openclaw/plugin-sdk/context-visibility-runtime";
|
|
42
41
|
import { getGlobalHookRunner } from "openclaw/plugin-sdk/plugin-runtime";
|
|
43
|
-
import { createChannelPreflightAudio } from "openclaw/plugin-sdk/media-understanding-runtime";
|
|
42
|
+
import { createChannelPreflightAudio, formatAudioTranscriptForAgent } from "openclaw/plugin-sdk/media-understanding-runtime";
|
|
44
43
|
import { mergePairLoopGuardConfig } from "openclaw/plugin-sdk/pair-loop-guard-runtime";
|
|
45
44
|
import { buildInboundHistoryFromEntries } from "openclaw/plugin-sdk/reply-history";
|
|
46
45
|
import { decodeHtmlEntities } from "openclaw/plugin-sdk/html-entity-runtime";
|
|
@@ -153,7 +152,7 @@ function isMatrixDangerousNameMatchingEnabled(params) {
|
|
|
153
152
|
function addUniqueMatrixAllowlistEntry(params) {
|
|
154
153
|
const trimmed = params.entry.trim();
|
|
155
154
|
if (!trimmed) return;
|
|
156
|
-
const key = trimmed
|
|
155
|
+
const key = normalizeMatrixUserId(trimmed);
|
|
157
156
|
if (params.seen.has(key)) return;
|
|
158
157
|
params.seen.add(key);
|
|
159
158
|
params.entries.push(trimmed);
|
|
@@ -186,7 +185,8 @@ function resolveStableMatrixMonitorUserAllowlist(params) {
|
|
|
186
185
|
const resolution = resolveStableMatrixMonitorUserEntries(allowList);
|
|
187
186
|
const canonicalized = canonicalizeAllowlistWithResolvedIds({
|
|
188
187
|
existing: allowList,
|
|
189
|
-
resolvedMap: resolution.resolvedMap
|
|
188
|
+
resolvedMap: resolution.resolvedMap,
|
|
189
|
+
entryKey: normalizeMatrixUserId
|
|
190
190
|
});
|
|
191
191
|
logStableMatrixAllowlistUnresolved({
|
|
192
192
|
label: params.label,
|
|
@@ -263,7 +263,8 @@ async function resolveMatrixMonitorUserAllowlist(params) {
|
|
|
263
263
|
});
|
|
264
264
|
const canonicalized = canonicalizeAllowlistWithResolvedIds({
|
|
265
265
|
existing: allowList,
|
|
266
|
-
resolvedMap: resolution.resolvedMap
|
|
266
|
+
resolvedMap: resolution.resolvedMap,
|
|
267
|
+
entryKey: normalizeMatrixUserId
|
|
267
268
|
});
|
|
268
269
|
summarizeMapping(params.label, resolution.mapping, resolution.unresolved, params.runtime);
|
|
269
270
|
if (resolution.unresolved.length > 0) params.runtime.log?.(`${params.label} entries must be full Matrix IDs (example: @user:server). Unresolved entries will not match any sender.`);
|
|
@@ -332,7 +333,8 @@ async function resolveMatrixMonitorLiveUserAllowlist(params) {
|
|
|
332
333
|
entries: pending,
|
|
333
334
|
runtime: params.runtime,
|
|
334
335
|
resolveTargets: params.resolveTargets ?? resolveMatrixTargets
|
|
335
|
-
})).resolvedMap
|
|
336
|
+
})).resolvedMap,
|
|
337
|
+
entryKey: normalizeMatrixUserId
|
|
336
338
|
});
|
|
337
339
|
const resolvedEntries = params.failClosedOnUnresolved ? filterFailClosedMatrixAllowlistEntries(canonicalized) : filterResolvedMatrixAllowlistEntries(canonicalized);
|
|
338
340
|
for (const entry of resolvedEntries) addUniqueMatrixAllowlistEntry({
|
|
@@ -363,7 +365,7 @@ async function resolveMatrixMonitorRoomsConfig(params) {
|
|
|
363
365
|
unresolved.push(entry);
|
|
364
366
|
continue;
|
|
365
367
|
}
|
|
366
|
-
if (
|
|
368
|
+
if (isMatrixRoomId(cleaned)) {
|
|
367
369
|
if (!nextRooms[cleaned]) nextRooms[cleaned] = roomConfig;
|
|
368
370
|
if (cleaned !== input) mapping.push(`${input}→${cleaned}`);
|
|
369
371
|
continue;
|
|
@@ -394,7 +396,7 @@ async function resolveMatrixMonitorRoomsConfig(params) {
|
|
|
394
396
|
} else unresolved.push(source.input);
|
|
395
397
|
});
|
|
396
398
|
summarizeMapping("matrix rooms", mapping, unresolved, params.runtime);
|
|
397
|
-
if (unresolved.length > 0) params.runtime.log?.("matrix rooms must be room IDs or aliases (example: !room:server or #alias:server). Unresolved entries are ignored.");
|
|
399
|
+
if (unresolved.length > 0) params.runtime.log?.("matrix rooms must be room IDs or aliases (example: !room:server, the suffixless !room form on room version 12+, or #alias:server). Unresolved entries are ignored.");
|
|
398
400
|
const roomUsers = /* @__PURE__ */ new Set();
|
|
399
401
|
for (const roomConfig of Object.values(nextRooms)) addAllowlistUserEntriesFromConfigEntry(roomUsers, roomConfig);
|
|
400
402
|
if (roomUsers.size === 0) return nextRooms;
|
|
@@ -408,7 +410,8 @@ async function resolveMatrixMonitorRoomsConfig(params) {
|
|
|
408
410
|
return patchAllowlistUsersInConfigEntries({
|
|
409
411
|
entries: nextRooms,
|
|
410
412
|
resolvedMap: resolution.resolvedMap,
|
|
411
|
-
strategy: "canonicalize"
|
|
413
|
+
strategy: "canonicalize",
|
|
414
|
+
entryKey: normalizeMatrixUserId
|
|
412
415
|
});
|
|
413
416
|
}
|
|
414
417
|
const resolution = await resolveMatrixMonitorUserEntries({
|
|
@@ -423,7 +426,8 @@ async function resolveMatrixMonitorRoomsConfig(params) {
|
|
|
423
426
|
return patchAllowlistUsersInConfigEntries({
|
|
424
427
|
entries: nextRooms,
|
|
425
428
|
resolvedMap: resolution.resolvedMap,
|
|
426
|
-
strategy: "canonicalize"
|
|
429
|
+
strategy: "canonicalize",
|
|
430
|
+
entryKey: normalizeMatrixUserId
|
|
427
431
|
});
|
|
428
432
|
}
|
|
429
433
|
async function resolveMatrixMonitorConfig(params) {
|
|
@@ -815,7 +819,7 @@ const matrixVerificationConstants = {
|
|
|
815
819
|
const MAX_TRACKED_VERIFICATION_EVENTS = 1024;
|
|
816
820
|
const SAS_NOTICE_RETRY_DELAY_MS = 750;
|
|
817
821
|
const VERIFICATION_EVENT_STARTUP_GRACE_MS = 3e4;
|
|
818
|
-
const loadMatrixDirectRoomDeps = createLazyRuntimeModule(() => Promise.all([import("./send-
|
|
822
|
+
const loadMatrixDirectRoomDeps = createLazyRuntimeModule(() => Promise.all([import("./send-ClHgDZLT.js").then((n) => n.S), import("./direct-room-RinHjtqX.js").then((n) => n.t)]).then(([directManagementModule, directRoomModule]) => ({
|
|
819
823
|
inspectMatrixDirectRooms: directManagementModule.inspectMatrixDirectRooms,
|
|
820
824
|
isStrictDirectRoom: directRoomModule.isStrictDirectRoom
|
|
821
825
|
})));
|
|
@@ -1425,9 +1429,6 @@ function resolveMatrixAckReactionConfig(params) {
|
|
|
1425
1429
|
}
|
|
1426
1430
|
//#endregion
|
|
1427
1431
|
//#region extensions/matrix/src/matrix/monitor/preflight-audio.ts
|
|
1428
|
-
function formatMatrixAudioTranscript(transcript) {
|
|
1429
|
-
return `[Audio transcript (machine-generated, untrusted)]: ${JSON.stringify(transcript)}`;
|
|
1430
|
-
}
|
|
1431
1432
|
function isMatrixAudioContent(params) {
|
|
1432
1433
|
if (params.msgtype === "m.audio") return true;
|
|
1433
1434
|
if (params.msgtype === "m.file" && typeof params.mimetype === "string") return params.mimetype.toLowerCase().startsWith("audio/");
|
|
@@ -1576,11 +1577,11 @@ async function redactMatrixDraftEvent(client, roomId, draftEventId) {
|
|
|
1576
1577
|
function buildMatrixFinalizedPreviewContent() {
|
|
1577
1578
|
return { [MATRIX_OPENCLAW_FINALIZED_PREVIEW_KEY]: true };
|
|
1578
1579
|
}
|
|
1579
|
-
const loadMatrixSendModule = createLazyRuntimeModule(() => import("./send-
|
|
1580
|
+
const loadMatrixSendModule = createLazyRuntimeModule(() => import("./send-ClHgDZLT.js").then((n) => n.s));
|
|
1580
1581
|
const loadAcpBindingRuntime = createLazyRuntimeModule(() => import("openclaw/plugin-sdk/acp-binding-runtime"));
|
|
1581
1582
|
const loadSessionBindingRuntime = createLazyRuntimeModule(() => import("openclaw/plugin-sdk/session-binding-runtime"));
|
|
1582
|
-
const loadMatrixReactionEvents = createLazyRuntimeModule(() => import("./reaction-events-
|
|
1583
|
-
const loadMatrixDraftStream = createLazyRuntimeModule(() => import("./draft-stream-
|
|
1583
|
+
const loadMatrixReactionEvents = createLazyRuntimeModule(() => import("./reaction-events-BKOLlnCo.js"));
|
|
1584
|
+
const loadMatrixDraftStream = createLazyRuntimeModule(() => import("./draft-stream-DQ7QNC-l.js"));
|
|
1584
1585
|
async function matrixTextWouldActivateMentions(client, text) {
|
|
1585
1586
|
const { resolveMatrixMentionsForBody } = await loadMatrixSendModule();
|
|
1586
1587
|
const mentions = await resolveMatrixMentionsForBody({
|
|
@@ -2908,7 +2909,7 @@ async function resolveMatrixIngressContent(config) {
|
|
|
2908
2909
|
const { effectiveWasMentioned, shouldBypassMention } = mentionDecision;
|
|
2909
2910
|
const canDetectMention = agentMentionRegexes.length > 0 || hasExplicitMention;
|
|
2910
2911
|
if (mentionDecision.shouldSkip) {
|
|
2911
|
-
const pendingHistoryBody = preflightAudioTranscript ?
|
|
2912
|
+
const pendingHistoryBody = preflightAudioTranscript ? formatAudioTranscriptForAgent(preflightAudioTranscript) : pendingHistoryText || pendingHistoryPollText;
|
|
2912
2913
|
if (historyLimit > 0 && pendingHistoryBody) {
|
|
2913
2914
|
const pendingEntry = {
|
|
2914
2915
|
sender: senderId,
|
|
@@ -2991,7 +2992,7 @@ async function resolveMatrixIngressContent(config) {
|
|
|
2991
2992
|
});
|
|
2992
2993
|
if (preflightMedia && bodyText && bodyText !== preflightMedia.placeholder && isLikelyBareFilename(bodyText)) bodyText = preflightMedia.placeholder;
|
|
2993
2994
|
if (preflightAudioTranscript) {
|
|
2994
|
-
const transcriptBody =
|
|
2995
|
+
const transcriptBody = formatAudioTranscriptForAgent(preflightAudioTranscript);
|
|
2995
2996
|
bodyText = !bodyText || bodyText === media?.placeholder ? transcriptBody : `${bodyText}\n${transcriptBody}`;
|
|
2996
2997
|
}
|
|
2997
2998
|
if (!bodyText) {
|
|
@@ -4077,7 +4078,7 @@ function createMatrixRoomMessageHandler(params) {
|
|
|
4077
4078
|
return;
|
|
4078
4079
|
}
|
|
4079
4080
|
const { dispatchResult } = turnResult;
|
|
4080
|
-
const { queuedFinal
|
|
4081
|
+
const { queuedFinal } = dispatchResult;
|
|
4081
4082
|
if (replyDispatcher.finalReplyDeliveryFailed()) {
|
|
4082
4083
|
logVerboseMessage(`matrix: final reply delivery failed room=${roomId} id=${messageId}; keeping replay committed`);
|
|
4083
4084
|
await commitInboundEventIfClaimed();
|
|
@@ -4089,14 +4090,11 @@ function createMatrixRoomMessageHandler(params) {
|
|
|
4089
4090
|
return;
|
|
4090
4091
|
}
|
|
4091
4092
|
if (isRoom && triggerSnapshot) roomHistoryTracker.consumeHistory(_route.agentId, roomId, triggerSnapshot, messageId, threadRootId ? thread.threadId : void 0);
|
|
4092
|
-
if (!hasFinalInboundReplyDispatch({
|
|
4093
|
-
queuedFinal,
|
|
4094
|
-
counts
|
|
4095
|
-
})) {
|
|
4093
|
+
if (!hasFinalInboundReplyDispatch(dispatchResult)) {
|
|
4096
4094
|
await commitInboundEventIfClaimed();
|
|
4097
4095
|
return;
|
|
4098
4096
|
}
|
|
4099
|
-
const finalCount =
|
|
4097
|
+
const finalCount = resolveInboundReplyDispatchCounts(dispatchResult).final;
|
|
4100
4098
|
logVerboseMessage(`matrix: delivered ${finalCount} reply${finalCount === 1 ? "" : "ies"} to ${replyTarget}`);
|
|
4101
4099
|
await commitInboundEventIfClaimed();
|
|
4102
4100
|
} catch (err) {
|
|
@@ -4688,7 +4686,7 @@ async function monitorMatrixProvider(opts = {}) {
|
|
|
4688
4686
|
logVerboseMessage
|
|
4689
4687
|
});
|
|
4690
4688
|
if (monitorSetupClosed) {
|
|
4691
|
-
createdThreadBindingManager.stop();
|
|
4689
|
+
await createdThreadBindingManager.stop();
|
|
4692
4690
|
await cleanup("stop");
|
|
4693
4691
|
return;
|
|
4694
4692
|
}
|
|
@@ -2,7 +2,7 @@ import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
|
|
|
2
2
|
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
3
3
|
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
4
4
|
//#region extensions/matrix/src/plugin-entry.runtime.ts
|
|
5
|
-
const loadMatrixVerificationRuntime = createLazyRuntimeModule(() => import("./verification-
|
|
5
|
+
const loadMatrixVerificationRuntime = createLazyRuntimeModule(() => import("./verification-CabtBTtB.js").then((n) => n.y));
|
|
6
6
|
function sendError(respond, err) {
|
|
7
7
|
respond(false, { error: formatErrorMessage(err) });
|
|
8
8
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as getMatrixRuntime } from "./runtime-6S3DNFNv.js";
|
|
2
2
|
import { n as resolveMatrixConfigPath, r as updateMatrixAccountConfig } from "./config-update-Bor_Pjsv.js";
|
|
3
3
|
import { r as syncMatrixOwnProfile } from "./profile-D-Wubo0A.js";
|
|
4
|
-
import { n as withResolvedActionClient } from "./client-
|
|
4
|
+
import { n as withResolvedActionClient } from "./client-D8XghqmX.js";
|
|
5
5
|
import { normalizeAccountId } from "openclaw/plugin-sdk/account-id";
|
|
6
6
|
//#region extensions/matrix/src/matrix/actions/profile.ts
|
|
7
7
|
async function updateMatrixOwnProfile(opts = {}) {
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { a as resolveMatrixAccountConfig } from "./account-config-BZWN9tGS.js";
|
|
2
|
+
import { a as resolveMatrixThreadRootId, o as resolveMatrixThreadRouting, r as resolveMatrixInboundRoute } from "./channel-CzQw5OZN.js";
|
|
2
3
|
import { a as extractMatrixReactionAnnotation } from "./reaction-common-DkrQdBSZ.js";
|
|
3
4
|
import { i as resolveMatrixApprovalReactionTargetWithPersistence, o as unregisterMatrixApprovalReactionTargetsForApproval } from "./approval-reactions-tXh9KYrW.js";
|
|
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
6
|
import { isApprovalNotFoundError } from "openclaw/plugin-sdk/error-runtime";
|
|
7
7
|
import { normalizeAccountId } from "openclaw/plugin-sdk/routing";
|
|
8
8
|
import { getSessionBindingService } from "openclaw/plugin-sdk/session-binding-runtime";
|
|
9
9
|
//#region extensions/matrix/src/matrix/monitor/reaction-events.ts
|
|
10
|
-
const loadApprovalReactionAuth = createLazyRuntimeModule(() => import("./approval-reaction-auth-
|
|
10
|
+
const loadApprovalReactionAuth = createLazyRuntimeModule(() => import("./approval-reaction-auth-CziKXatm.js"));
|
|
11
11
|
const loadExecApprovalResolver = createLazyRuntimeModule(() => import("openclaw/plugin-sdk/approval-gateway-runtime"));
|
|
12
|
-
const loadMatrixSend = createLazyRuntimeModule(() => import("./send-
|
|
12
|
+
const loadMatrixSend = createLazyRuntimeModule(() => import("./send-ClHgDZLT.js").then((n) => n.s));
|
|
13
13
|
function buildMatrixApprovalTerminalText(result) {
|
|
14
14
|
const approval = result.approval;
|
|
15
15
|
const terminalLabel = approval.status === "allowed" ? approval.decision === "allow-always" ? "Allowed always" : "Allowed once" : approval.status === "denied" ? "Denied" : approval.status === "expired" ? "Expired" : "Cancelled";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
|
|
2
|
-
import {
|
|
3
|
-
import { n as listMatrixDirectoryGroupsLive, r as listMatrixDirectoryPeersLive } from "./directory-live-
|
|
2
|
+
import { r as normalizeMatrixMessagingTarget, t as isMatrixQualifiedUserId } from "./target-ids-Nwx7cMVE.js";
|
|
3
|
+
import { n as listMatrixDirectoryGroupsLive, r as listMatrixDirectoryPeersLive } from "./directory-live-DLQzel12.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-
|
|
1
|
+
import { t as resolveMatrixTargets } from "./resolve-targets-e7AI0P75.js";
|
|
2
2
|
//#region extensions/matrix/src/resolver.runtime.ts
|
|
3
3
|
const matrixResolverRuntime = { resolveMatrixTargets };
|
|
4
4
|
//#endregion
|
package/dist/runtime-api.js
CHANGED
|
@@ -2,7 +2,7 @@ import { a as resolveMatrixDefaultOrOnlyAccountId, i as resolveMatrixChannelConf
|
|
|
2
2
|
import { n as listMatrixEnvAccountIds, r as resolveMatrixEnvAccountToken, t as getMatrixScopedEnvVarNames } from "./env-vars-dGqak9dN.js";
|
|
3
3
|
import { r as setMatrixRuntime } from "./runtime-6S3DNFNv.js";
|
|
4
4
|
import { a as resolveMatrixCredentialsPath, i as resolveMatrixCredentialsFilename, n as resolveMatrixAccountStorageRoot, o as resolveMatrixHomeserverKey, r as resolveMatrixCredentialsDir, s as sanitizeMatrixPathSegment, t as hashMatrixAccessToken } from "./storage-paths-gUmSydsW.js";
|
|
5
|
-
import {
|
|
5
|
+
import { f as setMatrixThreadBindingMaxAgeBySessionKey, u as setMatrixThreadBindingIdleTimeoutBySessionKey } from "./thread-bindings-shared-oNPiyMWY.js";
|
|
6
6
|
import { n as ensureMatrixSdkInstalled, r as isMatrixSdkAvailable } from "./deps-CcVJfvRM.js";
|
|
7
7
|
import { chunkTextForOutbound as chunkTextForOutbound$1 } from "openclaw/plugin-sdk/text-chunking";
|
|
8
8
|
import { assertHttpUrlTargetsPrivateNetwork, closeDispatcher, createPinnedDispatcher, resolvePinnedHostnameWithPolicy, ssrfPolicyFromDangerouslyAllowPrivateNetwork } from "openclaw/plugin-sdk/ssrf-runtime";
|