@slack/bolt 3.6.0 → 3.7.0

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 (81) hide show
  1. package/LICENSE +1 -1
  2. package/dist/App.d.ts +4 -1
  3. package/dist/App.d.ts.map +1 -1
  4. package/dist/App.js +121 -85
  5. package/dist/App.js.map +1 -1
  6. package/dist/WorkflowStep.d.ts.map +1 -1
  7. package/dist/WorkflowStep.js +27 -28
  8. package/dist/WorkflowStep.js.map +1 -1
  9. package/dist/conversation-store.d.ts.map +1 -1
  10. package/dist/conversation-store.js +5 -3
  11. package/dist/conversation-store.js.map +1 -1
  12. package/dist/errors.d.ts +9 -5
  13. package/dist/errors.d.ts.map +1 -1
  14. package/dist/errors.js +17 -9
  15. package/dist/errors.js.map +1 -1
  16. package/dist/helpers.d.ts.map +1 -1
  17. package/dist/helpers.js +1 -0
  18. package/dist/helpers.js.map +1 -1
  19. package/dist/index.js +2 -2
  20. package/dist/index.js.map +1 -1
  21. package/dist/middleware/builtin.d.ts.map +1 -1
  22. package/dist/middleware/builtin.js +13 -6
  23. package/dist/middleware/builtin.js.map +1 -1
  24. package/dist/middleware/process.d.ts +1 -1
  25. package/dist/middleware/process.d.ts.map +1 -1
  26. package/dist/middleware/process.js +1 -2
  27. package/dist/middleware/process.js.map +1 -1
  28. package/dist/receivers/AwsLambdaReceiver.d.ts.map +1 -1
  29. package/dist/receivers/AwsLambdaReceiver.js +10 -19
  30. package/dist/receivers/AwsLambdaReceiver.js.map +1 -1
  31. package/dist/receivers/ExpressReceiver.d.ts +17 -7
  32. package/dist/receivers/ExpressReceiver.d.ts.map +1 -1
  33. package/dist/receivers/ExpressReceiver.js +162 -87
  34. package/dist/receivers/ExpressReceiver.js.map +1 -1
  35. package/dist/receivers/HTTPReceiver.d.ts +13 -1
  36. package/dist/receivers/HTTPReceiver.d.ts.map +1 -1
  37. package/dist/receivers/HTTPReceiver.js +147 -74
  38. package/dist/receivers/HTTPReceiver.js.map +1 -1
  39. package/dist/receivers/SocketModeReceiver.d.ts +14 -1
  40. package/dist/receivers/SocketModeReceiver.d.ts.map +1 -1
  41. package/dist/receivers/SocketModeReceiver.js +90 -38
  42. package/dist/receivers/SocketModeReceiver.js.map +1 -1
  43. package/dist/receivers/custom-routes.d.ts +14 -0
  44. package/dist/receivers/custom-routes.d.ts.map +1 -0
  45. package/dist/receivers/custom-routes.js +33 -0
  46. package/dist/receivers/custom-routes.js.map +1 -0
  47. package/dist/receivers/render-html-for-install-path.d.ts +1 -0
  48. package/dist/receivers/render-html-for-install-path.d.ts.map +1 -1
  49. package/dist/receivers/render-html-for-install-path.js +6 -1
  50. package/dist/receivers/render-html-for-install-path.js.map +1 -1
  51. package/dist/receivers/verify-redirect-opts.d.ts +7 -0
  52. package/dist/receivers/verify-redirect-opts.d.ts.map +1 -0
  53. package/dist/receivers/verify-redirect-opts.js +23 -0
  54. package/dist/receivers/verify-redirect-opts.js.map +1 -0
  55. package/dist/receivers/verify-request.d.ts +1 -0
  56. package/dist/receivers/verify-request.d.ts.map +1 -1
  57. package/dist/receivers/verify-request.js +8 -4
  58. package/dist/receivers/verify-request.js.map +1 -1
  59. package/dist/types/actions/block-action.d.ts.map +1 -1
  60. package/dist/types/actions/index.d.ts +4 -4
  61. package/dist/types/actions/index.d.ts.map +1 -1
  62. package/dist/types/actions/index.js.map +1 -1
  63. package/dist/types/actions/workflow-step-edit.d.ts.map +1 -1
  64. package/dist/types/events/base-events.d.ts +5 -5
  65. package/dist/types/events/base-events.d.ts.map +1 -1
  66. package/dist/types/events/base-events.js.map +1 -1
  67. package/dist/types/events/index.d.ts +4 -4
  68. package/dist/types/events/index.d.ts.map +1 -1
  69. package/dist/types/events/index.js.map +1 -1
  70. package/dist/types/events/message-events.d.ts.map +1 -1
  71. package/dist/types/helpers.d.ts +2 -2
  72. package/dist/types/helpers.d.ts.map +1 -1
  73. package/dist/types/options/index.d.ts +2 -2
  74. package/dist/types/options/index.d.ts.map +1 -1
  75. package/dist/types/receiver.d.ts.map +1 -1
  76. package/dist/types/shortcuts/index.d.ts +2 -2
  77. package/dist/types/shortcuts/index.d.ts.map +1 -1
  78. package/dist/types/shortcuts/index.js.map +1 -1
  79. package/dist/types/shortcuts/message-shortcut.d.ts.map +1 -1
  80. package/dist/types/utilities.d.ts.map +1 -1
  81. package/package.json +13 -15
