@memberjunction/core-actions 2.54.0 → 2.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/dist/custom/ai/execute-ai-prompt.action.d.ts +94 -0
  2. package/dist/custom/ai/execute-ai-prompt.action.d.ts.map +1 -0
  3. package/dist/custom/ai/execute-ai-prompt.action.js +274 -0
  4. package/dist/custom/ai/execute-ai-prompt.action.js.map +1 -0
  5. package/dist/custom/communication/slack-webhook.action.d.ts +101 -0
  6. package/dist/custom/communication/slack-webhook.action.d.ts.map +1 -0
  7. package/dist/custom/communication/slack-webhook.action.js +269 -0
  8. package/dist/custom/communication/slack-webhook.action.js.map +1 -0
  9. package/dist/custom/communication/teams-webhook.action.d.ts +96 -0
  10. package/dist/custom/communication/teams-webhook.action.d.ts.map +1 -0
  11. package/dist/custom/communication/teams-webhook.action.js +275 -0
  12. package/dist/custom/communication/teams-webhook.action.js.map +1 -0
  13. package/dist/custom/data/aggregate-data.action.d.ts +91 -0
  14. package/dist/custom/data/aggregate-data.action.d.ts.map +1 -0
  15. package/dist/custom/data/aggregate-data.action.js +333 -0
  16. package/dist/custom/data/aggregate-data.action.js.map +1 -0
  17. package/dist/custom/data/csv-parser.action.d.ts +68 -0
  18. package/dist/custom/data/csv-parser.action.d.ts.map +1 -0
  19. package/dist/custom/data/csv-parser.action.js +184 -0
  20. package/dist/custom/data/csv-parser.action.js.map +1 -0
  21. package/dist/custom/data/data-mapper.action.d.ts +89 -0
  22. package/dist/custom/data/data-mapper.action.d.ts.map +1 -0
  23. package/dist/custom/data/data-mapper.action.js +325 -0
  24. package/dist/custom/data/data-mapper.action.js.map +1 -0
  25. package/dist/custom/data/json-transform.action.d.ts +57 -0
  26. package/dist/custom/data/json-transform.action.d.ts.map +1 -0
  27. package/dist/custom/data/json-transform.action.js +205 -0
  28. package/dist/custom/data/json-transform.action.js.map +1 -0
  29. package/dist/custom/data/xml-parser.action.d.ts +85 -0
  30. package/dist/custom/data/xml-parser.action.d.ts.map +1 -0
  31. package/dist/custom/data/xml-parser.action.js +326 -0
  32. package/dist/custom/data/xml-parser.action.js.map +1 -0
  33. package/dist/custom/files/excel-reader.action.d.ts +86 -0
  34. package/dist/custom/files/excel-reader.action.d.ts.map +1 -0
  35. package/dist/custom/files/excel-reader.action.js +348 -0
  36. package/dist/custom/files/excel-reader.action.js.map +1 -0
  37. package/dist/custom/files/excel-writer.action.d.ts +79 -0
  38. package/dist/custom/files/excel-writer.action.d.ts.map +1 -0
  39. package/dist/custom/files/excel-writer.action.js +325 -0
  40. package/dist/custom/files/excel-writer.action.js.map +1 -0
  41. package/dist/custom/files/file-compress.action.d.ts +90 -0
  42. package/dist/custom/files/file-compress.action.d.ts.map +1 -0
  43. package/dist/custom/files/file-compress.action.js +346 -0
  44. package/dist/custom/files/file-compress.action.js.map +1 -0
  45. package/dist/custom/files/pdf-extractor.action.d.ts +86 -0
  46. package/dist/custom/files/pdf-extractor.action.d.ts.map +1 -0
  47. package/dist/custom/files/pdf-extractor.action.js +247 -0
  48. package/dist/custom/files/pdf-extractor.action.js.map +1 -0
  49. package/dist/custom/files/pdf-generator.action.d.ts +70 -0
  50. package/dist/custom/files/pdf-generator.action.d.ts.map +1 -0
  51. package/dist/custom/files/pdf-generator.action.js +286 -0
  52. package/dist/custom/files/pdf-generator.action.js.map +1 -0
  53. package/dist/custom/integration/api-rate-limiter.action.d.ts +88 -0
  54. package/dist/custom/integration/api-rate-limiter.action.d.ts.map +1 -0
  55. package/dist/custom/integration/api-rate-limiter.action.js +363 -0
  56. package/dist/custom/integration/api-rate-limiter.action.js.map +1 -0
  57. package/dist/custom/integration/graphql-query.action.d.ts +92 -0
  58. package/dist/custom/integration/graphql-query.action.d.ts.map +1 -0
  59. package/dist/custom/integration/graphql-query.action.js +251 -0
  60. package/dist/custom/integration/graphql-query.action.js.map +1 -0
  61. package/dist/custom/integration/http-request.action.d.ts +96 -0
  62. package/dist/custom/integration/http-request.action.d.ts.map +1 -0
  63. package/dist/custom/integration/http-request.action.js +316 -0
  64. package/dist/custom/integration/http-request.action.js.map +1 -0
  65. package/dist/custom/integration/oauth-flow.action.d.ts +130 -0
  66. package/dist/custom/integration/oauth-flow.action.d.ts.map +1 -0
  67. package/dist/custom/integration/oauth-flow.action.js +624 -0
  68. package/dist/custom/integration/oauth-flow.action.js.map +1 -0
  69. package/dist/custom/security/password-strength.action.d.ts +129 -0
  70. package/dist/custom/security/password-strength.action.d.ts.map +1 -0
  71. package/dist/custom/security/password-strength.action.js +463 -0
  72. package/dist/custom/security/password-strength.action.js.map +1 -0
  73. package/dist/custom/utilities/base-file-handler.d.ts +54 -0
  74. package/dist/custom/utilities/base-file-handler.d.ts.map +1 -0
  75. package/dist/custom/utilities/base-file-handler.js +167 -0
  76. package/dist/custom/utilities/base-file-handler.js.map +1 -0
  77. package/dist/custom/utilities/index.d.ts +3 -0
  78. package/dist/custom/utilities/index.d.ts.map +1 -0
  79. package/dist/custom/utilities/index.js +19 -0
  80. package/dist/custom/utilities/index.js.map +1 -0
  81. package/dist/custom/utilities/json-param-helper.d.ts +33 -0
  82. package/dist/custom/utilities/json-param-helper.d.ts.map +1 -0
  83. package/dist/custom/utilities/json-param-helper.js +66 -0
  84. package/dist/custom/utilities/json-param-helper.js.map +1 -0
  85. package/dist/custom/web/duckduckgo-rate-limiter.d.ts +72 -0
  86. package/dist/custom/web/duckduckgo-rate-limiter.d.ts.map +1 -0
  87. package/dist/custom/web/duckduckgo-rate-limiter.js +175 -0
  88. package/dist/custom/web/duckduckgo-rate-limiter.js.map +1 -0
  89. package/dist/custom/web/web-search.action.d.ts +1 -0
  90. package/dist/custom/web/web-search.action.d.ts.map +1 -1
  91. package/dist/custom/web/web-search.action.js +48 -20
  92. package/dist/custom/web/web-search.action.js.map +1 -1
  93. package/dist/custom/workflow/conditional.action.d.ts +94 -0
  94. package/dist/custom/workflow/conditional.action.d.ts.map +1 -0
  95. package/dist/custom/workflow/conditional.action.js +274 -0
  96. package/dist/custom/workflow/conditional.action.js.map +1 -0
  97. package/dist/custom/workflow/delay.action.d.ts +76 -0
  98. package/dist/custom/workflow/delay.action.d.ts.map +1 -0
  99. package/dist/custom/workflow/delay.action.js +187 -0
  100. package/dist/custom/workflow/delay.action.js.map +1 -0
  101. package/dist/custom/workflow/loop.action.d.ts +112 -0
  102. package/dist/custom/workflow/loop.action.d.ts.map +1 -0
  103. package/dist/custom/workflow/loop.action.js +380 -0
  104. package/dist/custom/workflow/loop.action.js.map +1 -0
  105. package/dist/custom/workflow/parallel-execute.action.d.ts +105 -0
  106. package/dist/custom/workflow/parallel-execute.action.d.ts.map +1 -0
  107. package/dist/custom/workflow/parallel-execute.action.js +457 -0
  108. package/dist/custom/workflow/parallel-execute.action.js.map +1 -0
  109. package/dist/custom/workflow/retry.action.d.ts +90 -0
  110. package/dist/custom/workflow/retry.action.d.ts.map +1 -0
  111. package/dist/custom/workflow/retry.action.js +378 -0
  112. package/dist/custom/workflow/retry.action.js.map +1 -0
  113. package/dist/index.d.ts +23 -0
  114. package/dist/index.d.ts.map +1 -1
  115. package/dist/index.js +75 -0
  116. package/dist/index.js.map +1 -1
  117. package/package.json +25 -10
  118. package/readme.md +11270 -101
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loop.action.js","sourceRoot":"","sources":["../../../src/custom/workflow/loop.action.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ import { ActionResultSimple, RunActionParams } from "@memberjunction/actions-base";
2
+ import { BaseAction } from "@memberjunction/actions";
3
+ /**
4
+ * Action that executes multiple actions in parallel
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * // Execute multiple actions in parallel
9
+ * await runAction({
10
+ * ActionName: 'Parallel Execute',
11
+ * Params: [{
12
+ * Name: 'Actions',
13
+ * Value: [
14
+ * {
15
+ * ActionName: 'Web Search',
16
+ * Params: { Query: 'latest news' }
17
+ * },
18
+ * {
19
+ * ActionName: 'Get Weather',
20
+ * Params: { Location: 'New York' }
21
+ * },
22
+ * {
23
+ * ActionName: 'Get Stock Price',
24
+ * Params: { Symbol: 'AAPL' }
25
+ * }
26
+ * ]
27
+ * }]
28
+ * });
29
+ *
30
+ * // Wait for first result only
31
+ * await runAction({
32
+ * ActionName: 'Parallel Execute',
33
+ * Params: [{
34
+ * Name: 'Actions',
35
+ * Value: [api1Action, api2Action, api3Action]
36
+ * }, {
37
+ * Name: 'WaitForAll',
38
+ * Value: false
39
+ * }]
40
+ * });
41
+ *
42
+ * // With timeout and error handling
43
+ * await runAction({
44
+ * ActionName: 'Parallel Execute',
45
+ * Params: [{
46
+ * Name: 'Actions',
47
+ * Value: actions
48
+ * }, {
49
+ * Name: 'ContinueOnError',
50
+ * Value: true
51
+ * }, {
52
+ * Name: 'Timeout',
53
+ * Value: 10000
54
+ * }, {
55
+ * Name: 'MaxConcurrent',
56
+ * Value: 5
57
+ * }]
58
+ * });
59
+ * ```
60
+ */
61
+ export declare class ParallelExecuteAction extends BaseAction {
62
+ /**
63
+ * Executes multiple actions in parallel
64
+ *
65
+ * @param params - The action parameters containing:
66
+ * - Actions: Array of action configurations to execute (required)
67
+ * - WaitForAll: Boolean - wait for all vs first (default: true)
68
+ * - ContinueOnError: Boolean - continue if actions fail (default: false)
69
+ * - MaxConcurrent: Max parallel executions (default: unlimited)
70
+ * - Timeout: Overall timeout in milliseconds (optional)
71
+ * - IncludeContext: Additional context to pass to all actions (optional)
72
+ *
73
+ * @returns Array of results or first result based on WaitForAll
74
+ */
75
+ protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
76
+ /**
77
+ * Execute all actions and wait for completion
78
+ */
79
+ private executeAllActions;
80
+ /**
81
+ * Execute actions and return first result
82
+ */
83
+ private executeFirstAction;
84
+ /**
85
+ * Prepare action configuration with context
86
+ */
87
+ private prepareActionConfig;
88
+ /**
89
+ * Get numeric parameter with default
90
+ */
91
+ private getNumericParam;
92
+ /**
93
+ * Get boolean parameter with default
94
+ */
95
+ private getBooleanParam;
96
+ /**
97
+ * Get parameter value by name (case-insensitive)
98
+ */
99
+ private getParamValue;
100
+ }
101
+ /**
102
+ * Loader function to ensure the ParallelExecuteAction class is included in the bundle
103
+ */
104
+ export declare function LoadParallelExecuteAction(): void;
105
+ //# sourceMappingURL=parallel-execute.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parallel-execute.action.d.ts","sourceRoot":"","sources":["../../../src/custom/workflow/parallel-execute.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAIrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,qBACa,qBAAsB,SAAQ,UAAU;IAEjD;;;;;;;;;;;;OAYG;cACa,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA+DvF;;OAEG;YACW,iBAAiB;IA8H/B;;OAEG;YACW,kBAAkB;IAuKhC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA8B3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAOvB;;OAEG;IACH,OAAO,CAAC,eAAe;IAUvB;;OAEG;IACH,OAAO,CAAC,aAAa;CAIxB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,SAExC"}
@@ -0,0 +1,457 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.LoadParallelExecuteAction = exports.ParallelExecuteAction = void 0;
10
+ const global_1 = require("@memberjunction/global");
11
+ const actions_1 = require("@memberjunction/actions");
12
+ const actions_2 = require("@memberjunction/actions");
13
+ const json_param_helper_1 = require("../utilities/json-param-helper");
14
+ /**
15
+ * Action that executes multiple actions in parallel
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * // Execute multiple actions in parallel
20
+ * await runAction({
21
+ * ActionName: 'Parallel Execute',
22
+ * Params: [{
23
+ * Name: 'Actions',
24
+ * Value: [
25
+ * {
26
+ * ActionName: 'Web Search',
27
+ * Params: { Query: 'latest news' }
28
+ * },
29
+ * {
30
+ * ActionName: 'Get Weather',
31
+ * Params: { Location: 'New York' }
32
+ * },
33
+ * {
34
+ * ActionName: 'Get Stock Price',
35
+ * Params: { Symbol: 'AAPL' }
36
+ * }
37
+ * ]
38
+ * }]
39
+ * });
40
+ *
41
+ * // Wait for first result only
42
+ * await runAction({
43
+ * ActionName: 'Parallel Execute',
44
+ * Params: [{
45
+ * Name: 'Actions',
46
+ * Value: [api1Action, api2Action, api3Action]
47
+ * }, {
48
+ * Name: 'WaitForAll',
49
+ * Value: false
50
+ * }]
51
+ * });
52
+ *
53
+ * // With timeout and error handling
54
+ * await runAction({
55
+ * ActionName: 'Parallel Execute',
56
+ * Params: [{
57
+ * Name: 'Actions',
58
+ * Value: actions
59
+ * }, {
60
+ * Name: 'ContinueOnError',
61
+ * Value: true
62
+ * }, {
63
+ * Name: 'Timeout',
64
+ * Value: 10000
65
+ * }, {
66
+ * Name: 'MaxConcurrent',
67
+ * Value: 5
68
+ * }]
69
+ * });
70
+ * ```
71
+ */
72
+ let ParallelExecuteAction = class ParallelExecuteAction extends actions_1.BaseAction {
73
+ /**
74
+ * Executes multiple actions in parallel
75
+ *
76
+ * @param params - The action parameters containing:
77
+ * - Actions: Array of action configurations to execute (required)
78
+ * - WaitForAll: Boolean - wait for all vs first (default: true)
79
+ * - ContinueOnError: Boolean - continue if actions fail (default: false)
80
+ * - MaxConcurrent: Max parallel executions (default: unlimited)
81
+ * - Timeout: Overall timeout in milliseconds (optional)
82
+ * - IncludeContext: Additional context to pass to all actions (optional)
83
+ *
84
+ * @returns Array of results or first result based on WaitForAll
85
+ */
86
+ async InternalRunAction(params) {
87
+ try {
88
+ const actions = json_param_helper_1.JSONParamHelper.getJSONParam(params, 'actions');
89
+ const waitForAll = this.getBooleanParam(params, 'waitforall', true);
90
+ const continueOnError = this.getBooleanParam(params, 'continueonerror', false);
91
+ const maxConcurrent = this.getNumericParam(params, 'maxconcurrent', 0); // 0 = unlimited
92
+ const timeout = this.getNumericParam(params, 'timeout', 0); // 0 = no timeout
93
+ const includeContext = json_param_helper_1.JSONParamHelper.getJSONParam(params, 'includecontext') || {};
94
+ // Validate actions
95
+ if (!actions || !Array.isArray(actions) || actions.length === 0) {
96
+ return {
97
+ Success: false,
98
+ Message: "Actions parameter must be a non-empty array",
99
+ ResultCode: "INVALID_ACTIONS"
100
+ };
101
+ }
102
+ // Validate action configurations
103
+ for (let i = 0; i < actions.length; i++) {
104
+ if (!actions[i] || !actions[i].ActionName) {
105
+ return {
106
+ Success: false,
107
+ Message: `Action at index ${i} must have ActionName`,
108
+ ResultCode: "INVALID_ACTION_CONFIG"
109
+ };
110
+ }
111
+ }
112
+ // Prepare actions with context
113
+ const preparedActions = actions.map(action => this.prepareActionConfig(action, includeContext));
114
+ // Execute based on mode
115
+ if (waitForAll) {
116
+ return await this.executeAllActions(preparedActions, continueOnError, maxConcurrent, timeout, params.ContextUser, params);
117
+ }
118
+ else {
119
+ return await this.executeFirstAction(preparedActions, maxConcurrent, timeout, params.ContextUser, params);
120
+ }
121
+ }
122
+ catch (error) {
123
+ return {
124
+ Success: false,
125
+ Message: `Parallel execute failed: ${error instanceof Error ? error.message : String(error)}`,
126
+ ResultCode: "PARALLEL_FAILED"
127
+ };
128
+ }
129
+ }
130
+ /**
131
+ * Execute all actions and wait for completion
132
+ */
133
+ async executeAllActions(actions, continueOnError, maxConcurrent, timeout, contextUser, params) {
134
+ const engine = new actions_2.ActionEngineServer();
135
+ const results = [];
136
+ const startTime = Date.now();
137
+ let successCount = 0;
138
+ let errorCount = 0;
139
+ // Create execution function
140
+ const executeAction = async (action, index) => {
141
+ try {
142
+ // Check timeout
143
+ if (timeout > 0 && Date.now() - startTime > timeout) {
144
+ throw new Error('Timeout exceeded');
145
+ }
146
+ const result = await engine.RunAction(action);
147
+ results[index] = {
148
+ actionName: action.ActionName,
149
+ success: result.Success,
150
+ result: result,
151
+ duration: Date.now() - startTime
152
+ };
153
+ if (result.Success) {
154
+ successCount++;
155
+ }
156
+ else {
157
+ errorCount++;
158
+ }
159
+ return result;
160
+ }
161
+ catch (error) {
162
+ errorCount++;
163
+ const errorResult = {
164
+ actionName: action.ActionName,
165
+ success: false,
166
+ error: error instanceof Error ? error.message : String(error),
167
+ duration: Date.now() - startTime
168
+ };
169
+ results[index] = errorResult;
170
+ if (!continueOnError) {
171
+ throw error;
172
+ }
173
+ return errorResult;
174
+ }
175
+ };
176
+ // Execute with or without concurrency limit
177
+ if (maxConcurrent > 0 && maxConcurrent < actions.length) {
178
+ // Execute with concurrency limit
179
+ for (let i = 0; i < actions.length; i += maxConcurrent) {
180
+ const batch = actions.slice(i, i + maxConcurrent);
181
+ const batchPromises = batch.map((action, batchIndex) => executeAction(action, i + batchIndex));
182
+ try {
183
+ await Promise.all(batchPromises);
184
+ }
185
+ catch (error) {
186
+ if (!continueOnError) {
187
+ break;
188
+ }
189
+ }
190
+ }
191
+ }
192
+ else {
193
+ // Execute all at once
194
+ const promises = actions.map((action, index) => executeAction(action, index));
195
+ if (continueOnError) {
196
+ await Promise.allSettled(promises);
197
+ }
198
+ else {
199
+ await Promise.all(promises);
200
+ }
201
+ }
202
+ // Add output parameters
203
+ params.Params.push({
204
+ Name: 'Results',
205
+ Type: 'Output',
206
+ Value: results
207
+ });
208
+ params.Params.push({
209
+ Name: 'SuccessCount',
210
+ Type: 'Output',
211
+ Value: successCount
212
+ });
213
+ params.Params.push({
214
+ Name: 'ErrorCount',
215
+ Type: 'Output',
216
+ Value: errorCount
217
+ });
218
+ params.Params.push({
219
+ Name: 'TotalDuration',
220
+ Type: 'Output',
221
+ Value: Date.now() - startTime
222
+ });
223
+ // Determine overall success
224
+ const allSuccessful = errorCount === 0;
225
+ const someSuccessful = successCount > 0;
226
+ return {
227
+ Success: continueOnError ? someSuccessful : allSuccessful,
228
+ ResultCode: allSuccessful ? "ALL_SUCCESS" : (someSuccessful ? "PARTIAL_SUCCESS" : "ALL_FAILED"),
229
+ Message: JSON.stringify({
230
+ message: `Parallel execution completed: ${successCount} successful, ${errorCount} failed`,
231
+ totalActions: actions.length,
232
+ successCount: successCount,
233
+ errorCount: errorCount,
234
+ totalDuration: Date.now() - startTime,
235
+ results: results
236
+ }, null, 2)
237
+ };
238
+ }
239
+ /**
240
+ * Execute actions and return first result
241
+ */
242
+ async executeFirstAction(actions, maxConcurrent, timeout, contextUser, params) {
243
+ const engine = new actions_2.ActionEngineServer();
244
+ const startTime = Date.now();
245
+ return new Promise((resolve) => {
246
+ let resolved = false;
247
+ const results = [];
248
+ let completedCount = 0;
249
+ // Create execution function
250
+ const executeAction = async (action, index) => {
251
+ try {
252
+ // Check if already resolved
253
+ if (resolved)
254
+ return;
255
+ // Check timeout
256
+ if (timeout > 0 && Date.now() - startTime > timeout) {
257
+ throw new Error('Timeout exceeded');
258
+ }
259
+ const result = await engine.RunAction(action);
260
+ if (!resolved) {
261
+ if (result.Success) {
262
+ resolved = true;
263
+ // Add output parameters
264
+ params.Params.push({
265
+ Name: 'FirstResult',
266
+ Type: 'Output',
267
+ Value: result
268
+ });
269
+ params.Params.push({
270
+ Name: 'FirstActionName',
271
+ Type: 'Output',
272
+ Value: action.ActionName
273
+ });
274
+ params.Params.push({
275
+ Name: 'FirstActionIndex',
276
+ Type: 'Output',
277
+ Value: index
278
+ });
279
+ params.Params.push({
280
+ Name: 'Duration',
281
+ Type: 'Output',
282
+ Value: Date.now() - startTime
283
+ });
284
+ resolve({
285
+ Success: true,
286
+ ResultCode: "FIRST_SUCCESS",
287
+ Message: JSON.stringify({
288
+ message: "First successful action completed",
289
+ actionName: action.ActionName,
290
+ actionIndex: index,
291
+ duration: Date.now() - startTime,
292
+ result: result
293
+ }, null, 2)
294
+ });
295
+ }
296
+ else {
297
+ results[index] = {
298
+ actionName: action.ActionName,
299
+ success: false,
300
+ error: result.Message
301
+ };
302
+ completedCount++;
303
+ // Check if all failed
304
+ if (completedCount === actions.length) {
305
+ params.Params.push({
306
+ Name: 'AllResults',
307
+ Type: 'Output',
308
+ Value: results
309
+ });
310
+ resolve({
311
+ Success: false,
312
+ ResultCode: "ALL_FAILED",
313
+ Message: JSON.stringify({
314
+ message: "All actions failed",
315
+ results: results,
316
+ duration: Date.now() - startTime
317
+ }, null, 2)
318
+ });
319
+ }
320
+ }
321
+ }
322
+ }
323
+ catch (error) {
324
+ if (!resolved) {
325
+ results[index] = {
326
+ actionName: action.ActionName,
327
+ success: false,
328
+ error: error instanceof Error ? error.message : String(error)
329
+ };
330
+ completedCount++;
331
+ // Check if all failed
332
+ if (completedCount === actions.length) {
333
+ params.Params.push({
334
+ Name: 'AllResults',
335
+ Type: 'Output',
336
+ Value: results
337
+ });
338
+ resolve({
339
+ Success: false,
340
+ ResultCode: "ALL_FAILED",
341
+ Message: JSON.stringify({
342
+ message: "All actions failed",
343
+ results: results,
344
+ duration: Date.now() - startTime
345
+ }, null, 2)
346
+ });
347
+ }
348
+ }
349
+ }
350
+ };
351
+ // Execute with or without concurrency limit
352
+ if (maxConcurrent > 0 && maxConcurrent < actions.length) {
353
+ // Execute with concurrency limit
354
+ let currentIndex = 0;
355
+ const executeNext = () => {
356
+ if (currentIndex < actions.length && !resolved) {
357
+ const action = actions[currentIndex];
358
+ const index = currentIndex;
359
+ currentIndex++;
360
+ executeAction(action, index).then(() => executeNext());
361
+ }
362
+ };
363
+ // Start initial batch
364
+ for (let i = 0; i < Math.min(maxConcurrent, actions.length); i++) {
365
+ executeNext();
366
+ }
367
+ }
368
+ else {
369
+ // Execute all at once
370
+ actions.forEach((action, index) => executeAction(action, index));
371
+ }
372
+ // Handle timeout
373
+ if (timeout > 0) {
374
+ setTimeout(() => {
375
+ if (!resolved) {
376
+ resolved = true;
377
+ resolve({
378
+ Success: false,
379
+ ResultCode: "TIMEOUT",
380
+ Message: `Parallel execution timed out after ${timeout}ms`
381
+ });
382
+ }
383
+ }, timeout);
384
+ }
385
+ });
386
+ }
387
+ /**
388
+ * Prepare action configuration with context
389
+ */
390
+ prepareActionConfig(actionConfig, context) {
391
+ if (!context || Object.keys(context).length === 0) {
392
+ return actionConfig;
393
+ }
394
+ // Deep clone the config
395
+ const preparedConfig = JSON.parse(JSON.stringify(actionConfig));
396
+ // Merge context into params
397
+ if (!preparedConfig.Params) {
398
+ preparedConfig.Params = {};
399
+ }
400
+ // If Params is an array, convert to object
401
+ if (Array.isArray(preparedConfig.Params)) {
402
+ const paramsObj = {};
403
+ preparedConfig.Params.forEach((param) => {
404
+ if (param.Name) {
405
+ paramsObj[param.Name] = param.Value;
406
+ }
407
+ });
408
+ preparedConfig.Params = paramsObj;
409
+ }
410
+ // Merge context (existing params take precedence)
411
+ preparedConfig.Params = { ...context, ...preparedConfig.Params };
412
+ return preparedConfig;
413
+ }
414
+ /**
415
+ * Get numeric parameter with default
416
+ */
417
+ getNumericParam(params, name, defaultValue) {
418
+ const value = this.getParamValue(params, name);
419
+ if (value === undefined || value === null)
420
+ return defaultValue;
421
+ const num = Number(value);
422
+ return isNaN(num) ? defaultValue : num;
423
+ }
424
+ /**
425
+ * Get boolean parameter with default
426
+ */
427
+ getBooleanParam(params, name, defaultValue) {
428
+ const value = this.getParamValue(params, name);
429
+ if (value === undefined || value === null)
430
+ return defaultValue;
431
+ if (typeof value === 'boolean')
432
+ return value;
433
+ if (typeof value === 'string') {
434
+ return value.toLowerCase() === 'true';
435
+ }
436
+ return defaultValue;
437
+ }
438
+ /**
439
+ * Get parameter value by name (case-insensitive)
440
+ */
441
+ getParamValue(params, name) {
442
+ const param = params.Params.find(p => p.Name.toLowerCase() === name.toLowerCase());
443
+ return param?.Value;
444
+ }
445
+ };
446
+ exports.ParallelExecuteAction = ParallelExecuteAction;
447
+ exports.ParallelExecuteAction = ParallelExecuteAction = __decorate([
448
+ (0, global_1.RegisterClass)(actions_1.BaseAction, "Parallel Execute")
449
+ ], ParallelExecuteAction);
450
+ /**
451
+ * Loader function to ensure the ParallelExecuteAction class is included in the bundle
452
+ */
453
+ function LoadParallelExecuteAction() {
454
+ // Stub function to prevent tree shaking
455
+ }
456
+ exports.LoadParallelExecuteAction = LoadParallelExecuteAction;
457
+ //# sourceMappingURL=parallel-execute.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parallel-execute.action.js","sourceRoot":"","sources":["../../../src/custom/workflow/parallel-execute.action.ts"],"names":[],"mappings":"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"}