@memberjunction/core-actions 2.53.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,94 @@
1
+ import { ActionResultSimple, RunActionParams } from "@memberjunction/actions-base";
2
+ import { BaseAction } from "@memberjunction/actions";
3
+ /**
4
+ * Action that executes MemberJunction AI prompts
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * // Execute a simple prompt
9
+ * await runAction({
10
+ * ActionName: 'Execute AI Prompt',
11
+ * Params: [{
12
+ * Name: 'PromptName',
13
+ * Value: 'Summarize Text'
14
+ * }, {
15
+ * Name: 'Variables',
16
+ * Value: {
17
+ * text: 'Long article text here...',
18
+ * maxLength: 200
19
+ * }
20
+ * }]
21
+ * });
22
+ *
23
+ * // Execute with model override
24
+ * await runAction({
25
+ * ActionName: 'Execute AI Prompt',
26
+ * Params: [{
27
+ * Name: 'PromptName',
28
+ * Value: 'Generate Code'
29
+ * }, {
30
+ * Name: 'Variables',
31
+ * Value: {
32
+ * language: 'TypeScript',
33
+ * description: 'Function to calculate fibonacci'
34
+ * }
35
+ * }, {
36
+ * Name: 'ModelOverride',
37
+ * Value: 'gpt-4'
38
+ * }, {
39
+ * Name: 'TemperatureOverride',
40
+ * Value: 0.7
41
+ * }]
42
+ * });
43
+ *
44
+ * // Execute with streaming
45
+ * await runAction({
46
+ * ActionName: 'Execute AI Prompt',
47
+ * Params: [{
48
+ * Name: 'PromptName',
49
+ * Value: 'Creative Writing'
50
+ * }, {
51
+ * Name: 'Variables',
52
+ * Value: { topic: 'space exploration' }
53
+ * }, {
54
+ * Name: 'Stream',
55
+ * Value: true
56
+ * }]
57
+ * });
58
+ * ```
59
+ */
60
+ export declare class ExecuteAIPromptAction extends BaseAction {
61
+ /**
62
+ * Executes a MemberJunction AI prompt
63
+ *
64
+ * @param params - The action parameters containing:
65
+ * - PromptName: Name of the AI prompt to execute (required)
66
+ * - Variables: Object with variables for the prompt (optional)
67
+ * - ModelOverride: Override the default model (optional)
68
+ * - TemperatureOverride: Override temperature setting (optional)
69
+ * - MaxTokensOverride: Override max tokens (optional)
70
+ * - Stream: Boolean - stream responses (default: false)
71
+ * - SystemPromptOverride: Override system prompt (optional)
72
+ * - IncludeMetadata: Include prompt metadata in response (default: false)
73
+ *
74
+ * @returns AI prompt response
75
+ */
76
+ protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
77
+ /**
78
+ * Load AI prompt by name
79
+ */
80
+ private loadPrompt;
81
+ /**
82
+ * Get boolean parameter with default
83
+ */
84
+ private getBooleanParam;
85
+ /**
86
+ * Get parameter value by name (case-insensitive)
87
+ */
88
+ private getParamValue;
89
+ }
90
+ /**
91
+ * Loader function to ensure the ExecuteAIPromptAction class is included in the bundle
92
+ */
93
+ export declare function LoadExecuteAIPromptAction(): void;
94
+ //# sourceMappingURL=execute-ai-prompt.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-ai-prompt.action.d.ts","sourceRoot":"","sources":["../../../src/custom/ai/execute-ai-prompt.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAKrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,qBACa,qBAAsB,SAAQ,UAAU;IAEjD;;;;;;;;;;;;;;OAcG;cACa,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA4JvF;;OAEG;YACW,UAAU;IAgBxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAUvB;;OAEG;IACH,OAAO,CAAC,aAAa;CAIxB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,SAExC"}
@@ -0,0 +1,274 @@
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.LoadExecuteAIPromptAction = exports.ExecuteAIPromptAction = void 0;
10
+ const global_1 = require("@memberjunction/global");
11
+ const actions_1 = require("@memberjunction/actions");
12
+ const core_1 = require("@memberjunction/core");
13
+ const ai_prompts_1 = require("@memberjunction/ai-prompts");
14
+ /**
15
+ * Action that executes MemberJunction AI prompts
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * // Execute a simple prompt
20
+ * await runAction({
21
+ * ActionName: 'Execute AI Prompt',
22
+ * Params: [{
23
+ * Name: 'PromptName',
24
+ * Value: 'Summarize Text'
25
+ * }, {
26
+ * Name: 'Variables',
27
+ * Value: {
28
+ * text: 'Long article text here...',
29
+ * maxLength: 200
30
+ * }
31
+ * }]
32
+ * });
33
+ *
34
+ * // Execute with model override
35
+ * await runAction({
36
+ * ActionName: 'Execute AI Prompt',
37
+ * Params: [{
38
+ * Name: 'PromptName',
39
+ * Value: 'Generate Code'
40
+ * }, {
41
+ * Name: 'Variables',
42
+ * Value: {
43
+ * language: 'TypeScript',
44
+ * description: 'Function to calculate fibonacci'
45
+ * }
46
+ * }, {
47
+ * Name: 'ModelOverride',
48
+ * Value: 'gpt-4'
49
+ * }, {
50
+ * Name: 'TemperatureOverride',
51
+ * Value: 0.7
52
+ * }]
53
+ * });
54
+ *
55
+ * // Execute with streaming
56
+ * await runAction({
57
+ * ActionName: 'Execute AI Prompt',
58
+ * Params: [{
59
+ * Name: 'PromptName',
60
+ * Value: 'Creative Writing'
61
+ * }, {
62
+ * Name: 'Variables',
63
+ * Value: { topic: 'space exploration' }
64
+ * }, {
65
+ * Name: 'Stream',
66
+ * Value: true
67
+ * }]
68
+ * });
69
+ * ```
70
+ */
71
+ let ExecuteAIPromptAction = class ExecuteAIPromptAction extends actions_1.BaseAction {
72
+ /**
73
+ * Executes a MemberJunction AI prompt
74
+ *
75
+ * @param params - The action parameters containing:
76
+ * - PromptName: Name of the AI prompt to execute (required)
77
+ * - Variables: Object with variables for the prompt (optional)
78
+ * - ModelOverride: Override the default model (optional)
79
+ * - TemperatureOverride: Override temperature setting (optional)
80
+ * - MaxTokensOverride: Override max tokens (optional)
81
+ * - Stream: Boolean - stream responses (default: false)
82
+ * - SystemPromptOverride: Override system prompt (optional)
83
+ * - IncludeMetadata: Include prompt metadata in response (default: false)
84
+ *
85
+ * @returns AI prompt response
86
+ */
87
+ async InternalRunAction(params) {
88
+ try {
89
+ const promptName = this.getParamValue(params, 'promptname');
90
+ const variables = this.getParamValue(params, 'variables') || {};
91
+ const modelOverride = this.getParamValue(params, 'modeloverride');
92
+ const temperatureOverride = this.getParamValue(params, 'temperatureoverride');
93
+ const maxTokensOverride = this.getParamValue(params, 'maxtokensoverride');
94
+ const stream = this.getBooleanParam(params, 'stream', false);
95
+ const systemPromptOverride = this.getParamValue(params, 'systempromptoverride');
96
+ const includeMetadata = this.getBooleanParam(params, 'includemetadata', false);
97
+ // Validate prompt name
98
+ if (!promptName) {
99
+ return {
100
+ Success: false,
101
+ Message: "PromptName parameter is required",
102
+ ResultCode: "MISSING_PROMPT_NAME"
103
+ };
104
+ }
105
+ // Load the prompt
106
+ const prompt = await this.loadPrompt(promptName, params.ContextUser);
107
+ if (!prompt) {
108
+ return {
109
+ Success: false,
110
+ Message: `AI Prompt '${promptName}' not found`,
111
+ ResultCode: "PROMPT_NOT_FOUND"
112
+ };
113
+ }
114
+ // Check if prompt is active
115
+ if (prompt.Status !== 'Active') {
116
+ return {
117
+ Success: false,
118
+ Message: `AI Prompt '${promptName}' is not active (status: ${prompt.Status})`,
119
+ ResultCode: "PROMPT_NOT_ACTIVE"
120
+ };
121
+ }
122
+ // Prepare prompt configuration
123
+ const promptParams = new ai_prompts_1.AIPromptParams();
124
+ promptParams.prompt = prompt;
125
+ promptParams.data = variables;
126
+ promptParams.contextUser = params.ContextUser;
127
+ // Apply overrides if provided
128
+ if (modelOverride) {
129
+ // We'll need to handle model override through additionalParameters
130
+ promptParams.additionalParameters = promptParams.additionalParameters || {};
131
+ promptParams.additionalParameters.model = modelOverride;
132
+ }
133
+ if (temperatureOverride !== undefined && temperatureOverride !== null) {
134
+ promptParams.additionalParameters = promptParams.additionalParameters || {};
135
+ promptParams.additionalParameters.temperature = temperatureOverride;
136
+ }
137
+ if (maxTokensOverride) {
138
+ promptParams.additionalParameters = promptParams.additionalParameters || {};
139
+ promptParams.additionalParameters.max_tokens = maxTokensOverride;
140
+ }
141
+ if (systemPromptOverride) {
142
+ promptParams.additionalParameters = promptParams.additionalParameters || {};
143
+ promptParams.additionalParameters.system = systemPromptOverride;
144
+ }
145
+ // Execute the prompt
146
+ try {
147
+ const runner = new ai_prompts_1.AIPromptRunner();
148
+ const result = await runner.ExecutePrompt(promptParams);
149
+ if (!result.success) {
150
+ return {
151
+ Success: false,
152
+ Message: `Prompt execution failed: ${result.errorMessage || 'Unknown error'}`,
153
+ ResultCode: "PROMPT_EXECUTION_FAILED"
154
+ };
155
+ }
156
+ // Add output parameters
157
+ params.Params.push({
158
+ Name: 'Response',
159
+ Type: 'Output',
160
+ Value: result.rawResult || result.result
161
+ });
162
+ params.Params.push({
163
+ Name: 'Model',
164
+ Type: 'Output',
165
+ Value: result.modelInfo?.modelName || result.chatResult?.data?.model || modelOverride || prompt.AIModelType
166
+ });
167
+ params.Params.push({
168
+ Name: 'TokensUsed',
169
+ Type: 'Output',
170
+ Value: (result.promptTokens || 0) + (result.completionTokens || 0)
171
+ });
172
+ if (includeMetadata) {
173
+ params.Params.push({
174
+ Name: 'PromptMetadata',
175
+ Type: 'Output',
176
+ Value: {
177
+ promptId: prompt.ID,
178
+ promptName: prompt.Name,
179
+ promptType: prompt.Type,
180
+ model: result.modelInfo?.modelName || result.chatResult?.data?.model || modelOverride || prompt.AIModelType,
181
+ temperature: temperatureOverride !== undefined ? temperatureOverride : prompt.Temperature,
182
+ maxTokens: maxTokensOverride || null
183
+ }
184
+ });
185
+ }
186
+ // Build response message
187
+ const responseData = {
188
+ message: "AI prompt executed successfully",
189
+ promptName: promptName,
190
+ model: result.modelInfo?.modelName || result.chatResult?.data?.model || modelOverride || prompt.AIModelType,
191
+ tokensUsed: (result.promptTokens || 0) + (result.completionTokens || 0),
192
+ response: result.rawResult || result.result
193
+ };
194
+ if (includeMetadata) {
195
+ responseData.metadata = {
196
+ promptId: prompt.ID,
197
+ promptType: prompt.Type,
198
+ temperature: temperatureOverride !== undefined ? temperatureOverride : prompt.Temperature,
199
+ maxTokens: maxTokensOverride || null,
200
+ streaming: stream
201
+ };
202
+ }
203
+ return {
204
+ Success: true,
205
+ ResultCode: "PROMPT_EXECUTED",
206
+ Message: JSON.stringify(responseData, null, 2)
207
+ };
208
+ }
209
+ catch (error) {
210
+ return {
211
+ Success: false,
212
+ Message: `Failed to execute prompt: ${error instanceof Error ? error.message : String(error)}`,
213
+ ResultCode: "EXECUTION_ERROR"
214
+ };
215
+ }
216
+ }
217
+ catch (error) {
218
+ return {
219
+ Success: false,
220
+ Message: `Execute AI prompt failed: ${error instanceof Error ? error.message : String(error)}`,
221
+ ResultCode: "ACTION_FAILED"
222
+ };
223
+ }
224
+ }
225
+ /**
226
+ * Load AI prompt by name
227
+ */
228
+ async loadPrompt(promptName, contextUser) {
229
+ const rv = new core_1.RunView();
230
+ const result = await rv.RunView({
231
+ EntityName: 'AI Prompts',
232
+ ExtraFilter: `Name = '${promptName.replace(/'/g, "''")}'`,
233
+ MaxRows: 1,
234
+ ResultType: 'entity_object'
235
+ }, contextUser);
236
+ if (result.Success && result.Results && result.Results.length > 0) {
237
+ return result.Results[0];
238
+ }
239
+ return null;
240
+ }
241
+ /**
242
+ * Get boolean parameter with default
243
+ */
244
+ getBooleanParam(params, name, defaultValue) {
245
+ const value = this.getParamValue(params, name);
246
+ if (value === undefined || value === null)
247
+ return defaultValue;
248
+ if (typeof value === 'boolean')
249
+ return value;
250
+ if (typeof value === 'string') {
251
+ return value.toLowerCase() === 'true';
252
+ }
253
+ return defaultValue;
254
+ }
255
+ /**
256
+ * Get parameter value by name (case-insensitive)
257
+ */
258
+ getParamValue(params, name) {
259
+ const param = params.Params.find(p => p.Name.toLowerCase() === name.toLowerCase());
260
+ return param?.Value;
261
+ }
262
+ };
263
+ exports.ExecuteAIPromptAction = ExecuteAIPromptAction;
264
+ exports.ExecuteAIPromptAction = ExecuteAIPromptAction = __decorate([
265
+ (0, global_1.RegisterClass)(actions_1.BaseAction, "Execute AI Prompt")
266
+ ], ExecuteAIPromptAction);
267
+ /**
268
+ * Loader function to ensure the ExecuteAIPromptAction class is included in the bundle
269
+ */
270
+ function LoadExecuteAIPromptAction() {
271
+ // Stub function to prevent tree shaking
272
+ }
273
+ exports.LoadExecuteAIPromptAction = LoadExecuteAIPromptAction;
274
+ //# sourceMappingURL=execute-ai-prompt.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-ai-prompt.action.js","sourceRoot":"","sources":["../../../src/custom/ai/execute-ai-prompt.action.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,101 @@
1
+ import { ActionResultSimple, RunActionParams } from "@memberjunction/actions-base";
2
+ import { BaseAction } from "@memberjunction/actions";
3
+ /**
4
+ * Action that sends messages to Slack via incoming webhooks
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * // Simple text message
9
+ * await runAction({
10
+ * ActionName: 'Slack Webhook',
11
+ * Params: [{
12
+ * Name: 'WebhookURL',
13
+ * Value: 'https://hooks.slack.com/services/YOUR/WEBHOOK/URL'
14
+ * }, {
15
+ * Name: 'Message',
16
+ * Value: 'Hello from MemberJunction!'
17
+ * }]
18
+ * });
19
+ *
20
+ * // Rich message with blocks
21
+ * await runAction({
22
+ * ActionName: 'Slack Webhook',
23
+ * Params: [{
24
+ * Name: 'WebhookURL',
25
+ * Value: webhookUrl
26
+ * }, {
27
+ * Name: 'Blocks',
28
+ * Value: [
29
+ * {
30
+ * type: 'header',
31
+ * text: {
32
+ * type: 'plain_text',
33
+ * text: 'New Order Received'
34
+ * }
35
+ * },
36
+ * {
37
+ * type: 'section',
38
+ * text: {
39
+ * type: 'mrkdwn',
40
+ * text: `Order *#12345* from *John Doe*\nTotal: $99.99`
41
+ * }
42
+ * }
43
+ * ]
44
+ * }]
45
+ * });
46
+ *
47
+ * // With custom username and icon
48
+ * await runAction({
49
+ * ActionName: 'Slack Webhook',
50
+ * Params: [{
51
+ * Name: 'WebhookURL',
52
+ * Value: webhookUrl
53
+ * }, {
54
+ * Name: 'Message',
55
+ * Value: 'Deployment completed successfully!'
56
+ * }, {
57
+ * Name: 'Username',
58
+ * Value: 'Deploy Bot'
59
+ * }, {
60
+ * Name: 'IconEmoji',
61
+ * Value: ':rocket:'
62
+ * }]
63
+ * });
64
+ * ```
65
+ */
66
+ export declare class SlackWebhookAction extends BaseAction {
67
+ /**
68
+ * Sends messages to Slack via webhook
69
+ *
70
+ * @param params - The action parameters containing:
71
+ * - WebhookURL: Slack incoming webhook URL (required)
72
+ * - Message: Plain text message (required if no Blocks)
73
+ * - Blocks: Slack Block Kit blocks array (optional, overrides Message)
74
+ * - Username: Override webhook's default username (optional)
75
+ * - IconEmoji: Override webhook's default icon (optional, e.g., ':ghost:')
76
+ * - IconURL: Override webhook's default icon with URL (optional)
77
+ * - Channel: Override webhook's default channel (optional, may be disabled)
78
+ * - ThreadTS: Thread timestamp to reply to (optional)
79
+ * - Attachments: Legacy attachments array (optional)
80
+ *
81
+ * @returns Success confirmation
82
+ */
83
+ protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
84
+ /**
85
+ * Generate fallback text from blocks
86
+ */
87
+ private generateFallbackText;
88
+ /**
89
+ * Extract text from Slack text object
90
+ */
91
+ private extractText;
92
+ /**
93
+ * Get parameter value by name (case-insensitive)
94
+ */
95
+ private getParamValue;
96
+ }
97
+ /**
98
+ * Loader function to ensure the SlackWebhookAction class is included in the bundle
99
+ */
100
+ export declare function LoadSlackWebhookAction(): void;
101
+ //# sourceMappingURL=slack-webhook.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack-webhook.action.d.ts","sourceRoot":"","sources":["../../../src/custom/communication/slack-webhook.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAIrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH,qBACa,kBAAmB,SAAQ,UAAU;IAE9C;;;;;;;;;;;;;;;OAeG;cACa,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAsIvF;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAmB5B;;OAEG;IACH,OAAO,CAAC,WAAW;IAUnB;;OAEG;IACH,OAAO,CAAC,aAAa;CAIxB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,SAErC"}