@periskope/types 0.6.263 → 0.6.264

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.
@@ -1,307 +0,0 @@
1
- import { Merge, OverrideProperties } from 'type-fest';
2
- import { AppendTypes } from './rules.types';
3
- import { Tables } from './supabase.types';
4
- import { TaskType } from './types';
5
- /***************************** WORKFLOWS *****************************/
6
- type WorkflowActions = {
7
- id: string;
8
- action_metadata: NormalWorkflowActionTypes;
9
- next: string;
10
- };
11
- type SplitPathActions = {
12
- id: string;
13
- action_metadata: SplitPathAction;
14
- };
15
- export type WorkflowType = OverrideProperties<Tables<'tbl_org_workflows'>, {
16
- trigger_metadata: {
17
- org_phones: string[];
18
- allow_internal_messages?: boolean;
19
- first_action_id: string;
20
- };
21
- trigger: Triggers;
22
- actions: Array<WorkflowActions | SplitPathActions>;
23
- }>;
24
- export declare function isSplitPathAction(workflow_action: WorkflowType['actions'][number]): workflow_action is SplitPathActions;
25
- type BaseCondition<T extends Triggers> = {
26
- id: string;
27
- variable_name: keyof WorkflowDataType<T>;
28
- };
29
- type StringCondition = BaseCondition<Triggers> & {
30
- condition: 'CONTAINS' | 'NCONTAINS' | 'EQUALS' | 'NEQUALS' | 'STARTS_WITH' | 'ENDS_WITH';
31
- value: string;
32
- variable_type: 'string';
33
- };
34
- type DateTimeNumberCondition = BaseCondition<Triggers> & {
35
- condition: 'GREATER_THAN' | 'GREATER_THAN_OR_EQUAL' | 'LESS_THAN' | 'LESS_THAN_OR_EQUAL';
36
- } & ({
37
- value: string;
38
- variable_type: 'number';
39
- } | {
40
- value: string;
41
- timezone: string;
42
- variable_type: 'date' | 'time';
43
- });
44
- type ExistsCondition = BaseCondition<Triggers> & {
45
- condition: 'IS_KNOWN' | 'IS_UNKNOWN';
46
- value: undefined | null;
47
- variable_type: null;
48
- };
49
- type OnCondition = BaseCondition<Triggers> & {
50
- condition: 'ON';
51
- value: string | string[];
52
- timezone: string;
53
- variable_type: 'day';
54
- };
55
- type BooleanCondition = BaseCondition<Triggers> & {
56
- condition: 'IS' | 'IS_NOT';
57
- value: boolean | 'true' | 'false';
58
- variable_type: 'boolean';
59
- };
60
- type ArrayCondition = BaseCondition<Triggers> & {
61
- condition: 'IS_ANY_OF' | 'IS_NOT_ANY_OF';
62
- value: string[];
63
- variable_type: 'array';
64
- };
65
- export type ConditionLeaf = StringCondition | DateTimeNumberCondition | ExistsCondition | OnCondition | BooleanCondition | ArrayCondition;
66
- type ConditionOperator = 'AND' | 'OR';
67
- export type WorkflowConditionGroup = {
68
- operator: ConditionOperator;
69
- conditions: Array<ConditionLeaf | WorkflowConditionGroup>;
70
- };
71
- export declare function isConditionLeaf(condition: ConditionLeaf | WorkflowConditionGroup): condition is ConditionLeaf;
72
- /***************************** WORKFLOW DATA TYPES *****************************/
73
- export type WorkflowRawDataTypes = {
74
- message: Tables<'tbl_chat_messages'>;
75
- reaction: Tables<'tbl_chat_reactions'>;
76
- chat: Merge<Merge<Tables<'tbl_chats'>, Tables<'tbl_chat_properties'>>, {
77
- has_flagged_messages: boolean;
78
- last_message_self: boolean;
79
- members: string[];
80
- }>;
81
- ticket: Tables<'tbl_chat_tickets'>;
82
- task: Tables<'tbl_org_tasks'>;
83
- sender: Tables<'tbl_contacts'> & Tables<'tbl_chat_participants'>;
84
- };
85
- export type MessageWorkflowDataTypes = AppendTypes<{
86
- message: WorkflowRawDataTypes['message'];
87
- sender: WorkflowRawDataTypes['sender'];
88
- chat: WorkflowRawDataTypes['chat'];
89
- ticket: WorkflowRawDataTypes['ticket'];
90
- }, '.'>;
91
- export type ReactionWorkflowDataTypes = AppendTypes<{
92
- reaction: WorkflowRawDataTypes['reaction'];
93
- sender: WorkflowRawDataTypes['sender'];
94
- message: MessageWorkflowDataTypes;
95
- }, '.'>;
96
- export type TicketWorkflowDataTypes = AppendTypes<{
97
- ticket: WorkflowRawDataTypes['ticket'];
98
- message: MessageWorkflowDataTypes;
99
- }, '.'>;
100
- export type TaskWorkflowDataTypes = AppendTypes<{
101
- task: WorkflowRawDataTypes['task'];
102
- associated_object: TaskType['associated_object_metadata'];
103
- }, '.'>;
104
- export type ChatWorkflowDataTypes = AppendTypes<{
105
- chat: WorkflowRawDataTypes['chat'];
106
- }, '.'>;
107
- export declare enum Triggers {
108
- MESSAGE_CREATED = "message.created",
109
- MESSAGE_UPDATED = "message.updated",
110
- MESSAGE_DELETED = "message.deleted",
111
- MESSAGE_FLAGGED = "message.flagged",
112
- MESSAGE_UNFLAGGED = "message.unflagged",
113
- REACTION_ADDED = "reaction.added",
114
- TICKET_CREATED = "ticket.created",
115
- TICKET_UPDATED = "ticket.updated",
116
- TICKET_DELETED = "ticket.deleted",
117
- TICKET_CLOSED = "ticket.closed",
118
- TICKET_DUE = "ticket.due",
119
- CHAT_CREATED = "chat.created",
120
- CHAT_LABEL_UPDATED = "chat.label.updated",
121
- CHAT_CLOSED = "chat.closed",
122
- TASK_CREATED = "task.created",
123
- TASK_DUE = "task.due"
124
- }
125
- export type WorkflowDataType<T extends Triggers> = T extends Triggers.MESSAGE_CREATED | Triggers.MESSAGE_DELETED | Triggers.MESSAGE_UPDATED | Triggers.MESSAGE_FLAGGED | Triggers.MESSAGE_UNFLAGGED ? MessageWorkflowDataTypes : T extends Triggers.CHAT_CREATED | Triggers.CHAT_LABEL_UPDATED | Triggers.CHAT_CLOSED ? ChatWorkflowDataTypes : T extends Triggers.TICKET_CREATED | Triggers.TICKET_UPDATED | Triggers.TICKET_DELETED | Triggers.TICKET_CLOSED | Triggers.TICKET_DUE ? TicketWorkflowDataTypes : T extends Triggers.REACTION_ADDED ? ReactionWorkflowDataTypes : T extends Triggers.TASK_CREATED | Triggers.TASK_DUE ? TaskWorkflowDataTypes : never;
126
- /***************************** ACTION TYPES *****************************/
127
- export type SendMessageToChatWorkflowAction = {
128
- type: 'send_message_to_chat';
129
- metadata: {
130
- message: string;
131
- media?: {
132
- url: string;
133
- type: 'image' | 'video' | 'audio' | 'document';
134
- name: string;
135
- };
136
- debounce?: `${number} ${'seconds' | 'minutes' | 'hours' | 'days'}` | null;
137
- chat_id: `${string}${'@g.us' | '@c.us'}` | 'trigger_chat' | null;
138
- unflag_chat?: boolean;
139
- };
140
- };
141
- export type SendReplyWorkflowAction = {
142
- type: 'send_reply_message';
143
- metadata: {
144
- message: string;
145
- media?: {
146
- url: string;
147
- type: 'image' | 'video' | 'audio' | 'document';
148
- name: string;
149
- };
150
- debounce?: `${number} ${'seconds' | 'minutes' | 'hours' | 'days'}` | null;
151
- unflag_chat?: boolean;
152
- };
153
- };
154
- export type CreateTicketWorkflowAction = {
155
- type: 'create_ticket';
156
- metadata: {
157
- subject: string;
158
- assignee: {
159
- round_robin: true;
160
- emails: string[];
161
- assignee_check_for?: 'shift_times' | 'online_offline' | 'all';
162
- } | {
163
- email: string;
164
- };
165
- priority?: '0' | '1' | '2' | '3' | '4';
166
- status: 'open' | 'inprogress' | 'closed';
167
- labels: string[];
168
- due_date: `${number} ${'seconds' | 'minutes' | 'hours' | 'days'}` | null;
169
- };
170
- };
171
- export type AttachToLatestTicket = {
172
- type: 'attach_to_latest_ticket';
173
- metadata: {
174
- status: ('open' | 'inprogress' | 'closed')[];
175
- };
176
- };
177
- export type NotifyHTTPWorkflowAction = {
178
- type: 'notify_http';
179
- metadata: {
180
- url: string;
181
- method: 'GET' | 'POST' | 'PUT' | 'DELETE';
182
- headers: Record<string, string>;
183
- body: string;
184
- };
185
- };
186
- export type FlagMessageWorkflowAction = {
187
- type: 'flag_message';
188
- metadata: {};
189
- };
190
- export type UnflagMessageWorkflowAction = {
191
- type: 'unflag_message';
192
- metadata: {};
193
- };
194
- export type AssignTicketWorkflowAction = {
195
- type: 'assign_ticket';
196
- metadata: {
197
- assignee: {
198
- round_robin: true;
199
- emails: string[];
200
- assignee_check_for?: 'shift_times' | 'online_offline' | 'all';
201
- } | {
202
- email: string;
203
- };
204
- };
205
- };
206
- export type CloseTicketWorkflowAction = {
207
- type: 'close_ticket';
208
- metadata: {
209
- bypass_mandatory_fields?: boolean;
210
- closing_note: string;
211
- };
212
- };
213
- export type AddChatLabelWorkflowAction = {
214
- type: 'add_chat_label';
215
- metadata: {
216
- labels: string[];
217
- };
218
- };
219
- export type RemoveChatLabelWorkflowAction = {
220
- type: 'remove_chat_label';
221
- metadata: {
222
- labels: string[];
223
- };
224
- };
225
- export type AddTicketLabelWorkflowAction = {
226
- type: 'add_ticket_label';
227
- metadata: {
228
- labels: string[];
229
- };
230
- };
231
- export type RemoveTicketLabelWorkflowAction = {
232
- type: 'remove_ticket_label';
233
- metadata: {
234
- labels: string[];
235
- };
236
- };
237
- export type AssignChatWorkflowAction = {
238
- type: 'assign_chat';
239
- metadata: {
240
- assignee: {
241
- round_robin: true;
242
- emails: string[];
243
- assignee_check_for?: 'shift_times' | 'online_offline' | 'all';
244
- } | {
245
- email: string;
246
- };
247
- };
248
- };
249
- export type ForwardMessageWorkflowAction = {
250
- type: 'forward_message';
251
- metadata: {
252
- chat_id: `${string}${'@g.us' | '@c.us'}`;
253
- };
254
- };
255
- export type SendEmailWorkflowAction = {
256
- type: 'send_email';
257
- metadata: {
258
- email: string;
259
- subject: string;
260
- body: string;
261
- };
262
- };
263
- export type DeleteMessageWorkflowAction = {
264
- type: 'delete_message';
265
- metadata: {};
266
- };
267
- export type CloseChatWorkflowAction = {
268
- type: 'close_chat';
269
- metadata: {};
270
- };
271
- export type ValidateWorkflowAction = {
272
- type: 'validate_action';
273
- metadata: WorkflowConditionGroup;
274
- };
275
- export type DelayAction = {
276
- type: 'delay';
277
- metadata: {
278
- delay: `${number} ${'seconds' | 'minutes' | 'hours' | 'days'}`;
279
- };
280
- };
281
- export type SendSlackNotification = {
282
- type: 'send_slack_notification';
283
- metadata: {
284
- slack_payload: string;
285
- url: string;
286
- };
287
- };
288
- export type SplitPathAction = {
289
- type: 'split_path';
290
- metadata: {
291
- paths: Array<{
292
- id: string;
293
- condition_action_id: string;
294
- }>;
295
- };
296
- };
297
- export type AIPromptCheckWorkflowAction = {
298
- type: 'ai_prompt_check';
299
- metadata: {
300
- query: string;
301
- body: string;
302
- };
303
- };
304
- export type NormalWorkflowActionTypes = SendMessageToChatWorkflowAction | SendReplyWorkflowAction | CreateTicketWorkflowAction | AttachToLatestTicket | NotifyHTTPWorkflowAction | FlagMessageWorkflowAction | UnflagMessageWorkflowAction | AssignTicketWorkflowAction | CloseTicketWorkflowAction | AddChatLabelWorkflowAction | RemoveChatLabelWorkflowAction | AddTicketLabelWorkflowAction | RemoveTicketLabelWorkflowAction | AssignChatWorkflowAction | ForwardMessageWorkflowAction | SendEmailWorkflowAction | DeleteMessageWorkflowAction | CloseChatWorkflowAction | ValidateWorkflowAction | DelayAction | SendSlackNotification | AIPromptCheckWorkflowAction;
305
- export type WorkflowActionTypes = NormalWorkflowActionTypes | SplitPathAction;
306
- export {};
307
- //# sourceMappingURL=workflows.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflows.types.d.ts","sourceRoot":"","sources":["../src/workflows.types.ts"],"names":[],"mappings":"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"}
@@ -1,256 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Triggers = void 0;
4
- exports.isSplitPathAction = isSplitPathAction;
5
- exports.isConditionLeaf = isConditionLeaf;
6
- function isSplitPathAction(workflow_action) {
7
- return workflow_action.action_metadata.type === 'split_path';
8
- }
9
- /***************************** CONDITIONS TYPES *****************************/
10
- // {
11
- // "operator": "AND",
12
- // "conditions": [
13
- // {
14
- // "id": "cond1",
15
- // "variable_name": "message",
16
- // "variable_type": "string",
17
- // "condition": "CONTAINS",
18
- // "value": "urgent"
19
- // },
20
- // {
21
- // "operator": "OR",
22
- // "conditions": [
23
- // {
24
- // "id": "cond2",
25
- // "variable_name": "priority",
26
- // "variable_type": "number",
27
- // "condition": "GT",
28
- // "value": 2
29
- // },
30
- // {
31
- // "id": "cond3",
32
- // "variable_name": "assigned",
33
- // "variable_type": "boolean",
34
- // "condition": "NKNOWN"
35
- // }
36
- // ]
37
- // }
38
- // ]
39
- // }
40
- var Conditions;
41
- (function (Conditions) {
42
- // string
43
- Conditions["CONTAINS"] = "contains";
44
- Conditions["NCONTAINS"] = "not contains";
45
- Conditions["EQUALS"] = "equals";
46
- Conditions["NEQUALS"] = "not equals";
47
- Conditions["STARTS_WITH"] = "starts with";
48
- Conditions["ENDS_WITH"] = "ends with";
49
- // number, date, time
50
- Conditions["GREATER_THAN"] = "greater than";
51
- Conditions["GREATER_THAN_OR_EQUAL"] = "greater than or equal";
52
- Conditions["LESS_THAN"] = "less than";
53
- Conditions["LESS_THAN_OR_EQUAL"] = "less than or equal";
54
- // none
55
- Conditions["IS_KNOWN"] = "is known";
56
- Conditions["IS_UNKNOWN"] = "is unknown";
57
- // boolean
58
- Conditions["IS"] = "is";
59
- Conditions["IS_NOT"] = "is not";
60
- // array
61
- Conditions["IS_ANY_OF"] = "is any of";
62
- Conditions["IS_NOT_ANY_OF"] = "is not any of";
63
- // day
64
- Conditions["ON"] = "on";
65
- })(Conditions || (Conditions = {}));
66
- function isConditionLeaf(condition) {
67
- return 'id' in condition && !('operator' in condition);
68
- }
69
- var Triggers;
70
- (function (Triggers) {
71
- Triggers["MESSAGE_CREATED"] = "message.created";
72
- Triggers["MESSAGE_UPDATED"] = "message.updated";
73
- Triggers["MESSAGE_DELETED"] = "message.deleted";
74
- Triggers["MESSAGE_FLAGGED"] = "message.flagged";
75
- Triggers["MESSAGE_UNFLAGGED"] = "message.unflagged";
76
- Triggers["REACTION_ADDED"] = "reaction.added";
77
- Triggers["TICKET_CREATED"] = "ticket.created";
78
- Triggers["TICKET_UPDATED"] = "ticket.updated";
79
- Triggers["TICKET_DELETED"] = "ticket.deleted";
80
- Triggers["TICKET_CLOSED"] = "ticket.closed";
81
- Triggers["TICKET_DUE"] = "ticket.due";
82
- Triggers["CHAT_CREATED"] = "chat.created";
83
- Triggers["CHAT_LABEL_UPDATED"] = "chat.label.updated";
84
- Triggers["CHAT_CLOSED"] = "chat.closed";
85
- Triggers["TASK_CREATED"] = "task.created";
86
- Triggers["TASK_DUE"] = "task.due";
87
- })(Triggers || (exports.Triggers = Triggers = {}));
88
- // Example workflow type ->
89
- // const demoWorkflow: WorkflowType = {
90
- // id: 'workflow-1',
91
- // name: 'Urgent Chat Auto-Responder',
92
- // trigger: Triggers.MESSAGE_CREATED,
93
- // trigger_metadata: {
94
- // org_phones: ['phone-1'],
95
- // allow_internal_messages: false,
96
- // first_action_id: 'action-validate',
97
- // },
98
- // actions: [
99
- // {
100
- // id: 'action-validate',
101
- // action_metadata: {
102
- // type: 'validate_action',
103
- // metadata: {
104
- // operator: 'AND',
105
- // conditions: [
106
- // {
107
- // id: 'cond-1',
108
- // variable_name: 'message.text',
109
- // variable_type: 'string',
110
- // condition: 'CONTAINS',
111
- // value: 'urgent',
112
- // },
113
- // {
114
- // id: 'cond-2',
115
- // variable_name: 'chat.assigned',
116
- // variable_type: 'boolean',
117
- // condition: 'IS',
118
- // value: false,
119
- // },
120
- // ],
121
- // },
122
- // },
123
- // next: 'action-add-label',
124
- // },
125
- // {
126
- // id: 'action-add-label',
127
- // action_metadata: {
128
- // type: 'add_chat_label',
129
- // metadata: {
130
- // labels: ['urgent'],
131
- // },
132
- // },
133
- // next: 'action-assign-chat',
134
- // },
135
- // {
136
- // id: 'action-assign-chat',
137
- // action_metadata: {
138
- // type: 'assign_chat',
139
- // metadata: {
140
- // assignee: {
141
- // round_robin: true,
142
- // emails: ['agent1@example.com', 'agent2@example.com'],
143
- // assignee_check_for: 'all',
144
- // },
145
- // },
146
- // },
147
- // next: 'action-delay',
148
- // },
149
- // {
150
- // id: 'action-delay',
151
- // action_metadata: {
152
- // type: 'delay',
153
- // metadata: {
154
- // delay: '5 minutes',
155
- // },
156
- // },
157
- // next: 'action-send-message',
158
- // },
159
- // {
160
- // id: 'action-send-message',
161
- // action_metadata: {
162
- // type: 'send_message_to_chat',
163
- // metadata: {
164
- // message: 'We’re on it!',
165
- // chat_id: 'trigger_chat',
166
- // },
167
- // },
168
- // next: 'action-split',
169
- // },
170
- // {
171
- // id: 'action-split',
172
- // action_metadata: {
173
- // type: 'split_path',
174
- // metadata: {
175
- // paths: [
176
- // {
177
- // id: 'path-flagged',
178
- // condition_action_id: 'action-condition-flagged',
179
- // },
180
- // {
181
- // id: 'path-not-flagged',
182
- // condition_action_id: 'action-condition-not-flagged',
183
- // },
184
- // ],
185
- // },
186
- // },
187
- // {
188
- // id: 'action-condition-flagged',
189
- // action_metadata: {
190
- // type: 'validate_action',
191
- // metadata: {
192
- // operator: 'AND',
193
- // conditions: [
194
- // {
195
- // id: 'cond-flagged',
196
- // variable_name: 'chat.has_flagged_messages',
197
- // variable_type: 'boolean',
198
- // condition: 'IS',
199
- // value: true,
200
- // },
201
- // ],
202
- // },
203
- // },
204
- // next: 'action-create-ticket',
205
- // },
206
- // {
207
- // id: 'action-condition-not-flagged',
208
- // action_metadata: {
209
- // type: 'validate_action',
210
- // metadata: {
211
- // operator: 'AND',
212
- // conditions: [
213
- // {
214
- // id: 'cond-unflagged',
215
- // variable_name: 'chat.has_flagged_messages',
216
- // variable_type: 'boolean',
217
- // condition: 'IS',
218
- // value: false,
219
- // },
220
- // ],
221
- // },
222
- // },
223
- // next: 'action-send-slack',
224
- // },
225
- // {
226
- // id: 'action-create-ticket',
227
- // action_metadata: {
228
- // type: 'create_ticket',
229
- // metadata: {
230
- // subject: 'Urgent Chat Follow-up',
231
- // assignee: {
232
- // email: 'manager@example.com',
233
- // },
234
- // priority: '4',
235
- // status: 'open',
236
- // labels: ['urgent', 'auto-created'],
237
- // due_date: '30 minutes',
238
- // },
239
- // },
240
- // next: '', // End
241
- // },
242
- // {
243
- // id: 'action-send-slack',
244
- // action_metadata: {
245
- // type: 'send_slack_notification',
246
- // metadata: {
247
- // slack_payload: JSON.stringify({
248
- // text: 'An urgent chat was received, no flagged messages.',
249
- // }),
250
- // url: 'https://hooks.slack.com/services/XXX/YYY/ZZZ',
251
- // },
252
- // },
253
- // next: '', // End
254
- // },
255
- // ],
256
- // };