@memberjunction/aiengine 2.112.0 → 2.113.1

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 CHANGED
@@ -10,6 +10,7 @@ The MemberJunction AI Engine package provides a comprehensive framework for AI-p
10
10
  - **🔗 Entity Integration**: Seamless integration with MemberJunction entity system
11
11
  - **⚡ Simple Prompt Execution**: Basic prompt execution for quick AI tasks
12
12
  - **🏗️ Agent Type System**: Defines agent types and their behavioral characteristics
13
+ - **🔍 Semantic Search**: Find similar agents, actions, notes, and examples using vector embeddings
13
14
 
14
15
  > **📝 Advanced Prompt Management**: For sophisticated stored prompt management, template rendering, and parallel execution capabilities, see the [@memberjunction/ai-prompts](../Prompts/README.md) package.
15
16
 
@@ -335,6 +336,134 @@ const response = await AIEngine.Instance.SimpleLLMCompletion(
335
336
  );
336
337
  ```
337
338
 
339
+ ### Semantic Search with Vector Embeddings
340
+
341
+ The AI Engine provides semantic search capabilities using vector embeddings for finding similar agents, actions, notes, and examples. All search operations support efficient metadata filtering for scoped searches.
342
+
343
+ #### Finding Similar Agents
344
+
345
+ ```typescript
346
+ // Find agents similar to a task description
347
+ const taskDescription = "I need to analyze sales data and generate insights";
348
+ const similarAgents = await AIEngine.Instance.FindSimilarAgents(
349
+ taskDescription,
350
+ 5, // topK: return top 5 matches
351
+ 0.5 // minSimilarity: minimum similarity threshold (0-1)
352
+ );
353
+
354
+ similarAgents.forEach(match => {
355
+ console.log(`Agent: ${match.agent.Name}`);
356
+ console.log(`Similarity: ${(match.similarity * 100).toFixed(1)}%`);
357
+ console.log(`Purpose: ${match.agent.Purpose}\n`);
358
+ });
359
+ ```
360
+
361
+ #### Finding Similar Actions
362
+
363
+ ```typescript
364
+ // Find actions that match a capability description
365
+ const capability = "send email notifications to users";
366
+ const similarActions = await AIEngine.Instance.FindSimilarActions(
367
+ capability,
368
+ 10, // topK
369
+ 0.6 // minSimilarity
370
+ );
371
+
372
+ similarActions.forEach(match => {
373
+ console.log(`Action: ${match.action.Name}`);
374
+ console.log(`Match: ${(match.similarity * 100).toFixed(1)}%`);
375
+ console.log(`Description: ${match.action.Description}\n`);
376
+ });
377
+ ```
378
+
379
+ #### Finding Similar Agent Notes (with Filtering)
380
+
381
+ Agent notes can be filtered by agent, user, or company for scoped searches. **Filtering happens before similarity calculation for optimal performance (10-20x faster!):**
382
+
383
+ ```typescript
384
+ // Find notes similar to a query for a specific agent
385
+ const queryText = "best practices for error handling";
386
+ const agentId = 'agent-uuid-here';
387
+
388
+ const similarNotes = await AIEngine.Instance.FindSimilarAgentNotes(
389
+ queryText,
390
+ agentId, // Filter by agent ID (efficient pre-filtering)
391
+ undefined, // userId filter (optional)
392
+ undefined, // companyId filter (optional)
393
+ 5, // topK
394
+ 0.7 // minSimilarity
395
+ );
396
+
397
+ similarNotes.forEach(match => {
398
+ console.log(`Note ID: ${match.note.ID}`);
399
+ console.log(`Similarity: ${(match.similarity * 100).toFixed(1)}%`);
400
+ console.log(`Content: ${match.note.Note}\n`);
401
+ });
402
+
403
+ // Search across all agents (no filtering)
404
+ const allNotes = await AIEngine.Instance.FindSimilarAgentNotes(
405
+ queryText,
406
+ undefined, // No agent filter
407
+ undefined, // No user filter
408
+ undefined, // No company filter
409
+ 10,
410
+ 0.6
411
+ );
412
+ ```
413
+
414
+ #### Finding Similar Examples (with Filtering)
415
+
416
+ Agent examples also support efficient metadata filtering:
417
+
418
+ ```typescript
419
+ // Find examples similar to an input for a specific agent
420
+ const inputText = "Calculate the total revenue for Q4";
421
+ const agentId = 'data-analysis-agent-uuid';
422
+
423
+ const similarExamples = await AIEngine.Instance.FindSimilarAgentExamples(
424
+ inputText,
425
+ agentId, // Filter by agent ID (efficient pre-filtering)
426
+ undefined, // userId filter (optional)
427
+ undefined, // companyId filter (optional)
428
+ 3, // topK
429
+ 0.75 // minSimilarity
430
+ );
431
+
432
+ similarExamples.forEach(match => {
433
+ console.log(`Example: ${match.example.ID}`);
434
+ console.log(`Similarity: ${(match.similarity * 100).toFixed(1)}%`);
435
+ console.log(`Input: ${match.example.ExampleInput}`);
436
+ console.log(`Output: ${match.example.ExampleOutput}\n`);
437
+ });
438
+ ```
439
+
440
+ #### Performance Benefits of Filtering
441
+
442
+ The semantic search methods use pre-filtering for optimal performance:
443
+
444
+ ```typescript
445
+ // ✅ EFFICIENT: Filter applied BEFORE similarity calculation
446
+ // For 1000 notes where 50 belong to the agent:
447
+ // - Filters to 50 notes (fast metadata check)
448
+ // - Calculates similarity for 50 vectors
449
+ // - Returns top 5 matches
450
+ const filtered = await AIEngine.Instance.FindSimilarAgentNotes(
451
+ queryText,
452
+ agentId, // Pre-filter by agent
453
+ undefined,
454
+ undefined,
455
+ 5,
456
+ 0.7
457
+ );
458
+
459
+ // ❌ INEFFICIENT: Don't do this (old pattern)
460
+ // Would calculate similarity for ALL 1000 notes then filter
461
+ const all = await AIEngine.Instance.FindSimilarAgentNotes(queryText);
462
+ const filtered = all.filter(n => n.note.AgentID === agentId).slice(0, 5);
463
+ ```
464
+
465
+ **Speedup**: Pre-filtering provides 10-20x performance improvement for scoped searches because similarity calculation is much more expensive than metadata checks.
466
+
338
467
  For sophisticated parallel execution, template rendering, and stored prompt management, see the [@memberjunction/ai-prompts](../Prompts/README.md) package.
339
468
 
340
469
  ## Import Examples
@@ -551,7 +680,7 @@ Entity AI Actions connected AI actions to specific entity types, defining:
551
680
  ```typescript
