@memberjunction/ai-agents 2.59.0 → 2.60.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.
@@ -1 +1 @@
1
- {"version":3,"file":"AgentRunner.d.ts","sourceRoot":"","sources":["../src/AgentRunner.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAsBtF,qBAAa,WAAW;IAgBP,QAAQ,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;CA4CzG"}
1
+ {"version":3,"file":"AgentRunner.d.ts","sourceRoot":"","sources":["../src/AgentRunner.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAsBtF,qBAAa,WAAW;IAgBP,QAAQ,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;CAiDzG"}
@@ -8,14 +8,22 @@ const base_agent_1 = require("./base-agent");
8
8
  class AgentRunner {
9
9
  async RunAgent(params) {
10
10
  try {
11
- (0, core_1.LogStatus)(`AgentRunner: Starting execution for agent: ${params.agent.Name} (ID: ${params.agent.ID})`);
11
+ (0, core_1.LogStatusEx)({
12
+ message: `AgentRunner: Starting execution for agent: ${params.agent.Name} (ID: ${params.agent.ID})`,
13
+ verboseOnly: true,
14
+ isVerboseEnabled: () => params.verbose === true || (0, core_1.IsVerboseLoggingEnabled)()
15
+ });
12
16
  await aiengine_1.AIEngine.Instance.Config(false, params.contextUser);
13
17
  const agentType = aiengine_1.AIEngine.Instance.AgentTypes.find(at => at.ID === params.agent.TypeID);
14
18
  if (!agentType) {
15
19
  throw new Error(`Agent type not found for ID: ${params.agent.TypeID}`);
16
20
  }
17
21
  const driverClass = params.agent.DriverClass || agentType.DriverClass;
18
- (0, core_1.LogStatus)(`AgentRunner: Using driver class: ${driverClass}`);
22
+ (0, core_1.LogStatusEx)({
23
+ message: `AgentRunner: Using driver class: ${driverClass}`,
24
+ verboseOnly: true,
25
+ isVerboseEnabled: () => params.verbose === true || (0, core_1.IsVerboseLoggingEnabled)()
26
+ });
19
27
  const agentInstance = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(base_agent_1.BaseAgent, driverClass);
20
28
  if (!agentInstance) {
21
29
  throw new Error(`Failed to create agent instance for driver class: ${driverClass}`);
@@ -27,10 +35,7 @@ class AgentRunner {
27
35
  (0, core_1.LogError)(`AgentRunner execution failed: ${errorMessage}`, undefined, error);
28
36
  return {
29
37
  success: false,
30
- finalStep: 'failed',
31
- errorMessage,
32
38
  agentRun: null,
33
- executionTree: []
34
39
  };
35
40
  }
36
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AgentRunner.js","sourceRoot":"","sources":["../src/AgentRunner.ts"],"names":[],"mappings":";;;AAYA,+CAA2D;AAC3D,mDAAkD;AAClD,uDAAoD;AAEpD,6CAAyC;AAqBzC,MAAa,WAAW;IAgBb,KAAK,CAAC,QAAQ,CAAmB,MAA6B;QACjE,IAAI,CAAC;YACD,IAAA,gBAAS,EAAC,8CAA8C,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;YAGtG,MAAM,mBAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAG1D,MAAM,SAAS,GAAG,mBAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACzF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3E,CAAC;YAGD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,CAAC;YACtE,IAAA,gBAAS,EAAC,oCAAoC,WAAW,EAAE,CAAC,CAAC;YAE7D,MAAM,aAAa,GAAG,iBAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAC/D,sBAAS,EACT,WAAW,CACd,CAAC;YAEF,IAAI,CAAC,aAAa,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,qDAAqD,WAAW,EAAE,CAAC,CAAC;YACxF,CAAC;YAGD,OAAO,MAAM,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;YACvF,IAAA,eAAQ,EAAC,iCAAiC,YAAY,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAI5E,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,QAAQ;gBACnB,YAAY;gBACZ,QAAQ,EAAE,IAAW;gBACrB,aAAa,EAAE,EAAE;aACpB,CAAC;QACN,CAAC;IACL,CAAC;CACJ;AA5DD,kCA4DC"}
1
+ {"version":3,"file":"AgentRunner.js","sourceRoot":"","sources":["../src/AgentRunner.ts"],"names":[],"mappings":";;;AAYA,+CAAsF;AACtF,mDAAkD;AAClD,uDAAoD;AAEpD,6CAAyC;AAqBzC,MAAa,WAAW;IAgBb,KAAK,CAAC,QAAQ,CAAmB,MAA6B;QACjE,IAAI,CAAC;YACD,IAAA,kBAAW,EAAC;gBACR,OAAO,EAAE,8CAA8C,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG;gBACnG,WAAW,EAAE,IAAI;gBACjB,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,IAAA,8BAAuB,GAAE;aAC/E,CAAC,CAAC;YAGH,MAAM,mBAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAG1D,MAAM,SAAS,GAAG,mBAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACzF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3E,CAAC;YAGD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,CAAC;YACtE,IAAA,kBAAW,EAAC;gBACR,OAAO,EAAE,oCAAoC,WAAW,EAAE;gBAC1D,WAAW,EAAE,IAAI;gBACjB,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,IAAA,8BAAuB,GAAE;aAC/E,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,iBAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAC/D,sBAAS,EACT,WAAW,CACd,CAAC;YAEF,IAAI,CAAC,aAAa,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,qDAAqD,WAAW,EAAE,CAAC,CAAC;YACxF,CAAC;YAGD,OAAO,MAAM,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;YACvF,IAAA,eAAQ,EAAC,iCAAiC,YAAY,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAI5E,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,IAAW;aACxB,CAAC;QACN,CAAC;IACL,CAAC;CACJ;AAjED,kCAiEC"}
@@ -0,0 +1,16 @@
1
+ export declare class PayloadManager {
2
+ extractDownstreamPayload(subAgentName: string, fullPayload: any, downstreamPaths: string[]): any;
3
+ mergeUpstreamPayload(subAgentName: string, parentPayload: any, subAgentPayload: any, upstreamPaths: string[]): any;
4
+ private extractPathPattern;
5
+ private extractPath;
6
+ private extractArrayPath;
7
+ private extractDeepWildcard;
8
+ private mergeAllowedPaths;
9
+ private groupUnauthorizedChanges;
10
+ private formatValue;
11
+ private getAllPaths;
12
+ private isPathAllowed;
13
+ private parsePathParts;
14
+ private deepMerge;
15
+ }
16
+ //# sourceMappingURL=PayloadManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PayloadManager.d.ts","sourceRoot":"","sources":["../src/PayloadManager.ts"],"names":[],"mappings":"AA8BA,qBAAa,cAAc;IAgBhB,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,GAAG;IAuChG,oBAAoB,CACvB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,GAAG,EAClB,eAAe,EAAE,GAAG,EACpB,aAAa,EAAE,MAAM,EAAE,GACxB,GAAG;IA2BN,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,WAAW;IAqDnB,OAAO,CAAC,gBAAgB;IAoDxB,OAAO,CAAC,mBAAmB;IAiC3B,OAAO,CAAC,iBAAiB;IA4DzB,OAAO,CAAC,wBAAwB;IAsBhC,OAAO,CAAC,WAAW;IAqBnB,OAAO,CAAC,WAAW;IA8BnB,OAAO,CAAC,aAAa;IA+CrB,OAAO,CAAC,cAAc;IAmCtB,OAAO,CAAC,SAAS;CAoBpB"}
@@ -0,0 +1,340 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.PayloadManager = void 0;
27
+ const core_1 = require("@memberjunction/core");
28
+ const _ = __importStar(require("lodash"));
29
+ class PayloadManager {
30
+ extractDownstreamPayload(subAgentName, fullPayload, downstreamPaths) {
31
+ if (!fullPayload)
32
+ return null;
33
+ if (!downstreamPaths || downstreamPaths.length === 0)
34
+ return {};
35
+ if (downstreamPaths.includes('*')) {
36
+ return _.cloneDeep(fullPayload);
37
+ }
38
+ const result = {};
39
+ for (const pathPattern of downstreamPaths) {
40
+ try {
41
+ this.extractPathPattern(fullPayload, pathPattern, result);
42
+ }
43
+ catch (error) {
44
+ (0, core_1.LogError)(`Failed to extract path pattern '${pathPattern}': ${error.message}`);
45
+ }
46
+ }
47
+ return result;
48
+ }
49
+ mergeUpstreamPayload(subAgentName, parentPayload, subAgentPayload, upstreamPaths) {
50
+ if (!parentPayload && !subAgentPayload)
51
+ return null;
52
+ if (!subAgentPayload)
53
+ return parentPayload;
54
+ if (!upstreamPaths || upstreamPaths.length === 0) {
55
+ (0, core_1.LogStatus)('Warning: No upstream paths specified - sub-agent changes will be ignored');
56
+ return parentPayload;
57
+ }
58
+ const result = _.cloneDeep(parentPayload || {});
59
+ if (upstreamPaths.includes('*')) {
60
+ return this.deepMerge(result, subAgentPayload);
61
+ }
62
+ this.mergeAllowedPaths(result, subAgentPayload, upstreamPaths, subAgentName);
63
+ return result;
64
+ }
65
+ extractPathPattern(source, pathPattern, destination) {
66
+ if (pathPattern.includes('**')) {
67
+ this.extractDeepWildcard(source, pathPattern, destination);
68
+ return;
69
+ }
70
+ const pathParts = this.parsePathParts(pathPattern);
71
+ this.extractPath(source, pathParts, destination, []);
72
+ }
73
+ extractPath(source, pathParts, destination, currentPath) {
74
+ if (!source || pathParts.length === 0)
75
+ return;
76
+ const [currentPart, ...remainingParts] = pathParts;
77
+ if (currentPart === '*') {
78
+ if (_.isObject(source) && !_.isArray(source)) {
79
+ for (const key in source) {
80
+ if (source.hasOwnProperty(key)) {
81
+ const newPath = [...currentPath, key];
82
+ if (remainingParts.length === 0) {
83
+ _.set(destination, newPath, _.cloneDeep(source[key]));
84
+ }
85
+ else {
86
+ this.extractPath(source[key], remainingParts, destination, newPath);
87
+ }
88
+ }
89
+ }
90
+ }
91
+ return;
92
+ }
93
+ if (currentPart.includes('[')) {
94
+ this.extractArrayPath(source, currentPart, remainingParts, destination, currentPath);
95
+ return;
96
+ }
97
+ if (source.hasOwnProperty(currentPart)) {
98
+ const newPath = [...currentPath, currentPart];
99
+ if (remainingParts.length === 0) {
100
+ _.set(destination, newPath, _.cloneDeep(source[currentPart]));
101
+ }
102
+ else {
103
+ this.extractPath(source[currentPart], remainingParts, destination, newPath);
104
+ }
105
+ }
106
+ }
107
+ extractArrayPath(source, arrayPart, remainingParts, destination, currentPath) {
108
+ const match = arrayPart.match(/^([^[]+)\[([^\]]+)\]$/);
109
+ if (!match)
110
+ return;
111
+ const [, propertyName, indexPart] = match;
112
+ const sourceArray = source[propertyName];
113
+ if (!Array.isArray(sourceArray))
114
+ return;
115
+ const newPath = [...currentPath, propertyName];
116
+ if (indexPart === '*') {
117
+ const destArray = [];
118
+ for (let i = 0; i < sourceArray.length; i++) {
119
+ if (remainingParts.length === 0) {
120
+ destArray.push(_.cloneDeep(sourceArray[i]));
121
+ }
122
+ else {
123
+ const itemDest = {};
124
+ this.extractPath(sourceArray[i], remainingParts, itemDest, []);
125
+ if (Object.keys(itemDest).length > 0) {
126
+ destArray.push(itemDest);
127
+ }
128
+ }
129
+ }
130
+ if (destArray.length > 0) {
131
+ _.set(destination, newPath, destArray);
132
+ }
133
+ }
134
+ else {
135
+ const index = parseInt(indexPart, 10);
136
+ if (!isNaN(index) && index >= 0 && index < sourceArray.length) {
137
+ if (remainingParts.length === 0) {
138
+ _.set(destination, [...newPath, index], _.cloneDeep(sourceArray[index]));
139
+ }
140
+ else {
141
+ this.extractPath(sourceArray[index], remainingParts, destination, [...newPath, index.toString()]);
142
+ }
143
+ }
144
+ }
145
+ }
146
+ extractDeepWildcard(source, pathPattern, destination) {
147
+ const parts = pathPattern.split('**.');
148
+ if (parts.length !== 2 || parts[0] !== '')
149
+ return;
150
+ const targetProperty = parts[1];
151
+ const extractRecursive = (obj, path = []) => {
152
+ if (!obj || typeof obj !== 'object')
153
+ return;
154
+ if (Array.isArray(obj)) {
155
+ obj.forEach((item, index) => {
156
+ extractRecursive(item, [...path, index.toString()]);
157
+ });
158
+ }
159
+ else {
160
+ for (const key in obj) {
161
+ if (obj.hasOwnProperty(key)) {
162
+ if (key === targetProperty) {
163
+ _.set(destination, [...path, key], _.cloneDeep(obj[key]));
164
+ }
165
+ extractRecursive(obj[key], [...path, key]);
166
+ }
167
+ }
168
+ }
169
+ };
170
+ extractRecursive(source);
171
+ }
172
+ mergeAllowedPaths(result, subAgentPayload, upstreamPaths, subAgentName) {
173
+ const subAgentPaths = this.getAllPaths(subAgentPayload);
174
+ const unauthorizedChanges = [];
175
+ for (const actualPath of subAgentPaths) {
176
+ const isAllowed = this.isPathAllowed(actualPath, upstreamPaths);
177
+ const subAgentValue = _.get(subAgentPayload, actualPath);
178
+ const originalValue = _.get(result, actualPath);
179
+ if (isAllowed) {
180
+ _.set(result, actualPath, _.cloneDeep(subAgentValue));
181
+ }
182
+ else {
183
+ if (!_.isEqual(subAgentValue, originalValue)) {
184
+ unauthorizedChanges.push({
185
+ path: actualPath,
186
+ from: originalValue,
187
+ to: subAgentValue
188
+ });
189
+ }
190
+ }
191
+ }
192
+ if (unauthorizedChanges.length > 0) {
193
+ const groupedChanges = this.groupUnauthorizedChanges(unauthorizedChanges);
194
+ let warningMessage = `\n⚠️ Sub-agent "${subAgentName}" attempted ${unauthorizedChanges.length} unauthorized write${unauthorizedChanges.length > 1 ? 's' : ''}:\n`;
195
+ for (const [category, changes] of Object.entries(groupedChanges)) {
196
+ warningMessage += `\n 📁 ${category}:\n`;
197
+ for (const change of changes) {
198
+ const fromStr = this.formatValue(change.from);
199
+ const toStr = this.formatValue(change.to);
200
+ warningMessage += ` • ${change.path}: ${fromStr} → ${toStr}\n`;
201
+ }
202
+ }
203
+ warningMessage += `\n ℹ️ Authorized paths: ${upstreamPaths.join(', ')}\n`;
204
+ (0, core_1.LogStatus)(warningMessage);
205
+ }
206
+ }
207
+ groupUnauthorizedChanges(changes) {
208
+ const grouped = {};
209
+ for (const change of changes) {
210
+ const rootCategory = change.path.split('.')[0] || 'root';
211
+ if (!grouped[rootCategory]) {
212
+ grouped[rootCategory] = [];
213
+ }
214
+ grouped[rootCategory].push(change);
215
+ }
216
+ return grouped;
217
+ }
218
+ formatValue(value) {
219
+ if (value === undefined)
220
+ return 'undefined';
221
+ if (value === null)
222
+ return 'null';
223
+ if (typeof value === 'string') {
224
+ const trimmed = value.length > 50 ? value.substring(0, 50) + '...' : value;
225
+ return `"${trimmed}"`;
226
+ }
227
+ if (typeof value === 'object') {
228
+ const str = JSON.stringify(value);
229
+ return str.length > 50 ? str.substring(0, 50) + '...' : str;
230
+ }
231
+ return String(value);
232
+ }
233
+ getAllPaths(obj, currentPath = []) {
234
+ const paths = [];
235
+ if (!obj || typeof obj !== 'object') {
236
+ return currentPath.length > 0 ? [currentPath.join('.')] : [];
237
+ }
238
+ if (Array.isArray(obj)) {
239
+ obj.forEach((item, index) => {
240
+ paths.push(...this.getAllPaths(item, [...currentPath, `[${index}]`]));
241
+ });
242
+ }
243
+ else {
244
+ const keys = Object.keys(obj);
245
+ if (keys.length === 0 && currentPath.length > 0) {
246
+ paths.push(currentPath.join('.'));
247
+ }
248
+ else {
249
+ for (const key of keys) {
250
+ paths.push(...this.getAllPaths(obj[key], [...currentPath, key]));
251
+ }
252
+ }
253
+ }
254
+ return paths;
255
+ }
256
+ isPathAllowed(actualPath, allowedPatterns) {
257
+ const normalizedPath = actualPath.replace(/\[(\d+)\]/g, '.$1');
258
+ for (const pattern of allowedPatterns) {
259
+ if (pattern === '*')
260
+ return true;
261
+ if (pattern.includes('**')) {
262
+ const regex = pattern
263
+ .replace(/\./g, '\\.')
264
+ .replace(/\*\*/g, '.*')
265
+ .replace(/\*/g, '[^.]+');
266
+ if (new RegExp(`^${regex}$`).test(normalizedPath)) {
267
+ return true;
268
+ }
269
+ }
270
+ else {
271
+ if (pattern.endsWith('.*')) {
272
+ const basePath = pattern.slice(0, -2);
273
+ const escapedBase = basePath.replace(/\./g, '\\.');
274
+ const regex = `^${escapedBase}(\\..*)?$`;
275
+ if (new RegExp(regex).test(normalizedPath)) {
276
+ return true;
277
+ }
278
+ }
279
+ else {
280
+ const regex = pattern
281
+ .replace(/\./g, '\\.')
282
+ .replace(/\*/g, '[^.]+')
283
+ .replace(/\[(\*|\d+)\]/g, '\\[(\\*|\\d+)\\]');
284
+ if (new RegExp(`^${regex}$`).test(normalizedPath)) {
285
+ return true;
286
+ }
287
+ }
288
+ }
289
+ }
290
+ return false;
291
+ }
292
+ parsePathParts(path) {
293
+ const parts = [];
294
+ let current = '';
295
+ let inBracket = false;
296
+ for (const char of path) {
297
+ if (char === '[') {
298
+ inBracket = true;
299
+ current += char;
300
+ }
301
+ else if (char === ']') {
302
+ inBracket = false;
303
+ current += char;
304
+ }
305
+ else if (char === '.' && !inBracket) {
306
+ if (current) {
307
+ parts.push(current);
308
+ current = '';
309
+ }
310
+ }
311
+ else {
312
+ current += char;
313
+ }
314
+ }
315
+ if (current) {
316
+ parts.push(current);
317
+ }
318
+ return parts;
319
+ }
320
+ deepMerge(destination, source) {
321
+ if (!source)
322
+ return destination;
323
+ if (!destination)
324
+ return _.cloneDeep(source);
325
+ const result = _.cloneDeep(destination);
326
+ for (const key in source) {
327
+ if (source.hasOwnProperty(key)) {
328
+ if (_.isObject(source[key]) && !_.isArray(source[key]) && _.isObject(result[key]) && !_.isArray(result[key])) {
329
+ result[key] = this.deepMerge(result[key], source[key]);
330
+ }
331
+ else {
332
+ result[key] = _.cloneDeep(source[key]);
333
+ }
334
+ }
335
+ }
336
+ return result;
337
+ }
338
+ }
339
+ exports.PayloadManager = PayloadManager;
340
+ //# sourceMappingURL=PayloadManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PayloadManager.js","sourceRoot":"","sources":["../src/PayloadManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,+CAA2D;AAC3D,0CAA4B;AAgB5B,MAAa,cAAc;IAgBhB,wBAAwB,CAAC,YAAoB,EAAE,WAAgB,EAAE,eAAyB;QAC7F,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAC9B,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAGhE,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,MAAM,GAAG,EAAE,CAAC;QAElB,KAAK,MAAM,WAAW,IAAI,eAAe,EAAE,CAAC;YACxC,IAAI,CAAC;gBACD,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YAC9D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAA,eAAQ,EAAC,mCAAmC,WAAW,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAClF,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAmBM,oBAAoB,CACvB,YAAoB,EACpB,aAAkB,EAClB,eAAoB,EACpB,aAAuB;QAEvB,IAAI,CAAC,aAAa,IAAI,CAAC,eAAe;YAAE,OAAO,IAAI,CAAC;QACpD,IAAI,CAAC,eAAe;YAAE,OAAO,aAAa,CAAC;QAC3C,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/C,IAAA,gBAAS,EAAC,0EAA0E,CAAC,CAAC;YACtF,OAAO,aAAa,CAAC;QACzB,CAAC;QAGD,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;QAGhD,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACnD,CAAC;QAGD,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;QAE7E,OAAO,MAAM,CAAC;IAClB,CAAC;IAOO,kBAAkB,CAAC,MAAW,EAAE,WAAmB,EAAE,WAAgB;QAEzE,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;YAC3D,OAAO;QACX,CAAC;QAGD,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IAOO,WAAW,CACf,MAAW,EACX,SAAmB,EACnB,WAAgB,EAChB,WAAqB;QAErB,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE9C,MAAM,CAAC,WAAW,EAAE,GAAG,cAAc,CAAC,GAAG,SAAS,CAAC;QAGnD,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3C,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;oBACvB,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC7B,MAAM,OAAO,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,CAAC,CAAC;wBACtC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BAE9B,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBAC1D,CAAC;6BAAM,CAAC;4BAEJ,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;wBACxE,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;YACD,OAAO;QACX,CAAC;QAGD,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;YACrF,OAAO;QACX,CAAC;QAGD,IAAI,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,CAAC,GAAG,WAAW,EAAE,WAAW,CAAC,CAAC;YAC9C,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAE9B,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBAEJ,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YAChF,CAAC;QACL,CAAC;IACL,CAAC;IAOO,gBAAgB,CACpB,MAAW,EACX,SAAiB,EACjB,cAAwB,EACxB,WAAgB,EAChB,WAAqB;QAErB,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,MAAM,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC;QAC1C,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QAEzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YAAE,OAAO;QAExC,MAAM,OAAO,GAAG,CAAC,GAAG,WAAW,EAAE,YAAY,CAAC,CAAC;QAE/C,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YAEpB,MAAM,SAAS,GAAG,EAAE,CAAC;YACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC9B,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChD,CAAC;qBAAM,CAAC;oBACJ,MAAM,QAAQ,GAAG,EAAE,CAAC;oBACpB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;oBAC/D,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACnC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC7B,CAAC;gBACL,CAAC;YACL,CAAC;YACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAC3C,CAAC;QACL,CAAC;aAAM,CAAC;YAEJ,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;gBAC5D,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC9B,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC7E,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACtG,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAOO,mBAAmB,CAAC,MAAW,EAAE,WAAmB,EAAE,WAAgB;QAC1E,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE;YAAE,OAAO;QAElD,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEhC,MAAM,gBAAgB,GAAG,CAAC,GAAQ,EAAE,OAAiB,EAAE,EAAQ,EAAE;YAC7D,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,OAAO;YAE5C,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBACxB,gBAAgB,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACxD,CAAC,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;oBACpB,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC1B,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;4BACzB,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBAC9D,CAAC;wBACD,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;oBAC/C,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC,CAAC;QAEF,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAOO,iBAAiB,CACrB,MAAW,EACX,eAAoB,EACpB,aAAuB,EACvB,YAAoB;QAGpB,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAGxD,MAAM,mBAAmB,GAIpB,EAAE,CAAC;QAGR,KAAK,MAAM,UAAU,IAAI,aAAa,EAAE,CAAC;YACrC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;YAChE,MAAM,aAAa,GAAG,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;YACzD,MAAM,aAAa,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAEhD,IAAI,SAAS,EAAE,CAAC;gBACZ,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBAEJ,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE,CAAC;oBAC3C,mBAAmB,CAAC,IAAI,CAAC;wBACrB,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,aAAa;wBACnB,EAAE,EAAE,aAAa;qBACpB,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC;QAGD,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,CAAC;YAC1E,IAAI,cAAc,GAAG,oBAAoB,YAAY,eAAe,mBAAmB,CAAC,MAAM,sBAAsB,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;YAEnK,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC/D,cAAc,IAAI,UAAU,QAAQ,KAAK,CAAC;gBAC1C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAC1C,cAAc,IAAI,UAAU,MAAM,CAAC,IAAI,KAAK,OAAO,MAAM,KAAK,IAAI,CAAC;gBACvE,CAAC;YACL,CAAC;YAED,cAAc,IAAI,6BAA6B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5E,IAAA,gBAAS,EAAC,cAAc,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC;IAOO,wBAAwB,CAAC,OAAkD;QAC/E,MAAM,OAAO,GAA8D,EAAE,CAAC;QAE9E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAE3B,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;YAEzD,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;YAC/B,CAAC;YAED,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAOO,WAAW,CAAC,KAAU;QAC1B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,WAAW,CAAC;QAC5C,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC;QAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAE5B,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YAC3E,OAAO,IAAI,OAAO,GAAG,CAAC;QAC1B,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAElC,OAAO,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;QAChE,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAOO,WAAW,CAAC,GAAQ,EAAE,cAAwB,EAAE;QACpD,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACxB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,GAAG,WAAW,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YAC1E,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9C,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACJ,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACrB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBACrE,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAOO,aAAa,CAAC,UAAkB,EAAE,eAAyB;QAC/D,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAE/D,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YACpC,IAAI,OAAO,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC;YAEjC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAEzB,MAAM,KAAK,GAAG,OAAO;qBAChB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;qBACrB,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;qBACtB,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC7B,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;oBAChD,OAAO,IAAI,CAAC;gBAChB,CAAC;YACL,CAAC;iBAAM,CAAC;gBAGJ,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACtC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBAEnD,MAAM,KAAK,GAAG,IAAI,WAAW,WAAW,CAAC;oBACzC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;wBACzC,OAAO,IAAI,CAAC;oBAChB,CAAC;gBACL,CAAC;qBAAM,CAAC;oBAEJ,MAAM,KAAK,GAAG,OAAO;yBAChB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;yBACrB,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;yBACvB,OAAO,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;oBAClD,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;wBAChD,OAAO,IAAI,CAAC;oBAChB,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAOO,cAAc,CAAC,IAAY;QAE/B,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACf,SAAS,GAAG,IAAI,CAAC;gBACjB,OAAO,IAAI,IAAI,CAAC;YACpB,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACtB,SAAS,GAAG,KAAK,CAAC;gBAClB,OAAO,IAAI,IAAI,CAAC;YACpB,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBACpC,IAAI,OAAO,EAAE,CAAC;oBACV,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACpB,OAAO,GAAG,EAAE,CAAC;gBACjB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,OAAO,IAAI,IAAI,CAAC;YACpB,CAAC;QACL,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACV,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAOO,SAAS,CAAC,WAAgB,EAAE,MAAW;QAC3C,IAAI,CAAC,MAAM;YAAE,OAAO,WAAW,CAAC;QAChC,IAAI,CAAC,WAAW;YAAE,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE7C,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAExC,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBAE3G,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3D,CAAC;qBAAM,CAAC;oBAEJ,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3C,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AA7dD,wCA6dC"}
@@ -1,5 +1,11 @@
1
- import { AIPromptRunResult, BaseAgentNextStep } from '@memberjunction/ai-core-plus';
1
+ import { AIPromptParams, AIPromptRunResult, BaseAgentNextStep } from '@memberjunction/ai-core-plus';
2
+ import { AIAgentTypeEntity } from '@memberjunction/core-entities';
2
3
  export declare abstract class BaseAgentType {
3
- abstract DetermineNextStep(promptResult: AIPromptRunResult): Promise<BaseAgentNextStep>;
4
+ abstract DetermineNextStep<P = any>(promptResult: AIPromptRunResult): Promise<BaseAgentNextStep<P>>;
5
+ abstract RetrievePayload<P = any>(promptResult: AIPromptRunResult): Promise<P>;
6
+ abstract InjectPayload<P = any>(payload: P, prompt: AIPromptParams): Promise<void>;
7
+ static GetAgentTypeInstance(agentType: AIAgentTypeEntity): Promise<BaseAgentType>;
8
+ protected static getAgentTypeInstance(agentType: AIAgentTypeEntity): Promise<BaseAgentType | null>;
9
+ protected static getAgentInstanceWithDriverClass(driverClass: string): Promise<BaseAgentType | null>;
4
10
  }
5
11
  //# sourceMappingURL=base-agent-type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-agent-type.d.ts","sourceRoot":"","sources":["../../src/agent-types/base-agent-type.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAC,MAAM,8BAA8B,CAAC;AAoCnF,8BAAsB,aAAa;aA4Bf,iBAAiB,CAAC,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CACjG"}
1
+ {"version":3,"file":"base-agent-type.d.ts","sourceRoot":"","sources":["../../src/agent-types/base-agent-type.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,EAAC,MAAM,8BAA8B,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAsClE,8BAAsB,aAAa;aA4Bf,iBAAiB,CAAC,CAAC,GAAG,GAAG,EAAE,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;aAM1F,eAAe,CAAC,CAAC,GAAG,GAAG,EAAE,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC;aAQrE,aAAa,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;WAoBrE,oBAAoB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;qBA4BvE,oBAAoB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;qBAsBjF,+BAA+B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;CAc7G"}
@@ -1,7 +1,35 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseAgentType = void 0;
4
+ const global_1 = require("@memberjunction/global");
5
+ const core_1 = require("@memberjunction/core");
4
6
  class BaseAgentType {
7
+ static async GetAgentTypeInstance(agentType) {
8
+ try {
9
+ const agentTypeInstance = await this.getAgentTypeInstance(agentType);
10
+ return agentTypeInstance;
11
+ }
12
+ catch (error) {
13
+ (0, core_1.LogError)(error);
14
+ throw new Error(`Failed to get agent type instance for ${agentType.Name}: ${error.message}`);
15
+ }
16
+ }
17
+ static async getAgentTypeInstance(agentType) {
18
+ if (!agentType.DriverClass) {
19
+ throw new Error(`Agent type '${agentType.Name}' does not have a DriverClass specified. Please ensure the agent type is properly configured.`);
20
+ }
21
+ return this.getAgentInstanceWithDriverClass(agentType.DriverClass);
22
+ }
23
+ static async getAgentInstanceWithDriverClass(driverClass) {
24
+ const instance = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(BaseAgentType, driverClass);
25
+ if (!instance) {
26
+ throw new Error(`No implementation found for agent with DriverClass '${driverClass}'. Please ensure the class is registered with the ClassFactory.`);
27
+ }
28
+ if (instance.constructor === BaseAgentType) {
29
+ throw new Error(`The DriverClass '${driverClass}' is not a valid agent type implementation. It must extend BaseAgentType.`);
30
+ }
31
+ return instance;
32
+ }
5
33
  }
6
34
  exports.BaseAgentType = BaseAgentType;
7
35
  //# sourceMappingURL=base-agent-type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-agent-type.js","sourceRoot":"","sources":["../../src/agent-types/base-agent-type.ts"],"names":[],"mappings":";;;AAiDA,MAAsB,aAAa;CA6BlC;AA7BD,sCA6BC"}
1
+ {"version":3,"file":"base-agent-type.js","sourceRoot":"","sources":["../../src/agent-types/base-agent-type.ts"],"names":[],"mappings":";;;AAeA,mDAAkD;AAClD,+CAAgD;AAoChD,MAAsB,aAAa;IA8DxB,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,SAA4B;QACjE,IAAI,CAAC;YACD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;YACrE,OAAO,iBAAiB,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAA,eAAQ,EAAC,KAAK,CAAC,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,yCAAyC,SAAS,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACjG,CAAC;IACL,CAAC;IAoBS,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,SAA4B;QAEpE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,eAAe,SAAS,CAAC,IAAI,+FAA+F,CAAC,CAAC;QAClJ,CAAC;QAGD,OAAO,IAAI,CAAC,+BAA+B,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvE,CAAC;IAcS,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,WAAmB;QACtE,MAAM,QAAQ,GAAG,iBAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAgB,aAAa,EAAE,WAAW,CAAC,CAAC;QAE1G,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,uDAAuD,WAAW,iEAAiE,CAAC,CAAC;QACzJ,CAAC;QAGD,IAAI,QAAQ,CAAC,WAAW,KAAK,aAAa,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,oBAAoB,WAAW,2EAA2E,CAAC,CAAC;QAChI,CAAC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ;AA9HD,sCA8HC"}
@@ -5,7 +5,7 @@ export interface LoopAgentResponse<T = any> {
5
5
  reasoning: string;
6
6
  confidence?: number;
7
7
  nextStep?: {
8
- type: 'action' | 'sub-agent' | 'chat';
8
+ type: 'Actions' | 'Sub-Agent' | 'Chat';
9
9
  actions?: Array<{
10
10
  id: string;
11
11
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"loop-agent-response-type.d.ts","sourceRoot":"","sources":["../../src/agent-types/loop-agent-response-type.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,GAAG;IAMtC,YAAY,EAAE,OAAO,CAAC;IAkBtB,OAAO,EAAE,MAAM,CAAC;IAUhB,OAAO,EAAE,CAAC,CAAC;IAOX,SAAS,EAAE,MAAM,CAAC;IAQlB,UAAU,CAAC,EAAE,MAAM,CAAC;IAOpB,QAAQ,CAAC,EAAE;QAOP,IAAI,EAAE,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAC;QAOtC,OAAO,CAAC,EAAE,KAAK,CAAC;YAKZ,EAAE,EAAE,MAAM,CAAC;YAMX,IAAI,EAAE,MAAM,CAAC;YAOb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACnC,CAAC,CAAC;QAOH,QAAQ,CAAC,EAAE;YAKP,EAAE,EAAE,MAAM,CAAC;YAMX,IAAI,EAAE,MAAM,CAAC;YAgBb,OAAO,EAAE,MAAM,CAAC;YAShB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAOzC,cAAc,EAAE,OAAO,CAAC;SAC3B,CAAC;KACL,CAAC;CACL"}
1
+ {"version":3,"file":"loop-agent-response-type.d.ts","sourceRoot":"","sources":["../../src/agent-types/loop-agent-response-type.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,GAAG;IAMtC,YAAY,EAAE,OAAO,CAAC;IAkBtB,OAAO,EAAE,MAAM,CAAC;IAUhB,OAAO,EAAE,CAAC,CAAC;IAOX,SAAS,EAAE,MAAM,CAAC;IAQlB,UAAU,CAAC,EAAE,MAAM,CAAC;IAOpB,QAAQ,CAAC,EAAE;QAOP,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,MAAM,CAAC;QAOvC,OAAO,CAAC,EAAE,KAAK,CAAC;YAKZ,EAAE,EAAE,MAAM,CAAC;YAMX,IAAI,EAAE,MAAM,CAAC;YAOb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACnC,CAAC,CAAC;QAOH,QAAQ,CAAC,EAAE;YAKP,EAAE,EAAE,MAAM,CAAC;YAMX,IAAI,EAAE,MAAM,CAAC;YAgBb,OAAO,EAAE,MAAM,CAAC;YAShB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAOzC,cAAc,EAAE,OAAO,CAAC;SAC3B,CAAC;KACL,CAAC;CACL"}
@@ -1,9 +1,12 @@
1
1
  import { BaseAgentType } from './base-agent-type';
2
- import { AIPromptRunResult, BaseAgentNextStep } from '@memberjunction/ai-core-plus';
2
+ import { AIPromptRunResult, BaseAgentNextStep, AIPromptParams } from '@memberjunction/ai-core-plus';
3
3
  import { LoopAgentResponse } from './loop-agent-response-type';
4
4
  export declare class LoopAgentType extends BaseAgentType {
5
- DetermineNextStep(promptResult: AIPromptRunResult): Promise<BaseAgentNextStep<LoopAgentResponse>>;
5
+ DetermineNextStep<P>(promptResult: AIPromptRunResult): Promise<BaseAgentNextStep<P>>;
6
6
  private isValidLoopResponse;
7
+ RetrievePayload<T = LoopAgentResponse>(promptResult: AIPromptRunResult): Promise<T>;
8
+ static CURRENT_PAYLOAD_PLACHOLDER: string;
9
+ InjectPayload<T = any>(payload: T, prompt: AIPromptParams): Promise<void>;
7
10
  }
8
11
  export declare function LoadLoopAgentType(): void;
9
12
  //# sourceMappingURL=loop-agent-type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loop-agent-type.d.ts","sourceRoot":"","sources":["../../src/agent-types/loop-agent-type.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAoC/D,qBACa,aAAc,SAAQ,aAAa;IAa/B,iBAAiB,CAAC,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IA8H9G,OAAO,CAAC,mBAAmB;CA4C9B;AAKD,wBAAgB,iBAAiB,SAEhC"}
1
+ {"version":3,"file":"loop-agent-type.d.ts","sourceRoot":"","sources":["../../src/agent-types/loop-agent-type.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAoC/D,qBACa,aAAc,SAAQ,aAAa;IAa/B,iBAAiB,CAAC,CAAC,EAAE,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAmIjG,OAAO,CAAC,mBAAmB;IAoEd,eAAe,CAAC,CAAC,GAAG,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC;IAgBhG,OAAc,0BAA0B,SAAsB;IAQjD,aAAa,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAQzF;AAKD,wBAAgB,iBAAiB,SAEhC"}