@openclaw/slack 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.
Files changed (78) hide show
  1. package/dist/{account-inspect-DEKpg9Ip.js → account-inspect-Drw2gAiN.js} +1 -1
  2. package/dist/account-inspect-api.js +1 -1
  3. package/dist/{accounts-CHAeNZOX.js → accounts-CK4AVI2_.js} +2 -2
  4. package/dist/{accounts.runtime-BHD4Ma2R.js → accounts.runtime-Cb7QwWBz.js} +1 -1
  5. package/dist/{action-runtime-DfuYoMjG.js → action-runtime-BkGe7ny_.js} +148 -76
  6. package/dist/action-runtime.runtime-D9I6uc0Q.js +2 -0
  7. package/dist/{actions-D3NuJvva.js → actions-BTDXwwE3.js} +85 -44
  8. package/dist/actions.runtime-DLFyUkvg.js +2 -0
  9. package/dist/api.js +15 -15
  10. package/dist/{approval-handler.runtime-BA05P0QT.js → approval-handler.runtime-CJaNzAq2.js} +51 -14
  11. package/dist/{block-text-DkHaoGem.js → block-text-YtiNkqmx.js} +1 -1
  12. package/dist/{channel-B9fVdW3s.js → channel-D_tovcUL.js} +151 -91
  13. package/dist/channel-config-api.js +1 -1
  14. package/dist/channel-plugin-api.js +1 -1
  15. package/dist/{channel-type-DXyos1d2.js → channel-type-B9MSdoGN.js} +9 -8
  16. package/dist/{config-adapter-CxBQH8fq.js → channel.setup-Bch9dYmA.js} +83 -25
  17. package/dist/{config-schema-SgZT6nXV.js → config-schema-xto5jFIx.js} +5 -11
  18. package/dist/{directory-config-CnCIAktf.js → directory-config-CNBz8lJa.js} +3 -3
  19. package/dist/directory-contract-api.js +1 -1
  20. package/dist/{directory-live-DKunWh3A.js → directory-live-CFKUtW9E.js} +13 -22
  21. package/dist/{doctor-contract-CsGH1Dfc.js → doctor-contract-BAy7-EUQ.js} +30 -3
  22. package/dist/doctor-contract-api.js +1 -1
  23. package/dist/{group-policy-NQZti9t-.js → group-policy-c4RP9bjc.js} +248 -163
  24. package/dist/index.js +4 -1
  25. package/dist/{message-tool-api-DkhFpMoy.js → message-tool-api-BykQB4AU.js} +14 -3
  26. package/dist/message-tool-api.js +1 -1
  27. package/dist/{monitor-CmKz0wtI.js → monitor-1nF1NtqT.js} +3 -3
  28. package/dist/{outbound-adapter-BkuMp2Vs.js → outbound-adapter-S81tsswN.js} +19 -17
  29. package/dist/{pipeline.runtime-DgtmuYCP.js → pipeline.runtime-BvYsM5JO.js} +1087 -682
  30. package/dist/{policy-PRysPn23.js → policy-TapwbeaT.js} +18 -14
  31. package/dist/{probe-CgDsSops.js → probe-HoEg_WxB.js} +38 -18
  32. package/dist/{provider-DmRizMZt.js → provider-CDNvBXUi.js} +3422 -2590
  33. package/dist/{relay-source-Blxj8xb4.js → relay-source-C9leF11u.js} +11 -21
  34. package/dist/{replies-4s_Vq_z9.js → replies-CeOfv82I.js} +52 -6
  35. package/dist/{resolve-channels-yEqmM-3I.js → resolve-channels-CNPrxaXY.js} +39 -12
  36. package/dist/{resolve-users-BOrt5K-5.js → resolve-users-Dzomuwnr.js} +28 -5
  37. package/dist/{runtime-api-QMb-Q5Ko.js → runtime-api-Cj9nxBNv.js} +3 -3
  38. package/dist/runtime-api.js +11 -11
  39. package/dist/{scopes-BJSrkAp6.js → scopes-cYXKkrRD.js} +1 -1
  40. package/dist/{send-DsLeZpST.js → send-Nor0iBwY.js} +211 -105
  41. package/dist/{send.runtime-gUdK6V3h.js → send.runtime-BmgNe6S9.js} +1 -1
  42. package/dist/setup-entry.js +1 -4
  43. package/dist/setup-plugin-api.js +1 -1
  44. package/dist/{setup-surface-BeNzrMrJ.js → setup-surface-CbX1-Knh.js} +6 -6
  45. package/dist/{shared-DgIN3Dcr.js → shared-zdT5AMp-.js} +36 -42
  46. package/dist/{slash-dispatch.runtime-zPkyl7dB.js → slash-dispatch.runtime-Bnr9GR1S.js} +1 -1
  47. package/dist/{streaming-compat-3_X-21wW.js → streaming-compat-B-e0mqM0.js} +3 -8
  48. package/dist/{target-parsing-N6lHogYZ.js → target-parsing-BnMD2ZqZ.js} +40 -2
  49. package/dist/{targets-KmjP2E8s.js → targets-Cx5W_n3W.js} +1 -1
  50. package/node_modules/@slack/bolt/node_modules/@types/node/README.md +1 -1
  51. package/node_modules/@slack/bolt/node_modules/@types/node/crypto.d.ts +1 -1
  52. package/node_modules/@slack/bolt/node_modules/@types/node/package.json +2 -2
  53. package/node_modules/@slack/socket-mode/node_modules/@types/node/README.md +1 -1
  54. package/node_modules/@slack/socket-mode/node_modules/@types/node/crypto.d.ts +1 -1
  55. package/node_modules/@slack/socket-mode/node_modules/@types/node/package.json +2 -2
  56. package/node_modules/@slack/web-api/node_modules/@types/node/README.md +1 -1
  57. package/node_modules/@slack/web-api/node_modules/@types/node/crypto.d.ts +1 -1
  58. package/node_modules/@slack/web-api/node_modules/@types/node/package.json +2 -2
  59. package/node_modules/undici/lib/cache/memory-cache-store.js +54 -9
  60. package/node_modules/undici/lib/cache/sqlite-cache-store.js +7 -1
  61. package/node_modules/undici/lib/core/request.js +12 -1
  62. package/node_modules/undici/lib/dispatcher/client-h1.js +11 -2
  63. package/node_modules/undici/lib/handler/cache-handler.js +246 -64
  64. package/node_modules/undici/lib/handler/cache-revalidation-handler.js +3 -3
  65. package/node_modules/undici/lib/handler/retry-handler.js +24 -0
  66. package/node_modules/undici/lib/interceptor/cache.js +159 -52
  67. package/node_modules/undici/lib/util/cache.js +324 -62
  68. package/node_modules/undici/lib/util/date.js +23 -6
  69. package/node_modules/undici/lib/web/cookies/util.js +79 -9
  70. package/node_modules/undici/package.json +1 -1
  71. package/openclaw.plugin.json +239 -34
  72. package/package.json +9 -9
  73. package/skills/slack/SKILL.md +10 -68
  74. package/dist/action-runtime.runtime-DQErZYpz.js +0 -2
  75. package/dist/actions.runtime-BIRU_G4M.js +0 -2
  76. package/dist/channel.setup-CLP5oTvh.js +0 -56
  77. package/dist/preflight-audio.runtime-D5Bgags0.js +0 -3
  78. package/dist/slash-plugin-commands.runtime-Dosfcx3X.js +0 -2
