@openclaw/nextcloud-talk 2026.8.2 → 2026.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/api.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as nextcloudTalkPlugin } from "./channel-
|
|
1
|
+
import { t as nextcloudTalkPlugin } from "./channel-D2RVrR4p.js";
|
|
2
2
|
export { nextcloudTalkPlugin };
|
|
@@ -23,7 +23,7 @@ import { redactToolPayloadText } from "openclaw/plugin-sdk/logging-core";
|
|
|
23
23
|
import { requireRuntimeConfig } from "openclaw/plugin-sdk/plugin-config-runtime";
|
|
24
24
|
import { resolveMarkdownTableMode } from "openclaw/plugin-sdk/markdown-table-runtime";
|
|
25
25
|
import { createHmac, randomBytes } from "node:crypto";
|
|
26
|
-
import {
|
|
26
|
+
import { safeEqualSecret } from "openclaw/plugin-sdk/security-runtime";
|
|
27
27
|
import { DEFAULT_ACCOUNT_ID as DEFAULT_ACCOUNT_ID$2 } from "openclaw/plugin-sdk/account-id";
|
|
28
28
|
import { DmPolicySchema, GroupPolicySchema, MarkdownConfigSchema, ReplyRuntimeConfigSchemaShape, ReplyToModeSchema, buildChannelConfigSchema, buildGroupEntrySchema, buildMultiAccountChannelSchema, requireOpenAllowFrom } from "openclaw/plugin-sdk/channel-config-schema";
|
|
29
29
|
import { formatAllowFromLowercase, resolveAllowlistMatchByCandidates } from "openclaw/plugin-sdk/allow-from";
|
|
@@ -32,6 +32,7 @@ import { requireChannelOpenAllowFrom, resolveLoggerBackedRuntime } from "opencla
|
|
|
32
32
|
import { z } from "zod";
|
|
33
33
|
import os from "node:os";
|
|
34
34
|
import path from "node:path";
|
|
35
|
+
import { fileExists } from "openclaw/plugin-sdk/file-access-runtime";
|
|
35
36
|
import { migratePersistentDedupeLegacyJsonFile, resolvePersistentDedupePluginStateNamespace } from "openclaw/plugin-sdk/persistent-dedupe";
|
|
36
37
|
import { resolveStateDir } from "openclaw/plugin-sdk/state-paths";
|
|
37
38
|
import { channelReadyPatch } from "openclaw/plugin-sdk/gateway-runtime";
|
|
@@ -41,6 +42,7 @@ import { pruneMapToMaxSize } from "openclaw/plugin-sdk/collection-runtime";
|
|
|
41
42
|
import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
|
|
42
43
|
import { createServer } from "node:http";
|
|
43
44
|
import { WEBHOOK_RATE_LIMIT_DEFAULTS, createAuthRateLimiter, isRequestBodyLimitError, readRequestBodyWithLimit, requestBodyErrorToText, resolveRequestClientIp } from "openclaw/plugin-sdk/webhook-ingress";
|
|
45
|
+
import { sendHttpRequestRejection } from "openclaw/plugin-sdk/webhook-request-guards";
|
|
44
46
|
import { isRecord } from "openclaw/plugin-sdk/channel-secret-basic-runtime";
|
|
45
47
|
import { jsonResult, readStringParam, resolveReactionMessageId } from "openclaw/plugin-sdk/channel-actions";
|
|
46
48
|
import { DEFAULT_ACCOUNT_ID as DEFAULT_ACCOUNT_ID$1, buildOutboundBaseSessionKey, normalizeAccountId as normalizeAccountId$1 } from "openclaw/plugin-sdk/routing";
|
|
@@ -1370,9 +1372,14 @@ function verifyWebhookSignature(params) {
|
|
|
1370
1372
|
function readNextcloudTalkWebhookBody(req, maxBodyBytes) {
|
|
1371
1373
|
return readRequestBodyWithLimit(req, {
|
|
1372
1374
|
maxBytes: Math.min(maxBodyBytes, PREAUTH_WEBHOOK_MAX_BODY_BYTES),
|
|
1373
|
-
timeoutMs: PREAUTH_WEBHOOK_BODY_TIMEOUT_MS
|
|
1375
|
+
timeoutMs: PREAUTH_WEBHOOK_BODY_TIMEOUT_MS,
|
|
1376
|
+
destroyOnLimit: false
|
|
1374
1377
|
});
|
|
1375
1378
|
}
|
|
1379
|
+
async function rejectWebhookRequest(req, res, status, error) {
|
|
1380
|
+
if (res.headersSent) return;
|
|
1381
|
+
await sendHttpRequestRejection(req, res, status, JSON.stringify({ error }), "application/json");
|
|
1382
|
+
}
|
|
1376
1383
|
function createNextcloudTalkWebhookServer(opts) {
|
|
1377
1384
|
const { port, host, path, secret, onWebhook, onError, abortSignal } = opts;
|
|
1378
1385
|
const maxBodyBytes = typeof opts.maxBodyBytes === "number" && Number.isFinite(opts.maxBodyBytes) && opts.maxBodyBytes > 0 ? Math.floor(opts.maxBodyBytes) : DEFAULT_WEBHOOK_MAX_BODY_BYTES;
|
|
@@ -1425,11 +1432,11 @@ function createNextcloudTalkWebhookServer(opts) {
|
|
|
1425
1432
|
writeJsonResponse(res, 200);
|
|
1426
1433
|
} catch (err) {
|
|
1427
1434
|
if (isRequestBodyLimitError(err, "PAYLOAD_TOO_LARGE")) {
|
|
1428
|
-
|
|
1435
|
+
await rejectWebhookRequest(req, res, 413, WEBHOOK_ERRORS.payloadTooLarge);
|
|
1429
1436
|
return;
|
|
1430
1437
|
}
|
|
1431
1438
|
if (isRequestBodyLimitError(err, "REQUEST_BODY_TIMEOUT")) {
|
|
1432
|
-
|
|
1439
|
+
await rejectWebhookRequest(req, res, 408, requestBodyErrorToText("REQUEST_BODY_TIMEOUT"));
|
|
1433
1440
|
return;
|
|
1434
1441
|
}
|
|
1435
1442
|
if (err instanceof NextcloudTalkWebhookPayloadError) {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as nextcloudTalkPlugin } from "./channel-
|
|
1
|
+
import { t as nextcloudTalkPlugin } from "./channel-D2RVrR4p.js";
|
|
2
2
|
export { nextcloudTalkPlugin };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/nextcloud-talk",
|
|
3
|
-
"version": "2026.
|
|
3
|
+
"version": "2026.9.1",
|
|
4
4
|
"description": "OpenClaw Nextcloud Talk channel plugin for conversations.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
},
|
|
9
9
|
"type": "module",
|
|
10
10
|
"peerDependencies": {
|
|
11
|
-
"openclaw": ">=2026.
|
|
11
|
+
"openclaw": ">=2026.9.1"
|
|
12
12
|
},
|
|
13
13
|
"peerDependenciesMeta": {
|
|
14
14
|
"openclaw": {
|
|
@@ -129,10 +129,10 @@
|
|
|
129
129
|
"minHostVersion": ">=2026.4.10"
|
|
130
130
|
},
|
|
131
131
|
"compat": {
|
|
132
|
-
"pluginApi": ">=2026.
|
|
132
|
+
"pluginApi": ">=2026.9.1"
|
|
133
133
|
},
|
|
134
134
|
"build": {
|
|
135
|
-
"openclawVersion": "2026.
|
|
135
|
+
"openclawVersion": "2026.9.1"
|
|
136
136
|
},
|
|
137
137
|
"release": {
|
|
138
138
|
"publishToClawHub": true,
|