@memberjunction/core-actions 2.107.0 → 2.108.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 (79) hide show
  1. package/dist/custom/ai/find-best-agent.action.d.ts +53 -0
  2. package/dist/custom/ai/find-best-agent.action.d.ts.map +1 -0
  3. package/dist/custom/ai/find-best-agent.action.js +194 -0
  4. package/dist/custom/ai/find-best-agent.action.js.map +1 -0
  5. package/dist/custom/ai/summarize-content.action.d.ts +3 -3
  6. package/dist/custom/ai/summarize-content.action.d.ts.map +1 -1
  7. package/dist/custom/ai/summarize-content.action.js +51 -143
  8. package/dist/custom/ai/summarize-content.action.js.map +1 -1
  9. package/dist/custom/code-execution/execute-code.action.d.ts +61 -0
  10. package/dist/custom/code-execution/execute-code.action.d.ts.map +1 -0
  11. package/dist/custom/code-execution/execute-code.action.js +172 -0
  12. package/dist/custom/code-execution/execute-code.action.js.map +1 -0
  13. package/dist/custom/data/csv-parser.action.js +1 -1
  14. package/dist/custom/data/csv-parser.action.js.map +1 -1
  15. package/dist/custom/data/execute-research-query.action.d.ts +36 -18
  16. package/dist/custom/data/execute-research-query.action.d.ts.map +1 -1
  17. package/dist/custom/data/execute-research-query.action.js +221 -114
  18. package/dist/custom/data/execute-research-query.action.js.map +1 -1
  19. package/dist/custom/data/explore-database-schema.action.d.ts +4 -0
  20. package/dist/custom/data/explore-database-schema.action.d.ts.map +1 -1
  21. package/dist/custom/data/explore-database-schema.action.js +101 -8
  22. package/dist/custom/data/explore-database-schema.action.js.map +1 -1
  23. package/dist/custom/data/get-entity-details.action.d.ts +63 -0
  24. package/dist/custom/data/get-entity-details.action.d.ts.map +1 -0
  25. package/dist/custom/data/get-entity-details.action.js +284 -0
  26. package/dist/custom/data/get-entity-details.action.js.map +1 -0
  27. package/dist/custom/data/get-entity-list.action.d.ts +57 -0
  28. package/dist/custom/data/get-entity-list.action.d.ts.map +1 -0
  29. package/dist/custom/data/get-entity-list.action.js +177 -0
  30. package/dist/custom/data/get-entity-list.action.js.map +1 -0
  31. package/dist/custom/visualization/create-svg-chart.action.d.ts +97 -0
  32. package/dist/custom/visualization/create-svg-chart.action.d.ts.map +1 -0
  33. package/dist/custom/visualization/create-svg-chart.action.js +290 -0
  34. package/dist/custom/visualization/create-svg-chart.action.js.map +1 -0
  35. package/dist/custom/visualization/create-svg-diagram.action.d.ts +151 -0
  36. package/dist/custom/visualization/create-svg-diagram.action.d.ts.map +1 -0
  37. package/dist/custom/visualization/create-svg-diagram.action.js +764 -0
  38. package/dist/custom/visualization/create-svg-diagram.action.js.map +1 -0
  39. package/dist/custom/visualization/create-svg-infographic.action.d.ts +72 -0
  40. package/dist/custom/visualization/create-svg-infographic.action.d.ts.map +1 -0
  41. package/dist/custom/visualization/create-svg-infographic.action.js +343 -0
  42. package/dist/custom/visualization/create-svg-infographic.action.js.map +1 -0
  43. package/dist/custom/visualization/create-svg-network.action.d.ts +106 -0
  44. package/dist/custom/visualization/create-svg-network.action.d.ts.map +1 -0
  45. package/dist/custom/visualization/create-svg-network.action.js +651 -0
  46. package/dist/custom/visualization/create-svg-network.action.js.map +1 -0
  47. package/dist/custom/visualization/create-svg-word-cloud.action.d.ts +94 -0
  48. package/dist/custom/visualization/create-svg-word-cloud.action.d.ts.map +1 -0
  49. package/dist/custom/visualization/create-svg-word-cloud.action.js +422 -0
  50. package/dist/custom/visualization/create-svg-word-cloud.action.js.map +1 -0
  51. package/dist/custom/visualization/shared/svg-theming.d.ts +91 -0
  52. package/dist/custom/visualization/shared/svg-theming.d.ts.map +1 -0
  53. package/dist/custom/visualization/shared/svg-theming.js +235 -0
  54. package/dist/custom/visualization/shared/svg-theming.js.map +1 -0
  55. package/dist/custom/visualization/shared/svg-types.d.ts +338 -0
  56. package/dist/custom/visualization/shared/svg-types.d.ts.map +1 -0
  57. package/dist/custom/visualization/shared/svg-types.js +11 -0
  58. package/dist/custom/visualization/shared/svg-types.js.map +1 -0
  59. package/dist/custom/visualization/shared/svg-utils.d.ts +129 -0
  60. package/dist/custom/visualization/shared/svg-utils.d.ts.map +1 -0
  61. package/dist/custom/visualization/shared/svg-utils.js +287 -0
  62. package/dist/custom/visualization/shared/svg-utils.js.map +1 -0
  63. package/dist/custom/web/google-custom-search.action.d.ts +6 -1
  64. package/dist/custom/web/google-custom-search.action.d.ts.map +1 -1
  65. package/dist/custom/web/google-custom-search.action.js +78 -10
  66. package/dist/custom/web/google-custom-search.action.js.map +1 -1
  67. package/dist/custom/web/web-page-content.action.d.ts +24 -0
  68. package/dist/custom/web/web-page-content.action.d.ts.map +1 -1
  69. package/dist/custom/web/web-page-content.action.js +90 -9
  70. package/dist/custom/web/web-page-content.action.js.map +1 -1
  71. package/dist/generated/action_subclasses.d.ts +10 -10
  72. package/dist/generated/action_subclasses.d.ts.map +1 -1
  73. package/dist/generated/action_subclasses.js +29 -29
  74. package/dist/generated/action_subclasses.js.map +1 -1
  75. package/dist/index.d.ts +10 -0
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +28 -0
  78. package/dist/index.js.map +1 -1
  79. package/package.json +29 -12
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Execute Code Action
3
+ *
4
+ * Thin wrapper action that exposes code execution capabilities to AI agents and workflows.
5
+ * Delegates all logic to CodeExecutionService following MJ's pattern of Actions as boundaries.
6
+ *
7
+ * @module @memberjunction/core-actions
8
+ */
9
+ import { BaseAction } from '@memberjunction/actions';
10
+ import { RunActionParams, ActionResultSimple } from '@memberjunction/actions-base';
11
+ /**
12
+ * Action for executing JavaScript code in a sandboxed environment
13
+ *
14
+ * This is a THIN WRAPPER - all core logic lives in CodeExecutionService.
15
+ * The action's job is simply to:
16
+ * 1. Extract parameters from the action interface
17
+ * 2. Delegate to CodeExecutionService
18
+ * 3. Map results back to ActionResultSimple
19
+ *
20
+ * Security is enforced entirely by CodeExecutionService.
21
+ *
22
+ * @example Agent usage:
23
+ * ```json
24
+ * {
25
+ * "type": "Action",
26
+ * "action": {
27
+ * "name": "Execute Code",
28
+ * "params": {
29
+ * "code": "const sum = input.values.reduce((a,b) => a+b, 0); output = sum;",
30
+ * "language": "javascript",
31
+ * "inputData": "{\"values\": [1,2,3,4,5]}"
32
+ * }
33
+ * }
34
+ * }
35
+ * ```
36
+ */
37
+ export declare class ExecuteCodeAction extends BaseAction {
38
+ /**
39
+ * Execute the action by delegating to CodeExecutionService
40
+ *
41
+ * @param params - Action parameters including code, language, inputData
42
+ * @returns ActionResultSimple with execution results or errors
43
+ */
44
+ protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
45
+ /**
46
+ * Helper to get string parameter from action params
47
+ * @private
48
+ */
49
+ private getStringParam;
50
+ /**
51
+ * Helper to get numeric parameter from action params
52
+ * @private
53
+ */
54
+ private getNumericParam;
55
+ /**
56
+ * Helper to add output parameter to action results
57
+ * @private
58
+ */
59
+ private addOutputParam;
60
+ }
61
+ //# sourceMappingURL=execute-code.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-code.action.d.ts","sourceRoot":"","sources":["../../../src/custom/code-execution/execute-code.action.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAQnF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBACa,iBAAkB,SAAQ,UAAU;IAC7C;;;;;OAKG;cACa,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAqFvF;;;OAGG;IACH,OAAO,CAAC,cAAc;IAStB;;;OAGG;IACH,OAAO,CAAC,eAAe;IASvB;;;OAGG;IACH,OAAO,CAAC,cAAc;CAOzB"}
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+ /**
3
+ * Execute Code Action
4
+ *
5
+ * Thin wrapper action that exposes code execution capabilities to AI agents and workflows.
6
+ * Delegates all logic to CodeExecutionService following MJ's pattern of Actions as boundaries.
7
+ *
8
+ * @module @memberjunction/core-actions
9
+ */
10
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
11
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
12
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
13
+ 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;
14
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.ExecuteCodeAction = void 0;
18
+ const actions_1 = require("@memberjunction/actions");
19
+ const global_1 = require("@memberjunction/global");
20
+ const code_execution_1 = require("@memberjunction/code-execution");
21
+ const core_1 = require("@memberjunction/core");
22
+ /**
23
+ * Action for executing JavaScript code in a sandboxed environment
24
+ *
25
+ * This is a THIN WRAPPER - all core logic lives in CodeExecutionService.
26
+ * The action's job is simply to:
27
+ * 1. Extract parameters from the action interface
28
+ * 2. Delegate to CodeExecutionService
29
+ * 3. Map results back to ActionResultSimple
30
+ *
31
+ * Security is enforced entirely by CodeExecutionService.
32
+ *
33
+ * @example Agent usage:
34
+ * ```json
35
+ * {
36
+ * "type": "Action",
37
+ * "action": {
38
+ * "name": "Execute Code",
39
+ * "params": {
40
+ * "code": "const sum = input.values.reduce((a,b) => a+b, 0); output = sum;",
41
+ * "language": "javascript",
42
+ * "inputData": "{\"values\": [1,2,3,4,5]}"
43
+ * }
44
+ * }
45
+ * }
46
+ * ```
47
+ */
48
+ let ExecuteCodeAction = class ExecuteCodeAction extends actions_1.BaseAction {
49
+ /**
50
+ * Execute the action by delegating to CodeExecutionService
51
+ *
52
+ * @param params - Action parameters including code, language, inputData
53
+ * @returns ActionResultSimple with execution results or errors
54
+ */
55
+ async InternalRunAction(params) {
56
+ try {
57
+ // 1. Extract parameters (this is all the action does besides delegation)
58
+ const code = this.getStringParam(params, "code");
59
+ const language = this.getStringParam(params, "language", "javascript");
60
+ const inputDataStr = this.getStringParam(params, "inputData");
61
+ const timeout = this.getNumericParam(params, "timeout", 30);
62
+ const memoryLimit = this.getNumericParam(params, "memoryLimit", 128);
63
+ // Validate required parameters
64
+ if (!code) {
65
+ return {
66
+ Success: false,
67
+ ResultCode: "MISSING_CODE",
68
+ Message: "Parameter 'code' is required"
69
+ };
70
+ }
71
+ // Parse input data if provided
72
+ let inputData = undefined;
73
+ if (inputDataStr) {
74
+ try {
75
+ inputData = JSON.parse(inputDataStr);
76
+ }
77
+ catch (parseError) {
78
+ return {
79
+ Success: false,
80
+ ResultCode: "INVALID_INPUT_DATA",
81
+ Message: `Failed to parse inputData as JSON: ${parseError instanceof Error ? parseError.message : String(parseError)}`
82
+ };
83
+ }
84
+ }
85
+ // 2. Delegate to service (DIRECT IMPORT - not another action!)
86
+ const executionService = new code_execution_1.CodeExecutionService();
87
+ const executionParams = {
88
+ code,
89
+ language,
90
+ inputData,
91
+ timeoutSeconds: timeout,
92
+ memoryLimitMB: memoryLimit
93
+ };
94
+ const result = await executionService.execute(executionParams);
95
+ // 3. Map results to action format
96
+ if (!result.success) {
97
+ return {
98
+ Success: false,
99
+ ResultCode: result.errorType || "EXECUTION_FAILED",
100
+ Message: result.error || "Code execution failed"
101
+ };
102
+ }
103
+ // Add output parameters for agents to use
104
+ if (result.output !== undefined) {
105
+ this.addOutputParam(params, "output", result.output);
106
+ }
107
+ if (result.logs && result.logs.length > 0) {
108
+ this.addOutputParam(params, "logs", result.logs);
109
+ }
110
+ if (result.executionTimeMs !== undefined) {
111
+ this.addOutputParam(params, "executionTimeMs", result.executionTimeMs);
112
+ }
113
+ return {
114
+ Success: true,
115
+ ResultCode: "SUCCESS",
116
+ Message: JSON.stringify({
117
+ output: result.output,
118
+ logs: result.logs,
119
+ executionTimeMs: result.executionTimeMs
120
+ })
121
+ };
122
+ }
123
+ catch (error) {
124
+ (0, core_1.LogError)(`Error in ExecuteCodeAction: ${error}`);
125
+ return {
126
+ Success: false,
127
+ ResultCode: "UNEXPECTED_ERROR",
128
+ Message: error instanceof Error ? error.message : String(error)
129
+ };
130
+ }
131
+ }
132
+ /**
133
+ * Helper to get string parameter from action params
134
+ * @private
135
+ */
136
+ getStringParam(params, name, defaultValue) {
137
+ const param = params.Params.find(p => p.Name.trim().toLowerCase() === name.toLowerCase());
138
+ if (!param || param.Value === undefined || param.Value === null) {
139
+ return defaultValue;
140
+ }
141
+ const value = String(param.Value).trim();
142
+ return value.length > 0 ? value : defaultValue;
143
+ }
144
+ /**
145
+ * Helper to get numeric parameter from action params
146
+ * @private
147
+ */
148
+ getNumericParam(params, name, defaultValue) {
149
+ const param = params.Params.find(p => p.Name.trim().toLowerCase() === name.toLowerCase());
150
+ if (!param || param.Value === undefined || param.Value === null) {
151
+ return defaultValue;
152
+ }
153
+ const parsed = Number(param.Value);
154
+ return isNaN(parsed) ? defaultValue : parsed;
155
+ }
156
+ /**
157
+ * Helper to add output parameter to action results
158
+ * @private
159
+ */
160
+ addOutputParam(params, name, value) {
161
+ params.Params.push({
162
+ Name: name,
163
+ Type: "Output",
164
+ Value: value
165
+ });
166
+ }
167
+ };
168
+ exports.ExecuteCodeAction = ExecuteCodeAction;
169
+ exports.ExecuteCodeAction = ExecuteCodeAction = __decorate([
170
+ (0, global_1.RegisterClass)(actions_1.BaseAction, "Execute Code")
171
+ ], ExecuteCodeAction);
172
+ //# sourceMappingURL=execute-code.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-code.action.js","sourceRoot":"","sources":["../../../src/custom/code-execution/execute-code.action.ts"],"names":[],"mappings":"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"}
@@ -127,7 +127,7 @@ let CSVParserAction = class CSVParserAction extends base_file_handler_1.BaseFile
127
127
  skipEmptyLines: skipEmptyRows ? 'greedy' : false,