@@ -1,8 +1,8 @@
1
- import { c as formatUnknownError, s as SLACK_SOCKET_RECONNECT_POLICY } from "./provider-DmRizMZt.js";
2
- import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
1
+ import { f as SLACK_SOCKET_RECONNECT_POLICY, p as formatUnknownError } from "./provider-CDNvBXUi.js";
2
+ import { asOptionalRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
3
3
  import { computeBackoff, sleepWithAbort, warn } from "openclaw/plugin-sdk/runtime-env";
4
- import { Buffer } from "node:buffer";
5
4
  import { isIP } from "node:net";
5
+ import { rawDataToString } from "openclaw/plugin-sdk/webhook-ingress";
6
6
  import WebSocket from "ws";
7
7
  //#region extensions/slack/src/monitor/relay-source.ts
8
8
  const SLACK_RELAY_ROUTE_KINDS = /* @__PURE__ */ new Set([
@@ -21,8 +21,7 @@ async function monitorSlackRelaySource(params) {
21
21
  params.setStatus?.({
22
22
  connected: true,
23
23
  lastConnectedAt: Date.now(),
24
- healthState: "healthy",
25
- lastError: null
24
+ ...params.identityHealth
26
25
  });
27
26
  params.runtime.log?.(`slack relay mode connected gateway_id:${params.config.gatewayId}`);
28
27
  await runRelayWebSocket({
@@ -39,7 +38,7 @@ async function monitorSlackRelaySource(params) {
39
38
  const delayMs = computeBackoff(SLACK_SOCKET_RECONNECT_POLICY, reconnectAttempts);
40
39
  params.setStatus?.({
41
40
  connected: false,
42
- healthState: "disconnected",
41
+ lifecycle: "recovering",
43
42
  lastDisconnect: {
44
43
  at: Date.now(),
45
44
  error: formatUnknownError(err)
@@ -125,7 +124,7 @@ function runRelayWebSocket(params) {
125
124
  const closeReason = formatRelayClose(code, reason);
126
125
  params.setStatus?.({
127
126
  connected: false,
128
- healthState: "disconnected",
127
+ lifecycle: "recovering",
129
128
  lastDisconnect: {
130
129
  at: Date.now(),
131
130
  error: closeReason
@@ -204,20 +203,14 @@ function parseRelayFrame(data) {
204
203
  throw new SlackRelayMalformedFrameError("Slack relay received malformed JSON frame", { cause });
205
204
  }
206
205
  }
207
- function rawDataToString(data) {
208
- if (typeof data === "string") return data;
209
- if (Buffer.isBuffer(data)) return data.toString("utf8");
210
- if (Array.isArray(data)) return Buffer.concat(data).toString("utf8");
211
- return Buffer.from(data).toString("utf8");
212
- }
213
206
  function extractRelaySlackMessageEvent(frame) {
214
- const record = asRecord(frame);
207
+ const record = asOptionalRecord(frame);
215
208
  if (!record || record.type !== "slack_event") return;
216
209
  const deliveryId = stringValue(record.delivery_id);
217
- const routeRecord = asRecord(record.route);
210
+ const routeRecord = asOptionalRecord(record.route);
218
211
  const routeKind = stringValue(routeRecord?.kind);
219
212
  const routeKey = stringValue(routeRecord?.key);
220
- const event = asRecord(asRecord(record.payload)?.event);
213
+ const event = asOptionalRecord(asOptionalRecord(record.payload)?.event);
221
214
  if (event?.type !== "message" || typeof event.channel !== "string") return;
222
215
  if (!deliveryId || !routeKind || !SLACK_RELAY_ROUTE_KINDS.has(routeKind) || !routeKey) return;
223
216
  return {
@@ -230,12 +223,12 @@ function extractRelaySlackMessageEvent(frame) {
230
223
  };
231
224
  }
232
225
  function extractRelayHello(frame) {
233
- const record = asRecord(frame);
226
+ const record = asOptionalRecord(frame);
234
227
  if (!record || record.type !== "hello") return;
235
228
  return { identity: extractRelayIdentity(record) };
236
229
  }
237
230
  function extractRelayIdentity(record) {
238
- const identityRecord = asRecord(record.slack_identity) ?? asRecord(record.slackIdentity);
231
+ const identityRecord = asOptionalRecord(record.slack_identity) ?? asOptionalRecord(record.slackIdentity);
239
232
  if (!identityRecord) return;
240
233
  const username = normalizeOptionalString(identityRecord.username);
241
234
  const iconUrl = normalizeOptionalString(identityRecord.icon_url) ?? normalizeOptionalString(identityRecord.iconUrl);
@@ -262,9 +255,6 @@ function formatRelayClose(code, reason) {
262
255
  const text = reason.toString("utf8");
263
256
  return text ? `Slack relay websocket closed (${code} ${text})` : `Slack relay websocket closed (${code})`;
264
257
  }
265
- function asRecord(value) {
266
- return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
267
- }
268
258
  function stringValue(value) {
269
259
  return typeof value === "string" ? value : void 0;
270
260
  }
@@ -1,6 +1,6 @@
1
- import { C as hasSlackNativeDataBlock, E as isSlackNativeResponseUrlRejection, L as SLACK_TEXT_LIMIT, T as isSlackInvalidBlocksResponse, f as hasSlackReplyStructuredContent, h as resolveSlackReplyBlocks, j as buildSlackBlocksFallbackText, k as markdownToSlackMrkdwnChunks, m as resolveSlackReplyBlockResolution, x as buildSlackNativeDataAccessibilityText } from "./group-policy-NQZti9t-.js";
2
- import { d as chunkSlackTextAtHardLimit, r as sendMessageSlack, u as buildSlackNativeDataDeliveryPlan } from "./send-DsLeZpST.js";
3
- import { a as createSlackResponseUrlBudget, i as SlackResponseAlreadyReportedError } from "./provider-DmRizMZt.js";
1
+ import { B as SLACK_TEXT_LIMIT, C as buildSlackNativeDataAccessibilityText, D as isSlackInvalidBlocksResponse, N as buildSlackBlocksFallbackText, O as isSlackNativeResponseUrlRejection, T as hasSlackNativeDataBlock, _ as resolveSlackReplyBlocks, g as resolveSlackReplyBlockResolution, j as markdownToSlackMrkdwnChunks, m as hasSlackReplyStructuredContent } from "./group-policy-c4RP9bjc.js";
2
+ import { m as chunkSlackTextAtHardLimit, p as buildSlackNativeDataDeliveryPlan, r as sendMessageSlack } from "./send-Nor0iBwY.js";
3
+ import { a as createSlackResponseUrlBudget, i as SlackResponseAlreadyReportedError } from "./provider-CDNvBXUi.js";
4
4
  import { createReplyReferencePlanner } from "openclaw/plugin-sdk/reply-reference";
5
5
  import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
6
6
  import { SILENT_REPLY_TOKEN, chunkMarkdownTextWithMode, isSilentReplyText } from "openclaw/plugin-sdk/reply-chunking";
@@ -64,6 +64,52 @@ function emitSlackMessageSentHooks(params) {
64
64
  }
65
65
  //#endregion
66
66
  //#region extensions/slack/src/monitor/replies.ts
67
+ function compactSlackResponseUrlFallback(messages) {
68
+ if (messages.length <= 1) return [...messages];
69
+ if (messages.every((message) => !message.blocks?.length)) return chunkSlackTextAtHardLimit(messages.map((message) => message.text).join("")).map((text) => ({
70
+ text,
71
+ mrkdwn: false
72
+ }));
73
+ const compacted = [];
74
+ let pending;
75
+ const flush = () => {
76
+ if (pending) {
77
+ compacted.push(pending);
78
+ pending = void 0;
79
+ }
80
+ };
81
+ for (const message of messages) {
82
+ if (!message.blocks?.length) {
83
+ flush();
84
+ compacted.push(message);
85
+ continue;
86
+ }
87
+ if (!pending?.blocks?.length) {
88
+ pending = {
89
+ ...message,
90
+ blocks: [...message.blocks]
91
+ };
92
+ continue;
93
+ }
94
+ const text = `${pending.text}\n\n${message.text}`;
95
+ const blocks = [...pending.blocks, ...message.blocks];
96
+ if (text.length > 4e4 || blocks.length > 50) {
97
+ flush();
98
+ pending = {
99
+ ...message,
100
+ blocks: [...message.blocks]
101
+ };
102
+ continue;
103
+ }
104
+ pending = {
105
+ text,
106
+ blocks,
107
+ mrkdwn: false
108
+ };
109
+ }
110
+ flush();
111
+ return compacted;
112
+ }
67
113
  function readSlackReplyBlocks(payload) {
68
114
  return resolveSlackReplyBlocks(payload);
69
115
  }
@@ -88,8 +134,7 @@ async function deliverReplies(params) {
88
134
  ...input.textIsSlackMrkdwn ? { textIsSlackMrkdwn: true } : {},
89
135
  ...input.textIsSlackPlainText ? { textIsSlackPlainText: true } : {},
90
136
  ...params.eventScope ? {
91
- client: params.eventScope.client,
92
- enterpriseEventScope: params.eventScope,
137
+ eventScope: params.eventScope,
93
138
  textLimit: params.textLimit,
94
139
  ...params.mediaMaxBytes !== void 0 ? { mediaMaxBytes: params.mediaMaxBytes } : {}
95
140
  } : {},
@@ -264,13 +309,14 @@ async function deliverSlackSlashReplies(params) {
264
309
  blocks: input.blocks,
265
310
  baseText: input.baseText
266
311
  });
312
+ const nativeFallback = responseBudget.remaining() === void 0 ? plan.fallbackMessages : compactSlackResponseUrlFallback(plan.fallbackMessages);
267
313
  return {
268
314
  message: {
269
315
  text: plan.accessibilityText,
270
316
  blocks: input.blocks,
271
317
  mrkdwn: false
272
318
  },
273
- nativeFallback: plan.fallbackMessages,
319
+ nativeFallback,
274
320
  ...plan.skipOriginalBlocks ? { skipOriginalBlocks: true } : {}
275
321
  };
276
322
  };
@@ -1,10 +1,29 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { a as createSlackLookupClient } from "./probe-CgDsSops.js";
2
+ import { a as parseSlackTarget, n as formatSlackTarget } from "./target-parsing-BnMD2ZqZ.js";
3
+ import { i as createSlackLookupClient } from "./probe-HoEg_WxB.js";
3
4
  import { t as collectSlackCursorPages } from "./cursor-pages-eX7p8Wwt.js";
4
5
  import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
5
6
  import { resolveDirectoryAllowlistEntries } from "openclaw/plugin-sdk/directory-runtime";
6
7
  //#region extensions/slack/src/resolve-channels.ts
7
8
  var resolve_channels_exports = /* @__PURE__ */ __exportAll({ resolveSlackChannelAllowlist: () => resolveSlackChannelAllowlist });
9
+ function resolveWorkspaceQualifiedChannel(input) {
10
+ if (!/^team:/i.test(input)) return;
11
+ try {
12
+ const target = parseSlackTarget(input);
13
+ if (target?.kind !== "channel" || !target.teamId) return;
14
+ return {
15
+ input,
16
+ resolved: true,
17
+ id: formatSlackTarget({
18
+ teamId: target.teamId,
19
+ kind: "channel",
20
+ id: target.id
21
+ })
22
+ };
23
+ } catch {
24
+ return;
25
+ }
26
+ }
8
27
  function parseSlackChannelMention(raw) {
9
28
  const trimmed = raw.trim();
10
29
  if (!trimmed) return {};
@@ -47,20 +66,26 @@ function resolveByName(name, channels) {
47
66
  return matches.find((channel) => !channel.archived) ?? matches[0];
48
67
  }
49
68
  async function resolveSlackChannelAllowlist(params) {
50
- const parsedEntries = params.entries.map((input) => ({
69
+ const workspaceResolved = params.entries.map(resolveWorkspaceQualifiedChannel);
70
+ const lookupEntries = params.entries.filter((_, index) => !workspaceResolved[index]);
71
+ if (lookupEntries.length === 0) return workspaceResolved.filter((entry) => entry !== void 0);
72
+ const parsedEntries = lookupEntries.map((input) => ({
51
73
  input,
52
74
  parsed: parseSlackChannelMention(input)
53
75
  }));
54
- if (parsedEntries.every((entry) => Boolean(entry.parsed.id))) return parsedEntries.map(({ input, parsed }) => ({
55
- input,
56
- resolved: true,
57
- id: parsed.id,
58
- name: parsed.name
59
- }));
60
- const channels = await listSlackChannels(params.client ?? createSlackLookupClient(params.token));
61
- return resolveDirectoryAllowlistEntries({
62
- entries: params.entries,
63
- lookup: channels,
76
+ if (parsedEntries.every((entry) => Boolean(entry.parsed.id))) {
77
+ const resolved = parsedEntries.map(({ input, parsed }) => ({
78
+ input,
79
+ resolved: true,
80
+ id: parsed.id,
81
+ name: parsed.name
82
+ }));
83
+ let resolvedIndex = 0;
84
+ return workspaceResolved.map((entry) => entry ?? resolved[resolvedIndex++]);
85
+ }
86
+ const resolved = resolveDirectoryAllowlistEntries({
87
+ entries: lookupEntries,
88
+ lookup: await listSlackChannels(params.client ?? createSlackLookupClient(params.token)),
64
89
  parseInput: parseSlackChannelMention,
65
90
  findById: (lookup, id) => lookup.find((channel) => channel.id === id),
66
91
  buildIdResolved: ({ input, parsed, match }) => ({
@@ -87,6 +112,8 @@ async function resolveSlackChannelAllowlist(params) {
87
112
  resolved: false
88
113
  })
89
114
  });
115
+ let resolvedIndex = 0;
116
+ return workspaceResolved.map((entry) => entry ?? resolved[resolvedIndex++]);
90
117
  }
91
118
  //#endregion
92
119
  export { resolve_channels_exports as n, resolveSlackChannelAllowlist as t };
@@ -1,10 +1,29 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { a as createSlackLookupClient } from "./probe-CgDsSops.js";
2
+ import { a as parseSlackTarget, n as formatSlackTarget } from "./target-parsing-BnMD2ZqZ.js";
3
+ import { i as createSlackLookupClient } from "./probe-HoEg_WxB.js";
3
4
  import { t as collectSlackCursorPages } from "./cursor-pages-eX7p8Wwt.js";
4
5
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
5
6
  import { resolveDirectoryAllowlistEntries } from "openclaw/plugin-sdk/directory-runtime";
6
7
  //#region extensions/slack/src/resolve-users.ts
7
8
  var resolve_users_exports = /* @__PURE__ */ __exportAll({ resolveSlackUserAllowlist: () => resolveSlackUserAllowlist });
9
+ function resolveWorkspaceQualifiedUser(input) {
10
+ if (!/^team:/i.test(input)) return;
11
+ try {
12
+ const target = parseSlackTarget(input);
13
+ if (target?.kind !== "user" || !target.teamId) return;
14
+ return {
15
+ input,
16
+ resolved: true,
17
+ id: formatSlackTarget({
18
+ teamId: target.teamId,
19
+ kind: "user",
20
+ id: target.id
21
+ })
22
+ };
23
+ } catch {
24
+ return;
25
+ }
26
+ }
8
27
  function parseSlackUserInput(raw) {
9
28
  const trimmed = raw.trim();
10
29
  if (!trimmed) return {};
@@ -76,10 +95,12 @@ function resolveSlackUserFromMatches(input, matches, parsed) {
76
95
  };
77
96
  }
78
97
  async function resolveSlackUserAllowlist(params) {
79
- const users = await listSlackUsers(params.client ?? createSlackLookupClient(params.token));
80
- return resolveDirectoryAllowlistEntries({
81
- entries: params.entries,
82
- lookup: users,
98
+ const workspaceResolved = params.entries.map(resolveWorkspaceQualifiedUser);
99
+ const lookupEntries = params.entries.filter((_, index) => !workspaceResolved[index]);
100
+ if (lookupEntries.length === 0) return workspaceResolved.filter((entry) => entry !== void 0);
101
+ const resolved = resolveDirectoryAllowlistEntries({
102
+ entries: lookupEntries,
103
+ lookup: await listSlackUsers(params.client ?? createSlackLookupClient(params.token)),
83
104
  parseInput: parseSlackUserInput,
84
105
  findById: (lookup, id) => lookup.find((user) => user.id === id),
85
106
  buildIdResolved: ({ input, parsed, match }) => ({
@@ -113,6 +134,8 @@ async function resolveSlackUserAllowlist(params) {
113
134
  resolved: false
114
135
  })
115
136
  });
137
+ let resolvedIndex = 0;
138
+ return workspaceResolved.map((entry) => entry ?? resolved[resolvedIndex++]);
116
139
  }
117
140
  //#endregion
118
141
  export { resolve_users_exports as n, resolveSlackUserAllowlist as t };
@@ -1,6 +1,6 @@
1
- import "./target-parsing-N6lHogYZ.js";
2
- import "./probe-CgDsSops.js";
3
- import "./config-schema-SgZT6nXV.js";
1
+ import "./target-parsing-BnMD2ZqZ.js";
2
+ import "./probe-HoEg_WxB.js";
3
+ import "./config-schema-xto5jFIx.js";
4
4
  import "openclaw/plugin-sdk/account-id";
5
5
  import { createActionGate as createActionGate$1, imageResultFromFile, jsonResult, readPositiveIntegerParam, readReactionParams, readStringParam, withNormalizedTimestamp } from "openclaw/plugin-sdk/channel-actions";
6
6
  import "openclaw/plugin-sdk/channel-status";
@@ -1,14 +1,14 @@
1
1
  import { t as registerSlackPluginHttpRoutes } from "./plugin-routes-CLp4obpN.js";
2
- import { a as resolveSlackAccount, d as resolveSlackAppToken, f as resolveSlackBotToken, i as resolveDefaultSlackAccountId, n as listSlackAccountIds, t as listEnabledSlackAccounts } from "./accounts-CHAeNZOX.js";
3
- import { n as resolveSlackGroupRequireMention, r as resolveSlackGroupToolPolicy } from "./group-policy-NQZti9t-.js";
4
- import { t as probeSlack } from "./probe-CgDsSops.js";
2
+ import { a as resolveSlackAccount, d as resolveSlackAppToken, f as resolveSlackBotToken, i as resolveDefaultSlackAccountId, n as listSlackAccountIds, t as listEnabledSlackAccounts } from "./accounts-CK4AVI2_.js";
3
+ import { i as resolveSlackGroupToolPolicy, r as resolveSlackGroupRequireMention } from "./group-policy-c4RP9bjc.js";
4
+ import { t as probeSlack } from "./probe-HoEg_WxB.js";
5
5
  import { r as setSlackRuntime } from "./runtime-JSVZSWAj.js";
6
- import { a as listSlackEmojis, c as pinSlackMessage, d as removeOwnSlackReactions, f as removeSlackReaction, h as unpinSlackMessage, i as getSlackMemberInfo, l as reactSlackMessage, m as sendSlackMessage, o as listSlackPins, r as editSlackMessage, s as listSlackReactions, t as deleteSlackMessage, u as readSlackMessages } from "./actions-D3NuJvva.js";
7
- import { r as sendMessageSlack } from "./send-DsLeZpST.js";
8
- import { t as resolveSlackChannelAllowlist } from "./resolve-channels-yEqmM-3I.js";
9
- import { t as resolveSlackUserAllowlist } from "./resolve-users-BOrt5K-5.js";
10
- import { t as monitorSlackProvider } from "./provider-DmRizMZt.js";
11
- import { n as slackActionRuntime, t as handleSlackAction } from "./action-runtime-DfuYoMjG.js";
12
- import { n as listSlackDirectoryGroupsLive, r as listSlackDirectoryPeersLive } from "./directory-live-DKunWh3A.js";
13
- import "./monitor-CmKz0wtI.js";
6
+ import { a as getSlackMemberInfo, c as listSlackReactions, d as readSlackMessages, f as removeOwnSlackReactions, g as unpinSlackMessage, h as sendSlackMessage, l as pinSlackMessage, o as listSlackEmojis, p as removeSlackReaction, r as editSlackMessage, s as listSlackPins, t as deleteSlackMessage, u as reactSlackMessage } from "./actions-BTDXwwE3.js";
7
+ import { r as sendMessageSlack } from "./send-Nor0iBwY.js";
8
+ import { t as resolveSlackChannelAllowlist } from "./resolve-channels-CNPrxaXY.js";
9
+ import { t as resolveSlackUserAllowlist } from "./resolve-users-Dzomuwnr.js";
10
+ import { t as monitorSlackProvider } from "./provider-CDNvBXUi.js";
11
+ import { n as slackActionRuntime, t as handleSlackAction } from "./action-runtime-BkGe7ny_.js";
12
+ import { n as listSlackDirectoryGroupsLive, r as listSlackDirectoryPeersLive } from "./directory-live-CFKUtW9E.js";
13
+ import "./monitor-1nF1NtqT.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 };
@@ -1,4 +1,4 @@
1
- import { o as createSlackReadClient, r as formatSlackError } from "./probe-CgDsSops.js";
1
+ import { a as createSlackReadClient, r as formatSlackError } from "./probe-HoEg_WxB.js";
2
2
  import { isRecord, normalizeOptionalString, normalizeStringEntries, sortUniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
3
3
  //#region extensions/slack/src/scopes.ts
4
4
  function collectScopes(value, into) {