@memberjunction/core-actions 2.112.0 → 2.113.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 (94) hide show
  1. package/dist/config.d.ts.map +1 -1
  2. package/dist/config.js +7 -11
  3. package/dist/config.js.map +1 -1
  4. package/dist/custom/ai/execute-ai-prompt.action.d.ts +2 -2
  5. package/dist/custom/ai/execute-ai-prompt.action.d.ts.map +1 -1
  6. package/dist/custom/ai/execute-ai-prompt.action.js +22 -22
  7. package/dist/custom/ai/execute-ai-prompt.action.js.map +1 -1
  8. package/dist/custom/ai/find-best-action.action.d.ts +53 -0
  9. package/dist/custom/ai/find-best-action.action.d.ts.map +1 -0
  10. package/dist/custom/ai/find-best-action.action.js +211 -0
  11. package/dist/custom/ai/find-best-action.action.js.map +1 -0
  12. package/dist/custom/ai/find-best-agent.action.d.ts +53 -0
  13. package/dist/custom/ai/find-best-agent.action.d.ts.map +1 -0
  14. package/dist/custom/ai/find-best-agent.action.js +195 -0
  15. package/dist/custom/ai/find-best-agent.action.js.map +1 -0
  16. package/dist/custom/ai/find-candidate-actions.action.d.ts +2 -2
  17. package/dist/custom/ai/find-candidate-actions.action.d.ts.map +1 -1
  18. package/dist/custom/ai/find-candidate-actions.action.js +21 -21
  19. package/dist/custom/ai/find-candidate-actions.action.js.map +1 -1
  20. package/dist/custom/ai/summarize-content.action.d.ts +2 -2
  21. package/dist/custom/ai/summarize-content.action.d.ts.map +1 -1
  22. package/dist/custom/ai/summarize-content.action.js +50 -51
  23. package/dist/custom/ai/summarize-content.action.js.map +1 -1
  24. package/dist/custom/code-execution/execute-code.action.d.ts.map +1 -1
  25. package/dist/custom/code-execution/execute-code.action.js +27 -27
  26. package/dist/custom/code-execution/execute-code.action.js.map +1 -1
  27. package/dist/custom/communication/send-single-message.action.d.ts.map +1 -1
  28. package/dist/custom/communication/send-single-message.action.js +21 -10
  29. package/dist/custom/communication/send-single-message.action.js.map +1 -1
  30. package/dist/custom/crud/base-record-mutation.action.d.ts +3 -3
  31. package/dist/custom/crud/base-record-mutation.action.d.ts.map +1 -1
  32. package/dist/custom/crud/base-record-mutation.action.js +32 -28
  33. package/dist/custom/crud/base-record-mutation.action.js.map +1 -1
  34. package/dist/custom/crud/update-record.action.d.ts +2 -2
  35. package/dist/custom/crud/update-record.action.d.ts.map +1 -1
  36. package/dist/custom/crud/update-record.action.js +7 -7
  37. package/dist/custom/crud/update-record.action.js.map +1 -1
  38. package/dist/custom/data/execute-research-query.action.d.ts +2 -2
  39. package/dist/custom/data/execute-research-query.action.d.ts.map +1 -1
  40. package/dist/custom/data/execute-research-query.action.js +56 -52
  41. package/dist/custom/data/execute-research-query.action.js.map +1 -1
  42. package/dist/custom/data/explore-database-schema.action.d.ts +2 -2
  43. package/dist/custom/data/explore-database-schema.action.d.ts.map +1 -1
  44. package/dist/custom/data/explore-database-schema.action.js +51 -50
  45. package/dist/custom/data/explore-database-schema.action.js.map +1 -1
  46. package/dist/custom/data/get-entity-details.action.d.ts +2 -2
  47. package/dist/custom/data/get-entity-details.action.d.ts.map +1 -1
  48. package/dist/custom/data/get-entity-details.action.js +39 -30
  49. package/dist/custom/data/get-entity-details.action.js.map +1 -1
  50. package/dist/custom/data/get-entity-list.action.d.ts +2 -2
  51. package/dist/custom/data/get-entity-list.action.d.ts.map +1 -1
  52. package/dist/custom/data/get-entity-list.action.js +25 -25
  53. package/dist/custom/data/get-entity-list.action.js.map +1 -1
  54. package/dist/custom/files/base-file-storage.action.d.ts +5 -5
  55. package/dist/custom/files/base-file-storage.action.d.ts.map +1 -1
  56. package/dist/custom/files/base-file-storage.action.js +12 -12
  57. package/dist/custom/files/base-file-storage.action.js.map +1 -1
  58. package/dist/custom/files/list-storage-providers.action.d.ts +2 -2
  59. package/dist/custom/files/list-storage-providers.action.d.ts.map +1 -1
  60. package/dist/custom/files/list-storage-providers.action.js +22 -22
  61. package/dist/custom/files/list-storage-providers.action.js.map +1 -1
  62. package/dist/custom/user-management/assign-user-roles.action.d.ts +1 -1
  63. package/dist/custom/user-management/assign-user-roles.action.d.ts.map +1 -1
  64. package/dist/custom/user-management/assign-user-roles.action.js +27 -29
  65. package/dist/custom/user-management/assign-user-roles.action.js.map +1 -1
  66. package/dist/custom/user-management/check-user-permission.action.d.ts +1 -1
  67. package/dist/custom/user-management/check-user-permission.action.d.ts.map +1 -1
  68. package/dist/custom/user-management/check-user-permission.action.js +26 -25
  69. package/dist/custom/user-management/check-user-permission.action.js.map +1 -1
  70. package/dist/custom/user-management/create-employee.action.d.ts +2 -2
  71. package/dist/custom/user-management/create-employee.action.d.ts.map +1 -1
  72. package/dist/custom/user-management/create-employee.action.js +25 -25
  73. package/dist/custom/user-management/create-employee.action.js.map +1 -1
  74. package/dist/custom/user-management/create-user.action.d.ts +2 -2
  75. package/dist/custom/user-management/create-user.action.d.ts.map +1 -1
  76. package/dist/custom/user-management/create-user.action.js +23 -23
  77. package/dist/custom/user-management/create-user.action.js.map +1 -1
  78. package/dist/custom/utilities/base-file-handler.d.ts +2 -2
  79. package/dist/custom/utilities/base-file-handler.d.ts.map +1 -1
  80. package/dist/custom/utilities/base-file-handler.js +11 -11
  81. package/dist/custom/utilities/base-file-handler.js.map +1 -1
  82. package/dist/custom/utilities/external-change-detection.action.d.ts +2 -2
  83. package/dist/custom/utilities/external-change-detection.action.d.ts.map +1 -1
  84. package/dist/custom/utilities/external-change-detection.action.js +11 -11
  85. package/dist/custom/utilities/external-change-detection.action.js.map +1 -1
  86. package/dist/custom/utilities/vectorize-entity.action.d.ts +2 -2
  87. package/dist/custom/utilities/vectorize-entity.action.d.ts.map +1 -1
  88. package/dist/custom/utilities/vectorize-entity.action.js +9 -9
  89. package/dist/custom/utilities/vectorize-entity.action.js.map +1 -1
  90. package/dist/generated/action_subclasses.d.ts +5 -5
  91. package/dist/generated/action_subclasses.d.ts.map +1 -1
  92. package/dist/generated/action_subclasses.js +64 -64
  93. package/dist/generated/action_subclasses.js.map +1 -1
  94. package/package.json +17 -16
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseRecordMutationAction = void 0;
4
4
  const actions_1 = require("@memberjunction/actions");
