@slack/bolt 3.5.0 → 3.8.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.
- package/CHANGELOG.md +5 -0
- package/LICENSE +1 -1
- package/README.md +11 -4
- package/dist/package.json +88 -0
- package/package.json +18 -20
- package/dist/App.d.ts +0 -156
- package/dist/App.d.ts.map +0 -1
- package/dist/App.js +0 -721
- package/dist/App.js.map +0 -1
- package/dist/WorkflowStep.d.ts +0 -106
- package/dist/WorkflowStep.d.ts.map +0 -1
- package/dist/WorkflowStep.js +0 -199
- package/dist/WorkflowStep.js.map +0 -1
- package/dist/conversation-store.d.ts +0 -31
- package/dist/conversation-store.d.ts.map +0 -1
- package/dist/conversation-store.js +0 -72
- package/dist/conversation-store.js.map +0 -1
- package/dist/errors.d.ts +0 -71
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -104
- package/dist/errors.js.map +0 -1
- package/dist/helpers.d.ts +0 -24
- package/dist/helpers.d.ts.map +0 -1
- package/dist/helpers.js +0 -99
- package/dist/helpers.js.map +0 -1
- package/dist/index.d.ts +0 -13
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -43
- package/dist/index.js.map +0 -1
- package/dist/middleware/builtin.d.ts +0 -52
- package/dist/middleware/builtin.d.ts.map +0 -1
- package/dist/middleware/builtin.js +0 -330
- package/dist/middleware/builtin.js.map +0 -1
- package/dist/middleware/process.d.ts +0 -5
- package/dist/middleware/process.d.ts.map +0 -1
- package/dist/middleware/process.js +0 -26
- package/dist/middleware/process.js.map +0 -1
- package/dist/receivers/AwsLambdaReceiver.d.ts +0 -50
- package/dist/receivers/AwsLambdaReceiver.d.ts.map +0 -1
- package/dist/receivers/AwsLambdaReceiver.js +0 -192
- package/dist/receivers/AwsLambdaReceiver.js.map +0 -1
- package/dist/receivers/ExpressReceiver.d.ts +0 -64
- package/dist/receivers/ExpressReceiver.d.ts.map +0 -1
- package/dist/receivers/ExpressReceiver.js +0 -365
- package/dist/receivers/ExpressReceiver.js.map +0 -1
- package/dist/receivers/HTTPReceiver.d.ts +0 -60
- package/dist/receivers/HTTPReceiver.d.ts.map +0 -1
- package/dist/receivers/HTTPReceiver.js +0 -357
- package/dist/receivers/HTTPReceiver.js.map +0 -1
- package/dist/receivers/SocketModeReceiver.d.ts +0 -44
- package/dist/receivers/SocketModeReceiver.d.ts.map +0 -1
- package/dist/receivers/SocketModeReceiver.js +0 -111
- package/dist/receivers/SocketModeReceiver.js.map +0 -1
- package/dist/receivers/render-html-for-install-path.d.ts +0 -2
- package/dist/receivers/render-html-for-install-path.d.ts.map +0 -1
- package/dist/receivers/render-html-for-install-path.js +0 -20
- package/dist/receivers/render-html-for-install-path.js.map +0 -1
- package/dist/receivers/verify-request.d.ts +0 -40
- package/dist/receivers/verify-request.d.ts.map +0 -1
- package/dist/receivers/verify-request.js +0 -94
- package/dist/receivers/verify-request.js.map +0 -1
- package/dist/types/actions/block-action.d.ts +0 -224
- package/dist/types/actions/block-action.d.ts.map +0 -1
- package/dist/types/actions/block-action.js +0 -3
- package/dist/types/actions/block-action.js.map +0 -1
- package/dist/types/actions/dialog-action.d.ts +0 -47
- package/dist/types/actions/dialog-action.d.ts.map +0 -1
- package/dist/types/actions/dialog-action.js +0 -3
- package/dist/types/actions/dialog-action.js.map +0 -1
- package/dist/types/actions/index.d.ts +0 -46
- package/dist/types/actions/index.d.ts.map +0 -1
- package/dist/types/actions/index.js +0 -17
- package/dist/types/actions/index.js.map +0 -1
- package/dist/types/actions/interactive-message.d.ts +0 -66
- package/dist/types/actions/interactive-message.d.ts.map +0 -1
- package/dist/types/actions/interactive-message.js +0 -3
- package/dist/types/actions/interactive-message.js.map +0 -1
- package/dist/types/actions/workflow-step-edit.d.ts +0 -49
- package/dist/types/actions/workflow-step-edit.d.ts.map +0 -1
- package/dist/types/actions/workflow-step-edit.js +0 -3
- package/dist/types/actions/workflow-step-edit.js.map +0 -1
- package/dist/types/command/index.d.ts +0 -36
- package/dist/types/command/index.d.ts.map +0 -1
- package/dist/types/command/index.js +0 -3
- package/dist/types/command/index.js.map +0 -1
- package/dist/types/events/base-events.d.ts +0 -622
- package/dist/types/events/base-events.d.ts.map +0 -1
- package/dist/types/events/base-events.js +0 -5
- package/dist/types/events/base-events.js.map +0 -1
- package/dist/types/events/index.d.ts +0 -63
- package/dist/types/events/index.d.ts.map +0 -1
- package/dist/types/events/index.js +0 -14
- package/dist/types/events/index.js.map +0 -1
- package/dist/types/events/message-events.d.ts +0 -312
- package/dist/types/events/message-events.d.ts.map +0 -1
- package/dist/types/events/message-events.js +0 -3
- package/dist/types/events/message-events.js.map +0 -1
- package/dist/types/helpers.d.ts +0 -17
- package/dist/types/helpers.d.ts.map +0 -1
- package/dist/types/helpers.js +0 -3
- package/dist/types/helpers.js.map +0 -1
- package/dist/types/index.d.ts +0 -10
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -22
- package/dist/types/index.js.map +0 -1
- package/dist/types/middleware.d.ts +0 -56
- package/dist/types/middleware.d.ts.map +0 -1
- package/dist/types/middleware.js +0 -3
- package/dist/types/middleware.js.map +0 -1
- package/dist/types/options/index.d.ts +0 -192
- package/dist/types/options/index.d.ts.map +0 -1
- package/dist/types/options/index.js +0 -3
- package/dist/types/options/index.js.map +0 -1
- package/dist/types/receiver.d.ts +0 -13
- package/dist/types/receiver.d.ts.map +0 -1
- package/dist/types/receiver.js +0 -3
- package/dist/types/receiver.js.map +0 -1
- package/dist/types/shortcuts/global-shortcut.d.ts +0 -29
- package/dist/types/shortcuts/global-shortcut.d.ts.map +0 -1
- package/dist/types/shortcuts/global-shortcut.js +0 -3
- package/dist/types/shortcuts/global-shortcut.js.map +0 -1
- package/dist/types/shortcuts/index.d.ts +0 -23
- package/dist/types/shortcuts/index.d.ts.map +0 -1
- package/dist/types/shortcuts/index.js +0 -16
- package/dist/types/shortcuts/index.js.map +0 -1
- package/dist/types/shortcuts/message-shortcut.d.ts +0 -43
- package/dist/types/shortcuts/message-shortcut.d.ts.map +0 -1
- package/dist/types/shortcuts/message-shortcut.js +0 -3
- package/dist/types/shortcuts/message-shortcut.js.map +0 -1
- package/dist/types/utilities.d.ts +0 -23
- package/dist/types/utilities.d.ts.map +0 -1
- package/dist/types/utilities.js +0 -3
- package/dist/types/utilities.js.map +0 -1
- package/dist/types/view/index.d.ts +0 -175
- package/dist/types/view/index.d.ts.map +0 -1
- package/dist/types/view/index.js +0 -3
- package/dist/types/view/index.js.map +0 -1
package/CHANGELOG.md
ADDED
package/LICENSE
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
The MIT License (MIT)
|
|
2
2
|
|
|
3
3
|
Copyright (c) 2016-2018 Robots & Pencils
|
|
4
|
-
Copyright (c) 2019 Slack Technologies,
|
|
4
|
+
Copyright (c) 2019- Slack Technologies, LLC
|
|
5
5
|
|
|
6
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
of this software and associated documentation files (the "Software"), to deal
|
package/README.md
CHANGED
|
@@ -35,10 +35,12 @@ const app = new App({
|
|
|
35
35
|
})();
|
|
36
36
|
```
|
|
37
37
|
|
|
38
|
-
> ⚙️ By default, Bolt listens to the `/slack/events` endpoint for *all* incoming requests (whether shortcuts, events, or actions payloads). When configuring Request URLs in your app configuration, they should all have `/slack/events` appended. The default behavior be modified using the constructor's `endpoints` parameter.
|
|
39
|
-
|
|
40
38
|
## Listening for events
|
|
41
39
|
|
|
40
|
+
The Slack **Request URL** for a Bolt app must have the path set to `/slack/events`.
|
|
41
|
+
For example: `https://my-slack-app.example.com/slack/events`.
|
|
42
|
+
Otherwise, all incoming requests from Slack won't be handled.
|
|
43
|
+
|
|
42
44
|
Apps typically react to a collection of incoming events, which can correspond [Events API events](https://api.slack.com/events-api), [actions](https://api.slack.com/interactivity/components), [shortcuts](https://api.slack.com/interactivity/shortcuts), [slash commands](https://api.slack.com/interactivity/slash-commands) or [options requests](https://api.slack.com/reference/block-kit/block-elements#external_select). For each type of
|
|
43
45
|
request, there's a method to build a listener function.
|
|
44
46
|
|
|
@@ -100,7 +102,7 @@ In addition to the [`client` property passed to listeners](#making-things-happen
|
|
|
100
102
|
|
|
101
103
|
### Acknowledging events
|
|
102
104
|
|
|
103
|
-
Some types of events need to be acknowledged in order to ensure a consistent user experience inside the Slack client (web, mobile, and desktop apps). This includes all action, shortcut, view, command, and options requests. Listeners for these events need to call the `ack()` function, which is passed in as an argument.
|
|
105
|
+
Some types of events need to be acknowledged in order to ensure a consistent user experience inside the Slack client (web, mobile, and desktop apps). This includes all action, shortcut, view, command, and options requests. Listeners for these events need to call the `ack()` function, which is passed in as an argument.
|
|
104
106
|
|
|
105
107
|
In general, the Slack platform expects an acknowledgement within 3 seconds, so listeners should call this function as soon as possible.
|
|
106
108
|
|
|
@@ -114,7 +116,7 @@ Depending on the type of incoming event a listener is meant for, `ack()` should
|
|
|
114
116
|
|
|
115
117
|
* Legacy message button clicks, menu selections, and slash commands: Either call `ack()` with no parameters, a `string` to to update the message with a simple message, or an `object` to replace it with a complex message. Replacing the message to remove the interactive elements is a best practice for any action that should only be performed once.
|
|
116
118
|
|
|
117
|
-
* Events API events **do not** need an `ack()` function since they are automatically acknowledged by your app.
|
|
119
|
+
* Events API events **do not** need an `ack()` function since they are automatically acknowledged by your app.
|
|
118
120
|
|
|
119
121
|
## Getting Help
|
|
120
122
|
|
|
@@ -124,3 +126,8 @@ If you otherwise get stuck, we're here to help. The following are the best ways
|
|
|
124
126
|
|
|
125
127
|
* [Issue Tracker](http://github.com/slackapi/bolt-js/issues) for questions, bug reports, feature requests, and general discussion related to Bolt for JavaScript. Try searching for an existing issue before creating a new one.
|
|
126
128
|
* [Email](mailto:support@slack.com) our developer support team: `support@slack.com`
|
|
129
|
+
## Contributing
|
|
130
|
+
|
|
131
|
+
We welcome contributions from everyone! Please check out our
|
|
132
|
+
[Contributor's Guide](.github/contributing.md) for how to contribute in a
|
|
133
|
+
helpful and collaborative way.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@slack/bolt",
|
|
3
|
+
"version": "3.5.0",
|
|
4
|
+
"description": "A framework for building Slack apps, fast.",
|
|
5
|
+
"author": "Slack Technologies, Inc.",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"keywords": [
|
|
8
|
+
"slack",
|
|
9
|
+
"bot",
|
|
10
|
+
"events-api",
|
|
11
|
+
"slash-commands",
|
|
12
|
+
"interactive-components",
|
|
13
|
+
"api",
|
|
14
|
+
"chatops",
|
|
15
|
+
"integration",
|
|
16
|
+
"slack-app"
|
|
17
|
+
],
|
|
18
|
+
"main": "./dist/index.js",
|
|
19
|
+
"types": "./dist/index.d.ts",
|
|
20
|
+
"files": [
|
|
21
|
+
"dist/**/*"
|
|
22
|
+
],
|
|
23
|
+
"engines": {
|
|
24
|
+
"node": ">=12.13.0",
|
|
25
|
+
"npm": ">=6.12.0"
|
|
26
|
+
},
|
|
27
|
+
"scripts": {
|
|
28
|
+
"prepare": "npm run build",
|
|
29
|
+
"build": "npm run build:clean && tsc",
|
|
30
|
+
"build:clean": "shx rm -rf ./dist ./coverage ./.nyc_output",
|
|
31
|
+
"lint": "eslint --ext .ts src",
|
|
32
|
+
"mocha": "TS_NODE_PROJECT=tsconfig.json nyc mocha --config .mocharc.json \"src/**/*.spec.ts\"",
|
|
33
|
+
"test": "npm run lint && npm run mocha && npm run test:types",
|
|
34
|
+
"test:types": "tsd",
|
|
35
|
+
"coverage": "codecov",
|
|
36
|
+
"watch": "npx nodemon --watch 'src' --ext 'ts' --exec npm run build"
|
|
37
|
+
},
|
|
38
|
+
"repository": "slackapi/bolt",
|
|
39
|
+
"homepage": "https://slack.dev/bolt-js",
|
|
40
|
+
"bugs": {
|
|
41
|
+
"url": "https://github.com/slackapi/bolt-js/issues"
|
|
42
|
+
},
|
|
43
|
+
"dependencies": {
|
|
44
|
+
"@slack/logger": "^3.0.0",
|
|
45
|
+
"@slack/oauth": "^2.2.0",
|
|
46
|
+
"@slack/socket-mode": "^1.1.0",
|
|
47
|
+
"@slack/types": "^2.0.0",
|
|
48
|
+
"@slack/web-api": "^6.3.0",
|
|
49
|
+
"@types/express": "^4.16.1",
|
|
50
|
+
"@types/node": ">=12",
|
|
51
|
+
"@types/promise.allsettled": "^1.0.3",
|
|
52
|
+
"@types/tsscmp": "^1.0.0",
|
|
53
|
+
"axios": "^0.21.1",
|
|
54
|
+
"eslint-config-airbnb-base": "^14.2.1",
|
|
55
|
+
"express": "^4.16.4",
|
|
56
|
+
"please-upgrade-node": "^3.2.0",
|
|
57
|
+
"promise.allsettled": "^1.0.2",
|
|
58
|
+
"raw-body": "^2.3.3",
|
|
59
|
+
"read-pkg-up": "^7.0.1",
|
|
60
|
+
"tsscmp": "^1.0.6"
|
|
61
|
+
},
|
|
62
|
+
"devDependencies": {
|
|
63
|
+
"@types/chai": "^4.1.7",
|
|
64
|
+
"@types/mocha": "^5.2.6",
|
|
65
|
+
"@types/sinon": "^7.0.11",
|
|
66
|
+
"@typescript-eslint/eslint-plugin": "^4.4.1",
|
|
67
|
+
"@typescript-eslint/parser": "^4.4.0",
|
|
68
|
+
"chai": "^4.2.0",
|
|
69
|
+
"codecov": "^3.2.0",
|
|
70
|
+
"eslint": "^7.26.0",
|
|
71
|
+
"eslint-config-airbnb-typescript": "^12.3.1",
|
|
72
|
+
"eslint-plugin-import": "^2.22.1",
|
|
73
|
+
"eslint-plugin-jsdoc": "^30.6.1",
|
|
74
|
+
"eslint-plugin-node": "^11.1.0",
|
|
75
|
+
"mocha": "^6.1.4",
|
|
76
|
+
"nyc": "^14.0.0",
|
|
77
|
+
"rewiremock": "^3.13.4",
|
|
78
|
+
"shx": "^0.3.2",
|
|
79
|
+
"sinon": "^7.3.1",
|
|
80
|
+
"source-map-support": "^0.5.12",
|
|
81
|
+
"ts-node": "^8.1.0",
|
|
82
|
+
"tsd": "^0.13.1",
|
|
83
|
+
"typescript": "^4.1.0"
|
|
84
|
+
},
|
|
85
|
+
"tsd": {
|
|
86
|
+
"directory": "types-tests"
|
|
87
|
+
}
|
|
88
|
+
}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@slack/bolt",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.8.0",
|
|
4
4
|
"description": "A framework for building Slack apps, fast.",
|
|
5
|
-
"author": "Slack Technologies,
|
|
5
|
+
"author": "Slack Technologies, LLC",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"keywords": [
|
|
8
8
|
"slack",
|
|
@@ -28,10 +28,9 @@
|
|
|
28
28
|
"prepare": "npm run build",
|
|
29
29
|
"build": "tsc",
|
|
30
30
|
"build:clean": "shx rm -rf ./dist ./coverage ./.nyc_output",
|
|
31
|
-
"lint": "
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"test": "npm run lint && npm run test-lint && npm run mocha && npm run test:types",
|
|
31
|
+
"lint": "eslint --ext .ts src",
|
|
32
|
+
"mocha": "TS_NODE_PROJECT=tsconfig.json nyc mocha --config .mocharc.json \"src/**/*.spec.ts\"",
|
|
33
|
+
"test": "npm run lint && npm run mocha && npm run test:types",
|
|
35
34
|
"test:types": "tsd",
|
|
36
35
|
"coverage": "codecov",
|
|
37
36
|
"watch": "npx nodemon --watch 'src' --ext 'ts' --exec npm run build"
|
|
@@ -43,15 +42,15 @@
|
|
|
43
42
|
},
|
|
44
43
|
"dependencies": {
|
|
45
44
|
"@slack/logger": "^3.0.0",
|
|
46
|
-
"@slack/oauth": "^2.
|
|
47
|
-
"@slack/socket-mode": "^1.
|
|
48
|
-
"@slack/types": "^2.
|
|
49
|
-
"@slack/web-api": "^6.
|
|
45
|
+
"@slack/oauth": "^2.3.0",
|
|
46
|
+
"@slack/socket-mode": "^1.2.0",
|
|
47
|
+
"@slack/types": "^2.2.0",
|
|
48
|
+
"@slack/web-api": "^6.4.0",
|
|
50
49
|
"@types/express": "^4.16.1",
|
|
51
50
|
"@types/node": ">=12",
|
|
52
51
|
"@types/promise.allsettled": "^1.0.3",
|
|
53
52
|
"@types/tsscmp": "^1.0.0",
|
|
54
|
-
"axios": "^0.21.
|
|
53
|
+
"axios": "^0.21.4",
|
|
55
54
|
"express": "^4.16.4",
|
|
56
55
|
"please-upgrade-node": "^3.2.0",
|
|
57
56
|
"promise.allsettled": "^1.0.2",
|
|
@@ -62,25 +61,24 @@
|
|
|
62
61
|
"@types/chai": "^4.1.7",
|
|
63
62
|
"@types/mocha": "^5.2.6",
|
|
64
63
|
"@types/sinon": "^7.0.11",
|
|
65
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
66
|
-
"@typescript-eslint/parser": "^
|
|
64
|
+
"@typescript-eslint/eslint-plugin": "^4.4.1",
|
|
65
|
+
"@typescript-eslint/parser": "^4.4.0",
|
|
67
66
|
"chai": "^4.2.0",
|
|
68
67
|
"codecov": "^3.2.0",
|
|
69
68
|
"eslint": "^7.26.0",
|
|
70
|
-
"eslint-config-airbnb-
|
|
71
|
-
"eslint-config-
|
|
72
|
-
"eslint-plugin-import": "^2.22.
|
|
73
|
-
"eslint-plugin-jsdoc": "^
|
|
74
|
-
"
|
|
69
|
+
"eslint-config-airbnb-base": "^14.2.1",
|
|
70
|
+
"eslint-config-airbnb-typescript": "^12.3.1",
|
|
71
|
+
"eslint-plugin-import": "^2.22.1",
|
|
72
|
+
"eslint-plugin-jsdoc": "^30.6.1",
|
|
73
|
+
"eslint-plugin-node": "^11.1.0",
|
|
74
|
+
"mocha": "^9.1.3",
|
|
75
75
|
"nyc": "^14.0.0",
|
|
76
|
-
"prettier": "^2.0.5",
|
|
77
76
|
"rewiremock": "^3.13.4",
|
|
78
77
|
"shx": "^0.3.2",
|
|
79
78
|
"sinon": "^7.3.1",
|
|
80
79
|
"source-map-support": "^0.5.12",
|
|
81
80
|
"ts-node": "^8.1.0",
|
|
82
81
|
"tsd": "^0.13.1",
|
|
83
|
-
"tslint-config-airbnb": "^5.11.1",
|
|
84
82
|
"typescript": "^4.1.0"
|
|
85
83
|
},
|
|
86
84
|
"tsd": {
|
package/dist/App.d.ts
DELETED
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { Agent } from 'http';
|
|
3
|
-
import { SecureContextOptions } from 'tls';
|
|
4
|
-
import { WebClient, WebClientOptions } from '@slack/web-api';
|
|
5
|
-
import { Logger, LogLevel } from '@slack/logger';
|
|
6
|
-
import SocketModeReceiver from './receivers/SocketModeReceiver';
|
|
7
|
-
import HTTPReceiver, { HTTPReceiverOptions } from './receivers/HTTPReceiver';
|
|
8
|
-
import { ConversationStore } from './conversation-store';
|
|
9
|
-
import { WorkflowStep } from './WorkflowStep';
|
|
10
|
-
import { Middleware, AnyMiddlewareArgs, SlackActionMiddlewareArgs, SlackCommandMiddlewareArgs, SlackEventMiddlewareArgs, SlackOptionsMiddlewareArgs, SlackShortcutMiddlewareArgs, SlackViewMiddlewareArgs, SlackAction, SlackShortcut, OptionsSource, BlockAction, SlackViewAction, Receiver, ReceiverEvent } from './types';
|
|
11
|
-
import { CodedError } from './errors';
|
|
12
|
-
/** App initialization options */
|
|
13
|
-
export interface AppOptions {
|
|
14
|
-
signingSecret?: HTTPReceiverOptions['signingSecret'];
|
|
15
|
-
endpoints?: HTTPReceiverOptions['endpoints'];
|
|
16
|
-
processBeforeResponse?: HTTPReceiverOptions['processBeforeResponse'];
|
|
17
|
-
clientId?: HTTPReceiverOptions['clientId'];
|
|
18
|
-
clientSecret?: HTTPReceiverOptions['clientSecret'];
|
|
19
|
-
stateSecret?: HTTPReceiverOptions['stateSecret'];
|
|
20
|
-
installationStore?: HTTPReceiverOptions['installationStore'];
|
|
21
|
-
scopes?: HTTPReceiverOptions['scopes'];
|
|
22
|
-
installerOptions?: HTTPReceiverOptions['installerOptions'];
|
|
23
|
-
agent?: Agent;
|
|
24
|
-
clientTls?: Pick<SecureContextOptions, 'pfx' | 'key' | 'passphrase' | 'cert' | 'ca'>;
|
|
25
|
-
convoStore?: ConversationStore | false;
|
|
26
|
-
token?: AuthorizeResult['botToken'];
|
|
27
|
-
appToken?: string;
|
|
28
|
-
botId?: AuthorizeResult['botId'];
|
|
29
|
-
botUserId?: AuthorizeResult['botUserId'];
|
|
30
|
-
authorize?: Authorize<boolean>;
|
|
31
|
-
receiver?: Receiver;
|
|
32
|
-
logger?: Logger;
|
|
33
|
-
logLevel?: LogLevel;
|
|
34
|
-
ignoreSelf?: boolean;
|
|
35
|
-
clientOptions?: Pick<WebClientOptions, 'slackApiUrl'>;
|
|
36
|
-
socketMode?: boolean;
|
|
37
|
-
developerMode?: boolean;
|
|
38
|
-
tokenVerificationEnabled?: boolean;
|
|
39
|
-
}
|
|
40
|
-
export { LogLevel, Logger } from '@slack/logger';
|
|
41
|
-
/** Authorization function - seeds the middleware processing and listeners with an authorization context */
|
|
42
|
-
export interface Authorize<IsEnterpriseInstall extends boolean = false> {
|
|
43
|
-
(source: AuthorizeSourceData<IsEnterpriseInstall>, body?: AnyMiddlewareArgs['body']): Promise<AuthorizeResult>;
|
|
44
|
-
}
|
|
45
|
-
/** Authorization function inputs - authenticated data about an event for the authorization function */
|
|
46
|
-
export interface AuthorizeSourceData<IsEnterpriseInstall extends boolean = false> {
|
|
47
|
-
teamId: IsEnterpriseInstall extends true ? string | undefined : string;
|
|
48
|
-
enterpriseId: IsEnterpriseInstall extends true ? string : string | undefined;
|
|
49
|
-
userId?: string;
|
|
50
|
-
conversationId?: string;
|
|
51
|
-
isEnterpriseInstall: IsEnterpriseInstall;
|
|
52
|
-
}
|
|
53
|
-
/** Authorization function outputs - data that will be available as part of event processing */
|
|
54
|
-
export interface AuthorizeResult {
|
|
55
|
-
botToken?: string;
|
|
56
|
-
userToken?: string;
|
|
57
|
-
botId?: string;
|
|
58
|
-
botUserId?: string;
|
|
59
|
-
teamId?: string;
|
|
60
|
-
enterpriseId?: string;
|
|
61
|
-
[key: string]: any;
|
|
62
|
-
}
|
|
63
|
-
export interface ActionConstraints<A extends SlackAction = SlackAction> {
|
|
64
|
-
type?: A['type'];
|
|
65
|
-
block_id?: A extends BlockAction ? string | RegExp : never;
|
|
66
|
-
action_id?: A extends BlockAction ? string | RegExp : never;
|
|
67
|
-
callback_id?: Extract<A, {
|
|
68
|
-
callback_id?: string;
|
|
69
|
-
}> extends any ? string | RegExp : never;
|
|
70
|
-
}
|
|
71
|
-
export interface ShortcutConstraints<S extends SlackShortcut = SlackShortcut> {
|
|
72
|
-
type?: S['type'];
|
|
73
|
-
callback_id?: string | RegExp;
|
|
74
|
-
}
|
|
75
|
-
export interface ViewConstraints {
|
|
76
|
-
callback_id?: string | RegExp;
|
|
77
|
-
type?: 'view_closed' | 'view_submission';
|
|
78
|
-
}
|
|
79
|
-
export interface ErrorHandler {
|
|
80
|
-
(error: CodedError): Promise<void>;
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* A Slack App
|
|
84
|
-
*/
|
|
85
|
-
export default class App {
|
|
86
|
-
/** Slack Web API client */
|
|
87
|
-
client: WebClient;
|
|
88
|
-
private clientOptions;
|
|
89
|
-
private clients;
|
|
90
|
-
/** Receiver - ingests events from the Slack platform */
|
|
91
|
-
private receiver;
|
|
92
|
-
/** Logger */
|
|
93
|
-
private logger;
|
|
94
|
-
/** Log Level */
|
|
95
|
-
private logLevel;
|
|
96
|
-
/** Authorize */
|
|
97
|
-
private authorize;
|
|
98
|
-
/** Global middleware chain */
|
|
99
|
-
private middleware;
|
|
100
|
-
/** Listener middleware chains */
|
|
101
|
-
private listeners;
|
|
102
|
-
private errorHandler;
|
|
103
|
-
private axios;
|
|
104
|
-
private installerOptions;
|
|
105
|
-
private socketMode;
|
|
106
|
-
private developerMode;
|
|
107
|
-
constructor({ signingSecret, endpoints, agent, clientTls, receiver, convoStore, token, appToken, botId, botUserId, authorize, logger, logLevel, ignoreSelf, clientOptions, processBeforeResponse, clientId, clientSecret, stateSecret, installationStore, scopes, installerOptions, socketMode, developerMode, tokenVerificationEnabled, }?: AppOptions);
|
|
108
|
-
/**
|
|
109
|
-
* Register a new middleware, processed in the order registered.
|
|
110
|
-
*
|
|
111
|
-
* @param m global middleware function
|
|
112
|
-
*/
|
|
113
|
-
use(m: Middleware<AnyMiddlewareArgs>): this;
|
|
114
|
-
/**
|
|
115
|
-
* Register WorkflowStep middleware
|
|
116
|
-
*
|
|
117
|
-
* @param workflowStep global workflow step middleware function
|
|
118
|
-
*/
|
|
119
|
-
step(workflowStep: WorkflowStep): this;
|
|
120
|
-
/**
|
|
121
|
-
* Convenience method to call start on the receiver
|
|
122
|
-
*
|
|
123
|
-
* TODO: should replace HTTPReceiver in type definition with a generic that is constrained to Receiver
|
|
124
|
-
*
|
|
125
|
-
* @param args receiver-specific start arguments
|
|
126
|
-
*/
|
|
127
|
-
start(...args: Parameters<HTTPReceiver['start'] | SocketModeReceiver['start']>): ReturnType<HTTPReceiver['start']>;
|
|
128
|
-
stop(...args: any[]): Promise<unknown>;
|
|
129
|
-
event<EventType extends string = string>(eventName: EventType, ...listeners: Middleware<SlackEventMiddlewareArgs<EventType>>[]): void;
|
|
130
|
-
event<EventType extends RegExp = RegExp>(eventName: EventType, ...listeners: Middleware<SlackEventMiddlewareArgs<string>>[]): void;
|
|
131
|
-
message(...listeners: Middleware<SlackEventMiddlewareArgs<'message'>>[]): void;
|
|
132
|
-
message(pattern: string | RegExp, ...listeners: Middleware<SlackEventMiddlewareArgs<'message'>>[]): void;
|
|
133
|
-
shortcut<Shortcut extends SlackShortcut = SlackShortcut>(callbackId: string | RegExp, ...listeners: Middleware<SlackShortcutMiddlewareArgs<Shortcut>>[]): void;
|
|
134
|
-
shortcut<Shortcut extends SlackShortcut = SlackShortcut, Constraints extends ShortcutConstraints<Shortcut> = ShortcutConstraints<Shortcut>>(constraints: Constraints, ...listeners: Middleware<SlackShortcutMiddlewareArgs<Extract<Shortcut, {
|
|
135
|
-
type: Constraints['type'];
|
|
136
|
-
}>>>[]): void;
|
|
137
|
-
action<Action extends SlackAction = SlackAction>(actionId: string | RegExp, ...listeners: Middleware<SlackActionMiddlewareArgs<Action>>[]): void;
|
|
138
|
-
action<Action extends SlackAction = SlackAction, Constraints extends ActionConstraints<Action> = ActionConstraints<Action>>(constraints: Constraints, ...listeners: Middleware<SlackActionMiddlewareArgs<Extract<Action, {
|
|
139
|
-
type: Constraints['type'];
|
|
140
|
-
}>>>[]): void;
|
|
141
|
-
command(commandName: string | RegExp, ...listeners: Middleware<SlackCommandMiddlewareArgs>[]): void;
|
|
142
|
-
options<Source extends OptionsSource = 'block_suggestion'>(actionId: string | RegExp, ...listeners: Middleware<SlackOptionsMiddlewareArgs<Source>>[]): void;
|
|
143
|
-
options<Source extends OptionsSource = OptionsSource>(constraints: ActionConstraints, ...listeners: Middleware<SlackOptionsMiddlewareArgs<Source>>[]): void;
|
|
144
|
-
view<ViewActionType extends SlackViewAction = SlackViewAction>(callbackId: string | RegExp, ...listeners: Middleware<SlackViewMiddlewareArgs<ViewActionType>>[]): void;
|
|
145
|
-
view<ViewActionType extends SlackViewAction = SlackViewAction>(constraints: ViewConstraints, ...listeners: Middleware<SlackViewMiddlewareArgs<ViewActionType>>[]): void;
|
|
146
|
-
error(errorHandler: ErrorHandler): void;
|
|
147
|
-
/**
|
|
148
|
-
* Handles events from the receiver
|
|
149
|
-
*/
|
|
150
|
-
processEvent(event: ReceiverEvent): Promise<void>;
|
|
151
|
-
/**
|
|
152
|
-
* Global error handler. The final destination for all errors (hopefully).
|
|
153
|
-
*/
|
|
154
|
-
private handleError;
|
|
155
|
-
}
|
|
156
|
-
//# sourceMappingURL=App.d.ts.map
|
package/dist/App.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../src/App.ts"],"names":[],"mappings":"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"}
|