@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.
- package/README.md +182 -1357
- package/dist/AgentRunner.d.ts.map +1 -1
- package/dist/AgentRunner.js +10 -5
- package/dist/AgentRunner.js.map +1 -1
- package/dist/PayloadManager.d.ts +48 -0
- package/dist/PayloadManager.d.ts.map +1 -0
- package/dist/PayloadManager.js +478 -0
- package/dist/PayloadManager.js.map +1 -0
- package/dist/agent-types/base-agent-type.d.ts +7 -2
- package/dist/agent-types/base-agent-type.d.ts.map +1 -1
- package/dist/agent-types/base-agent-type.js +28 -0
- package/dist/agent-types/base-agent-type.js.map +1 -1
- package/dist/agent-types/loop-agent-response-type.d.ts +4 -3
- package/dist/agent-types/loop-agent-response-type.d.ts.map +1 -1
- package/dist/agent-types/loop-agent-type.d.ts +4 -3
- package/dist/agent-types/loop-agent-type.d.ts.map +1 -1
- package/dist/agent-types/loop-agent-type.js +53 -30
- package/dist/agent-types/loop-agent-type.js.map +1 -1
- package/dist/base-agent.d.ts +21 -19
- package/dist/base-agent.d.ts.map +1 -1
- package/dist/base-agent.js +344 -520
- package/dist/base-agent.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +12 -10
|
@@ -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":";;;
|
|
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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
import { AgentPayloadChangeRequest } from "@memberjunction/ai-core-plus";
|
|
2
|
+
export interface LoopAgentResponse<P = any> {
|
|
2
3
|
taskComplete: boolean;
|
|
3
4
|
message: string;
|
|
4
|
-
|
|
5
|
+
payloadChangeRequest?: AgentPayloadChangeRequest<P>;
|
|
5
6
|
reasoning: string;
|
|
6
7
|
confidence?: number;
|
|
7
8
|
nextStep?: {
|
|
8
|
-
type: '
|
|
9
|
+
type: 'Actions' | 'Sub-Agent' | 'Chat';
|
|
9
10
|
actions?: Array<{
|
|
10
11
|
id: string;
|
|
11
12
|
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":"
|
|
1
|
+
{"version":3,"file":"loop-agent-response-type.d.ts","sourceRoot":"","sources":["../../src/agent-types/loop-agent-response-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAYzE,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,GAAG;IAMtC,YAAY,EAAE,OAAO,CAAC;IAkBtB,OAAO,EAAE,MAAM,CAAC;IAOhB,oBAAoB,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;IAOpD,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,10 @@
|
|
|
1
1
|
import { BaseAgentType } from './base-agent-type';
|
|
2
|
-
import { AIPromptRunResult, BaseAgentNextStep } from '@memberjunction/ai-core-plus';
|
|
3
|
-
import { LoopAgentResponse } from './loop-agent-response-type';
|
|
2
|
+
import { AIPromptRunResult, BaseAgentNextStep, AIPromptParams } from '@memberjunction/ai-core-plus';
|
|
4
3
|
export declare class LoopAgentType extends BaseAgentType {
|
|
5
|
-
DetermineNextStep(promptResult: AIPromptRunResult): Promise<BaseAgentNextStep<
|
|
4
|
+
DetermineNextStep<P>(promptResult: AIPromptRunResult): Promise<BaseAgentNextStep<P>>;
|
|
6
5
|
private isValidLoopResponse;
|
|
6
|
+
static CURRENT_PAYLOAD_PLACHOLDER: string;
|
|
7
|
+
InjectPayload<T = any>(payload: T, prompt: AIPromptParams): Promise<void>;
|
|
7
8
|
}
|
|
8
9
|
export declare function LoadLoopAgentType(): void;
|
|
9
10
|
//# 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,
|
|
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;AAsCpG,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;IAoF3B,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"}
|
|
@@ -5,18 +5,19 @@ 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;
|
|
8
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
10
|
exports.LoadLoopAgentType = exports.LoopAgentType = void 0;
|
|
10
11
|
const global_1 = require("@memberjunction/global");
|
|
11
12
|
const base_agent_type_1 = require("./base-agent-type");
|
|
12
13
|
const core_1 = require("@memberjunction/core");
|
|
13
|
-
let LoopAgentType = class LoopAgentType extends base_agent_type_1.BaseAgentType {
|
|
14
|
+
let LoopAgentType = LoopAgentType_1 = class LoopAgentType extends base_agent_type_1.BaseAgentType {
|
|
14
15
|
async DetermineNextStep(promptResult) {
|
|
15
16
|
try {
|
|
16
17
|
if (!promptResult.success || !promptResult.result) {
|
|
17
18
|
return {
|
|
18
19
|
terminate: false,
|
|
19
|
-
step: '
|
|
20
|
+
step: 'Failed',
|
|
20
21
|
errorMessage: promptResult.errorMessage || 'Prompt execution failed'
|
|
21
22
|
};
|
|
22
23
|
}
|
|
@@ -32,46 +33,51 @@ let LoopAgentType = class LoopAgentType extends base_agent_type_1.BaseAgentType
|
|
|
32
33
|
catch (parseError) {
|
|
33
34
|
return {
|
|
34
35
|
terminate: false,
|
|
35
|
-
step: '
|
|
36
|
+
step: 'Failed',
|
|
36
37
|
errorMessage: `Failed to parse JSON response: ${parseError.message}`
|
|
37
38
|
};
|
|
38
39
|
}
|
|
39
40
|
if (!this.isValidLoopResponse(response)) {
|
|
40
41
|
return {
|
|
41
42
|
terminate: false,
|
|
42
|
-
step: '
|
|
43
|
+
step: 'Failed',
|
|
43
44
|
errorMessage: 'Invalid response structure from loop agent prompt'
|
|
44
45
|
};
|
|
45
46
|
}
|
|
46
47
|
if (response.taskComplete) {
|
|
47
|
-
(0, core_1.
|
|
48
|
+
(0, core_1.LogStatusEx)({
|
|
49
|
+
message: '✅ Loop Agent: Task completed successfully. Message: ' + response.message,
|
|
50
|
+
verboseOnly: true
|
|
51
|
+
});
|
|
48
52
|
return {
|
|
49
53
|
terminate: response.taskComplete,
|
|
50
|
-
|
|
51
|
-
|
|
54
|
+
message: response.message,
|
|
55
|
+
reasoning: response.reasoning,
|
|
56
|
+
confidence: response.confidence,
|
|
57
|
+
step: 'Success',
|
|
58
|
+
payloadChangeRequest: response.payloadChangeRequest,
|
|
52
59
|
};
|
|
53
60
|
}
|
|
54
61
|
if (!response.nextStep) {
|
|
55
62
|
return {
|
|
56
63
|
terminate: false,
|
|
57
|
-
step: '
|
|
64
|
+
step: 'Failed',
|
|
58
65
|
errorMessage: 'Task not complete but no next step provided'
|
|
59
66
|
};
|
|
60
67
|
}
|
|
61
68
|
const retVal = {
|
|
62
|
-
|
|
69
|
+
payloadChangeRequest: response.payloadChangeRequest,
|
|
63
70
|
terminate: response.taskComplete
|
|
64
71
|
};
|
|
65
72
|
switch (response.nextStep.type) {
|
|
66
|
-
case '
|
|
73
|
+
case 'Sub-Agent':
|
|
67
74
|
if (!response.nextStep.subAgent) {
|
|
68
|
-
retVal.step = '
|
|
75
|
+
retVal.step = 'Failed';
|
|
69
76
|
retVal.errorMessage = 'Sub-agent details not specified';
|
|
70
77
|
}
|
|
71
78
|
else {
|
|
72
|
-
retVal.step = '
|
|
79
|
+
retVal.step = 'Sub-Agent';
|
|
73
80
|
retVal.subAgent = {
|
|
74
|
-
id: response.nextStep.subAgent.id,
|
|
75
81
|
name: response.nextStep.subAgent.name,
|
|
76
82
|
message: response.nextStep.subAgent.message,
|
|
77
83
|
terminateAfter: response.nextStep.subAgent.terminateAfter,
|
|
@@ -79,13 +85,13 @@ let LoopAgentType = class LoopAgentType extends base_agent_type_1.BaseAgentType
|
|
|
79
85
|
};
|
|
80
86
|
}
|
|
81
87
|
break;
|
|
82
|
-
case '
|
|
88
|
+
case 'Actions':
|
|
83
89
|
if (!response.nextStep.actions || response.nextStep.actions.length === 0) {
|
|
84
|
-
retVal.step = '
|
|
90
|
+
retVal.step = 'Failed';
|
|
85
91
|
retVal.errorMessage = 'Actions not specified for action type';
|
|
86
92
|
}
|
|
87
93
|
else {
|
|
88
|
-
retVal.step = '
|
|
94
|
+
retVal.step = 'Actions',
|
|
89
95
|
retVal.actions = response.nextStep.actions.map(action => ({
|
|
90
96
|
id: action.id,
|
|
91
97
|
name: action.name,
|
|
@@ -93,19 +99,19 @@ let LoopAgentType = class LoopAgentType extends base_agent_type_1.BaseAgentType
|
|
|
93
99
|
}));
|
|
94
100
|
}
|
|
95
101
|
break;
|
|
96
|
-
case '
|
|
102
|
+
case 'Chat':
|
|
97
103
|
if (!response.message) {
|
|
98
|
-
retVal.step = '
|
|
104
|
+
retVal.step = 'Failed';
|
|
99
105
|
retVal.errorMessage = 'Chat type specified but no user message provided';
|
|
100
106
|
}
|
|
101
107
|
else {
|
|
102
|
-
retVal.step = '
|
|
103
|
-
retVal.
|
|
108
|
+
retVal.step = 'Chat';
|
|
109
|
+
retVal.message = response.message;
|
|
104
110
|
retVal.terminate = true;
|
|
105
111
|
}
|
|
106
112
|
break;
|
|
107
113
|
default:
|
|
108
|
-
retVal.step = '
|
|
114
|
+
retVal.step = 'Failed';
|
|
109
115
|
retVal.errorMessage = `Unknown next step type: ${response.nextStep.type}`;
|
|
110
116
|
break;
|
|
111
117
|
}
|
|
@@ -115,12 +121,13 @@ let LoopAgentType = class LoopAgentType extends base_agent_type_1.BaseAgentType
|
|
|
115
121
|
(0, core_1.LogError)(`Error in LoopAgentType.DetermineNextStep: ${error.message}`);
|
|
116
122
|
return {
|
|
117
123
|
terminate: false,
|
|
118
|
-
step: '
|
|
124
|
+
step: 'Failed',
|
|
119
125
|
errorMessage: `Failed to parse loop agent response: ${error.message}`
|
|
120
126
|
};
|
|
121
127
|
}
|
|
122
128
|
}
|
|
123
|
-
isValidLoopResponse(
|
|
129
|
+
isValidLoopResponse(simpleResponse) {
|
|
130
|
+
const response = simpleResponse;
|
|
124
131
|
if (typeof response !== 'object' || response === null) {
|
|
125
132
|
return false;
|
|
126
133
|
}
|
|
@@ -133,29 +140,45 @@ let LoopAgentType = class LoopAgentType extends base_agent_type_1.BaseAgentType
|
|
|
133
140
|
return false;
|
|
134
141
|
}
|
|
135
142
|
if (!response.taskComplete && !response.nextStep) {
|
|
136
|
-
(
|
|
137
|
-
|
|
143
|
+
if (response.message?.trim().length > 0) {
|
|
144
|
+
response.nextStep = {
|
|
145
|
+
type: 'Chat'
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
(0, core_1.LogError)('LoopAgentResponse requires nextStep when taskComplete is false');
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
138
152
|
}
|
|
139
153
|
if (response.nextStep) {
|
|
140
|
-
const validStepTypes = ['
|
|
141
|
-
|
|
154
|
+
const validStepTypes = ['actions', 'sub-agent', 'chat'];
|
|
155
|
+
const lcaseType = response.nextStep.type?.toLowerCase().trim();
|
|
156
|
+
if (!validStepTypes.includes(lcaseType)) {
|
|
142
157
|
(0, core_1.LogError)(`LoopAgentResponse has invalid nextStep.type: ${response.nextStep.type}`);
|
|
143
158
|
return false;
|
|
144
159
|
}
|
|
145
|
-
if (
|
|
160
|
+
if (lcaseType === 'actions' && !response.nextStep.actions) {
|
|
146
161
|
(0, core_1.LogError)('LoopAgentResponse requires actions array for action type');
|
|
147
162
|
return false;
|
|
148
163
|
}
|
|
149
|
-
if (
|
|
164
|
+
if (lcaseType === 'sub-agent' && !response.nextStep.subAgent) {
|
|
150
165
|
(0, core_1.LogError)('LoopAgentResponse requires subAgent object for sub-agent type');
|
|
151
166
|
return false;
|
|
152
167
|
}
|
|
153
168
|
}
|
|
154
169
|
return true;
|
|
155
170
|
}
|
|
171
|
+
async InjectPayload(payload, prompt) {
|
|
172
|
+
if (!prompt)
|
|
173
|
+
throw new Error('Prompt parameters are required for payload injection');
|
|
174
|
+
if (!prompt.data)
|
|
175
|
+
prompt.data = {};
|
|
176
|
+
prompt.data[LoopAgentType_1.CURRENT_PAYLOAD_PLACHOLDER] = payload || {};
|
|
177
|
+
}
|
|
156
178
|
};
|
|
157
179
|
exports.LoopAgentType = LoopAgentType;
|
|
158
|
-
|
|
180
|
+
LoopAgentType.CURRENT_PAYLOAD_PLACHOLDER = '_CURRENT_PAYLOAD';
|
|
181
|
+
exports.LoopAgentType = LoopAgentType = LoopAgentType_1 = __decorate([
|
|
159
182
|
(0, global_1.RegisterClass)(base_agent_type_1.BaseAgentType, "LoopAgentType")
|
|
160
183
|
], LoopAgentType);
|
|
161
184
|
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
CHANGED
|
@@ -1,35 +1,42 @@
|
|
|
1
|
-
import { AIAgentEntity, AIAgentTypeEntity, TemplateParamEntity,
|
|
1
|
+
import { AIAgentEntity, AIAgentTypeEntity, AIAgentRunStepEntityExtended, TemplateParamEntity, AIAgentEntityExtended } from '@memberjunction/core-entities';
|
|
2
2
|
import { UserInfo } from '@memberjunction/core';
|
|
3
3
|
import { ChatMessage } from '@memberjunction/ai';
|
|
4
4
|
import { AIPromptParams, AIPromptRunResult, ExecuteAgentParams, AgentConfiguration, ExecuteAgentResult, AgentAction, AgentSubAgentRequest, BaseAgentNextStep } from '@memberjunction/ai-core-plus';
|
|
5
|
-
import { ActionResult } from '@memberjunction/actions-base';
|
|
5
|
+
import { ActionEntityExtended, ActionResult } from '@memberjunction/actions-base';
|
|
6
6
|
export declare class BaseAgent {
|
|
7
7
|
private _promptRunner;
|
|
8
8
|
private _metadata;
|
|
9
|
-
private _runContext;
|
|
10
9
|
private _agentRun;
|
|
11
|
-
private
|
|
10
|
+
private _agentHierarchy;
|
|
11
|
+
private _depth;
|
|
12
12
|
private _allProgressSteps;
|
|
13
13
|
private _subAgentRuns;
|
|
14
|
+
private _payloadManager;
|
|
15
|
+
protected logStatus(message: string, verboseOnly?: boolean, params?: ExecuteAgentParams): void;
|
|
16
|
+
protected logError(error: Error | string, options?: {
|
|
17
|
+
category?: string;
|
|
18
|
+
metadata?: Record<string, any>;
|
|
19
|
+
agent?: AIAgentEntity;
|
|
20
|
+
agentType?: AIAgentTypeEntity;
|
|
21
|
+
severity?: 'warning' | 'error' | 'critical';
|
|
22
|
+
}): void;
|
|
14
23
|
private wrapProgressCallback;
|
|
15
24
|
Execute<C = any, R = any>(params: ExecuteAgentParams<C>): Promise<ExecuteAgentResult<R>>;
|
|
16
|
-
protected executeAgentInternal<
|
|
17
|
-
finalStep: BaseAgentNextStep<
|
|
25
|
+
protected executeAgentInternal<P = any>(params: ExecuteAgentParams, config: AgentConfiguration): Promise<{
|
|
26
|
+
finalStep: BaseAgentNextStep<P>;
|
|
18
27
|
stepCount: number;
|
|
19
28
|
}>;
|
|
20
29
|
protected initializeEngines(contextUser?: UserInfo): Promise<void>;
|
|
21
30
|
protected validateAgent(agent: AIAgentEntity): Promise<ExecuteAgentResult | null>;
|
|
22
31
|
protected loadAgentConfiguration(agent: AIAgentEntity): Promise<AgentConfiguration>;
|
|
23
|
-
protected preparePromptParams(
|
|
32
|
+
protected preparePromptParams<P>(config: AgentConfiguration, payload: P, params: ExecuteAgentParams): Promise<AIPromptParams>;
|
|
24
33
|
protected executePrompt(promptParams: AIPromptParams): Promise<AIPromptRunResult>;
|
|
25
|
-
protected processNextStep<
|
|
34
|
+
protected processNextStep<P>(params: ExecuteAgentParams, agentType: AIAgentTypeEntity, promptResult: AIPromptRunResult): Promise<BaseAgentNextStep<P>>;
|
|
26
35
|
protected createActionResultMessage(actions: AgentAction[], results: ActionResult[]): ChatMessage;
|
|
27
36
|
protected createSubAgentResultMessage(subAgent: AgentSubAgentRequest, result: ExecuteAgentResult): ChatMessage;
|
|
28
37
|
private gatherPromptTemplateData;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
ExecuteSingleAction(params: ExecuteAgentParams, action: AgentAction, contextUser?: UserInfo): Promise<ActionResult>;
|
|
32
|
-
protected ExecuteSubAgent<SC = any, SR = any>(params: ExecuteAgentParams<SC>, subAgentRequest: AgentSubAgentRequest<SC>): Promise<ExecuteAgentResult<SR>>;
|
|
38
|
+
ExecuteSingleAction(params: ExecuteAgentParams, action: AgentAction, actionEntity: ActionEntityExtended, contextUser?: UserInfo): Promise<ActionResult>;
|
|
39
|
+
protected ExecuteSubAgent<SC = any, SR = any>(params: ExecuteAgentParams<SC>, subAgentRequest: AgentSubAgentRequest<SC>, subAgent: AIAgentEntityExtended, stepEntity: AIAgentRunStepEntityExtended, payload?: SR): Promise<ExecuteAgentResult<SR>>;
|
|
33
40
|
private formatSubAgentDetails;
|
|
34
41
|
protected getAgentPromptParameters(agent: AIAgentEntity): Array<TemplateParamEntity>;
|
|
35
42
|
protected getAgentPromptParametersJSON(agent: AIAgentEntity): string;
|
|
@@ -38,13 +45,13 @@ export declare class BaseAgent {
|
|
|
38
45
|
private getAgentTypeName;
|
|
39
46
|
private getValueListItems;
|
|
40
47
|
private getActionCategoryName;
|
|
41
|
-
private inferResultCodeUsage;
|
|
42
48
|
private initializeAgentRun;
|
|
43
49
|
private validateAgentWithTracking;
|
|
44
50
|
private createStepEntity;
|
|
45
51
|
private finalizeStepEntity;
|
|
46
52
|
private formatHierarchicalMessage;
|
|
47
|
-
|
|
53
|
+
private getNextStepReasoning;
|
|
54
|
+
protected executeNextStep<P = any>(params: ExecuteAgentParams, config: AgentConfiguration, previousDecision: BaseAgentNextStep<P> | null): Promise<BaseAgentNextStep<P>>;
|
|
48
55
|
private executePromptStep;
|
|
49
56
|
private executeSubAgentStep;
|
|
50
57
|
private executeActionsStep;
|
|
@@ -52,11 +59,6 @@ export declare class BaseAgent {
|
|
|
52
59
|
private createFailureResult;
|
|
53
60
|
private createCancelledResult;
|
|
54
61
|
private finalizeAgentRun;
|
|
55
|
-
private countStepsInTree;
|
|
56
62
|
private calculateTokenStats;
|
|
57
|
-
private buildExecutionTree;
|
|
58
|
-
private sortExecutionTreeByStepNumber;
|
|
59
|
-
private getNextStepReasoning;
|
|
60
|
-
private getNextStepDetails;
|
|
61
63
|
}
|
|
62
64
|
//# sourceMappingURL=base-agent.d.ts.map
|
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,
|
|
1
|
+
{"version":3,"file":"base-agent.d.ts","sourceRoot":"","sources":["../src/base-agent.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAA4B,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;AA+ClF,qBAAa,SAAS;IAKlB,OAAO,CAAC,aAAa,CAAwC;IAM7D,OAAO,CAAC,SAAS,CAA4B;IAM7C,OAAO,CAAC,SAAS,CAAyC;IAO1D,OAAO,CAAC,eAAe,CAAgB;IAMvC,OAAO,CAAC,MAAM,CAAa;IAO3B,OAAO,CAAC,iBAAiB,CAAa;IAMtC,OAAO,CAAC,aAAa,CAA4B;IAMjD,OAAO,CAAC,eAAe,CAAwC;IAQ/D,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;cAyGrF,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;cAsChD,iBAAiB,CAAC,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;cAYxD,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;cAwBvE,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC;cAoEzE,mBAAmB,CAAC,CAAC,EACjC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,CAAC,EACV,MAAM,EAAE,kBAAkB,GAC3B,OAAO,CAAC,cAAc,CAAC;cAiEV,aAAa,CAAC,YAAY,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;cAavE,eAAe,CAAC,CAAC,EAC7B,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE,iBAAiB,EAC5B,YAAY,EAAE,iBAAiB,GAChC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAuBhC,SAAS,CAAC,yBAAyB,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,WAAW;IAiCjG,SAAS,CAAC,2BAA2B,CAAC,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,kBAAkB,GAAG,WAAW;YA0BhG,wBAAwB;IAmDzB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,oBAAoB,EAChH,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC;cAuElC,eAAe,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAC9C,MAAM,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAC9B,eAAe,EAAE,oBAAoB,CAAC,EAAE,CAAC,EACzC,QAAQ,EAAE,qBAAqB,EAC/B,UAAU,EAAE,4BAA4B,EACxC,OAAO,CAAC,EAAE,EAAE,GACb,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAwElC,OAAO,CAAC,qBAAqB;IAkB7B,SAAS,CAAC,wBAAwB,CAAC,KAAK,EAAE,aAAa,GAAG,KAAK,CAAC,mBAAmB,CAAC;IAepF,SAAS,CAAC,4BAA4B,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM;IAkBpE,OAAO,CAAC,mBAAmB;IAgC3B,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,qBAAqB;YAYf,kBAAkB;YAkClB,yBAAyB;YAwCzB,gBAAgB;YAsDhB,kBAAkB;IA8BhC,OAAO,CAAC,yBAAyB;IAkBjC,OAAO,CAAC,oBAAoB;cAiCZ,eAAe,CAAC,CAAC,GAAG,GAAG,EACnC,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,kBAAkB,EAC1B,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,GAC9C,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAyDlB,iBAAiB;YAoLjB,mBAAmB;YAmMnB,kBAAkB;YAiLlB,eAAe;YAuBf,mBAAmB;YA8BnB,qBAAqB;YA4BrB,gBAAgB;IAuC9B,OAAO,CAAC,mBAAmB;CA2B9B"}
|