@slack/bolt 3.4.1 → 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 (92) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +7 -2
  3. package/dist/App.d.ts +4 -1
  4. package/dist/App.d.ts.map +1 -1
  5. package/dist/App.js +122 -85
  6. package/dist/App.js.map +1 -1
  7. package/dist/WorkflowStep.d.ts.map +1 -1
  8. package/dist/WorkflowStep.js +27 -28
  9. package/dist/WorkflowStep.js.map +1 -1
  10. package/dist/conversation-store.d.ts.map +1 -1
  11. package/dist/conversation-store.js +5 -3
  12. package/dist/conversation-store.js.map +1 -1
  13. package/dist/errors.d.ts +9 -5
  14. package/dist/errors.d.ts.map +1 -1
  15. package/dist/errors.js +17 -9
  16. package/dist/errors.js.map +1 -1
  17. package/dist/helpers.d.ts.map +1 -1
  18. package/dist/helpers.js +1 -0
  19. package/dist/helpers.js.map +1 -1
  20. package/dist/index.d.ts +1 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +6 -3
  23. package/dist/index.js.map +1 -1
  24. package/dist/middleware/builtin.d.ts.map +1 -1
  25. package/dist/middleware/builtin.js +13 -6
  26. package/dist/middleware/builtin.js.map +1 -1
  27. package/dist/middleware/process.d.ts +1 -1
  28. package/dist/middleware/process.d.ts.map +1 -1
  29. package/dist/middleware/process.js +1 -2
  30. package/dist/middleware/process.js.map +1 -1
  31. package/dist/receivers/AwsLambdaReceiver.d.ts.map +1 -1
  32. package/dist/receivers/AwsLambdaReceiver.js +10 -19
  33. package/dist/receivers/AwsLambdaReceiver.js.map +1 -1
  34. package/dist/receivers/ExpressReceiver.d.ts +17 -7
  35. package/dist/receivers/ExpressReceiver.d.ts.map +1 -1
  36. package/dist/receivers/ExpressReceiver.js +162 -87
  37. package/dist/receivers/ExpressReceiver.js.map +1 -1
  38. package/dist/receivers/HTTPReceiver.d.ts +13 -1
  39. package/dist/receivers/HTTPReceiver.d.ts.map +1 -1
  40. package/dist/receivers/HTTPReceiver.js +147 -74
  41. package/dist/receivers/HTTPReceiver.js.map +1 -1
  42. package/dist/receivers/SocketModeReceiver.d.ts +14 -1
  43. package/dist/receivers/SocketModeReceiver.d.ts.map +1 -1
  44. package/dist/receivers/SocketModeReceiver.js +90 -38
  45. package/dist/receivers/SocketModeReceiver.js.map +1 -1
  46. package/dist/receivers/custom-routes.d.ts +14 -0
  47. package/dist/receivers/custom-routes.d.ts.map +1 -0
  48. package/dist/receivers/custom-routes.js +33 -0
  49. package/dist/receivers/custom-routes.js.map +1 -0
  50. package/dist/receivers/render-html-for-install-path.d.ts +1 -0
  51. package/dist/receivers/render-html-for-install-path.d.ts.map +1 -1
  52. package/dist/receivers/render-html-for-install-path.js +6 -1
  53. package/dist/receivers/render-html-for-install-path.js.map +1 -1
  54. package/dist/receivers/verify-redirect-opts.d.ts +7 -0
  55. package/dist/receivers/verify-redirect-opts.d.ts.map +1 -0
  56. package/dist/receivers/verify-redirect-opts.js +23 -0
  57. package/dist/receivers/verify-redirect-opts.js.map +1 -0
  58. package/dist/receivers/verify-request.d.ts +1 -0
  59. package/dist/receivers/verify-request.d.ts.map +1 -1
  60. package/dist/receivers/verify-request.js +8 -4
  61. package/dist/receivers/verify-request.js.map +1 -1
  62. package/dist/types/actions/block-action.d.ts.map +1 -1
  63. package/dist/types/actions/index.d.ts +4 -4
  64. package/dist/types/actions/index.d.ts.map +1 -1
  65. package/dist/types/actions/index.js.map +1 -1
  66. package/dist/types/actions/workflow-step-edit.d.ts.map +1 -1
  67. package/dist/types/events/base-events.d.ts +82 -5
  68. package/dist/types/events/base-events.d.ts.map +1 -1
  69. package/dist/types/events/base-events.js.map +1 -1
  70. package/dist/types/events/index.d.ts +4 -4
  71. package/dist/types/events/index.d.ts.map +1 -1
  72. package/dist/types/events/index.js.map +1 -1
  73. package/dist/types/events/message-events.d.ts.map +1 -1
  74. package/dist/types/helpers.d.ts +2 -2
  75. package/dist/types/helpers.d.ts.map +1 -1
  76. package/dist/types/options/index.d.ts +2 -2
  77. package/dist/types/options/index.d.ts.map +1 -1
  78. package/dist/types/receiver.d.ts.map +1 -1
  79. package/dist/types/shortcuts/index.d.ts +2 -2
  80. package/dist/types/shortcuts/index.d.ts.map +1 -1
  81. package/dist/types/shortcuts/index.js.map +1 -1
  82. package/dist/types/shortcuts/message-shortcut.d.ts.map +1 -1
  83. package/dist/types/utilities.d.ts.map +1 -1
  84. package/package.json +15 -17
  85. package/dist/ExpressReceiver.d.ts +0 -59
  86. package/dist/ExpressReceiver.d.ts.map +0 -1
  87. package/dist/ExpressReceiver.js +0 -293
  88. package/dist/ExpressReceiver.js.map +0 -1
  89. package/dist/SocketModeReceiver.d.ts +0 -43
  90. package/dist/SocketModeReceiver.d.ts.map +0 -1
  91. package/dist/SocketModeReceiver.js +0 -129
  92. package/dist/SocketModeReceiver.js.map +0 -1
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- /* eslint-disable @typescript-eslint/explicit-member-accessibility, @typescript-eslint/strict-boolean-expressions */
3
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
3
  if (k2 === undefined) k2 = k;