552
681
  // Deprecated - use AI Agents instead
553
682
  import { EntityAIActionParams } from '@memberjunction/aiengine';
554
- import { Metadata } from '@memberjunction/global';
683
+ import { Metadata } from '@memberjunction/core';
555
684
 
556
685
  // Load an entity record
557
686
  const md = new Metadata();
@@ -604,4 +733,4 @@ if (cached) {
604
733
 
605
734
  const result = await AIEngine.Instance.ExecuteAIAction(params);
606
735
  await AIEngine.Instance.CacheResult(model, prompt, fullPromptText, result.data.choices[0].message.content);
607
- ```
736
+ ```
@@ -1,11 +1,13 @@
1
- import { BaseLLM, BaseModel, BaseResult, ChatMessage, ParallelChatCompletionsCallbacks, EmbedTextResult } from '@memberjunction/ai';
2
- import { ChatResult } from '@memberjunction/ai';
3
- import { BaseEntity, BaseEntityEvent, UserInfo } from '@memberjunction/global';
4
- import { AIActionEntity, AIModelEntityExtended, ActionEntity } from '@memberjunction/core-entities';
5
- import { AIEngineBase } from '@memberjunction/ai-engine-base';
6
- import { SimpleVectorService } from '@memberjunction/ai-vectors-memory';
7
- import { AgentEmbeddingMetadata, AgentMatchResult } from './types/AgentMatchResult';
8
- import { ActionEmbeddingMetadata, ActionMatchResult } from './types/ActionMatchResult';
1
+ import { BaseLLM, BaseModel, BaseResult, ChatMessage, ParallelChatCompletionsCallbacks, EmbedTextResult } from "@memberjunction/ai";
2
+ import { ChatResult } from "@memberjunction/ai";
3
+ import { BaseEntity, BaseEntityEvent, UserInfo } from "@memberjunction/core";
4
+ import { AIActionEntity, AIModelEntityExtended, ActionEntity } from "@memberjunction/core-entities";
5
+ import { AIEngineBase } from "@memberjunction/ai-engine-base";
6
+ import { SimpleVectorService } from "@memberjunction/ai-vectors-memory";
7
+ import { AgentEmbeddingMetadata, AgentMatchResult } from "./types/AgentMatchResult";
8
+ import { ActionEmbeddingMetadata, ActionMatchResult } from "./types/ActionMatchResult";
9
+ import { NoteMatchResult } from "./types/NoteMatchResult";
10
+ import { ExampleMatchResult } from "./types/ExampleMatchResult";
9
11
  export declare class AIActionParams {
10
12
  actionId: string;
11
13
  modelId: string;
@@ -22,6 +24,8 @@ export declare class AIEngine extends AIEngineBase {
22
24
  readonly LocalEmbeddingModelVendorName: string;
23
25
  private _agentVectorService;
24
26
  private _actionVectorService;
27
+ private _noteVectorService;
28
+ private _exampleVectorService;
25
29
  private _actions;
26
30
  private _agentEmbeddingsCache;
27
31
  private _actionEmbeddingsCache;
@@ -41,11 +45,16 @@ export declare class AIEngine extends AIEngineBase {
41
45
  private loadAgentEmbeddings;
42
46
  private loadActions;
43
47
  private loadActionEmbeddings;
48
+ private loadNoteEmbeddings;
49
+ private loadExampleEmbeddings;
50
+ protected ProcessEntityEvent(event: BaseEntityEvent): Promise<void>;
44
51
  protected HandleIndividualBaseEntityEvent(event: BaseEntityEvent): Promise<boolean>;
45
52
  private generateSingleAgentEmbedding;
46
53
  private generateSingleActionEmbedding;
47
54
  FindSimilarAgents(taskDescription: string, topK?: number, minSimilarity?: number): Promise<AgentMatchResult[]>;
48
55
  FindSimilarActions(taskDescription: string, topK?: number, minSimilarity?: number): Promise<ActionMatchResult[]>;
56
+ FindSimilarAgentNotes(queryText: string, agentId?: string, userId?: string, companyId?: string, topK?: number, minSimilarity?: number): Promise<NoteMatchResult[]>;
57
+ FindSimilarAgentExamples(queryText: string, agentId?: string, userId?: string, companyId?: string, topK?: number, minSimilarity?: number): Promise<ExampleMatchResult[]>;
49
58
  ParallelLLMCompletions(userPrompt: string, contextUser: UserInfo, systemPrompt?: string, iterations?: number, temperatureIncrement?: number, baseTemperature?: number, model?: AIModelEntityExtended, apiKey?: string, callbacks?: ParallelChatCompletionsCallbacks): Promise<ChatResult[]>;
50
59
  get LocalEmbeddingModels(): AIModelEntityExtended[];
51
60
  get HighestPowerLocalEmbeddingModel(): AIModelEntityExtended;
@@ -1 +1 @@
1
- {"version":3,"file":"AIEngine.d.ts","sourceRoot":"","sources":["../src/AIEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AIEngine.d.ts","sourceRoot":"","sources":["../src/AIEngine.ts"],"names":[],"mappings":"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"}
package/dist/AIEngine.js CHANGED
@@ -25,12 +25,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.LoadAIEngine = exports.AIEngine = exports.EntityAIActionParams = exports.AIActionParams = void 0;
27
27
  const ai_1 = require("@memberjunction/ai");
28
+ const core_1 = require("@memberjunction/core");
28
29
  const global_1 = require("@memberjunction/global");
29
- const global_2 = require("@memberjunction/global");
30
30
  const ai_engine_base_1 = require("@memberjunction/ai-engine-base");
31
31
  const ai_vectors_memory_1 = require("@memberjunction/ai-vectors-memory");
32
32
  const AgentEmbeddingService_1 = require("./services/AgentEmbeddingService");
33
33
  const ActionEmbeddingService_1 = require("./services/ActionEmbeddingService");
34
+ const actions_base_1 = require("@memberjunction/actions-base");
34
35
  class AIActionParams {
35
36
  }
36
37
  exports.AIActionParams = AIActionParams;
@@ -44,6 +45,8 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
44
45
  this.LocalEmbeddingModelVendorName = 'LocalEmbeddings';
45
46
  this._agentVectorService = null;
46
47
  this._actionVectorService = null;
48
+ this._noteVectorService = null;
49
+ this._exampleVectorService = null;
47
50
  this._actions = [];
48
51
  this._agentEmbeddingsCache = new Map();
49
52
  this._actionEmbeddingsCache = new Map();
@@ -92,7 +95,7 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
92
95
  await AIEngine.Instance.Config(false, contextUser);
93
96
  const modelToUse = model ? model : await this.GetHighestPowerLLM(null, contextUser);
94
97
  const apiKeyToUse = apiKey ? apiKey : (0, ai_1.GetAIAPIKey)(modelToUse.DriverClass);
95
- const modelInstance = global_2.MJGlobal.Instance.ClassFactory.CreateInstance(ai_1.BaseLLM, modelToUse.DriverClass, apiKeyToUse);
98
+ const modelInstance = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(ai_1.BaseLLM, modelToUse.DriverClass, apiKeyToUse);
96
99
  return { modelInstance, modelToUse };
97
100
  }
98
101
  async SimpleLLMCompletion(userPrompt, contextUser, systemPrompt, model, apiKey) {
@@ -113,7 +116,7 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
113
116
  throw new Error(`Error executing LLM model ${modelToUse.Name} : ${result.errorMessage}`);
114
117
  }
115
118
  catch (e) {
116
- (0, global_1.LogError)(e);
119
+ (0, core_1.LogError)(e);
117
120
  throw e;
118
121
  }
119
122
  }
@@ -121,8 +124,12 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
121
124
  await super.AdditionalLoading(contextUser);
122
125
  if (!this._embeddingsGenerated) {
123
126
  await this.loadActions(contextUser);
124
- await this.loadAgentEmbeddings();
125
- await this.loadActionEmbeddings();
127
+ const promises = [];
128
+ promises.push(this.loadAgentEmbeddings());
129
+ promises.push(this.loadActionEmbeddings());
130
+ promises.push(this.loadNoteEmbeddings(contextUser));
131
+ promises.push(this.loadExampleEmbeddings(contextUser));
132
+ await Promise.all(promises);
126
133
  this._embeddingsGenerated = true;
127
134
  }
128
135
  }
@@ -134,9 +141,10 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
134
141
  console.log('AIEngine: No agents found to generate embeddings for');
135
142
  return;
136
143
  }
137
- const agentsNeedingEmbeddings = agents.filter((agent) => !this._agentEmbeddingsCache.has(agent.ID));
144
+ const nonRestrictedAgents = agents.filter(agent => !agent.IsRestricted);
145
+ const agentsNeedingEmbeddings = nonRestrictedAgents.filter(agent => !this._agentEmbeddingsCache.has(agent.ID));
138
146
  if (agentsNeedingEmbeddings.length === 0) {
139
- console.log(`AIEngine: All ${agents.length} agents already have embeddings`);
147
+ console.log(`AIEngine: All ${nonRestrictedAgents.length} non-restricted agents already have embeddings`);
140
148
  return;
141
149
  }
142
150
  console.log(`AIEngine: Generating embeddings for ${agentsNeedingEmbeddings.length} agents (${agents.length - agentsNeedingEmbeddings.length} already cached)...`);
@@ -156,23 +164,14 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
156
164
  }
