@slack/bolt 3.6.0-hermesBeta.1 → 3.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +4 -2
- package/dist/App.d.ts +61 -6
- package/dist/App.d.ts.map +1 -1
- package/dist/App.js +161 -91
- package/dist/App.js.map +1 -1
- package/dist/WorkflowStep.d.ts.map +1 -1
- package/dist/WorkflowStep.js +25 -28
- package/dist/WorkflowStep.js.map +1 -1
- package/dist/conversation-store.d.ts.map +1 -1
- package/dist/conversation-store.js +4 -4
- package/dist/conversation-store.js.map +1 -1
- package/dist/errors.d.ts +13 -5
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +25 -9
- package/dist/errors.js.map +1 -1
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +1 -0
- package/dist/helpers.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/middleware/builtin.d.ts +0 -4
- package/dist/middleware/builtin.d.ts.map +1 -1
- package/dist/middleware/builtin.js +1 -35
- package/dist/middleware/builtin.js.map +1 -1
- package/dist/middleware/process.d.ts +1 -1
- package/dist/middleware/process.d.ts.map +1 -1
- package/dist/middleware/process.js +1 -2
- package/dist/middleware/process.js.map +1 -1
- package/dist/receivers/AwsLambdaReceiver.d.ts +4 -1
- package/dist/receivers/AwsLambdaReceiver.d.ts.map +1 -1
- package/dist/receivers/AwsLambdaReceiver.js +15 -20
- package/dist/receivers/AwsLambdaReceiver.js.map +1 -1
- package/dist/receivers/ExpressReceiver.d.ts +20 -7
- package/dist/receivers/ExpressReceiver.d.ts.map +1 -1
- package/dist/receivers/ExpressReceiver.js +167 -87
- package/dist/receivers/ExpressReceiver.js.map +1 -1
- package/dist/receivers/HTTPReceiver.d.ts +51 -2
- package/dist/receivers/HTTPReceiver.d.ts.map +1 -1
- package/dist/receivers/HTTPReceiver.js +234 -91
- package/dist/receivers/HTTPReceiver.js.map +1 -1
- package/dist/receivers/SocketModeReceiver.d.ts +18 -1
- package/dist/receivers/SocketModeReceiver.d.ts.map +1 -1
- package/dist/receivers/SocketModeReceiver.js +105 -41
- package/dist/receivers/SocketModeReceiver.js.map +1 -1
- package/dist/receivers/custom-routes.d.ts +14 -0
- package/dist/receivers/custom-routes.d.ts.map +1 -0
- package/dist/receivers/custom-routes.js +33 -0
- package/dist/receivers/custom-routes.js.map +1 -0
- package/dist/receivers/http-utils.d.ts +5 -0
- package/dist/receivers/http-utils.d.ts.map +1 -0
- package/dist/receivers/http-utils.js +35 -0
- package/dist/receivers/http-utils.js.map +1 -0
- package/dist/receivers/render-html-for-install-path.d.ts +1 -0
- package/dist/receivers/render-html-for-install-path.d.ts.map +1 -1
- package/dist/receivers/render-html-for-install-path.js +6 -1
- package/dist/receivers/render-html-for-install-path.js.map +1 -1
- package/dist/receivers/verify-redirect-opts.d.ts +7 -0
- package/dist/receivers/verify-redirect-opts.d.ts.map +1 -0
- package/dist/receivers/verify-redirect-opts.js +23 -0
- package/dist/receivers/verify-redirect-opts.js.map +1 -0
- package/dist/receivers/verify-request.d.ts +1 -0
- package/dist/receivers/verify-request.d.ts.map +1 -1
- package/dist/receivers/verify-request.js +8 -4
- package/dist/receivers/verify-request.js.map +1 -1
- package/dist/types/actions/block-action.d.ts +8 -1
- package/dist/types/actions/block-action.d.ts.map +1 -1
- package/dist/types/actions/index.d.ts +4 -4
- package/dist/types/actions/index.d.ts.map +1 -1
- package/dist/types/actions/index.js.map +1 -1
- package/dist/types/actions/workflow-step-edit.d.ts.map +1 -1
- package/dist/types/events/base-events.d.ts +6 -30
- package/dist/types/events/base-events.d.ts.map +1 -1
- package/dist/types/events/base-events.js +2 -0
- package/dist/types/events/base-events.js.map +1 -1
- package/dist/types/events/index.d.ts +4 -4
- package/dist/types/events/index.d.ts.map +1 -1
- package/dist/types/events/index.js.map +1 -1
- package/dist/types/events/message-events.d.ts.map +1 -1
- package/dist/types/helpers.d.ts +2 -2
- package/dist/types/helpers.d.ts.map +1 -1
- package/dist/types/middleware.d.ts +10 -1
- package/dist/types/middleware.d.ts.map +1 -1
- package/dist/types/middleware.js +11 -0
- package/dist/types/middleware.js.map +1 -1
- package/dist/types/options/index.d.ts +2 -2
- package/dist/types/options/index.d.ts.map +1 -1
- package/dist/types/receiver.d.ts +3 -0
- package/dist/types/receiver.d.ts.map +1 -1
- package/dist/types/shortcuts/index.d.ts +2 -2
- package/dist/types/shortcuts/index.d.ts.map +1 -1
- package/dist/types/shortcuts/index.js.map +1 -1
- package/dist/types/shortcuts/message-shortcut.d.ts.map +1 -1
- package/dist/types/utilities.d.ts.map +1 -1
- package/package.json +17 -19
package/dist/App.js
CHANGED
|
@@ -11,14 +11,22 @@ const axios_1 = __importDefault(require("axios"));
|
|
|
11
11
|
const SocketModeReceiver_1 = __importDefault(require("./receivers/SocketModeReceiver"));
|
|
12
12
|
const HTTPReceiver_1 = __importDefault(require("./receivers/HTTPReceiver"));
|
|
13
13
|
const builtin_1 = require("./middleware/builtin");
|
|
14
|
-
const process_1 = require("./middleware/process");
|
|
14
|
+
const process_1 = __importDefault(require("./middleware/process"));
|
|
15
15
|
const conversation_store_1 = require("./conversation-store");
|
|
16
16
|
const helpers_1 = require("./helpers");
|
|
17
17
|
const errors_1 = require("./errors");
|
|
18
|
+
const middleware_1 = require("./types/middleware");
|
|
18
19
|
// eslint-disable-next-line import/order
|
|
19
20
|
const allSettled = require("promise.allsettled"); // eslint-disable-line @typescript-eslint/no-require-imports
|
|
20
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports, import/no-commonjs
|
|
21
22
|
const packageJson = require('../package.json'); // eslint-disable-line @typescript-eslint/no-var-requires
|
|
23
|
+
// ----------------------------
|
|
24
|
+
// For listener registration methods
|
|
25
|
+
const validViewTypes = ['view_closed', 'view_submission'];
|
|
26
|
+
// ----------------------------
|
|
27
|
+
// For the constructor
|
|
28
|
+
const tokenUsage = 'Apps used in one workspace should be initialized with a token. Apps used in many workspaces ' +
|
|
29
|
+
'should be initialized with oauth installer or authorize.';
|
|
22
30
|
var logger_2 = require("@slack/logger");
|
|
23
31
|
Object.defineProperty(exports, "LogLevel", { enumerable: true, get: function () { return logger_2.LogLevel; } });
|
|
24
32
|
class WebClientPool {
|
|
@@ -39,7 +47,7 @@ class WebClientPool {
|
|
|
39
47
|
* A Slack App
|
|
40
48
|
*/
|
|
41
49
|
class App {
|
|
42
|
-
constructor({ signingSecret = undefined, endpoints = undefined, agent = undefined, clientTls = undefined, receiver = undefined, convoStore = undefined, token = undefined, appToken = undefined, botId = undefined, botUserId = undefined, authorize = undefined, logger = undefined, logLevel = undefined, ignoreSelf = true, clientOptions = undefined, processBeforeResponse = false, clientId = undefined, clientSecret = undefined, stateSecret = undefined, installationStore = undefined, scopes = undefined, installerOptions = undefined, socketMode = undefined, developerMode = false, tokenVerificationEnabled = true, } = {}) {
|
|
50
|
+
constructor({ signingSecret = undefined, endpoints = undefined, port = undefined, customRoutes = undefined, agent = undefined, clientTls = undefined, receiver = undefined, convoStore = undefined, token = undefined, appToken = undefined, botId = undefined, botUserId = undefined, authorize = undefined, logger = undefined, logLevel = undefined, ignoreSelf = true, clientOptions = undefined, processBeforeResponse = false, signatureVerification = true, clientId = undefined, clientSecret = undefined, stateSecret = undefined, redirectUri = undefined, installationStore = undefined, scopes = undefined, installerOptions = undefined, socketMode = undefined, developerMode = false, tokenVerificationEnabled = true, extendedErrorHandler = false, } = {}) {
|
|
43
51
|
// Some payloads don't have teamId anymore. So we use EnterpriseId in those scenarios
|
|
44
52
|
this.clients = {};
|
|
45
53
|
// this.logLevel = logLevel;
|
|
@@ -56,6 +64,7 @@ class App {
|
|
|
56
64
|
// Set logLevel to Info if one wasn't passed in
|
|
57
65
|
this.logLevel = logLevel !== null && logLevel !== void 0 ? logLevel : logger_1.LogLevel.INFO;
|
|
58
66
|
}
|
|
67
|
+
// Set up logger
|
|
59
68
|
if (typeof logger === 'undefined') {
|
|
60
69
|
// Initialize with the default logger
|
|
61
70
|
const consoleLogger = new logger_1.ConsoleLogger();
|
|
@@ -68,7 +77,11 @@ class App {
|
|
|
68
77
|
if (typeof this.logLevel !== 'undefined' && this.logger.getLevel() !== this.logLevel) {
|
|
69
78
|
this.logger.setLevel(this.logLevel);
|
|
70
79
|
}
|
|
80
|
+
// Error-related properties used to later determine args passed into the error handler
|
|
81
|
+
this.hasCustomErrorHandler = false;
|
|
71
82
|
this.errorHandler = defaultErrorHandler(this.logger);
|
|
83
|
+
this.extendedErrorHandler = extendedErrorHandler;
|
|
84
|
+
// Set up client options
|
|
72
85
|
this.clientOptions = clientOptions !== undefined ? clientOptions : {};
|
|
73
86
|
if (agent !== undefined && this.clientOptions.agent === undefined) {
|
|
74
87
|
this.clientOptions.agent = agent;
|
|
@@ -81,11 +94,7 @@ class App {
|
|
|
81
94
|
this.clientOptions.logLevel = logLevel;
|
|
82
95
|
}
|
|
83
96
|
else {
|
|
84
|
-
|
|
85
|
-
// If the constructor has both, logLevel is ignored
|
|
86
|
-
this.logger.warn("As `logger` is passed as well, `logLevel` argument won't be used. Set the log level to the `logger` instance instead.");
|
|
87
|
-
}
|
|
88
|
-
// Since v3.4, WebClient starts sharing loggger with App
|
|
97
|
+
// Since v3.4, WebClient starts sharing logger with App
|
|
89
98
|
this.clientOptions.logger = this.logger;
|
|
90
99
|
}
|
|
91
100
|
// The public WebClient instance (app.client)
|
|
@@ -108,6 +117,11 @@ class App {
|
|
|
108
117
|
clientOptions: this.clientOptions,
|
|
109
118
|
...installerOptions,
|
|
110
119
|
};
|
|
120
|
+
if (socketMode && port !== undefined && this.installerOptions.port === undefined) {
|
|
121
|
+
// As SocketModeReceiver uses a custom port number to listen on only for the OAuth flow,
|
|
122
|
+
// only installerOptions.port is available in the constructor arguments.
|
|
123
|
+
this.installerOptions.port = port;
|
|
124
|
+
}
|
|
111
125
|
if (this.developerMode &&
|
|
112
126
|
this.installerOptions &&
|
|
113
127
|
(typeof this.installerOptions.callbackOptions === 'undefined' ||
|
|
@@ -123,8 +137,12 @@ class App {
|
|
|
123
137
|
},
|
|
124
138
|
};
|
|
125
139
|
}
|
|
126
|
-
//
|
|
140
|
+
// Initialize receiver
|
|
127
141
|
if (receiver !== undefined) {
|
|
142
|
+
// Custom receiver
|
|
143
|
+
if (this.socketMode) {
|
|
144
|
+
throw new errors_1.AppInitializationError('receiver cannot be passed when socketMode is set to true');
|
|
145
|
+
}
|
|
128
146
|
this.receiver = receiver;
|
|
129
147
|
}
|
|
130
148
|
else if (this.socketMode) {
|
|
@@ -138,14 +156,16 @@ class App {
|
|
|
138
156
|
clientId,
|
|
139
157
|
clientSecret,
|
|
140
158
|
stateSecret,
|
|
159
|
+
redirectUri,
|
|
141
160
|
installationStore,
|
|
142
161
|
scopes,
|
|
143
162
|
logger,
|
|
144
163
|
logLevel: this.logLevel,
|
|
145
164
|
installerOptions: this.installerOptions,
|
|
165
|
+
customRoutes,
|
|
146
166
|
});
|
|
147
167
|
}
|
|
148
|
-
else if (signingSecret === undefined) {
|
|
168
|
+
else if (signatureVerification && signingSecret === undefined) {
|
|
149
169
|
// No custom receiver
|
|
150
170
|
throw new errors_1.AppInitializationError('Signing secret not found, so could not initialize the default receiver. Set a signing secret or use a ' +
|
|
151
171
|
'custom receiver.');
|
|
@@ -154,12 +174,16 @@ class App {
|
|
|
154
174
|
this.logger.debug('Initializing HTTPReceiver');
|
|
155
175
|
// Create default HTTPReceiver
|
|
156
176
|
this.receiver = new HTTPReceiver_1.default({
|
|
157
|
-
signingSecret,
|
|
177
|
+
signingSecret: signingSecret || '',
|
|
158
178
|
endpoints,
|
|
179
|
+
port,
|
|
180
|
+
customRoutes,
|
|
159
181
|
processBeforeResponse,
|
|
182
|
+
signatureVerification,
|
|
160
183
|
clientId,
|
|
161
184
|
clientSecret,
|
|
162
185
|
stateSecret,
|
|
186
|
+
redirectUri,
|
|
163
187
|
installationStore,
|
|
164
188
|
scopes,
|
|
165
189
|
logger,
|
|
@@ -168,8 +192,9 @@ class App {
|
|
|
168
192
|
});
|
|
169
193
|
}
|
|
170
194
|
let usingOauth = false;
|
|
171
|
-
|
|
172
|
-
|
|
195
|
+
const httpReceiver = this.receiver;
|
|
196
|
+
if (httpReceiver.installer !== undefined &&
|
|
197
|
+
httpReceiver.installer.authorize !== undefined) {
|
|
173
198
|
// This supports using the built in HTTPReceiver, declaring your own HTTPReceiver
|
|
174
199
|
// and theoretically, doing a fully custom (non express) receiver that implements OAuth
|
|
175
200
|
usingOauth = true;
|
|
@@ -191,24 +216,25 @@ class App {
|
|
|
191
216
|
throw new errors_1.AppInitializationError(`Both authorize options and oauth installer options provided. ${tokenUsage}`);
|
|
192
217
|
}
|
|
193
218
|
else if (authorize === undefined && usingOauth) {
|
|
194
|
-
|
|
219
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
220
|
+
this.authorize = httpReceiver.installer.authorize;
|
|
195
221
|
}
|
|
196
222
|
else if (authorize !== undefined && !usingOauth) {
|
|
197
223
|
this.authorize = authorize;
|
|
198
224
|
}
|
|
199
225
|
else {
|
|
200
226
|
this.logger.error('Never should have reached this point, please report to the team');
|
|
201
|
-
helpers_1.assertNever();
|
|
227
|
+
(0, helpers_1.assertNever)();
|
|
202
228
|
}
|
|
203
229
|
// Conditionally use a global middleware that ignores events (including messages) that are sent from this app
|
|
204
230
|
if (ignoreSelf) {
|
|
205
|
-
this.use(builtin_1.ignoreSelf());
|
|
231
|
+
this.use((0, builtin_1.ignoreSelf)());
|
|
206
232
|
}
|
|
207
233
|
// Use conversation state global middleware
|
|
208
234
|
if (convoStore !== false) {
|
|
209
235
|
// Use the memory store by default, or another store if provided
|
|
210
236
|
const store = convoStore === undefined ? new conversation_store_1.MemoryStore() : convoStore;
|
|
211
|
-
this.use(conversation_store_1.conversationContext(store));
|
|
237
|
+
this.use((0, conversation_store_1.conversationContext)(store));
|
|
212
238
|
}
|
|
213
239
|
// Should be last to avoid exposing partially initialized app
|
|
214
240
|
this.receiver.init(this);
|
|
@@ -243,6 +269,7 @@ class App {
|
|
|
243
269
|
// TODO: HTTPReceiver['start'] should be the actual receiver's return type
|
|
244
270
|
return this.receiver.start(...args);
|
|
245
271
|
}
|
|
272
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
246
273
|
stop(...args) {
|
|
247
274
|
return this.receiver.stop(...args);
|
|
248
275
|
}
|
|
@@ -263,27 +290,27 @@ class App {
|
|
|
263
290
|
}
|
|
264
291
|
this.listeners.push([
|
|
265
292
|
builtin_1.onlyEvents,
|
|
266
|
-
builtin_1.matchEventType(eventNameOrPattern),
|
|
293
|
+
(0, builtin_1.matchEventType)(eventNameOrPattern),
|
|
267
294
|
...listeners,
|
|
268
295
|
]);
|
|
269
296
|
}
|
|
270
297
|
message(...patternsOrMiddleware) {
|
|
271
298
|
const messageMiddleware = patternsOrMiddleware.map((patternOrMiddleware) => {
|
|
272
299
|
if (typeof patternOrMiddleware === 'string' || util_1.default.types.isRegExp(patternOrMiddleware)) {
|
|
273
|
-
return builtin_1.matchMessage(patternOrMiddleware);
|
|
300
|
+
return (0, builtin_1.matchMessage)(patternOrMiddleware);
|
|
274
301
|
}
|
|
275
302
|
return patternOrMiddleware;
|
|
276
303
|
});
|
|
277
304
|
this.listeners.push([
|
|
278
305
|
builtin_1.onlyEvents,
|
|
279
|
-
builtin_1.matchEventType('message'),
|
|
306
|
+
(0, builtin_1.matchEventType)('message'),
|
|
280
307
|
...messageMiddleware,
|
|
281
308
|
]);
|
|
282
309
|
}
|
|
283
310
|
shortcut(callbackIdOrConstraints, ...listeners) {
|
|
284
|
-
const constraints = typeof callbackIdOrConstraints === 'string' || util_1.default.types.isRegExp(callbackIdOrConstraints)
|
|
285
|
-
|
|
286
|
-
|
|
311
|
+
const constraints = typeof callbackIdOrConstraints === 'string' || util_1.default.types.isRegExp(callbackIdOrConstraints) ?
|
|
312
|
+
{ callback_id: callbackIdOrConstraints } :
|
|
313
|
+
callbackIdOrConstraints;
|
|
287
314
|
// Fail early if the constraints contain invalid keys
|
|
288
315
|
const unknownConstraintKeys = Object.keys(constraints).filter((k) => k !== 'callback_id' && k !== 'type');
|
|
289
316
|
if (unknownConstraintKeys.length > 0) {
|
|
@@ -292,41 +319,37 @@ class App {
|
|
|
292
319
|
}
|
|
293
320
|
this.listeners.push([
|
|
294
321
|
builtin_1.onlyShortcuts,
|
|
295
|
-
builtin_1.matchConstraints(constraints),
|
|
322
|
+
(0, builtin_1.matchConstraints)(constraints),
|
|
296
323
|
...listeners,
|
|
297
324
|
]);
|
|
298
325
|
}
|
|
299
326
|
action(actionIdOrConstraints, ...listeners) {
|
|
300
327
|
// Normalize Constraints
|
|
301
|
-
const constraints = typeof actionIdOrConstraints === 'string' || util_1.default.types.isRegExp(actionIdOrConstraints)
|
|
302
|
-
|
|
303
|
-
|
|
328
|
+
const constraints = typeof actionIdOrConstraints === 'string' || util_1.default.types.isRegExp(actionIdOrConstraints) ?
|
|
329
|
+
{ action_id: actionIdOrConstraints } :
|
|
330
|
+
actionIdOrConstraints;
|
|
304
331
|
// Fail early if the constraints contain invalid keys
|
|
305
332
|
const unknownConstraintKeys = Object.keys(constraints).filter((k) => k !== 'action_id' && k !== 'block_id' && k !== 'callback_id' && k !== 'type');
|
|
306
333
|
if (unknownConstraintKeys.length > 0) {
|
|
307
334
|
this.logger.error(`Action listener cannot be attached using unknown constraint keys: ${unknownConstraintKeys.join(', ')}`);
|
|
308
335
|
return;
|
|
309
336
|
}
|
|
310
|
-
this.listeners.push([builtin_1.onlyActions, builtin_1.matchConstraints(constraints), ...listeners]);
|
|
337
|
+
this.listeners.push([builtin_1.onlyActions, (0, builtin_1.matchConstraints)(constraints), ...listeners]);
|
|
311
338
|
}
|
|
312
339
|
command(commandName, ...listeners) {
|
|
313
|
-
this.listeners.push([builtin_1.onlyCommands, builtin_1.matchCommandName(commandName), ...listeners]);
|
|
314
|
-
}
|
|
315
|
-
// matches a Slack function callback specifically
|
|
316
|
-
function(callbackID, ...listeners) {
|
|
317
|
-
this.listeners.push([builtin_1.matchFunctionCallback(callbackID), ...listeners]);
|
|
340
|
+
this.listeners.push([builtin_1.onlyCommands, (0, builtin_1.matchCommandName)(commandName), ...listeners]);
|
|
318
341
|
}
|
|
319
342
|
// TODO: reflect the type in constraits to Source
|
|
320
343
|
options(actionIdOrConstraints, ...listeners) {
|
|
321
|
-
const constraints = typeof actionIdOrConstraints === 'string' || util_1.default.types.isRegExp(actionIdOrConstraints)
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
this.listeners.push([builtin_1.onlyOptions, builtin_1.matchConstraints(constraints), ...listeners]);
|
|
344
|
+
const constraints = typeof actionIdOrConstraints === 'string' || util_1.default.types.isRegExp(actionIdOrConstraints) ?
|
|
345
|
+
{ action_id: actionIdOrConstraints } :
|
|
346
|
+
actionIdOrConstraints;
|
|
347
|
+
this.listeners.push([builtin_1.onlyOptions, (0, builtin_1.matchConstraints)(constraints), ...listeners]);
|
|
325
348
|
}
|
|
326
349
|
view(callbackIdOrConstraints, ...listeners) {
|
|
327
|
-
const constraints = typeof callbackIdOrConstraints === 'string' || util_1.default.types.isRegExp(callbackIdOrConstraints)
|
|
328
|
-
|
|
329
|
-
|
|
350
|
+
const constraints = typeof callbackIdOrConstraints === 'string' || util_1.default.types.isRegExp(callbackIdOrConstraints) ?
|
|
351
|
+
{ callback_id: callbackIdOrConstraints, type: 'view_submission' } :
|
|
352
|
+
callbackIdOrConstraints;
|
|
330
353
|
// Fail early if the constraints contain invalid keys
|
|
331
354
|
const unknownConstraintKeys = Object.keys(constraints).filter((k) => k !== 'callback_id' && k !== 'type');
|
|
332
355
|
if (unknownConstraintKeys.length > 0) {
|
|
@@ -339,12 +362,13 @@ class App {
|
|
|
339
362
|
}
|
|
340
363
|
this.listeners.push([
|
|
341
364
|
builtin_1.onlyViewActions,
|
|
342
|
-
builtin_1.matchConstraints(constraints),
|
|
365
|
+
(0, builtin_1.matchConstraints)(constraints),
|
|
343
366
|
...listeners,
|
|
344
367
|
]);
|
|
345
368
|
}
|
|
346
369
|
error(errorHandler) {
|
|
347
370
|
this.errorHandler = errorHandler;
|
|
371
|
+
this.hasCustomErrorHandler = true;
|
|
348
372
|
}
|
|
349
373
|
/**
|
|
350
374
|
* Handles events from the receiver
|
|
@@ -360,7 +384,7 @@ class App {
|
|
|
360
384
|
// or even all of the args, as properties of the error. This would give error handling code some ability to deal
|
|
361
385
|
// with "finally" type error situations.
|
|
362
386
|
// Introspect the body to determine what type of incoming event is being handled, and any channel context
|
|
363
|
-
const { type, conversationId } = helpers_1.getTypeAndConversation(body);
|
|
387
|
+
const { type, conversationId } = (0, helpers_1.getTypeAndConversation)(body);
|
|
364
388
|
// If the type could not be determined, warn and exit
|
|
365
389
|
if (type === undefined) {
|
|
366
390
|
this.logger.warn('Could not determine the type of an incoming event. No listeners will be called.');
|
|
@@ -381,9 +405,18 @@ class App {
|
|
|
381
405
|
}
|
|
382
406
|
}
|
|
383
407
|
catch (error) {
|
|
408
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
409
|
+
const e = error;
|
|
384
410
|
this.logger.warn('Authorization of incoming event did not succeed. No listeners will be called.');
|
|
385
|
-
|
|
386
|
-
|
|
411
|
+
e.code = errors_1.ErrorCode.AuthorizationError;
|
|
412
|
+
// disabling due to https://github.com/typescript-eslint/typescript-eslint/issues/1277
|
|
413
|
+
// eslint-disable-next-line consistent-return
|
|
414
|
+
return this.handleError({
|
|
415
|
+
error: e,
|
|
416
|
+
logger: this.logger,
|
|
417
|
+
body: bodyArg,
|
|
418
|
+
context: {},
|
|
419
|
+
});
|
|
387
420
|
}
|
|
388
421
|
// Try to set teamId from AuthorizeResult before using one from source
|
|
389
422
|
if (authorizeResult.teamId === undefined && source.teamId !== undefined) {
|
|
@@ -393,32 +426,60 @@ class App {
|
|
|
393
426
|
if (authorizeResult.enterpriseId === undefined && source.enterpriseId !== undefined) {
|
|
394
427
|
authorizeResult.enterpriseId = source.enterpriseId;
|
|
395
428
|
}
|
|
396
|
-
|
|
429
|
+
if (typeof event.customProperties !== 'undefined') {
|
|
430
|
+
const customProps = event.customProperties;
|
|
431
|
+
const builtinKeyDetected = middleware_1.contextBuiltinKeys.find((key) => key in customProps);
|
|
432
|
+
if (typeof builtinKeyDetected !== 'undefined') {
|
|
433
|
+
throw new errors_1.InvalidCustomPropertyError('customProperties cannot have the same names with the built-in ones');
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
const context = {
|
|
437
|
+
...authorizeResult,
|
|
438
|
+
...event.customProperties,
|
|
439
|
+
retryNum: event.retryNum,
|
|
440
|
+
retryReason: event.retryReason,
|
|
441
|
+
};
|
|
397
442
|
// Factory for say() utility
|
|
398
443
|
const createSay = (channelId) => {
|
|
399
444
|
const token = selectToken(context);
|
|
400
445
|
return (message) => {
|
|
401
|
-
const postMessageArguments = typeof message === 'string'
|
|
402
|
-
|
|
403
|
-
|
|
446
|
+
const postMessageArguments = typeof message === 'string' ?
|
|
447
|
+
{ token, text: message, channel: channelId } :
|
|
448
|
+
{ ...message, token, channel: channelId };
|
|
404
449
|
return this.client.chat.postMessage(postMessageArguments);
|
|
405
450
|
};
|
|
406
451
|
};
|
|
407
|
-
// Set body and payload
|
|
452
|
+
// Set body and payload
|
|
453
|
+
// TODO: this value should eventually conform to AnyMiddlewareArgs
|
|
454
|
+
let payload;
|
|
455
|
+
switch (type) {
|
|
456
|
+
case helpers_1.IncomingEventType.Event:
|
|
457
|
+
payload = bodyArg.event;
|
|
458
|
+
break;
|
|
459
|
+
case helpers_1.IncomingEventType.ViewAction:
|
|
460
|
+
payload = bodyArg.view;
|
|
461
|
+
break;
|
|
462
|
+
case helpers_1.IncomingEventType.Shortcut:
|
|
463
|
+
payload = bodyArg;
|
|
464
|
+
break;
|
|
465
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
466
|
+
// @ts-ignore: Fallthrough case in switch
|
|
467
|
+
case helpers_1.IncomingEventType.Action:
|
|
468
|
+
if (isBlockActionOrInteractiveMessageBody(bodyArg)) {
|
|
469
|
+
const { actions } = bodyArg;
|
|
470
|
+
[payload] = actions;
|
|
471
|
+
break;
|
|
472
|
+
}
|
|
473
|
+
// If above conditional does not hit, fall through to fallback payload in default block below
|
|
474
|
+
default:
|
|
475
|
+
payload = bodyArg;
|
|
476
|
+
break;
|
|
477
|
+
}
|
|
408
478
|
// NOTE: the following doesn't work because... distributive?
|
|
409
479
|
// const listenerArgs: Partial<AnyMiddlewareArgs> = {
|
|
410
480
|
const listenerArgs = {
|
|
411
481
|
body: bodyArg,
|
|
412
|
-
payload
|
|
413
|
-
? bodyArg.event
|
|
414
|
-
: type === helpers_1.IncomingEventType.ViewAction
|
|
415
|
-
? bodyArg.view
|
|
416
|
-
: type === helpers_1.IncomingEventType.Shortcut
|
|
417
|
-
? bodyArg
|
|
418
|
-
: type === helpers_1.IncomingEventType.Action &&
|
|
419
|
-
isBlockActionOrInteractiveMessageBody(bodyArg)
|
|
420
|
-
? bodyArg.actions[0]
|
|
421
|
-
: bodyArg,
|
|
482
|
+
payload,
|
|
422
483
|
};
|
|
423
484
|
// Set aliases
|
|
424
485
|
if (type === helpers_1.IncomingEventType.Event) {
|
|
@@ -497,7 +558,7 @@ class App {
|
|
|
497
558
|
}
|
|
498
559
|
// Dispatch event through the global middleware chain
|
|
499
560
|
try {
|
|
500
|
-
await process_1.
|
|
561
|
+
await (0, process_1.default)(this.middleware, listenerArgs, context, client, this.logger, async () => {
|
|
501
562
|
// Dispatch the event through the listener middleware chains and aggregate their results
|
|
502
563
|
// TODO: change the name of this.middleware and this.listeners to help this make more sense
|
|
503
564
|
const listenerResults = this.listeners.map(async (origListenerMiddleware) => {
|
|
@@ -505,11 +566,19 @@ class App {
|
|
|
505
566
|
const listenerMiddleware = [...origListenerMiddleware];
|
|
506
567
|
// Don't process the last item in the listenerMiddleware array - it shouldn't get a next fn
|
|
507
568
|
const listener = listenerMiddleware.pop();
|
|
508
|
-
if (listener
|
|
509
|
-
return
|
|
510
|
-
// When the listener middleware chain is done processing, call the listener without a next fn
|
|
511
|
-
listener({ ...listenerArgs, context, client, logger: this.logger }));
|
|
569
|
+
if (listener === undefined) {
|
|
570
|
+
return undefined;
|
|
512
571
|
}
|
|
572
|
+
return (0, process_1.default)(listenerMiddleware, listenerArgs, context, client, this.logger,
|
|
573
|
+
// When all of the listener middleware are done processing,
|
|
574
|
+
// `listener` here will be called without a `next` execution
|
|
575
|
+
async () => listener({
|
|
576
|
+
...listenerArgs,
|
|
577
|
+
context,
|
|
578
|
+
client,
|
|
579
|
+
logger: this.logger,
|
|
580
|
+
// `next` is already set in the outer processMiddleware
|
|
581
|
+
}));
|
|
513
582
|
});
|
|
514
583
|
const settledListenerResults = await allSettled(listenerResults);
|
|
515
584
|
const rejectedListenerResults = settledListenerResults.filter((lr) => lr.status === 'rejected');
|
|
@@ -522,21 +591,29 @@ class App {
|
|
|
522
591
|
});
|
|
523
592
|
}
|
|
524
593
|
catch (error) {
|
|
525
|
-
|
|
594
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
595
|
+
const e = error;
|
|
596
|
+
// disabling due to https://github.com/typescript-eslint/typescript-eslint/issues/1277
|
|
597
|
+
// eslint-disable-next-line consistent-return
|
|
598
|
+
return this.handleError({
|
|
599
|
+
context,
|
|
600
|
+
error: e,
|
|
601
|
+
logger: this.logger,
|
|
602
|
+
body: bodyArg,
|
|
603
|
+
});
|
|
526
604
|
}
|
|
527
605
|
}
|
|
528
606
|
/**
|
|
529
607
|
* Global error handler. The final destination for all errors (hopefully).
|
|
530
608
|
*/
|
|
531
|
-
handleError(
|
|
532
|
-
|
|
609
|
+
handleError(args) {
|
|
610
|
+
const { error, ...rest } = args;
|
|
611
|
+
return this.extendedErrorHandler && this.hasCustomErrorHandler ?
|
|
612
|
+
this.errorHandler({ error: (0, errors_1.asCodedError)(error), ...rest }) :
|
|
613
|
+
this.errorHandler((0, errors_1.asCodedError)(error));
|
|
533
614
|
}
|
|
534
615
|
}
|
|
535
616
|
exports.default = App;
|
|
536
|
-
// ----------------------------
|
|
537
|
-
// For the constructor
|
|
538
|
-
const tokenUsage = 'Apps used in one workspace should be initialized with a token. Apps used in many workspaces ' +
|
|
539
|
-
'should be initialized with oauth installer or authorize.';
|
|
540
617
|
function defaultErrorHandler(logger) {
|
|
541
618
|
return (error) => {
|
|
542
619
|
logger.error(error);
|
|
@@ -547,14 +624,12 @@ function defaultErrorHandler(logger) {
|
|
|
547
624
|
// singleAuthorization
|
|
548
625
|
function runAuthTestForBotToken(client, authorization) {
|
|
549
626
|
// TODO: warn when something needed isn't found
|
|
550
|
-
return authorization.botUserId !== undefined && authorization.botId !== undefined
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
};
|
|
557
|
-
});
|
|
627
|
+
return authorization.botUserId !== undefined && authorization.botId !== undefined ?
|
|
628
|
+
Promise.resolve({ botUserId: authorization.botUserId, botId: authorization.botId }) :
|
|
629
|
+
client.auth.test({ token: authorization.botToken }).then((result) => ({
|
|
630
|
+
botUserId: result.user_id,
|
|
631
|
+
botId: result.bot_id,
|
|
632
|
+
}));
|
|
558
633
|
}
|
|
559
634
|
async function buildAuthorizeResult(isEnterpriseInstall, authTestResult, authorization) {
|
|
560
635
|
return { isEnterpriseInstall, botToken: authorization.botToken, ...(await authTestResult) };
|
|
@@ -566,9 +641,7 @@ function singleAuthorization(client, authorization, tokenVerificationEnabled) {
|
|
|
566
641
|
if (tokenVerificationEnabled) {
|
|
567
642
|
// call auth.test immediately
|
|
568
643
|
cachedAuthTestResult = runAuthTestForBotToken(client, authorization);
|
|
569
|
-
return async ({ isEnterpriseInstall }) =>
|
|
570
|
-
return buildAuthorizeResult(isEnterpriseInstall, cachedAuthTestResult, authorization);
|
|
571
|
-
};
|
|
644
|
+
return async ({ isEnterpriseInstall }) => buildAuthorizeResult(isEnterpriseInstall, cachedAuthTestResult, authorization);
|
|
572
645
|
}
|
|
573
646
|
return async ({ isEnterpriseInstall }) => {
|
|
574
647
|
// hold off calling auth.test API until the first access to authorize function
|
|
@@ -610,7 +683,7 @@ function buildSource(type, channelId, body, isEnterpriseInstall) {
|
|
|
610
683
|
// This is the only place where this function might return undefined
|
|
611
684
|
return bodyAsActionOrOptionsOrViewActionOrShortcut.user.team_id;
|
|
612
685
|
}
|
|
613
|
-
return helpers_1.assertNever(type);
|
|
686
|
+
return (0, helpers_1.assertNever)(type);
|
|
614
687
|
})();
|
|
615
688
|
const enterpriseId = (() => {
|
|
616
689
|
if (type === helpers_1.IncomingEventType.Event) {
|
|
@@ -642,7 +715,7 @@ function buildSource(type, channelId, body, isEnterpriseInstall) {
|
|
|
642
715
|
}
|
|
643
716
|
return undefined;
|
|
644
717
|
}
|
|
645
|
-
return helpers_1.assertNever(type);
|
|
718
|
+
return (0, helpers_1.assertNever)(type);
|
|
646
719
|
})();
|
|
647
720
|
const userId = (() => {
|
|
648
721
|
if (type === helpers_1.IncomingEventType.Event) {
|
|
@@ -675,7 +748,7 @@ function buildSource(type, channelId, body, isEnterpriseInstall) {
|
|
|
675
748
|
if (type === helpers_1.IncomingEventType.Command) {
|
|
676
749
|
return body.user_id;
|
|
677
750
|
}
|
|
678
|
-
return helpers_1.assertNever(type);
|
|
751
|
+
return (0, helpers_1.assertNever)(type);
|
|
679
752
|
})();
|
|
680
753
|
return {
|
|
681
754
|
userId,
|
|
@@ -710,17 +783,14 @@ function isBlockActionOrInteractiveMessageBody(body) {
|
|
|
710
783
|
function selectToken(context) {
|
|
711
784
|
return context.botToken !== undefined ? context.botToken : context.userToken;
|
|
712
785
|
}
|
|
713
|
-
function buildRespondFn(axiosInstance,
|
|
786
|
+
function buildRespondFn(axiosInstance, responseUrl) {
|
|
714
787
|
return async (message) => {
|
|
715
788
|
const normalizedArgs = typeof message === 'string' ? { text: message } : message;
|
|
716
|
-
return axiosInstance.post(
|
|
789
|
+
return axiosInstance.post(responseUrl, normalizedArgs);
|
|
717
790
|
};
|
|
718
791
|
}
|
|
719
792
|
// ----------------------------
|
|
720
|
-
// For listener registration methods
|
|
721
|
-
const validViewTypes = ['view_closed', 'view_submission'];
|
|
722
|
-
// ----------------------------
|
|
723
793
|
// Instrumentation
|
|
724
794
|
// Don't change the position of the following code
|
|
725
|
-
web_api_1.addAppMetadata({ name: packageJson.name, version: packageJson.version });
|
|
795
|
+
(0, web_api_1.addAppMetadata)({ name: packageJson.name, version: packageJson.version });
|
|
726
796
|
//# sourceMappingURL=App.js.map
|
package/dist/App.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.js","sourceRoot":"","sources":["../src/App.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"App.js","sourceRoot":"","sources":["../src/App.ts"],"names":[],"mappings":"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"}
|