@@ -1,5 +1,9 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ /* eslint-disable @typescript-eslint/no-explicit-any */
3
7
  const http_1 = require("http");
4
8
  const https_1 = require("https");
5
9
  const querystring_1 = require("querystring");
@@ -7,28 +11,71 @@ const logger_1 = require("@slack/logger");
7
11
  const oauth_1 = require("@slack/oauth");
8
12
  const url_1 = require("url");
9
13
  const verify_request_1 = require("./verify-request");
10
- const render_html_for_install_path_1 = require("./render-html-for-install-path");
14
+ const verify_redirect_opts_1 = require("./verify-redirect-opts");
15
+ const render_html_for_install_path_1 = __importDefault(require("./render-html-for-install-path"));
11
16
  const errors_1 = require("../errors");
17
+ const custom_routes_1 = require("./custom-routes");
18
+ // Option keys for tls.createServer() and tls.createSecureContext(), exclusive of those for http.createServer()
19
+ const httpsOptionKeys = [
20
+ 'ALPNProtocols',
21
+ 'clientCertEngine',
22
+ 'enableTrace',
23
+ 'handshakeTimeout',
24
+ 'rejectUnauthorized',
25
+ 'requestCert',
26
+ 'sessionTimeout',
27
+ 'SNICallback',
28
+ 'ticketKeys',
29
+ 'pskCallback',
30
+ 'pskIdentityHint',
31
+ 'ca',
32
+ 'cert',
33
+ 'sigalgs',
34
+ 'ciphers',
35
+ 'clientCertEngine',
36
+ 'crl',
37
+ 'dhparam',
38
+ 'ecdhCurve',
39
+ 'honorCipherOrder',
40
+ 'key',
41
+ 'privateKeyEngine',
42
+ 'privateKeyIdentifier',
43
+ 'maxVersion',
44
+ 'minVersion',
45
+ 'passphrase',
46
+ 'pfx',
47
+ 'secureOptions',
48
+ 'secureProtocol',
49
+ 'sessionIdContext',
50
+ ];
51
+ const missingServerErrorDescription = 'The receiver cannot be started because private state was mutated. Please report this to the maintainers.';
12
52
  /**
13
53
  * Receives HTTP requests with Events, Slash Commands, and Actions
14
54
  */