5
4
  Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
@@ -23,7 +22,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
23
22
  return (mod && mod.__esModule) ? mod : { "default": mod };
24
23
  };
25
24
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.verifySignatureAndParseRawBody = exports.respondToUrlVerification = exports.respondToSslCheck = void 0;
25
+ exports.verifySignatureAndParseBody = exports.verifySignatureAndParseRawBody = exports.respondToUrlVerification = exports.respondToSslCheck = void 0;
26
+ /* eslint-disable @typescript-eslint/no-explicit-any */
27
27
  const http_1 = require("http");
28
28
  const https_1 = require("https");
29
29
  const express_1 = __importStar(require("express"));
@@ -34,21 +34,66 @@ const tsscmp_1 = __importDefault(require("tsscmp"));
34
34
  const logger_1 = require("@slack/logger");
35
35
  const oauth_1 = require("@slack/oauth");
36
36
  const errors_1 = require("../errors");
37
- const render_html_for_install_path_1 = require("./render-html-for-install-path");
37
+ const render_html_for_install_path_1 = __importDefault(require("./render-html-for-install-path"));
38
+ const verify_redirect_opts_1 = require("./verify-redirect-opts");
39
+ // Option keys for tls.createServer() and tls.createSecureContext(), exclusive of those for http.createServer()
40
+ const httpsOptionKeys = [
41
+ 'ALPNProtocols',
42
+ 'clientCertEngine',
43
+ 'enableTrace',
44
+ 'handshakeTimeout',
45
+ 'rejectUnauthorized',
46
+ 'requestCert',
47
+ 'sessionTimeout',
48
+ 'SNICallback',
49
+ 'ticketKeys',
50
+ 'pskCallback',
51
+ 'pskIdentityHint',
52
+ 'ca',
53
+ 'cert',
54
+ 'sigalgs',
55
+ 'ciphers',
56
+ 'clientCertEngine',
57
+ 'crl',
58
+ 'dhparam',
59
+ 'ecdhCurve',
60
+ 'honorCipherOrder',
61
+ 'key',
62
+ 'privateKeyEngine',
63
+ 'privateKeyIdentifier',
64
+ 'maxVersion',
65
+ 'minVersion',
66
+ 'passphrase',
67
+ 'pfx',
68
+ 'secureOptions',
69
+ 'secureProtocol',
70
+ 'sessionIdContext',
71
+ ];
72
+ const missingServerErrorDescription = 'The receiver cannot be started because private state was mutated. Please report this to the maintainers.';
73
+ const respondToSslCheck = (req, res, next) => {
74
+ if (req.body && req.body.ssl_check) {
75
+ res.send();
76
+ return;
77
+ }
78
+ next();
79
+ };
80
+ exports.respondToSslCheck = respondToSslCheck;
81
+ const respondToUrlVerification = (req, res, next) => {
82
+ if (req.body && req.body.type && req.body.type === 'url_verification') {
83
+ res.json({ challenge: req.body.challenge });
84
+ return;
85
+ }
86
+ next();
87
+ };
88
+ exports.respondToUrlVerification = respondToUrlVerification;
38
89
  /**
39
90
  * Receives HTTP requests with Events, Slash Commands, and Actions
40
91
  */