157
165
  }
158
166
  async loadActions(contextUser) {
159
- const startTime = Date.now();
160
- console.log('AIEngine: Loading actions...');
161
167
  try {
162
- const rv = new global_1.RunView();
163
- const result = await rv.RunView({
164
- EntityName: 'Actions',
165
- ExtraFilter: "Status = 'Active'",
166
- OrderBy: 'Name',
167
- ResultType: 'entity_object',
168
- }, contextUser);
169
- if (result.Success && result.Results) {
170
- this._actions = result.Results;
171
- const duration = Date.now() - startTime;
172
- console.log(`AIEngine: Loaded ${this._actions.length} actions in ${duration}ms`);
168
+ await actions_base_1.ActionEngineBase.Instance.Config(false, contextUser, this.ProviderToUse);
169
+ const actions = actions_base_1.ActionEngineBase.Instance.Actions.filter(a => a.Status === 'Active');
170
+ if (actions && actions.length > 0) {
171
+ this._actions = actions;
173
172
  }
174
173
  else {
175
- console.error(`Failed to load actions: ${result.ErrorMessage || 'Unknown error'}`);
174
+ console.error(`Failed to load actions`);
176
175
  this._actions = [];
177
176
  }
178
177
  }
@@ -189,7 +188,7 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
189
188
  console.log('AIEngine: No actions found to generate embeddings for');
190
189
  return;
191
190
  }
192
- const actionsNeedingEmbeddings = actions.filter((action) => !this._actionEmbeddingsCache.has(action.ID));
191
+ const actionsNeedingEmbeddings = actions.filter(action => !this._actionEmbeddingsCache.has(action.ID));
193
192
  if (actionsNeedingEmbeddings.length === 0) {
194
193
  console.log(`AIEngine: All ${actions.length} actions already have embeddings`);
195
194
  return;
@@ -210,20 +209,86 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
210
209
  console.error(`Failed to load action embeddings: ${error instanceof Error ? error.message : String(error)}`);
211
210
  }
212
211
  }
