@hypercli.com/sdk 2026.6.21 → 2026.7.31

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 (87) hide show
  1. package/README.md +82 -1
  2. package/dist/agent.d.ts +19 -2
  3. package/dist/agent.d.ts.map +1 -1
  4. package/dist/agent.js +24 -0
  5. package/dist/agent.js.map +1 -1
  6. package/dist/agents.d.ts +561 -41
  7. package/dist/agents.d.ts.map +1 -1
  8. package/dist/agents.js +2016 -106
  9. package/dist/agents.js.map +1 -1
  10. package/dist/browser.d.ts +3 -1
  11. package/dist/browser.d.ts.map +1 -1
  12. package/dist/browser.js +9 -2
  13. package/dist/browser.js.map +1 -1
  14. package/dist/channels.d.ts +156 -0
  15. package/dist/channels.d.ts.map +1 -0
  16. package/dist/channels.js +110 -0
  17. package/dist/channels.js.map +1 -0
  18. package/dist/client.d.ts +2 -0
  19. package/dist/client.d.ts.map +1 -1
  20. package/dist/client.js +9 -3
  21. package/dist/client.js.map +1 -1
  22. package/dist/connectors.d.ts +79 -0
  23. package/dist/connectors.d.ts.map +1 -0
  24. package/dist/connectors.js +2 -0
  25. package/dist/connectors.js.map +1 -0
  26. package/dist/http.d.ts +10 -3
  27. package/dist/http.d.ts.map +1 -1
  28. package/dist/http.js +135 -61
  29. package/dist/http.js.map +1 -1
  30. package/dist/index.d.ts +12 -4
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +8 -2
  33. package/dist/index.js.map +1 -1
  34. package/dist/keys.d.ts +6 -1
  35. package/dist/keys.d.ts.map +1 -1
  36. package/dist/keys.js +8 -1
  37. package/dist/keys.js.map +1 -1
  38. package/dist/openclaw/channels.d.ts +86 -0
  39. package/dist/openclaw/channels.d.ts.map +1 -0
  40. package/dist/openclaw/channels.js +290 -0
  41. package/dist/openclaw/channels.js.map +1 -0
  42. package/dist/openclaw/connectors.d.ts +61 -0
  43. package/dist/openclaw/connectors.d.ts.map +1 -0
  44. package/dist/openclaw/connectors.js +174 -0
  45. package/dist/openclaw/connectors.js.map +1 -0
  46. package/dist/openclaw/gateway.d.ts +733 -15
  47. package/dist/openclaw/gateway.d.ts.map +1 -1
  48. package/dist/openclaw/gateway.js +1720 -181
  49. package/dist/openclaw/gateway.js.map +1 -1
  50. package/dist/openclaw/skills.d.ts +106 -0
  51. package/dist/openclaw/skills.d.ts.map +1 -0
  52. package/dist/openclaw/skills.js +575 -0
  53. package/dist/openclaw/skills.js.map +1 -0
  54. package/dist/openclaw/slack.d.ts +818 -0
  55. package/dist/openclaw/slack.d.ts.map +1 -0
  56. package/dist/openclaw/slack.js +536 -0
  57. package/dist/openclaw/slack.js.map +1 -0
  58. package/dist/openclaw/whatsapp.d.ts +63 -0
  59. package/dist/openclaw/whatsapp.d.ts.map +1 -0
  60. package/dist/openclaw/whatsapp.js +264 -0
  61. package/dist/openclaw/whatsapp.js.map +1 -0
  62. package/dist/renders.js +11 -11
  63. package/dist/renders.js.map +1 -1
  64. package/dist/skills.d.ts +126 -0
  65. package/dist/skills.d.ts.map +1 -0
  66. package/dist/skills.js +2 -0
  67. package/dist/skills.js.map +1 -0
  68. package/dist/user.d.ts +15 -2
  69. package/dist/user.d.ts.map +1 -1
  70. package/dist/user.js +51 -4
  71. package/dist/user.js.map +1 -1
  72. package/dist/voice-session.d.ts +74 -0
  73. package/dist/voice-session.d.ts.map +1 -0
  74. package/dist/voice-session.js +255 -0
  75. package/dist/voice-session.js.map +1 -0
  76. package/dist/voice.d.ts +27 -3
  77. package/dist/voice.d.ts.map +1 -1
  78. package/dist/voice.js +89 -6
  79. package/dist/voice.js.map +1 -1
  80. package/dist/workspaces.d.ts +181 -0
  81. package/dist/workspaces.d.ts.map +1 -0
  82. package/dist/workspaces.js +495 -0
  83. package/dist/workspaces.js.map +1 -0
  84. package/dist/x402.d.ts.map +1 -1
  85. package/dist/x402.js +1 -2
  86. package/dist/x402.js.map +1 -1
  87. package/package.json +38 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack.d.ts","sourceRoot":"","sources":["../../src/openclaw/slack.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,536 @@
