@memberjunction/ai-agents 2.117.0 → 2.118.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 +409 -3
- package/dist/AgentRunner.d.ts +31 -0
- package/dist/AgentRunner.d.ts.map +1 -1
- package/dist/AgentRunner.js +358 -0
- package/dist/AgentRunner.js.map +1 -1
- package/dist/agent-types/flow-agent-type.d.ts +5 -0
- package/dist/agent-types/flow-agent-type.d.ts.map +1 -1
- package/dist/agent-types/flow-agent-type.js +57 -22
- package/dist/agent-types/flow-agent-type.js.map +1 -1
- package/dist/agent-types/loop-agent-response-type.d.ts +4 -2
- package/dist/agent-types/loop-agent-response-type.d.ts.map +1 -1
- package/dist/agent-types/loop-agent-type.d.ts +3 -1
- package/dist/agent-types/loop-agent-type.d.ts.map +1 -1
- package/dist/agent-types/loop-agent-type.js +39 -3
- package/dist/agent-types/loop-agent-type.js.map +1 -1
- package/dist/base-agent.d.ts +3 -0
- package/dist/base-agent.d.ts.map +1 -1
- package/dist/base-agent.js +54 -5
- package/dist/base-agent.js.map +1 -1
- package/dist/utils/ConversationMessageResolver.d.ts +9 -0
- package/dist/utils/ConversationMessageResolver.d.ts.map +1 -0
- package/dist/utils/ConversationMessageResolver.js +112 -0
- package/dist/utils/ConversationMessageResolver.js.map +1 -0
- package/package.json +10 -10
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ChatMessage } from '@memberjunction/ai';
|
|
2
|
+
export declare class ConversationMessageResolver {
|
|
3
|
+
static resolve(conversationPath: string, conversationMessages: ChatMessage[]): ChatMessage | ChatMessage[] | any | undefined;
|
|
4
|
+
private static getRoleFilter;
|
|
5
|
+
static isConversationReference(value: string): boolean;
|
|
6
|
+
private static getValueFromPath;
|
|
7
|
+
}
|
|
8
|
+
export declare function LoadConversationMessageResolver(): void;
|
|
9
|
+
//# sourceMappingURL=ConversationMessageResolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConversationMessageResolver.d.ts","sourceRoot":"","sources":["../../src/utils/ConversationMessageResolver.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAkCjD,qBAAa,2BAA2B;WAetB,OAAO,CACjB,gBAAgB,EAAE,MAAM,EACxB,oBAAoB,EAAE,WAAW,EAAE,GACpC,WAAW,GAAG,WAAW,EAAE,GAAG,GAAG,GAAG,SAAS;IAgFhD,OAAO,CAAC,MAAM,CAAC,aAAa;WAsBd,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAc7D,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAwClC;AAKD,wBAAgB,+BAA+B,SAE9C"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LoadConversationMessageResolver = exports.ConversationMessageResolver = void 0;
|
|
4
|
+
class ConversationMessageResolver {
|
|
5
|
+
static resolve(conversationPath, conversationMessages) {
|
|
6
|
+
const parts = conversationPath.split('.');
|
|
7
|
+
if (parts[0]?.toLowerCase() !== 'conversation') {
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
const roleSpec = parts[1]?.toLowerCase();
|
|
11
|
+
if (!roleSpec) {
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
if (roleSpec === 'all' && parts.length === 2) {
|
|
15
|
+
return conversationMessages;
|
|
16
|
+
}
|
|
17
|
+
const roleFilter = this.getRoleFilter(roleSpec);
|
|
18
|
+
const filteredMessages = roleFilter
|
|
19
|
+
? conversationMessages.filter(roleFilter)
|
|
20
|
+
: conversationMessages;
|
|
21
|
+
const positionSpec = parts[2];
|
|
22
|
+
if (!positionSpec) {
|
|
23
|
+
return filteredMessages;
|
|
24
|
+
}
|
|
25
|
+
const match = positionSpec.match(/^(first|last)(?:\[(\d+)\])?$/i);
|
|
26
|
+
if (!match) {
|
|
27
|
+
return this.getValueFromPath(filteredMessages, positionSpec);
|
|
28
|
+
}
|
|
29
|
+
const position = match[1].toLowerCase();
|
|
30
|
+
const count = match[2] ? parseInt(match[2], 10) : 1;
|
|
31
|
+
let result;
|
|
32
|
+
if (position === 'last') {
|
|
33
|
+
const selected = filteredMessages.slice(-count);
|
|
34
|
+
result = count === 1 ? selected[0] : selected;
|
|
35
|
+
}
|
|
36
|
+
else if (position === 'first') {
|
|
37
|
+
const selected = filteredMessages.slice(0, count);
|
|
38
|
+
result = count === 1 ? selected[0] : selected;
|
|
39
|
+
}
|
|
40
|
+
if (result === undefined) {
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
if (parts.length > 3) {
|
|
44
|
+
const propertyPath = parts.slice(3).join('.');
|
|
45
|
+
if (Array.isArray(result)) {
|
|
46
|
+
return result.map(item => this.getValueFromPath(item, propertyPath));
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
return this.getValueFromPath(result, propertyPath);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return result;
|
|
53
|
+
}
|
|
54
|
+
static getRoleFilter(roleSpec) {
|
|
55
|
+
switch (roleSpec) {
|
|
56
|
+
case 'all':
|
|
57
|
+
return null;
|
|
58
|
+
case 'user':
|
|
59
|
+
return (msg) => msg.role === 'user';
|
|
60
|
+
case 'assistant':
|
|
61
|
+
case 'ai':
|
|
62
|
+
return (msg) => msg.role === 'assistant';
|
|
63
|
+
case 'system':
|
|
64
|
+
return (msg) => msg.role === 'system';
|
|
65
|
+
default:
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
static isConversationReference(value) {
|
|
70
|
+
return typeof value === 'string' &&
|
|
71
|
+
value.trim().toLowerCase().startsWith('conversation.');
|
|
72
|
+
}
|
|
73
|
+
static getValueFromPath(obj, path) {
|
|
74
|
+
const parts = path.split('.');
|
|
75
|
+
let current = obj;
|
|
76
|
+
for (const part of parts) {
|
|
77
|
+
if (!part)
|
|
78
|
+
continue;
|
|
79
|
+
const arrayMatch = part.match(/^([^[]+)\[(\d+)\]$/);
|
|
80
|
+
if (arrayMatch) {
|
|
81
|
+
const arrayName = arrayMatch[1];
|
|
82
|
+
const index = parseInt(arrayMatch[2], 10);
|
|
83
|
+
if (current && typeof current === 'object' && arrayName in current) {
|
|
84
|
+
current = current[arrayName];
|
|
85
|
+
if (Array.isArray(current) && index >= 0 && index < current.length) {
|
|
86
|
+
current = current[index];
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
return undefined;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
return undefined;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
if (current && typeof current === 'object' && part in current) {
|
|
98
|
+
current = current[part];
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
return undefined;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return current;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
exports.ConversationMessageResolver = ConversationMessageResolver;
|
|
109
|
+
function LoadConversationMessageResolver() {
|
|
110
|
+
}
|
|
111
|
+
exports.LoadConversationMessageResolver = LoadConversationMessageResolver;
|
|
112
|
+
//# sourceMappingURL=ConversationMessageResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConversationMessageResolver.js","sourceRoot":"","sources":["../../src/utils/ConversationMessageResolver.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ai-agents",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.118.0",
|
|
4
4
|
"description": "MemberJunction: AI Agent Execution and Management",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -15,15 +15,15 @@
|
|
|
15
15
|
"author": "MemberJunction.com",
|
|
16
16
|
"license": "ISC",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@memberjunction/core": "2.
|
|
19
|
-
"@memberjunction/global": "2.
|
|
20
|
-
"@memberjunction/core-entities": "2.
|
|
21
|
-
"@memberjunction/ai": "2.
|
|
22
|
-
"@memberjunction/ai-core-plus": "2.
|
|
23
|
-
"@memberjunction/aiengine": "2.
|
|
24
|
-
"@memberjunction/ai-prompts": "2.
|
|
25
|
-
"@memberjunction/actions": "2.
|
|
26
|
-
"@memberjunction/actions-base": "2.
|
|
18
|
+
"@memberjunction/core": "2.118.0",
|
|
19
|
+
"@memberjunction/global": "2.118.0",
|
|
20
|
+
"@memberjunction/core-entities": "2.118.0",
|
|
21
|
+
"@memberjunction/ai": "2.118.0",
|
|
22
|
+
"@memberjunction/ai-core-plus": "2.118.0",
|
|
23
|
+
"@memberjunction/aiengine": "2.118.0",
|
|
24
|
+
"@memberjunction/ai-prompts": "2.118.0",
|
|
25
|
+
"@memberjunction/actions": "2.118.0",
|
|
26
|
+
"@memberjunction/actions-base": "2.118.0",
|
|
27
27
|
"dotenv": "^16.4.1",
|
|
28
28
|
"lodash": "^4.17.21",
|
|
29
29
|
"rxjs": "^7.8.1"
|