@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.
Files changed (97) hide show
  1. package/dist/AgentDataPreloader.d.ts +117 -1
  2. package/dist/AgentDataPreloader.d.ts.map +1 -1
  3. package/dist/AgentDataPreloader.js +156 -58
  4. package/dist/AgentDataPreloader.js.map +1 -1
  5. package/dist/AgentRunner.d.ts +212 -0
  6. package/dist/AgentRunner.d.ts.map +1 -1
  7. package/dist/AgentRunner.js +354 -103
  8. package/dist/AgentRunner.js.map +1 -1
  9. package/dist/PayloadChangeAnalyzer.d.ts +68 -0
  10. package/dist/PayloadChangeAnalyzer.d.ts.map +1 -1
  11. package/dist/PayloadChangeAnalyzer.js +68 -32
  12. package/dist/PayloadChangeAnalyzer.js.map +1 -1
  13. package/dist/PayloadFeedbackManager.d.ts +57 -1
  14. package/dist/PayloadFeedbackManager.d.ts.map +1 -1
  15. package/dist/PayloadFeedbackManager.js +66 -21
  16. package/dist/PayloadFeedbackManager.js.map +1 -1
  17. package/dist/PayloadManager.d.ts +286 -1
  18. package/dist/PayloadManager.d.ts.map +1 -1
  19. package/dist/PayloadManager.js +423 -50
  20. package/dist/PayloadManager.js.map +1 -1
  21. package/dist/__tests__/action-changes.test.d.ts +13 -0
  22. package/dist/__tests__/action-changes.test.d.ts.map +1 -1
  23. package/dist/__tests__/action-changes.test.js +57 -4
  24. package/dist/__tests__/action-changes.test.js.map +1 -1
  25. package/dist/__tests__/agent-memory-features.test.d.ts +52 -0
  26. package/dist/__tests__/agent-memory-features.test.d.ts.map +1 -1
  27. package/dist/__tests__/agent-memory-features.test.js +96 -13
  28. package/dist/__tests__/agent-memory-features.test.js.map +1 -1
  29. package/dist/__tests__/agent-type-prompt-params.test.d.ts +12 -0
  30. package/dist/__tests__/agent-type-prompt-params.test.d.ts.map +1 -1
  31. package/dist/__tests__/agent-type-prompt-params.test.js +112 -20
  32. package/dist/__tests__/agent-type-prompt-params.test.js.map +1 -1
  33. package/dist/__tests__/chat-handling-option.test.d.ts +26 -0
  34. package/dist/__tests__/chat-handling-option.test.d.ts.map +1 -1
  35. package/dist/__tests__/chat-handling-option.test.js +41 -2
  36. package/dist/__tests__/chat-handling-option.test.js.map +1 -1
  37. package/dist/agent-context-injector.d.ts +114 -0
  38. package/dist/agent-context-injector.d.ts.map +1 -1
  39. package/dist/agent-context-injector.js +138 -19
  40. package/dist/agent-context-injector.js.map +1 -1
  41. package/dist/agent-types/base-agent-type.d.ts +354 -0
  42. package/dist/agent-types/base-agent-type.d.ts.map +1 -1
  43. package/dist/agent-types/base-agent-type.js +288 -17
  44. package/dist/agent-types/base-agent-type.js.map +1 -1
  45. package/dist/agent-types/flow-agent-type.d.ts +328 -2
  46. package/dist/agent-types/flow-agent-type.d.ts.map +1 -1
  47. package/dist/agent-types/flow-agent-type.js +503 -63
  48. package/dist/agent-types/flow-agent-type.js.map +1 -1
  49. package/dist/agent-types/index.d.ts +14 -3
  50. package/dist/agent-types/index.d.ts.map +1 -1
  51. package/dist/agent-types/index.js +14 -23
  52. package/dist/agent-types/index.js.map +1 -1
  53. package/dist/agent-types/loop-agent-prompt-params.d.ts +190 -0
  54. package/dist/agent-types/loop-agent-prompt-params.d.ts.map +1 -1
  55. package/dist/agent-types/loop-agent-prompt-params.js +23 -6
  56. package/dist/agent-types/loop-agent-prompt-params.js.map +1 -1
  57. package/dist/agent-types/loop-agent-response-type.d.ts +62 -0
  58. package/dist/agent-types/loop-agent-response-type.d.ts.map +1 -1
  59. package/dist/agent-types/loop-agent-response-type.js +3 -2
  60. package/dist/agent-types/loop-agent-response-type.js.map +1 -1
  61. package/dist/agent-types/loop-agent-type.d.ts +139 -2
  62. package/dist/agent-types/loop-agent-type.d.ts.map +1 -1
  63. package/dist/agent-types/loop-agent-type.js +207 -35
  64. package/dist/agent-types/loop-agent-type.js.map +1 -1
  65. package/dist/base-agent.d.ts +1344 -1
  66. package/dist/base-agent.d.ts.map +1 -1
  67. package/dist/base-agent.js +2282 -211
  68. package/dist/base-agent.js.map +1 -1
  69. package/dist/index.d.ts +24 -14
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +25 -35
  72. package/dist/index.js.map +1 -1
  73. package/dist/memory-cleanup-agent.d.ts +53 -1
  74. package/dist/memory-cleanup-agent.d.ts.map +1 -1
  75. package/dist/memory-cleanup-agent.js +89 -21
  76. package/dist/memory-cleanup-agent.js.map +1 -1
  77. package/dist/memory-manager-agent.d.ts +61 -1
  78. package/dist/memory-manager-agent.d.ts.map +1 -1
  79. package/dist/memory-manager-agent.js +260 -116
  80. package/dist/memory-manager-agent.js.map +1 -1
  81. package/dist/services/AgentEmbeddingService.d.ts +16 -0
  82. package/dist/services/AgentEmbeddingService.d.ts.map +1 -0
  83. package/dist/services/AgentEmbeddingService.js +158 -0
  84. package/dist/services/AgentEmbeddingService.js.map +1 -0
  85. package/dist/types/AgentMatchResult.d.ts +18 -0
  86. package/dist/types/AgentMatchResult.d.ts.map +1 -0
  87. package/dist/types/AgentMatchResult.js +3 -0
  88. package/dist/types/AgentMatchResult.js.map +1 -0
  89. package/dist/types/payload-operations.d.ts +51 -0
  90. package/dist/types/payload-operations.d.ts.map +1 -1
  91. package/dist/types/payload-operations.js +54 -15
  92. package/dist/types/payload-operations.js.map +1 -1
  93. package/dist/utils/ConversationMessageResolver.d.ts +79 -1
  94. package/dist/utils/ConversationMessageResolver.d.ts.map +1 -1
  95. package/dist/utils/ConversationMessageResolver.js +99 -9
  96. package/dist/utils/ConversationMessageResolver.js.map +1 -1
  97. 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":"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"}
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
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LoadConversationMessageResolver = exports.ConversationMessageResolver = void 0;
4
- class ConversationMessageResolver {
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":"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"}
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
- "version": "3.4.0",
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": "3.4.0",
23
- "@memberjunction/actions-base": "3.4.0",
24
- "@memberjunction/ai": "3.4.0",
25
- "@memberjunction/ai-core-plus": "3.4.0",
26
- "@memberjunction/ai-engine-base": "3.4.0",
27
- "@memberjunction/ai-prompts": "3.4.0",
28
- "@memberjunction/ai-reranker": "3.4.0",
29
- "@memberjunction/aiengine": "3.4.0",
30
- "@memberjunction/core": "3.4.0",
31
- "@memberjunction/core-entities": "3.4.0",
32
- "@memberjunction/global": "3.4.0",
33
- "dotenv": "^16.4.1",
34
- "lodash": "^4.17.21",
35
- "rxjs": "^7.8.1"
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.14.202",
39
- "@types/node": "20.14.2",
39
+ "@types/lodash": "^4.17.23",
40
+ "@types/node": "24.10.11",
40
41
  "ts-node-dev": "^2.0.0",
41
- "typescript": "^5.4.5"
42
+ "typescript": "^5.9.3"
42
43
  },
43
44
  "repository": {
44
45
  "type": "git",