1
+ import { isOpenClawGatewayMethodUnsupported, } from './gateway.js';
2
+ const SAFE_CLI_ACCOUNT_ID = /^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/;
3
+ const PAIRING_CODE = /^[A-HJ-NP-Z2-9]{8}$/;
4
+ let idempotencySequence = 0;
5
+ function asRecord(value) {
6
+ return value && typeof value === 'object' && !Array.isArray(value)
7
+ ? value
8
+ : undefined;
9
+ }
10
+ function cloneValue(value) {
11
+ if (Array.isArray(value))
12
+ return value.map(cloneValue);
13
+ const record = asRecord(value);
14
+ if (!record)
15
+ return value;
16
+ return Object.fromEntries(Object.entries(record).map(([key, entry]) => [key, cloneValue(entry)]));
17
+ }
18
+ function requiredString(value, label) {
19
+ const normalized = value.trim();
20
+ if (!normalized)
21
+ throw new Error(`${label} must be nonempty.`);
22
+ return normalized;
23
+ }
24
+ function hasSecret(value) {
25
+ if (typeof value === 'string')
26
+ return value.trim().length > 0;
27
+ return Boolean(value && value.provider.trim() && value.id.trim());
28
+ }
29
+ function assertSecret(value, label) {
30
+ if (!hasSecret(value))
31
+ throw new Error(`${label} is required.`);
32
+ }
33
+ function assertRelayUrl(raw) {
34
+ const value = requiredString(raw, 'Slack relay URL');
35
+ let url;
36
+ try {
37
+ url = new URL(value);
38
+ }
39
+ catch {
40
+ throw new Error('Slack relay URL is invalid.');
41
+ }
42
+ const localhost = url.hostname === 'localhost' || url.hostname === '127.0.0.1' || url.hostname === '[::1]';
43
+ if (url.protocol !== 'wss:' && !(localhost && url.protocol === 'ws:')) {
44
+ throw new Error('Slack relay URL must use wss except for localhost.');
45
+ }
46
+ return value;
47
+ }
48
+ function idempotencyKey(explicit) {
49
+ if (explicit !== undefined)
50
+ return requiredString(explicit, 'Idempotency key');
51
+ const randomUUID = globalThis.crypto?.randomUUID;
52
+ if (typeof randomUUID === 'function')
53
+ return `slack-${randomUUID.call(globalThis.crypto)}`;
54
+ idempotencySequence += 1;
55
+ return `slack-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}-${idempotencySequence.toString(36)}`;
56
+ }
57
+ function commandOutput(result) {
58
+ if (typeof result === 'string')
59
+ return { stdout: result, stderr: '', exitCode: 0 };
60
+ return {
61
+ stdout: result.stdout ?? '',
62
+ stderr: result.stderr ?? '',
63
+ exitCode: result.exitCode ?? result.exit_code ?? 0,
64
+ };
65
+ }
66
+ function cliPluginEntries(value) {
67
+ if (Array.isArray(value))
68
+ return value.map(asRecord).filter((entry) => Boolean(entry));
69
+ const record = asRecord(value);
70
+ if (!record)
71
+ throw new Error('OpenClaw plugin inventory returned unexpected JSON.');
72
+ for (const key of ['plugins', 'entries', 'items']) {
73
+ const collection = record[key];
74
+ if (Array.isArray(collection)) {
75
+ return collection.map(asRecord).filter((entry) => Boolean(entry));
76
+ }
77
+ const mapped = asRecord(collection);
78
+ if (mapped) {
79
+ return Object.entries(mapped).flatMap(([id, entry]) => {
80
+ const plugin = asRecord(entry);
81
+ return plugin ? [{ id, ...plugin }] : [];
82
+ });
83
+ }
84
+ }
85
+ throw new Error('OpenClaw plugin inventory returned unexpected JSON.');
86
+ }
87
+ function cliSlackPlugin(stdout) {
88
+ let parsed;
89
+ try {
90
+ parsed = JSON.parse(stdout);
91
+ }
92
+ catch {
93
+ throw new Error('OpenClaw plugin inventory returned invalid JSON.');
94
+ }
95
+ const entry = cliPluginEntries(parsed).find((candidate) => {
96
+ const identifiers = [candidate.id, candidate.pluginId, candidate.packageName, candidate.package, candidate.spec];
97
+ return identifiers.some((identifier) => {
98
+ const normalized = typeof identifier === 'string' ? identifier.trim().toLowerCase() : '';
99
+ return normalized === 'slack' || normalized === '@openclaw/slack' || normalized.startsWith('@openclaw/slack@');
100
+ });
101
+ });
102
+ if (!entry)
103
+ return undefined;
104
+ const state = [entry.state, entry.status, entry.loadStatus]
105
+ .find((value) => typeof value === 'string')
106
+ ?.trim().toLowerCase();
107
+ const installed = entry.installed !== false && !['not-installed', 'missing', 'uninstalled'].includes(state ?? '');
108
+ const enabled = typeof entry.enabled === 'boolean'
109
+ ? entry.enabled
110
+ : installed && !['disabled', 'blocked', 'denied', 'not-enabled'].includes(state ?? '');
111
+ return {
112
+ ...entry,
113
+ id: 'slack',
114
+ name: typeof entry.name === 'string' && entry.name.trim() ? entry.name : 'Slack',
115
+ installed,
116
+ enabled,
117
+ state: state ?? (enabled ? 'enabled' : 'disabled'),
118
+ };
119
+ }
120
+ export class OpenClawSlackProvider {
121
+ client;
122
+ options;
123
+ constructor(client, options = {}) {
124
+ this.client = client;
125
+ this.options = options;
126
+ }
127
+ async getConfig() {
128
+ const config = await this.client.configGet();
129
+ return cloneValue(asRecord(asRecord(config.channels)?.slack));
130
+ }
131
+ async getSchema() {
132
+ return await this.client.configSchemaLookup('channels.slack');
133
+ }
134
+ async getAccountConfig(accountId) {
135
+ const id = requiredString(accountId, 'Slack account id');
136
+ const config = await this.getConfig();
137
+ if (!config?.accounts || !Object.prototype.hasOwnProperty.call(config.accounts, id))
138
+ return undefined;
139
+ return cloneValue(config.accounts[id]);
140
+ }
141
+ async patchConfig(patch) {
142
+ await this.client.configPatch({ channels: { slack: patch } });
143
+ }
144
+ async patchAccount(accountId, patch) {
145
+ const id = requiredString(accountId, 'Slack account id');
146
+ await this.client.configPatch({ channels: { slack: { accounts: { [id]: patch } } } });
147
+ }
148
+ async configureSocket(config, accountId) {
149
+ assertSecret(config.botToken, 'Slack bot token');
150
+ assertSecret(config.appToken, 'Slack app token');
151
+ await this.patchTransport({ ...config, mode: 'socket' }, accountId);
152
+ }
153
+ async configureHttp(config, accountId) {
154
+ assertSecret(config.botToken, 'Slack bot token');
155
+ assertSecret(config.signingSecret, 'Slack signing secret');
156
+ await this.patchTransport({ ...config, mode: 'http' }, accountId);
157
+ }
158
+ async configureRelay(config, accountId) {
159
+ assertSecret(config.botToken, 'Slack bot token');
160
+ assertSecret(config.relay.authToken, 'Slack relay auth token');
161
+ requiredString(config.relay.gatewayId, 'Slack relay gateway id');
162
+ if (config.enterpriseOrgInstall === true) {
163
+ throw new Error('Slack relay mode is unavailable for Enterprise Grid organization installs.');
164
+ }
165
+ const relay = { ...config.relay, url: assertRelayUrl(config.relay.url) };
166
+ await this.patchTransport({ ...config, enterpriseOrgInstall: false, relay, mode: 'relay' }, accountId);
167
+ }
168
+ async removeConfig() {
169
+ await this.client.configPatch({ channels: { slack: null } });
170
+ }
171
+ async removeAccount(accountId) {
172
+ const id = requiredString(accountId, 'Slack account id');
173
+ await this.client.configPatch({ channels: { slack: { accounts: { [id]: null } } } });
174
+ }
175
+ async setDefaultAccount(accountId) {
176
+ const id = requiredString(accountId, 'Slack account id');
177
+ await this.client.configPatch({ channels: { slack: { defaultAccount: id } } });
178
+ }
179
+ async status(accountId) {
180
+ return this.readStatus(false, accountId);
181
+ }
182
+ async probe(accountId, timeoutMs) {
183
+ return this.readStatus(true, accountId, timeoutMs);
184
+ }
185
+ async start(accountId) {
186
+ return await this.client.channelsStart('slack', accountId === undefined ? undefined : requiredString(accountId, 'Slack account id'));
187
+ }
188
+ async stop(accountId) {
189
+ return await this.client.channelsStop('slack', accountId === undefined ? undefined : requiredString(accountId, 'Slack account id'));
190
+ }
191
+ async logout(accountId) {
192
+ return await this.client.channelsLogout('slack', accountId === undefined ? undefined : requiredString(accountId, 'Slack account id'));
193
+ }
194
+ async pluginInfo() {
195
+ const support = await this.pluginSupport();
196
+ return support.supported ? support.plugin : undefined;
197
+ }
198
+ async pluginSupport() {
199
+ try {
200
+ const result = await this.client.pluginsList();
201
+ const plugin = result.plugins.find((candidate) => candidate.id === 'slack');
202
+ return {
203
+ supported: true,
204
+ mutationAllowed: result.mutationAllowed,
205
+ ...(plugin ? { plugin } : {}),
206
+ };
207
+ }
208
+ catch (error) {
209
+ if (isOpenClawGatewayMethodUnsupported(error, 'plugins.list')) {
210
+ return { supported: false, mutationAllowed: false };
211
+ }
212
+ throw error;
213
+ }
214
+ }
215
+ async ensurePluginInstalled() {
216
+ const support = await this.pluginSupport();
217
+ if (!support.supported)
218
+ throw new Error('Slack support management is unavailable on this gateway version.');
219
+ const current = support.plugin;
220
+ if (current?.installed) {
221
+ if (current.enabled) {
222
+ return { plugin: current, changed: false, restartRequired: false };
223
+ }
224
+ if (!support.mutationAllowed)
225
+ throw new Error('Slack support changes are not allowed by this gateway.');
226
+ const enabled = await this.setPluginEnabled(true);
227
+ return {
228
+ plugin: enabled.plugin,
229
+ changed: true,
230
+ restartRequired: enabled.restartRequired,
231
+ ...(enabled.warnings ? { warnings: enabled.warnings } : {}),
232
+ };
233
+ }
234
+ if (!current?.install) {
235
+ throw new Error('Slack plugin is not installed and no install action is advertised.');
236
+ }
237
+ if (!support.mutationAllowed)
238
+ throw new Error('Slack support changes are not allowed by this gateway.');
239
+ const installed = await this.client.pluginsInstall(current.install);
240
+ if (installed.plugin.enabled) {
241
+ return {
242
+ plugin: installed.plugin,
243
+ changed: true,
244
+ restartRequired: installed.restartRequired,
245
+ ...(installed.warnings ? { warnings: installed.warnings } : {}),
246
+ };
247
+ }
248
+ const enabled = await this.setPluginEnabled(true);
249
+ const warnings = [...(installed.warnings ?? []), ...(enabled.warnings ?? [])];
250
+ return {
251
+ plugin: enabled.plugin,
252
+ changed: true,
253
+ restartRequired: installed.restartRequired || enabled.restartRequired,
254
+ ...(warnings.length > 0 ? { warnings } : {}),
255
+ };
256
+ }
257
+ async ensurePluginInstalledWithCli() {
258
+ const runner = this.requireCommandRunner();
259
+ const listed = commandOutput(await runner('openclaw plugins list --json'));
260
+ if (listed.exitCode !== 0) {
261
+ throw new Error(listed.stderr.trim() || listed.stdout.trim() || 'Could not inspect Slack support.');
262
+ }
263
+ const current = cliSlackPlugin(listed.stdout.trim());
264
+ if (current?.installed && current.enabled) {
265
+ return { plugin: current, changed: false, restartRequired: false };
266
+ }
267
+ if (!current?.installed) {
268
+ const installed = commandOutput(await runner('openclaw plugins install @openclaw/slack'));
269
+ if (installed.exitCode !== 0) {
270
+ throw new Error(installed.stderr.trim() || installed.stdout.trim() || 'Could not install Slack support.');
271
+ }
272
+ }
273
+ const enabled = commandOutput(await runner('openclaw plugins enable slack'));
274
+ if (enabled.exitCode !== 0) {
275
+ throw new Error(enabled.stderr.trim() || enabled.stdout.trim() || 'Could not enable Slack support.');
276
+ }
277
+ const verified = commandOutput(await runner('openclaw plugins list --json'));
278
+ if (verified.exitCode !== 0) {
279
+ throw new Error(verified.stderr.trim() || verified.stdout.trim() || 'Could not verify Slack support after installation.');
280
+ }
281
+ const plugin = cliSlackPlugin(verified.stdout.trim());
282
+ if (!plugin?.installed || !plugin.enabled) {
283
+ throw new Error('Slack support is still unavailable after installation. Check the active OpenClaw state directory.');
284
+ }
285
+ return {
286
+ plugin,
287
+ changed: true,
288
+ restartRequired: true,
289
+ };
290
+ }
291
+ async verifyPluginRuntimeWithCli() {
292
+ const result = commandOutput(await this.requireCommandRunner()('openclaw plugins inspect slack --runtime --json'));
293
+ if (result.exitCode !== 0) {
294
+ throw new Error(result.stderr.trim() || result.stdout.trim() || 'Could not verify the running Slack support.');
295
+ }
296
+ let parsed;
297
+ try {
298
+ parsed = JSON.parse(result.stdout);
299
+ }
300
+ catch {
301
+ throw new Error('Slack runtime inspection returned invalid JSON.');
302
+ }
303
+ const record = asRecord(parsed);
304
+ const plugin = asRecord(record?.plugin) ?? record;
305
+ if (!plugin || plugin.id !== 'slack')
306
+ throw new Error('Slack runtime inspection did not report the Slack support.');
307
+ return {
308
+ ...plugin,
309
+ id: 'slack',
310
+ name: typeof plugin.name === 'string' && plugin.name.trim() ? plugin.name : 'Slack',
311
+ installed: true,
312
+ enabled: plugin.enabled !== false,
313
+ state: typeof plugin.status === 'string' ? plugin.status : typeof plugin.state === 'string' ? plugin.state : 'loaded',
314
+ };
315
+ }
316
+ async restartGateway() {
317
+ const result = commandOutput(await this.requireCommandRunner()('openclaw gateway restart'));
318
+ if (result.exitCode !== 0) {
319
+ throw new Error(result.stderr.trim() || result.stdout.trim() || 'Could not restart the OpenClaw gateway.');
320
+ }
321
+ }
322
+ async setPluginEnabled(enabled) {
323
+ return await this.client.pluginsSetEnabled({ pluginId: 'slack', enabled });
324
+ }
325
+ async uninstallPlugin() {
326
+ return await this.client.pluginsUninstall({ pluginId: 'slack' });
327
+ }
328
+ async refreshPlugins() {
329
+ return await this.client.pluginsRefresh();
330
+ }
331
+ async listCommands(options = {}) {
332
+ const result = await this.client.commandsList({ provider: 'slack', ...options });
333
+ return result.commands;
334
+ }
335
+ async listPairings(accountId) {
336
+ const runner = this.requireCommandRunner();
337
+ const account = accountId === undefined ? undefined : this.safeCliAccountId(accountId);
338
+ const result = commandOutput(await runner(`openclaw pairing list slack${account ? ` --account ${account}` : ''} --json`));
339
+ if (result.exitCode !== 0)
340
+ throw new Error(result.stderr.trim() || result.stdout.trim() || 'Slack pairing list failed.');
341
+ const raw = result.stdout.trim();
342
+ if (!raw)
343
+ return { channel: 'slack', requests: [] };
344
+ let parsed;
345
+ try {
346
+ parsed = JSON.parse(raw);
347
+ }
348
+ catch {
349
+ throw new Error('Slack pairing list returned invalid JSON.');
350
+ }
351
+ const record = asRecord(parsed);
352
+ if (!record || record.channel !== 'slack' || !Array.isArray(record.requests)) {
353
+ throw new Error('Slack pairing list returned an invalid response.');
354
+ }
355
+ return { ...record, channel: 'slack', requests: record.requests };
356
+ }
357
+ async approvePairing(code, options = {}) {
358
+ const runner = this.requireCommandRunner();
359
+ const normalizedCode = code.trim().toUpperCase();
360
+ if (!PAIRING_CODE.test(normalizedCode))
361
+ throw new Error('Slack pairing code is invalid.');
362
+ const account = options.accountId === undefined ? undefined : this.safeCliAccountId(options.accountId);
363
+ const command = `openclaw pairing approve slack ${normalizedCode}${account ? ` --account ${account}` : ''}${options.notify ? ' --notify' : ''}`;
364
+ const result = commandOutput(await runner(command));
365
+ if (result.exitCode !== 0)
366
+ throw new Error(result.stderr.trim() || result.stdout.trim() || 'Slack pairing approval failed.');
367
+ return {
368
+ channel: 'slack',
369
+ approved: true,
370
+ code: normalizedCode,
371
+ mayBootstrapCommandOwner: true,
372
+ ...(result.stdout.trim() ? { raw: result.stdout.trim() } : {}),
373
+ };
374
+ }
375
+ async sendMessage(input, options) {
376
+ const hasMessage = typeof input.message === 'string' && input.message.trim().length > 0;
377
+ const hasPresentation = input.presentation !== undefined && input.presentation.blocks.length > 0;
378
+ const hasInteractive = input.interactive !== undefined && input.interactive.blocks.length > 0;
379
+ const hasMedia = typeof input.media === 'string' && input.media.trim().length > 0;
380
+ if (!hasMessage && !hasPresentation && !hasInteractive && !hasMedia) {
381
+ throw new Error('Slack message content is required.');
382
+ }
383
+ if (input.presentation !== undefined && !hasPresentation) {
384
+ throw new Error('Slack presentation must contain at least one block.');
385
+ }
386
+ if (input.interactive !== undefined && !hasInteractive) {
387
+ throw new Error('Slack interactive reply must contain at least one block.');
388
+ }
389
+ if (input.media !== undefined && !hasMedia) {
390
+ throw new Error('Slack media must be nonempty.');
391
+ }
392
+ if (input.media !== undefined && input.replyBroadcast !== undefined) {
393
+ throw new Error('Slack media messages cannot set replyBroadcast.');
394
+ }
395
+ const params = { ...input, to: requiredString(input.to, 'Slack target') };
396
+ return this.action('send', params, options);
397
+ }
398
+ async uploadFile(input, options) {
399
+ const params = {
400
+ ...input,
401
+ to: requiredString(input.to, 'Slack target'),
402
+ filePath: requiredString(input.filePath, 'Slack upload file path'),
403
+ };
404
+ return this.action('upload-file', params, options);
405
+ }
406
+ async downloadFile(input, options) {
407
+ const params = {
408
+ ...input,
409
+ fileId: requiredString(input.fileId, 'Slack file id'),
410
+ };
411
+ if (input.channelId !== undefined)
412
+ params.channelId = requiredString(input.channelId, 'Slack channel id');
413
+ if (input.to !== undefined)
414
+ params.to = requiredString(input.to, 'Slack target');
415
+ return this.action('download-file', params, options);
416
+ }
417
+ async readMessages(input, options) {
418
+ return this.action('read', { ...input, channelId: requiredString(input.channelId, 'Slack channel id') }, options);
419
+ }
420
+ async editMessage(input, options) {
421
+ const hasMessage = typeof input.message === 'string' && input.message.trim().length > 0;
422
+ const hasPresentation = input.presentation !== undefined && input.presentation.blocks.length > 0;
423
+ if (!hasMessage && !hasPresentation)
424
+ throw new Error('Slack edited message content is required.');
425
+ if (input.presentation !== undefined && !hasPresentation) {
426
+ throw new Error('Slack presentation must contain at least one block.');
427
+ }
428
+ return this.action('edit', {
429
+ ...input,
430
+ channelId: requiredString(input.channelId, 'Slack channel id'),
431
+ messageId: requiredString(input.messageId, 'Slack message id'),
432
+ }, options);
433
+ }
434
+ async deleteMessage(input, options) {
435
+ return this.messageReferenceAction('delete', input, options);
436
+ }
437
+ async addReaction(input, options) {
438
+ return this.action('react', { ...this.messageReference(input), emoji: requiredString(input.emoji, 'Slack reaction') }, options);
439
+ }
440
+ async removeReaction(input, options) {
441
+ return this.action('react', {
442
+ ...this.messageReference(input),
443
+ emoji: requiredString(input.emoji, 'Slack reaction'),
444
+ remove: true,
445
+ }, options);
446
+ }
447
+ async clearOwnReactions(input, options) {
448
+ return this.action('react', { ...this.messageReference(input), emoji: '' }, options);
449
+ }
450
+ async listReactions(input, options) {
451
+ return this.messageReferenceAction('reactions', input, options);
452
+ }
453
+ async pinMessage(input, options) {
454
+ return this.messageReferenceAction('pin', input, options);
455
+ }
456
+ async unpinMessage(input, options) {
457
+ return this.messageReferenceAction('unpin', input, options);
458
+ }
459
+ async listPins(channelId, options) {
460
+ return this.action('list-pins', { channelId: requiredString(channelId, 'Slack channel id') }, options);
461
+ }
462
+ async getMemberInfo(userId, options) {
463
+ return this.action('member-info', { userId: requiredString(userId, 'Slack user id') }, options);
464
+ }
465
+ async listEmojis(limit, options) {
466
+ return this.action('emoji-list', limit === undefined ? {} : { limit }, options);
467
+ }
468
+ async patchTransport(config, accountId) {
469
+ if (accountId === undefined)
470
+ await this.patchConfig(config);
471
+ else
472
+ await this.patchAccount(accountId, config);
473
+ }
474
+ async readStatus(probe, accountId, timeoutMs) {
475
+ const requested = accountId === undefined ? undefined : requiredString(accountId, 'Slack account id');
476
+ const result = await this.client.channelsStatus(probe, timeoutMs, 'slack');
477
+ const accountsValue = asRecord(result.channelAccounts)?.slack;
478
+ const accounts = Array.isArray(accountsValue)
479
+ ? accountsValue.filter((entry) => Boolean(asRecord(entry)))
480
+ : Object.entries(asRecord(accountsValue) ?? {}).map(([id, entry]) => ({
481
+ ...asRecord(entry),
482
+ accountId: typeof asRecord(entry)?.accountId === 'string' ? asRecord(entry)?.accountId : id,
483
+ }));
484
+ if (requested)
485
+ return accounts.find((account) => account.accountId === requested);
486
+ const defaultId = asRecord(result.channelDefaultAccountId)?.slack;
487
+ if (typeof defaultId === 'string') {
488
+ const selected = accounts.find((account) => account.accountId === defaultId);
489
+ if (selected)
490
+ return selected;
491
+ }
492
+ if (accounts.length > 0)
493
+ return accounts[0];
494
+ return asRecord(asRecord(result.channels)?.slack);
495
+ }
496
+ requireCommandRunner() {
497
+ if (!this.options.runCommand)
498
+ throw new Error('Slack pairing commands are unavailable.');
499
+ return this.options.runCommand;
500
+ }
501
+ safeCliAccountId(accountId) {
502
+ const id = requiredString(accountId, 'Slack account id');
503
+ if (!SAFE_CLI_ACCOUNT_ID.test(id))
504
+ throw new Error('Slack account id is unsafe for command execution.');
505
+ return id;
506
+ }
507
+ messageReference(input) {
508
+ return {
509
+ channelId: requiredString(input.channelId, 'Slack channel id'),
510
+ messageId: requiredString(input.messageId, 'Slack message id'),
511
+ };
512
+ }
513
+ messageReferenceAction(action, input, options) {
514
+ return this.action(action, { ...this.messageReference(input) }, options);
515
+ }
516
+ action(action, params, options = {}) {
517
+ const request = {
518
+ channel: 'slack',
519
+ action,
520
+ params,
521
+ idempotencyKey: idempotencyKey(options.idempotencyKey),
522
+ };
523
+ if (options.accountId !== undefined)
524
+ request.accountId = requiredString(options.accountId, 'Slack account id');
525
+ if (options.sessionKey !== undefined)
526
+ request.sessionKey = requiredString(options.sessionKey, 'Session key');
527
+ if (options.sessionId !== undefined)
528
+ request.sessionId = requiredString(options.sessionId, 'Session id');
529
+ if (options.agentId !== undefined)
530
+ request.agentId = requiredString(options.agentId, 'Agent id');
531
+ if (options.directOperator)
532
+ request.conversationReadOrigin = 'direct-operator';
533
+ return this.client.messageAction(request);
534
+ }
535
+ }
536
+ //# sourceMappingURL=slack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack.js","sourceRoot":"","sources":["../../src/openclaw/slack.ts"],"names":[],"mappings":"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"}