@openclaw/slack 2026.5.14-beta.2 → 2026.5.16-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/{action-runtime-CyE2jfW-.js → action-runtime-p39JLqwf.js} +1 -1
- package/dist/action-runtime.runtime-BzrPV3EA.js +2 -0
- package/dist/{actions-BibhOXpJ.js → actions-BCRbHv1Q.js} +3 -2
- package/dist/{actions.runtime-B9XQG6X4.js → actions.runtime-CpywQR3D.js} +1 -1
- package/dist/api.js +5 -5
- package/dist/{approval-handler.runtime-BjzVRaXN.js → approval-handler.runtime-DXrdRbkT.js} +1 -1
- package/dist/{channel-Dh07mU_K.js → channel-CVSopl66.js} +9 -9
- package/dist/channel-plugin-api.js +1 -1
- package/dist/{channel.setup-CmG37S2W.js → channel.setup-DknBgufI.js} +2 -2
- package/dist/inbound-contract-test-api.js +1 -1
- package/dist/{monitor-DDE5AI2O.js → monitor-CdVxsuHi.js} +2 -2
- package/dist/{outbound-adapter-BluPNDNi.js → outbound-adapter-CHm6e-0Q.js} +1 -1
- package/dist/outbound-payload-test-api.js +1 -1
- package/dist/{outbound-payload.test-harness-BNxnP6MC.js → outbound-payload.test-harness-C0CW7_CE.js} +1 -1
- package/dist/{pipeline.runtime-Dft2-QU4.js → pipeline.runtime-CakcaQh9.js} +113 -136
- package/dist/{prepare-D0tMg4dt.js → prepare-DSRUr44d.js} +220 -81
- package/dist/{provider-C6WxaFFf.js → provider-bKg1hkf5.js} +139 -7
- package/dist/{replies-D0QXXSPP.js → replies-Fg1T3ZzU.js} +2 -2
- package/dist/runtime-api.js +5 -5
- package/dist/{send-Dg9zcyYT.js → send-CxXFbqN1.js} +1 -1
- package/dist/send.runtime-BHCPpSj_.js +2 -0
- package/dist/send.runtime-CDG5AgU3.js +2 -0
- package/dist/{setup-core-WWQl-cE9.js → setup-core-B7pou7oe.js} +23 -22
- package/dist/setup-plugin-api.js +1 -1
- package/dist/{setup-surface-BLoTgna4.js → setup-surface-D6LLzeRz.js} +14 -13
- package/dist/{shared-GoB-OuUq.js → shared-7Vi9j4aV.js} +1 -1
- package/dist/{slash-dispatch.runtime-Bz_OkRcR.js → slash-dispatch.runtime-Cg7uU92H.js} +1 -1
- package/dist/test-api.js +5 -5
- package/package.json +6 -5
- package/dist/action-runtime.runtime-DLhfKw4B.js +0 -2
- package/dist/send.runtime-CjjQ9StM.js +0 -2
- package/dist/send.runtime-E47jGN-2.js +0 -2
package/dist/runtime-api.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { a as resolveSlackAccount, d as resolveSlackBotToken, i as resolveDefaultSlackAccountId, n as listSlackAccountIds, t as listEnabledSlackAccounts, u as resolveSlackAppToken } from "./accounts-yk5K3wQU.js";
|
|
2
2
|
import { n as resolveSlackGroupRequireMention, r as resolveSlackGroupToolPolicy } from "./reply-blocks-BFaJ_ejG.js";
|
|
3
3
|
import { n as setSlackRuntime } from "./runtime-DQxkf7k2.js";
|
|
4
|
-
import { t as sendMessageSlack } from "./send-
|
|
5
|
-
import { a as listSlackEmojis, c as pinSlackMessage, d as removeOwnSlackReactions, f as removeSlackReaction, i as getSlackMemberInfo, l as reactSlackMessage, m as unpinSlackMessage, o as listSlackPins, p as sendSlackMessage, r as editSlackMessage, s as listSlackReactions, t as deleteSlackMessage, u as readSlackMessages } from "./actions-
|
|
4
|
+
import { t as sendMessageSlack } from "./send-CxXFbqN1.js";
|
|
5
|
+
import { a as listSlackEmojis, c as pinSlackMessage, d as removeOwnSlackReactions, f as removeSlackReaction, i as getSlackMemberInfo, l as reactSlackMessage, m as unpinSlackMessage, o as listSlackPins, p as sendSlackMessage, r as editSlackMessage, s as listSlackReactions, t as deleteSlackMessage, u as readSlackMessages } from "./actions-BCRbHv1Q.js";
|
|
6
6
|
import { t as probeSlack } from "./probe-FL4sUJsH.js";
|
|
7
7
|
import { t as resolveSlackChannelAllowlist } from "./resolve-channels-B_eKaOkE.js";
|
|
8
8
|
import { t as resolveSlackUserAllowlist } from "./resolve-users-BzBAJwvq.js";
|
|
9
|
-
import { t as monitorSlackProvider } from "./provider-
|
|
9
|
+
import { t as monitorSlackProvider } from "./provider-bKg1hkf5.js";
|
|
10
10
|
import { t as registerSlackPluginHttpRoutes } from "./plugin-routes-CRnfsTTX.js";
|
|
11
|
-
import { n as slackActionRuntime, t as handleSlackAction } from "./action-runtime-
|
|
11
|
+
import { n as slackActionRuntime, t as handleSlackAction } from "./action-runtime-p39JLqwf.js";
|
|
12
12
|
import { n as listSlackDirectoryGroupsLive, r as listSlackDirectoryPeersLive } from "./directory-live-CZPzpQZF.js";
|
|
13
|
-
import "./monitor-
|
|
13
|
+
import "./monitor-CdVxsuHi.js";
|
|
14
14
|
export { deleteSlackMessage, editSlackMessage, getSlackMemberInfo, handleSlackAction, listEnabledSlackAccounts, listSlackAccountIds, listSlackDirectoryGroupsLive, listSlackDirectoryPeersLive, listSlackEmojis, listSlackPins, listSlackReactions, monitorSlackProvider, pinSlackMessage, probeSlack, reactSlackMessage, readSlackMessages, registerSlackPluginHttpRoutes, removeOwnSlackReactions, removeSlackReaction, resolveDefaultSlackAccountId, resolveSlackAccount, resolveSlackAppToken, resolveSlackBotToken, resolveSlackChannelAllowlist, resolveSlackGroupRequireMention, resolveSlackGroupToolPolicy, resolveSlackUserAllowlist, sendMessageSlack, sendSlackMessage, setSlackRuntime, slackActionRuntime, unpinSlackMessage };
|
|
@@ -298,7 +298,7 @@ function hasCustomIdentity(identity) {
|
|
|
298
298
|
}
|
|
299
299
|
function buildSlackUnfurlPayload(options) {
|
|
300
300
|
return {
|
|
301
|
-
|
|
301
|
+
unfurl_links: options?.unfurlLinks ?? false,
|
|
302
302
|
...typeof options?.unfurlMedia === "boolean" ? { unfurl_media: options.unfurlMedia } : {}
|
|
303
303
|
};
|
|
304
304
|
}
|
|
@@ -2,7 +2,7 @@ import { a as resolveSlackAccount } from "./accounts-yk5K3wQU.js";
|
|
|
2
2
|
import { t as inspectSlackAccount } from "./account-inspect-BJyQLSkN.js";
|
|
3
3
|
import { hasConfiguredSecretInput } from "openclaw/plugin-sdk/secret-input";
|
|
4
4
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
5
|
-
import { DEFAULT_ACCOUNT_ID, createAccountScopedAllowFromSection, createAccountScopedGroupAccessSection, createAllowlistSetupWizardProxy, createEnvPatchedAccountSetupAdapter, createLegacyCompatChannelDmPolicy, createStandardChannelSetupStatus, parseMentionOrPrefixedId, patchChannelConfigForAccount, setSetupChannelEnabled } from "openclaw/plugin-sdk/setup-runtime";
|
|
5
|
+
import { DEFAULT_ACCOUNT_ID, createAccountScopedAllowFromSection, createAccountScopedGroupAccessSection, createAllowlistSetupWizardProxy, createEnvPatchedAccountSetupAdapter, createLegacyCompatChannelDmPolicy, createSetupTranslator, createStandardChannelSetupStatus, parseMentionOrPrefixedId, patchChannelConfigForAccount, setSetupChannelEnabled } from "openclaw/plugin-sdk/setup-runtime";
|
|
6
6
|
import { formatDocsLink } from "openclaw/plugin-sdk/setup-tools";
|
|
7
7
|
import { describeAccountSnapshot } from "openclaw/plugin-sdk/account-helpers";
|
|
8
8
|
//#region extensions/slack/src/setup-shared.ts
|
|
@@ -113,6 +113,7 @@ function describeSlackSetupAccount(account) {
|
|
|
113
113
|
}
|
|
114
114
|
//#endregion
|
|
115
115
|
//#region extensions/slack/src/setup-core.ts
|
|
116
|
+
const t = createSetupTranslator();
|
|
116
117
|
function enableSlackAccount(cfg, accountId) {
|
|
117
118
|
return patchChannelConfigForAccount({
|
|
118
119
|
cfg,
|
|
@@ -201,10 +202,10 @@ function createSlackSetupWizardBase(handlers) {
|
|
|
201
202
|
channel: SLACK_CHANNEL,
|
|
202
203
|
status: createStandardChannelSetupStatus({
|
|
203
204
|
channelLabel: "Slack",
|
|
204
|
-
configuredLabel: "
|
|
205
|
-
unconfiguredLabel: "
|
|
206
|
-
configuredHint: "
|
|
207
|
-
unconfiguredHint: "
|
|
205
|
+
configuredLabel: t("wizard.channels.statusConfigured"),
|
|
206
|
+
unconfiguredLabel: t("wizard.channels.statusNeedsTokens"),
|
|
207
|
+
configuredHint: t("wizard.channels.statusConfigured"),
|
|
208
|
+
unconfiguredHint: t("wizard.channels.statusNeedsTokens"),
|
|
208
209
|
configuredScore: 2,
|
|
209
210
|
unconfiguredScore: 1,
|
|
210
211
|
resolveConfigured: ({ cfg, accountId }) => inspectSlackAccount({
|
|
@@ -213,7 +214,7 @@ function createSlackSetupWizardBase(handlers) {
|
|
|
213
214
|
}).configured
|
|
214
215
|
}),
|
|
215
216
|
introNote: {
|
|
216
|
-
title: "
|
|
217
|
+
title: t("wizard.slack.socketModeTokensTitle"),
|
|
217
218
|
lines: buildSlackSetupLines(),
|
|
218
219
|
shouldShow: ({ cfg, accountId }) => !isSlackSetupAccountConfigured(resolveSlackAccount({
|
|
219
220
|
cfg,
|
|
@@ -230,7 +231,7 @@ function createSlackSetupWizardBase(handlers) {
|
|
|
230
231
|
else await prompter.note(manifest, "Slack manifest JSON");
|
|
231
232
|
},
|
|
232
233
|
envShortcut: {
|
|
233
|
-
prompt: "
|
|
234
|
+
prompt: t("wizard.slack.envPrompt"),
|
|
234
235
|
preferredEnvVar: "SLACK_BOT_TOKEN",
|
|
235
236
|
isAvailable: ({ cfg, accountId }) => accountId === DEFAULT_ACCOUNT_ID && Boolean(process.env.SLACK_BOT_TOKEN?.trim()) && Boolean(process.env.SLACK_APP_TOKEN?.trim()) && !isSlackSetupAccountConfigured(resolveSlackAccount({
|
|
236
237
|
cfg,
|
|
@@ -241,34 +242,34 @@ function createSlackSetupWizardBase(handlers) {
|
|
|
241
242
|
credentials: [createSlackTokenCredential({
|
|
242
243
|
inputKey: "botToken",
|
|
243
244
|
providerHint: "slack-bot",
|
|
244
|
-
credentialLabel: "
|
|
245
|
+
credentialLabel: t("wizard.slack.botToken"),
|
|
245
246
|
preferredEnvVar: "SLACK_BOT_TOKEN",
|
|
246
|
-
keepPrompt: "
|
|
247
|
-
inputPrompt: "
|
|
247
|
+
keepPrompt: t("wizard.slack.botTokenKeep"),
|
|
248
|
+
inputPrompt: t("wizard.slack.botTokenInput")
|
|
248
249
|
}), createSlackTokenCredential({
|
|
249
250
|
inputKey: "appToken",
|
|
250
251
|
providerHint: "slack-app",
|
|
251
|
-
credentialLabel: "
|
|
252
|
+
credentialLabel: t("wizard.slack.appToken"),
|
|
252
253
|
preferredEnvVar: "SLACK_APP_TOKEN",
|
|
253
|
-
keepPrompt: "
|
|
254
|
-
inputPrompt: "
|
|
254
|
+
keepPrompt: t("wizard.slack.appTokenKeep"),
|
|
255
|
+
inputPrompt: t("wizard.slack.appTokenInput")
|
|
255
256
|
})],
|
|
256
257
|
dmPolicy: slackDmPolicy,
|
|
257
258
|
allowFrom: createAccountScopedAllowFromSection({
|
|
258
259
|
channel: SLACK_CHANNEL,
|
|
259
260
|
credentialInputKey: "botToken",
|
|
260
|
-
helpTitle: "
|
|
261
|
+
helpTitle: t("wizard.slack.allowlistTitle"),
|
|
261
262
|
helpLines: [
|
|
262
|
-
"
|
|
263
|
-
"
|
|
263
|
+
t("wizard.slack.allowlistIntro"),
|
|
264
|
+
t("wizard.slack.examples"),
|
|
264
265
|
"- U12345678",
|
|
265
266
|
"- @alice",
|
|
266
|
-
"
|
|
267
|
-
|
|
267
|
+
t("wizard.slack.multipleEntries"),
|
|
268
|
+
t("wizard.channels.docs", { link: formatDocsLink("/slack", "slack") })
|
|
268
269
|
],
|
|
269
|
-
message: "
|
|
270
|
+
message: t("wizard.slack.allowFromPrompt"),
|
|
270
271
|
placeholder: "@alice, U12345678",
|
|
271
|
-
invalidWithoutCredentialNote: "
|
|
272
|
+
invalidWithoutCredentialNote: t("wizard.slack.allowFromInvalidWithoutToken"),
|
|
272
273
|
parseId: (value) => parseMentionOrPrefixedId({
|
|
273
274
|
value,
|
|
274
275
|
mentionPattern: /^<@([A-Z0-9]+)>$/i,
|
|
@@ -280,7 +281,7 @@ function createSlackSetupWizardBase(handlers) {
|
|
|
280
281
|
}),
|
|
281
282
|
groupAccess: createAccountScopedGroupAccessSection({
|
|
282
283
|
channel: SLACK_CHANNEL,
|
|
283
|
-
label: "
|
|
284
|
+
label: t("wizard.slack.channelsLabel"),
|
|
284
285
|
placeholder: "#general, #private, C123",
|
|
285
286
|
currentPolicy: ({ cfg, accountId }) => resolveSlackAccount({
|
|
286
287
|
cfg,
|
|
@@ -302,7 +303,7 @@ function createSlackSetupWizardBase(handlers) {
|
|
|
302
303
|
if (hasSlackInteractiveRepliesConfig(cfg, accountId)) return;
|
|
303
304
|
if (options?.quickstartDefaults) return { cfg: setSlackInteractiveReplies(cfg, accountId, true) };
|
|
304
305
|
return { cfg: setSlackInteractiveReplies(cfg, accountId, await prompter.confirm({
|
|
305
|
-
message: "
|
|
306
|
+
message: t("wizard.slack.interactiveRepliesPrompt"),
|
|
306
307
|
initialValue: true
|
|
307
308
|
})) };
|
|
308
309
|
},
|
package/dist/setup-plugin-api.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as slackSetupPlugin } from "./channel.setup-
|
|
1
|
+
import { t as slackSetupPlugin } from "./channel.setup-DknBgufI.js";
|
|
2
2
|
export { slackSetupPlugin };
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { a as resolveSlackAccount, i as resolveDefaultSlackAccountId, o as resolveSlackAccountAllowFrom } from "./accounts-yk5K3wQU.js";
|
|
2
|
-
import "./shared-
|
|
3
|
-
import { i as SLACK_CHANNEL, t as createSlackSetupWizardBase } from "./setup-core-
|
|
2
|
+
import "./shared-7Vi9j4aV.js";
|
|
3
|
+
import { i as SLACK_CHANNEL, t as createSlackSetupWizardBase } from "./setup-core-B7pou7oe.js";
|
|
4
4
|
import { t as resolveSlackChannelAllowlist } from "./resolve-channels-B_eKaOkE.js";
|
|
5
5
|
import { t as resolveSlackUserAllowlist } from "./resolve-users-BzBAJwvq.js";
|
|
6
6
|
import { adaptScopedAccountAccessor } from "openclaw/plugin-sdk/channel-config-helpers";
|
|
7
|
-
import { noteChannelLookupFailure, noteChannelLookupSummary, parseMentionOrPrefixedId, promptLegacyChannelAllowFromForAccount, resolveEntriesWithOptionalToken } from "openclaw/plugin-sdk/setup-runtime";
|
|
7
|
+
import { createSetupTranslator, noteChannelLookupFailure, noteChannelLookupSummary, parseMentionOrPrefixedId, promptLegacyChannelAllowFromForAccount, resolveEntriesWithOptionalToken } from "openclaw/plugin-sdk/setup-runtime";
|
|
8
8
|
import { formatDocsLink } from "openclaw/plugin-sdk/setup-tools";
|
|
9
9
|
//#region extensions/slack/src/setup-surface.ts
|
|
10
|
+
const t = createSetupTranslator();
|
|
10
11
|
async function resolveSlackAllowFromEntries(params) {
|
|
11
12
|
return await resolveEntriesWithOptionalToken({
|
|
12
13
|
token: params.token,
|
|
@@ -46,19 +47,19 @@ async function promptSlackAllowFrom(params) {
|
|
|
46
47
|
accountId: account.accountId
|
|
47
48
|
}) ?? [],
|
|
48
49
|
resolveToken: (account) => account.userToken ?? account.botToken ?? "",
|
|
49
|
-
noteTitle: "
|
|
50
|
+
noteTitle: t("wizard.slack.allowlistTitle"),
|
|
50
51
|
noteLines: [
|
|
51
|
-
"
|
|
52
|
-
"
|
|
52
|
+
t("wizard.slack.allowlistIntro"),
|
|
53
|
+
t("wizard.slack.examples"),
|
|
53
54
|
"- U12345678",
|
|
54
55
|
"- @alice",
|
|
55
|
-
"
|
|
56
|
-
|
|
56
|
+
t("wizard.slack.multipleEntries"),
|
|
57
|
+
t("wizard.channels.docs", { link: formatDocsLink("/slack", "slack") })
|
|
57
58
|
],
|
|
58
|
-
message: "
|
|
59
|
+
message: t("wizard.slack.allowFromPrompt"),
|
|
59
60
|
placeholder: "@alice, U12345678",
|
|
60
61
|
parseId,
|
|
61
|
-
invalidWithoutTokenNote: "
|
|
62
|
+
invalidWithoutTokenNote: t("wizard.slack.allowFromInvalidWithoutToken"),
|
|
62
63
|
resolveEntries: async ({ token, entries }) => (await resolveSlackUserAllowlist({
|
|
63
64
|
token,
|
|
64
65
|
entries
|
|
@@ -94,9 +95,9 @@ async function resolveSlackGroupAllowlist(params) {
|
|
|
94
95
|
keys = [...resolvedKeys, ...unresolved.map((entry) => entry.trim()).filter(Boolean)];
|
|
95
96
|
await noteChannelLookupSummary({
|
|
96
97
|
prompter: params.prompter,
|
|
97
|
-
label: "
|
|
98
|
+
label: t("wizard.slack.channelsLabel"),
|
|
98
99
|
resolvedSections: [{
|
|
99
|
-
title: "
|
|
100
|
+
title: t("wizard.channels.resolvedTitle"),
|
|
100
101
|
values: resolvedKeys
|
|
101
102
|
}],
|
|
102
103
|
unresolved
|
|
@@ -104,7 +105,7 @@ async function resolveSlackGroupAllowlist(params) {
|
|
|
104
105
|
} catch (error) {
|
|
105
106
|
await noteChannelLookupFailure({
|
|
106
107
|
prompter: params.prompter,
|
|
107
|
-
label: "
|
|
108
|
+
label: t("wizard.slack.channelsLabel"),
|
|
108
109
|
error
|
|
109
110
|
});
|
|
110
111
|
}
|
|
@@ -2,7 +2,7 @@ import { a as resolveSlackAccount, c as resolveSlackConfigAccessorAccount, i as
|
|
|
2
2
|
import { t as inspectSlackAccount } from "./account-inspect-BJyQLSkN.js";
|
|
3
3
|
import { n as isSlackInteractiveRepliesEnabled } from "./interactive-replies-BSg5hXhj.js";
|
|
4
4
|
import { f as getChatChannelMeta } from "./client-C_IaJbi5.js";
|
|
5
|
-
import { i as SLACK_CHANNEL } from "./setup-core-
|
|
5
|
+
import { i as SLACK_CHANNEL } from "./setup-core-B7pou7oe.js";
|
|
6
6
|
import { t as SlackChannelConfigSchema } from "./config-schema-CNRousxw.js";
|
|
7
7
|
import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-B8QIWMs1.js";
|
|
8
8
|
import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-0TL3L5Kb.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as deliverSlackSlashReplies$1 } from "./replies-
|
|
1
|
+
import { r as deliverSlackSlashReplies$1 } from "./replies-Fg1T3ZzU.js";
|
|
2
2
|
import { resolveAgentRoute as resolveAgentRoute$1 } from "openclaw/plugin-sdk/routing";
|
|
3
3
|
import { resolveMarkdownTableMode as resolveMarkdownTableMode$1 } from "openclaw/plugin-sdk/markdown-table-runtime";
|
|
4
4
|
import { recordInboundSessionMetaSafe as recordInboundSessionMetaSafe$1, resolveConversationLabel as resolveConversationLabel$1 } from "openclaw/plugin-sdk/conversation-runtime";
|
package/dist/test-api.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { a as createSlackActions, t as slackPlugin } from "./channel-
|
|
1
|
+
import { a as createSlackActions, t as slackPlugin } from "./channel-CVSopl66.js";
|
|
2
2
|
import { n as setSlackRuntime } from "./runtime-DQxkf7k2.js";
|
|
3
|
-
import { t as sendMessageSlack } from "./send-
|
|
4
|
-
import { t as prepareSlackMessage } from "./prepare-
|
|
3
|
+
import { t as sendMessageSlack } from "./send-CxXFbqN1.js";
|
|
4
|
+
import { t as prepareSlackMessage } from "./prepare-DSRUr44d.js";
|
|
5
5
|
import { t as createInboundSlackTestContext } from "./prepare.test-helpers-CU1qB54Q.js";
|
|
6
|
-
import { t as createSlackOutboundPayloadHarness } from "./outbound-payload.test-harness-
|
|
7
|
-
import { n as slackOutbound } from "./outbound-adapter-
|
|
6
|
+
import { t as createSlackOutboundPayloadHarness } from "./outbound-payload.test-harness-C0CW7_CE.js";
|
|
7
|
+
import { n as slackOutbound } from "./outbound-adapter-CHm6e-0Q.js";
|
|
8
8
|
export { createInboundSlackTestContext, createSlackActions, createSlackOutboundPayloadHarness, prepareSlackMessage, sendMessageSlack, setSlackRuntime, slackOutbound, slackPlugin };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/slack",
|
|
3
|
-
"version": "2026.5.
|
|
3
|
+
"version": "2026.5.16-beta.2",
|
|
4
4
|
"description": "OpenClaw Slack channel plugin",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"openclaw": "workspace:*"
|
|
21
21
|
},
|
|
22
22
|
"peerDependencies": {
|
|
23
|
-
"openclaw": ">=2026.5.
|
|
23
|
+
"openclaw": ">=2026.5.16-beta.2"
|
|
24
24
|
},
|
|
25
25
|
"peerDependenciesMeta": {
|
|
26
26
|
"openclaw": {
|
|
@@ -61,13 +61,14 @@
|
|
|
61
61
|
"install": {
|
|
62
62
|
"npmSpec": "@openclaw/slack",
|
|
63
63
|
"defaultChoice": "npm",
|
|
64
|
-
"minHostVersion": ">=2026.5.12-beta.1"
|
|
64
|
+
"minHostVersion": ">=2026.5.12-beta.1",
|
|
65
|
+
"allowInvalidConfigRecovery": true
|
|
65
66
|
},
|
|
66
67
|
"compat": {
|
|
67
|
-
"pluginApi": ">=2026.5.
|
|
68
|
+
"pluginApi": ">=2026.5.16-beta.2"
|
|
68
69
|
},
|
|
69
70
|
"build": {
|
|
70
|
-
"openclawVersion": "2026.5.
|
|
71
|
+
"openclawVersion": "2026.5.16-beta.2",
|
|
71
72
|
"bundledDist": false
|
|
72
73
|
},
|
|
73
74
|
"release": {
|