@abyss-project/console 1.0.41 → 1.0.43

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 (81) hide show
  1. package/dist/constants/abyss-services.d.ts +0 -0
  2. package/dist/constants/abyss-services.js +1 -0
  3. package/dist/index.d.ts +0 -2
  4. package/dist/index.js +1 -3
  5. package/dist/types/constants/workflow.constants.d.ts +4 -0
  6. package/dist/types/constants/workflow.constants.js +5 -1
  7. package/dist/types/dto/workflow.dto.d.ts +5 -1
  8. package/dist/types/enum/workflow.enum.d.ts +2 -1
  9. package/dist/types/enum/workflow.enum.js +1 -0
  10. package/dist/types/interface/models/workflow-webhook.model.d.ts +1 -0
  11. package/dist/utils/index.d.ts +1 -2
  12. package/dist/utils/index.js +1 -2
  13. package/dist/utils/webhook-trigger.utils.d.ts +0 -7
  14. package/dist/utils/webhook-trigger.utils.js +0 -334
  15. package/dist/workflow-expressions/index.d.ts +5 -17
  16. package/dist/workflow-expressions/index.js +9 -58
  17. package/dist/workflow-expressions/resolver.d.ts +2 -6
  18. package/dist/workflow-expressions/resolver.js +46 -229
  19. package/dist/workflow-expressions/types.d.ts +25 -142
  20. package/dist/workflow-expressions/types.js +3 -21
  21. package/package.json +1 -1
  22. package/dist/expressions/functions/array.d.ts +0 -2
  23. package/dist/expressions/functions/array.js +0 -252
  24. package/dist/expressions/functions/crypto.d.ts +0 -2
  25. package/dist/expressions/functions/crypto.js +0 -101
  26. package/dist/expressions/functions/datetime.d.ts +0 -2
  27. package/dist/expressions/functions/datetime.js +0 -256
  28. package/dist/expressions/functions/index.d.ts +0 -7
  29. package/dist/expressions/functions/index.js +0 -46
  30. package/dist/expressions/functions/math.d.ts +0 -2
  31. package/dist/expressions/functions/math.js +0 -174
  32. package/dist/expressions/functions/string.d.ts +0 -2
  33. package/dist/expressions/functions/string.js +0 -301
  34. package/dist/expressions/functions/utility.d.ts +0 -2
  35. package/dist/expressions/functions/utility.js +0 -230
  36. package/dist/expressions/helpers.d.ts +0 -26
  37. package/dist/expressions/helpers.js +0 -132
  38. package/dist/expressions/index.d.ts +0 -5
  39. package/dist/expressions/index.js +0 -16
  40. package/dist/expressions/mapper.d.ts +0 -9
  41. package/dist/expressions/mapper.js +0 -88
  42. package/dist/expressions/parser.d.ts +0 -3
  43. package/dist/expressions/parser.js +0 -97
  44. package/dist/expressions/pipes/array-pipes.d.ts +0 -2
  45. package/dist/expressions/pipes/array-pipes.js +0 -248
  46. package/dist/expressions/pipes/index.d.ts +0 -8
  47. package/dist/expressions/pipes/index.js +0 -40
  48. package/dist/expressions/pipes/object-pipes.d.ts +0 -2
  49. package/dist/expressions/pipes/object-pipes.js +0 -243
  50. package/dist/expressions/pipes/string-pipes.d.ts +0 -9
  51. package/dist/expressions/pipes/string-pipes.js +0 -178
  52. package/dist/expressions/resolver.d.ts +0 -12
  53. package/dist/expressions/resolver.js +0 -88
  54. package/dist/expressions/types.d.ts +0 -36
  55. package/dist/expressions/types.js +0 -2
  56. package/dist/workflow-expressions/functions/array.d.ts +0 -2
  57. package/dist/workflow-expressions/functions/array.js +0 -252
  58. package/dist/workflow-expressions/functions/crypto.d.ts +0 -2
  59. package/dist/workflow-expressions/functions/crypto.js +0 -101
  60. package/dist/workflow-expressions/functions/datetime.d.ts +0 -2
  61. package/dist/workflow-expressions/functions/datetime.js +0 -256
  62. package/dist/workflow-expressions/functions/index.d.ts +0 -7
  63. package/dist/workflow-expressions/functions/index.js +0 -46
  64. package/dist/workflow-expressions/functions/math.d.ts +0 -2
  65. package/dist/workflow-expressions/functions/math.js +0 -174
  66. package/dist/workflow-expressions/functions/string.d.ts +0 -2
  67. package/dist/workflow-expressions/functions/string.js +0 -301
  68. package/dist/workflow-expressions/functions/utility.d.ts +0 -2
  69. package/dist/workflow-expressions/functions/utility.js +0 -230
  70. package/dist/workflow-expressions/helpers.d.ts +0 -71
  71. package/dist/workflow-expressions/helpers.js +0 -262
  72. package/dist/workflow-expressions/parser.d.ts +0 -8
  73. package/dist/workflow-expressions/parser.js +0 -456
  74. package/dist/workflow-expressions/pipes/array-pipes.d.ts +0 -2
  75. package/dist/workflow-expressions/pipes/array-pipes.js +0 -248
  76. package/dist/workflow-expressions/pipes/index.d.ts +0 -8
  77. package/dist/workflow-expressions/pipes/index.js +0 -40
  78. package/dist/workflow-expressions/pipes/object-pipes.d.ts +0 -2
  79. package/dist/workflow-expressions/pipes/object-pipes.js +0 -243
  80. package/dist/workflow-expressions/pipes/string-pipes.d.ts +0 -9
  81. package/dist/workflow-expressions/pipes/string-pipes.js +0 -178
