@openclaw/matrix 2026.7.2-beta.7 → 2026.8.1-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.
- package/dist/{account-selection-kqquRzCf.js → account-selection-CWuhuFn1.js} +7 -8
- package/dist/{accounts-DfngqebB.js → accounts-BCzyubQt.js} +3 -3
- package/dist/api.js +7 -10
- package/dist/{approval-handler.runtime-DSeaIsGa.js → approval-handler.runtime-CJXCUdRg.js} +5 -5
- package/dist/{approval-ids-BdJGPAJT.js → approval-ids-7rf7etWE.js} +1 -1
- package/dist/{approval-reaction-auth-BjOpELxu.js → approval-reaction-auth-wBwbEDpZ.js} +2 -2
- package/dist/{approval-reactions-D-BxBK_L.js → approval-reactions-tXh9KYrW.js} +2 -8
- package/dist/auth-presence.js +2 -2
- package/dist/{channel-vj788dNZ.js → channel-VSrHgTON.js} +156 -136
- package/dist/channel-plugin-api.js +1 -1
- package/dist/{channel.runtime-CLoF2S9T.js → channel.runtime-pOOL0uT_.js} +70 -56
- package/dist/{config-schema-Djxw3C6b.js → channel.setup-PpxRP9Du.js} +50 -3
- package/dist/{cli-DMqfDE-q.js → cli-CkTfKC_c.js} +16 -16
- package/dist/{cli-metadata-C7D53SND.js → cli-metadata-B1d1aGM5.js} +1 -1
- package/dist/cli-metadata.js +1 -1
- package/dist/client-CeGw0G5S.js +784 -0
- package/dist/{client-bootstrap-XsIkHNt0.js → client-bootstrap-BFwT_2VT.js} +25 -61
- package/dist/{client-6eRENr7k.js → client-sJesKQmp.js} +4 -4
- package/dist/client-support-DLj4vDeu.js +93 -0
- package/dist/config-update-Bor_Pjsv.js +150 -0
- package/dist/contract-api.js +2 -2
- package/dist/{credentials-W2EmwRhu.js → credentials-BdAaWuiR.js} +2 -1
- package/dist/credentials-read-B37cQknZ.js +51 -0
- package/dist/credentials-state-B3cuUFwZ.js +27 -0
- package/dist/{credentials-write.runtime-Be9zNSUw.js → credentials-write.runtime-nAV2-5uR.js} +1 -1
- package/dist/{crypto-runtime-D9_6J5tZ.js → crypto-runtime-Bnz3zEcS.js} +55 -32
- package/dist/direct-room-RinHjtqX.js +71 -0
- package/dist/{directory-live-C8dVBiCc.js → directory-live-Bvg2wAnR.js} +1 -2
- package/dist/{doctor-CM8ijNpW.js → doctor-EWf9CDso.js} +2 -2
- package/dist/{doctor-contract-BMSJkkAE.js → doctor-contract-DEt4O4Zt.js} +2 -3
- package/dist/doctor-contract-api.js +202 -90
- package/dist/{draft-stream-CtvOXq0Z.js → draft-stream-BRi7PRRS.js} +20 -23
- package/dist/{encryption-guidance-CbEFe38F.js → encryption-guidance-DmLY8NiO.js} +1 -1
- package/dist/{env-auth-CQsYbz-p.js → env-auth-MVS-Vv41.js} +4 -3
- package/dist/{env-vars-B0NxQnPk.js → env-vars-dGqak9dN.js} +1 -1
- package/dist/{errors-C47hvAF8.js → errors-DKVS3_DO.js} +2 -5
- package/dist/{file-sync-store-DiiFsayX.js → file-sync-store-DjskBX2o.js} +24 -3
- package/dist/helper-api.js +2 -2
- package/dist/{idb-persistence-B6x7dMsF.js → idb-persistence-BM0P27Zg.js} +3 -2
- package/dist/{inbound-dedupe-CaBLblef.js → inbound-dedupe-RvSLqdsz.js} +2 -2
- package/dist/index.js +1 -1
- package/dist/{logger-D0GCSDQq.js → logger-B_71hN6W.js} +1 -1
- package/dist/{logging-DV-p52N0.js → logging-DRjvUOIh.js} +1 -1
- package/dist/{media-text-BTwzADS_.js → media-text-JudlYOSc.js} +1 -1
- package/dist/{messages-DxQJkhxs.js → messages-BW0s-6Y9.js} +7 -7
- package/dist/{monitor-VyWlSLwo.js → monitor-Ddfc-vjX.js} +394 -384
- package/dist/plugin-entry.handlers.runtime.js +3 -3
- package/dist/probe.runtime-Dr91B_X3.js +2 -0
- package/dist/profile-D-Wubo0A.js +108 -0
- package/dist/{profile-update-CffmyW_4.js → profile-update-BkgWYDIp.js} +3 -2
- package/dist/{reaction-events-B00WSi98.js → reaction-events-nfUbFLdV.js} +9 -6
- package/dist/{recovery-key-store-BNnHvXdk.js → recovery-key-store-CognuDys.js} +5 -4
- package/dist/{resolve-targets-nm2L48sh.js → resolve-targets-BJAPY4Vb.js} +1 -1
- package/dist/{resolver.runtime-DS6uPaEe.js → resolver.runtime-LWJELYq5.js} +1 -1
- package/dist/{room-info-CAFZ3Z9J.js → room-info-BXQA7y10.js} +12 -3
- package/dist/runtime-api.js +6 -3
- package/dist/{sdk-bUytQHx7.js → sdk-DjaQFCHc.js} +229 -120
- package/dist/{secret-contract-M3hRmGO-.js → secret-contract-CufozuyJ.js} +1 -1
- package/dist/secret-contract-api.js +1 -1
- package/dist/{send-BldGYG8g.js → send-ZDLU4JTk.js} +1462 -1196
- package/dist/session-binding-contract-api.js +1 -1
- package/dist/{setup-bootstrap-Deleiibz.js → setup-bootstrap-BaXkhgJg.js} +4 -4
- package/dist/{setup-core-BVfBv2ai.js → setup-core-DQn6b5vi.js} +17 -266
- package/dist/setup-plugin-api.js +1 -44
- package/dist/{setup-surface-BBq3WeqX.js → setup-surface-DlhJdrNI.js} +9 -11
- package/dist/{startup-verification-wm3_i88s.js → startup-verification-Cs08ca8u.js} +3 -3
- package/dist/{storage-BvAkgzvT.js → storage-BsGuHngK.js} +3 -3
- package/dist/{thread-bindings-DGbl3vDW.js → thread-bindings-CcHZP3w2.js} +7 -4
- package/dist/{tool-actions.runtime-uu9blSqO.js → tool-actions.runtime-DmdRL0bN.js} +35 -18
- package/dist/{verification-DYMQ1QpI.js → verification-C7ig-bQE.js} +2 -2
- package/openclaw.plugin.json +54 -1
- package/package.json +4 -4
- package/dist/active-client-DXvz2gCo.js +0 -20
- package/dist/client-Dbso3-0V.js +0 -30
- package/dist/create-client-BmSU-q-D.js +0 -61
- package/dist/credentials-read-DVmFCm7X.js +0 -77
- package/dist/exec-approval-resolver-BCgqRtZS.js +0 -16
- package/dist/preflight-audio.runtime-BZxxQsxY.js +0 -11
- package/dist/probe.runtime-BuieqmS3.js +0 -3
- package/dist/record-shared-CWWx6fvI.js +0 -2
- package/dist/shared-CUMWxcMz.js +0 -673
- package/dist/sync-state-CWbp0QSY.js +0 -12
- package/dist/{runtime-api-D1xI_cvh.js → runtime-api-BGO16Fu8.js} +3 -3
package/openclaw.plugin.json
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "matrix",
|
|
3
|
+
"doctorContract": {
|
|
4
|
+
"configRepair": true,
|
|
5
|
+
"stateMigrations": true
|
|
6
|
+
},
|
|
3
7
|
"name": "Matrix",
|
|
4
8
|
"description": "OpenClaw Matrix channel plugin for rooms and direct messages.",
|
|
5
9
|
"icon": "https://cdn.simpleicons.org/matrix",
|
|
@@ -34,6 +38,9 @@
|
|
|
34
38
|
"enabled": {
|
|
35
39
|
"type": "boolean"
|
|
36
40
|
},
|
|
41
|
+
"configWrites": {
|
|
42
|
+
"type": "boolean"
|
|
43
|
+
},
|
|
37
44
|
"defaultAccount": {
|
|
38
45
|
"type": "string"
|
|
39
46
|
},
|
|
@@ -107,6 +114,29 @@
|
|
|
107
114
|
],
|
|
108
115
|
"additionalProperties": false
|
|
109
116
|
},
|
|
117
|
+
{
|
|
118
|
+
"type": "object",
|
|
119
|
+
"properties": {
|
|
120
|
+
"source": {
|
|
121
|
+
"type": "string",
|
|
122
|
+
"const": "store"
|
|
123
|
+
},
|
|
124
|
+
"provider": {
|
|
125
|
+
"type": "string",
|
|
126
|
+
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
127
|
+
},
|
|
128
|
+
"id": {
|
|
129
|
+
"type": "string",
|
|
130
|
+
"pattern": "^[A-Z][A-Z0-9_]{0,127}$"
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
"required": [
|
|
134
|
+
"source",
|
|
135
|
+
"provider",
|
|
136
|
+
"id"
|
|
137
|
+
],
|
|
138
|
+
"additionalProperties": false
|
|
139
|
+
},
|
|
110
140
|
{
|
|
111
141
|
"type": "object",
|
|
112
142
|
"properties": {
|
|
@@ -185,6 +215,29 @@
|
|
|
185
215
|
],
|
|
186
216
|
"additionalProperties": false
|
|
187
217
|
},
|
|
218
|
+
{
|
|
219
|
+
"type": "object",
|
|
220
|
+
"properties": {
|
|
221
|
+
"source": {
|
|
222
|
+
"type": "string",
|
|
223
|
+
"const": "store"
|
|
224
|
+
},
|
|
225
|
+
"provider": {
|
|
226
|
+
"type": "string",
|
|
227
|
+
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
228
|
+
},
|
|
229
|
+
"id": {
|
|
230
|
+
"type": "string",
|
|
231
|
+
"pattern": "^[A-Z][A-Z0-9_]{0,127}$"
|
|
232
|
+
}
|
|
233
|
+
},
|
|
234
|
+
"required": [
|
|
235
|
+
"source",
|
|
236
|
+
"provider",
|
|
237
|
+
"id"
|
|
238
|
+
],
|
|
239
|
+
"additionalProperties": false
|
|
240
|
+
},
|
|
188
241
|
{
|
|
189
242
|
"type": "object",
|
|
190
243
|
"properties": {
|
|
@@ -963,7 +1016,7 @@
|
|
|
963
1016
|
},
|
|
964
1017
|
"streaming.progress.commandText": {
|
|
965
1018
|
"label": "Matrix Progress Command Text",
|
|
966
|
-
"help": "Command/exec detail in progress draft lines: \"
|
|
1019
|
+
"help": "Command/exec detail in progress draft lines: \"status\" is the safe default; \"raw\" opts into command text."
|
|
967
1020
|
}
|
|
968
1021
|
}
|
|
969
1022
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/matrix",
|
|
3
|
-
"version": "2026.
|
|
3
|
+
"version": "2026.8.1-beta.2",
|
|
4
4
|
"description": "OpenClaw Matrix channel plugin for rooms and direct messages.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"zod": "4.4.3"
|
|
19
19
|
},
|
|
20
20
|
"peerDependencies": {
|
|
21
|
-
"openclaw": ">=2026.
|
|
21
|
+
"openclaw": ">=2026.8.1-beta.2"
|
|
22
22
|
},
|
|
23
23
|
"peerDependenciesMeta": {
|
|
24
24
|
"openclaw": {
|
|
@@ -167,10 +167,10 @@
|
|
|
167
167
|
"allowInvalidConfigRecovery": true
|
|
168
168
|
},
|
|
169
169
|
"compat": {
|
|
170
|
-
"pluginApi": ">=2026.
|
|
170
|
+
"pluginApi": ">=2026.8.1-beta.2"
|
|
171
171
|
},
|
|
172
172
|
"build": {
|
|
173
|
-
"openclawVersion": "2026.
|
|
173
|
+
"openclawVersion": "2026.8.1-beta.2"
|
|
174
174
|
},
|
|
175
175
|
"release": {
|
|
176
176
|
"publishToClawHub": true,
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "openclaw/plugin-sdk/account-id";
|
|
2
|
-
//#region extensions/matrix/src/matrix/active-client.ts
|
|
3
|
-
const activeClients = /* @__PURE__ */ new Map();
|
|
4
|
-
function resolveAccountKey(accountId) {
|
|
5
|
-
return normalizeAccountId(accountId) || DEFAULT_ACCOUNT_ID;
|
|
6
|
-
}
|
|
7
|
-
function setActiveMatrixClient(client, accountId) {
|
|
8
|
-
const key = resolveAccountKey(accountId);
|
|
9
|
-
if (!client) {
|
|
10
|
-
activeClients.delete(key);
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
activeClients.set(key, client);
|
|
14
|
-
}
|
|
15
|
-
function getActiveMatrixClient(accountId) {
|
|
16
|
-
const key = resolveAccountKey(accountId);
|
|
17
|
-
return activeClients.get(key) ?? null;
|
|
18
|
-
}
|
|
19
|
-
//#endregion
|
|
20
|
-
export { setActiveMatrixClient as n, getActiveMatrixClient as t };
|
package/dist/client-Dbso3-0V.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
|
|
2
|
-
import { t as getMatrixScopedEnvVarNames } from "./env-vars-B0NxQnPk.js";
|
|
3
|
-
import { i as resolveScopedMatrixEnvConfig, r as resolveMatrixEnvAuthReadiness, t as hasReadyMatrixEnvAuth } from "./env-auth-CQsYbz-p.js";
|
|
4
|
-
import { n as validateMatrixHomeserverUrl, t as resolveValidatedMatrixHomeserverUrl } from "./url-validation-GRHde6lq.js";
|
|
5
|
-
import { t as isBunRuntime } from "./runtime-BefyhPWv.js";
|
|
6
|
-
import { d as backfillMatrixAuthDeviceIdAfterStartup, f as resolveMatrixAuth, i as resolveSharedMatrixClient, m as resolveMatrixConfigForAccount, n as releaseSharedClientInstance, o as stopSharedClientForAccount, p as resolveMatrixAuthContext, r as removeSharedClientInstance, s as stopSharedClientInstance, t as acquireSharedMatrixClient } from "./shared-CUMWxcMz.js";
|
|
7
|
-
import { t as createMatrixClient } from "./create-client-BmSU-q-D.js";
|
|
8
|
-
//#region extensions/matrix/src/matrix/client.ts
|
|
9
|
-
var client_exports = /* @__PURE__ */ __exportAll({
|
|
10
|
-
acquireSharedMatrixClient: () => acquireSharedMatrixClient,
|
|
11
|
-
backfillMatrixAuthDeviceIdAfterStartup: () => backfillMatrixAuthDeviceIdAfterStartup,
|
|
12
|
-
createMatrixClient: () => createMatrixClient,
|
|
13
|
-
getMatrixScopedEnvVarNames: () => getMatrixScopedEnvVarNames,
|
|
14
|
-
hasReadyMatrixEnvAuth: () => hasReadyMatrixEnvAuth,
|
|
15
|
-
isBunRuntime: () => isBunRuntime,
|
|
16
|
-
releaseSharedClientInstance: () => releaseSharedClientInstance,
|
|
17
|
-
removeSharedClientInstance: () => removeSharedClientInstance,
|
|
18
|
-
resolveMatrixAuth: () => resolveMatrixAuth,
|
|
19
|
-
resolveMatrixAuthContext: () => resolveMatrixAuthContext,
|
|
20
|
-
resolveMatrixConfigForAccount: () => resolveMatrixConfigForAccount,
|
|
21
|
-
resolveMatrixEnvAuthReadiness: () => resolveMatrixEnvAuthReadiness,
|
|
22
|
-
resolveScopedMatrixEnvConfig: () => resolveScopedMatrixEnvConfig,
|
|
23
|
-
resolveSharedMatrixClient: () => resolveSharedMatrixClient,
|
|
24
|
-
resolveValidatedMatrixHomeserverUrl: () => resolveValidatedMatrixHomeserverUrl,
|
|
25
|
-
stopSharedClientForAccount: () => stopSharedClientForAccount,
|
|
26
|
-
stopSharedClientInstance: () => stopSharedClientInstance,
|
|
27
|
-
validateMatrixHomeserverUrl: () => validateMatrixHomeserverUrl
|
|
28
|
-
});
|
|
29
|
-
//#endregion
|
|
30
|
-
export { client_exports as t };
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
|
|
2
|
-
import { t as resolveValidatedMatrixHomeserverUrl } from "./url-validation-GRHde6lq.js";
|
|
3
|
-
import { d as writeStorageMeta, l as resolveMatrixStoragePaths, r as maybeMigrateLegacyStorage } from "./storage-BvAkgzvT.js";
|
|
4
|
-
import "./shared-CUMWxcMz.js";
|
|
5
|
-
import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
|
|
6
|
-
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
7
|
-
import { ssrfPolicyFromDangerouslyAllowPrivateNetwork } from "openclaw/plugin-sdk/ssrf-runtime";
|
|
8
|
-
import fs from "node:fs";
|
|
9
|
-
//#region extensions/matrix/src/matrix/client/create-client.ts
|
|
10
|
-
var create_client_exports = /* @__PURE__ */ __exportAll({ createMatrixClient: () => createMatrixClient });
|
|
11
|
-
const loadMatrixCreateClientRuntimeDeps = createLazyRuntimeModule(() => Promise.all([import("./sdk-bUytQHx7.js"), import("./logging-DV-p52N0.js").then((n) => n.n)]).then(([sdkModule, loggingModule]) => ({
|
|
12
|
-
MatrixClient: sdkModule.MatrixClient,
|
|
13
|
-
ensureMatrixSdkLoggingConfigured: loggingModule.ensureMatrixSdkLoggingConfigured
|
|
14
|
-
})));
|
|
15
|
-
async function createMatrixClient(params) {
|
|
16
|
-
const { MatrixClient, ensureMatrixSdkLoggingConfigured } = await loadMatrixCreateClientRuntimeDeps();
|
|
17
|
-
ensureMatrixSdkLoggingConfigured();
|
|
18
|
-
const homeserver = await resolveValidatedMatrixHomeserverUrl(params.homeserver, { dangerouslyAllowPrivateNetwork: params.allowPrivateNetwork });
|
|
19
|
-
const matrixClientUserId = normalizeOptionalString(params.userId);
|
|
20
|
-
const userId = matrixClientUserId ?? "unknown";
|
|
21
|
-
const storagePaths = params.persistStorage !== false ? resolveMatrixStoragePaths({
|
|
22
|
-
homeserver,
|
|
23
|
-
userId,
|
|
24
|
-
accessToken: params.accessToken,
|
|
25
|
-
accountId: params.accountId,
|
|
26
|
-
deviceId: params.deviceId,
|
|
27
|
-
env: process.env
|
|
28
|
-
}) : null;
|
|
29
|
-
if (storagePaths) {
|
|
30
|
-
await maybeMigrateLegacyStorage({
|
|
31
|
-
storagePaths,
|
|
32
|
-
env: process.env
|
|
33
|
-
});
|
|
34
|
-
fs.mkdirSync(storagePaths.rootDir, { recursive: true });
|
|
35
|
-
writeStorageMeta({
|
|
36
|
-
storagePaths,
|
|
37
|
-
homeserver,
|
|
38
|
-
userId,
|
|
39
|
-
accountId: params.accountId,
|
|
40
|
-
deviceId: params.deviceId
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
const cryptoDatabasePrefix = storagePaths ? `openclaw-matrix-${storagePaths.accountKey}-${storagePaths.tokenHash}` : void 0;
|
|
44
|
-
return new MatrixClient(homeserver, params.accessToken, {
|
|
45
|
-
userId: matrixClientUserId,
|
|
46
|
-
password: params.password,
|
|
47
|
-
deviceId: params.deviceId,
|
|
48
|
-
encryption: params.encryption,
|
|
49
|
-
localTimeoutMs: params.localTimeoutMs,
|
|
50
|
-
initialSyncLimit: params.initialSyncLimit,
|
|
51
|
-
storageRootDir: storagePaths?.rootDir,
|
|
52
|
-
recoveryKeyPath: storagePaths?.recoveryKeyPath,
|
|
53
|
-
idbSnapshotPath: storagePaths?.idbSnapshotPath,
|
|
54
|
-
cryptoDatabasePrefix,
|
|
55
|
-
autoBootstrapCrypto: params.autoBootstrapCrypto,
|
|
56
|
-
ssrfPolicy: params.ssrfPolicy ?? ssrfPolicyFromDangerouslyAllowPrivateNetwork(params.allowPrivateNetwork),
|
|
57
|
-
dispatcherPolicy: params.dispatcherPolicy
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
//#endregion
|
|
61
|
-
export { create_client_exports as n, createMatrixClient as t };
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
|
|
2
|
-
import { n as getOptionalMatrixRuntime } from "./runtime-6S3DNFNv.js";
|
|
3
|
-
import "./storage-paths-gUmSydsW.js";
|
|
4
|
-
import { normalizeAccountId } from "openclaw/plugin-sdk/account-id";
|
|
5
|
-
import { createPluginStateSyncKeyedStore } from "openclaw/plugin-sdk/runtime-doctor";
|
|
6
|
-
//#region extensions/matrix/src/matrix/credentials-read.ts
|
|
7
|
-
var credentials_read_exports = /* @__PURE__ */ __exportAll({
|
|
8
|
-
MATRIX_CREDENTIALS_MAX_ENTRIES: () => 256,
|
|
9
|
-
MATRIX_CREDENTIALS_NAMESPACE: () => MATRIX_CREDENTIALS_NAMESPACE,
|
|
10
|
-
clearMatrixCredentials: () => clearMatrixCredentials,
|
|
11
|
-
credentialsMatchConfig: () => credentialsMatchConfig,
|
|
12
|
-
isMatrixCredentialRevocation: () => isMatrixCredentialRevocation,
|
|
13
|
-
loadMatrixCredentials: () => loadMatrixCredentials,
|
|
14
|
-
matrixCredentialsStoreKey: () => matrixCredentialsStoreKey,
|
|
15
|
-
normalizeMatrixStoredCredentials: () => normalizeMatrixStoredCredentials,
|
|
16
|
-
openMatrixCredentialsStore: () => openMatrixCredentialsStore
|
|
17
|
-
});
|
|
18
|
-
const MATRIX_CREDENTIALS_NAMESPACE = "credentials";
|
|
19
|
-
function matrixCredentialsStoreKey(accountId) {
|
|
20
|
-
return `account:${normalizeAccountId(accountId)}`;
|
|
21
|
-
}
|
|
22
|
-
function normalizeMatrixStoredCredentials(value, accountId) {
|
|
23
|
-
if (!value || typeof value !== "object") return null;
|
|
24
|
-
const parsed = value;
|
|
25
|
-
if (typeof parsed.homeserver !== "string" || !parsed.homeserver || typeof parsed.userId !== "string" || !parsed.userId || typeof parsed.accessToken !== "string" || !parsed.accessToken || typeof parsed.createdAt !== "string" || !parsed.createdAt) return null;
|
|
26
|
-
return {
|
|
27
|
-
accountId: normalizeAccountId(accountId ?? parsed.accountId),
|
|
28
|
-
homeserver: parsed.homeserver,
|
|
29
|
-
userId: parsed.userId,
|
|
30
|
-
accessToken: parsed.accessToken,
|
|
31
|
-
...typeof parsed.deviceId === "string" ? { deviceId: parsed.deviceId } : {},
|
|
32
|
-
createdAt: parsed.createdAt,
|
|
33
|
-
...typeof parsed.lastUsedAt === "string" ? { lastUsedAt: parsed.lastUsedAt } : {}
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
function isMatrixCredentialRevocation(value, accountId) {
|
|
37
|
-
if (!value || typeof value !== "object") return false;
|
|
38
|
-
const parsed = value;
|
|
39
|
-
return parsed.kind === "revoked" && typeof parsed.revokedAt === "string" && parsed.revokedAt.length > 0 && normalizeAccountId(parsed.accountId) === normalizeAccountId(accountId ?? parsed.accountId);
|
|
40
|
-
}
|
|
41
|
-
function openMatrixCredentialsStore(env = process.env) {
|
|
42
|
-
const runtime = getOptionalMatrixRuntime();
|
|
43
|
-
const resolvedEnv = env.OPENCLAW_STATE_DIR?.trim() || !runtime ? env : {
|
|
44
|
-
...env,
|
|
45
|
-
OPENCLAW_STATE_DIR: runtime.state.resolveStateDir(env)
|
|
46
|
-
};
|
|
47
|
-
return createPluginStateSyncKeyedStore("matrix", {
|
|
48
|
-
namespace: MATRIX_CREDENTIALS_NAMESPACE,
|
|
49
|
-
maxEntries: 256,
|
|
50
|
-
overflowPolicy: "reject-new",
|
|
51
|
-
env: resolvedEnv
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
function loadMatrixCredentials(env = process.env, accountId) {
|
|
55
|
-
const normalizedAccountId = normalizeAccountId(accountId);
|
|
56
|
-
const parsed = normalizeMatrixStoredCredentials(openMatrixCredentialsStore(env).lookup(matrixCredentialsStoreKey(accountId)), normalizedAccountId);
|
|
57
|
-
if (!parsed || parsed.accountId !== normalizedAccountId) return null;
|
|
58
|
-
const { accountId: _accountId, ...credentials } = parsed;
|
|
59
|
-
return credentials;
|
|
60
|
-
}
|
|
61
|
-
function clearMatrixCredentials(env = process.env, accountId) {
|
|
62
|
-
const normalizedAccountId = normalizeAccountId(accountId);
|
|
63
|
-
openMatrixCredentialsStore(env).register(matrixCredentialsStoreKey(normalizedAccountId), {
|
|
64
|
-
accountId: normalizedAccountId,
|
|
65
|
-
kind: "revoked",
|
|
66
|
-
revokedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
function credentialsMatchConfig(stored, config) {
|
|
70
|
-
if (!config.userId) {
|
|
71
|
-
if (!config.accessToken) return false;
|
|
72
|
-
return stored.homeserver === config.homeserver && stored.accessToken === config.accessToken;
|
|
73
|
-
}
|
|
74
|
-
return stored.homeserver === config.homeserver && stored.userId === config.userId;
|
|
75
|
-
}
|
|
76
|
-
//#endregion
|
|
77
|
-
export { isMatrixCredentialRevocation as a, normalizeMatrixStoredCredentials as c, credentials_read_exports as i, openMatrixCredentialsStore as l, clearMatrixCredentials as n, loadMatrixCredentials as o, credentialsMatchConfig as r, matrixCredentialsStoreKey as s, MATRIX_CREDENTIALS_NAMESPACE as t };
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { isApprovalNotFoundError } from "openclaw/plugin-sdk/error-runtime";
|
|
2
|
-
import { resolveApprovalOverGateway } from "openclaw/plugin-sdk/approval-gateway-runtime";
|
|
3
|
-
//#region extensions/matrix/src/exec-approval-resolver.ts
|
|
4
|
-
async function resolveMatrixApproval(params) {
|
|
5
|
-
return await resolveApprovalOverGateway({
|
|
6
|
-
cfg: params.cfg,
|
|
7
|
-
approvalId: params.approvalId,
|
|
8
|
-
approvalKind: params.approvalKind,
|
|
9
|
-
decision: params.decision,
|
|
10
|
-
senderId: params.senderId,
|
|
11
|
-
gatewayUrl: params.gatewayUrl,
|
|
12
|
-
clientDisplayName: `Matrix approval (${params.senderId?.trim() || "unknown"})`
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
//#endregion
|
|
16
|
-
export { isApprovalNotFoundError, resolveMatrixApproval };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { sendDurableMessageBatch as sendDurableMessageBatch$1 } from "openclaw/plugin-sdk/channel-outbound";
|
|
2
|
-
import { transcribeFirstAudio as transcribeFirstAudio$1 } from "openclaw/plugin-sdk/media-runtime";
|
|
3
|
-
//#region extensions/matrix/src/matrix/monitor/preflight-audio.runtime.ts
|
|
4
|
-
async function transcribeFirstAudio(...args) {
|
|
5
|
-
return await transcribeFirstAudio$1(...args);
|
|
6
|
-
}
|
|
7
|
-
async function sendDurableMessageBatch(...args) {
|
|
8
|
-
return await sendDurableMessageBatch$1(...args);
|
|
9
|
-
}
|
|
10
|
-
//#endregion
|
|
11
|
-
export { sendDurableMessageBatch, transcribeFirstAudio };
|