5
- const global_1 = require("@memberjunction/global");
5
+ const core_1 = require("@memberjunction/core");
6
6
  /**
7
7
  * Abstract base class for record mutation actions (Create, Update, Delete).
8
8
  * This class provides common functionality for validating parameters,
@@ -15,14 +15,14 @@ class BaseRecordMutationAction extends actions_1.BaseAction {
15
15
  * Extract and validate the EntityName parameter
16
16
  */
17
17
  getEntityNameParam(params) {
18
- const entityNameParam = params.Params.find((p) => p.Name.trim().toLowerCase() === 'entityname');
18
+ const entityNameParam = params.Params.find(p => p.Name.trim().toLowerCase() === 'entityname');
19
19
  if (!entityNameParam || !entityNameParam.Value) {
20
20
  return {
21
21
  error: {
22
22
  Success: false,
23
23
  ResultCode: 'VALIDATION_ERROR',
24
- Message: 'EntityName parameter is required',
25
- },
24
+ Message: 'EntityName parameter is required'
25
+ }
26
26
  };
27
27
  }
28
28
  return { value: entityNameParam.Value };
@@ -31,14 +31,14 @@ class BaseRecordMutationAction extends actions_1.BaseAction {
31
31
  * Extract and validate the PrimaryKey parameter
32
32
  */
33
33
  getPrimaryKeyParam(params) {
34
- const primaryKeyParam = params.Params.find((p) => p.Name.trim().toLowerCase() === 'primarykey');
34
+ const primaryKeyParam = params.Params.find(p => p.Name.trim().toLowerCase() === 'primarykey');
35
35
  if (!primaryKeyParam || !primaryKeyParam.Value) {
36
36
  return {
37
37
  error: {
38
38
  Success: false,
39
39
  ResultCode: 'VALIDATION_ERROR',
40
- Message: 'PrimaryKey parameter is required',
41
- },
40
+ Message: 'PrimaryKey parameter is required'
41
+ }
42
42
  };
43
43
  }
44
44
  return { value: primaryKeyParam.Value };
@@ -47,14 +47,14 @@ class BaseRecordMutationAction extends actions_1.BaseAction {
47
47
  * Extract and validate the Fields parameter
48
48
  */
49
49
  getFieldsParam(params) {
50
- const fieldsParam = params.Params.find((p) => p.Name.trim().toLowerCase() === 'fields');
50
+ const fieldsParam = params.Params.find(p => p.Name.trim().toLowerCase() === 'fields');
51
51
  if (!fieldsParam || !fieldsParam.Value) {
52
52
  return {
53
53
  error: {
54
54
  Success: false,
55
55
  ResultCode: 'VALIDATION_ERROR',
56
- Message: 'Fields parameter is required',
57
- },
56
+ Message: 'Fields parameter is required'
57
+ }
58
58
  };
59
59
  }
60
60
  return { value: fieldsParam.Value };
@@ -63,15 +63,15 @@ class BaseRecordMutationAction extends actions_1.BaseAction {
63
63
  * Get entity metadata and create entity object
64
64
  */
65
65
  async getEntityObject(entityName, contextUser) {
66
- const md = new global_1.Metadata();
66
+ const md = new core_1.Metadata();
67
67
  const entityInfo = md.EntityByName(entityName);
68
68
  if (!entityInfo) {
69
69
  return {
70
70
  error: {
71
71
  Success: false,
72
72
  ResultCode: 'ENTITY_NOT_FOUND',
73
- Message: `Entity '${entityName}' not found in metadata`,
74
- },
73
+ Message: `Entity '${entityName}' not found in metadata`
74
+ }
75
75
  };
76
76
  }
77
77
  const entity = await md.GetEntityObject(entityName, contextUser);
@@ -80,8 +80,8 @@ class BaseRecordMutationAction extends actions_1.BaseAction {
80
80
  error: {
81
81
  Success: false,
82
82
  ResultCode: 'FAILED',
83
- Message: `Failed to create entity object for '${entityName}'`,
84
- },
83
+ Message: `Failed to create entity object for '${entityName}'`
84
+ }
85
85
  };
86
86
  }
87
87
  return { entity, entityInfo };
@@ -99,21 +99,22 @@ class BaseRecordMutationAction extends actions_1.BaseAction {
99
99
  error: {
100
100
  Success: false,
101
101
  ResultCode: 'VALIDATION_ERROR',
102
- Message: `Primary key field '${pk.Name}' not provided`,
103
- },
102
+ Message: `Primary key field '${pk.Name}' not provided`
103
+ }
104
104
  };