@@ -1,301 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.stringFunctions = void 0;
4
- exports.stringFunctions = {
5
- toUpperCase: {
6
- name: 'toUpperCase',
7
- description: 'Converts a string to uppercase',
8
- category: 'string',
9
- signature: 'toUpperCase(str)',
10
- args: [
11
- {
12
- name: 'str',
13
- type: 'string',
14
- required: true,
15
- description: 'Input string',
16
- },
17
- ],
18
- returnType: 'string',
19
- examples: ['{{fn.toUpperCase(trigger.body.username)}}'],
20
- execute: (str) => String(str).toUpperCase(),
21
- },
22
- toLowerCase: {
23
- name: 'toLowerCase',
24
- description: 'Converts a string to lowercase',
25
- category: 'string',
26
- signature: 'toLowerCase(str)',
27
- args: [
28
- {
29
- name: 'str',
30
- type: 'string',
31
- required: true,
32
- description: 'Input string',
33
- },
34
- ],
35
- returnType: 'string',
36
- examples: ['{{fn.toLowerCase(trigger.email)}}'],
37
- execute: (str) => String(str).toLowerCase(),
38
- },
39
- trim: {
40
- name: 'trim',
41
- description: 'Removes whitespace from both ends of a string',
42
- category: 'string',
43
- signature: 'trim(str)',
44
- args: [
45
- {
46
- name: 'str',
47
- type: 'string',
48
- required: true,
49
- description: 'Input string',
50
- },
51
- ],
52
- returnType: 'string',
53
- examples: ['{{fn.trim(trigger.input)}}'],
54
- execute: (str) => String(str).trim(),
55
- },
56
- substring: {
57
- name: 'substring',
58
- description: 'Extracts a portion of a string',
59
- category: 'string',
60
- signature: 'substring(str, start, end?)',
61
- args: [
62
- {
63
- name: 'str',
64
- type: 'string',
65
- required: true,
66
- description: 'Input string',
67
- },
68
- {
69
- name: 'start',
70
- type: 'number',
71
- required: true,
72
- description: 'Start index',
73
- },
74
- {
75
- name: 'end',
76
- type: 'number',
77
- required: false,
78
- description: 'End index',
79
- },
80
- ],
81
- returnType: 'string',
82
- examples: ['{{fn.substring(trigger.id, 0, 8)}}'],
83
- execute: (str, start, end) => {
84
- return String(str).substring(Number(start), end !== undefined ? Number(end) : undefined);
85
- },
86
- },
87
- replace: {
88
- name: 'replace',
89
- description: 'Replaces occurrences of a pattern in a string',
90
- category: 'string',
91
- signature: 'replace(str, search, replacement)',
92
- args: [
93
- {
94
- name: 'str',
95
- type: 'string',
96
- required: true,
97
- description: 'Input string',
98
- },
99
- {
100
- name: 'search',
101
- type: 'string',
102
- required: true,
103
- description: 'Pattern to search',
104
- },
105
- {
106
- name: 'replacement',
107
- type: 'string',
108
- required: true,
109
- description: 'Replacement string',
110
- },
111
- ],
112
- returnType: 'string',
113
- examples: ['{{fn.replace(trigger.text, "old", "new")}}'],
114
- execute: (str, search, replacement) => {
115
- const searchStr = String(search);
116
- const replaceStr = String(replacement);
117
- return String(str).replace(new RegExp(searchStr.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), 'g'), replaceStr);
118
- },
119
- },
120
- split: {
121
- name: 'split',
122
- description: 'Splits a string into an array',
123
- category: 'string',
124
- signature: 'split(str, separator)',
125
- args: [
126
- {
127
- name: 'str',
128
- type: 'string',
129
- required: true,
130
- description: 'Input string',
131
- },
132
- {
133
- name: 'separator',
134
- type: 'string',
135
- required: true,
136
- description: 'Separator',
137
- },
138
- ],
139
- returnType: 'array',
140
- examples: ['{{fn.split(trigger.tags, ",")}}'],
141
- execute: (str, separator) => {
142
- return String(str).split(String(separator));
143
- },
144
- },
145
- concat: {
146
- name: 'concat',
147
- description: 'Concatenates multiple strings',
148
- category: 'string',
149
- signature: 'concat(...strs)',
150
- args: [
151
- {
152
- name: 'strings',
153
- type: 'string',
154
- required: true,
155
- description: 'Strings to concatenate',
156
- },
157
- ],
158
- returnType: 'string',
159
- examples: ['{{fn.concat("Hello", " ", "World")}}'],
160
- execute: (...args) => {
161
- return args.map((arg) => String(arg)).join('');
162
- },
163
- },
164
- startsWith: {
165
- name: 'startsWith',
166
- description: 'Checks if a string starts with a specified value',
167
- category: 'string',
168
- signature: 'startsWith(str, search)',
169
- args: [
170
- {
171
- name: 'str',
172
- type: 'string',
173
- required: true,
174
- description: 'Input string',
175
- },
176
- {
177
- name: 'search',
178
- type: 'string',
179
- required: true,
180
- description: 'Search value',
181
- },
182
- ],
183
- returnType: 'boolean',
184
- examples: ['{{fn.startsWith(trigger.url, "https://")}}'],
185
- execute: (str, search) => {
186
- return String(str).startsWith(String(search));
187
- },
188
- },
189
- endsWith: {
190
- name: 'endsWith',
191
- description: 'Checks if a string ends with a specified value',
192
- category: 'string',
193
- signature: 'endsWith(str, search)',
194
- args: [
195
- {
196
- name: 'str',
197
- type: 'string',
198
- required: true,
199
- description: 'Input string',
200
- },
201
- {
202
- name: 'search',
203
- type: 'string',
204
- required: true,
205
- description: 'Search value',
206
- },
207
- ],
208
- returnType: 'boolean',
209
- examples: ['{{fn.endsWith(trigger.filename, ".pdf")}}'],
210
- execute: (str, search) => {
211
- return String(str).endsWith(String(search));
212
- },
213
- },
214
- includes: {
215
- name: 'includes',
216
- description: 'Checks if a string contains a specified value',
217
- category: 'string',
218
- signature: 'includes(str, search)',
219
- args: [
220
- {
221
- name: 'str',
222
- type: 'string',
223
- required: true,
224
- description: 'Input string',
225
- },
226
- {
227
- name: 'search',
228
- type: 'string',
229
- required: true,
230
- description: 'Search value',
231
- },
232
- ],
233
- returnType: 'boolean',
234
- examples: ['{{fn.includes(trigger.text, "error")}}'],
235
- execute: (str, search) => {
236
- return String(str).includes(String(search));
237
- },
238
- },
239
- padStart: {
240
- name: 'padStart',
241
- description: 'Pads a string from the start to a specified length',
242
- category: 'string',
243
- signature: 'padStart(str, length, padString?)',
244
- args: [
245
- {
246
- name: 'str',
247
- type: 'string',
248
- required: true,
249
- description: 'Input string',
250
- },
251
- {
252
- name: 'length',
253
- type: 'number',
254
- required: true,
255
- description: 'Target length',
256
- },
257
- {
258
- name: 'padString',
259
- type: 'string',
260
- required: false,
261
- description: 'Padding string (default: space)',
262
- },
263
- ],
264
- returnType: 'string',
265
- examples: ['{{fn.padStart(trigger.id, 10, "0")}}'],
266
- execute: (str, length, padString) => {
267
- return String(str).padStart(Number(length), padString !== undefined ? String(padString) : ' ');
268
- },
269
- },
270
- padEnd: {
271
- name: 'padEnd',
272
- description: 'Pads a string from the end to a specified length',
273
- category: 'string',
274
- signature: 'padEnd(str, length, padString?)',
275
- args: [
276
- {
277
- name: 'str',
278
- type: 'string',
279
- required: true,
280
- description: 'Input string',
281
- },
282
- {
283
- name: 'length',
284
- type: 'number',
285
- required: true,
286
- description: 'Target length',
287
- },
288
- {
289
- name: 'padString',
290
- type: 'string',
291
- required: false,
292
- description: 'Padding string (default: space)',
293
- },
294
- ],
295
- returnType: 'string',
296
- examples: ['{{fn.padEnd(trigger.code, 5, "X")}}'],
297
- execute: (str, length, padString) => {
298
- return String(str).padEnd(Number(length), padString !== undefined ? String(padString) : ' ');
299
- },
300
- },
301
- };
@@ -1,2 +0,0 @@
1
- import type { BuiltInFunction } from '../types';
2
- export declare const utilityFunctions: Record<string, BuiltInFunction>;
@@ -1,230 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.utilityFunctions = void 0;
4
- const uuid_1 = require("uuid");
5
- exports.utilityFunctions = {
6
- uuid: {
7
- name: 'uuid',
8
- description: 'Generates a random UUID v4',
9
- category: 'utility',
10
- signature: 'uuid()',
11
- args: [],
12
- returnType: 'string',
13
- examples: ['{{fn.uuid()}}', '{{uuid()}}'],
14
- execute: () => (0, uuid_1.v4)(),
15
- },
16
- coalesce: {
17
- name: 'coalesce',
18
- description: 'Returns the first non-null/undefined value',
19
- category: 'utility',
20
- signature: 'coalesce(value1, value2, ...)',
21
- args: [
22
- {
23
- name: 'values',
24
- type: 'any',
25
- required: true,
26
- description: 'Values to check',
27
- },
28
- ],
29
- returnType: 'any',
30
- examples: ['{{fn.coalesce(trigger.body.username, "Anonymous")}}'],
31
- execute: (...args) => {
32
- for (const arg of args) {
33
- if (arg !== null && arg !== undefined) {
34
- return arg;
35
- }
36
- }
37
- return null;
38
- },
39
- },
40
- typeOf: {
41
- name: 'typeOf',
42
- description: 'Returns the type of a value',
43
- category: 'utility',
44
- signature: 'typeOf(value)',
45
- args: [
46
- {
47
- name: 'value',
48
- type: 'any',
49
- required: true,
50
- description: 'Value to check',
51
- },
52
- ],
53
- returnType: 'string',
54
- examples: ['{{fn.typeOf(trigger.data)}}'],
55
- execute: (value) => {
56
- if (value === null)
57
- return 'null';
58
- if (Array.isArray(value))
59
- return 'array';
60
- return typeof value;
61
- },
62
- },
63
- isNull: {
64
- name: 'isNull',
65
- description: 'Checks if a value is null or undefined',
66
- category: 'utility',
67
- signature: 'isNull(value)',
68
- args: [
69
- {
70
- name: 'value',
71
- type: 'any',
72
- required: true,
73
- description: 'Value to check',
74
- },
75
- ],
76
- returnType: 'boolean',
77
- examples: ['{{fn.isNull(trigger.optional)}}'],
78
- execute: (value) => value === null || value === undefined,
79
- },
80
- isEmpty: {
81
- name: 'isEmpty',
82
- description: 'Checks if a value is empty (null, undefined, empty string, empty array, or empty object)',
83
- category: 'utility',
84
- signature: 'isEmpty(value)',
85
- args: [
86
- {
87
- name: 'value',
88
- type: 'any',
89
- required: true,
90
- description: 'Value to check',
91
- },
92
- ],
93
- returnType: 'boolean',
94
- examples: ['{{fn.isEmpty(trigger.description)}}'],
95
- execute: (value) => {
96
- if (value === null || value === undefined)
97
- return true;
98
- if (typeof value === 'string')
99
- return value.length === 0;
100
- if (Array.isArray(value))
101
- return value.length === 0;
102
- if (typeof value === 'object')
103
- return Object.keys(value).length === 0;
104
- return false;
105
- },
106
- },
107
- default: {
108
- name: 'default',
109
- description: 'Returns a default value if the input is null, undefined, or empty',
110
- category: 'utility',
111
- signature: 'default(value, defaultValue)',
112
- args: [
113
- {
114
- name: 'value',
115
- type: 'any',
116
- required: true,
117
- description: 'Input value',
118
- },
119
- {
120
- name: 'defaultValue',
121
- type: 'any',
122
- required: true,
123
- description: 'Default value',
124
- },
125
- ],
126
- returnType: 'any',
127
- examples: ['{{fn.default(trigger.body.username, "Unknown")}}'],
128
- execute: (value, defaultValue) => {
129
- if (value === null || value === undefined)
130
- return defaultValue;
131
- if (typeof value === 'string' && value.length === 0)
132
- return defaultValue;
133
- if (Array.isArray(value) && value.length === 0)
134
- return defaultValue;
135
- return value;
136
- },
137
- },
138
- toNumber: {
139
- name: 'toNumber',
140
- description: 'Converts a value to a number',
141
- category: 'utility',
142
- signature: 'toNumber(value)',
143
- args: [
144
- {
145
- name: 'value',
146
- type: 'any',
147
- required: true,
148
- description: 'Value to convert',
149
- },
150
- ],
151
- returnType: 'number',
152
- examples: ['{{fn.toNumber(trigger.stringNum)}}'],
153
- execute: (value) => Number(value),
154
- },
155
- toString: {
156
- name: 'toString',
157
- description: 'Converts a value to a string',
158
- category: 'utility',
159
- signature: 'toString(value)',
160
- args: [
161
- {
162
- name: 'value',
163
- type: 'any',
164
- required: true,
165
- description: 'Value to convert',
166
- },
167
- ],
168
- returnType: 'string',
169
- examples: ['{{fn.toString(trigger.number)}}'],
170
- execute: (value) => String(value),
171
- },
172
- toBoolean: {
173
- name: 'toBoolean',
174
- description: 'Converts a value to a boolean',
175
- category: 'utility',
176
- signature: 'toBoolean(value)',
177
- args: [
178
- {
179
- name: 'value',
180
- type: 'any',
181
- required: true,
182
- description: 'Value to convert',
183
- },
184
- ],
185
- returnType: 'boolean',
186
- examples: ['{{fn.toBoolean(trigger.flag)}}'],
187
- execute: (value) => Boolean(value),
188
- },
189
- parseJSON: {
190
- name: 'parseJSON',
191
- description: 'Parses a JSON string',
192
- category: 'utility',
193
- signature: 'parseJSON(str)',
194
- args: [
195
- {
196
- name: 'str',
197
- type: 'string',
198
- required: true,
199
- description: 'JSON string',
200
- },
201
- ],
202
- returnType: 'any',
203
- examples: ['{{fn.parseJSON(trigger.jsonData)}}'],
204
- execute: (str) => {
205
- try {
206
- return JSON.parse(String(str));
207
- }
208
- catch {
209
- return null;
210
- }
211
- },
212
- },
213
- toJSON: {
214
- name: 'toJSON',
215
- description: 'Converts a value to a JSON string',
216
- category: 'utility',
217
- signature: 'toJSON(value)',
218
- args: [
219
- {
220
- name: 'value',
221
- type: 'any',
222
- required: true,
223
- description: 'Value to convert',
224
- },
225
- ],
226
- returnType: 'string',
227
- examples: ['{{fn.toJSON(trigger.data)}}'],
228
- execute: (value) => JSON.stringify(value),
229
- },
230
- };
@@ -1,71 +0,0 @@
1
- import { DataSourceType, ParsedExpression } from './types';
2
- export interface ResourceMapping {
3
- type: DataSourceType;
4
- id: string;
5
- name: string;
6
- displayPath: string;
7
- savePath: string;
8
- }
9
- export interface EnrichedToken {
10
- type: 'text' | 'expression' | 'error';
11
- value: string;
12
- rawValue: string;
13
- start: number;
14
- end: number;
15
- parsed?: ParsedExpression;
16
- source?: DataSourceType | null;
17
- isSecret?: boolean;
18
- }
19
- export declare function buildExpressionString(path: string, operations?: Array<{
20
- name: string;
21
- args: unknown[];
22
- }>): string;
23
- export declare function buildReferenceString(type: string, id: string): string;
24
- export declare function hasExpressions(str: string): boolean;
25
- export declare function hasReferences(str: string): boolean;
26
- export declare function isInsideExpression(text: string, cursorPos: number): boolean;
27
- export declare function extractPaths(str: string): string[];
28
- export declare function parseOperations(opsStr: string): Array<{
29
- name: string;
30
- args: unknown[];
31
- }>;
32
- export declare function getCurrentExpressionContext(text: string, cursorPos: number): {
33
- isInExpression: boolean;
34
- expressionStart: number;
35
- expressionContent: string;
36
- cursorOffsetInExpression: number;
37
- currentPath: string;
38
- expression: string;
39
- start: number;
40
- end: number;
41
- path: string;
42
- } | null;
43
- export declare function tokenizeEnriched(template: string): EnrichedToken[];
44
- export declare function validateExpression(expression: string, context: Record<string, unknown>): {
45
- isValid: boolean;
46
- errors: Array<{
47
- type: 'error';
48
- message: string;
49
- start: number;
50
- end: number;
51
- path?: string;
52
- }>;
53
- warnings: Array<{
54
- type: 'warning';
55
- message: string;
56
- start: number;
57
- end: number;
58
- path?: string;
59
- suggestion?: string;
60
- }>;
61
- tokens: EnrichedToken[];
62
- };
63
- export declare function generatePreview(expression: string, context: Record<string, unknown>): {
64
- value: unknown;
65
- type: string;
66
- error?: string;
67
- };
68
- export declare function convertExpressionToSaveFormat(expression: string, mappings: ResourceMapping[]): string;
69
- export declare function convertExpressionToDisplayFormat(expression: string, mappings: ResourceMapping[]): string;
70
- export declare function getValueType(value: unknown): string;
71
- export {};