128
128
  dynamicTyping: dynamicTyping,
129
129
  preview: maxRows > 0 ? maxRows : undefined,
130
- transformValue: (value) => {
130
+ transform: (value, field) => {
131
131
  return trimValues ? value.trim() : value;
132
132
  }
133
133
  });
@@ -1 +1 @@
1
- {"version":3,"file":"csv-parser.action.js","sourceRoot":"","sources":["../../../src/custom/data/csv-parser.action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"csv-parser.action.js","sourceRoot":"","sources":["../../../src/custom/data/csv-parser.action.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,9 @@ import { ActionResultSimple, RunActionParams } from "@memberjunction/actions-bas
2
2
  import { BaseAction } from "@memberjunction/actions";
3
3
  /**
4
4
  * Action that executes read-only SQL SELECT queries for research purposes with
5
- * comprehensive security validation.
5
+ * security validation.
6
6
  *
7
7
  * Security Features:
8
- * - SQL syntax validation using node-sql-parser
9
8
  * - SELECT-only enforcement (rejects INSERT, UPDATE, DELETE, DROP, etc.)
10
9
  * - Dangerous operation detection (EXEC, xp_, sp_, dynamic SQL, etc.)
11
10
  * - Query timeout protection
@@ -14,10 +13,12 @@ import { BaseAction } from "@memberjunction/actions";
14
13
  *
15
14
  * Performance Features:
16
15
  * - Configurable row limits to prevent overwhelming results
17
- * - Optional execution plan for performance analysis
18
16
  * - Execution time tracking
19
17
  * - Validation warnings for potentially slow queries
20
18
  *
19
+ * Note: SQL syntax validation is handled by SQL Server during execution.
20
+ * This provides more accurate error messages than a JavaScript parser.
21
+ *
21
22
  * @example
22
23
  * ```typescript
23
24
  * // Simple SELECT query
@@ -25,11 +26,11 @@ import { BaseAction } from "@memberjunction/actions";
25
26
  * ActionName: 'Execute Research Query',
26
27
  * Params: [{
27
28
  * Name: 'Query',
28
- * Value: 'SELECT TOP 100 * FROM Customers WHERE Country = @Country'
29
+ * Value: 'SELECT TOP 100 * FROM Customers WHERE Country = ''USA'''
29
30
  * }]
30
31
  * });
31
32
  *
32
- * // Query with timeout and execution plan
33
+ * // Query with timeout
33
34
  * await runAction({
34
35
  * ActionName: 'Execute Research Query',
35
36
  * Params: [{
@@ -38,15 +39,11 @@ import { BaseAction } from "@memberjunction/actions";
38
39
  * }, {
39
40
  * Name: 'Timeout',
40
41
  * Value: 60
41
- * }, {
42
- * Name: 'IncludeExecutionPlan',
43
- * Value: true
44
42
  * }]
45
43
  * });
46
44
  * ```
47
45
  */
48
46
  export declare class ExecuteResearchQueryAction extends BaseAction {
49
- private readonly parser;
50
47
  /**
51
48
  * List of dangerous SQL keywords and patterns that should be blocked
52
49
  */
@@ -56,10 +53,6 @@ export declare class ExecuteResearchQueryAction extends BaseAction {
56
53
  * Validates query for security concerns
57
54
  */
58
55
  private validateQuerySecurity;
59
- /**
60
- * Validates SQL syntax using node-sql-parser
61
- */
62
- private validateQuerySyntax;
63
56
  /**
64
57
  * Ensures query has a row limit to prevent overwhelming results
65
58
  */
@@ -69,13 +62,38 @@ export declare class ExecuteResearchQueryAction extends BaseAction {
69
62
  */
70
63
  private generateValidationWarnings;
71
64
  /**
72
- * Formats results as CSV string
65
+ * Formats results as CSV string with proper escaping
66
+ * @param results Array of result objects
67
+ * @param columnMaxLength Optional maximum length for column values (0 = no limit)
73
68
  */
74
69
  private formatAsCSV;
75
70
  /**
76
- * Formats results as ASCII table
71
+ * Formats a single CSV row (for headers)
72
+ */
73
+ private formatCSVRow;
74
+ /**
75
+ * Formats a single CSV value with proper escaping
76
+ * - Null/undefined values become empty strings
77
+ * - All string values are quoted and escaped
78
+ * - Numbers and booleans are converted to strings and quoted
79
+ */
80
+ private formatCSVValue;
81
+ /**
82
+ * Trims columns in result set to maximum length
83
+ * Used for JSON format results to prevent verbose fields from overwhelming context
84
+ * @param results Array of result objects
85
+ * @param maxLength Maximum length for string values
86
+ * @returns New array with trimmed values
87
+ */
88
+ private trimResultColumns;
89
+ /**
90
+ * Analyze query data using AI prompt
91
+ */
92
+ private analyzeQueryData;
93
+ /**
94
+ * Get prompt by name and category from AIEngine
77
95
  */
78
- private formatAsTable;
96
+ private getPromptByNameAndCategory;
79
97
  /**
80
98
  * Helper to get string parameter value
81
99
  */
@@ -85,9 +103,9 @@ export declare class ExecuteResearchQueryAction extends BaseAction {
85
103
  */
86
104
  private getNumericParam;
87
105
  /**
88
- * Helper to get boolean parameter value
106
+ * Build detailed message with query results for agent consumption
89
107
  */
90
- private getBooleanParam;
108
+ private buildDetailedMessage;
91
109
  }
92
110
  /**
93
111
  * Load function to ensure the class is registered and not tree-shaken
@@ -1 +1 @@
1
- {"version":3,"file":"execute-research-query.action.d.ts","sourceRoot":"","sources":["../../../src/custom/data/execute-research-query.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAMrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,qBACa,0BAA2B,SAAQ,UAAU;IAEtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IAEvC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAwBjC;cAEc,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAiKvF;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA4B7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAiBtB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA8BlC;;OAEG;IACH,OAAO,CAAC,WAAW;IAuBnB;;OAEG;IACH,OAAO,CAAC,aAAa;IA4BrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAQtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAYvB;;OAEG;IACH,OAAO,CAAC,eAAe;CAY1B;AAED;;GAEG;AACH,wBAAgB,8BAA8B,SAE7C"}
1
+ {"version":3,"file":"execute-research-query.action.d.ts","sourceRoot":"","sources":["../../../src/custom/data/execute-research-query.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AASrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,qBACa,0BAA2B,SAAQ,UAAU;IAEtD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAwBjC;cAEc,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAoLvF;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA4B7B;;OAEG;IACH,OAAO,CAAC,cAAc;IAiBtB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA8BlC;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAwBnB;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAetB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAczB;;OAEG;YACW,gBAAgB;IA2D9B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAOlC;;OAEG;IACH,OAAO,CAAC,cAAc;IAQtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAYvB;;OAEG;IACH,OAAO,CAAC,oBAAoB;CA2E/B;AAED;;GAEG;AACH,wBAAgB,8BAA8B,SAE7C"}