@openclaw/mattermost 2026.6.11-beta.2 → 2026.7.1-beta.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/{accounts-DnAHfb5f.js → accounts-Bt60MyHp.js} +10 -12
- package/dist/channel-plugin-api.js +1 -1
- package/dist/{channel-plugin-runtime-MXClEU4F.js → channel-plugin-runtime-C7gpYyYd.js} +2 -2
- package/dist/channel-plugin-runtime.js +1 -1
- package/dist/{channel.runtime-W-pjr9zL.js → channel.runtime-BfOTGtEU.js} +7 -5
- package/dist/runtime-api.js +2 -2
- package/dist/slash-route-api.js +1 -1
- package/dist/{slash-state-I1qleAHM.js → slash-state-D1lza2ZZ.js} +13 -5
- package/npm-shrinkwrap.json +3 -3
- package/package.json +4 -4
|
@@ -6,11 +6,13 @@ import { createAccountListHelpers, hasConfiguredAccountValue } from "openclaw/pl
|
|
|
6
6
|
import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "openclaw/plugin-sdk/account-id";
|
|
7
7
|
import { resolveMergedAccountConfig } from "openclaw/plugin-sdk/account-resolution";
|
|
8
8
|
import { buildSecretInputSchema, hasConfiguredSecretInput, normalizeResolvedSecretInputString, normalizeSecretInputString } from "openclaw/plugin-sdk/secret-input";
|
|
9
|
-
import { readResponseTextLimited } from "openclaw/plugin-sdk/provider-http";
|
|
9
|
+
import { readProviderJsonResponse, readResponseTextLimited } from "openclaw/plugin-sdk/provider-http";
|
|
10
|
+
import { readResponseWithLimit } from "openclaw/plugin-sdk/response-limit-runtime";
|
|
10
11
|
import { sleep } from "openclaw/plugin-sdk/runtime-env";
|
|
11
12
|
import { z } from "zod";
|
|
12
13
|
//#region extensions/mattermost/src/mattermost/client.ts
|
|
13
14
|
const MATTERMOST_ERROR_BODY_LIMIT_BYTES = 8 * 1024;
|
|
15
|
+
const MATTERMOST_TEXT_RESPONSE_LIMIT_BYTES = 64 * 1024;
|
|
14
16
|
const NULL_BODY_STATUSES = new Set([
|
|
15
17
|
101,
|
|
16
18
|
204,
|
|
@@ -38,16 +40,12 @@ function buildMattermostApiUrl(baseUrl, path) {
|
|
|
38
40
|
if (!normalized) throw new Error("Mattermost baseUrl is required");
|
|
39
41
|
return `${normalized}/api/v4${path.startsWith("/") ? path : `/${path}`}`;
|
|
40
42
|
}
|
|
43
|
+
async function readMattermostSuccessText(res, path) {
|
|
44
|
+
const bytes = await readResponseWithLimit(res, MATTERMOST_TEXT_RESPONSE_LIMIT_BYTES, { onOverflow: ({ maxBytes }) => /* @__PURE__ */ new Error(`Mattermost API ${path}: text response exceeds ${maxBytes} bytes`) });
|
|
45
|
+
return new TextDecoder().decode(bytes);
|
|
46
|
+
}
|
|
41
47
|
async function readMattermostError(res) {
|
|
42
48
|
const contentType = res.headers.get("content-type") ?? "";
|
|
43
|
-
if (!res.body) {
|
|
44
|
-
if (contentType.includes("application/json")) {
|
|
45
|
-
const data = await res.json();
|
|
46
|
-
if (data?.message) return data.message;
|
|
47
|
-
return JSON.stringify(data);
|
|
48
|
-
}
|
|
49
|
-
return await res.text();
|
|
50
|
-
}
|
|
51
49
|
const text = await readResponseTextLimited(res, MATTERMOST_ERROR_BODY_LIMIT_BYTES);
|
|
52
50
|
if (contentType.includes("application/json")) try {
|
|
53
51
|
const data = JSON.parse(text);
|
|
@@ -130,8 +128,8 @@ function createMattermostClient(params) {
|
|
|
130
128
|
throw new Error(`Mattermost API ${res.status} ${res.statusText}: ${detail || "unknown error"}`);
|
|
131
129
|
}
|
|
132
130
|
if (res.status === 204) return;
|
|
133
|
-
if ((res.headers.get("content-type") ?? "").includes("application/json")) return await res
|
|
134
|
-
return await res
|
|
131
|
+
if ((res.headers.get("content-type") ?? "").includes("application/json")) return await readProviderJsonResponse(res, `Mattermost API ${path}`);
|
|
132
|
+
return await readMattermostSuccessText(res, path);
|
|
135
133
|
};
|
|
136
134
|
return {
|
|
137
135
|
baseUrl,
|
|
@@ -357,7 +355,7 @@ async function uploadMattermostFile(client, params) {
|
|
|
357
355
|
const detail = await readMattermostError(res);
|
|
358
356
|
throw new Error(`Mattermost API ${res.status} ${res.statusText}: ${detail || "unknown error"}`);
|
|
359
357
|
}
|
|
360
|
-
const info = (await res
|
|
358
|
+
const info = (await readProviderJsonResponse(res, "Mattermost API /files")).file_infos?.[0];
|
|
361
359
|
if (!info?.id) throw new Error("Mattermost file upload failed");
|
|
362
360
|
return info;
|
|
363
361
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as describeMattermostAccount, c as mattermostMeta, i as MattermostChannelConfigSchema, n as mattermostSetupWizard, o as isMattermostConfigured, r as mattermostSetupAdapter, s as mattermostConfigAdapter, t as mattermostPlugin } from "./channel-plugin-runtime-
|
|
1
|
+
import { a as describeMattermostAccount, c as mattermostMeta, i as MattermostChannelConfigSchema, n as mattermostSetupWizard, o as isMattermostConfigured, r as mattermostSetupAdapter, s as mattermostConfigAdapter, t as mattermostPlugin } from "./channel-plugin-runtime-C7gpYyYd.js";
|
|
2
2
|
import { t as resolveMattermostGatewayAuthBypassPaths } from "./gateway-auth-bypass-BHgOAkk8.js";
|
|
3
3
|
//#region extensions/mattermost/src/channel.setup.ts
|
|
4
4
|
const mattermostSetupPlugin = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as hasConfiguredSecretInput, S as buildSecretInputSchema, g as normalizeMattermostBaseUrl, i as resolveMattermostReplyToMode, n as resolveDefaultMattermostAccountId, r as resolveMattermostAccount, t as listMattermostAccountIds } from "./accounts-
|
|
1
|
+
import { C as hasConfiguredSecretInput, S as buildSecretInputSchema, g as normalizeMattermostBaseUrl, i as resolveMattermostReplyToMode, n as resolveDefaultMattermostAccountId, r as resolveMattermostAccount, t as listMattermostAccountIds } from "./accounts-Bt60MyHp.js";
|
|
2
2
|
import { t as resolveMattermostGatewayAuthBypassPaths } from "./gateway-auth-bypass-BHgOAkk8.js";
|
|
3
3
|
import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-ttH0DCuq.js";
|
|
4
4
|
import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-Cx0LUNXy.js";
|
|
@@ -565,7 +565,7 @@ const mattermostSetupWizard = {
|
|
|
565
565
|
};
|
|
566
566
|
//#endregion
|
|
567
567
|
//#region extensions/mattermost/src/channel.ts
|
|
568
|
-
const loadMattermostChannelRuntime = createLazyRuntimeModule(() => import("./channel.runtime-
|
|
568
|
+
const loadMattermostChannelRuntime = createLazyRuntimeModule(() => import("./channel.runtime-BfOTGtEU.js"));
|
|
569
569
|
function buildMattermostPresentationButtons(presentation) {
|
|
570
570
|
return presentation.blocks.filter((block) => block.type === "buttons").map((block) => block.buttons.flatMap((button) => {
|
|
571
571
|
if (button.action) return [];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as mattermostPlugin } from "./channel-plugin-runtime-
|
|
1
|
+
import { t as mattermostPlugin } from "./channel-plugin-runtime-C7gpYyYd.js";
|
|
2
2
|
export { mattermostPlugin };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { C as resolveChannelMediaMaxBytes, E as warnMissingProviderGroupPolicyFallbackOnce, S as resolveAllowlistProviderRuntimeGroupPolicy, T as resolveDefaultGroupPolicy, _ as logInboundDrop, c as buildAgentMediaPayload, d as createChannelMessageReplyPipeline, f as createChannelPairingController, h as listSkillCommandsForAgents, i as normalizeMattermostAllowEntry, l as buildModelsProviderData, n as formatMattermostDirectMessageDropLog, o as resolveMattermostMonitorInboundAccess, s as DEFAULT_GROUP_HISTORY_LIMIT, t as authorizeMattermostCommandInvocation, u as createChannelHistoryWindow, v as logTypingFailure, x as registerPluginHttpRoute, y as parseTcpPort } from "./monitor-auth-BiDuyvOc.js";
|
|
2
|
-
import { _ as readMattermostError, a as MattermostPostSchema, b as updateMattermostPost, c as createMattermostPost, f as fetchMattermostMe, g as normalizeMattermostBaseUrl, h as fetchMattermostUserTeams, i as resolveMattermostReplyToMode, l as deleteMattermostPost, o as createMattermostClient, p as fetchMattermostUser, r as resolveMattermostAccount, t as listMattermostAccountIds, u as fetchMattermostChannel, y as sendMattermostTyping } from "./accounts-
|
|
2
|
+
import { _ as readMattermostError, a as MattermostPostSchema, b as updateMattermostPost, c as createMattermostPost, f as fetchMattermostMe, g as normalizeMattermostBaseUrl, h as fetchMattermostUserTeams, i as resolveMattermostReplyToMode, l as deleteMattermostPost, o as createMattermostClient, p as fetchMattermostUser, r as resolveMattermostAccount, t as listMattermostAccountIds, u as fetchMattermostChannel, y as sendMattermostTyping } from "./accounts-Bt60MyHp.js";
|
|
3
3
|
import { n as getOptionalMattermostRuntime, t as getMattermostRuntime } from "./runtime-CNB4YGqJ.js";
|
|
4
|
-
import { C as registerSlashCommands, S as isSlashCommandsEnabled, T as resolveSlashCommandConfig, _ as renderMattermostModelsPickerView, a as sendMessageMattermost, b as DEFAULT_COMMAND_SPECS, c as computeInteractionCallbackUrl, d as setInteractionCallbackUrl, f as setInteractionSecret, g as parseMattermostModelPickerContext, h as buildMattermostAllowedModelRefs, l as createMattermostInteractionHandler, m as deliverMattermostReplyPayload, n as deactivateSlashCommands, o as resolveMattermostOpaqueTarget, p as createMattermostReplyDeliveryBarrier, r as getSlashCommandState, s as buildButtonProps, t as activateSlashCommands, u as resolveInteractionCallbackPath, v as renderMattermostProviderPickerView, w as resolveCallbackUrl, x as cleanupSlashCommands, y as resolveMattermostModelPickerCurrentModel } from "./slash-state-
|
|
4
|
+
import { C as registerSlashCommands, S as isSlashCommandsEnabled, T as resolveSlashCommandConfig, _ as renderMattermostModelsPickerView, a as sendMessageMattermost, b as DEFAULT_COMMAND_SPECS, c as computeInteractionCallbackUrl, d as setInteractionCallbackUrl, f as setInteractionSecret, g as parseMattermostModelPickerContext, h as buildMattermostAllowedModelRefs, l as createMattermostInteractionHandler, m as deliverMattermostReplyPayload, n as deactivateSlashCommands, o as resolveMattermostOpaqueTarget, p as createMattermostReplyDeliveryBarrier, r as getSlashCommandState, s as buildButtonProps, t as activateSlashCommands, u as resolveInteractionCallbackPath, v as renderMattermostProviderPickerView, w as resolveCallbackUrl, x as cleanupSlashCommands, y as resolveMattermostModelPickerCurrentModel } from "./slash-state-D1lza2ZZ.js";
|
|
5
5
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeStringEntries, normalizeTrimmedStringList, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
6
6
|
import { formatInboundFromLabel } from "openclaw/plugin-sdk/channel-inbound";
|
|
7
7
|
import { buildChannelProgressDraftLineForEntry, createChannelProgressDraftCompositor, createFinalizableDraftLifecycle, defineFinalizableLivePreviewAdapter, deliverWithFinalizableLivePreviewAdapter, resolveChannelStreamingPreviewToolProgress } from "openclaw/plugin-sdk/channel-outbound";
|
|
@@ -10,12 +10,14 @@ import { asDateTimestampMs, resolveExpiresAtMsFromDurationMs, resolveTimerTimeou
|
|
|
10
10
|
import { safeParseJsonWithSchema, safeParseWithSchema } from "openclaw/plugin-sdk/extension-shared";
|
|
11
11
|
import { buildTtsSupplementMediaPayload, countOutboundMedia, getReplyPayloadTtsSupplement, isReasoningReplyPayload } from "openclaw/plugin-sdk/reply-payload";
|
|
12
12
|
import { fetchWithSsrFGuard, isPrivateNetworkOptInEnabled, ssrfPolicyFromPrivateNetworkOptIn } from "openclaw/plugin-sdk/ssrf-runtime";
|
|
13
|
+
import { readProviderJsonResponse } from "openclaw/plugin-sdk/provider-http";
|
|
13
14
|
import { z } from "zod";
|
|
14
15
|
import { resolveInboundLastRouteSessionKey, resolveThreadSessionKeys } from "openclaw/plugin-sdk/routing";
|
|
15
16
|
import { resolvePinnedMainDmOwnerFromAllowlist } from "openclaw/plugin-sdk/security-runtime";
|
|
16
17
|
import { randomUUID } from "node:crypto";
|
|
17
18
|
import { isLoopbackHost } from "openclaw/plugin-sdk/gateway-runtime";
|
|
18
19
|
import { createClaimableDedupe } from "openclaw/plugin-sdk/persistent-dedupe";
|
|
20
|
+
import { sliceUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
|
|
19
21
|
import { captureWsEvent, createDebugProxyWebSocketAgent, resolveDebugProxySettings } from "openclaw/plugin-sdk/proxy-capture";
|
|
20
22
|
import WebSocket from "ws";
|
|
21
23
|
import { resolveGlobalDedupeCache } from "openclaw/plugin-sdk/dedupe-runtime";
|
|
@@ -151,7 +153,7 @@ function normalizeMattermostDraftText(text, maxChars) {
|
|
|
151
153
|
const trimmed = text.trim();
|
|
152
154
|
if (!trimmed) return "";
|
|
153
155
|
if (trimmed.length <= maxChars) return trimmed;
|
|
154
|
-
return `${trimmed
|
|
156
|
+
return `${sliceUtf16Safe(trimmed, 0, Math.max(0, maxChars - 3)).trimEnd()}...`;
|
|
155
157
|
}
|
|
156
158
|
function createMattermostDraftStream(params) {
|
|
157
159
|
const maxChars = Math.min(params.maxChars ?? MATTERMOST_STREAM_MAX_CHARS, MATTERMOST_STREAM_MAX_CHARS);
|
|
@@ -1776,7 +1778,7 @@ async function monitorMattermostProvider(opts = {}) {
|
|
|
1776
1778
|
cfg,
|
|
1777
1779
|
route: modelSessionRoute,
|
|
1778
1780
|
data,
|
|
1779
|
-
|
|
1781
|
+
readConsistency: "latest"
|
|
1780
1782
|
});
|
|
1781
1783
|
const view = renderMattermostModelsPickerView({
|
|
1782
1784
|
ownerUserId: pickerState.ownerUserId,
|
|
@@ -2563,7 +2565,7 @@ async function probeMattermost(baseUrl, botToken, timeoutMs = 2500, allowPrivate
|
|
|
2563
2565
|
elapsedMs
|
|
2564
2566
|
};
|
|
2565
2567
|
}
|
|
2566
|
-
const bot = await res
|
|
2568
|
+
const bot = await readProviderJsonResponse(res, "Mattermost probe /users/me");
|
|
2567
2569
|
return {
|
|
2568
2570
|
ok: true,
|
|
2569
2571
|
status: res.status,
|
package/dist/runtime-api.js
CHANGED
|
@@ -18,7 +18,7 @@ import { DEFAULT_ACCOUNT_ID, buildChannelConfigSchema, createDedupeCache, isTrus
|
|
|
18
18
|
import { chunkTextForOutbound } from "openclaw/plugin-sdk/text-chunking";
|
|
19
19
|
import { applyAccountNameToChannelSection, applySetupAccountConfigPatch, migrateBaseNameToDefaultAccount } from "openclaw/plugin-sdk/setup";
|
|
20
20
|
import { buildComputedAccountStatusSnapshot } from "openclaw/plugin-sdk/channel-status";
|
|
21
|
-
import {
|
|
21
|
+
import { resolveStorePath } from "openclaw/plugin-sdk/session-store-runtime";
|
|
22
22
|
import { normalizeAccountId, resolveThreadSessionKeys } from "openclaw/plugin-sdk/routing";
|
|
23
23
|
import { normalizeProviderId } from "openclaw/plugin-sdk/provider-model-shared";
|
|
24
|
-
export { DEFAULT_ACCOUNT_ID, DEFAULT_GROUP_HISTORY_LIMIT, GROUP_POLICY_BLOCKED_LABEL, applyAccountNameToChannelSection, applySetupAccountConfigPatch, buildAgentMediaPayload, buildChannelConfigSchema, buildComputedAccountStatusSnapshot, buildModelsProviderData, buildPendingHistoryContextFromMap, chunkTextForOutbound, clearHistoryEntriesIfEnabled, createAccountStatusSink, createChannelHistoryWindow, createChannelMessageReplyPipeline, createChannelPairingController, createDedupeCache, formatInboundFromLabel, getAgentScopedMediaLocalRoots, isDangerousNameMatchingEnabled, isRequestBodyLimitError, isTrustedProxyAddress, listSkillCommandsForAgents, loadOutboundMediaFromUrl,
|
|
24
|
+
export { DEFAULT_ACCOUNT_ID, DEFAULT_GROUP_HISTORY_LIMIT, GROUP_POLICY_BLOCKED_LABEL, applyAccountNameToChannelSection, applySetupAccountConfigPatch, buildAgentMediaPayload, buildChannelConfigSchema, buildComputedAccountStatusSnapshot, buildModelsProviderData, buildPendingHistoryContextFromMap, chunkTextForOutbound, clearHistoryEntriesIfEnabled, createAccountStatusSink, createChannelHistoryWindow, createChannelMessageReplyPipeline, createChannelPairingController, createDedupeCache, formatInboundFromLabel, getAgentScopedMediaLocalRoots, isDangerousNameMatchingEnabled, isRequestBodyLimitError, isTrustedProxyAddress, listSkillCommandsForAgents, loadOutboundMediaFromUrl, logInboundDrop, logTypingFailure, migrateBaseNameToDefaultAccount, normalizeAccountId, normalizeProviderId, parseStrictPositiveInteger, rawDataToString, readRequestBodyWithLimit, recordPendingHistoryEntryIfEnabled, registerPluginHttpRoute, resolveAllowlistMatchSimple, resolveAllowlistProviderRuntimeGroupPolicy, resolveChannelMediaMaxBytes, resolveClientIp, resolveControlCommandGate, resolveDefaultGroupPolicy, resolveStorePath, resolveStoredModelOverride, resolveThreadSessionKeys, setMattermostRuntime, warnMissingProviderGroupPolicyFallbackOnce };
|
package/dist/slash-route-api.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as registerSlashCommandRoute } from "./slash-state-
|
|
1
|
+
import { i as registerSlashCommandRoute } from "./slash-state-D1lza2ZZ.js";
|
|
2
2
|
export { registerSlashCommandRoute };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as normalizeMattermostAllowList, b as readRequestBodyWithLimit, d as createChannelMessageReplyPipeline, g as loadOutboundMediaFromUrl, l as buildModelsProviderData, m as isTrustedProxyAddress, p as isRequestBodyLimitError, t as authorizeMattermostCommandInvocation, v as logTypingFailure, w as resolveClientIp } from "./monitor-auth-BiDuyvOc.js";
|
|
2
|
-
import { b as updateMattermostPost, c as createMattermostPost, d as fetchMattermostChannelByName, f as fetchMattermostMe, g as normalizeMattermostBaseUrl, h as fetchMattermostUserTeams, m as fetchMattermostUserByUsername, o as createMattermostClient, p as fetchMattermostUser, r as resolveMattermostAccount, s as createMattermostDirectChannelWithRetry, u as fetchMattermostChannel, v as resolveMattermostReplyDeliveryBarrierTimeoutMs, x as uploadMattermostFile, y as sendMattermostTyping } from "./accounts-
|
|
2
|
+
import { b as updateMattermostPost, c as createMattermostPost, d as fetchMattermostChannelByName, f as fetchMattermostMe, g as normalizeMattermostBaseUrl, h as fetchMattermostUserTeams, m as fetchMattermostUserByUsername, o as createMattermostClient, p as fetchMattermostUser, r as resolveMattermostAccount, s as createMattermostDirectChannelWithRetry, u as fetchMattermostChannel, v as resolveMattermostReplyDeliveryBarrierTimeoutMs, x as uploadMattermostFile, y as sendMattermostTyping } from "./accounts-Bt60MyHp.js";
|
|
3
3
|
import { t as getMattermostRuntime } from "./runtime-CNB4YGqJ.js";
|
|
4
4
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeStringifiedOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
5
5
|
import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-outbound";
|
|
@@ -9,7 +9,7 @@ import { asDateTimestampMs, parseStrictInteger, resolveExpiresAtMsFromDurationMs
|
|
|
9
9
|
import { deliverTextOrMediaReply, isReasoningReplyPayload, resolveSendableOutboundReplyParts } from "openclaw/plugin-sdk/reply-payload";
|
|
10
10
|
import { isPrivateNetworkOptInEnabled } from "openclaw/plugin-sdk/ssrf-runtime";
|
|
11
11
|
import { convertMarkdownTables } from "openclaw/plugin-sdk/text-chunking";
|
|
12
|
-
import {
|
|
12
|
+
import { getSessionEntry, resolveStorePath } from "openclaw/plugin-sdk/session-store-runtime";
|
|
13
13
|
import { normalizeProviderId } from "openclaw/plugin-sdk/provider-model-shared";
|
|
14
14
|
import { Readable } from "node:stream";
|
|
15
15
|
import { safeEqualSecret } from "openclaw/plugin-sdk/security-runtime";
|
|
@@ -481,12 +481,20 @@ function resolveMattermostModelPickerCurrentModel(params) {
|
|
|
481
481
|
const fallback = `${params.data.resolvedDefault.provider}/${params.data.resolvedDefault.model}`;
|
|
482
482
|
try {
|
|
483
483
|
const storePath = resolveStorePath(params.cfg.session?.store, { agentId: params.route.agentId });
|
|
484
|
-
const
|
|
485
|
-
|
|
484
|
+
const sessionEntry = getSessionEntry({
|
|
485
|
+
storePath,
|
|
486
|
+
sessionKey: params.route.sessionKey,
|
|
487
|
+
...params.readConsistency === "latest" ? { readConsistency: "latest" } : {}
|
|
488
|
+
});
|
|
486
489
|
const override = resolveStoredModelOverride({
|
|
487
490
|
sessionEntry,
|
|
488
|
-
|
|
491
|
+
loadSessionEntry: (sessionKey) => getSessionEntry({
|
|
492
|
+
storePath,
|
|
493
|
+
sessionKey,
|
|
494
|
+
...params.readConsistency === "latest" ? { readConsistency: "latest" } : {}
|
|
495
|
+
}),
|
|
489
496
|
sessionKey: params.route.sessionKey,
|
|
497
|
+
parentSessionKey: sessionEntry?.parentSessionKey,
|
|
490
498
|
defaultProvider: params.data.resolvedDefault.provider
|
|
491
499
|
});
|
|
492
500
|
if (!override?.model) return fallback;
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/mattermost",
|
|
3
|
-
"version": "2026.
|
|
3
|
+
"version": "2026.7.1-beta.1",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@openclaw/mattermost",
|
|
9
|
-
"version": "2026.
|
|
9
|
+
"version": "2026.7.1-beta.1",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"ws": "8.21.0",
|
|
12
12
|
"zod": "4.4.3"
|
|
13
13
|
},
|
|
14
14
|
"peerDependencies": {
|
|
15
|
-
"openclaw": ">=2026.
|
|
15
|
+
"openclaw": ">=2026.7.1-beta.1"
|
|
16
16
|
},
|
|
17
17
|
"peerDependenciesMeta": {
|
|
18
18
|
"openclaw": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/mattermost",
|
|
3
|
-
"version": "2026.
|
|
3
|
+
"version": "2026.7.1-beta.1",
|
|
4
4
|
"description": "OpenClaw Mattermost channel plugin",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"zod": "4.4.3"
|
|
13
13
|
},
|
|
14
14
|
"peerDependencies": {
|
|
15
|
-
"openclaw": ">=2026.
|
|
15
|
+
"openclaw": ">=2026.7.1-beta.1"
|
|
16
16
|
},
|
|
17
17
|
"peerDependenciesMeta": {
|
|
18
18
|
"openclaw": {
|
|
@@ -41,10 +41,10 @@
|
|
|
41
41
|
"allowInvalidConfigRecovery": true
|
|
42
42
|
},
|
|
43
43
|
"compat": {
|
|
44
|
-
"pluginApi": ">=2026.
|
|
44
|
+
"pluginApi": ">=2026.7.1-beta.1"
|
|
45
45
|
},
|
|
46
46
|
"build": {
|
|
47
|
-
"openclawVersion": "2026.
|
|
47
|
+
"openclawVersion": "2026.7.1-beta.1",
|
|
48
48
|
"bundledDist": false
|
|
49
49
|
},
|
|
50
50
|
"release": {
|