41
92
  class ExpressReceiver {
42
- constructor({ signingSecret = '', logger = undefined, logLevel = logger_1.LogLevel.INFO, endpoints = { events: '/slack/events' }, processBeforeResponse = false, clientId = undefined, clientSecret = undefined, stateSecret = undefined, installationStore = undefined, scopes = undefined, installerOptions = {}, }) {
93
+ constructor({ signingSecret = '', logger = undefined, logLevel = logger_1.LogLevel.INFO, endpoints = { events: '/slack/events' }, processBeforeResponse = false, signatureVerification = true, clientId = undefined, clientSecret = undefined, stateSecret = undefined, redirectUri = undefined, installationStore = undefined, scopes = undefined, installerOptions = {}, app = undefined, router = undefined, }) {
94
+ var _a;
43
95
  this.installer = undefined;
44
- this.app = express_1.default();
45
- if (typeof logger !== 'undefined') {
46
- this.logger = logger;
47
- }
48
- else {
49
- this.logger = new logger_1.ConsoleLogger();
50
- this.logger.setLevel(logLevel);
51
- }
96
+ this.app = app !== undefined ? app : (0, express_1.default)();
52
97
  if (typeof logger !== 'undefined') {
53
98
  this.logger = logger;
54
99
  }
@@ -56,21 +101,30 @@ class ExpressReceiver {
56
101
  this.logger = new logger_1.ConsoleLogger();
57
102
  this.logger.setLevel(logLevel);
58
103
  }
104
+ this.signatureVerification = signatureVerification;
105
+ const bodyParser = this.signatureVerification ?
106
+ buildVerificationBodyParserMiddleware(this.logger, signingSecret) :
107
+ buildBodyParserMiddleware(this.logger);
59
108
  const expressMiddleware = [
60
- verifySignatureAndParseRawBody(this.logger, signingSecret),
109
+ bodyParser,
61
110
  exports.respondToSslCheck,
62
111
  exports.respondToUrlVerification,
63
112
  this.requestHandler.bind(this),
64
113
  ];
65
114
  this.processBeforeResponse = processBeforeResponse;
66
115
  const endpointList = typeof endpoints === 'string' ? [endpoints] : Object.values(endpoints);
67
- this.router = express_1.Router();
116
+ this.router = router !== undefined ? router : (0, express_1.Router)();
68
117
  endpointList.forEach((endpoint) => {
69
118
  this.router.post(endpoint, ...expressMiddleware);
70
119
  });
120
+ // Verify redirect options if supplied, throws coded error if invalid
121
+ (0, verify_redirect_opts_1.verifyRedirectOpts)({ redirectUri, redirectUriPath: installerOptions.redirectUriPath });
71
122
  if (clientId !== undefined &&
72
123
  clientSecret !== undefined &&
73
- (stateSecret !== undefined || installerOptions.stateStore !== undefined)) {
124
+ (installerOptions.stateVerification === false || // state store not needed
125
+ stateSecret !== undefined ||
126
+ installerOptions.stateStore !== undefined) // user provided state store
127
+ ) {
74
128
  this.installer = new oauth_1.InstallProvider({
75
129
  clientId,
76
130
  clientSecret,
@@ -79,26 +133,55 @@ class ExpressReceiver {
79
133
  logLevel,
80
134
  logger,
81
135
  stateStore: installerOptions.stateStore,
82
- authVersion: installerOptions.authVersion,
136
+ stateVerification: installerOptions.stateVerification,
137
+ authVersion: (_a = installerOptions.authVersion) !== null && _a !== void 0 ? _a : 'v2',
83
138
  clientOptions: installerOptions.clientOptions,
84
139
  authorizationUrl: installerOptions.authorizationUrl,
85
140
  });
86
141
  }
142
+ // create install url options
143
+ const installUrlOptions = {
144
+ metadata: installerOptions.metadata,
145
+ scopes: scopes !== null && scopes !== void 0 ? scopes : [],
146
+ userScopes: installerOptions.userScopes,
147
+ redirectUri,
148
+ };
87
149
  // Add OAuth routes to receiver
88
150
  if (this.installer !== undefined) {
89
- const redirectUriPath = installerOptions.redirectUriPath === undefined ? '/slack/oauth_redirect' : installerOptions.redirectUriPath;
151
+ const redirectUriPath = installerOptions.redirectUriPath === undefined ?
152
+ '/slack/oauth_redirect' :
153
+ installerOptions.redirectUriPath;
154
+ const { callbackOptions, stateVerification } = installerOptions;
90
155
  this.router.use(redirectUriPath, async (req, res) => {
91
- await this.installer.handleCallback(req, res, installerOptions.callbackOptions);
156
+ if (stateVerification === false) {
157
+ // when stateVerification is disabled pass install options directly to handler
158
+ // since they won't be encoded in the state param of the generated url
159
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
160
+ await this.installer.handleCallback(req, res, callbackOptions, installUrlOptions);
161
+ }
162
+ else {
163
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
164
+ await this.installer.handleCallback(req, res, callbackOptions);
165
+ }
92
166
  });
93
167
  const installPath = installerOptions.installPath === undefined ? '/slack/install' : installerOptions.installPath;
94
168
  this.router.get(installPath, async (_req, res, next) => {
95
169
  try {
96
- const url = await this.installer.generateInstallUrl({
97
- metadata: installerOptions.metadata,
98
- scopes: scopes,
99
- userScopes: installerOptions.userScopes,
100
- });
101
- res.send(render_html_for_install_path_1.renderHtmlForInstallPath(url));
170
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
171
+ const url = await this.installer.generateInstallUrl(installUrlOptions, stateVerification);
172
+ if (installerOptions.directInstall) {
173
+ // If a Slack app sets "Direct Install URL" in the Slack app configuration,
174
+ // the installation flow of the app should start with the Slack authorize URL.
175
+ // See https://api.slack.com/start/distributing/directory#direct_install for more details.
176
+ res.redirect(url);
177
+ }
178
+ else {
179
+ // The installation starts from a landing page served by this app.
180
+ const renderHtml = installerOptions.renderHtmlForInstallPath !== undefined ?
181
+ installerOptions.renderHtmlForInstallPath :
182
+ render_html_for_install_path_1.default;
183
+ res.send(renderHtml(url));
184
+ }
102
185
  }
103
186
  catch (error) {
104
187
  next(error);
@@ -114,7 +197,6 @@ class ExpressReceiver {
114
197
  if (!isAcknowledged) {
115
198
  this.logger.error('An incoming event was not acknowledged within 3 seconds. Ensure that the ack() argument is called in a listener.');
116
199
  }
117
- // tslint:disable-next-line: align
118
200
  }, 3001);
119
201
  let storedResponse;
120
202
  const event = {
@@ -161,6 +243,17 @@ class ExpressReceiver {
161
243
  }
162
244
  }
163
245
  catch (err) {
246
+ const e = err;
247
+ if ('code' in e) {
248
+ // CodedError has code: string
249
+ const errorCode = err.code;
250
+ if (errorCode === errors_1.ErrorCode.AuthorizationError) {
251
+ // authorize function threw an exception, which means there is no valid installation data
252
+ res.status(401).send();
253
+ isAcknowledged = true;
254
+ return;
255
+ }
256
+ }
164
257
  res.status(500).send();
165
258
  throw err;
166
259
  }
@@ -170,7 +263,7 @@ class ExpressReceiver {
170
263
  }
171
264
  start(portOrListenOptions, serverOptions = {}) {
172
265
  let createServerFn = http_1.createServer;
173
- // Decide which kind of server, HTTP or HTTPS, by search for any keys in the serverOptions that are exclusive to HTTPS
266
+ // Look for HTTPS-specific serverOptions to determine which factory function to use
174
267
  if (Object.keys(serverOptions).filter((k) => httpsOptionKeys.includes(k)).length > 0) {
175
268
  createServerFn = https_1.createServer;
176
269
  }
@@ -204,50 +297,39 @@ class ExpressReceiver {
204
297
  if (this.server === undefined) {
205
298
  return reject(new errors_1.ReceiverInconsistentStateError(missingServerErrorDescription));
206
299
  }
207
- resolve(this.server);
300
+ return resolve(this.server);
208
301
  });
209
302
  });
210
303
  }
211
304
  // TODO: the arguments should be defined as the arguments to close() (which happen to be none), but for sake of
212
305
  // generic types
213
306
  stop() {
307
+ if (this.server === undefined) {
308
+ return Promise.reject(new errors_1.ReceiverInconsistentStateError('The receiver cannot be stopped because it was not started.'));
309
+ }
214
310
  return new Promise((resolve, reject) => {
215
- if (this.server === undefined) {
216
- return reject(new errors_1.ReceiverInconsistentStateError('The receiver cannot be stopped because it was not started.'));
217
- }
218
- this.server.close((error) => {
311
+ var _a;
312
+ (_a = this.server) === null || _a === void 0 ? void 0 : _a.close((error) => {
219
313
  if (error !== undefined) {
220
314
  return reject(error);
221
315
  }
222
316
  this.server = undefined;
223
- resolve();
317
+ return resolve();
224
318
  });
225
319
  });
226
320
  }
227
321
  }
228
322
  exports.default = ExpressReceiver;
229
- const respondToSslCheck = (req, res, next) => {
230
- if (req.body && req.body.ssl_check) {
231
- res.send();
232
- return;
233
- }
234
- next();
235
- };
236
- exports.respondToSslCheck = respondToSslCheck;
237
- const respondToUrlVerification = (req, res, next) => {
238
- if (req.body && req.body.type && req.body.type === 'url_verification') {
239
- res.json({ challenge: req.body.challenge });
240
- return;
241
- }
242
- next();
243
- };
244
- exports.respondToUrlVerification = respondToUrlVerification;
323
+ function verifySignatureAndParseRawBody(logger, signingSecret) {
324
+ return buildVerificationBodyParserMiddleware(logger, signingSecret);
325
+ }
326
+ exports.verifySignatureAndParseRawBody = verifySignatureAndParseRawBody;
245
327
  /**
246
328
  * This request handler has two responsibilities:
247
329
  * - Verify the request signature
248
330
  * - Parse request.body and assign the successfully parsed object to it.
249
331
  */
250
- function verifySignatureAndParseRawBody(logger, signingSecret) {
332
+ function buildVerificationBodyParserMiddleware(logger, signingSecret) {
251
333
  return async (req, res, next) => {
252
334
  let stringBody;
253
335
  // On some environments like GCP (Google Cloud Platform),
@@ -257,7 +339,7 @@ function verifySignatureAndParseRawBody(logger, signingSecret) {
257
339
  stringBody = preparsedRawBody.toString();
258
340
  }
259
341
  else {
260
- stringBody = (await raw_body_1.default(req)).toString();
342
+ stringBody = (await (0, raw_body_1.default)(req)).toString();
261
343
  }
262
344
  // *** Parsing body ***
263
345
  // As the verification passed, parse the body as an object and assign it to req.body
@@ -280,9 +362,10 @@ function verifySignatureAndParseRawBody(logger, signingSecret) {
280
362
  return next();
281
363
  };
282
364
  }
283
- exports.verifySignatureAndParseRawBody = verifySignatureAndParseRawBody;
284
365
  function logError(logger, message, error) {
285
- const logMessage = 'code' in error ? `${message} (code: ${error.code}, message: ${error.message})` : `${message} (error: ${error})`;
366
+ const logMessage = 'code' in error ?
367
+ `${message} (code: ${error.code}, message: ${error.message})` :
368
+ `${message} (error: ${error})`;
286
369
  logger.warn(logMessage);
287
370
  }
288
371
  function verifyRequestSignature(signingSecret, body, signature, requestTimestamp) {
@@ -303,7 +386,7 @@ function verifyRequestSignature(signingSecret, body, signature, requestTimestamp
303
386
  const hmac = crypto_1.default.createHmac('sha256', signingSecret);
304
387
  const [version, hash] = signature.split('=');
305
388
  hmac.update(`${version}:${ts}:${body}`);
306
- if (!tsscmp_1.default(hash, hmac.digest('hex'))) {
389
+ if (!(0, tsscmp_1.default)(hash, hmac.digest('hex'))) {
307
390
  throw new errors_1.ReceiverAuthenticityError('Slack request signing verification failed. Signature mismatch.');
308
391
  }
309
392
  }
@@ -318,6 +401,32 @@ function verifySignatureAndParseBody(signingSecret, body, headers) {
318
401
  verifyRequestSignature(signingSecret, body, signature, requestTimestamp);
319
402
  return parseRequestBody(body, contentType);
320
403
  }
404
+ exports.verifySignatureAndParseBody = verifySignatureAndParseBody;
405
+ function buildBodyParserMiddleware(logger) {
406
+ return async (req, res, next) => {
407
+ let stringBody;
408
+ // On some environments like GCP (Google Cloud Platform),
409
+ // req.body can be pre-parsed and be passed as req.rawBody here
410
+ const preparsedRawBody = req.rawBody;
411
+ if (preparsedRawBody !== undefined) {
412
+ stringBody = preparsedRawBody.toString();
413
+ }
414
+ else {
415
+ stringBody = (await (0, raw_body_1.default)(req)).toString();
416
+ }
417
+ try {
418
+ const { 'content-type': contentType } = req.headers;
419
+ req.body = parseRequestBody(stringBody, contentType);
420
+ }
421
+ catch (error) {
422
+ if (error) {
423
+ logError(logger, 'Parsing request body failed', error);
424
+ return res.status(400).send();
425
+ }
426
+ }
427
+ return next();
428
+ };
429
+ }
321
430
  function parseRequestBody(stringBody, contentType) {
322
431
  if (contentType === 'application/x-www-form-urlencoded') {
323
432
  const parsedBody = querystring_1.default.parse(stringBody);
@@ -328,38 +437,4 @@ function parseRequestBody(stringBody, contentType) {
328
437
  }
329
438
  return JSON.parse(stringBody);
330
439
  }
331
- // Option keys for tls.createServer() and tls.createSecureContext(), exclusive of those for http.createServer()
332
- const httpsOptionKeys = [
333
- 'ALPNProtocols',
334
- 'clientCertEngine',
335
- 'enableTrace',
336
- 'handshakeTimeout',
337
- 'rejectUnauthorized',
338
- 'requestCert',
339
- 'sessionTimeout',
340
- 'SNICallback',
341
- 'ticketKeys',
342
- 'pskCallback',
343
- 'pskIdentityHint',
344
- 'ca',
345
- 'cert',
346
- 'sigalgs',
347
- 'ciphers',
348
- 'clientCertEngine',
349
- 'crl',
350
- 'dhparam',
351
- 'ecdhCurve',
352
- 'honorCipherOrder',
353
- 'key',
354
- 'privateKeyEngine',
355
- 'privateKeyIdentifier',
356
- 'maxVersion',
357
- 'minVersion',
358
- 'passphrase',
359
- 'pfx',
360
- 'secureOptions',
361
- 'secureProtocol',
362
- 'sessionIdContext',
363
- ];
364
- const missingServerErrorDescription = 'The receiver cannot be started because private state was mutated. Please report this to the maintainers.';
365
440
  //# sourceMappingURL=ExpressReceiver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExpressReceiver.js","sourceRoot":"","sources":["../../src/receivers/ExpressReceiver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExpressReceiver.js","sourceRoot":"","sources":["../../src/receivers/ExpressReceiver.ts"],"names":[],"mappings":"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"}
@@ -6,23 +6,30 @@ import { Logger, LogLevel } from '@slack/logger';
6
6
  import { InstallProvider, CallbackOptions, InstallProviderOptions, InstallURLOptions } from '@slack/oauth';
7
7
  import App from '../App';
8
8
  import { Receiver } from '../types';
9
+ import { CustomRoute } from './custom-routes';
9
10
  export interface HTTPReceiverOptions {
10
11
  signingSecret: string;
11
12
  endpoints?: string | string[];
13
+ customRoutes?: CustomRoute[];
12
14
  logger?: Logger;
13
15
  logLevel?: LogLevel;
14
16
  processBeforeResponse?: boolean;
17
+ signatureVerification?: boolean;
15
18
  clientId?: string;
16
19
  clientSecret?: string;
17
20
  stateSecret?: InstallProviderOptions['stateSecret'];
21
+ redirectUri?: string;
18
22
  installationStore?: InstallProviderOptions['installationStore'];
19
23
  scopes?: InstallURLOptions['scopes'];
20
24
  installerOptions?: HTTPReceiverInstallerOptions;
21
25
  }
22
26
  export interface HTTPReceiverInstallerOptions {
23
27
  installPath?: string;
28
+ directInstall?: boolean;
29
+ renderHtmlForInstallPath?: (url: string) => string;
24
30
  redirectUriPath?: string;
25
31
  stateStore?: InstallProviderOptions['stateStore'];
32
+ stateVerification?: InstallProviderOptions['stateVerification'];
26
33
  authVersion?: InstallProviderOptions['authVersion'];
27
34
  clientOptions?: InstallProviderOptions['clientOptions'];
28
35
  authorizationUrl?: InstallProviderOptions['authorizationUrl'];
@@ -35,18 +42,23 @@ export interface HTTPReceiverInstallerOptions {
35
42
  */
36
43
  export default class HTTPReceiver implements Receiver {
37
44
  private endpoints;
45
+ private routes;
38
46
  private signingSecret;
39
47
  private processBeforeResponse;
48
+ private signatureVerification;
40
49
  private app?;
41
50
  requestListener: RequestListener;
42
51
  private server?;
43
52
  installer?: InstallProvider;
44
53
  private installPath?;
54
+ private directInstall?;
55
+ private renderHtmlForInstallPath;
45
56
  private installRedirectUriPath?;
46
57
  private installUrlOptions?;
47
58
  private installCallbackOptions?;
59
+ private stateVerification?;
48
60
  private logger;
49
- constructor({ signingSecret, endpoints, logger, logLevel, processBeforeResponse, clientId, clientSecret, stateSecret, installationStore, scopes, installerOptions, }: HTTPReceiverOptions);
61
+ constructor({ signingSecret, endpoints, customRoutes, logger, logLevel, processBeforeResponse, signatureVerification, clientId, clientSecret, stateSecret, redirectUri, installationStore, scopes, installerOptions, }: HTTPReceiverOptions);
50
62
  init(app: App): void;
51
63
  start(port: number): Promise<Server>;
52
64
  start(portOrListenOptions: number | ListenOptions, serverOptions?: ServerOptions): Promise<Server>;
@@ -1 +1 @@
1
- {"version":3,"file":"HTTPReceiver.d.ts","sourceRoot":"","sources":["../../src/receivers/HTTPReceiver.ts"],"names":[],"mappings":";AAAA,OAAO,EAAgB,MAAM,EAAE,aAAa,EAAE,eAAe,EAAmC,MAAM,MAAM,CAAC;AAC7G,OAAO,EAAqC,MAAM,IAAI,WAAW,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,OAAO,CAAC;AACtH,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAiB,QAAQ,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAI3G,OAAO,GAAG,MAAM,QAAQ,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAiB,MAAM,UAAU,CAAC;AASnD,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,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,4BAA4B,CAAC;CACjD;AAED,MAAM,WAAW,4BAA4B;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAClD,WAAW,CAAC,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACpD,aAAa,CAAC,EAAE,sBAAsB,CAAC,eAAe,CAAC,CAAC;IACxD,gBAAgB,CAAC,EAAE,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;IAC9D,QAAQ,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACzC,UAAU,CAAC,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC7C,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,YAAW,QAAQ;IACnD,OAAO,CAAC,SAAS,CAAW;IAE5B,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,CAAC,qBAAqB,CAAU;IAEvC,OAAO,CAAC,GAAG,CAAC,CAAM;IAEX,eAAe,EAAE,eAAe,CAAC;IAExC,OAAO,CAAC,MAAM,CAAC,CAAS;IAEjB,SAAS,CAAC,EAAE,eAAe,CAAC;IAEnC,OAAO,CAAC,WAAW,CAAC,CAAS;IAE7B,OAAO,CAAC,sBAAsB,CAAC,CAAS;IAExC,OAAO,CAAC,iBAAiB,CAAC,CAAoB;IAE9C,OAAO,CAAC,sBAAsB,CAAC,CAAkB;IAEjD,OAAO,CAAC,MAAM,CAAS;gBAEX,EACV,aAAkB,EAClB,SAA6B,EAC7B,MAAkB,EAClB,QAAwB,EACxB,qBAA6B,EAC7B,QAAoB,EACpB,YAAwB,EACxB,WAAuB,EACvB,iBAA6B,EAC7B,MAAkB,EAClB,gBAAqB,GACtB,EAAE,mBAAmB;IA+Cf,IAAI,CAAC,GAAG,EAAE,GAAG;IAIb,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACpC,KAAK,CAAC,mBAAmB,EAAE,MAAM,GAAG,aAAa,EAAE,aAAa,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAClG,KAAK,CACV,mBAAmB,EAAE,MAAM,GAAG,aAAa,EAC3C,kBAAkB,CAAC,EAAE,kBAAkB,GACtC,OAAO,CAAC,WAAW,CAAC;IA2EhB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB5B,OAAO,CAAC,sBAAsB;IAgC9B,OAAO,CAAC,mBAAmB;IAgH3B,OAAO,CAAC,wBAAwB;IA+BhC,OAAO,CAAC,4BAA4B;CAYrC"}
1
+ {"version":3,"file":"HTTPReceiver.d.ts","sourceRoot":"","sources":["../../src/receivers/HTTPReceiver.ts"],"names":[],"mappings":"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"}