@memberjunction/ai-agents 2.74.0 → 2.76.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +146 -0
- package/dist/agent-types/base-agent-type.d.ts +19 -3
- package/dist/agent-types/base-agent-type.d.ts.map +1 -1
- package/dist/agent-types/base-agent-type.js +55 -0
- package/dist/agent-types/base-agent-type.js.map +1 -1
- package/dist/agent-types/flow-agent-type.d.ts +38 -0
- package/dist/agent-types/flow-agent-type.d.ts.map +1 -0
- package/dist/agent-types/flow-agent-type.js +462 -0
- package/dist/agent-types/flow-agent-type.js.map +1 -0
- package/dist/agent-types/index.d.ts +1 -0
- package/dist/agent-types/index.d.ts.map +1 -1
- package/dist/agent-types/index.js +3 -0
- package/dist/agent-types/index.js.map +1 -1
- package/dist/agent-types/loop-agent-type.d.ts +8 -5
- package/dist/agent-types/loop-agent-type.d.ts.map +1 -1
- package/dist/agent-types/loop-agent-type.js +22 -54
- package/dist/agent-types/loop-agent-type.js.map +1 -1
- package/dist/base-agent.d.ts.map +1 -1
- package/dist/base-agent.js +114 -36
- package/dist/base-agent.js.map +1 -1
- package/package.json +10 -10
|
@@ -5,74 +5,41 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
-
var LoopAgentType_1;
|
|
9
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
9
|
exports.LoadLoopAgentType = exports.LoopAgentType = void 0;
|
|
11
10
|
const global_1 = require("@memberjunction/global");
|
|
12
11
|
const base_agent_type_1 = require("./base-agent-type");
|
|
13
12
|
const core_1 = require("@memberjunction/core");
|
|
14
|
-
let LoopAgentType =
|
|
15
|
-
|
|
16
|
-
super(...arguments);
|
|
17
|
-
this._jsonValidator = new global_1.JSONValidator();
|
|
18
|
-
}
|
|
19
|
-
async DetermineNextStep(promptResult) {
|
|
13
|
+
let LoopAgentType = class LoopAgentType extends base_agent_type_1.BaseAgentType {
|
|
14
|
+
async DetermineNextStep(promptResult, params) {
|
|
20
15
|
try {
|
|
21
16
|
if (!promptResult.success || !promptResult.result) {
|
|
22
|
-
return {
|
|
23
|
-
terminate: false,
|
|
24
|
-
step: 'Failed',
|
|
17
|
+
return this.createNextStep('Failed', {
|
|
25
18
|
errorMessage: promptResult.errorMessage || 'Prompt execution failed'
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
let response;
|
|
29
|
-
try {
|
|
30
|
-
if (typeof promptResult.result === 'string') {
|
|
31
|
-
response = JSON.parse(promptResult.result);
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
response = promptResult.result;
|
|
35
|
-
}
|
|
36
|
-
response = this._jsonValidator.cleanValidationSyntax(response);
|
|
37
|
-
if ((0, core_1.IsVerboseLoggingEnabled)()) {
|
|
38
|
-
console.log('LoopAgentType: Cleaned response from validation syntax', response);
|
|
39
|
-
}
|
|
19
|
+
});
|
|
40
20
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
step: 'Retry',
|
|
45
|
-
errorMessage: `Failed to parse JSON response: ${parseError.message}`
|
|
46
|
-
};
|
|
21
|
+
const response = this.parseJSONResponse(promptResult);
|
|
22
|
+
if (!response) {
|
|
23
|
+
return this.createRetryStep('Failed to parse JSON response');
|
|
47
24
|
}
|
|
48
25
|
const validationResult = this.isValidLoopResponse(response);
|
|
49
26
|
if (!validationResult.success) {
|
|
50
|
-
return
|
|
51
|
-
terminate: false,
|
|
52
|
-
step: 'Retry',
|
|
53
|
-
errorMessage: validationResult.message
|
|
54
|
-
};
|
|
27
|
+
return this.createRetryStep(validationResult.message);
|
|
55
28
|
}
|
|
56
29
|
if (response.taskComplete) {
|
|
57
30
|
(0, core_1.LogStatusEx)({
|
|
58
31
|
message: '✅ Loop Agent: Task completed successfully. Message: ' + response.message,
|
|
59
32
|
verboseOnly: true
|
|
60
33
|
});
|
|
61
|
-
return {
|
|
62
|
-
terminate: response.taskComplete,
|
|
34
|
+
return this.createSuccessStep({
|
|
63
35
|
message: response.message,
|
|
64
36
|
reasoning: response.reasoning,
|
|
65
37
|
confidence: response.confidence,
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
};
|
|
38
|
+
payloadChangeRequest: response.payloadChangeRequest
|
|
39
|
+
});
|
|
69
40
|
}
|
|
70
41
|
if (!response.nextStep) {
|
|
71
|
-
return
|
|
72
|
-
terminate: false,
|
|
73
|
-
step: 'Retry',
|
|
74
|
-
errorMessage: 'Task not complete but no next step provided'
|
|
75
|
-
};
|
|
42
|
+
return this.createRetryStep('Task not complete but no next step provided');
|
|
76
43
|
}
|
|
77
44
|
const retVal = {
|
|
78
45
|
payloadChangeRequest: response.payloadChangeRequest,
|
|
@@ -129,11 +96,7 @@ let LoopAgentType = LoopAgentType_1 = class LoopAgentType extends base_agent_typ
|
|
|
129
96
|
}
|
|
130
97
|
catch (error) {
|
|
131
98
|
(0, core_1.LogError)(`Error in LoopAgentType.DetermineNextStep: ${error.message}`);
|
|
132
|
-
return {
|
|
133
|
-
terminate: false,
|
|
134
|
-
step: 'Retry',
|
|
135
|
-
errorMessage: `Failed to parse loop agent response: ${error.message}`
|
|
136
|
-
};
|
|
99
|
+
return this.createRetryStep(`Failed to parse loop agent response: ${error.message}`);
|
|
137
100
|
}
|
|
138
101
|
}
|
|
139
102
|
isValidLoopResponse(simpleResponse) {
|
|
@@ -218,17 +181,22 @@ let LoopAgentType = LoopAgentType_1 = class LoopAgentType extends base_agent_typ
|
|
|
218
181
|
}
|
|
219
182
|
return { success: true };
|
|
220
183
|
}
|
|
221
|
-
async InjectPayload(payload, prompt) {
|
|
184
|
+
async InjectPayload(payload, prompt, agentInfo) {
|
|
222
185
|
if (!prompt)
|
|
223
186
|
throw new Error('Prompt parameters are required for payload injection');
|
|
224
187
|
if (!prompt.data)
|
|
225
188
|
prompt.data = {};
|
|
226
|
-
prompt.data[
|
|
189
|
+
prompt.data[base_agent_type_1.BaseAgentType.CURRENT_PAYLOAD_PLACEHOLDER] = payload || {};
|
|
190
|
+
}
|
|
191
|
+
async DetermineInitialStep(params) {
|
|
192
|
+
return null;
|
|
193
|
+
}
|
|
194
|
+
async PreProcessRetryStep(params, retryStep) {
|
|
195
|
+
return null;
|
|
227
196
|
}
|
|
228
197
|
};
|
|
229
198
|
exports.LoopAgentType = LoopAgentType;
|
|
230
|
-
LoopAgentType
|
|
231
|
-
exports.LoopAgentType = LoopAgentType = LoopAgentType_1 = __decorate([
|
|
199
|
+
exports.LoopAgentType = LoopAgentType = __decorate([
|
|
232
200
|
(0, global_1.RegisterClass)(base_agent_type_1.BaseAgentType, "LoopAgentType")
|
|
233
201
|
], LoopAgentType);
|
|
234
202
|
function LoadLoopAgentType() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop-agent-type.js","sourceRoot":"","sources":["../../src/agent-types/loop-agent-type.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loop-agent-type.js","sourceRoot":"","sources":["../../src/agent-types/loop-agent-type.ts"],"names":[],"mappings":"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"}
|
package/dist/base-agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-agent.d.ts","sourceRoot":"","sources":["../src/base-agent.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,mBAAmB,EAAqC,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACxN,OAAO,EAAE,QAAQ,EAA4F,MAAM,sBAAsB,CAAC;AAE1I,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAKjD,OAAO,EACH,cAAc,EACd,iBAAiB,EAEjB,kBAAkB,EAElB,kBAAkB,EAElB,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACpB,iBAAiB,EACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AA6DlF,qBAAa,SAAS;IAKlB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAM;IAMpD,OAAO,CAAC,aAAa,CAAwC;IAM7D,OAAO,CAAC,SAAS,CAA4B;IAO7C,OAAO,CAAC,gBAAgB,CAAkC;IAO1D,OAAO,CAAC,4BAA4B,CAAa;IAMjD,OAAO,CAAC,SAAS,CAAyC;IAK1D,IAAW,QAAQ,IAAI,wBAAwB,GAAG,IAAI,CAErD;IAOD,OAAO,CAAC,eAAe,CAAgB;IAMvC,OAAO,CAAC,MAAM,CAAa;IAO3B,OAAO,CAAC,iBAAiB,CAA8B;IAMvD,OAAO,CAAC,aAAa,CAA4B;IAMjD,OAAO,CAAC,eAAe,CAAwC;IAO/D,OAAO,CAAC,qBAAqB,CAAa;IAQ1C,IAAW,oBAAoB,IAAI,MAAM,CAExC;IAQD,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,GAAE,OAAe,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,IAAI;IAerG,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE;QAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/B,KAAK,CAAC,EAAE,aAAa,CAAC;QACtB,SAAS,CAAC,EAAE,iBAAiB,CAAC;QAC9B,QAAQ,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;KAC/C,GAAG,IAAI;IAiCR,OAAO,CAAC,oBAAoB;IAoEf,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;cAwGrF,yBAAyB,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;cAuBrF,oBAAoB,CAAC,CAAC,GAAG,GAAG,EACxC,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,kBAAkB,GAC3B,OAAO,CAAC;QAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC,CAAC;cAoDhD,iBAAiB,CAAC,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;YAa1D,gBAAgB;cA8Cd,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;cA2BvE,+BAA+B,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAiEhI,OAAO,CAAC,+BAA+B;cA8CvB,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"base-agent.d.ts","sourceRoot":"","sources":["../src/base-agent.ts"],"names":[],"mappings":"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"}
|
package/dist/base-agent.js
CHANGED
|
@@ -349,12 +349,8 @@ class BaseAgent {
|
|
|
349
349
|
};
|
|
350
350
|
}
|
|
351
351
|
const systemPrompt = engine.Prompts.find(p => p.ID === agentType.SystemPromptID);
|
|
352
|
-
if (!systemPrompt
|
|
353
|
-
|
|
354
|
-
success: false,
|
|
355
|
-
errorMessage: `System prompt not found for agent type: ${agentType.Name}`
|
|
356
|
-
};
|
|
357
|
-
}
|
|
352
|
+
if (!systemPrompt)
|
|
353
|
+
metadataOptional = true;
|
|
358
354
|
const agentPrompt = engine.AgentPrompts
|
|
359
355
|
.filter(ap => ap.AgentID === agent.ID && ap.Status === 'Active')
|
|
360
356
|
.sort((a, b) => a.ExecutionOrder - b.ExecutionOrder)[0];
|
|
@@ -390,32 +386,51 @@ class BaseAgent {
|
|
|
390
386
|
const childPrompt = config.childPrompt;
|
|
391
387
|
const promptTemplateData = await this.gatherPromptTemplateData(params.agent, params.contextUser, params.data);
|
|
392
388
|
const promptParams = new ai_core_plus_1.AIPromptParams();
|
|
393
|
-
|
|
389
|
+
if (systemPrompt) {
|
|
390
|
+
promptParams.prompt = systemPrompt;
|
|
391
|
+
promptParams.templateMessageRole = 'system';
|
|
392
|
+
}
|
|
393
|
+
else {
|
|
394
|
+
promptParams.prompt = childPrompt;
|
|
395
|
+
promptParams.templateMessageRole = 'user';
|
|
396
|
+
}
|
|
394
397
|
promptParams.data = promptTemplateData;
|
|
395
398
|
promptParams.contextUser = params.contextUser;
|
|
396
399
|
promptParams.conversationMessages = params.conversationMessages;
|
|
397
|
-
promptParams.templateMessageRole = 'system';
|
|
398
400
|
promptParams.verbose = params.verbose;
|
|
399
401
|
const atInstance = await base_agent_type_1.BaseAgentType.GetAgentTypeInstance(config.agentType);
|
|
400
|
-
await atInstance.InjectPayload(payload, promptParams
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
402
|
+
await atInstance.InjectPayload(payload, promptParams, {
|
|
403
|
+
agentId: params.agent.ID,
|
|
404
|
+
agentRunId: this._agentRun?.ID
|
|
405
|
+
});
|
|
406
|
+
if (systemPrompt) {
|
|
407
|
+
const childPromptParams = {
|
|
408
|
+
prompt: childPrompt,
|
|
409
|
+
data: promptTemplateData,
|
|
410
|
+
contextUser: params.contextUser,
|
|
411
|
+
conversationMessages: params.conversationMessages,
|
|
412
|
+
templateMessageRole: 'user',
|
|
413
|
+
verbose: params.verbose
|
|
414
|
+
};
|
|
415
|
+
if (params.apiKeys && params.apiKeys.length > 0) {
|
|
416
|
+
childPromptParams.apiKeys = params.apiKeys;
|
|
417
|
+
}
|
|
418
|
+
if (params.configurationId) {
|
|
419
|
+
promptParams.configurationId = params.configurationId;
|
|
420
|
+
childPromptParams.configurationId = params.configurationId;
|
|
421
|
+
}
|
|
422
|
+
promptParams.childPrompts = [
|
|
423
|
+
new ai_core_plus_1.ChildPromptParam(childPromptParams, agentType.AgentPromptPlaceholder)
|
|
424
|
+
];
|
|
411
425
|
}
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
426
|
+
else {
|
|
427
|
+
if (params.apiKeys && params.apiKeys.length > 0) {
|
|
428
|
+
promptParams.apiKeys = params.apiKeys;
|
|
429
|
+
}
|
|
430
|
+
if (params.configurationId) {
|
|
431
|
+
promptParams.configurationId = params.configurationId;
|
|
432
|
+
}
|
|
415
433
|
}
|
|
416
|
-
promptParams.childPrompts = [
|
|
417
|
-
new ai_core_plus_1.ChildPromptParam(childPromptParams, agentType.AgentPromptPlaceholder)
|
|
418
|
-
];
|
|
419
434
|
if (params.agent.ModelSelectionMode === 'Agent') {
|
|
420
435
|
promptParams.modelSelectionPrompt = childPrompt;
|
|
421
436
|
this.logStatus(`🎯 Agent '${params.agent.Name}' configured to use its own prompt for model selection`, true, params);
|
|
@@ -441,7 +456,7 @@ class BaseAgent {
|
|
|
441
456
|
this.logStatus(`🤔 Processing next step for agent '${params.agent.Name}' with agent type '${agentType.Name}'`, true, params);
|
|
442
457
|
const agentTypeInstance = await base_agent_type_1.BaseAgentType.GetAgentTypeInstance(agentType);
|
|
443
458
|
this.logStatus(`🎯 Agent type '${agentType.Name}' determining next step`, true, params);
|
|
444
|
-
const nextStep = await agentTypeInstance.DetermineNextStep(promptResult,
|
|
459
|
+
const nextStep = await agentTypeInstance.DetermineNextStep(promptResult, params);
|
|
445
460
|
return nextStep;
|
|
446
461
|
}
|
|
447
462
|
async validateNextStep(params, nextStep, currentPayload, agentRun, currentStep) {
|
|
@@ -1133,7 +1148,7 @@ class BaseAgent {
|
|
|
1133
1148
|
return await this.createFailureResult(`Validation error: ${error.message}`, contextUser);
|
|
1134
1149
|
}
|
|
1135
1150
|
}
|
|
1136
|
-
async createStepEntity(stepType, stepName, contextUser, targetId, inputData, targetLogId) {
|
|
1151
|
+
async createStepEntity(stepType, stepName, contextUser, targetId, inputData, targetLogId, payloadAtStart) {
|
|
1137
1152
|
const stepEntity = await this._metadata.GetEntityObject('MJ: AI Agent Run Steps', contextUser);
|
|
1138
1153
|
stepEntity.AgentRunID = this._agentRun.ID;
|
|
1139
1154
|
stepEntity.StepNumber = (this._agentRun.Steps?.length || 0) + 1;
|
|
@@ -1148,6 +1163,7 @@ class BaseAgent {
|
|
|
1148
1163
|
stepEntity.TargetLogID = targetLogId || null;
|
|
1149
1164
|
stepEntity.Status = 'Running';
|
|
1150
1165
|
stepEntity.StartedAt = new Date();
|
|
1166
|
+
stepEntity.PayloadAtStart = payloadAtStart ? JSON.stringify(payloadAtStart) : null;
|
|
1151
1167
|
if (inputData) {
|
|
1152
1168
|
stepEntity.InputData = JSON.stringify({
|
|
1153
1169
|
...inputData,
|
|
@@ -1237,15 +1253,25 @@ class BaseAgent {
|
|
|
1237
1253
|
}
|
|
1238
1254
|
async executeNextStep(params, config, previousDecision) {
|
|
1239
1255
|
if (!previousDecision) {
|
|
1256
|
+
const agentTypeInstance = await base_agent_type_1.BaseAgentType.GetAgentTypeInstance(config.agentType);
|
|
1257
|
+
const initialStep = await agentTypeInstance.DetermineInitialStep(params);
|
|
1258
|
+
if (initialStep) {
|
|
1259
|
+
return initialStep;
|
|
1260
|
+
}
|
|
1240
1261
|
return await this.executePromptStep(params, config);
|
|
1241
1262
|
}
|
|
1242
1263
|
switch (previousDecision.step) {
|
|
1243
1264
|
case 'Retry':
|
|
1265
|
+
const agentTypeInstance = await base_agent_type_1.BaseAgentType.GetAgentTypeInstance(config.agentType);
|
|
1266
|
+
const customRetryStep = await agentTypeInstance.PreProcessRetryStep(params, previousDecision);
|
|
1267
|
+
if (customRetryStep) {
|
|
1268
|
+
return customRetryStep;
|
|
1269
|
+
}
|
|
1244
1270
|
return await this.executePromptStep(params, config, previousDecision);
|
|
1245
1271
|
case 'Sub-Agent':
|
|
1246
1272
|
return await this.executeSubAgentStep(params, previousDecision);
|
|
1247
1273
|
case 'Actions':
|
|
1248
|
-
return await this.executeActionsStep(params, previousDecision);
|
|
1274
|
+
return await this.executeActionsStep(params, config, previousDecision);
|
|
1249
1275
|
case 'Chat':
|
|
1250
1276
|
return await this.executeChatStep(params, previousDecision);
|
|
1251
1277
|
case 'Success':
|
|
@@ -1288,7 +1314,8 @@ class BaseAgent {
|
|
|
1288
1314
|
} : undefined,
|
|
1289
1315
|
conversationMessages: params.conversationMessages,
|
|
1290
1316
|
};
|
|
1291
|
-
const
|
|
1317
|
+
const payload = previousDecision?.newPayload || params.payload;
|
|
1318
|
+
const stepEntity = await this.createStepEntity('Prompt', 'Execute Agent Prompt', params.contextUser, config.childPrompt?.ID, inputData, undefined, payload);
|
|
1292
1319
|
try {
|
|
1293
1320
|
const isRetry = !!previousDecision;
|
|
1294
1321
|
const promptMessage = isRetry
|
|
@@ -1305,7 +1332,6 @@ class BaseAgent {
|
|
|
1305
1332
|
},
|
|
1306
1333
|
displayMode: 'live'
|
|
1307
1334
|
});
|
|
1308
|
-
const payload = previousDecision?.newPayload || params.payload;
|
|
1309
1335
|
if (stepEntity && payload) {
|
|
1310
1336
|
stepEntity.PayloadAtStart = JSON.stringify(payload);
|
|
1311
1337
|
}
|
|
@@ -1404,12 +1430,16 @@ class BaseAgent {
|
|
|
1404
1430
|
}
|
|
1405
1431
|
}
|
|
1406
1432
|
catch (error) {
|
|
1433
|
+
const payload = stepEntity.PayloadAtEnd ? JSON.parse(stepEntity.PayloadAtEnd) : previousDecision?.newPayload || params.payload;
|
|
1434
|
+
stepEntity.PayloadAtEnd = payload ? JSON.stringify(payload) : null;
|
|
1407
1435
|
await this.finalizeStepEntity(stepEntity, false, error.message);
|
|
1408
1436
|
const errString = error?.message || error || 'Unknown error';
|
|
1409
1437
|
return {
|
|
1410
1438
|
errorMessage: `Prompt execution failed: ${errString}`,
|
|
1411
1439
|
step: 'Failed',
|
|
1412
1440
|
terminate: false,
|
|
1441
|
+
previousPayload: payload,
|
|
1442
|
+
newPayload: payload
|
|
1413
1443
|
};
|
|
1414
1444
|
}
|
|
1415
1445
|
}
|
|
@@ -1445,7 +1475,7 @@ class BaseAgent {
|
|
|
1445
1475
|
if (!subAgentEntity) {
|
|
1446
1476
|
throw new Error(`Sub-agent '${subAgentRequest.name}' not found`);
|
|
1447
1477
|
}
|
|
1448
|
-
const stepEntity = await this.createStepEntity('Sub-Agent', `Execute Sub-Agent: ${subAgentRequest.name}`, params.contextUser, subAgentEntity.ID, inputData);
|
|
1478
|
+
const stepEntity = await this.createStepEntity('Sub-Agent', `Execute Sub-Agent: ${subAgentRequest.name}`, params.contextUser, subAgentEntity.ID, inputData, undefined, previousDecision.newPayload);
|
|
1449
1479
|
this.incrementExecutionCount(subAgentEntity.ID);
|
|
1450
1480
|
try {
|
|
1451
1481
|
let downstreamPaths = ['*'];
|
|
@@ -1608,16 +1638,21 @@ class BaseAgent {
|
|
|
1608
1638
|
};
|
|
1609
1639
|
}
|
|
1610
1640
|
catch (error) {
|
|
1641
|
+
const payload = stepEntity.PayloadAtEnd ? JSON.parse(stepEntity.PayloadAtEnd) : previousDecision?.newPayload || params.payload;
|
|
1642
|
+
stepEntity.PayloadAtEnd = payload ? JSON.stringify(payload) : null;
|
|
1611
1643
|
await this.finalizeStepEntity(stepEntity, false, error.message);
|
|
1612
1644
|
return {
|
|
1613
1645
|
errorMessage: `Sub-agent execution failed: ${error.message}`,
|
|
1614
1646
|
step: 'Failed',
|
|
1615
1647
|
terminate: false,
|
|
1648
|
+
previousPayload: payload,
|
|
1649
|
+
newPayload: payload
|
|
1616
1650
|
};
|
|
1617
1651
|
}
|
|
1618
1652
|
}
|
|
1619
|
-
async executeActionsStep(params, previousDecision) {
|
|
1653
|
+
async executeActionsStep(params, config, previousDecision) {
|
|
1620
1654
|
try {
|
|
1655
|
+
const currentPayload = previousDecision?.newPayload || previousDecision?.previousPayload || params.payload;
|
|
1621
1656
|
const actions = previousDecision.actions || [];
|
|
1622
1657
|
if (params.cancellationToken?.aborted) {
|
|
1623
1658
|
throw new Error('Cancelled before action execution');
|
|
@@ -1674,14 +1709,24 @@ class BaseAgent {
|
|
|
1674
1709
|
});
|
|
1675
1710
|
const actionEngine = actions_1.ActionEngineServer.Instance;
|
|
1676
1711
|
const agentActions = aiengine_1.AIEngine.Instance.AgentActions.filter(aa => aa.AgentID === params.agent.ID);
|
|
1712
|
+
try {
|
|
1713
|
+
const agentTypeInstance = await base_agent_type_1.BaseAgentType.GetAgentTypeInstance(config.agentType);
|
|
1714
|
+
const currentPayload = previousDecision?.newPayload || previousDecision?.previousPayload || params.payload;
|
|
1715
|
+
await agentTypeInstance.PreProcessActionStep(actions, currentPayload, previousDecision);
|
|
1716
|
+
}
|
|
1717
|
+
catch (error) {
|
|
1718
|
+
(0, core_1.LogError)(`Error in PreProcessActionStep: ${error.message}`);
|
|
1719
|
+
}
|
|
1677
1720
|
let numActionsProcessed = 0;
|
|
1678
1721
|
const baseStepNumber = (this._agentRun.Steps?.length || 0) + 1;
|
|
1722
|
+
let lastStep = undefined;
|
|
1679
1723
|
const actionPromises = actions.map(async (aa) => {
|
|
1680
1724
|
const actionEntity = actionEngine.Actions.find(a => a.Name === aa.name && agentActions.some(aa => aa.ActionID === a.ID));
|
|
1681
1725
|
if (!actionEntity) {
|
|
1682
1726
|
throw new Error(`Action "${aa.name}" Not Found for Agent "${params.agent.Name}"`);
|
|
1683
1727
|
}
|
|
1684
|
-
const stepEntity = await this.createStepEntity('Actions', `Execute Action: ${aa.name}`, params.contextUser, actionEntity.ID);
|
|
1728
|
+
const stepEntity = await this.createStepEntity('Actions', `Execute Action: ${aa.name}`, params.contextUser, actionEntity.ID, undefined, undefined, currentPayload);
|
|
1729
|
+
lastStep = stepEntity;
|
|
1685
1730
|
stepEntity.StepNumber = baseStepNumber + numActionsProcessed++;
|
|
1686
1731
|
this.incrementExecutionCount(actionEntity.ID);
|
|
1687
1732
|
let actionResult;
|
|
@@ -1727,11 +1772,42 @@ class BaseAgent {
|
|
|
1727
1772
|
role: 'user',
|
|
1728
1773
|
content: resultsMessage
|
|
1729
1774
|
});
|
|
1775
|
+
let finalPayload = currentPayload;
|
|
1776
|
+
try {
|
|
1777
|
+
const agentTypeInstance = await base_agent_type_1.BaseAgentType.GetAgentTypeInstance(config.agentType);
|
|
1778
|
+
const actionResultsOnly = actionResults.map(r => r.result).filter(r => r !== undefined);
|
|
1779
|
+
const payloadChangeRequest = await agentTypeInstance.PostProcessActionStep(actionResultsOnly, actions, currentPayload, previousDecision);
|
|
1780
|
+
if (payloadChangeRequest) {
|
|
1781
|
+
const allowedPaths = params.agent.PayloadSelfWritePaths
|
|
1782
|
+
? JSON.parse(params.agent.PayloadSelfWritePaths)
|
|
1783
|
+
: undefined;
|
|
1784
|
+
const changeResult = this._payloadManager.applyAgentChangeRequest(currentPayload, payloadChangeRequest, {
|
|
1785
|
+
validateChanges: true,
|
|
1786
|
+
logChanges: true,
|
|
1787
|
+
agentName: params.agent.Name,
|
|
1788
|
+
analyzeChanges: true,
|
|
1789
|
+
generateDiff: true,
|
|
1790
|
+
allowedPaths: allowedPaths,
|
|
1791
|
+
verbose: params.verbose === true || (0, core_1.IsVerboseLoggingEnabled)()
|
|
1792
|
+
});
|
|
1793
|
+
finalPayload = changeResult.result;
|
|
1794
|
+
if (lastStep) {
|
|
1795
|
+
lastStep.PayloadAtEnd = JSON.stringify(finalPayload);
|
|
1796
|
+
await lastStep.Save();
|
|
1797
|
+
}
|
|
1798
|
+
if (changeResult.warnings.length > 0 && (params.verbose === true || (0, core_1.IsVerboseLoggingEnabled)())) {
|
|
1799
|
+
(0, core_1.LogStatus)(`Action post-processing payload warnings: ${changeResult.warnings.join('; ')}`);
|
|
1800
|
+
}
|
|
1801
|
+
}
|
|
1802
|
+
}
|
|
1803
|
+
catch (error) {
|
|
1804
|
+
(0, core_1.LogError)(`Error in PostProcessActionStep: ${error.message}`);
|
|
1805
|
+
}
|
|
1730
1806
|
return {
|
|
1731
1807
|
terminate: false,
|
|
1732
1808
|
step: 'Retry',
|
|
1733
1809
|
previousPayload: previousDecision?.previousPayload || null,
|
|
1734
|
-
newPayload:
|
|
1810
|
+
newPayload: finalPayload,
|
|
1735
1811
|
priorStepResult: actionSummaries,
|
|
1736
1812
|
retryReason: failedActions.length > 0
|
|
1737
1813
|
? `Processing results with ${failedActions.length} failed action(s): ${failedActions.map(a => a.actionName).join(', ')}`
|
|
@@ -1743,7 +1819,9 @@ class BaseAgent {
|
|
|
1743
1819
|
terminate: false,
|
|
1744
1820
|
step: 'Retry',
|
|
1745
1821
|
errorMessage: e && e.message ? e.message : e ? e : 'Unknown error executing actions',
|
|
1746
|
-
retryReason: 'Error while processing actions, retry'
|
|
1822
|
+
retryReason: 'Error while processing actions, retry',
|
|
1823
|
+
newPayload: previousDecision?.newPayload || null,
|
|
1824
|
+
previousPayload: previousDecision?.previousPayload || null,
|
|
1747
1825
|
};
|
|
1748
1826
|
}
|
|
1749
1827
|
}
|
|
@@ -1757,7 +1835,7 @@ class BaseAgent {
|
|
|
1757
1835
|
reasoning: previousDecision.reasoning,
|
|
1758
1836
|
confidence: previousDecision.confidence,
|
|
1759
1837
|
previousPayload: previousDecision.previousPayload,
|
|
1760
|
-
newPayload: previousDecision.previousPayload,
|
|
1838
|
+
newPayload: previousDecision.newPayload || previousDecision.previousPayload,
|
|
1761
1839
|
};
|
|
1762
1840
|
}
|
|
1763
1841
|
async createFailureResult(errorMessage, contextUser) {
|