@slack/bolt 4.0.0-rc.1 → 4.0.0-rc.2
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/README.md +22 -16
- package/dist/App.d.ts +32 -48
- package/dist/App.d.ts.map +1 -1
- package/dist/App.js +174 -86
- package/dist/App.js.map +1 -1
- package/dist/CustomFunction.d.ts +58 -0
- package/dist/CustomFunction.d.ts.map +1 -0
- package/dist/CustomFunction.js +144 -0
- package/dist/CustomFunction.js.map +1 -0
- package/dist/WorkflowStep.d.ts +89 -36
- package/dist/WorkflowStep.d.ts.map +1 -1
- package/dist/WorkflowStep.js +29 -8
- package/dist/WorkflowStep.js.map +1 -1
- package/dist/conversation-store.d.ts +1 -1
- package/dist/conversation-store.d.ts.map +1 -1
- package/dist/conversation-store.js +3 -3
- package/dist/conversation-store.js.map +1 -1
- package/dist/errors.d.ts +19 -2
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +45 -32
- package/dist/errors.js.map +1 -1
- package/dist/helpers.d.ts +2 -2
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +5 -4
- package/dist/helpers.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -9
- package/dist/index.js.map +1 -1
- package/dist/middleware/builtin.d.ts +19 -22
- package/dist/middleware/builtin.d.ts.map +1 -1
- package/dist/middleware/builtin.js +93 -111
- package/dist/middleware/builtin.js.map +1 -1
- package/dist/middleware/process.d.ts +3 -3
- package/dist/middleware/process.d.ts.map +1 -1
- package/dist/middleware/process.js +1 -1
- package/dist/middleware/process.js.map +1 -1
- package/dist/receivers/AwsLambdaReceiver.d.ts +77 -16
- package/dist/receivers/AwsLambdaReceiver.d.ts.map +1 -1
- package/dist/receivers/AwsLambdaReceiver.js +53 -25
- package/dist/receivers/AwsLambdaReceiver.js.map +1 -1
- package/dist/receivers/BufferedIncomingMessage.d.ts +2 -1
- package/dist/receivers/BufferedIncomingMessage.d.ts.map +1 -1
- package/dist/receivers/ExpressReceiver.d.ts +13 -13
- package/dist/receivers/ExpressReceiver.d.ts.map +1 -1
- package/dist/receivers/ExpressReceiver.js +70 -70
- package/dist/receivers/ExpressReceiver.js.map +1 -1
- package/dist/receivers/HTTPModuleFunctions.d.ts +18 -20
- package/dist/receivers/HTTPModuleFunctions.d.ts.map +1 -1
- package/dist/receivers/HTTPModuleFunctions.js +187 -181
- package/dist/receivers/HTTPModuleFunctions.js.map +1 -1
- package/dist/receivers/HTTPReceiver.d.ts +14 -14
- package/dist/receivers/HTTPReceiver.d.ts.map +1 -1
- package/dist/receivers/HTTPReceiver.js +92 -44
- package/dist/receivers/HTTPReceiver.js.map +1 -1
- package/dist/receivers/HTTPResponseAck.d.ts +7 -7
- package/dist/receivers/HTTPResponseAck.d.ts.map +1 -1
- package/dist/receivers/HTTPResponseAck.js +37 -5
- package/dist/receivers/HTTPResponseAck.js.map +1 -1
- package/dist/receivers/ParamsIncomingMessage.d.ts +2 -2
- package/dist/receivers/ParamsIncomingMessage.d.ts.map +1 -1
- package/dist/receivers/SocketModeFunctions.d.ts +3 -5
- package/dist/receivers/SocketModeFunctions.d.ts.map +1 -1
- package/dist/receivers/SocketModeFunctions.js +14 -23
- package/dist/receivers/SocketModeFunctions.js.map +1 -1
- package/dist/receivers/SocketModeReceiver.d.ts +9 -9
- package/dist/receivers/SocketModeReceiver.d.ts.map +1 -1
- package/dist/receivers/SocketModeReceiver.js +29 -21
- package/dist/receivers/SocketModeReceiver.js.map +1 -1
- package/dist/receivers/custom-routes.d.ts +2 -2
- package/dist/receivers/custom-routes.d.ts.map +1 -1
- package/dist/receivers/custom-routes.js +10 -9
- package/dist/receivers/custom-routes.js.map +1 -1
- package/dist/receivers/verify-redirect-opts.d.ts +1 -1
- package/dist/receivers/verify-redirect-opts.d.ts.map +1 -1
- package/dist/receivers/verify-redirect-opts.js +3 -3
- package/dist/receivers/verify-redirect-opts.js.map +1 -1
- package/dist/receivers/verify-request.d.ts +1 -12
- package/dist/receivers/verify-request.d.ts.map +1 -1
- package/dist/receivers/verify-request.js +4 -18
- package/dist/receivers/verify-request.js.map +1 -1
- package/dist/types/actions/block-action.d.ts +17 -17
- package/dist/types/actions/block-action.d.ts.map +1 -1
- package/dist/types/actions/index.d.ts +25 -11
- package/dist/types/actions/index.d.ts.map +1 -1
- package/dist/types/actions/index.js +1 -0
- package/dist/types/actions/index.js.map +1 -1
- package/dist/types/actions/interactive-message.d.ts +3 -3
- package/dist/types/actions/interactive-message.d.ts.map +1 -1
- package/dist/types/actions/workflow-step-edit.d.ts +7 -7
- package/dist/types/actions/workflow-step-edit.d.ts.map +1 -1
- package/dist/types/command/index.d.ts +1 -2
- package/dist/types/command/index.d.ts.map +1 -1
- package/dist/types/events/index.d.ts +26 -24
- package/dist/types/events/index.d.ts.map +1 -1
- package/dist/types/events/index.js +4 -15
- package/dist/types/events/index.js.map +1 -1
- package/dist/types/middleware.d.ts +26 -14
- package/dist/types/middleware.d.ts.map +1 -1
- package/dist/types/middleware.js +3 -0
- package/dist/types/middleware.js.map +1 -1
- package/dist/types/options/index.d.ts +16 -51
- package/dist/types/options/index.d.ts.map +1 -1
- package/dist/types/receiver.d.ts +3 -3
- package/dist/types/receiver.d.ts.map +1 -1
- package/dist/types/shortcuts/global-shortcut.d.ts.map +1 -1
- package/dist/types/shortcuts/index.d.ts +14 -9
- package/dist/types/shortcuts/index.d.ts.map +1 -1
- package/dist/types/shortcuts/message-shortcut.d.ts.map +1 -1
- package/dist/types/utilities.d.ts +27 -18
- package/dist/types/utilities.d.ts.map +1 -1
- package/dist/types/utilities.js +7 -0
- package/dist/types/utilities.js.map +1 -1
- package/dist/types/view/index.d.ts +15 -7
- package/dist/types/view/index.d.ts.map +1 -1
- package/package.json +27 -41
- package/dist/WorkflowFunction.d.ts +0 -63
- package/dist/WorkflowFunction.d.ts.map +0 -1
- package/dist/WorkflowFunction.js +0 -130
- package/dist/WorkflowFunction.js.map +0 -1
- package/dist/receivers/http-utils.d.ts +0 -5
- package/dist/receivers/http-utils.d.ts.map +0 -1
- package/dist/receivers/http-utils.js +0 -19
- package/dist/receivers/http-utils.js.map +0 -1
- package/dist/receivers/render-html-for-install-path.d.ts +0 -3
- package/dist/receivers/render-html-for-install-path.d.ts.map +0 -1
- package/dist/receivers/render-html-for-install-path.js +0 -32
- package/dist/receivers/render-html-for-install-path.js.map +0 -1
- package/dist/types/events/base-events.d.ts +0 -1187
- 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/message-events.d.ts +0 -348
- 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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@slack/bolt",
|
|
3
|
-
"version": "4.0.0-rc.
|
|
3
|
+
"version": "4.0.0-rc.2",
|
|
4
4
|
"description": "A framework for building Slack apps, fast.",
|
|
5
5
|
"author": "Slack Technologies, LLC",
|
|
6
6
|
"license": "MIT",
|
|
@@ -21,17 +21,18 @@
|
|
|
21
21
|
"dist/**/*"
|
|
22
22
|
],
|
|
23
23
|
"engines": {
|
|
24
|
-
"node": ">=
|
|
25
|
-
"npm": ">=6.
|
|
24
|
+
"node": ">=18",
|
|
25
|
+
"npm": ">=8.6.0"
|
|
26
26
|
},
|
|
27
27
|
"scripts": {
|
|
28
28
|
"prepare": "npm run build",
|
|
29
|
-
"build": "tsc",
|
|
30
|
-
"build:clean": "shx rm -rf ./dist ./coverage
|
|
31
|
-
"lint": "
|
|
32
|
-
"
|
|
33
|
-
"test": "
|
|
34
|
-
"test:
|
|
29
|
+
"build": "npm run build:clean && tsc",
|
|
30
|
+
"build:clean": "shx rm -rf ./dist ./coverage",
|
|
31
|
+
"lint": "npx @biomejs/biome check --write docs src test examples",
|
|
32
|
+
"test": "npm run build && npm run lint && npm run test:types && npm run test:coverage",
|
|
33
|
+
"test:unit": "TS_NODE_PROJECT=tsconfig.json mocha --config test/unit/.mocharc.json",
|
|
34
|
+
"test:coverage": "c8 npm run test:unit",
|
|
35
|
+
"test:types": "tsd --files test/types",
|
|
35
36
|
"watch": "npx nodemon --watch 'src' --ext 'ts' --exec npm run build"
|
|
36
37
|
},
|
|
37
38
|
"repository": "slackapi/bolt",
|
|
@@ -41,49 +42,34 @@
|
|
|
41
42
|
},
|
|
42
43
|
"dependencies": {
|
|
43
44
|
"@slack/logger": "^4.0.0",
|
|
44
|
-
"@slack/oauth": "^
|
|
45
|
-
"@slack/socket-mode": "2.0.
|
|
46
|
-
"@slack/types": "^2.
|
|
45
|
+
"@slack/oauth": "^3",
|
|
46
|
+
"@slack/socket-mode": "^2.0.2",
|
|
47
|
+
"@slack/types": "^2.13.0",
|
|
47
48
|
"@slack/web-api": "^7",
|
|
48
|
-
"@types/express": "^4.
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"path-to-regexp": "^6.2.1",
|
|
54
|
-
"please-upgrade-node": "^3.2.0",
|
|
55
|
-
"promise.allsettled": "^1.0.2",
|
|
56
|
-
"raw-body": "^2.3.3",
|
|
49
|
+
"@types/express": "^4.17.21",
|
|
50
|
+
"axios": "^1.7.4",
|
|
51
|
+
"express": "^5.0.0",
|
|
52
|
+
"path-to-regexp": "^8.1.0",
|
|
53
|
+
"raw-body": "^3",
|
|
57
54
|
"tsscmp": "^1.0.6"
|
|
58
55
|
},
|
|
59
56
|
"devDependencies": {
|
|
57
|
+
"@biomejs/biome": "^1.9.0",
|
|
58
|
+
"@tsconfig/node18": "^18.2.4",
|
|
60
59
|
"@types/chai": "^4.1.7",
|
|
61
60
|
"@types/mocha": "^10.0.1",
|
|
62
|
-
"@types/node": "
|
|
61
|
+
"@types/node": "22.7.4",
|
|
63
62
|
"@types/sinon": "^7.0.11",
|
|
64
|
-
"@
|
|
65
|
-
"
|
|
63
|
+
"@types/tsscmp": "^1.0.0",
|
|
64
|
+
"c8": "^10.1.2",
|
|
66
65
|
"chai": "~4.3.0",
|
|
67
|
-
"eslint": "^7.26.0",
|
|
68
|
-
"eslint-config-airbnb-base": "^14.2.1",
|
|
69
|
-
"eslint-config-airbnb-typescript": "^12.3.1",
|
|
70
|
-
"eslint-plugin-import": "^2.28.0",
|
|
71
|
-
"eslint-plugin-jsdoc": "^30.6.1",
|
|
72
|
-
"eslint-plugin-jsx-a11y": "^6.5.1",
|
|
73
|
-
"eslint-plugin-node": "^11.1.0",
|
|
74
|
-
"eslint-plugin-react": "^7.29.3",
|
|
75
|
-
"eslint-plugin-react-hooks": "^4.3.0",
|
|
76
66
|
"mocha": "^10.2.0",
|
|
77
|
-
"nyc": "^15.1.0",
|
|
78
67
|
"rewiremock": "^3.13.4",
|
|
79
68
|
"shx": "^0.3.2",
|
|
80
|
-
"sinon": "^
|
|
69
|
+
"sinon": "^18.0.1",
|
|
81
70
|
"source-map-support": "^0.5.12",
|
|
82
|
-
"ts-node": "^
|
|
83
|
-
"tsd": "^0.
|
|
84
|
-
"typescript": "
|
|
85
|
-
},
|
|
86
|
-
"tsd": {
|
|
87
|
-
"directory": "types-tests"
|
|
71
|
+
"ts-node": "^10.9.2",
|
|
72
|
+
"tsd": "^0.31.2",
|
|
73
|
+
"typescript": "5.3.3"
|
|
88
74
|
}
|
|
89
75
|
}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { FunctionsCompleteErrorResponse, FunctionsCompleteSuccessResponse } from '@slack/web-api';
|
|
2
|
-
import { Middleware, AllMiddlewareArgs, AnyMiddlewareArgs, SlackEventMiddlewareArgs } from './types';
|
|
3
|
-
/** Interfaces */
|
|
4
|
-
export interface FunctionCompleteArguments {
|
|
5
|
-
outputs?: {
|
|
6
|
-
[key: string]: any;
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
export interface FunctionFailArguments {
|
|
10
|
-
error: string;
|
|
11
|
-
}
|
|
12
|
-
export interface FunctionCompleteFn {
|
|
13
|
-
(params?: FunctionCompleteArguments): Promise<FunctionsCompleteSuccessResponse>;
|
|
14
|
-
}
|
|
15
|
-
export interface FunctionFailFn {
|
|
16
|
-
(params: FunctionFailArguments): Promise<FunctionsCompleteErrorResponse>;
|
|
17
|
-
}
|
|
18
|
-
export interface WorkflowFunctionExecuteMiddlewareArgs extends SlackEventMiddlewareArgs<'function_executed'> {
|
|
19
|
-
complete: FunctionCompleteFn;
|
|
20
|
-
fail: FunctionFailFn;
|
|
21
|
-
}
|
|
22
|
-
/** Types */
|
|
23
|
-
export declare type SlackWorkflowFunctionMiddlewareArgs = WorkflowFunctionExecuteMiddlewareArgs;
|
|
24
|
-
export declare type WorkflowFunctionExecuteMiddleware = Middleware<WorkflowFunctionExecuteMiddlewareArgs>;
|
|
25
|
-
export declare type WorkflowFunctionMiddleware = WorkflowFunctionExecuteMiddleware[];
|
|
26
|
-
export declare type AllWorkflowFunctionMiddlewareArgs<T extends SlackWorkflowFunctionMiddlewareArgs = SlackWorkflowFunctionMiddlewareArgs> = T & AllMiddlewareArgs;
|
|
27
|
-
/** Class */
|
|
28
|
-
export declare class WorkflowFunction {
|
|
29
|
-
/** Function callback_id */
|
|
30
|
-
callbackId: string;
|
|
31
|
-
private middleware;
|
|
32
|
-
constructor(callbackId: string, middleware: WorkflowFunctionMiddleware);
|
|
33
|
-
getMiddleware(): Middleware<AnyMiddlewareArgs>;
|
|
34
|
-
private matchesConstraints;
|
|
35
|
-
private processEvent;
|
|
36
|
-
private getStepMiddleware;
|
|
37
|
-
}
|
|
38
|
-
/** Helper Functions */
|
|
39
|
-
export declare function validate(callbackId: string, listeners: WorkflowFunctionMiddleware): void;
|
|
40
|
-
/**
|
|
41
|
-
* `processStepMiddleware()` invokes each callback for lifecycle event
|
|
42
|
-
* @param args workflow_step_edit action
|
|
43
|
-
*/
|
|
44
|
-
export declare function processStepMiddleware(args: AllWorkflowFunctionMiddlewareArgs, middleware: WorkflowFunctionMiddleware): Promise<void>;
|
|
45
|
-
export declare function isFunctionEvent(args: AnyMiddlewareArgs): args is AllWorkflowFunctionMiddlewareArgs;
|
|
46
|
-
/**
|
|
47
|
-
* Factory for `complete()` utility
|
|
48
|
-
* @param args function_executed event
|
|
49
|
-
*/
|
|
50
|
-
export declare function createFunctionComplete(args: AllWorkflowFunctionMiddlewareArgs<WorkflowFunctionExecuteMiddlewareArgs>): FunctionCompleteFn;
|
|
51
|
-
/**
|
|
52
|
-
* Factory for `fail()` utility
|
|
53
|
-
* @param args function_executed event
|
|
54
|
-
*/
|
|
55
|
-
export declare function createFunctionFail(args: AllWorkflowFunctionMiddlewareArgs<WorkflowFunctionExecuteMiddlewareArgs>): FunctionFailFn;
|
|
56
|
-
/**
|
|
57
|
-
* `prepareFunctionArgs()` takes in a function's args and:
|
|
58
|
-
* 1. removes the next() passed in from App-level middleware processing
|
|
59
|
-
* - events will *not* continue down global middleware chain to subsequent listeners
|
|
60
|
-
* 2. augments args with step lifecycle-specific properties/utilities
|
|
61
|
-
* */
|
|
62
|
-
export declare function prepareFunctionArgs(args: any): AllWorkflowFunctionMiddlewareArgs;
|
|
63
|
-
//# sourceMappingURL=WorkflowFunction.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowFunction.d.ts","sourceRoot":"","sources":["../src/WorkflowFunction.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,8BAA8B,EAC9B,gCAAgC,EACjC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EAEzB,MAAM,SAAS,CAAC;AAIjB,iBAAiB;AAEjB,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE;QACR,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,CAAC,MAAM,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAAC;CACjF;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;CAC1E;AAED,MAAM,WAAW,qCAAsC,SAAQ,wBAAwB,CAAC,mBAAmB,CAAC;IAC1G,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,IAAI,EAAE,cAAc,CAAC;CACtB;AAED,YAAY;AAEZ,oBAAY,mCAAmC,GAAG,qCAAqC,CAAC;AAExF,oBAAY,iCAAiC,GAAG,UAAU,CAAC,qCAAqC,CAAC,CAAC;AAElG,oBAAY,0BAA0B,GAAG,iCAAiC,EAAE,CAAC;AAE7E,oBAAY,iCAAiC,CAC1C,CAAC,SAAS,mCAAmC,GAAG,mCAAmC,IAAI,CAAC,GAAG,iBAAiB,CAAC;AAMhH,YAAY;AAEZ,qBAAa,gBAAgB;IAC3B,2BAA2B;IACpB,UAAU,EAAE,MAAM,CAAC;IAE1B,OAAO,CAAC,UAAU,CAA6B;gBAG7C,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,0BAA0B;IAQjC,aAAa,IAAI,UAAU,CAAC,iBAAiB,CAAC;IASrD,OAAO,CAAC,kBAAkB;YAIZ,YAAY;IAM1B,OAAO,CAAC,iBAAiB;CAG1B;AAED,uBAAuB;AAEvB,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,0BAA0B,GAAG,IAAI,CAcxF;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,iCAAiC,EACvC,UAAU,EAAE,0BAA0B,GACrC,OAAO,CAAC,IAAI,CAAC,CAWf;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,IAAI,iCAAiC,CAElG;AAOD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,iCAAiC,CAAC,qCAAqC,CAAC,GAC7E,kBAAkB,CAapB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,iCAAiC,CAAC,qCAAqC,CAAC,GAC7E,cAAc,CAiBhB;AAED;;;;;KAKK;AACL,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,GAAG,GAAG,iCAAiC,CAgBhF"}
|
package/dist/WorkflowFunction.js
DELETED
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.prepareFunctionArgs = exports.createFunctionFail = exports.createFunctionComplete = exports.isFunctionEvent = exports.processStepMiddleware = exports.validate = exports.WorkflowFunction = void 0;
|
|
7
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
8
|
-
const web_api_1 = require("@slack/web-api");
|
|
9
|
-
const process_1 = __importDefault(require("./middleware/process"));
|
|
10
|
-
const errors_1 = require("./errors");
|
|
11
|
-
/** Constants */
|
|
12
|
-
const VALID_PAYLOAD_TYPES = new Set(['function_executed']);
|
|
13
|
-
/** Class */
|
|
14
|
-
class WorkflowFunction {
|
|
15
|
-
constructor(callbackId, middleware) {
|
|
16
|
-
validate(callbackId, middleware);
|
|
17
|
-
this.callbackId = callbackId;
|
|
18
|
-
this.middleware = middleware;
|
|
19
|
-
}
|
|
20
|
-
getMiddleware() {
|
|
21
|
-
return async (args) => {
|
|
22
|
-
if (isFunctionEvent(args) && this.matchesConstraints(args)) {
|
|
23
|
-
return this.processEvent(args);
|
|
24
|
-
}
|
|
25
|
-
return args.next();
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
matchesConstraints(args) {
|
|
29
|
-
return args.payload.function.callback_id === this.callbackId;
|
|
30
|
-
}
|
|
31
|
-
async processEvent(args) {
|
|
32
|
-
const functionArgs = prepareFunctionArgs(args);
|
|
33
|
-
const stepMiddleware = this.getStepMiddleware();
|
|
34
|
-
return processStepMiddleware(functionArgs, stepMiddleware);
|
|
35
|
-
}
|
|
36
|
-
getStepMiddleware() {
|
|
37
|
-
return this.middleware;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
exports.WorkflowFunction = WorkflowFunction;
|
|
41
|
-
/** Helper Functions */
|
|
42
|
-
function validate(callbackId, listeners) {
|
|
43
|
-
// Ensure callbackId is valid
|
|
44
|
-
if (typeof callbackId !== 'string') {
|
|
45
|
-
const errorMsg = 'WorkflowFunction expects a callback_id as the first argument';
|
|
46
|
-
throw new errors_1.WorkflowFunctionInitializationError(errorMsg);
|
|
47
|
-
}
|
|
48
|
-
// Ensure all listeners are functions
|
|
49
|
-
listeners.forEach((listener) => {
|
|
50
|
-
if (!(listener instanceof Function)) {
|
|
51
|
-
const errorMsg = 'All WorkflowFunction listeners must be functions';
|
|
52
|
-
throw new errors_1.WorkflowFunctionInitializationError(errorMsg);
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
exports.validate = validate;
|
|
57
|
-
/**
|
|
58
|
-
* `processStepMiddleware()` invokes each callback for lifecycle event
|
|
59
|
-
* @param args workflow_step_edit action
|
|
60
|
-
*/
|
|
61
|
-
async function processStepMiddleware(args, middleware) {
|
|
62
|
-
const { context, client, logger } = args;
|
|
63
|
-
const callbacks = [...middleware];
|
|
64
|
-
const lastCallback = callbacks.pop();
|
|
65
|
-
if (lastCallback !== undefined) {
|
|
66
|
-
await (0, process_1.default)(callbacks, args, context, client, logger, async () => lastCallback({ ...args, context, client, logger }));
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
exports.processStepMiddleware = processStepMiddleware;
|
|
70
|
-
function isFunctionEvent(args) {
|
|
71
|
-
return VALID_PAYLOAD_TYPES.has(args.payload.type);
|
|
72
|
-
}
|
|
73
|
-
exports.isFunctionEvent = isFunctionEvent;
|
|
74
|
-
function selectToken(context) {
|
|
75
|
-
// If attachFunctionToken = false, fallback to botToken or userToken
|
|
76
|
-
return context.functionBotToken ? context.functionBotToken : context.botToken || context.userToken;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Factory for `complete()` utility
|
|
80
|
-
* @param args function_executed event
|
|
81
|
-
*/
|
|
82
|
-
function createFunctionComplete(args) {
|
|
83
|
-
const { context, client, payload: { function_execution_id }, } = args;
|
|
84
|
-
const token = selectToken(context);
|
|
85
|
-
return (params = {}) => client.functions.completeSuccess({
|
|
86
|
-
token,
|
|
87
|
-
outputs: params.outputs || {},
|
|
88
|
-
function_execution_id,
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
exports.createFunctionComplete = createFunctionComplete;
|
|
92
|
-
/**
|
|
93
|
-
* Factory for `fail()` utility
|
|
94
|
-
* @param args function_executed event
|
|
95
|
-
*/
|
|
96
|
-
function createFunctionFail(args) {
|
|
97
|
-
const { context, client, payload: { function_execution_id }, } = args;
|
|
98
|
-
const token = selectToken(context);
|
|
99
|
-
return (params) => {
|
|
100
|
-
const { error } = params !== null && params !== void 0 ? params : {};
|
|
101
|
-
return client.functions.completeError({
|
|
102
|
-
token,
|
|
103
|
-
error,
|
|
104
|
-
function_execution_id,
|
|
105
|
-
});
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
exports.createFunctionFail = createFunctionFail;
|
|
109
|
-
/**
|
|
110
|
-
* `prepareFunctionArgs()` takes in a function's args and:
|
|
111
|
-
* 1. removes the next() passed in from App-level middleware processing
|
|
112
|
-
* - events will *not* continue down global middleware chain to subsequent listeners
|
|
113
|
-
* 2. augments args with step lifecycle-specific properties/utilities
|
|
114
|
-
* */
|
|
115
|
-
function prepareFunctionArgs(args) {
|
|
116
|
-
const { next: _next, ...functionArgs } = args;
|
|
117
|
-
const preparedArgs = { ...functionArgs };
|
|
118
|
-
const token = selectToken(functionArgs.context);
|
|
119
|
-
// Making calls with a functionBotToken establishes continuity between
|
|
120
|
-
// a function_executed event and subsequent interactive events (actions)
|
|
121
|
-
const client = new web_api_1.WebClient(token, { ...functionArgs.client });
|
|
122
|
-
preparedArgs.client = client;
|
|
123
|
-
// Utility args
|
|
124
|
-
preparedArgs.inputs = preparedArgs.event.inputs;
|
|
125
|
-
preparedArgs.complete = createFunctionComplete(preparedArgs);
|
|
126
|
-
preparedArgs.fail = createFunctionFail(preparedArgs);
|
|
127
|
-
return preparedArgs;
|
|
128
|
-
}
|
|
129
|
-
exports.prepareFunctionArgs = prepareFunctionArgs;
|
|
130
|
-
//# sourceMappingURL=WorkflowFunction.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowFunction.js","sourceRoot":"","sources":["../src/WorkflowFunction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { IncomingMessage } from 'http';
|
|
3
|
-
export declare function extractRetryNum(req: IncomingMessage): number | undefined;
|
|
4
|
-
export declare function extractRetryReason(req: IncomingMessage): string | undefined;
|
|
5
|
-
//# sourceMappingURL=http-utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http-utils.d.ts","sourceRoot":"","sources":["../../src/receivers/http-utils.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAOvC,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAGxE;AAGD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAG3E"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.extractRetryReason = exports.extractRetryNum = void 0;
|
|
4
|
-
const logger_1 = require("@slack/logger");
|
|
5
|
-
const HTTPModuleFunctions_1 = require("./HTTPModuleFunctions");
|
|
6
|
-
const logger = new logger_1.ConsoleLogger();
|
|
7
|
-
// Deprecated: this function will be removed in the near future
|
|
8
|
-
function extractRetryNum(req) {
|
|
9
|
-
logger.warn('This method is deprecated. Use HTTPModuleFunctions.extractRetryNumFromHTTPRequest(req) instead.');
|
|
10
|
-
return HTTPModuleFunctions_1.HTTPModuleFunctions.extractRetryNumFromHTTPRequest(req);
|
|
11
|
-
}
|
|
12
|
-
exports.extractRetryNum = extractRetryNum;
|
|
13
|
-
// Deprecated: this function will be removed in the near future
|
|
14
|
-
function extractRetryReason(req) {
|
|
15
|
-
logger.warn('This method is deprecated. Use HTTPModuleFunctions.extractRetryReasonFromHTTPRequest(req) instead.');
|
|
16
|
-
return HTTPModuleFunctions_1.HTTPModuleFunctions.extractRetryReasonFromHTTPRequest(req);
|
|
17
|
-
}
|
|
18
|
-
exports.extractRetryReason = extractRetryReason;
|
|
19
|
-
//# sourceMappingURL=http-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http-utils.js","sourceRoot":"","sources":["../../src/receivers/http-utils.ts"],"names":[],"mappings":";;;AACA,0CAA8C;AAC9C,+DAA4D;AAE5D,MAAM,MAAM,GAAG,IAAI,sBAAa,EAAE,CAAC;AAEnC,+DAA+D;AAC/D,SAAgB,eAAe,CAAC,GAAoB;IAClD,MAAM,CAAC,IAAI,CAAC,iGAAiG,CAAC,CAAC;IAC/G,OAAO,yCAAmB,CAAC,8BAA8B,CAAC,GAAG,CAAC,CAAC;AACjE,CAAC;AAHD,0CAGC;AAED,+DAA+D;AAC/D,SAAgB,kBAAkB,CAAC,GAAoB;IACrD,MAAM,CAAC,IAAI,CAAC,oGAAoG,CAAC,CAAC;IAClH,OAAO,yCAAmB,CAAC,iCAAiC,CAAC,GAAG,CAAC,CAAC;AACpE,CAAC;AAHD,gDAGC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"render-html-for-install-path.d.ts","sourceRoot":"","sources":["../../src/receivers/render-html-for-install-path.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,UAAU,+BAA+B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAgBrF;AAID,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEtE"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.renderHtmlForInstallPath = void 0;
|
|
4
|
-
const logger_1 = require("@slack/logger");
|
|
5
|
-
const logger = new logger_1.ConsoleLogger();
|
|
6
|
-
// Deprecated: this function will be removed in the near future
|
|
7
|
-
// Use the ones from @slack/oauth (v2.5 or newer) instead
|
|
8
|
-
function defaultRenderHtmlForInstallPath(addToSlackUrl) {
|
|
9
|
-
logger.warn('This method is deprecated. Use defaultRenderHtmlForInstallPath from @slack/oauth instead.');
|
|
10
|
-
// TODO: replace the internals of this method with the one from @slack/oauth@2.5 or newer
|
|
11
|
-
return `<html>
|
|
12
|
-
<body>
|
|
13
|
-
<a href="${addToSlackUrl}">
|
|
14
|
-
<img
|
|
15
|
-
alt="Add to Slack"
|
|
16
|
-
height="40"
|
|
17
|
-
width="139"
|
|
18
|
-
src="https://platform.slack-edge.com/img/add_to_slack.png"
|
|
19
|
-
srcset="https://platform.slack-edge.com/img/add_to_slack.png 1x, https://platform.slack-edge.com/img/add_to_slack@2x.png 2x"
|
|
20
|
-
/>
|
|
21
|
-
</a>
|
|
22
|
-
</body>
|
|
23
|
-
</html>`;
|
|
24
|
-
}
|
|
25
|
-
exports.default = defaultRenderHtmlForInstallPath;
|
|
26
|
-
// Deprecated: this function will be removed in the near future
|
|
27
|
-
// For backward-compatibility
|
|
28
|
-
function renderHtmlForInstallPath(addToSlackUrl) {
|
|
29
|
-
return defaultRenderHtmlForInstallPath(addToSlackUrl);
|
|
30
|
-
}
|
|
31
|
-
exports.renderHtmlForInstallPath = renderHtmlForInstallPath;
|
|
32
|
-
//# sourceMappingURL=render-html-for-install-path.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"render-html-for-install-path.js","sourceRoot":"","sources":["../../src/receivers/render-html-for-install-path.ts"],"names":[],"mappings":";;;AAAA,0CAA8C;AAE9C,MAAM,MAAM,GAAG,IAAI,sBAAa,EAAE,CAAC;AAEnC,+DAA+D;AAC/D,yDAAyD;AACzD,SAAwB,+BAA+B,CAAC,aAAqB;IAC3E,MAAM,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;IACzG,yFAAyF;IACzF,OAAO;;mBAEU,aAAa;;;;;;;;;;YAUpB,CAAC;AACb,CAAC;AAhBD,kDAgBC;AAED,+DAA+D;AAC/D,6BAA6B;AAC7B,SAAgB,wBAAwB,CAAC,aAAqB;IAC5D,OAAO,+BAA+B,CAAC,aAAa,CAAC,CAAC;AACxD,CAAC;AAFD,4DAEC"}
|