212
+ async loadNoteEmbeddings(contextUser) {
213
+ try {
214
+ const notes = this.AgentNotes.filter(n => n.Status === 'Active' && n.EmbeddingVector);
215
+ if (notes.length === 0) {
216
+ console.log('AIEngine: No active notes with embeddings found');
217
+ return;
218
+ }
219
+ const entries = notes.map(note => ({
220
+ key: note.ID,
221
+ vector: JSON.parse(note.EmbeddingVector),
222
+ metadata: {
223
+ id: note.ID,
224
+ agentId: note.AgentID,
225
+ userId: note.UserID,
226
+ companyId: note.CompanyID,
227
+ type: note.Type,
228
+ noteText: note.Note,
229
+ noteEntity: note
230
+ }
231
+ }));
232
+ this._noteVectorService = new ai_vectors_memory_1.SimpleVectorService();
233
+ this._noteVectorService.LoadVectors(entries);
234
+ }
235
+ catch (error) {
236
+ console.error(`Failed to load note embeddings: ${error instanceof Error ? error.message : String(error)}`);
237
+ }
238
+ }
239
+ async loadExampleEmbeddings(contextUser) {
240
+ try {
241
+ const examples = this.AgentExamples.filter(e => e.Status === 'Active' && e.EmbeddingVector);
242
+ if (examples.length === 0) {
243
+ console.log('AIEngine: No examples with embeddings found');
244
+ return;
245
+ }
246
+ const entries = examples.map(example => ({
247
+ key: example.ID,
248
+ vector: JSON.parse(example.EmbeddingVector),
249
+ metadata: {
250
+ id: example.ID,
251
+ agentId: example.AgentID,
252
+ userId: example.UserID,
253
+ companyId: example.CompanyID,
254
+ type: example.Type,
255
+ exampleInput: example.ExampleInput,
256
+ exampleOutput: example.ExampleOutput,
257
+ successScore: example.SuccessScore,
258
+ exampleEntity: example
259
+ }
260
+ }));
261
+ this._exampleVectorService = new ai_vectors_memory_1.SimpleVectorService();
262
+ this._exampleVectorService.LoadVectors(entries);
263
+ }
264
+ catch (error) {
265
+ console.error(`Failed to load example embeddings: ${error instanceof Error ? error.message : String(error)}`);
266
+ }
267
+ }
268
+ async ProcessEntityEvent(event) {
269
+ await super.ProcessEntityEvent(event);
270
+ const entityName = event.baseEntity.EntityInfo.Name.toLowerCase().trim();
271
+ if (entityName === 'ai agent notes') {
272
+ await this.loadNoteEmbeddings(this.ContextUser);
273
+ }
274
+ else if (entityName === 'ai agent examples') {
275
+ await this.loadExampleEmbeddings(this.ContextUser);
276
+ }
277
+ }
213
278
  async HandleIndividualBaseEntityEvent(event) {
214
279
  const baseResult = await super.HandleIndividualBaseEntityEvent(event);
215
280
  if (event.type === 'save' && this._embeddingsGenerated) {
216
281
  const entityName = event.baseEntity.EntityInfo.Name;
217
282
  switch (entityName) {
218
283
  case 'AI Agents':
219
- const agent = this.Agents.find((a) => a.ID === event.baseEntity.PrimaryKey.ToString());
284
+ const agent = this.Agents.find(a => a.ID === event.baseEntity.PrimaryKey.ToString());
220
285
  if (agent && !this._agentEmbeddingsCache.has(agent.ID)) {
221
286
  console.log(`AIEngine: Generating embeddings for new agent: ${agent.Name}`);
222
287
  await this.generateSingleAgentEmbedding(agent);
223
288
  }
224
289
  break;
225
290
  case 'Actions':
226
- const action = this._actions.find((a) => a.ID === event.baseEntity.PrimaryKey.ToString());
291
+ const action = this._actions.find(a => a.ID === event.baseEntity.PrimaryKey.ToString());
227
292
  if (action && !this._actionEmbeddingsCache.has(action.ID)) {
228
293
  console.log(`AIEngine: Generating embeddings for new action: ${action.Name}`);
229
294
  await this.generateSingleActionEmbedding(action);
@@ -235,6 +300,10 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
235
300
  }
236
301
  async generateSingleAgentEmbedding(agent) {
237
302
  try {
303
+ if (agent.IsRestricted) {
304
+ console.log(`AIEngine: Skipping embedding generation for restricted agent ${agent.Name}`);
305
+ return;
306
+ }
238
307
  const entries = await AgentEmbeddingService_1.AgentEmbeddingService.GenerateAgentEmbeddings([agent], (text) => this.EmbedTextLocal(text));
239
308
  if (entries.length > 0) {
240
309
  this._agentEmbeddingsCache.set(agent.ID, true);
@@ -277,6 +346,60 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
277
346
  }
278
347
  return ActionEmbeddingService_1.ActionEmbeddingService.FindSimilarActions(this._actionVectorService, taskDescription, (text) => this.EmbedTextLocal(text), topK, minSimilarity);
279
348
  }
349
+ async FindSimilarAgentNotes(queryText, agentId, userId, companyId, topK = 5, minSimilarity = 0.5) {
350
+ if (!this._noteVectorService) {
351
+ return [];
352
+ }
353
+ if (!queryText || queryText.trim().length === 0) {
354
+ throw new Error('queryText cannot be empty');
355
+ }
356
+ const queryEmbedding = await this.EmbedTextLocal(queryText);
357
+ if (!queryEmbedding || !queryEmbedding.result || queryEmbedding.result.vector.length === 0) {
358
+ throw new Error('Failed to generate embedding for query text');
359
+ }
360
+ const needsFiltering = agentId || userId || companyId;
361
+ const filter = needsFiltering ? (metadata) => {
362
+ if (agentId && metadata.agentId !== agentId)
363
+ return false;
364
+ if (userId && metadata.userId && metadata.userId !== userId)
365
+ return false;
366
+ if (companyId && metadata.companyId && metadata.companyId !== companyId)
367
+ return false;
368
+ return true;
369
+ } : undefined;
370
+ const results = this._noteVectorService.FindNearest(queryEmbedding.result.vector, topK, minSimilarity, undefined, filter);
371
+ return results.map(r => ({
372
+ note: r.metadata.noteEntity,
373
+ similarity: r.score
374
+ }));
375
+ }
376
+ async FindSimilarAgentExamples(queryText, agentId, userId, companyId, topK = 3, minSimilarity = 0.5) {
377
+ if (!this._exampleVectorService) {
378
+ return [];
379
+ }
380
+ if (!queryText || queryText.trim().length === 0) {
381
+ throw new Error('queryText cannot be empty');
382
+ }
383
+ const queryEmbedding = await this.EmbedTextLocal(queryText);
384
+ if (!queryEmbedding || !queryEmbedding.result || queryEmbedding.result.vector.length === 0) {
385
+ throw new Error('Failed to generate embedding for query text');
386
+ }
387
+ const needsFiltering = agentId || userId || companyId;
388
+ const filter = needsFiltering ? (metadata) => {
389
+ if (agentId && metadata.agentId !== agentId)
390
+ return false;
391
+ if (userId && metadata.userId && metadata.userId !== userId)
392
+ return false;
393
+ if (companyId && metadata.companyId && metadata.companyId !== companyId)
394
+ return false;
395
+ return true;
396
+ } : undefined;
397
+ const results = this._exampleVectorService.FindNearest(queryEmbedding.result.vector, topK, minSimilarity, undefined, filter);
398
+ return results.map(r => ({
399
+ example: r.metadata.exampleEntity,
400
+ similarity: r.score
401
+ }));
402
+ }
280
403
  async ParallelLLMCompletions(userPrompt, contextUser, systemPrompt, iterations = 3, temperatureIncrement = 0.1, baseTemperature = 0.7, model, apiKey, callbacks) {
281
404
  try {
282
405
  if (!userPrompt || userPrompt.length === 0) {
@@ -287,26 +410,23 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
287
410
  }
288
411
  const { modelInstance, modelToUse } = await this.PrepareLLMInstance(contextUser, model, apiKey);
289
412
  const messages = this.PrepareChatMessages(userPrompt, systemPrompt);
290
- const paramsArray = Array(iterations)
291
- .fill(0)
292
- .map((_, i) => {
413
+ const paramsArray = Array(iterations).fill(0).map((_, i) => {
293
414
  const params = new ai_1.ChatParams();
294
415
  params.messages = [...messages];
295
416
  params.model = modelToUse.APIName;
296
- params.temperature = baseTemperature + i * temperatureIncrement;
417
+ params.temperature = baseTemperature + (i * temperatureIncrement);
297
418
  return params;
298
419
  });
299
420
  return await modelInstance.ChatCompletions(paramsArray, callbacks);
300
421
  }
301
422
  catch (e) {
302
- (0, global_1.LogError)(e);
423
+ (0, core_1.LogError)(e);
303
424
  throw e;
304
425
  }
305
426
  }
306
427
  get LocalEmbeddingModels() {
307
- const embeddingModels = AIEngine.Instance.Models.filter((m) => m.AIModelType?.trim().toLowerCase() === AIEngine.Instance.EmbeddingModelTypeName.toLowerCase() &&
308
- m.Vendor &&
309
- m.Vendor.trim().toLowerCase() === AIEngine.Instance.LocalEmbeddingModelVendorName.toLowerCase());
428
+ const embeddingModels = AIEngine.Instance.Models.filter(m => m.AIModelType?.trim().toLowerCase() === AIEngine.Instance.EmbeddingModelTypeName.toLowerCase() &&
429
+ m.Vendor && m.Vendor.trim().toLowerCase() === AIEngine.Instance.LocalEmbeddingModelVendorName.toLowerCase());
310
430
  const sortedModels = embeddingModels.sort((a, b) => (b.PowerRank || 0) - (a.PowerRank || 0));
311
431
  return sortedModels;
312
432
  }
@@ -326,9 +446,9 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
326
446
  async EmbedText(model, text, apiKey) {
327
447
  const params = {
328
448
  text: text,
329
- model: model.APIName,
449
+ model: model.APIName
330
450
  };
331
- const embedding = global_2.MJGlobal.Instance.ClassFactory.CreateInstance(ai_1.BaseEmbeddings, model.DriverClass, apiKey);
451
+ const embedding = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(ai_1.BaseEmbeddings, model.DriverClass, apiKey);
332
452
  if (!embedding) {
333
453
  console.warn(`Failed to create embedding instance for model ${model.Name}. Skipping embedding generation.`);
334
454
  return null;
@@ -343,25 +463,23 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
343
463
  async ExecuteEntityAIAction(params) {
344
464
  const startTime = new Date();
345
465
  try {
346
- const entityAction = AIEngine.Instance.EntityAIActions.find((ea) => ea.ID === params.entityAIActionId);
466
+ const entityAction = AIEngine.Instance.EntityAIActions.find(ea => ea.ID === params.entityAIActionId);
347
467
  if (!entityAction)
348
468
  throw new Error(`Entity AI Action ${params.entityAIActionId} not found.`);
349
- const action = AIEngine.Instance.Actions.find((a) => a.ID === entityAction.AIActionID);
469
+ const action = AIEngine.Instance.Actions.find(a => a.ID === entityAction.AIActionID);
350
470
  if (!action)
351
471
  throw new Error(`Action ${entityAction.AIActionID} not found, from the EntityAIAction ${params.entityAIActionId}.`);
352
- if (entityAction.SkipIfOutputFieldNotEmpty && entityAction.OutputType.trim().toLowerCase() === 'field') {
472
+ if (entityAction.SkipIfOutputFieldNotEmpty &&
473
+ entityAction.OutputType.trim().toLowerCase() === 'field') {
353
474
  const val = params.entityRecord.Get(entityAction.OutputField);
354
475
  if (val && val.length > 0)
355
476
  return null;
356
477
  }
357
- const entityPrompt = params.systemPrompt
358
- ? params.systemPrompt
359
- : entityAction.Prompt && entityAction.Prompt.length > 0
360
- ? entityAction.Prompt
361
- : action.DefaultPrompt;
478
+ const entityPrompt = params.systemPrompt ? params.systemPrompt :
479
+ (entityAction.Prompt && entityAction.Prompt.length > 0 ? entityAction.Prompt : action.DefaultPrompt);
362
480
  const userMessage = params.userPrompt ? params.userPrompt : this.markupUserMessage(params.entityRecord, entityAction.UserMessage);
363
481
  const modelId = entityAction.AIModelID || action.DefaultModelID;
364
- const model = AIEngine.Instance.Models.find((m) => m.ID === modelId);
482
+ const model = AIEngine.Instance.Models.find(m => m.ID === modelId);
365
483
  const entityParams = {
366
484
  name: entityAction.Name,
367
485
  actionId: entityAction.AIActionID,
@@ -369,33 +487,33 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
369
487
  systemPrompt: entityPrompt,
370
488
  userMessage: userMessage,
371
489
  apiKey: (0, ai_1.GetAIAPIKey)(model.DriverClass),
372
- result: null,
490
+ result: null
373
491
  };
374
- if (!(await params.entityRecord.BeforeEntityAIAction(entityParams)))
492
+ if (!await params.entityRecord.BeforeEntityAIAction(entityParams))
375
493
  return null;
376
494
  const results = await this.ExecuteAIAction({
377
495
  actionId: entityParams.actionId,
378
496
  modelId: entityParams.modelId,
379
497
  systemPrompt: entityParams.systemPrompt,
380
498
  userPrompt: entityParams.userMessage,
381
- modelName: model.Name,
499
+ modelName: model.Name
382
500
  });
383
501
  if (results) {
384
502
  const sOutput = this.GetStringOutputFromActionResults(action, results);
385
503
  entityParams.result = results;
386
- if (!(await params.entityRecord.AfterEntityAIAction(entityParams)))
504
+ if (!await params.entityRecord.AfterEntityAIAction(entityParams))
387
505
  return results;
388
506
  if (entityAction.OutputType.trim().toLowerCase() === 'field') {
389
507
  params.entityRecord.Set(entityAction.OutputField, sOutput);
390
508
  if (entityAction.TriggerEvent.trim().toLowerCase() === 'after save') {
391
509
  await params.entityRecord.Save({
392
510
  SkipEntityAIActions: true,
393
- IgnoreDirtyState: false,
511
+ IgnoreDirtyState: false
394
512
  });
395
513
  }
396
514
  }
397
515
  else if (entityAction.OutputType.trim().toLowerCase() === 'entity') {
398
- const md = new global_1.Metadata();
516
+ const md = new core_1.Metadata();
399
517
  const newRecord = await md.GetEntityObject(entityAction.OutputEntity);
400
518
  newRecord.NewRecord();
401
519
  newRecord.Set('EntityID', params.entityRecord.EntityInfo.ID);
@@ -414,7 +532,7 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
414
532
  endTime: new Date(),
415
533
  timeElapsed: new Date().getTime() - startTime.getTime(),
416
534
  errorMessage: err.message,
417
- exception: err,
535
+ exception: err
418
536
  };
419
537
  }
420
538
  }
@@ -422,7 +540,7 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
422
540
  let temp = userMessage;
423
541
  const markupTokens = temp.match(/{[a-zA-Z0-9]+}/g);
424
542
  if (markupTokens && markupTokens.length > 0) {
425
- markupTokens.forEach((token) => {
543
+ markupTokens.forEach(token => {
426
544
  const fieldName = token.replace('{', '').replace('}', '');
427
545
  const fieldValue = entityRecord.Get(fieldName);
428
546
  temp = temp.replace(token, fieldValue ? fieldValue : '');
@@ -431,12 +549,12 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
431
549
  return temp;
432
550
  }
433
551
  async ExecuteAIAction(params) {
434
- const action = AIEngine.Instance.Actions.find((a) => a.ID === params.actionId);
552
+ const action = AIEngine.Instance.Actions.find(a => a.ID === params.actionId);
435
553
  if (!action)
436
554
  throw new Error(`Action ${params.actionId} not found.`);
437
555
  if (action.IsActive === false)
438
556
  throw new Error(`Action ${params.actionId} is not active.`);
439
- const model = AIEngine.Instance.Models.find((m) => m.ID === params.modelId);
557
+ const model = AIEngine.Instance.Models.find(m => m.ID === params.modelId);
440
558
  if (!model)
441
559
  throw new Error(`Model ${params.modelId} not found.`);
442
560
  if (model.IsActive === false)
@@ -448,11 +566,11 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
448
566
  messages: [
449
567
  {
450
568
  role: 'system',
451
- content: params.systemPrompt,
569
+ content: params.systemPrompt
452
570
  },
453
571
  {
454
572
  role: 'user',
455
- content: params.userPrompt,
573
+ content: params.userPrompt
456
574
  },
457
575
  ],
458
576
  };
@@ -477,7 +595,7 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
477
595
  switch (action.Name.trim().toLowerCase()) {
478
596
  case 'classify':
479
597
  const classifyResult = result;
480
- return classifyResult.tags.map((t) => t.tag).join(', ');
598
+ return classifyResult.tags.map(t => t.tag).join(', ');
481
599
  case 'summarize':
482
600
  const summarizeResult = result;
483
601
  return summarizeResult.summaryText;
@@ -497,7 +615,7 @@ class AIEngine extends ai_engine_base_1.AIEngineBase {
497
615
  if (!driverModule)
498
616
  throw new Error(`Error loading driver module '${driverModuleName}'`);
499
617
  }
500
- return global_2.MJGlobal.Instance.ClassFactory.CreateInstance(ai_1.BaseModel, driverClassName, apiKey);
618
+ return global_1.MJGlobal.Instance.ClassFactory.CreateInstance(ai_1.BaseModel, driverClassName, apiKey);
501
619
  }
502
620
  catch (e) {
503
621
  throw new Error(`Error loading driver '${driverModuleName}' / '${driverClassName}' : ${e.message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"AIEngine.js","sourceRoot":"","sources":["../src/AIEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AIEngine.js","sourceRoot":"","sources":["../src/AIEngine.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,4 +3,6 @@ export * from './services/AgentEmbeddingService';
3
3
  export * from './services/ActionEmbeddingService';
4
4
  export * from './types/AgentMatchResult';
5
5
  export * from './types/ActionMatchResult';
6
+ export * from './types/NoteMatchResult';
7
+ export * from './types/ExampleMatchResult';
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC"}
package/dist/index.js CHANGED
@@ -19,4 +19,6 @@ __exportStar(require("./services/AgentEmbeddingService"), exports);
19
19
  __exportStar(require("./services/ActionEmbeddingService"), exports);
20
20
  __exportStar(require("./types/AgentMatchResult"), exports);
21
21
  __exportStar(require("./types/ActionMatchResult"), exports);
22
+ __exportStar(require("./types/NoteMatchResult"), exports);
23
+ __exportStar(require("./types/ExampleMatchResult"), exports);
22
24
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,mEAAiD;AACjD,oEAAkD;AAClD,2DAAyC;AACzC,4DAA0C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,mEAAiD;AACjD,oEAAkD;AAClD,2DAAyC;AACzC,4DAA0C;AAC1C,0DAAwC;AACxC,6DAA2C"}
@@ -0,0 +1,17 @@
1
+ import { AIAgentExampleEntity } from '@memberjunction/core-entities';
2
+ export interface ExampleEmbeddingMetadata {
3
+ id: string;
4
+ agentId: string;
5
+ userId: string | null;
6
+ companyId: string | null;
7
+ type: string;
8
+ exampleInput: string;
9
+ exampleOutput: string;
10
+ successScore: number | null;
11
+ exampleEntity: AIAgentExampleEntity;
12
+ }
13
+ export interface ExampleMatchResult {
14
+ example: AIAgentExampleEntity;
15
+ similarity: number;
16
+ }
17
+ //# sourceMappingURL=ExampleMatchResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExampleMatchResult.d.ts","sourceRoot":"","sources":["../../src/types/ExampleMatchResult.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAMrE,MAAM,WAAW,wBAAwB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,oBAAoB,CAAC;CACvC;AAMD,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,oBAAoB,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ExampleMatchResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExampleMatchResult.js","sourceRoot":"","sources":["../../src/types/ExampleMatchResult.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import { AIAgentNoteEntity } from '@memberjunction/core-entities';
2
+ export interface NoteEmbeddingMetadata {
3
+ id: string;
4
+ agentId: string | null;
5
+ userId: string | null;
6
+ companyId: string | null;
7
+ type: string;
8
+ noteText: string;
9
+ noteEntity: AIAgentNoteEntity;
10
+ }
11
+ export interface NoteMatchResult {
12
+ note: AIAgentNoteEntity;
13
+ similarity: number;
14
+ }
15
+ //# sourceMappingURL=NoteMatchResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NoteMatchResult.d.ts","sourceRoot":"","sources":["../../src/types/NoteMatchResult.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAMlE,MAAM,WAAW,qBAAqB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,iBAAiB,CAAC;CACjC;AAMD,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,iBAAiB,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=NoteMatchResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NoteMatchResult.js","sourceRoot":"","sources":["../../src/types/NoteMatchResult.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/aiengine",
3
- "version": "2.112.0",
3
+ "version": "2.113.1",
4
4
  "description": "MemberJunction: AI Engine Package - handles automatic execution of Entity AI Actions using AI Models",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -15,13 +15,14 @@
15
15
  "author": "MemberJunction.com",
16
16
  "license": "ISC",
17
17
  "dependencies": {
18
- "@memberjunction/global": "2.112.0",
19
- "@memberjunction/core-entities": "2.112.0",
20
- "@memberjunction/actions-base": "2.112.0",
21
- "@memberjunction/ai": "2.112.0",
22
- "@memberjunction/ai-core-plus": "2.112.0",
23
- "@memberjunction/ai-engine-base": "2.112.0",
24
- "@memberjunction/ai-vectors-memory": "2.112.0",
18
+ "@memberjunction/core": "2.113.1",
19
+ "@memberjunction/global": "2.113.1",
20
+ "@memberjunction/core-entities": "2.113.1",
21
+ "@memberjunction/actions-base": "2.113.1",
22
+ "@memberjunction/ai": "2.113.1",
23
+ "@memberjunction/ai-core-plus": "2.113.1",
24
+ "@memberjunction/ai-engine-base": "2.113.1",
25
+ "@memberjunction/ai-vectors-memory": "2.113.1",
25
26
  "dotenv": "^16.4.1",
26
27
  "rxjs": "^7.8.1"
27
28
  },