@slack/bolt 3.8.0 → 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.
Files changed (146) hide show
  1. package/dist/App.d.ts +212 -0
  2. package/dist/App.d.ts.map +1 -0
  3. package/dist/App.js +796 -0
  4. package/dist/App.js.map +1 -0
  5. package/dist/WorkflowStep.d.ts +106 -0
  6. package/dist/WorkflowStep.d.ts.map +1 -0
  7. package/dist/WorkflowStep.js +196 -0
  8. package/dist/WorkflowStep.js.map +1 -0
  9. package/dist/conversation-store.d.ts +31 -0
  10. package/dist/conversation-store.d.ts.map +1 -0
  11. package/dist/conversation-store.js +72 -0
  12. package/dist/conversation-store.js.map +1 -0
  13. package/dist/errors.d.ts +79 -0
  14. package/dist/errors.d.ts.map +1 -0
  15. package/dist/errors.js +120 -0
  16. package/dist/errors.js.map +1 -0
  17. package/dist/helpers.d.ts +24 -0
  18. package/dist/helpers.d.ts.map +1 -0
  19. package/dist/helpers.js +100 -0
  20. package/dist/helpers.js.map +1 -0
  21. package/dist/index.d.ts +13 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +43 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/middleware/builtin.d.ts +52 -0
  26. package/dist/middleware/builtin.d.ts.map +1 -0
  27. package/dist/middleware/builtin.js +311 -0
  28. package/dist/middleware/builtin.js.map +1 -0
  29. package/dist/middleware/process.d.ts +5 -0
  30. package/dist/middleware/process.d.ts.map +1 -0
  31. package/dist/middleware/process.js +25 -0
  32. package/dist/middleware/process.js.map +1 -0
  33. package/dist/receivers/AwsLambdaReceiver.d.ts +53 -0
  34. package/dist/receivers/AwsLambdaReceiver.d.ts.map +1 -0
  35. package/dist/receivers/AwsLambdaReceiver.js +188 -0
  36. package/dist/receivers/AwsLambdaReceiver.js.map +1 -0
  37. package/dist/receivers/ExpressReceiver.d.ts +77 -0
  38. package/dist/receivers/ExpressReceiver.d.ts.map +1 -0
  39. package/dist/receivers/ExpressReceiver.js +445 -0
  40. package/dist/receivers/ExpressReceiver.js.map +1 -0
  41. package/dist/receivers/HTTPReceiver.d.ts +109 -0
  42. package/dist/receivers/HTTPReceiver.d.ts.map +1 -0
  43. package/dist/receivers/HTTPReceiver.js +501 -0
  44. package/dist/receivers/HTTPReceiver.js.map +1 -0
  45. package/dist/receivers/SocketModeReceiver.d.ts +61 -0
  46. package/dist/receivers/SocketModeReceiver.d.ts.map +1 -0
  47. package/dist/receivers/SocketModeReceiver.js +175 -0
  48. package/dist/receivers/SocketModeReceiver.js.map +1 -0
  49. package/dist/receivers/custom-routes.d.ts +14 -0
  50. package/dist/receivers/custom-routes.d.ts.map +1 -0
  51. package/dist/receivers/custom-routes.js +33 -0
  52. package/dist/receivers/custom-routes.js.map +1 -0
  53. package/dist/receivers/http-utils.d.ts +5 -0
  54. package/dist/receivers/http-utils.d.ts.map +1 -0
  55. package/dist/receivers/http-utils.js +35 -0
  56. package/dist/receivers/http-utils.js.map +1 -0
  57. package/dist/receivers/render-html-for-install-path.d.ts +3 -0
  58. package/dist/receivers/render-html-for-install-path.d.ts.map +1 -0
  59. package/dist/receivers/render-html-for-install-path.js +25 -0
  60. package/dist/receivers/render-html-for-install-path.js.map +1 -0
  61. package/dist/receivers/verify-redirect-opts.d.ts +7 -0
  62. package/dist/receivers/verify-redirect-opts.d.ts.map +1 -0
  63. package/dist/receivers/verify-redirect-opts.js +23 -0
  64. package/dist/receivers/verify-redirect-opts.js.map +1 -0
  65. package/dist/receivers/verify-request.d.ts +41 -0
  66. package/dist/receivers/verify-request.d.ts.map +1 -0
  67. package/dist/receivers/verify-request.js +98 -0
  68. package/dist/receivers/verify-request.js.map +1 -0
  69. package/dist/types/actions/block-action.d.ts +231 -0
  70. package/dist/types/actions/block-action.d.ts.map +1 -0
  71. package/dist/types/actions/block-action.js +3 -0
  72. package/dist/types/actions/block-action.js.map +1 -0
  73. package/dist/types/actions/dialog-action.d.ts +47 -0
  74. package/dist/types/actions/dialog-action.d.ts.map +1 -0
  75. package/dist/types/actions/dialog-action.js +3 -0
  76. package/dist/types/actions/dialog-action.js.map +1 -0
  77. package/dist/types/actions/index.d.ts +46 -0
  78. package/dist/types/actions/index.d.ts.map +1 -0
  79. package/dist/types/actions/index.js +17 -0
  80. package/dist/types/actions/index.js.map +1 -0
  81. package/dist/types/actions/interactive-message.d.ts +66 -0
  82. package/dist/types/actions/interactive-message.d.ts.map +1 -0
  83. package/dist/types/actions/interactive-message.js +3 -0
  84. package/dist/types/actions/interactive-message.js.map +1 -0
  85. package/dist/types/actions/workflow-step-edit.d.ts +49 -0
  86. package/dist/types/actions/workflow-step-edit.d.ts.map +1 -0
  87. package/dist/types/actions/workflow-step-edit.js +3 -0
  88. package/dist/types/actions/workflow-step-edit.js.map +1 -0
  89. package/dist/types/command/index.d.ts +36 -0
  90. package/dist/types/command/index.d.ts.map +1 -0
  91. package/dist/types/command/index.js +3 -0
  92. package/dist/types/command/index.js.map +1 -0
  93. package/dist/types/events/base-events.d.ts +699 -0
  94. package/dist/types/events/base-events.d.ts.map +1 -0
  95. package/dist/types/events/base-events.js +5 -0
  96. package/dist/types/events/base-events.js.map +1 -0
  97. package/dist/types/events/index.d.ts +63 -0
  98. package/dist/types/events/index.d.ts.map +1 -0
  99. package/dist/types/events/index.js +14 -0
  100. package/dist/types/events/index.js.map +1 -0
  101. package/dist/types/events/message-events.d.ts +312 -0
  102. package/dist/types/events/message-events.d.ts.map +1 -0
  103. package/dist/types/events/message-events.js +3 -0
  104. package/dist/types/events/message-events.js.map +1 -0
  105. package/dist/types/helpers.d.ts +17 -0
  106. package/dist/types/helpers.d.ts.map +1 -0
  107. package/dist/types/helpers.js +3 -0
  108. package/dist/types/helpers.js.map +1 -0
  109. package/dist/types/index.d.ts +10 -0
  110. package/dist/types/index.d.ts.map +1 -0
  111. package/dist/types/index.js +22 -0
  112. package/dist/types/index.js.map +1 -0
  113. package/dist/types/middleware.d.ts +65 -0
  114. package/dist/types/middleware.d.ts.map +1 -0
  115. package/dist/types/middleware.js +14 -0
  116. package/dist/types/middleware.js.map +1 -0
  117. package/dist/types/options/index.d.ts +192 -0
  118. package/dist/types/options/index.d.ts.map +1 -0
  119. package/dist/types/options/index.js +3 -0
  120. package/dist/types/options/index.js.map +1 -0
  121. package/dist/types/receiver.d.ts +16 -0
  122. package/dist/types/receiver.d.ts.map +1 -0
  123. package/dist/types/receiver.js +3 -0
  124. package/dist/types/receiver.js.map +1 -0
  125. package/dist/types/shortcuts/global-shortcut.d.ts +29 -0
  126. package/dist/types/shortcuts/global-shortcut.d.ts.map +1 -0
  127. package/dist/types/shortcuts/global-shortcut.js +3 -0
  128. package/dist/types/shortcuts/global-shortcut.js.map +1 -0
  129. package/dist/types/shortcuts/index.d.ts +23 -0
  130. package/dist/types/shortcuts/index.d.ts.map +1 -0
  131. package/dist/types/shortcuts/index.js +16 -0
  132. package/dist/types/shortcuts/index.js.map +1 -0
  133. package/dist/types/shortcuts/message-shortcut.d.ts +43 -0
  134. package/dist/types/shortcuts/message-shortcut.d.ts.map +1 -0
  135. package/dist/types/shortcuts/message-shortcut.js +3 -0
  136. package/dist/types/shortcuts/message-shortcut.js.map +1 -0
  137. package/dist/types/utilities.d.ts +23 -0
  138. package/dist/types/utilities.d.ts.map +1 -0
  139. package/dist/types/utilities.js +3 -0
  140. package/dist/types/utilities.js.map +1 -0
  141. package/dist/types/view/index.d.ts +175 -0
  142. package/dist/types/view/index.d.ts.map +1 -0
  143. package/dist/types/view/index.js +3 -0
  144. package/dist/types/view/index.js.map +1 -0
  145. package/package.json +1 -1
  146. package/dist/package.json +0 -88
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../src/App.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ import { KnownBlock, Block, ViewsOpenResponse, WorkflowsUpdateStepResponse, WorkflowsStepCompletedResponse, WorkflowsStepFailedResponse } from '@slack/web-api';
2
+ import { Middleware, AllMiddlewareArgs, AnyMiddlewareArgs, SlackActionMiddlewareArgs, SlackViewMiddlewareArgs, WorkflowStepEdit, SlackEventMiddlewareArgs, ViewWorkflowStepSubmitAction, WorkflowStepExecuteEvent } from './types';
3
+ /** Interfaces */
4
+ export interface StepConfigureArguments {
5
+ blocks: (KnownBlock | Block)[];
6
+ private_metadata?: string;
7
+ submit_disabled?: boolean;
8
+ external_id?: string;
9
+ }
10
+ export interface StepUpdateArguments {
11
+ inputs?: {
12
+ [key: string]: {
13
+ value: any;
14
+ skip_variable_replacement?: boolean;
15
+ variables?: {
16
+ [key: string]: any;
17
+ };
18
+ };
19
+ };
20
+ outputs?: {
21
+ name: string;
22
+ type: string;
23
+ label: string;
24
+ }[];
25
+ step_name?: string;
26
+ step_image_url?: string;
27
+ }
28
+ export interface StepCompleteArguments {
29
+ outputs?: {
30
+ [key: string]: any;
31
+ };
32
+ }
33
+ export interface StepFailArguments {
34
+ error: {
35
+ message: string;
36
+ };
37
+ }
38
+ export interface StepConfigureFn {
39
+ (params: StepConfigureArguments): Promise<ViewsOpenResponse>;
40
+ }
41
+ export interface StepUpdateFn {
42
+ (params?: StepUpdateArguments): Promise<WorkflowsUpdateStepResponse>;
43
+ }
44
+ export interface StepCompleteFn {
45
+ (params?: StepCompleteArguments): Promise<WorkflowsStepCompletedResponse>;
46
+ }
47
+ export interface StepFailFn {
48
+ (params: StepFailArguments): Promise<WorkflowsStepFailedResponse>;
49
+ }
50
+ export interface WorkflowStepConfig {
51
+ edit: WorkflowStepEditMiddleware | WorkflowStepEditMiddleware[];
52
+ save: WorkflowStepSaveMiddleware | WorkflowStepSaveMiddleware[];
53
+ execute: WorkflowStepExecuteMiddleware | WorkflowStepExecuteMiddleware[];
54
+ }
55
+ export interface WorkflowStepEditMiddlewareArgs extends SlackActionMiddlewareArgs<WorkflowStepEdit> {
56
+ step: WorkflowStepEdit['workflow_step'];
57
+ configure: StepConfigureFn;
58
+ }
59
+ export interface WorkflowStepSaveMiddlewareArgs extends SlackViewMiddlewareArgs<ViewWorkflowStepSubmitAction> {
60
+ step: ViewWorkflowStepSubmitAction['workflow_step'];
61
+ update: StepUpdateFn;
62
+ }
63
+ export interface WorkflowStepExecuteMiddlewareArgs extends SlackEventMiddlewareArgs<'workflow_step_execute'> {
64
+ step: WorkflowStepExecuteEvent['workflow_step'];
65
+ complete: StepCompleteFn;
66
+ fail: StepFailFn;
67
+ }
68
+ /** Types */
69
+ export declare type SlackWorkflowStepMiddlewareArgs = WorkflowStepEditMiddlewareArgs | WorkflowStepSaveMiddlewareArgs | WorkflowStepExecuteMiddlewareArgs;
70
+ export declare type WorkflowStepEditMiddleware = Middleware<WorkflowStepEditMiddlewareArgs>;
71
+ export declare type WorkflowStepSaveMiddleware = Middleware<WorkflowStepSaveMiddlewareArgs>;
72
+ export declare type WorkflowStepExecuteMiddleware = Middleware<WorkflowStepExecuteMiddlewareArgs>;
73
+ export declare type WorkflowStepMiddleware = WorkflowStepEditMiddleware[] | WorkflowStepSaveMiddleware[] | WorkflowStepExecuteMiddleware[];
74
+ export declare type AllWorkflowStepMiddlewareArgs<T extends SlackWorkflowStepMiddlewareArgs = SlackWorkflowStepMiddlewareArgs> = T & AllMiddlewareArgs;
75
+ /** Class */
76
+ export declare class WorkflowStep {
77
+ /** Step callback_id */
78
+ private callbackId;
79
+ /** Step Add/Edit :: 'workflow_step_edit' action */
80
+ private edit;
81
+ /** Step Config Save :: 'view_submission' */
82
+ private save;
83
+ /** Step Executed/Run :: 'workflow_step_execute' event */
84
+ private execute;
85
+ constructor(callbackId: string, config: WorkflowStepConfig);
86
+ getMiddleware(): Middleware<AnyMiddlewareArgs>;
87
+ private matchesConstraints;
88
+ private processEvent;
89
+ private getStepMiddleware;
90
+ }
91
+ /** Helper Functions */
92
+ export declare function validate(callbackId: string, config: WorkflowStepConfig): void;
93
+ /**
94
+ * `processStepMiddleware()` invokes each callback for lifecycle event
95
+ * @param args workflow_step_edit action
96
+ */
97
+ export declare function processStepMiddleware(args: AllWorkflowStepMiddlewareArgs, middleware: WorkflowStepMiddleware): Promise<void>;
98
+ export declare function isStepEvent(args: AnyMiddlewareArgs): args is AllWorkflowStepMiddlewareArgs;
99
+ /**
100
+ * `prepareStepArgs()` takes in a workflow step's args and:
101
+ * 1. removes the next() passed in from App-level middleware processing
102
+ * - events will *not* continue down global middleware chain to subsequent listeners
103
+ * 2. augments args with step lifecycle-specific properties/utilities
104
+ * */
105
+ export declare function prepareStepArgs(args: any): AllWorkflowStepMiddlewareArgs;
106
+ //# sourceMappingURL=WorkflowStep.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowStep.d.ts","sourceRoot":"","sources":["../src/WorkflowStep.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,196 @@
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.prepareStepArgs = exports.isStepEvent = exports.processStepMiddleware = exports.validate = exports.WorkflowStep = void 0;
7
+ const process_1 = __importDefault(require("./middleware/process"));
8
+ const errors_1 = require("./errors");
9
+ /** Constants */
10
+ const VALID_PAYLOAD_TYPES = new Set(['workflow_step_edit', 'workflow_step', 'workflow_step_execute']);
11
+ /** Class */
12
+ class WorkflowStep {
13
+ constructor(callbackId, config) {
14
+ validate(callbackId, config);
15
+ const { save, edit, execute } = config;
16
+ this.callbackId = callbackId;
17
+ this.save = Array.isArray(save) ? save : [save];
18
+ this.edit = Array.isArray(edit) ? edit : [edit];
19
+ this.execute = Array.isArray(execute) ? execute : [execute];
20
+ }
21
+ getMiddleware() {
22
+ return async (args) => {
23
+ if (isStepEvent(args) && this.matchesConstraints(args)) {
24
+ return this.processEvent(args);
25
+ }
26
+ return args.next();
27
+ };
28
+ }
29
+ matchesConstraints(args) {
30
+ return args.payload.callback_id === this.callbackId;
31
+ }
32
+ async processEvent(args) {
33
+ const { payload } = args;
34
+ const stepArgs = prepareStepArgs(args);
35
+ const stepMiddleware = this.getStepMiddleware(payload);
36
+ return processStepMiddleware(stepArgs, stepMiddleware);
37
+ }
38
+ getStepMiddleware(payload) {
39
+ switch (payload.type) {
40
+ case 'workflow_step_edit':
41
+ return this.edit;
42
+ case 'workflow_step':
43
+ return this.save;
44
+ case 'workflow_step_execute':
45
+ return this.execute;
46
+ default:
47
+ return [];
48
+ }
49
+ }
50
+ }
51
+ exports.WorkflowStep = WorkflowStep;
52
+ /** Helper Functions */
53
+ function validate(callbackId, config) {
54
+ // Ensure callbackId is valid
55
+ if (typeof callbackId !== 'string') {
56
+ const errorMsg = 'WorkflowStep expects a callback_id as the first argument';
57
+ throw new errors_1.WorkflowStepInitializationError(errorMsg);
58
+ }
59
+ // Ensure step config object is passed in
60
+ if (typeof config !== 'object') {
61
+ const errorMsg = 'WorkflowStep expects a configuration object as the second argument';
62
+ throw new errors_1.WorkflowStepInitializationError(errorMsg);
63
+ }
64
+ // Check for missing required keys
65
+ const requiredKeys = ['save', 'edit', 'execute'];
66
+ const missingKeys = [];
67
+ requiredKeys.forEach((key) => {
68
+ if (config[key] === undefined) {
69
+ missingKeys.push(key);
70
+ }
71
+ });
72
+ if (missingKeys.length > 0) {
73
+ const errorMsg = `WorkflowStep is missing required keys: ${missingKeys.join(', ')}`;
74
+ throw new errors_1.WorkflowStepInitializationError(errorMsg);
75
+ }
76
+ // Ensure a callback or an array of callbacks is present
77
+ const requiredFns = ['save', 'edit', 'execute'];
78
+ requiredFns.forEach((fn) => {
79
+ if (typeof config[fn] !== 'function' && !Array.isArray(config[fn])) {
80
+ const errorMsg = `WorkflowStep ${fn} property must be a function or an array of functions`;
81
+ throw new errors_1.WorkflowStepInitializationError(errorMsg);
82
+ }
83
+ });
84
+ }
85
+ exports.validate = validate;
86
+ /**
87
+ * `processStepMiddleware()` invokes each callback for lifecycle event
88
+ * @param args workflow_step_edit action
89
+ */
90
+ async function processStepMiddleware(args, middleware) {
91
+ const { context, client, logger } = args;
92
+ // TODO :: revisit type used below (look into contravariance)
93
+ const callbacks = [...middleware];
94
+ const lastCallback = callbacks.pop();
95
+ if (lastCallback !== undefined) {
96
+ await (0, process_1.default)(callbacks, args, context, client, logger, async () => lastCallback({ ...args, context, client, logger }));
97
+ }
98
+ }
99
+ exports.processStepMiddleware = processStepMiddleware;
100
+ function isStepEvent(args) {
101
+ return VALID_PAYLOAD_TYPES.has(args.payload.type);
102
+ }
103
+ exports.isStepEvent = isStepEvent;
104
+ function selectToken(context) {
105
+ return context.botToken !== undefined ? context.botToken : context.userToken;
106
+ }
107
+ /**
108
+ * Factory for `configure()` utility
109
+ * @param args workflow_step_edit action
110
+ */
111
+ function createStepConfigure(args) {
112
+ const { context, client, body: { callback_id, trigger_id }, } = args;
113
+ const token = selectToken(context);
114
+ return (params) => client.views.open({
115
+ token,
116
+ trigger_id,
117
+ view: {
118
+ callback_id,
119
+ type: 'workflow_step',
120
+ ...params,
121
+ },
122
+ });
123
+ }
124
+ /**
125
+ * Factory for `update()` utility
126
+ * @param args view_submission event
127
+ */
128
+ function createStepUpdate(args) {
129
+ const { context, client, body: { workflow_step: { workflow_step_edit_id }, }, } = args;
130
+ const token = selectToken(context);
131
+ return (params = {}) => client.workflows.updateStep({
132
+ token,
133
+ workflow_step_edit_id,
134
+ ...params,
135
+ });
136
+ }
137
+ /**
138
+ * Factory for `complete()` utility
139
+ * @param args workflow_step_execute event
140
+ */
141
+ function createStepComplete(args) {
142
+ const { context, client, payload: { workflow_step: { workflow_step_execute_id }, }, } = args;
143
+ const token = selectToken(context);
144
+ return (params = {}) => client.workflows.stepCompleted({
145
+ token,
146
+ workflow_step_execute_id,
147
+ ...params,
148
+ });
149
+ }
150
+ /**
151
+ * Factory for `fail()` utility
152
+ * @param args workflow_step_execute event
153
+ */
154
+ function createStepFail(args) {
155
+ const { context, client, payload: { workflow_step: { workflow_step_execute_id }, }, } = args;
156
+ const token = selectToken(context);
157
+ return (params) => {
158
+ const { error } = params;
159
+ return client.workflows.stepFailed({
160
+ token,
161
+ workflow_step_execute_id,
162
+ error,
163
+ });
164
+ };
165
+ }
166
+ /**
167
+ * `prepareStepArgs()` takes in a workflow step's args and:
168
+ * 1. removes the next() passed in from App-level middleware processing
169
+ * - events will *not* continue down global middleware chain to subsequent listeners
170
+ * 2. augments args with step lifecycle-specific properties/utilities
171
+ * */
172
+ // TODO :: refactor to incorporate a generic parameter
173
+ function prepareStepArgs(args) {
174
+ const { next: _next, ...stepArgs } = args;
175
+ const preparedArgs = { ...stepArgs };
176
+ switch (preparedArgs.payload.type) {
177
+ case 'workflow_step_edit':
178
+ preparedArgs.step = preparedArgs.action.workflow_step;
179
+ preparedArgs.configure = createStepConfigure(preparedArgs);
180
+ break;
181
+ case 'workflow_step':
182
+ preparedArgs.step = preparedArgs.body.workflow_step;
183
+ preparedArgs.update = createStepUpdate(preparedArgs);
184
+ break;
185
+ case 'workflow_step_execute':
186
+ preparedArgs.step = preparedArgs.event.workflow_step;
187
+ preparedArgs.complete = createStepComplete(preparedArgs);
188
+ preparedArgs.fail = createStepFail(preparedArgs);
189
+ break;
190
+ default:
191
+ break;
192
+ }
193
+ return preparedArgs;
194
+ }
195
+ exports.prepareStepArgs = prepareStepArgs;
196
+ //# sourceMappingURL=WorkflowStep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowStep.js","sourceRoot":"","sources":["../src/WorkflowStep.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { Middleware, AnyMiddlewareArgs } from './types';
2
+ /**
3
+ * Storage backend used by the conversation context middleware
4
+ */
5
+ export interface ConversationStore<ConversationState = any> {
6
+ set(conversationId: string, value: ConversationState, expiresAt?: number): Promise<unknown>;
7
+ get(conversationId: string): Promise<ConversationState>;
8
+ }
9
+ /**
10
+ * Default implementation of ConversationStore, which stores data in memory.
11
+ *
12
+ * This should not be used in situations where there is more than once instance of the app running because state will
13
+ * not be shared amongst the processes.
14
+ */
15
+ export declare class MemoryStore<ConversationState = any> implements ConversationStore<ConversationState> {
16
+ private state;
17
+ set(conversationId: string, value: ConversationState, expiresAt?: number): Promise<void>;
18
+ get(conversationId: string): Promise<ConversationState>;
19
+ }
20
+ /**
21
+ * Conversation context global middleware.
22
+ *
23
+ * This middleware allows listeners (and other middleware) to store state related to the conversationId of an incoming
24
+ * event using the `context.updateConversation()` function. That state will be made available in future events that
25
+ * take place in the same conversation by reading from `context.conversation`.
26
+ *
27
+ * @param store storage backend used to store and retrieve all conversation state
28
+ * @param logger a logger
29
+ */
30
+ export declare function conversationContext<ConversationState = any>(store: ConversationStore<ConversationState>): Middleware<AnyMiddlewareArgs>;
31
+ //# sourceMappingURL=conversation-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-store.d.ts","sourceRoot":"","sources":["../src/conversation-store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAGxD;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,iBAAiB,GAAG,GAAG;IAExD,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5F,GAAG,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACzD;AAED;;;;;GAKG;AACH,qBAAa,WAAW,CAAC,iBAAiB,GAAG,GAAG,CAAE,YAAW,iBAAiB,CAAC,iBAAiB,CAAC;IAC/F,OAAO,CAAC,KAAK,CAA4E;IAElF,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxF,GAAG,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAc/D;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,iBAAiB,GAAG,GAAG,EACzD,KAAK,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,GAC1C,UAAU,CAAC,iBAAiB,CAAC,CAqB/B"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.conversationContext = exports.MemoryStore = void 0;
4
+ const helpers_1 = require("./helpers");
5
+ /**
6
+ * Default implementation of ConversationStore, which stores data in memory.
7
+ *
8
+ * This should not be used in situations where there is more than once instance of the app running because state will
9
+ * not be shared amongst the processes.
10
+ */
11
+ class MemoryStore {
12
+ constructor() {
13
+ this.state = new Map();
14
+ }
15
+ set(conversationId, value, expiresAt) {
16
+ return new Promise((resolve) => {
17
+ this.state.set(conversationId, { value, expiresAt });
18
+ resolve();
19
+ });
20
+ }
21
+ get(conversationId) {
22
+ return new Promise((resolve, reject) => {
23
+ const entry = this.state.get(conversationId);
24
+ if (entry !== undefined) {
25
+ if (entry.expiresAt !== undefined && Date.now() > entry.expiresAt) {
26
+ // release the memory
27
+ this.state.delete(conversationId);
28
+ reject(new Error('Conversation expired'));
29
+ }
30
+ resolve(entry.value);
31
+ }
32
+ reject(new Error('Conversation not found'));
33
+ });
34
+ }
35
+ }
36
+ exports.MemoryStore = MemoryStore;
37
+ /**
38
+ * Conversation context global middleware.
39
+ *
40
+ * This middleware allows listeners (and other middleware) to store state related to the conversationId of an incoming
41
+ * event using the `context.updateConversation()` function. That state will be made available in future events that
42
+ * take place in the same conversation by reading from `context.conversation`.
43
+ *
44
+ * @param store storage backend used to store and retrieve all conversation state
45
+ * @param logger a logger
46
+ */
47
+ function conversationContext(store) {
48
+ return async ({ body, context, next, logger }) => {
49
+ const { conversationId } = (0, helpers_1.getTypeAndConversation)(body);
50
+ if (conversationId !== undefined) {
51
+ // TODO: expiresAt is not passed through to store.set
52
+ context.updateConversation = (conversation) => store.set(conversationId, conversation);
53
+ try {
54
+ context.conversation = await store.get(conversationId);
55
+ logger.debug(`Conversation context loaded for ID: ${conversationId}`);
56
+ }
57
+ catch (error) {
58
+ const e = error;
59
+ if (e.message !== undefined && e.message !== 'Conversation not found') {
60
+ // The conversation data can be expired - error: Conversation expired
61
+ logger.debug(`Conversation context failed loading for ID: ${conversationId}, error: ${e.message}`);
62
+ }
63
+ }
64
+ }
65
+ else {
66
+ logger.debug('No conversation ID for incoming event');
67
+ }
68
+ await next();
69
+ };
70
+ }
71
+ exports.conversationContext = conversationContext;
72
+ //# sourceMappingURL=conversation-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-store.js","sourceRoot":"","sources":["../src/conversation-store.ts"],"names":[],"mappings":";;;AAEA,uCAAmD;AAWnD;;;;;GAKG;AACH,MAAa,WAAW;IAAxB;QACU,UAAK,GAAkE,IAAI,GAAG,EAAE,CAAC;IAuB3F,CAAC;IArBQ,GAAG,CAAC,cAAsB,EAAE,KAAwB,EAAE,SAAkB;QAC7E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACrD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,GAAG,CAAC,cAAsB;QAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC7C,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE;oBACjE,qBAAqB;oBACrB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;oBAClC,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;iBAC3C;gBACD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aACtB;YACD,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAxBD,kCAwBC;AAED;;;;;;;;;GASG;AACH,SAAgB,mBAAmB,CACjC,KAA2C;IAE3C,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;QAC/C,MAAM,EAAE,cAAc,EAAE,GAAG,IAAA,gCAAsB,EAAC,IAAI,CAAC,CAAC;QACxD,IAAI,cAAc,KAAK,SAAS,EAAE;YAChC,qDAAqD;YACrD,OAAO,CAAC,kBAAkB,GAAG,CAAC,YAA+B,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;YAC1G,IAAI;gBACF,OAAO,CAAC,YAAY,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACvD,MAAM,CAAC,KAAK,CAAC,uCAAuC,cAAc,EAAE,CAAC,CAAC;aACvE;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,CAAC,GAAG,KAAY,CAAC;gBACvB,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,wBAAwB,EAAE;oBACrE,qEAAqE;oBACrE,MAAM,CAAC,KAAK,CAAC,+CAA+C,cAAc,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;iBACpG;aACF;SACF;aAAM;YACL,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;SACvD;QACD,MAAM,IAAI,EAAE,CAAC;IACf,CAAC,CAAC;AACJ,CAAC;AAvBD,kDAuBC"}
@@ -0,0 +1,79 @@
1
+ /// <reference types="node" />
2
+ import type { IncomingMessage, ServerResponse } from 'http';
3
+ import type { BufferedIncomingMessage } from './receivers/verify-request';
4
+ export interface CodedError extends Error {
5
+ code: string;
6
+ original?: Error;
7
+ originals?: Error[];
8
+ missingProperty?: string;
9
+ req?: IncomingMessage | BufferedIncomingMessage;
10
+ res?: ServerResponse;
11
+ }
12
+ export declare enum ErrorCode {
13
+ AppInitializationError = "slack_bolt_app_initialization_error",
14
+ AuthorizationError = "slack_bolt_authorization_error",
15
+ ContextMissingPropertyError = "slack_bolt_context_missing_property_error",
16
+ InvalidCustomPropertyError = "slack_bolt_context_invalid_custom_property_error",
17
+ CustomRouteInitializationError = "slack_bolt_custom_route_initialization_error",
18
+ ReceiverMultipleAckError = "slack_bolt_receiver_ack_multiple_error",
19
+ ReceiverAuthenticityError = "slack_bolt_receiver_authenticity_error",
20
+ ReceiverInconsistentStateError = "slack_bolt_receiver_inconsistent_state_error",
21
+ MultipleListenerError = "slack_bolt_multiple_listener_error",
22
+ HTTPReceiverDeferredRequestError = "slack_bolt_http_receiver_deferred_request_error",
23
+ /**
24
+ * This value is used to assign to errors that occur inside the framework but do not have a code, to keep interfaces
25
+ * in terms of CodedError.
26
+ */
27
+ UnknownError = "slack_bolt_unknown_error",
28
+ WorkflowStepInitializationError = "slack_bolt_workflow_step_initialization_error"
29
+ }
30
+ export declare class UnknownError extends Error implements CodedError {
31
+ code: ErrorCode;
32
+ original: Error;
33
+ constructor(original: Error);
34
+ }
35
+ export declare function asCodedError(error: CodedError | Error): CodedError;
36
+ export declare class AppInitializationError extends Error implements CodedError {
37
+ code: ErrorCode;
38
+ }
39
+ export declare class AuthorizationError extends Error implements CodedError {
40
+ code: ErrorCode;
41
+ original: Error;
42
+ constructor(message: string, original: Error);
43
+ }
44
+ export declare class ContextMissingPropertyError extends Error implements CodedError {
45
+ code: ErrorCode;
46
+ missingProperty: string;
47
+ constructor(missingProperty: string, message: string);
48
+ }
49
+ export declare class InvalidCustomPropertyError extends Error implements CodedError {
50
+ code: ErrorCode;
51
+ }
52
+ export declare class CustomRouteInitializationError extends Error implements CodedError {
53
+ code: ErrorCode;
54
+ }
55
+ export declare class ReceiverMultipleAckError extends Error implements CodedError {
56
+ code: ErrorCode;
57
+ constructor();
58
+ }
59
+ export declare class ReceiverAuthenticityError extends Error implements CodedError {
60
+ code: ErrorCode;
61
+ }
62
+ export declare class ReceiverInconsistentStateError extends Error implements CodedError {
63
+ code: ErrorCode;
64
+ }
65
+ export declare class HTTPReceiverDeferredRequestError extends Error implements CodedError {
66
+ code: ErrorCode;
67
+ req: IncomingMessage | BufferedIncomingMessage;
68
+ res: ServerResponse;
69
+ constructor(message: string, req: IncomingMessage | BufferedIncomingMessage, res: ServerResponse);
70
+ }
71
+ export declare class MultipleListenerError extends Error implements CodedError {
72
+ code: ErrorCode;
73
+ originals: Error[];
74
+ constructor(originals: Error[]);
75
+ }
76
+ export declare class WorkflowStepInitializationError extends Error implements CodedError {
77
+ code: ErrorCode;
78
+ }
79
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAC5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAE1E,MAAM,WAAW,UAAW,SAAQ,KAAK;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,eAAe,GAAG,uBAAuB,CAAC;IAChD,GAAG,CAAC,EAAE,cAAc,CAAC;CACtB;AAED,oBAAY,SAAS;IACnB,sBAAsB,wCAAwC;IAC9D,kBAAkB,mCAAmC;IAErD,2BAA2B,8CAA8C;IACzE,0BAA0B,qDAAqD;IAE/E,8BAA8B,iDAAiD;IAE/E,wBAAwB,2CAA2C;IACnE,yBAAyB,2CAA2C;IACpE,8BAA8B,iDAAiD;IAE/E,qBAAqB,uCAAuC;IAE5D,gCAAgC,oDAAoD;IAEpF;;;OAGG;IACH,YAAY,6BAA6B;IAEzC,+BAA+B,kDAAkD;CAClF;AAED,qBAAa,YAAa,SAAQ,KAAM,YAAW,UAAU;IACpD,IAAI,YAA0B;IAE9B,QAAQ,EAAE,KAAK,CAAC;gBAEJ,QAAQ,EAAE,KAAK;CAKnC;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,GAAG,UAAU,CAMlE;AAED,qBAAa,sBAAuB,SAAQ,KAAM,YAAW,UAAU;IAC9D,IAAI,YAAoC;CAChD;AAED,qBAAa,kBAAmB,SAAQ,KAAM,YAAW,UAAU;IAC1D,IAAI,YAAgC;IAEpC,QAAQ,EAAE,KAAK,CAAC;gBAEJ,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK;CAKpD;AAED,qBAAa,2BAA4B,SAAQ,KAAM,YAAW,UAAU;IACnE,IAAI,YAAyC;IAE7C,eAAe,EAAE,MAAM,CAAC;gBAEZ,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI5D;AAED,qBAAa,0BAA2B,SAAQ,KAAM,YAAW,UAAU;IAClE,IAAI,YAAoC;CAChD;AAED,qBAAa,8BAA+B,SAAQ,KAAM,YAAW,UAAU;IACtE,IAAI,YAA4C;CACxD;AAED,qBAAa,wBAAyB,SAAQ,KAAM,YAAW,UAAU;IAChE,IAAI,YAAsC;;CAKlD;AAED,qBAAa,yBAA0B,SAAQ,KAAM,YAAW,UAAU;IACjE,IAAI,YAAuC;CACnD;AAED,qBAAa,8BAA+B,SAAQ,KAAM,YAAW,UAAU;IACtE,IAAI,YAA4C;CACxD;AAED,qBAAa,gCAAiC,SAAQ,KAAM,YAAW,UAAU;IACxE,IAAI,YAA8C;IAElD,GAAG,EAAE,eAAe,GAAG,uBAAuB,CAAC;IAE/C,GAAG,EAAE,cAAc,CAAC;gBAER,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,GAAG,uBAAuB,EAAE,GAAG,EAAE,cAAc;CAKxG;AAED,qBAAa,qBAAsB,SAAQ,KAAM,YAAW,UAAU;IAC7D,IAAI,YAAmC;IAEvC,SAAS,EAAE,KAAK,EAAE,CAAC;gBAEP,SAAS,EAAE,KAAK,EAAE;CAOtC;AAED,qBAAa,+BAAgC,SAAQ,KAAM,YAAW,UAAU;IACvE,IAAI,YAA6C;CACzD"}