105
105
  }
106
106
  keyData[pk.Name] = primaryKey[pk.Name];
107
107
  }
108
108
  // Load the record using LoadFromData which works for both single and composite keys
109
- const pkey = global_1.CompositeKey.FromObject(keyData);
109
+ const pkey = core_1.CompositeKey.FromObject(keyData);
110
110
  const loadResult = await entity.InnerLoad(pkey);
111
111
  if (!loadResult) {
112
112
  // Check if it's a permission issue or record not found
113
113
  const latestResult = entity.LatestResult;
114
114
  let resultCode = 'RECORD_NOT_FOUND';
115
115
  let message = `${entityName} record not found`;
116
- if (latestResult?.Message?.toLowerCase().includes('permission') || latestResult?.Message?.toLowerCase().includes('denied')) {
116
+ if (latestResult?.Message?.toLowerCase().includes('permission') ||
117
+ latestResult?.Message?.toLowerCase().includes('denied')) {
117
118
  resultCode = 'PERMISSION_DENIED';
118
119
  message = `Permission denied accessing ${entityName} record`;
119
120
  }
@@ -122,8 +123,8 @@ class BaseRecordMutationAction extends actions_1.BaseAction {
122
123
  error: {
123
124
  Success: false,
124
125
  ResultCode: resultCode,
125
- Message: message,
126
- },
126
+ Message: message
127
+ }
127
128
  };
128
129
  }
129
130
  return { success: true };
@@ -137,7 +138,7 @@ class BaseRecordMutationAction extends actions_1.BaseAction {
137
138
  entity.Set(fieldName, fieldValue);
138
139
  }
139
140
  else {
140
- (0, global_1.LogError)(`Field '${fieldName}' does not exist on entity '${entityName}'`);
141
+ (0, core_1.LogError)(`Field '${fieldName}' does not exist on entity '${entityName}'`);
141
142
  }
142
143
  }
143
144
  }
@@ -153,14 +154,17 @@ class BaseRecordMutationAction extends actions_1.BaseAction {
153
154
  message += `: ${latestResult.Message}`;
154
155
  }
155
156
  // Check for specific error types
