@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.
- package/dist/custom/ai/execute-ai-prompt.action.d.ts +94 -0
- package/dist/custom/ai/execute-ai-prompt.action.d.ts.map +1 -0
- package/dist/custom/ai/execute-ai-prompt.action.js +274 -0
- package/dist/custom/ai/execute-ai-prompt.action.js.map +1 -0
- package/dist/custom/communication/slack-webhook.action.d.ts +101 -0
- package/dist/custom/communication/slack-webhook.action.d.ts.map +1 -0
- package/dist/custom/communication/slack-webhook.action.js +269 -0
- package/dist/custom/communication/slack-webhook.action.js.map +1 -0
- package/dist/custom/communication/teams-webhook.action.d.ts +96 -0
- package/dist/custom/communication/teams-webhook.action.d.ts.map +1 -0
- package/dist/custom/communication/teams-webhook.action.js +275 -0
- package/dist/custom/communication/teams-webhook.action.js.map +1 -0
- package/dist/custom/data/aggregate-data.action.d.ts +91 -0
- package/dist/custom/data/aggregate-data.action.d.ts.map +1 -0
- package/dist/custom/data/aggregate-data.action.js +333 -0
- package/dist/custom/data/aggregate-data.action.js.map +1 -0
- package/dist/custom/data/csv-parser.action.d.ts +68 -0
- package/dist/custom/data/csv-parser.action.d.ts.map +1 -0
- package/dist/custom/data/csv-parser.action.js +184 -0
- package/dist/custom/data/csv-parser.action.js.map +1 -0
- package/dist/custom/data/data-mapper.action.d.ts +89 -0
- package/dist/custom/data/data-mapper.action.d.ts.map +1 -0
- package/dist/custom/data/data-mapper.action.js +325 -0
- package/dist/custom/data/data-mapper.action.js.map +1 -0
- package/dist/custom/data/json-transform.action.d.ts +57 -0
- package/dist/custom/data/json-transform.action.d.ts.map +1 -0
- package/dist/custom/data/json-transform.action.js +205 -0
- package/dist/custom/data/json-transform.action.js.map +1 -0
- package/dist/custom/data/xml-parser.action.d.ts +85 -0
- package/dist/custom/data/xml-parser.action.d.ts.map +1 -0
- package/dist/custom/data/xml-parser.action.js +326 -0
- package/dist/custom/data/xml-parser.action.js.map +1 -0
- package/dist/custom/files/excel-reader.action.d.ts +86 -0
- package/dist/custom/files/excel-reader.action.d.ts.map +1 -0
- package/dist/custom/files/excel-reader.action.js +348 -0
- package/dist/custom/files/excel-reader.action.js.map +1 -0
- package/dist/custom/files/excel-writer.action.d.ts +79 -0
- package/dist/custom/files/excel-writer.action.d.ts.map +1 -0
- package/dist/custom/files/excel-writer.action.js +325 -0
- package/dist/custom/files/excel-writer.action.js.map +1 -0
- package/dist/custom/files/file-compress.action.d.ts +90 -0
- package/dist/custom/files/file-compress.action.d.ts.map +1 -0
- package/dist/custom/files/file-compress.action.js +346 -0
- package/dist/custom/files/file-compress.action.js.map +1 -0
- package/dist/custom/files/pdf-extractor.action.d.ts +86 -0
- package/dist/custom/files/pdf-extractor.action.d.ts.map +1 -0
- package/dist/custom/files/pdf-extractor.action.js +247 -0
- package/dist/custom/files/pdf-extractor.action.js.map +1 -0
- package/dist/custom/files/pdf-generator.action.d.ts +70 -0
- package/dist/custom/files/pdf-generator.action.d.ts.map +1 -0
- package/dist/custom/files/pdf-generator.action.js +286 -0
- package/dist/custom/files/pdf-generator.action.js.map +1 -0
- package/dist/custom/integration/api-rate-limiter.action.d.ts +88 -0
- package/dist/custom/integration/api-rate-limiter.action.d.ts.map +1 -0
- package/dist/custom/integration/api-rate-limiter.action.js +363 -0
- package/dist/custom/integration/api-rate-limiter.action.js.map +1 -0
- package/dist/custom/integration/graphql-query.action.d.ts +92 -0
- package/dist/custom/integration/graphql-query.action.d.ts.map +1 -0
- package/dist/custom/integration/graphql-query.action.js +251 -0
- package/dist/custom/integration/graphql-query.action.js.map +1 -0
- package/dist/custom/integration/http-request.action.d.ts +96 -0
- package/dist/custom/integration/http-request.action.d.ts.map +1 -0
- package/dist/custom/integration/http-request.action.js +316 -0
- package/dist/custom/integration/http-request.action.js.map +1 -0
- package/dist/custom/integration/oauth-flow.action.d.ts +130 -0
- package/dist/custom/integration/oauth-flow.action.d.ts.map +1 -0
- package/dist/custom/integration/oauth-flow.action.js +624 -0
- package/dist/custom/integration/oauth-flow.action.js.map +1 -0
- package/dist/custom/security/password-strength.action.d.ts +129 -0
- package/dist/custom/security/password-strength.action.d.ts.map +1 -0
- package/dist/custom/security/password-strength.action.js +463 -0
- package/dist/custom/security/password-strength.action.js.map +1 -0
- package/dist/custom/utilities/base-file-handler.d.ts +54 -0
- package/dist/custom/utilities/base-file-handler.d.ts.map +1 -0
- package/dist/custom/utilities/base-file-handler.js +167 -0
- package/dist/custom/utilities/base-file-handler.js.map +1 -0
- package/dist/custom/utilities/index.d.ts +3 -0
- package/dist/custom/utilities/index.d.ts.map +1 -0
- package/dist/custom/utilities/index.js +19 -0
- package/dist/custom/utilities/index.js.map +1 -0
- package/dist/custom/utilities/json-param-helper.d.ts +33 -0
- package/dist/custom/utilities/json-param-helper.d.ts.map +1 -0
- package/dist/custom/utilities/json-param-helper.js +66 -0
- package/dist/custom/utilities/json-param-helper.js.map +1 -0
- package/dist/custom/web/duckduckgo-rate-limiter.d.ts +72 -0
- package/dist/custom/web/duckduckgo-rate-limiter.d.ts.map +1 -0
- package/dist/custom/web/duckduckgo-rate-limiter.js +175 -0
- package/dist/custom/web/duckduckgo-rate-limiter.js.map +1 -0
- package/dist/custom/web/web-search.action.d.ts +1 -0
- package/dist/custom/web/web-search.action.d.ts.map +1 -1
- package/dist/custom/web/web-search.action.js +48 -20
- package/dist/custom/web/web-search.action.js.map +1 -1
- package/dist/custom/workflow/conditional.action.d.ts +94 -0
- package/dist/custom/workflow/conditional.action.d.ts.map +1 -0
- package/dist/custom/workflow/conditional.action.js +274 -0
- package/dist/custom/workflow/conditional.action.js.map +1 -0
- package/dist/custom/workflow/delay.action.d.ts +76 -0
- package/dist/custom/workflow/delay.action.d.ts.map +1 -0
- package/dist/custom/workflow/delay.action.js +187 -0
- package/dist/custom/workflow/delay.action.js.map +1 -0
- package/dist/custom/workflow/loop.action.d.ts +112 -0
- package/dist/custom/workflow/loop.action.d.ts.map +1 -0
- package/dist/custom/workflow/loop.action.js +380 -0
- package/dist/custom/workflow/loop.action.js.map +1 -0
- package/dist/custom/workflow/parallel-execute.action.d.ts +105 -0
- package/dist/custom/workflow/parallel-execute.action.d.ts.map +1 -0
- package/dist/custom/workflow/parallel-execute.action.js +457 -0
- package/dist/custom/workflow/parallel-execute.action.js.map +1 -0
- package/dist/custom/workflow/retry.action.d.ts +90 -0
- package/dist/custom/workflow/retry.action.d.ts.map +1 -0
- package/dist/custom/workflow/retry.action.js +378 -0
- package/dist/custom/workflow/retry.action.js.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +75 -0
- package/dist/index.js.map +1 -1
- package/package.json +25 -10
- 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":";;;;;;;;;AACA,mDAAuD;AACvD,qDAAqD;AACrD,+CAAyD;AAEzD,2DAA4E;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AAEI,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,oBAAU;IAEjD;;;;;;;;;;;;;;OAcG;IACO,KAAK,CAAC,iBAAiB,CAAC,MAAuB;QACrD,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;YAChE,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YAClE,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;YAC9E,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;YAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC7D,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;YAChF,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC;YAE/E,uBAAuB;YACvB,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,kCAAkC;oBAC3C,UAAU,EAAE,qBAAqB;iBACpC,CAAC;YACN,CAAC;YAED,kBAAkB;YAClB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YACrE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,cAAc,UAAU,aAAa;oBAC9C,UAAU,EAAE,kBAAkB;iBACjC,CAAC;YACN,CAAC;YAED,4BAA4B;YAC5B,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC7B,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,cAAc,UAAU,4BAA4B,MAAM,CAAC,MAAM,GAAG;oBAC7E,UAAU,EAAE,mBAAmB;iBAClC,CAAC;YACN,CAAC;YAED,+BAA+B;YAC/B,MAAM,YAAY,GAAG,IAAI,2BAAc,EAAE,CAAC;YAC1C,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC;YAC7B,YAAY,CAAC,IAAI,GAAG,SAAS,CAAC;YAC9B,YAAY,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;YAE9C,8BAA8B;YAC9B,IAAI,aAAa,EAAE,CAAC;gBAChB,mEAAmE;gBACnE,YAAY,CAAC,oBAAoB,GAAG,YAAY,CAAC,oBAAoB,IAAI,EAAE,CAAC;gBAC5E,YAAY,CAAC,oBAAoB,CAAC,KAAK,GAAG,aAAa,CAAC;YAC5D,CAAC;YAED,IAAI,mBAAmB,KAAK,SAAS,IAAI,mBAAmB,KAAK,IAAI,EAAE,CAAC;gBACpE,YAAY,CAAC,oBAAoB,GAAG,YAAY,CAAC,oBAAoB,IAAI,EAAE,CAAC;gBAC5E,YAAY,CAAC,oBAAoB,CAAC,WAAW,GAAG,mBAAmB,CAAC;YACxE,CAAC;YAED,IAAI,iBAAiB,EAAE,CAAC;gBACpB,YAAY,CAAC,oBAAoB,GAAG,YAAY,CAAC,oBAAoB,IAAI,EAAE,CAAC;gBAC5E,YAAY,CAAC,oBAAoB,CAAC,UAAU,GAAG,iBAAiB,CAAC;YACrE,CAAC;YAED,IAAI,oBAAoB,EAAE,CAAC;gBACvB,YAAY,CAAC,oBAAoB,GAAG,YAAY,CAAC,oBAAoB,IAAI,EAAE,CAAC;gBAC5E,YAAY,CAAC,oBAAoB,CAAC,MAAM,GAAG,oBAAoB,CAAC;YACpE,CAAC;YAED,qBAAqB;YACrB,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI,2BAAc,EAAE,CAAC;gBACpC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;gBAExD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBAClB,OAAO;wBACH,OAAO,EAAE,KAAK;wBACd,OAAO,EAAE,4BAA4B,MAAM,CAAC,YAAY,IAAI,eAAe,EAAE;wBAC7E,UAAU,EAAE,yBAAyB;qBACxC,CAAC;gBACN,CAAC;gBAED,wBAAwB;gBACxB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM;iBAC3C,CAAC,CAAC;gBAEH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,IAAI,aAAa,IAAI,MAAM,CAAC,WAAW;iBAC9G,CAAC,CAAC;gBAEH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;iBACrE,CAAC,CAAC;gBAEH,IAAI,eAAe,EAAE,CAAC;oBAClB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,gBAAgB;wBACtB,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE;4BACH,QAAQ,EAAE,MAAM,CAAC,EAAE;4BACnB,UAAU,EAAE,MAAM,CAAC,IAAI;4BACvB,UAAU,EAAE,MAAM,CAAC,IAAI;4BACvB,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,IAAI,aAAa,IAAI,MAAM,CAAC,WAAW;4BAC3G,WAAW,EAAE,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW;4BACzF,SAAS,EAAE,iBAAiB,IAAI,IAAI;yBACvC;qBACJ,CAAC,CAAC;gBACP,CAAC;gBAED,yBAAyB;gBACzB,MAAM,YAAY,GAAQ;oBACtB,OAAO,EAAE,iCAAiC;oBAC1C,UAAU,EAAE,UAAU;oBACtB,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,IAAI,aAAa,IAAI,MAAM,CAAC,WAAW;oBAC3G,UAAU,EAAE,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;oBACvE,QAAQ,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM;iBAC9C,CAAC;gBAEF,IAAI,eAAe,EAAE,CAAC;oBAClB,YAAY,CAAC,QAAQ,GAAG;wBACpB,QAAQ,EAAE,MAAM,CAAC,EAAE;wBACnB,UAAU,EAAE,MAAM,CAAC,IAAI;wBACvB,WAAW,EAAE,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW;wBACzF,SAAS,EAAE,iBAAiB,IAAI,IAAI;wBACpC,SAAS,EAAE,MAAM;qBACpB,CAAC;gBACN,CAAC;gBAED,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,iBAAiB;oBAC7B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;iBACjD,CAAC;YAEN,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;oBAC9F,UAAU,EAAE,iBAAiB;iBAChC,CAAC;YACN,CAAC;QAEL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBAC9F,UAAU,EAAE,eAAe;aAC9B,CAAC;QACN,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU,CAAC,UAAkB,EAAE,WAAiB;QAC1D,MAAM,EAAE,GAAG,IAAI,cAAO,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAiB;YAC5C,UAAU,EAAE,YAAY;YACxB,WAAW,EAAE,WAAW,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG;YACzD,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,eAAe;SAC9B,EAAE,WAAW,CAAC,CAAC;QAEhB,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,MAAuB,EAAE,IAAY,EAAE,YAAqB;QAChF,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,YAAY,CAAC;QAC/D,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;QAC1C,CAAC;QACD,OAAO,YAAY,CAAC;IACxB,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,MAAuB,EAAE,IAAY;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACnF,OAAO,KAAK,EAAE,KAAK,CAAC;IACxB,CAAC;CACJ,CAAA;AApNY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,sBAAa,EAAC,oBAAU,EAAE,mBAAmB,CAAC;GAClC,qBAAqB,CAoNjC;AAED;;GAEG;AACH,SAAgB,yBAAyB;IACrC,wCAAwC;AAC5C,CAAC;AAFD,8DAEC"}
|
|
@@ -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"}
|