@memberjunction/ai-agents 2.59.0 → 2.61.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,48 @@
1
+ import { AgentPayloadChangeRequest } from '@memberjunction/ai-core-plus';
2
+ export declare class PayloadManager {
3
+ extractDownstreamPayload(subAgentName: string, fullPayload: any, downstreamPaths: string[]): any;
4
+ mergeUpstreamPayload(subAgentName: string, parentPayload: any, subAgentPayload: any, upstreamPaths: string[]): any;
5
+ private extractPathPattern;
6
+ private extractPath;
7
+ private extractArrayPath;
8
+ private extractDeepWildcard;
9
+ private mergeAllowedPaths;
10
+ private groupUnauthorizedChanges;
11
+ private formatValue;
12
+ private getAllPaths;
13
+ private isPathAllowed;
14
+ private parsePathParts;
15
+ private deepMerge;
16
+ applyAgentChangeRequest<P = any>(originalPayload: P, changeRequest: AgentPayloadChangeRequest<P>, options?: {
17
+ validateChanges?: boolean;
18
+ logChanges?: boolean;
19
+ agentName?: string;
20
+ }): {
21
+ result: P;
22
+ applied: {
23
+ additions: number;
24
+ updates: number;
25
+ deletions: number;
26
+ };
27
+ warnings: string[];
28
+ };
29
+ private processChangeRequest;
30
+ private processArrayChanges;
31
+ private processObjectChanges;
32
+ private processKeyChange;
33
+ private getChangeKeys;
34
+ private isSignificantValue;
35
+ private logChangesSummary;
36
+ applySubAgentChangeRequest<P = any>(parentPayload: P, changeRequest: AgentPayloadChangeRequest<P>, upstreamPaths: string[], subAgentName: string): {
37
+ result: P;
38
+ applied: {
39
+ additions: number;
40
+ updates: number;
41
+ deletions: number;
42
+ };
43
+ warnings: string[];
44
+ blocked: number;
45
+ };
46
+ private countBlockedChanges;
47
+ }
48
+ //# sourceMappingURL=PayloadManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PayloadManager.d.ts","sourceRoot":"","sources":["../src/PayloadManager.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAiBzE,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;IA6BV,uBAAuB,CAAC,CAAC,GAAG,GAAG,EAClC,eAAe,EAAE,CAAC,EAClB,aAAa,EAAE,yBAAyB,CAAC,CAAC,CAAC,EAC3C,OAAO,CAAC,EAAE;QACN,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB,GACF;QACC,MAAM,EAAE,CAAC,CAAC;QACV,OAAO,EAAE;YACL,SAAS,EAAE,MAAM,CAAC;YAClB,OAAO,EAAE,MAAM,CAAC;YAChB,SAAS,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,QAAQ,EAAE,MAAM,EAAE,CAAC;KACtB;IA8BD,OAAO,CAAC,oBAAoB;IAkB5B,OAAO,CAAC,mBAAmB;IAkE3B,OAAO,CAAC,oBAAoB;IA0C5B,OAAO,CAAC,gBAAgB;IA0CxB,OAAO,CAAC,aAAa;IAwBrB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,iBAAiB;IAmBlB,0BAA0B,CAAC,CAAC,GAAG,GAAG,EACrC,aAAa,EAAE,CAAC,EAChB,aAAa,EAAE,yBAAyB,CAAC,CAAC,CAAC,EAC3C,aAAa,EAAE,MAAM,EAAE,EACvB,YAAY,EAAE,MAAM,GACrB;QACC,MAAM,EAAE,CAAC,CAAC;QACV,OAAO,EAAE;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;SAAE,CAAC;QACpE,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;KACnB;IA8BD,OAAO,CAAC,mBAAmB;CAO9B"}
@@ -0,0 +1,478 @@
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
+ applyAgentChangeRequest(originalPayload, changeRequest, options) {
339
+ const warnings = [];
340
+ const result = _.cloneDeep(originalPayload) || {};
341
+ const counts = { additions: 0, updates: 0, deletions: 0 };
342
+ this.processChangeRequest(result, originalPayload, changeRequest, [], counts, warnings);
343
+ if (options?.logChanges) {
344
+ this.logChangesSummary(counts, changeRequest.reasoning, options.agentName);
345
+ }
346
+ return {
347
+ result,
348
+ applied: counts,
349
+ warnings
350
+ };
351
+ }
352
+ processChangeRequest(target, original, changeRequest, path, counts, warnings) {
353
+ if (Array.isArray(target)) {
354
+ this.processArrayChanges(target, original, changeRequest, path, counts, warnings);
355
+ }
356
+ else if (typeof target === 'object' && target !== null) {
357
+ this.processObjectChanges(target, original, changeRequest, path, counts, warnings);
358
+ }
359
+ }
360
+ processArrayChanges(target, original, changeRequest, path, counts, warnings) {
361
+ const pathStr = path.join('.');
362
+ const removeArray = pathStr ? _.get(changeRequest.removeElements, pathStr) : changeRequest.removeElements;
363
+ const updateArray = pathStr ? _.get(changeRequest.updateElements, pathStr) : changeRequest.updateElements;
364
+ const newArray = pathStr ? _.get(changeRequest.newElements, pathStr) : changeRequest.newElements;
365
+ const newTargetArray = [];
366
+ for (let i = 0; i < target.length; i++) {
367
+ if (removeArray && removeArray[i] === '_DELETE_') {
368
+ counts.deletions++;
369
+ continue;
370
+ }
371
+ let elementToAdd = target[i];
372
+ if (updateArray && this.isSignificantValue(updateArray[i])) {
373
+ elementToAdd = updateArray[i];
374
+ counts.updates++;
375
+ }
376
+ else if (typeof elementToAdd === 'object' && elementToAdd !== null) {
377
+ elementToAdd = _.cloneDeep(elementToAdd);
378
+ this.processChangeRequest(elementToAdd, original ? original[i] : undefined, changeRequest, [...path, i.toString()], counts, warnings);
379
+ }
380
+ newTargetArray.push(elementToAdd);
381
+ }
382
+ if (newArray && Array.isArray(newArray)) {
383
+ for (const item of newArray) {
384
+ if (this.isSignificantValue(item)) {
385
+ newTargetArray.push(item);
386
+ counts.additions++;
387
+ }
388
+ }
389
+ }
390
+ target.length = 0;
391
+ target.push(...newTargetArray);
392
+ }
393
+ processObjectChanges(target, original, changeRequest, path, counts, warnings) {
394
+ const changeKeys = this.getChangeKeys(changeRequest, path);
395
+ for (const key of changeKeys) {
396
+ this.processKeyChange(target, original, changeRequest, [...path, key], key, counts, warnings);
397
+ }
398
+ for (const key of Object.keys(target)) {
399
+ if (!changeKeys.has(key) && typeof target[key] === 'object' && target[key] !== null) {
400
+ this.processChangeRequest(target[key], original ? original[key] : undefined, changeRequest, [...path, key], counts, warnings);
401
+ }
402
+ }
403
+ }
404
+ processKeyChange(target, original, changeRequest, keyPath, key, counts, warnings) {
405
+ const pathStr = keyPath.join('.');
406
+ const removeValue = _.get(changeRequest.removeElements, pathStr);
407
+ if (removeValue === '_DELETE_') {
408
+ delete target[key];
409
+ counts.deletions++;
410
+ return;
411
+ }
412
+ const newValue = _.get(changeRequest.newElements, pathStr);
413
+ if (newValue !== undefined && !(key in target)) {
414
+ target[key] = newValue;
415
+ counts.additions++;
416
+ return;
417
+ }
418
+ const updateValue = _.get(changeRequest.updateElements, pathStr);
419
+ if (updateValue !== undefined && key in target) {
420
+ target[key] = updateValue;
421
+ counts.updates++;
422
+ }
423
+ else if (updateValue !== undefined) {
424
+ warnings.push(`Update attempted on non-existent key: ${pathStr}`);
425
+ }
426
+ else if (newValue !== undefined) {
427
+ warnings.push(`Addition attempted on existing key: ${pathStr}`);
428
+ }
429
+ }
430
+ getChangeKeys(changeRequest, path) {
431
+ const keys = new Set();
432
+ const pathStr = path.join('.');
433
+ const addKeysFromObject = (obj) => {
434
+ if (obj && typeof obj === 'object' && !Array.isArray(obj)) {
435
+ Object.keys(obj).forEach(k => keys.add(k));
436
+ }
437
+ };
438
+ const removeObj = pathStr ? _.get(changeRequest.removeElements, pathStr) : changeRequest.removeElements;
439
+ const updateObj = pathStr ? _.get(changeRequest.updateElements, pathStr) : changeRequest.updateElements;
440
+ const newObj = pathStr ? _.get(changeRequest.newElements, pathStr) : changeRequest.newElements;
441
+ addKeysFromObject(removeObj);
442
+ addKeysFromObject(updateObj);
443
+ addKeysFromObject(newObj);
444
+ return keys;
445
+ }
446
+ isSignificantValue(value) {
447
+ if (value === undefined)
448
+ return false;
449
+ if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
450
+ return Object.keys(value).length > 0;
451
+ }
452
+ return true;
453
+ }
454
+ logChangesSummary(counts, reasoning, agentName) {
455
+ const agent = agentName ? ` by ${agentName}` : '';
456
+ const reason = reasoning ? ` | Reason: ${reasoning}` : '';
457
+ (0, core_1.LogStatus)(`Payload changes applied${agent}: ` +
458
+ `+${counts.additions} additions, ~${counts.updates} updates, -${counts.deletions} deletions${reason}`);
459
+ }
460
+ applySubAgentChangeRequest(parentPayload, changeRequest, upstreamPaths, subAgentName) {
461
+ const changeResult = this.applyAgentChangeRequest(parentPayload, changeRequest, { validateChanges: true });
462
+ const guardedPayload = this.mergeUpstreamPayload(subAgentName, parentPayload, changeResult.result, upstreamPaths);
463
+ const blocked = this.countBlockedChanges(parentPayload, changeResult.result, guardedPayload);
464
+ return {
465
+ result: guardedPayload,
466
+ applied: changeResult.applied,
467
+ warnings: changeResult.warnings,
468
+ blocked
469
+ };
470
+ }
471
+ countBlockedChanges(_original, intended, actual) {
472
+ const intendedStr = JSON.stringify(intended);
473
+ const actualStr = JSON.stringify(actual);
474
+ return intendedStr === actualStr ? 0 : 1;
475
+ }
476
+ }
477
+ exports.PayloadManager = PayloadManager;
478
+ //# sourceMappingURL=PayloadManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PayloadManager.js","sourceRoot":"","sources":["../src/PayloadManager.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,10 @@
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 InjectPayload<P = any>(payload: P, prompt: AIPromptParams): Promise<void>;
6
+ static GetAgentTypeInstance(agentType: AIAgentTypeEntity): Promise<BaseAgentType>;
7
+ protected static getAgentTypeInstance(agentType: AIAgentTypeEntity): Promise<BaseAgentType | null>;
8
+ protected static getAgentInstanceWithDriverClass(driverClass: string): Promise<BaseAgentType | null>;
4
9
  }
5
10
  //# 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;aAc1F,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"}