@memberjunction/ai-agents 3.4.0 → 4.0.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/dist/AgentDataPreloader.d.ts +117 -1
- package/dist/AgentDataPreloader.d.ts.map +1 -1
- package/dist/AgentDataPreloader.js +156 -58
- package/dist/AgentDataPreloader.js.map +1 -1
- package/dist/AgentRunner.d.ts +212 -0
- package/dist/AgentRunner.d.ts.map +1 -1
- package/dist/AgentRunner.js +354 -103
- package/dist/AgentRunner.js.map +1 -1
- package/dist/PayloadChangeAnalyzer.d.ts +68 -0
- package/dist/PayloadChangeAnalyzer.d.ts.map +1 -1
- package/dist/PayloadChangeAnalyzer.js +68 -32
- package/dist/PayloadChangeAnalyzer.js.map +1 -1
- package/dist/PayloadFeedbackManager.d.ts +57 -1
- package/dist/PayloadFeedbackManager.d.ts.map +1 -1
- package/dist/PayloadFeedbackManager.js +66 -21
- package/dist/PayloadFeedbackManager.js.map +1 -1
- package/dist/PayloadManager.d.ts +286 -1
- package/dist/PayloadManager.d.ts.map +1 -1
- package/dist/PayloadManager.js +423 -50
- package/dist/PayloadManager.js.map +1 -1
- package/dist/__tests__/action-changes.test.d.ts +13 -0
- package/dist/__tests__/action-changes.test.d.ts.map +1 -1
- package/dist/__tests__/action-changes.test.js +57 -4
- package/dist/__tests__/action-changes.test.js.map +1 -1
- package/dist/__tests__/agent-memory-features.test.d.ts +52 -0
- package/dist/__tests__/agent-memory-features.test.d.ts.map +1 -1
- package/dist/__tests__/agent-memory-features.test.js +96 -13
- package/dist/__tests__/agent-memory-features.test.js.map +1 -1
- package/dist/__tests__/agent-type-prompt-params.test.d.ts +12 -0
- package/dist/__tests__/agent-type-prompt-params.test.d.ts.map +1 -1
- package/dist/__tests__/agent-type-prompt-params.test.js +112 -20
- package/dist/__tests__/agent-type-prompt-params.test.js.map +1 -1
- package/dist/__tests__/chat-handling-option.test.d.ts +26 -0
- package/dist/__tests__/chat-handling-option.test.d.ts.map +1 -1
- package/dist/__tests__/chat-handling-option.test.js +41 -2
- package/dist/__tests__/chat-handling-option.test.js.map +1 -1
- package/dist/agent-context-injector.d.ts +114 -0
- package/dist/agent-context-injector.d.ts.map +1 -1
- package/dist/agent-context-injector.js +138 -19
- package/dist/agent-context-injector.js.map +1 -1
- package/dist/agent-types/base-agent-type.d.ts +354 -0
- package/dist/agent-types/base-agent-type.d.ts.map +1 -1
- package/dist/agent-types/base-agent-type.js +288 -17
- package/dist/agent-types/base-agent-type.js.map +1 -1
- package/dist/agent-types/flow-agent-type.d.ts +328 -2
- package/dist/agent-types/flow-agent-type.d.ts.map +1 -1
- package/dist/agent-types/flow-agent-type.js +503 -63
- package/dist/agent-types/flow-agent-type.js.map +1 -1
- package/dist/agent-types/index.d.ts +14 -3
- package/dist/agent-types/index.d.ts.map +1 -1
- package/dist/agent-types/index.js +14 -23
- package/dist/agent-types/index.js.map +1 -1
- package/dist/agent-types/loop-agent-prompt-params.d.ts +190 -0
- package/dist/agent-types/loop-agent-prompt-params.d.ts.map +1 -1
- package/dist/agent-types/loop-agent-prompt-params.js +23 -6
- package/dist/agent-types/loop-agent-prompt-params.js.map +1 -1
- package/dist/agent-types/loop-agent-response-type.d.ts +62 -0
- package/dist/agent-types/loop-agent-response-type.d.ts.map +1 -1
- package/dist/agent-types/loop-agent-response-type.js +3 -2
- package/dist/agent-types/loop-agent-response-type.js.map +1 -1
- package/dist/agent-types/loop-agent-type.d.ts +139 -2
- package/dist/agent-types/loop-agent-type.d.ts.map +1 -1
- package/dist/agent-types/loop-agent-type.js +207 -35
- package/dist/agent-types/loop-agent-type.js.map +1 -1
- package/dist/base-agent.d.ts +1344 -1
- package/dist/base-agent.d.ts.map +1 -1
- package/dist/base-agent.js +2282 -211
- package/dist/base-agent.js.map +1 -1
- package/dist/index.d.ts +24 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -35
- package/dist/index.js.map +1 -1
- package/dist/memory-cleanup-agent.d.ts +53 -1
- package/dist/memory-cleanup-agent.d.ts.map +1 -1
- package/dist/memory-cleanup-agent.js +89 -21
- package/dist/memory-cleanup-agent.js.map +1 -1
- package/dist/memory-manager-agent.d.ts +61 -1
- package/dist/memory-manager-agent.d.ts.map +1 -1
- package/dist/memory-manager-agent.js +260 -116
- package/dist/memory-manager-agent.js.map +1 -1
- package/dist/services/AgentEmbeddingService.d.ts +16 -0
- package/dist/services/AgentEmbeddingService.d.ts.map +1 -0
- package/dist/services/AgentEmbeddingService.js +158 -0
- package/dist/services/AgentEmbeddingService.js.map +1 -0
- package/dist/types/AgentMatchResult.d.ts +18 -0
- package/dist/types/AgentMatchResult.d.ts.map +1 -0
- package/dist/types/AgentMatchResult.js +3 -0
- package/dist/types/AgentMatchResult.js.map +1 -0
- package/dist/types/payload-operations.d.ts +51 -0
- package/dist/types/payload-operations.d.ts.map +1 -1
- package/dist/types/payload-operations.js +54 -15
- package/dist/types/payload-operations.js.map +1 -1
- package/dist/utils/ConversationMessageResolver.d.ts +79 -1
- package/dist/utils/ConversationMessageResolver.d.ts.map +1 -1
- package/dist/utils/ConversationMessageResolver.js +99 -9
- package/dist/utils/ConversationMessageResolver.js.map +1 -1
- package/package.json +20 -19
|
@@ -1,9 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Utility for resolving conversation message references in agent mappings.
|
|
3
|
+
*
|
|
4
|
+
* Provides flexible syntax for accessing conversation messages in action input mappings
|
|
5
|
+
* and sub-agent downstream mappings. Supports filtering by role, selecting by position,
|
|
6
|
+
* and extracting specific properties.
|
|
7
|
+
*
|
|
8
|
+
* @module @memberjunction/ai-agents
|
|
9
|
+
* @author MemberJunction.com
|
|
10
|
+
* @since 2.120.0
|
|
11
|
+
*/
|
|
1
12
|
import { ChatMessage } from '@memberjunction/ai';
|
|
13
|
+
/**
|
|
14
|
+
* Utility class for resolving conversation message references.
|
|
15
|
+
*
|
|
16
|
+
* Supports a flexible syntax for accessing conversation messages:
|
|
17
|
+
* - `conversation.all` - All messages
|
|
18
|
+
* - `conversation.user.last` - Last user message
|
|
19
|
+
* - `conversation.ai.first` - First assistant message
|
|
20
|
+
* - `conversation.all.last[3]` - Last 3 messages
|
|
21
|
+
* - `conversation.user.last[5]` - Last 5 user messages
|
|
22
|
+
* - `conversation.user.last.content` - Content of last user message
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* const messages = [
|
|
27
|
+
* { role: 'user', content: 'Hello' },
|
|
28
|
+
* { role: 'assistant', content: 'Hi there!' },
|
|
29
|
+
* { role: 'user', content: 'How are you?' }
|
|
30
|
+
* ];
|
|
31
|
+
*
|
|
32
|
+
* // Get last user message
|
|
33
|
+
* const last = ConversationMessageResolver.resolve('conversation.user.last', messages);
|
|
34
|
+
* // Returns: { role: 'user', content: 'How are you?' }
|
|
35
|
+
*
|
|
36
|
+
* // Get last 2 messages
|
|
37
|
+
* const lastTwo = ConversationMessageResolver.resolve('conversation.all.last[2]', messages);
|
|
38
|
+
* // Returns: [{ role: 'assistant', ... }, { role: 'user', ... }]
|
|
39
|
+
*
|
|
40
|
+
* // Get content of last user message
|
|
41
|
+
* const content = ConversationMessageResolver.resolve('conversation.user.last.content', messages);
|
|
42
|
+
* // Returns: 'How are you?'
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
2
45
|
export declare class ConversationMessageResolver {
|
|
46
|
+
/**
|
|
47
|
+
* Resolves conversation message references.
|
|
48
|
+
*
|
|
49
|
+
* Syntax: `conversation.<role>.<position>[count].<property>`
|
|
50
|
+
*
|
|
51
|
+
* - `<role>`: all, user, assistant (or ai as alias), system
|
|
52
|
+
* - `<position>`: last, first
|
|
53
|
+
* - `[count]`: Optional number in brackets - returns that many messages
|
|
54
|
+
* - `<property>`: Optional property path to extract from message(s)
|
|
55
|
+
*
|
|
56
|
+
* @param conversationPath - The conversation reference path to resolve
|
|
57
|
+
* @param conversationMessages - Array of chat messages to resolve from
|
|
58
|
+
* @returns Resolved message(s) or property value(s), or undefined if invalid path
|
|
59
|
+
*/
|
|
3
60
|
static resolve(conversationPath: string, conversationMessages: ChatMessage[]): ChatMessage | ChatMessage[] | any | undefined;
|
|
61
|
+
/**
|
|
62
|
+
* Gets the role filter function for a given role specification.
|
|
63
|
+
*
|
|
64
|
+
* @param roleSpec - Role specification (all, user, assistant, ai, system)
|
|
65
|
+
* @returns Filter function or null for 'all'
|
|
66
|
+
* @private
|
|
67
|
+
*/
|
|
4
68
|
private static getRoleFilter;
|
|
69
|
+
/**
|
|
70
|
+
* Checks if a mapping value is a conversation reference.
|
|
71
|
+
*
|
|
72
|
+
* @param value - The value to check
|
|
73
|
+
* @returns True if the value is a conversation reference
|
|
74
|
+
*/
|
|
5
75
|
static isConversationReference(value: string): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Helper method to get a value from a nested object path.
|
|
78
|
+
* Supports both dot notation (obj.prop) and array indexing (arr[0]).
|
|
79
|
+
*
|
|
80
|
+
* @param obj - The object to extract value from
|
|
81
|
+
* @param path - The property path (e.g., "user.name" or "items[0].title")
|
|
82
|
+
* @returns The value at the path, or undefined if not found
|
|
83
|
+
* @private
|
|
84
|
+
*/
|
|
6
85
|
private static getValueFromPath;
|
|
7
86
|
}
|
|
8
|
-
export declare function LoadConversationMessageResolver(): void;
|
|
9
87
|
//# sourceMappingURL=ConversationMessageResolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConversationMessageResolver.d.ts","sourceRoot":"","sources":["../../src/utils/ConversationMessageResolver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ConversationMessageResolver.d.ts","sourceRoot":"","sources":["../../src/utils/ConversationMessageResolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,2BAA2B;IACpC;;;;;;;;;;;;;OAaG;WACW,OAAO,CACjB,gBAAgB,EAAE,MAAM,EACxB,oBAAoB,EAAE,WAAW,EAAE,GACpC,WAAW,GAAG,WAAW,EAAE,GAAG,GAAG,GAAG,SAAS;IAyEhD;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAgB5B;;;;;OAKG;WACW,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAK7D;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAwClC"}
|
|
@@ -1,33 +1,97 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Utility for resolving conversation message references in agent mappings.
|
|
3
|
+
*
|
|
4
|
+
* Provides flexible syntax for accessing conversation messages in action input mappings
|
|
5
|
+
* and sub-agent downstream mappings. Supports filtering by role, selecting by position,
|
|
6
|
+
* and extracting specific properties.
|
|
7
|
+
*
|
|
8
|
+
* @module @memberjunction/ai-agents
|
|
9
|
+
* @author MemberJunction.com
|
|
10
|
+
* @since 2.120.0
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Utility class for resolving conversation message references.
|
|
14
|
+
*
|
|
15
|
+
* Supports a flexible syntax for accessing conversation messages:
|
|
16
|
+
* - `conversation.all` - All messages
|
|
17
|
+
* - `conversation.user.last` - Last user message
|
|
18
|
+
* - `conversation.ai.first` - First assistant message
|
|
19
|
+
* - `conversation.all.last[3]` - Last 3 messages
|
|
20
|
+
* - `conversation.user.last[5]` - Last 5 user messages
|
|
21
|
+
* - `conversation.user.last.content` - Content of last user message
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* const messages = [
|
|
26
|
+
* { role: 'user', content: 'Hello' },
|
|
27
|
+
* { role: 'assistant', content: 'Hi there!' },
|
|
28
|
+
* { role: 'user', content: 'How are you?' }
|
|
29
|
+
* ];
|
|
30
|
+
*
|
|
31
|
+
* // Get last user message
|
|
32
|
+
* const last = ConversationMessageResolver.resolve('conversation.user.last', messages);
|
|
33
|
+
* // Returns: { role: 'user', content: 'How are you?' }
|
|
34
|
+
*
|
|
35
|
+
* // Get last 2 messages
|
|
36
|
+
* const lastTwo = ConversationMessageResolver.resolve('conversation.all.last[2]', messages);
|
|
37
|
+
* // Returns: [{ role: 'assistant', ... }, { role: 'user', ... }]
|
|
38
|
+
*
|
|
39
|
+
* // Get content of last user message
|
|
40
|
+
* const content = ConversationMessageResolver.resolve('conversation.user.last.content', messages);
|
|
41
|
+
* // Returns: 'How are you?'
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export class ConversationMessageResolver {
|
|
45
|
+
/**
|
|
46
|
+
* Resolves conversation message references.
|
|
47
|
+
*
|
|
48
|
+
* Syntax: `conversation.<role>.<position>[count].<property>`
|
|
49
|
+
*
|
|
50
|
+
* - `<role>`: all, user, assistant (or ai as alias), system
|
|
51
|
+
* - `<position>`: last, first
|
|
52
|
+
* - `[count]`: Optional number in brackets - returns that many messages
|
|
53
|
+
* - `<property>`: Optional property path to extract from message(s)
|
|
54
|
+
*
|
|
55
|
+
* @param conversationPath - The conversation reference path to resolve
|
|
56
|
+
* @param conversationMessages - Array of chat messages to resolve from
|
|
57
|
+
* @returns Resolved message(s) or property value(s), or undefined if invalid path
|
|
58
|
+
*/
|
|
5
59
|
static resolve(conversationPath, conversationMessages) {
|
|
60
|
+
// Parse: conversation.<role>.<position>[count].<property>
|
|
6
61
|
const parts = conversationPath.split('.');
|
|
7
62
|
if (parts[0]?.toLowerCase() !== 'conversation') {
|
|
8
63
|
return undefined;
|
|
9
64
|
}
|
|
65
|
+
// Extract role (all, user, assistant/ai, system)
|
|
10
66
|
const roleSpec = parts[1]?.toLowerCase();
|
|
11
67
|
if (!roleSpec) {
|
|
12
68
|
return undefined;
|
|
13
69
|
}
|
|
70
|
+
// If just "conversation.all", return all messages
|
|
14
71
|
if (roleSpec === 'all' && parts.length === 2) {
|
|
15
72
|
return conversationMessages;
|
|
16
73
|
}
|
|
74
|
+
// Filter by role
|
|
17
75
|
const roleFilter = this.getRoleFilter(roleSpec);
|
|
18
76
|
const filteredMessages = roleFilter
|
|
19
77
|
? conversationMessages.filter(roleFilter)
|
|
20
78
|
: conversationMessages;
|
|
79
|
+
// Extract position and count
|
|
21
80
|
const positionSpec = parts[2];
|
|
22
81
|
if (!positionSpec) {
|
|
82
|
+
// Just "conversation.user" - return all of that role
|
|
23
83
|
return filteredMessages;
|
|
24
84
|
}
|
|
85
|
+
// Parse position and optional count: "last[3]" or "first[2]"
|
|
25
86
|
const match = positionSpec.match(/^(first|last)(?:\[(\d+)\])?$/i);
|
|
26
87
|
if (!match) {
|
|
88
|
+
// Not a position spec, might be a property on the array
|
|
89
|
+
// e.g., "conversation.all.length"
|
|
27
90
|
return this.getValueFromPath(filteredMessages, positionSpec);
|
|
28
91
|
}
|
|
29
92
|
const position = match[1].toLowerCase();
|
|
30
93
|
const count = match[2] ? parseInt(match[2], 10) : 1;
|
|
94
|
+
// Get messages based on position
|
|
31
95
|
let result;
|
|
32
96
|
if (position === 'last') {
|
|
33
97
|
const selected = filteredMessages.slice(-count);
|
|
@@ -40,21 +104,31 @@ class ConversationMessageResolver {
|
|
|
40
104
|
if (result === undefined) {
|
|
41
105
|
return undefined;
|
|
42
106
|
}
|
|
107
|
+
// Check if there's a property path to extract
|
|
43
108
|
if (parts.length > 3) {
|
|
44
109
|
const propertyPath = parts.slice(3).join('.');
|
|
45
110
|
if (Array.isArray(result)) {
|
|
111
|
+
// Map property over array
|
|
46
112
|
return result.map(item => this.getValueFromPath(item, propertyPath));
|
|
47
113
|
}
|
|
48
114
|
else {
|
|
115
|
+
// Get property from single object
|
|
49
116
|
return this.getValueFromPath(result, propertyPath);
|
|
50
117
|
}
|
|
51
118
|
}
|
|
52
119
|
return result;
|
|
53
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* Gets the role filter function for a given role specification.
|
|
123
|
+
*
|
|
124
|
+
* @param roleSpec - Role specification (all, user, assistant, ai, system)
|
|
125
|
+
* @returns Filter function or null for 'all'
|
|
126
|
+
* @private
|
|
127
|
+
*/
|
|
54
128
|
static getRoleFilter(roleSpec) {
|
|
55
129
|
switch (roleSpec) {
|
|
56
130
|
case 'all':
|
|
57
|
-
return null;
|
|
131
|
+
return null; // No filtering
|
|
58
132
|
case 'user':
|
|
59
133
|
return (msg) => msg.role === 'user';
|
|
60
134
|
case 'assistant':
|
|
@@ -66,22 +140,41 @@ class ConversationMessageResolver {
|
|
|
66
140
|
return null;
|
|
67
141
|
}
|
|
68
142
|
}
|
|
143
|
+
/**
|
|
144
|
+
* Checks if a mapping value is a conversation reference.
|
|
145
|
+
*
|
|
146
|
+
* @param value - The value to check
|
|
147
|
+
* @returns True if the value is a conversation reference
|
|
148
|
+
*/
|
|
69
149
|
static isConversationReference(value) {
|
|
70
150
|
return typeof value === 'string' &&
|
|
71
151
|
value.trim().toLowerCase().startsWith('conversation.');
|
|
72
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Helper method to get a value from a nested object path.
|
|
155
|
+
* Supports both dot notation (obj.prop) and array indexing (arr[0]).
|
|
156
|
+
*
|
|
157
|
+
* @param obj - The object to extract value from
|
|
158
|
+
* @param path - The property path (e.g., "user.name" or "items[0].title")
|
|
159
|
+
* @returns The value at the path, or undefined if not found
|
|
160
|
+
* @private
|
|
161
|
+
*/
|
|
73
162
|
static getValueFromPath(obj, path) {
|
|
74
163
|
const parts = path.split('.');
|
|
75
164
|
let current = obj;
|
|
76
165
|
for (const part of parts) {
|
|
77
166
|
if (!part)
|
|
78
167
|
continue;
|
|
168
|
+
// Check if this part contains array indexing like "arrayName[0]"
|
|
79
169
|
const arrayMatch = part.match(/^([^[]+)\[(\d+)\]$/);
|
|
80
170
|
if (arrayMatch) {
|
|
171
|
+
// Extract array name and index
|
|
81
172
|
const arrayName = arrayMatch[1];
|
|
82
173
|
const index = parseInt(arrayMatch[2], 10);
|
|
174
|
+
// Navigate to the array
|
|
83
175
|
if (current && typeof current === 'object' && arrayName in current) {
|
|
84
176
|
current = current[arrayName];
|
|
177
|
+
// Access the array element
|
|
85
178
|
if (Array.isArray(current) && index >= 0 && index < current.length) {
|
|
86
179
|
current = current[index];
|
|
87
180
|
}
|
|
@@ -94,6 +187,7 @@ class ConversationMessageResolver {
|
|
|
94
187
|
}
|
|
95
188
|
}
|
|
96
189
|
else {
|
|
190
|
+
// Regular property access
|
|
97
191
|
if (current && typeof current === 'object' && part in current) {
|
|
98
192
|
current = current[part];
|
|
99
193
|
}
|
|
@@ -105,8 +199,4 @@ class ConversationMessageResolver {
|
|
|
105
199
|
return current;
|
|
106
200
|
}
|
|
107
201
|
}
|
|
108
|
-
exports.ConversationMessageResolver = ConversationMessageResolver;
|
|
109
|
-
function LoadConversationMessageResolver() {
|
|
110
|
-
}
|
|
111
|
-
exports.LoadConversationMessageResolver = LoadConversationMessageResolver;
|
|
112
202
|
//# sourceMappingURL=ConversationMessageResolver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConversationMessageResolver.js","sourceRoot":"","sources":["../../src/utils/ConversationMessageResolver.ts"],"names":[],"mappings":"
|
|
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,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ai-agents",
|
|
3
|
-
"
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "4.0.0",
|
|
4
5
|
"description": "MemberJunction: AI Agent Execution and Management",
|
|
5
6
|
"main": "dist/index.js",
|
|
6
7
|
"types": "dist/index.d.ts",
|
|
@@ -9,7 +10,7 @@
|
|
|
9
10
|
],
|
|
10
11
|
"scripts": {
|
|
11
12
|
"start": "ts-node-dev src/index.ts",
|
|
12
|
-
"build": "tsc",
|
|
13
|
+
"build": "tsc && tsc-alias -f",
|
|
13
14
|
"test": "npm run test:all",
|
|
14
15
|
"test:all": "npx ts-node src/__tests__/agent-type-prompt-params.test.ts && npx ts-node src/__tests__/action-changes.test.ts && npx ts-node src/__tests__/chat-handling-option.test.ts",
|
|
15
16
|
"test:chat-handling": "npx ts-node src/__tests__/chat-handling-option.test.ts",
|
|
@@ -19,26 +20,26 @@
|
|
|
19
20
|
"author": "MemberJunction.com",
|
|
20
21
|
"license": "ISC",
|
|
21
22
|
"dependencies": {
|
|
22
|
-
"@memberjunction/actions": "
|
|
23
|
-
"@memberjunction/actions-base": "
|
|
24
|
-
"@memberjunction/ai": "
|
|
25
|
-
"@memberjunction/ai-core-plus": "
|
|
26
|
-
"@memberjunction/ai-engine-base": "
|
|
27
|
-
"@memberjunction/ai-prompts": "
|
|
28
|
-
"@memberjunction/ai-reranker": "
|
|
29
|
-
"@memberjunction/aiengine": "
|
|
30
|
-
"@memberjunction/core": "
|
|
31
|
-
"@memberjunction/core-entities": "
|
|
32
|
-
"@memberjunction/global": "
|
|
33
|
-
"dotenv": "^
|
|
34
|
-
"lodash": "^4.17.
|
|
35
|
-
"rxjs": "^7.8.
|
|
23
|
+
"@memberjunction/actions": "4.0.0",
|
|
24
|
+
"@memberjunction/actions-base": "4.0.0",
|
|
25
|
+
"@memberjunction/ai": "4.0.0",
|
|
26
|
+
"@memberjunction/ai-core-plus": "4.0.0",
|
|
27
|
+
"@memberjunction/ai-engine-base": "4.0.0",
|
|
28
|
+
"@memberjunction/ai-prompts": "4.0.0",
|
|
29
|
+
"@memberjunction/ai-reranker": "4.0.0",
|
|
30
|
+
"@memberjunction/aiengine": "4.0.0",
|
|
31
|
+
"@memberjunction/core": "4.0.0",
|
|
32
|
+
"@memberjunction/core-entities": "4.0.0",
|
|
33
|
+
"@memberjunction/global": "4.0.0",
|
|
34
|
+
"dotenv": "^17.2.4",
|
|
35
|
+
"lodash": "^4.17.23",
|
|
36
|
+
"rxjs": "^7.8.2"
|
|
36
37
|
},
|
|
37
38
|
"devDependencies": {
|
|
38
|
-
"@types/lodash": "^4.
|
|
39
|
-
"@types/node": "
|
|
39
|
+
"@types/lodash": "^4.17.23",
|
|
40
|
+
"@types/node": "24.10.11",
|
|
40
41
|
"ts-node-dev": "^2.0.0",
|
|
41
|
-
"typescript": "^5.
|
|
42
|
+
"typescript": "^5.9.3"
|
|
42
43
|
},
|
|
43
44
|
"repository": {
|
|
44
45
|
"type": "git",
|