15
55
  class HTTPReceiver {
16
- constructor({ signingSecret = '', endpoints = ['/slack/events'], logger = undefined, logLevel = logger_1.LogLevel.INFO, processBeforeResponse = false, clientId = undefined, clientSecret = undefined, stateSecret = undefined, installationStore = undefined, scopes = undefined, installerOptions = {}, }) {
56
+ constructor({ signingSecret = '', endpoints = ['/slack/events'], customRoutes = [], logger = undefined, logLevel = logger_1.LogLevel.INFO, processBeforeResponse = false, signatureVerification = true, clientId = undefined, clientSecret = undefined, stateSecret = undefined, redirectUri = undefined, installationStore = undefined, scopes = undefined, installerOptions = {}, }) {
17
57
  var _a, _b, _c;
18
58
  // Initialize instance variables, substituting defaults for each value
19
59
  this.signingSecret = signingSecret;
20
60
  this.processBeforeResponse = processBeforeResponse;
21
- this.logger =
22
- logger !== null && logger !== void 0 ? logger : (() => {
23
- const defaultLogger = new logger_1.ConsoleLogger();
24
- defaultLogger.setLevel(logLevel);
25
- return defaultLogger;
26
- })();
61
+ this.signatureVerification = signatureVerification;
62
+ this.logger = logger !== null && logger !== void 0 ? logger : (() => {
63
+ const defaultLogger = new logger_1.ConsoleLogger();
64
+ defaultLogger.setLevel(logLevel);
65
+ return defaultLogger;
66
+ })();
27
67
  this.endpoints = Array.isArray(endpoints) ? endpoints : [endpoints];
68
+ this.routes = (0, custom_routes_1.prepareRoutes)(customRoutes);
69
+ // Verify redirect options if supplied, throws coded error if invalid
70
+ (0, verify_redirect_opts_1.verifyRedirectOpts)({ redirectUri, redirectUriPath: installerOptions.redirectUriPath });
71
+ this.stateVerification = installerOptions.stateVerification;
28
72
  // Initialize InstallProvider when it's required options are provided
29
73
  if (clientId !== undefined &&
30
74
  clientSecret !== undefined &&
31
- (stateSecret !== undefined || installerOptions.stateStore !== undefined)) {
75
+ (this.stateVerification === false || // state store not needed
76
+ stateSecret !== undefined ||
77
+ installerOptions.stateStore !== undefined) // user provided state store
78
+ ) {
32
79
  this.installer = new oauth_1.InstallProvider({
33
80
  clientId,
34
81
  clientSecret,
@@ -37,20 +84,26 @@ class HTTPReceiver {
37
84
  logger,
38
85
  logLevel,
39
86
  stateStore: installerOptions.stateStore,
87
+ stateVerification: installerOptions.stateVerification,
40
88
  authVersion: installerOptions.authVersion,
41
89
  clientOptions: installerOptions.clientOptions,
42
90
  authorizationUrl: installerOptions.authorizationUrl,
43
91
  });
44
92
  // Store the remaining instance variables that are related to using the InstallProvider
45
93
  this.installPath = (_a = installerOptions.installPath) !== null && _a !== void 0 ? _a : '/slack/install';
94
+ this.directInstall = installerOptions.directInstall !== undefined && installerOptions.directInstall;
46
95
  this.installRedirectUriPath = (_b = installerOptions.redirectUriPath) !== null && _b !== void 0 ? _b : '/slack/oauth_redirect';
96
+ this.installCallbackOptions = (_c = installerOptions.callbackOptions) !== null && _c !== void 0 ? _c : {};
47
97
  this.installUrlOptions = {
48
98
  scopes: scopes !== null && scopes !== void 0 ? scopes : [],
49
99
  userScopes: installerOptions.userScopes,
50
100
  metadata: installerOptions.metadata,
101
+ redirectUri,
51
102
  };
52
- this.installCallbackOptions = (_c = installerOptions.callbackOptions) !== null && _c !== void 0 ? _c : {};
53
103
  }
104
+ this.renderHtmlForInstallPath = installerOptions.renderHtmlForInstallPath !== undefined ?
105
+ installerOptions.renderHtmlForInstallPath :
106
+ render_html_for_install_path_1.default;
54
107
  // Assign the requestListener property by binding the unboundRequestListener to this instance
55
108
  this.requestListener = this.unboundRequestListener.bind(this);
56
109
  }
@@ -72,14 +125,15 @@ class HTTPReceiver {
72
125
  this.requestListener(req, res);
73
126
  }
74
127
  catch (error) {
75
- if (error.code === errors_1.ErrorCode.HTTPReceiverDeferredRequestError) {
128
+ const e = error;
129
+ if (e.code === errors_1.ErrorCode.HTTPReceiverDeferredRequestError) {
76
130
  this.logger.info('An unhandled request was ignored');
77
131
  res.writeHead(404);
78
132
  res.end();
79
133
  }
80
134
  else {
81
135
  this.logger.error('An unexpected error was encountered');
82
- this.logger.debug(`Error details: ${error}`);
136
+ this.logger.debug(`Error details: ${e}`);
83
137
  res.writeHead(500);
84
138
  res.end();
85
139
  }
@@ -111,23 +165,24 @@ class HTTPReceiver {
111
165
  if (this.server === undefined) {
112
166
  return reject(new errors_1.ReceiverInconsistentStateError(missingServerErrorDescription));
113
167
  }
114
- resolve(this.server);
168
+ return resolve(this.server);
115
169
  });
116
170
  });
117
171
  }
118
172
  // TODO: the arguments should be defined as the arguments to close() (which happen to be none), but for sake of
119
173
  // generic types
120
174
  stop() {
175
+ if (this.server === undefined) {
176
+ return Promise.reject(new errors_1.ReceiverInconsistentStateError('The receiver cannot be stopped because it was not started.'));
177
+ }
121
178
  return new Promise((resolve, reject) => {
122
- if (this.server === undefined) {
123
- return reject(new errors_1.ReceiverInconsistentStateError('The receiver cannot be stopped because it was not started.'));
124
- }
125
- this.server.close((error) => {
179
+ var _a;
180
+ (_a = this.server) === null || _a === void 0 ? void 0 : _a.close((error) => {
126
181
  if (error !== undefined) {
127
182
  return reject(error);
128
183
  }
129
184
  this.server = undefined;
130
- resolve();
185
+ return resolve();
131
186
  });
132
187
  });
133
188
  }
@@ -136,6 +191,7 @@ class HTTPReceiver {
136
191
  // NOTE: the domain and scheme of the following URL object are not necessarily accurate. The URL object is only
137
192
  // meant to be used to parse the path and query
138
193
  const { pathname: path } = new url_1.URL(req.url, `http://${req.headers.host}`);
194
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
139
195
  const method = req.method.toUpperCase();
140
196
  if (this.endpoints.includes(path) && method === 'POST') {
141
197
  // Handle incoming ReceiverEvent
@@ -143,19 +199,29 @@ class HTTPReceiver {
143
199
  }
144
200
  if (this.installer !== undefined && method === 'GET') {
145
201
  // When installer is defined then installPath and installRedirectUriPath are always defined
202
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
146
203
  const [installPath, installRedirectUriPath] = [this.installPath, this.installRedirectUriPath];
204
+ // Visiting the installation endpoint
147
205
  if (path === installPath) {
148
206
  // Render installation path (containing Add to Slack button)
149
207
  return this.handleInstallPathRequest(res);
150
208
  }
209
+ // Installation has been initiated
151
210
  if (path === installRedirectUriPath) {
152
211
  // Handle OAuth callback request (to exchange authorization grant for a new access token)
153
212
  return this.handleInstallRedirectRequest(req, res);
154
213
  }
155
214
  }
215
+ // Handle custom routes
216
+ if (Object.keys(this.routes).length) {
217
+ const match = this.routes[path] && this.routes[path][method] !== undefined;
218
+ if (match) {
219
+ return this.routes[path][method](req, res);
220
+ }
221
+ }
156
222
  // If the request did not match the previous conditions, an error is thrown. The error can be caught by the
157
223
  // the caller in order to defer to other routing logic (similar to calling `next()` in connect middleware).
158
- throw new errors_1.HTTPReceiverDeferredRequestError('Unhandled HTTP request', req, res);
224
+ throw new errors_1.HTTPReceiverDeferredRequestError(`Unhandled HTTP request (${method}) made to ${path}`, req, res);
159
225
  }
160
226
  handleIncomingEvent(req, res) {
161
227
  // Wrapped in an async closure for ease of using await
@@ -165,10 +231,15 @@ class HTTPReceiver {
165
231
  let body;
166
232
  // Verify authenticity
167
233
  try {
168
- bufferedReq = await verify_request_1.verify({ signingSecret: this.signingSecret }, req);
234
+ bufferedReq = await (0, verify_request_1.verify)({
235
+ // If enabled: false, this method returns bufferredReq without verification
236
+ enabled: this.signatureVerification,
237
+ signingSecret: this.signingSecret,
238
+ }, req);
169
239
  }
170
240
  catch (err) {
171
- this.logger.warn(`Request verification failed: ${err.message}`);
241
+ const e = err;
242
+ this.logger.warn(`Request verification failed: ${e.message}`);
172
243
  res.writeHead(401);
173
244
  res.end();
174
245
  return;
@@ -181,13 +252,13 @@ class HTTPReceiver {
181
252
  body = parseBody(bufferedReq);
182
253
  }
183
254
  catch (err) {
184
- this.logger.warn(`Malformed request body: ${err.message}`);
255
+ const e = err;
256
+ this.logger.warn(`Malformed request body: ${e.message}`);
185
257
  res.writeHead(400);
186
258
  res.end();
187
259
  return;
188
260
  }
189
261
  // Handle SSL checks
190
- // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
191
262
  if (body.ssl_check) {
192
263
  res.writeHead(200);
193
264
  res.end();
@@ -218,7 +289,6 @@ class HTTPReceiver {
218
289
  }
219
290
  isAcknowledged = true;
220
291
  if (this.processBeforeResponse) {
221
- // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
222
292
  if (!response) {
223
293
  storedResponse = '';
224
294
  }
@@ -228,7 +298,6 @@ class HTTPReceiver {
228
298
  this.logger.debug('ack() response stored');
229
299
  }
230
300
  else {
231
- // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
232
301
  if (!response) {
233
302
  res.writeHead(200);
234
303
  res.end();
@@ -261,8 +330,20 @@ class HTTPReceiver {
261
330
  }
262
331
  }
263
332
  catch (err) {
333
+ const e = err;
334
+ if ('code' in e) {
335
+ // CodedError has code: string
336
+ const errorCode = e.code;
337
+ if (errorCode === errors_1.ErrorCode.AuthorizationError) {
338
+ // authorize function threw an exception, which means there is no valid installation data
339
+ res.writeHead(401);
340
+ res.end();
341
+ isAcknowledged = true;
342
+ return;
343
+ }
344
+ }
264
345
  this.logger.error('An unhandled error occurred while Bolt processed an event');
265
- this.logger.debug(`Error details: ${err}, storedResponse: ${storedResponse}`);
346
+ this.logger.debug(`Error details: ${e}, storedResponse: ${storedResponse}`);
266
347
  res.writeHead(500);
267
348
  res.end();
268
349
  }
@@ -278,32 +359,58 @@ class HTTPReceiver {
278
359
  try {
279
360
  // This function is only called from within unboundRequestListener after checking that installer is defined, and
280
361
  // when installer is defined then installUrlOptions is always defined too.
362
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
281
363
  const [installer, installUrlOptions] = [this.installer, this.installUrlOptions];
282
364
  // Generate the URL for the "Add to Slack" button.
283
- const url = await installer.generateInstallUrl(installUrlOptions);
284
- // Generate HTML response body
285
- const body = render_html_for_install_path_1.renderHtmlForInstallPath(url);
286
- // Serve a basic HTML page including the "Add to Slack" button.
287
- // Regarding headers:
288
- // - Content-Type is usually automatically detected by browsers
289
- // - Content-Length is not used because Transfer-Encoding='chunked' is automatically used.
290
- res.writeHead(200);
291
- res.end(body);
365
+ const url = await installer.generateInstallUrl(installUrlOptions, this.stateVerification);
366
+ if (this.directInstall !== undefined && this.directInstall) {
367
+ // If a Slack app sets "Direct Install URL" in the Slack app configruation,
368
+ // the installation flow of the app should start with the Slack authorize URL.
369
+ // See https://api.slack.com/start/distributing/directory#direct_install for more details.
370
+ res.writeHead(302, { Location: url });
371
+ res.end('');
372
+ }
373
+ else {
374
+ // The installation starts from a landing page served by this app.
375
+ // Generate HTML response body
376
+ const body = this.renderHtmlForInstallPath(url);
377
+ // Serve a basic HTML page including the "Add to Slack" button.
378
+ // Regarding headers:
379
+ // - Content-Type is usually automatically detected by browsers
380
+ // - Content-Length is not used because Transfer-Encoding='chunked' is automatically used.
381
+ res.writeHead(200);
382
+ res.end(body);
383
+ }
292
384
  }
293
385
  catch (err) {
386
+ const e = err;
294
387
  this.logger.error('An unhandled error occurred while Bolt processed a request to the installation path');
295
- this.logger.debug(`Error details: ${err}`);
388
+ this.logger.debug(`Error details: ${e}`);
296
389
  }
297
390
  })();
298
391
  }
299
392
  handleInstallRedirectRequest(req, res) {
300
393
  // This function is only called from within unboundRequestListener after checking that installer is defined, and
301
394
  // when installer is defined then installCallbackOptions is always defined too.
302
- const [installer, installCallbackOptions] = [this.installer, this.installCallbackOptions];
303
- installer.handleCallback(req, res, installCallbackOptions).catch((err) => {
395
+ /* eslint-disable @typescript-eslint/no-non-null-assertion */
396
+ const [installer, installCallbackOptions, installUrlOptions] = [
397
+ this.installer,
398
+ this.installCallbackOptions,
399
+ this.installUrlOptions,
400
+ ];
401
+ /* eslint-enable @typescript-eslint/no-non-null-assertion */
402
+ const errorHandler = (err) => {
304
403
  this.logger.error('HTTPReceiver encountered an unexpected error while handling the OAuth install redirect. Please report to the maintainers.');
305
404
  this.logger.debug(`Error details: ${err}`);
306
- });
405
+ };
406
+ if (this.stateVerification === false) {
407
+ // when stateVerification is disabled pass install options directly to handler
408
+ // since they won't be encoded in the state param of the generated url
409
+ installer.handleCallback(req, res, installCallbackOptions, installUrlOptions).catch(errorHandler);
410
+ }
411
+ else {
412
+ installer.handleCallback(req, res, installCallbackOptions).catch(errorHandler);
413
+ }
307
414
  }
308
415
  }
309
416
  exports.default = HTTPReceiver;
@@ -312,7 +419,7 @@ function parseBody(req) {
312
419
  const bodyAsString = req.rawBody.toString();
313
420
  const contentType = req.headers['content-type'];
314
421
  if (contentType === 'application/x-www-form-urlencoded') {
315
- const parsedQs = querystring_1.parse(bodyAsString);
422
+ const parsedQs = (0, querystring_1.parse)(bodyAsString);
316
423
  const { payload } = parsedQs;
317
424
  if (typeof payload === 'string') {
318
425
  return JSON.parse(payload);
@@ -321,38 +428,4 @@ function parseBody(req) {
321
428
  }
322
429
  return JSON.parse(bodyAsString);
323
430
  }
324
- // Option keys for tls.createServer() and tls.createSecureContext(), exclusive of those for http.createServer()
325
- const httpsOptionKeys = [
326
- 'ALPNProtocols',
327
- 'clientCertEngine',
328
- 'enableTrace',
329
- 'handshakeTimeout',
330
- 'rejectUnauthorized',
331
- 'requestCert',
332
- 'sessionTimeout',
333
- 'SNICallback',
334
- 'ticketKeys',
335
- 'pskCallback',
336
- 'pskIdentityHint',
337
- 'ca',
338
- 'cert',
339
- 'sigalgs',
340
- 'ciphers',
341
- 'clientCertEngine',
342
- 'crl',
343
- 'dhparam',
344
- 'ecdhCurve',
345
- 'honorCipherOrder',
346
- 'key',
347
- 'privateKeyEngine',
348
- 'privateKeyIdentifier',
349
- 'maxVersion',
350
- 'minVersion',
351
- 'passphrase',
352
- 'pfx',
353
- 'secureOptions',
354
- 'secureProtocol',
355
- 'sessionIdContext',
356
- ];
357
- const missingServerErrorDescription = 'The receiver cannot be started because private state was mutated. Please report this to the maintainers.';
358
431
  //# sourceMappingURL=HTTPReceiver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HTTPReceiver.js","sourceRoot":"","sources":["../../src/receivers/HTTPReceiver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HTTPReceiver.js","sourceRoot":"","sources":["../../src/receivers/HTTPReceiver.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
+ /// <reference types="node" />
1
2
  import { SocketModeClient } from '@slack/socket-mode';
3
+ import { IncomingMessage, ServerResponse } from 'http';
2
4
  import { Logger, LogLevel } from '@slack/logger';
3
5
  import { InstallProvider, CallbackOptions, InstallProviderOptions, InstallURLOptions } from '@slack/oauth';
4
6
  import { AppsConnectionsOpenResponse } from '@slack/web-api';
@@ -10,16 +12,26 @@ export interface SocketModeReceiverOptions {
10
12
  clientId?: string;
11
13
  clientSecret?: string;
12
14
  stateSecret?: InstallProviderOptions['stateSecret'];
15
+ redirectUri?: string;
13
16
  installationStore?: InstallProviderOptions['installationStore'];
14
17
  scopes?: InstallURLOptions['scopes'];
15
18
  installerOptions?: InstallerOptions;
16
19
  appToken: string;
20
+ customRoutes?: CustomRoute[];
21
+ }
22
+ export interface CustomRoute {
23
+ path: string;
24
+ method: string | string[];
25
+ handler: (req: IncomingMessage, res: ServerResponse) => void;
17
26
  }
18
27
  interface InstallerOptions {
19
28
  stateStore?: InstallProviderOptions['stateStore'];
29
+ stateVerification?: InstallProviderOptions['stateVerification'];
20
30
  authVersion?: InstallProviderOptions['authVersion'];
21
31
  metadata?: InstallURLOptions['metadata'];
22
32
  installPath?: string;
33
+ directInstall?: boolean;
34
+ renderHtmlForInstallPath?: (url: string) => string;
23
35
  redirectUriPath?: string;
24
36
  callbackOptions?: CallbackOptions;
25
37
  userScopes?: InstallURLOptions['userScopes'];
@@ -35,7 +47,8 @@ export default class SocketModeReceiver implements Receiver {
35
47
  private app;
36
48
  private logger;
37
49
  installer: InstallProvider | undefined;
38
- constructor({ appToken, logger, logLevel, clientId, clientSecret, stateSecret, installationStore, scopes, installerOptions, }: SocketModeReceiverOptions);
50
+ private routes;
51
+ constructor({ appToken, logger, logLevel, clientId, clientSecret, stateSecret, redirectUri, installationStore, scopes, installerOptions, customRoutes, }: SocketModeReceiverOptions);
39
52
  init(app: App): void;
40
53
  start(): Promise<AppsConnectionsOpenResponse>;
41
54
  stop(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"SocketModeReceiver.d.ts","sourceRoot":"","sources":["../../src/receivers/SocketModeReceiver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAiB,QAAQ,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC3G,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,GAAG,MAAM,QAAQ,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAiB,MAAM,UAAU,CAAC;AAKnD,MAAM,WAAW,yBAAyB;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACpD,iBAAiB,CAAC,EAAE,sBAAsB,CAAC,mBAAmB,CAAC,CAAC;IAChE,MAAM,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACrC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAGD,UAAU,gBAAgB;IACxB,UAAU,CAAC,EAAE,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAClD,WAAW,CAAC,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACpD,QAAQ,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,UAAU,CAAC,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC7C,aAAa,CAAC,EAAE,sBAAsB,CAAC,eAAe,CAAC,CAAC;IACxD,gBAAgB,CAAC,EAAE,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,kBAAmB,YAAW,QAAQ;IAElD,MAAM,EAAE,gBAAgB,CAAC;IAEhC,OAAO,CAAC,GAAG,CAAkB;IAE7B,OAAO,CAAC,MAAM,CAAS;IAEhB,SAAS,EAAE,eAAe,GAAG,SAAS,CAAa;gBAE9C,EACV,QAAQ,EACR,MAAkB,EAClB,QAAwB,EACxB,QAAoB,EACpB,YAAwB,EACxB,WAAuB,EACvB,iBAA6B,EAC7B,MAAkB,EAClB,gBAAqB,GACtB,EAAE,yBAAyB;IAmFrB,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAIpB,KAAK,IAAI,OAAO,CAAC,2BAA2B,CAAC;IAK7C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAU7B"}
1
+ {"version":3,"file":"SocketModeReceiver.d.ts","sourceRoot":"","sources":["../../src/receivers/SocketModeReceiver.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAgB,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AACrE,OAAO,EAAE,MAAM,EAAiB,QAAQ,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC3G,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,GAAG,MAAM,QAAQ,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAiB,MAAM,UAAU,CAAC;AAOnD,MAAM,WAAW,yBAAyB;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,sBAAsB,CAAC,mBAAmB,CAAC,CAAC;IAChE,MAAM,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACrC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,OAAO,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,KAAK,IAAI,CAAC;CAC9D;AAGD,UAAU,gBAAgB;IACxB,UAAU,CAAC,EAAE,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAClD,iBAAiB,CAAC,EAAE,sBAAsB,CAAC,mBAAmB,CAAC,CAAC;IAChE,WAAW,CAAC,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACpD,QAAQ,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,wBAAwB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACnD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,UAAU,CAAC,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC7C,aAAa,CAAC,EAAE,sBAAsB,CAAC,eAAe,CAAC,CAAC;IACxD,gBAAgB,CAAC,EAAE,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,kBAAmB,YAAW,QAAQ;IAElD,MAAM,EAAE,gBAAgB,CAAC;IAEhC,OAAO,CAAC,GAAG,CAAkB;IAE7B,OAAO,CAAC,MAAM,CAAS;IAEhB,SAAS,EAAE,eAAe,GAAG,SAAS,CAAa;IAE1D,OAAO,CAAC,MAAM,CAAiB;gBAEZ,EACjB,QAAQ,EACR,MAAkB,EAClB,QAAwB,EACxB,QAAoB,EACpB,YAAwB,EACxB,WAAuB,EACvB,WAAuB,EACvB,iBAA6B,EAC7B,MAAkB,EAClB,gBAAqB,EACrB,YAAiB,GAClB,EAAE,yBAAyB;IAwIrB,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAIpB,KAAK,IAAI,OAAO,CAAC,2BAA2B,CAAC;IAK7C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAU7B"}