156
- if (latestResult.Message?.toLowerCase().includes('permission') || latestResult.Message?.toLowerCase().includes('denied')) {
157
+ if (latestResult.Message?.toLowerCase().includes('permission') ||
158
+ latestResult.Message?.toLowerCase().includes('denied')) {
157
159
  resultCode = 'PERMISSION_DENIED';
158
160
  }
159
- else if (latestResult.Message?.toLowerCase().includes('validation') || latestResult.Message?.toLowerCase().includes('required')) {
161
+ else if (latestResult.Message?.toLowerCase().includes('validation') ||
162
+ latestResult.Message?.toLowerCase().includes('required')) {
160
163
  resultCode = 'VALIDATION_ERROR';
161
164
  }
162
165
  else if (operation === 'update' &&
163
- (latestResult.Message?.toLowerCase().includes('concurrent') || latestResult.Message?.toLowerCase().includes('modified'))) {
166
+ (latestResult.Message?.toLowerCase().includes('concurrent') ||
167
+ latestResult.Message?.toLowerCase().includes('modified'))) {
164
168
  resultCode = 'CONCURRENT_UPDATE';
165
169
  }
166
170
  else if (operation === 'delete') {
@@ -179,18 +183,18 @@ class BaseRecordMutationAction extends actions_1.BaseAction {
179
183
  return {
180
184
  Success: false,
181
185
  ResultCode: resultCode,
182
- Message: message,
186
+ Message: message
183
187
  };
184
188
  }
185
189
  /**
186
190
  * Handle generic errors with consistent formatting
187
191
  */
188
192
  handleError(e, operation) {
189
- (0, global_1.LogError)(e);
193
+ (0, core_1.LogError)(e);
190
194
  return {
191
195
  Success: false,
192
196
  ResultCode: 'FAILED',
193
- Message: `Error ${operation} record: ${e.message}`,
197
+ Message: `Error ${operation} record: ${e.message}`
194
198
  };
195
199
  }
196
200
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base-record-mutation.action.js","sourceRoot":"","sources":["../../../src/custom/crud/base-record-mutation.action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-record-mutation.action.js","sourceRoot":"","sources":["../../../src/custom/crud/base-record-mutation.action.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { ActionResultSimple, RunActionParams } from '@memberjunction/actions-base';
2
- import { BaseRecordMutationAction } from './base-record-mutation.action';
1
+ import { ActionResultSimple, RunActionParams } from "@memberjunction/actions-base";
2
+ import { BaseRecordMutationAction } from "./base-record-mutation.action";
3
3
  /**
4
4
  * Generic action for updating existing entity records in the database.
5
5
  * This action provides a flexible way to update records for any entity type
@@ -1 +1 @@
1
- {"version":3,"file":"update-record.action.d.ts","sourceRoot":"","sources":["../../../src/custom/crud/update-record.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGnF,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAGzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBACa,kBAAmB,SAAQ,wBAAwB;IAC9D;;;;;;;;;;;;;;OAcG;IACG,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA8E9E;AAED,wBAAgB,sBAAsB,SAGrC"}
1
+ {"version":3,"file":"update-record.action.d.ts","sourceRoot":"","sources":["../../../src/custom/crud/update-record.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGnF,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAGzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBACa,kBAAmB,SAAQ,wBAAwB;IAC5D;;;;;;;;;;;;;;OAcG;IACG,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA+EhF;AAED,wBAAgB,sBAAsB,SAGrC"}
@@ -8,7 +8,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.LoadUpdateRecordAction = exports.UpdateRecordAction = void 0;
10
10
  const global_1 = require("@memberjunction/global");
11
- const global_2 = require("@memberjunction/global");
11
+ const core_1 = require("@memberjunction/core");
12
12
  const base_record_mutation_action_1 = require("./base-record-mutation.action");
13
13
  const actions_1 = require("@memberjunction/actions");
14
14
  /**
@@ -93,13 +93,13 @@ let UpdateRecordAction = class UpdateRecordAction extends base_record_mutation_a
93
93
  entity.Set(fieldName, fieldValue);
94
94
  updatedFields[fieldName] = {
95
95
  oldValue: currentValue,
96
- newValue: fieldValue,
96
+ newValue: fieldValue
97
97
  };
98
98
  hasChanges = true;
99
99
  }
100
100
  }
101
101
  else {
102
- (0, global_2.LogError)(`Field '${fieldName}' does not exist on entity '${entityName}'`);
102
+ (0, core_1.LogError)(`Field '${fieldName}' does not exist on entity '${entityName}'`);
103
103
  }
104
104
  }
105
105
  // Check if there are any changes to save
@@ -107,7 +107,7 @@ let UpdateRecordAction = class UpdateRecordAction extends base_record_mutation_a
107
107
  return {
108
108
  Success: true,
109
109
  ResultCode: 'NO_CHANGES',
110
- Message: 'No fields were modified',
110
+ Message: 'No fields were modified'
111
111
  };
112
112
  }
113
113
  // Save the record
@@ -117,13 +117,13 @@ let UpdateRecordAction = class UpdateRecordAction extends base_record_mutation_a
117
117
  params.Params.push({
118
118
  Name: 'UpdatedFields',
119
119
  Value: updatedFields,
120
- Type: 'Output',
120
+ Type: 'Output'
121
121
  });
122
122
  return {
123
123
  Success: true,
124
124
  ResultCode: 'SUCCESS',
125
125
  Message: `Successfully updated ${entityName} record`,
126
- Params: params.Params,
126
+ Params: params.Params
127
127
  };
128
128
  }
129
129
  else {
@@ -137,7 +137,7 @@ let UpdateRecordAction = class UpdateRecordAction extends base_record_mutation_a
137
137
  };
138
138
  exports.UpdateRecordAction = UpdateRecordAction;
139
139
  exports.UpdateRecordAction = UpdateRecordAction = __decorate([
140
- (0, global_1.RegisterClass)(actions_1.BaseAction, 'UpdateRecordAction')
140
+ (0, global_1.RegisterClass)(actions_1.BaseAction, "UpdateRecordAction")
141
141
  ], UpdateRecordAction);
142
142
  function LoadUpdateRecordAction() {
143
143
  // This function exists to prevent tree shaking from removing the action class
@@ -1 +1 @@
1
- {"version":3,"file":"update-record.action.js","sourceRoot":"","sources":["../../../src/custom/crud/update-record.action.ts"],"names":[],"mappings":";;;;;;;;;AACA,mDAAuD;AACvD,mDAAkD;AAClD,+EAAyE;AACzE,qDAAqD;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEI,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,sDAAwB;IAC9D;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAAuB;QAC7C,IAAI,CAAC;YACH,qBAAqB;YACrB,MAAM,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACzD,IAAI,gBAAgB,CAAC,KAAK;gBAAE,OAAO,gBAAgB,CAAC,KAAK,CAAC;YAC1D,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAM,CAAC;YAE3C,MAAM,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACzD,IAAI,gBAAgB,CAAC,KAAK;gBAAE,OAAO,gBAAgB,CAAC,KAAK,CAAC;YAC1D,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAM,CAAC;YAE3C,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,YAAY,CAAC,KAAK;gBAAE,OAAO,YAAY,CAAC,KAAK,CAAC;YAClD,MAAM,MAAM,GAAG,YAAY,CAAC,KAAM,CAAC;YAEnC,iCAAiC;YACjC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAChF,IAAI,YAAY,CAAC,KAAK;gBAAE,OAAO,YAAY,CAAC,KAAK,CAAC;YAClD,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;YAE5C,2BAA2B;YAC3B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAO,EAAE,UAAW,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YACvF,IAAI,CAAC,UAAU,CAAC,OAAO;gBAAE,OAAO,UAAU,CAAC,KAAM,CAAC;YAElD,gDAAgD;YAChD,MAAM,aAAa,GAAqD,EAAE,CAAC;YAC3E,IAAI,UAAU,GAAG,KAAK,CAAC;YAEvB,uBAAuB;YACvB,KAAK,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7D,IAAI,SAAS,IAAI,MAAO,EAAE,CAAC;oBACzB,MAAM,YAAY,GAAG,MAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC5C,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;wBAChC,MAAO,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;wBACnC,aAAa,CAAC,SAAS,CAAC,GAAG;4BACzB,QAAQ,EAAE,YAAY;4BACtB,QAAQ,EAAE,UAAU;yBACrB,CAAC;wBACF,UAAU,GAAG,IAAI,CAAC;oBACpB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAA,iBAAQ,EAAC,UAAU,SAAS,+BAA+B,UAAU,GAAG,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;YAED,yCAAyC;YACzC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,YAAY;oBACxB,OAAO,EAAE,yBAAyB;iBACnC,CAAC;YACJ,CAAC;YAED,kBAAkB;YAClB,MAAM,UAAU,GAAG,MAAM,MAAO,CAAC,IAAI,EAAE,CAAC;YAExC,IAAI,UAAU,EAAE,CAAC;gBACf,+CAA+C;gBAC/C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;oBACjB,IAAI,EAAE,eAAe;oBACrB,KAAK,EAAE,aAAa;oBACpB,IAAI,EAAE,QAAQ;iBACf,CAAC,CAAC;gBAEH,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,SAAS;oBACrB,OAAO,EAAE,wBAAwB,UAAU,SAAS;oBACpD,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;CACF,CAAA;AA9FY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,sBAAa,EAAC,oBAAU,EAAE,oBAAoB,CAAC;GACnC,kBAAkB,CA8F9B;AAED,SAAgB,sBAAsB;IACpC,8EAA8E;IAC9E,iFAAiF;AACnF,CAAC;AAHD,wDAGC"}
1
+ {"version":3,"file":"update-record.action.js","sourceRoot":"","sources":["../../../src/custom/crud/update-record.action.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { ActionResultSimple, RunActionParams } from '@memberjunction/actions-base';
2
- import { BaseAction } from '@memberjunction/actions';
1
+ import { ActionResultSimple, RunActionParams } from "@memberjunction/actions-base";
2
+ import { BaseAction } from "@memberjunction/actions";
3
3
  /**
4
4
  * Action that executes read-only SQL SELECT queries for research purposes with
5
5
  * security validation.
@@ -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;AASrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,qBACa,0BAA2B,SAAQ,UAAU;IACxD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAwBjC;cAEc,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA8KvF;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA+B7B;;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;IA0D9B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAOlC;;OAEG;IACH,OAAO,CAAC,cAAc;IAKtB;;OAEG;IACH,OAAO,CAAC,eAAe;IASvB;;OAEG;IACH,OAAO,CAAC,oBAAoB;CA0E7B;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"}
@@ -10,7 +10,7 @@ exports.LoadExecuteResearchQueryAction = exports.ExecuteResearchQueryAction = vo
10
10
  const global_1 = require("@memberjunction/global");
11
11
  const actions_1 = require("@memberjunction/actions");
12
12
  const global_2 = require("@memberjunction/global");
13
- const global_3 = require("@memberjunction/global");
13
+ const core_1 = require("@memberjunction/core");
14
14
  const ai_prompts_1 = require("@memberjunction/ai-prompts");
15
15
  const ai_core_plus_1 = require("@memberjunction/ai-core-plus");
16
16
  const aiengine_1 = require("@memberjunction/aiengine");
@@ -84,56 +84,57 @@ let ExecuteResearchQueryAction = class ExecuteResearchQueryAction extends action
84
84
  /\bSHUTDOWN\b/i,
85
85
  /\bDBCC\b/i,
86
86
  /--\+/, // SQL hints
87
- /\/\*\+/, // Oracle-style hints
87
+ /\/\*\+/ // Oracle-style hints
88
88
  ];
89
89
  async InternalRunAction(params) {
90
90
  const startTime = Date.now();
91
91
  try {
92
92
  // Extract parameters
93
- const query = this.getStringParam(params, 'query');
93
+ const query = this.getStringParam(params, "query");
94
94
  if (!query) {
95
95
  return {
96
96
  Success: false,
97
- ResultCode: 'MISSING_QUERY',
98
- Message: 'Query parameter is required',
97
+ ResultCode: "MISSING_QUERY",
98
+ Message: "Query parameter is required"
99
99
  };
100
100
  }
101
- const maxRows = this.getNumericParam(params, 'maxrows', 1000);
102
- const timeout = this.getNumericParam(params, 'timeout', 30);
103
- const dataFormat = this.getStringParam(params, 'dataformat') || 'csv';
104
- const analysisRequest = this.getStringParam(params, 'analysisrequest');
105
- const returnType = this.getStringParam(params, 'returntype') || (analysisRequest ? 'data and analysis' : 'data only');
106
- const columnMaxLength = this.getNumericParam(params, 'columnmaxlength', 50); // Default: 50 chars, 0 = no limit
101
+ const maxRows = this.getNumericParam(params, "maxrows", 1000);
102
+ const timeout = this.getNumericParam(params, "timeout", 30);
103
+ const dataFormat = this.getStringParam(params, "dataformat") || 'csv';
104
+ const analysisRequest = this.getStringParam(params, "analysisrequest");
105
+ const returnType = this.getStringParam(params, "returntype") ||
106
+ (analysisRequest ? 'data and analysis' : 'data only');
107
+ const columnMaxLength = this.getNumericParam(params, "columnmaxlength", 50); // Default: 50 chars, 0 = no limit
107
108
  // Validate query security
108
109
  const securityValidation = this.validateQuerySecurity(query);
109
110
  if (!securityValidation.isValid) {
110
111
  return {
111
112
  Success: false,
112
113
  ResultCode: securityValidation.resultCode,
113
- Message: securityValidation.message,
114
+ Message: securityValidation.message
114
115
  };
115
116
  }
116
117
  // Ensure query returns limited results
117
118
  const limitedQuery = this.ensureRowLimit(query, maxRows);
118
- const dataProvider = global_3.BaseEntity.Provider;
119
+ const dataProvider = core_1.BaseEntity.Provider;
119
120
  try {
120
121
  // Execute the query with timeout
121
122
  const queryStartTime = Date.now();
122
- const results = (await Promise.race([
123
+ const results = await Promise.race([
123
124
  dataProvider.ExecuteSQL(limitedQuery, null, {
124
125
  description: 'Execute Research Query',
125
126
  ignoreLogging: false,
126
- isMutation: false,
127
+ isMutation: false
127
128
  }, params.ContextUser),
128
- new Promise((_, reject) => setTimeout(() => reject(new Error('Query timeout exceeded')), timeout * 1000)),
129
- ]));
129
+ new Promise((_, reject) => setTimeout(() => reject(new Error('Query timeout exceeded')), timeout * 1000))
130
+ ]);
130
131
  const executionTimeMs = Date.now() - queryStartTime;
131
132
  // Get column metadata
132
133
  const columns = results && results.columns
133
134
  ? Object.entries(results.columns).map(([name, col]) => ({
134
135
  ColumnName: name,
135
136
  DataType: col.type?.name || 'unknown',
136
- IsNullable: col.nullable !== false,
137
+ IsNullable: col.nullable !== false
137
138
  }))
138
139
  : [];
139
140
  const wasTruncated = results.length >= maxRows;
@@ -145,7 +146,9 @@ let ExecuteResearchQueryAction = class ExecuteResearchQueryAction extends action
145
146
  formattedData = this.formatAsCSV(results, columnMaxLength);
146
147
  }
147
148
  else if (dataFormat === 'json') {
148
- const trimmedResults = columnMaxLength > 0 ? this.trimResultColumns(results, columnMaxLength) : results;
149
+ const trimmedResults = columnMaxLength > 0
150
+ ? this.trimResultColumns(results, columnMaxLength)
151
+ : results;
149
152
  formattedData = JSON.stringify(trimmedResults, null, 2);
150
153
  }
151
154
  // Perform analysis if requested
@@ -161,7 +164,7 @@ let ExecuteResearchQueryAction = class ExecuteResearchQueryAction extends action
161
164
  analysis = analysisResult.analysis;
162
165
  }
163
166
  else {
164
- (0, global_3.LogError)(`Failed to analyze query data: ${analysisResult.error}`);
167
+ (0, core_1.LogError)(`Failed to analyze query data: ${analysisResult.error}`);
165
168
  }
166
169
  }
167
170
  }
@@ -171,7 +174,7 @@ let ExecuteResearchQueryAction = class ExecuteResearchQueryAction extends action
171
174
  // Build result object based on return type
172
175
  const resultData = {
173
176
  Success: true,
174
- ResultCode: 'SUCCESS',
177
+ ResultCode: "SUCCESS",
175
178
  Message: message,
176
179
  Columns: columns,
177
180
  RowCount: results.length,
@@ -179,7 +182,7 @@ let ExecuteResearchQueryAction = class ExecuteResearchQueryAction extends action
179
182
  TotalTimeMs: totalExecutionTime,
180
183
  WasTruncated: wasTruncated,
181
184
  ValidationWarnings: warnings,
182
- Query: limitedQuery,
185
+ Query: limitedQuery
183
186
  };
184
187
  // Add data and/or analysis to results based on returnType
185
188
  if (returnType === 'data only' || returnType === 'data and analysis') {
@@ -195,24 +198,25 @@ let ExecuteResearchQueryAction = class ExecuteResearchQueryAction extends action
195
198
  if (queryError.message && queryError.message.includes('timeout')) {
196
199
  return {
197
200
  Success: false,
198
- ResultCode: 'QUERY_TIMEOUT',
199
- Message: `Query execution exceeded ${timeout} second timeout. Consider optimizing query or increasing timeout parameter.`,
201
+ ResultCode: "QUERY_TIMEOUT",
202
+ Message: `Query execution exceeded ${timeout} second timeout. Consider optimizing query or increasing timeout parameter.`
200
203
  };
201
204
  }
202
205
  // Handle permission errors
203
206
  if (queryError.message &&
204
- (queryError.message.toLowerCase().includes('permission') || queryError.message.toLowerCase().includes('denied'))) {
207
+ (queryError.message.toLowerCase().includes('permission') ||
208
+ queryError.message.toLowerCase().includes('denied'))) {
205
209
  return {
206
210
  Success: false,
207
- ResultCode: 'PERMISSION_DENIED',
208
- Message: `Insufficient permissions to execute query: ${queryError.message}`,
211
+ ResultCode: "PERMISSION_DENIED",
212
+ Message: `Insufficient permissions to execute query: ${queryError.message}`
209
213
  };
210
214
  }
211
215
  // Handle other database errors
212
216
  return {
213
217
  Success: false,
214
- ResultCode: 'DATABASE_ERROR',
215
- Message: `Database error occurred: ${queryError.message || String(queryError)}`,
218
+ ResultCode: "DATABASE_ERROR",
219
+ Message: `Database error occurred: ${queryError.message || String(queryError)}`
216
220
  };
217
221
  }
218
222
  }
@@ -220,8 +224,8 @@ let ExecuteResearchQueryAction = class ExecuteResearchQueryAction extends action
220
224
  const errorMessage = error instanceof Error ? error.message : String(error);
221
225
  return {
222
226
  Success: false,
223
- ResultCode: 'QUERY_EXECUTION_FAILED',
224
- Message: `Query execution failed: ${errorMessage}`,
227
+ ResultCode: "QUERY_EXECUTION_FAILED",
228
+ Message: `Query execution failed: ${errorMessage}`
225
229
  };
226
230
  }
227
231
  }
@@ -235,22 +239,19 @@ let ExecuteResearchQueryAction = class ExecuteResearchQueryAction extends action
235
239
  return {
236
240
  isValid: false,
237
241
  message: `Query contains potentially dangerous operation: ${pattern.source}. Only SELECT queries are allowed.`,
238
- resultCode: 'DANGEROUS_QUERY',
242
+ resultCode: 'DANGEROUS_QUERY'
239
243
  };
240
244
  }
241
245
  }
242
246
  // Check if query starts with SELECT (allowing for whitespace and comments)
243
247
  const trimmedQuery = query.trim();
244
- const cleanQuery = trimmedQuery
245
- .replace(/^\/\*[\s\S]*?\*\//, '')
246
- .replace(/^--.*$/gm, '')
247
- .trim();
248
- if (!cleanQuery.toUpperCase().startsWith('SELECT') && !cleanQuery.toUpperCase().startsWith('WITH')) {
249
- // Allow CTEs
248
+ const cleanQuery = trimmedQuery.replace(/^\/\*[\s\S]*?\*\//, '').replace(/^--.*$/gm, '').trim();
249
+ if (!cleanQuery.toUpperCase().startsWith('SELECT') &&
250
+ !cleanQuery.toUpperCase().startsWith('WITH')) { // Allow CTEs
250
251
  return {
251
252
  isValid: false,
252
253
  message: 'Only SELECT queries are allowed. Query must start with SELECT or WITH (for Common Table Expressions).',
253
- resultCode: 'NOT_SELECT_STATEMENT',
254
+ resultCode: 'NOT_SELECT_STATEMENT'
254
255
  };
255
256
  }
256
257
  return { isValid: true };
@@ -309,7 +310,7 @@ let ExecuteResearchQueryAction = class ExecuteResearchQueryAction extends action
309
310
  const headers = Object.keys(results[0]);
310
311
  const csvRows = [this.formatCSVRow(headers)];
311
312
  for (const row of results) {
312
- const values = headers.map((header) => {
313
+ const values = headers.map(header => {
313
314
  let value = row[header];
314
315
  // Apply column length limit if specified
315
316
  if (columnMaxLength > 0 && value != null) {
@@ -328,7 +329,7 @@ let ExecuteResearchQueryAction = class ExecuteResearchQueryAction extends action
328
329
  * Formats a single CSV row (for headers)
329
330
  */
330
331
  formatCSVRow(values) {
331
- return values.map((value) => this.formatCSVValue(value)).join(',');
332
+ return values.map(value => this.formatCSVValue(value)).join(',');
332
333
  }
333
334
  /**
334
335
  * Formats a single CSV value with proper escaping
@@ -355,7 +356,7 @@ let ExecuteResearchQueryAction = class ExecuteResearchQueryAction extends action
355
356
  * @returns New array with trimmed values
356
357
  */
357
358
  trimResultColumns(results, maxLength) {
358
- return results.map((row) => {
359
+ return results.map(row => {
359
360
  const trimmedRow = {};
360
361
  for (const [key, value] of Object.entries(row)) {
361
362
  if (value != null && typeof value === 'string' && value.length > maxLength) {
@@ -380,7 +381,7 @@ let ExecuteResearchQueryAction = class ExecuteResearchQueryAction extends action
380
381
  if (!prompt) {
381
382
  return {
382
383
  success: false,
383
- error: "Prompt 'Analyze Query Data' not found. Ensure metadata has been synced.",
384
+ error: "Prompt 'Analyze Query Data' not found. Ensure metadata has been synced."
384
385
  };
385
386
  }
386
387
  // Format data as CSV for more efficient token usage
@@ -393,7 +394,7 @@ let ExecuteResearchQueryAction = class ExecuteResearchQueryAction extends action
393
394
  data: dataCSV,
394
395
  columns: columns,
395
396
  rowCount: results.length,
396
- analysisRequest: analysisRequest,
397
+ analysisRequest: analysisRequest
397
398
  };
398
399
  promptParams.contextUser = params.ContextUser;
399
400
  // Execute the prompt
@@ -402,18 +403,18 @@ let ExecuteResearchQueryAction = class ExecuteResearchQueryAction extends action
402
403
  if (!result.success) {
403
404
  return {
404
405
  success: false,
405
- error: result.errorMessage || 'Prompt execution failed',
406
+ error: result.errorMessage || "Prompt execution failed"
406
407
  };
407
408
  }
408
409
  return {
409
410
  success: true,
410
- analysis: result.result?.analysis || String(result.result),
411
+ analysis: result.result?.analysis || String(result.result)
411
412
  };
412
413
  }
413
414
  catch (error) {
414
415
  return {
415
416
  success: false,
416
- error: error instanceof Error ? error.message : String(error),
417
+ error: error instanceof Error ? error.message : String(error)
417
418
  };
418
419
  }
419
420
  }
@@ -421,20 +422,23 @@ let ExecuteResearchQueryAction = class ExecuteResearchQueryAction extends action
421
422
  * Get prompt by name and category from AIEngine
422
423
  */
423
424
  getPromptByNameAndCategory(name, category) {
424
- return aiengine_1.AIEngine.Instance.Prompts.find((p) => p.Name.trim().toLowerCase() === name.trim().toLowerCase() && p.Category?.trim().toLowerCase() === category?.trim().toLowerCase());
425
+ return aiengine_1.AIEngine.Instance.Prompts.find(p => p.Name.trim().toLowerCase() === name.trim().toLowerCase() &&
426
+ p.Category?.trim().toLowerCase() === category?.trim().toLowerCase());
425
427
  }
426
428
  /**
427
429
  * Helper to get string parameter value
428
430
  */
429
431
  getStringParam(params, paramName) {
430
- const param = params.Params.find((p) => p.Name.toLowerCase() === paramName.toLowerCase() && p.Type === 'Input');
432
+ const param = params.Params.find(p => p.Name.toLowerCase() === paramName.toLowerCase() &&
433
+ p.Type === 'Input');
431
434
  return param?.Value ? String(param.Value) : undefined;
432
435
  }
433
436
  /**
434
437
  * Helper to get numeric parameter value
435
438
  */
436
439
  getNumericParam(params, paramName, defaultValue) {
437
- const param = params.Params.find((p) => p.Name.toLowerCase() === paramName.toLowerCase() && p.Type === 'Input');
440
+ const param = params.Params.find(p => p.Name.toLowerCase() === paramName.toLowerCase() &&
441
+ p.Type === 'Input');
438
442
  if (param?.Value != null) {
439
443
  const num = Number(param.Value);
440
444
  return isNaN(num) ? defaultValue : num;
@@ -504,13 +508,13 @@ let ExecuteResearchQueryAction = class ExecuteResearchQueryAction extends action
504
508
  };
505
509
  exports.ExecuteResearchQueryAction = ExecuteResearchQueryAction;
506
510
  exports.ExecuteResearchQueryAction = ExecuteResearchQueryAction = __decorate([
507
- (0, global_1.RegisterClass)(actions_1.BaseAction, 'Execute Research Query')
511
+ (0, global_1.RegisterClass)(actions_1.BaseAction, "Execute Research Query")
508
512
  ], ExecuteResearchQueryAction);
509
513
  /**
510
514
  * Load function to ensure the class is registered and not tree-shaken
511
515
  */
512
516
  function LoadExecuteResearchQueryAction() {
513
- global_2.MJGlobal.Instance.ClassFactory.GetRegistration(actions_1.BaseAction, 'Execute Research Query');
517
+ global_2.MJGlobal.Instance.ClassFactory.GetRegistration(actions_1.BaseAction, "Execute Research Query");
514
518
  }
515
519
  exports.LoadExecuteResearchQueryAction = LoadExecuteResearchQueryAction;
516
520
  //# sourceMappingURL=execute-research-query.action.js.map