@memberjunction/aiengine 3.3.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 (32) hide show
  1. package/dist/AIEngine.d.ts +243 -13
  2. package/dist/AIEngine.d.ts.map +1 -1
  3. package/dist/AIEngine.js +406 -154
  4. package/dist/AIEngine.js.map +1 -1
  5. package/dist/index.d.ts +8 -8
  6. package/dist/index.js +8 -24
  7. package/dist/index.js.map +1 -1
  8. package/dist/services/ActionEmbeddingService.d.ts +72 -1
  9. package/dist/services/ActionEmbeddingService.d.ts.map +1 -1
  10. package/dist/services/ActionEmbeddingService.js +88 -12
  11. package/dist/services/ActionEmbeddingService.js.map +1 -1
  12. package/dist/services/AgentEmbeddingService.d.ts +70 -1
  13. package/dist/services/AgentEmbeddingService.d.ts.map +1 -1
  14. package/dist/services/AgentEmbeddingService.js +87 -13
  15. package/dist/services/AgentEmbeddingService.js.map +1 -1
  16. package/dist/services/ConversationAttachmentService.d.ts +126 -0
  17. package/dist/services/ConversationAttachmentService.d.ts.map +1 -1
  18. package/dist/services/ConversationAttachmentService.js +180 -25
  19. package/dist/services/ConversationAttachmentService.js.map +1 -1
  20. package/dist/types/ActionMatchResult.d.ts +48 -0
  21. package/dist/types/ActionMatchResult.d.ts.map +1 -1
  22. package/dist/types/ActionMatchResult.js +1 -2
  23. package/dist/types/AgentMatchResult.d.ts +52 -0
  24. package/dist/types/AgentMatchResult.d.ts.map +1 -1
  25. package/dist/types/AgentMatchResult.js +1 -2
  26. package/dist/types/ExampleMatchResult.d.ts +8 -0
  27. package/dist/types/ExampleMatchResult.d.ts.map +1 -1
  28. package/dist/types/ExampleMatchResult.js +1 -2
  29. package/dist/types/NoteMatchResult.d.ts +8 -0
  30. package/dist/types/NoteMatchResult.d.ts.map +1 -1
  31. package/dist/types/NoteMatchResult.js +1 -2
  32. package/package.json +16 -15
@@ -1,21 +1,38 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getAttachmentService = exports.ConversationAttachmentService = void 0;
4
- const core_1 = require("@memberjunction/core");
5
- const global_1 = require("@memberjunction/global");
6
- const storage_1 = require("@memberjunction/storage");
7
- const ai_core_plus_1 = require("@memberjunction/ai-core-plus");
8
- const ai_1 = require("@memberjunction/ai");
9
- class ConversationAttachmentService {
1
+ /**
2
+ * @fileoverview Service for managing conversation attachments.
3
+ *
4
+ * This service provides centralized attachment management including:
5
+ * - Validation against size/count limits with cascade logic
6
+ * - Inline vs MJStorage storage decisions
7
+ * - Thumbnail generation for images
8
+ * - CRUD operations for attachments
9
+ *
10
+ * @module @memberjunction/aiengine
11
+ * @author MemberJunction.com
12
+ * @since 2.130.0
13
+ */
14
+ import { Metadata, RunView } from '@memberjunction/core';
15
+ import { MJGlobal } from '@memberjunction/global';
16
+ import { FileStorageBase } from '@memberjunction/storage';
17
+ import { ConversationUtility, DEFAULT_ATTACHMENT_LIMITS, DEFAULT_INLINE_STORAGE_THRESHOLD_BYTES } from '@memberjunction/ai-core-plus';
18
+ import { createBase64DataUrl, parseBase64DataUrl } from '@memberjunction/ai';
19
+ /**
20
+ * Service for managing conversation attachments.
21
+ * Handles validation, storage, thumbnails, and CRUD operations.
22
+ */
23
+ export class ConversationAttachmentService {
10
24
  constructor() {
11
25
  this.modalityCache = { byName: new Map(), loaded: false };
12
- this.md = new core_1.Metadata();
26
+ this.md = new Metadata();
13
27
  }
28
+ /**
29
+ * Load and cache modalities for efficient lookup
30
+ */
14
31
  async loadModalitiesIfNeeded(contextUser) {
15
32
  if (this.modalityCache.loaded) {
16
33
  return;
17
34
  }
18
- const rv = new core_1.RunView();
35
+ const rv = new RunView();
19
36
  const result = await rv.RunView({
20
37
  EntityName: 'MJ: AI Modalities',
21
38
  ResultType: 'entity_object'
@@ -27,22 +44,46 @@ class ConversationAttachmentService {
27
44
  this.modalityCache.loaded = true;
28
45
  }
29
46
  }
47
+ /**
48
+ * Get modality by name (e.g., 'Image', 'Audio', 'Video', 'File')
49
+ */
30
50
  async getModalityByName(name, contextUser) {
31
51
  await this.loadModalitiesIfNeeded(contextUser);
32
52
  return this.modalityCache.byName.get(name.toLowerCase()) || null;
33
53
  }
54
+ /**
55
+ * Convert AttachmentType to modality name
56
+ */
34
57
  attachmentTypeToModalityName(attachmentType) {
58
+ // AttachmentType is 'Image' | 'Video' | 'Audio' | 'Document'
59
+ // Modality names are 'Image', 'Audio', 'Video', 'File' etc.
35
60
  if (attachmentType === 'Document') {
36
61
  return 'File';
37
62
  }
38
63
  return attachmentType;
39
64
  }
65
+ /**
66
+ * Add a new attachment to a conversation detail.
67
+ * Handles validation, storage decision, thumbnail generation, and record creation.
68
+ *
69
+ * @param conversationDetailId - The ID of the conversation detail
70
+ * @param input - The attachment data and metadata
71
+ * @param agent - The AI agent (for limit overrides)
72
+ * @param model - The AI model (for capability limits)
73
+ * @param contextUser - The current user context
74
+ * @param existingCounts - Current attachment counts for validation
75
+ * @returns The result with created attachment or error
76
+ */
40
77
  async addAttachment(conversationDetailId, input, agent, model, contextUser, existingCounts = { images: 0, videos: 0, audios: 0, documents: 0 }) {
41
- const parsed = (0, ai_1.parseBase64DataUrl)(input.data);
78
+ // Parse data if it's a data URL
79
+ const parsed = parseBase64DataUrl(input.data);
42
80
  const base64Data = parsed?.data || input.data;
43
81
  const mimeType = parsed?.mediaType || input.mimeType;
82
+ // Calculate size from base64
44
83
  const sizeBytes = this.calculateBase64Size(base64Data);
45
- const attachmentType = ai_core_plus_1.ConversationUtility.GetAttachmentTypeFromMime(mimeType);
84
+ // Determine attachment type from MIME
85
+ const attachmentType = ConversationUtility.GetAttachmentTypeFromMime(mimeType);
86
+ // Get the modality entity for this attachment type
46
87
  const modalityName = this.attachmentTypeToModalityName(attachmentType);
47
88
  const modality = await this.getModalityByName(modalityName, contextUser);
48
89
  if (!modality) {
@@ -51,21 +92,28 @@ class ConversationAttachmentService {
51
92
  error: `Unknown modality type: ${modalityName}`
52
93
  };
53
94
  }
54
- const validation = ai_core_plus_1.ConversationUtility.ValidateAttachment({ type: attachmentType, sizeBytes }, existingCounts, null, null, ai_core_plus_1.DEFAULT_ATTACHMENT_LIMITS);
95
+ // Validate attachment against limits
96
+ // For now, use default limits since agent/model don't have these specific fields
97
+ const validation = ConversationUtility.ValidateAttachment({ type: attachmentType, sizeBytes }, existingCounts, null, // Agent limits - not currently stored on entity
98
+ null, // Model limits - not currently stored on entity
99
+ DEFAULT_ATTACHMENT_LIMITS);
55
100
  if (!validation.allowed) {
56
101
  return {
57
102
  success: false,
58
103
  error: validation.reason
59
104
  };
60
105
  }
106
+ // Determine storage mode using agent's threshold if available
61
107
  const agentThreshold = agent?.InlineStorageThresholdBytes ?? null;
62
- const storeInline = ai_core_plus_1.ConversationUtility.ShouldStoreInline(sizeBytes, agentThreshold, ai_core_plus_1.DEFAULT_INLINE_STORAGE_THRESHOLD_BYTES);
108
+ const storeInline = ConversationUtility.ShouldStoreInline(sizeBytes, agentThreshold, DEFAULT_INLINE_STORAGE_THRESHOLD_BYTES);
63
109
  let inlineData = null;
64
110
  let fileId = null;
65
111
  if (storeInline) {
112
+ // Store inline as base64
66
113
  inlineData = base64Data;
67
114
  }
68
115
  else {
116
+ // Upload to MJStorage
69
117
  const uploadResult = await this.uploadToStorage(base64Data, mimeType, input.fileName || `attachment_${Date.now()}`, agent, contextUser);
70
118
  if (!uploadResult.success) {
71
119
  return {
@@ -75,10 +123,12 @@ class ConversationAttachmentService {
75
123
  }
76
124
  fileId = uploadResult.fileId;
77
125
  }
126
+ // Generate thumbnail for images
78
127
  let thumbnailBase64 = null;
79
128
  if (attachmentType === 'Image') {
80
129
  thumbnailBase64 = await this.generateImageThumbnail(base64Data, mimeType);
81
130
  }
131
+ // Create attachment record using strongly-typed entity
82
132
  const attachment = await this.createAttachmentRecord({
83
133
  conversationDetailId,
84
134
  modalityId: modality.ID,
@@ -104,12 +154,23 @@ class ConversationAttachmentService {
104
154
  attachment
105
155
  };
106
156
  }
157
+ /**
158
+ * Get attachment data with content URL.
159
+ * For inline attachments, returns the base64 data URL.
160
+ * For MJStorage attachments, returns a pre-authenticated download URL.
161
+ *
162
+ * @param attachment - The attachment entity
163
+ * @param contextUser - The current user context
164
+ * @returns The attachment with content URL
165
+ */
107
166
  async getAttachmentData(attachment, contextUser) {
108
167
  let contentUrl;
109
168
  if (attachment.InlineData) {
110
- contentUrl = (0, ai_1.createBase64DataUrl)(attachment.InlineData, attachment.MimeType);
169
+ // Inline data - convert to data URL
170
+ contentUrl = createBase64DataUrl(attachment.InlineData, attachment.MimeType);
111
171
  }
112
172
  else if (attachment.FileID) {
173
+ // MJStorage - get download URL
113
174
  const downloadUrl = await this.getDownloadUrl(attachment.FileID, contextUser);
114
175
  if (!downloadUrl) {
115
176
  return null;
@@ -124,21 +185,38 @@ class ConversationAttachmentService {
124
185
  contentUrl
125
186
  };
126
187
  }
188
+ /**
189
+ * Get a pre-authenticated download URL for an MJStorage file.
190
+ *
191
+ * @param fileId - The File entity ID
192
+ * @param contextUser - The current user context
193
+ * @returns The download URL or null if unavailable
194
+ */
127
195
  async getDownloadUrl(fileId, contextUser) {
196
+ // Load file entity
128
197
  const file = await this.md.GetEntityObject('Files', contextUser);
129
198
  if (!await file.Load(fileId)) {
130
199
  return null;
131
200
  }
201
+ // Load provider
132
202
  const provider = await this.md.GetEntityObject('File Storage Providers', contextUser);
133
203
  if (!await provider.Load(file.ProviderID)) {
134
204
  return null;
135
205
  }
136
- const driver = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(storage_1.FileStorageBase, provider.ServerDriverKey);
206
+ // Get driver and create download URL
207
+ const driver = MJGlobal.Instance.ClassFactory.CreateInstance(FileStorageBase, provider.ServerDriverKey);
137
208
  const objectKey = file.ProviderKey || file.Name;
138
209
  return driver.CreatePreAuthDownloadUrl(objectKey);
139
210
  }
211
+ /**
212
+ * Get all attachments for a conversation detail.
213
+ *
214
+ * @param conversationDetailId - The conversation detail ID
215
+ * @param contextUser - The current user context
216
+ * @returns Array of attachment entities
217
+ */
140
218
  async getAttachments(conversationDetailId, contextUser) {
141
- const rv = new core_1.RunView();
219
+ const rv = new RunView();
142
220
  const result = await rv.RunView({
143
221
  EntityName: 'MJ: Conversation Detail Attachments',
144
222
  ExtraFilter: `ConversationDetailID='${conversationDetailId}'`,
@@ -150,12 +228,19 @@ class ConversationAttachmentService {
150
228
  }
151
229
  return result.Results;
152
230
  }
231
+ /**
232
+ * Get attachments for multiple conversation details (batch load).
233
+ *
234
+ * @param conversationDetailIds - Array of conversation detail IDs
235
+ * @param contextUser - The current user context
236
+ * @returns Map of conversation detail ID to attachments
237
+ */
153
238
  async getAttachmentsBatch(conversationDetailIds, contextUser) {
154
239
  if (conversationDetailIds.length === 0) {
155
240
  return new Map();
156
241
  }
157
242
  const idList = conversationDetailIds.map(id => `'${id}'`).join(',');
158
- const rv = new core_1.RunView();
243
+ const rv = new RunView();
159
244
  const result = await rv.RunView({
160
245
  EntityName: 'MJ: Conversation Detail Attachments',
161
246
  ExtraFilter: `ConversationDetailID IN (${idList})`,
@@ -166,6 +251,7 @@ class ConversationAttachmentService {
166
251
  if (!result.Success || !result.Results) {
167
252
  return map;
168
253
  }
254
+ // Group by conversation detail ID
169
255
  for (const att of result.Results) {
170
256
  const existing = map.get(att.ConversationDetailID) || [];
171
257
  existing.push(att);
@@ -173,17 +259,35 @@ class ConversationAttachmentService {
173
259
  }
174
260
  return map;
175
261
  }
262
+ /**
263
+ * Delete an attachment and its underlying storage.
264
+ *
265
+ * @param attachmentId - The attachment ID
266
+ * @param contextUser - The current user context
267
+ * @returns Whether deletion succeeded
268
+ */
176
269
  async deleteAttachment(attachmentId, contextUser) {
270
+ // Load attachment using strongly-typed entity
177
271
  const attachment = await this.md.GetEntityObject('MJ: Conversation Detail Attachments', contextUser);
178
272
  if (!await attachment.Load(attachmentId)) {
179
273
  return false;
180
274
  }
275
+ // If stored in MJStorage, delete the file
181
276
  if (attachment.FileID) {
182
277
  await this.deleteStorageFile(attachment.FileID, contextUser);
183
278
  }
279
+ // Delete the attachment record
184
280
  return attachment.Delete();
185
281
  }
282
+ /**
283
+ * Create an AttachmentContent reference for embedding in messages.
284
+ * Maps from entity to the content block type used in AI messages.
285
+ *
286
+ * @param attachment - The attachment entity
287
+ * @returns The attachment content reference
288
+ */
186
289
  createAttachmentReference(attachment) {
290
+ // Map from modality to AttachmentType
187
291
  const modalityName = attachment.Modality?.toLowerCase() || 'file';
188
292
  let type = 'Document';
189
293
  if (modalityName === 'image')
@@ -205,11 +309,22 @@ class ConversationAttachmentService {
205
309
  thumbnailBase64: attachment.ThumbnailBase64 || undefined
206
310
  };
207
311
  }
312
+ // ==================== Private Helper Methods ====================
313
+ /**
314
+ * Calculate the decoded size of base64 data
315
+ */
208
316
  calculateBase64Size(base64Data) {
317
+ // Base64 encoding adds ~33% overhead
318
+ // Length * 3/4 gives approximate decoded size
319
+ // Account for padding characters
209
320
  const padding = (base64Data.match(/=/g) || []).length;
210
321
  return Math.floor((base64Data.length * 3) / 4) - padding;
211
322
  }
323
+ /**
324
+ * Upload data to MJStorage
325
+ */
212
326
  async uploadToStorage(base64Data, mimeType, fileName, agent, contextUser) {
327
+ // Get storage provider from agent config or use default
213
328
  const providerId = agent?.AttachmentStorageProviderID ?? null;
214
329
  if (!providerId) {
215
330
  return {
@@ -217,6 +332,7 @@ class ConversationAttachmentService {
217
332
  error: 'No storage provider configured for attachments'
218
333
  };
219
334
  }
335
+ // Load provider
220
336
  const provider = await this.md.GetEntityObject('File Storage Providers', contextUser);
221
337
  if (!await provider.Load(providerId)) {
222
338
  return {
@@ -224,11 +340,15 @@ class ConversationAttachmentService {
224
340
  error: 'Failed to load storage provider'
225
341
  };
226
342
  }
227
- const driver = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(storage_1.FileStorageBase, provider.ServerDriverKey);
343
+ // Get driver
344
+ const driver = MJGlobal.Instance.ClassFactory.CreateInstance(FileStorageBase, provider.ServerDriverKey);
345
+ // Determine storage path - use a default if agent doesn't have one
228
346
  const basePath = 'conversation-attachments';
229
347
  const timestamp = Date.now();
230
348
  const objectName = `${basePath}/${timestamp}_${fileName}`;
349
+ // Convert base64 to buffer
231
350
  const buffer = Buffer.from(base64Data, 'base64');
351
+ // Upload
232
352
  const uploaded = await driver.PutObject(objectName, buffer, mimeType);
233
353
  if (!uploaded) {
234
354
  return {
@@ -236,6 +356,7 @@ class ConversationAttachmentService {
236
356
  error: 'Failed to upload file to storage'
237
357
  };
238
358
  }
359
+ // Create File entity record
239
360
  const file = await this.md.GetEntityObject('Files', contextUser);
240
361
  file.Name = fileName;
241
362
  file.ProviderID = providerId;
@@ -243,6 +364,7 @@ class ConversationAttachmentService {
243
364
  file.ProviderKey = objectName;
244
365
  file.Status = 'Uploaded';
245
366
  if (!await file.Save()) {
367
+ // Try to clean up uploaded file
246
368
  await driver.DeleteObject(objectName);
247
369
  return {
248
370
  success: false,
@@ -254,32 +376,59 @@ class ConversationAttachmentService {
254
376
  fileId: file.ID
255
377
  };
256
378
  }
379
+ /**
380
+ * Delete a file from MJStorage
381
+ */
257
382
  async deleteStorageFile(fileId, contextUser) {
383
+ // Load file entity
258
384
  const file = await this.md.GetEntityObject('Files', contextUser);
259
385
  if (!await file.Load(fileId)) {
260
386
  return false;
261
387
  }
388
+ // Load provider
262
389
  const provider = await this.md.GetEntityObject('File Storage Providers', contextUser);
263
390
  if (!await provider.Load(file.ProviderID)) {
264
391
  return false;
265
392
  }
266
- const driver = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(storage_1.FileStorageBase, provider.ServerDriverKey);
393
+ // Get driver and delete
394
+ const driver = MJGlobal.Instance.ClassFactory.CreateInstance(FileStorageBase, provider.ServerDriverKey);
267
395
  const objectKey = file.ProviderKey || file.Name;
268
396
  const deleted = await driver.DeleteObject(objectKey);
269
397
  if (deleted) {
398
+ // Delete file record
270
399
  await file.Delete();
271
400
  }
272
401
  return deleted;
273
402
  }
403
+ /**
404
+ * Generate a thumbnail for an image.
405
+ * Returns base64-encoded thumbnail data.
406
+ *
407
+ * Note: This is a placeholder implementation.
408
+ * In production, you'd use a library like sharp or Jimp for server-side
409
+ * image processing, or Canvas API for client-side.
410
+ */
274
411
  async generateImageThumbnail(_base64Data, _mimeType, _maxDimension = 200, _quality = 0.7) {
412
+ // For small images, just return the original
275
413
  const size = this.calculateBase64Size(_base64Data);
276
- if (size < 50 * 1024) {
414
+ if (size < 50 * 1024) { // Less than 50KB
277
415
  return _base64Data;
278
416
  }
417
+ // In a full implementation, you would:
418
+ // 1. Decode the base64 image
419
+ // 2. Resize to maxDimension while maintaining aspect ratio
420
+ // 3. Compress with the specified quality
421
+ // 4. Return as base64
422
+ // For now, return null to indicate no thumbnail generated
423
+ // The UI can fall back to displaying the full image
279
424
  return null;
280
425
  }
426
+ /**
427
+ * Create an attachment record in the database using strongly-typed entity.
428
+ */
281
429
  async createAttachmentRecord(data, contextUser) {
282
430
  const attachment = await this.md.GetEntityObject('MJ: Conversation Detail Attachments', contextUser);
431
+ // Use strongly-typed property setters
283
432
  attachment.ConversationDetailID = data.conversationDetailId;
284
433
  attachment.ModalityID = data.modalityId;
285
434
  attachment.MimeType = data.mimeType;
@@ -298,13 +447,19 @@ class ConversationAttachmentService {
298
447
  return attachment;
299
448
  }
300
449
  }
301
- exports.ConversationAttachmentService = ConversationAttachmentService;
450
+ /**
451
+ * Singleton instance of the attachment service
452
+ */
302
453
  let _attachmentServiceInstance = null;
303
- function getAttachmentService() {
454
+ /**
455
+ * Get the singleton instance of the ConversationAttachmentService.
456
+ *
457
+ * @returns The attachment service instance
458
+ */
459
+ export function getAttachmentService() {
304
460
  if (!_attachmentServiceInstance) {
305
461
  _attachmentServiceInstance = new ConversationAttachmentService();
306
462
  }
307
463
  return _attachmentServiceInstance;
308
464
  }
309
- exports.getAttachmentService = getAttachmentService;
310
465
  //# sourceMappingURL=ConversationAttachmentService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConversationAttachmentService.js","sourceRoot":"","sources":["../../src/services/ConversationAttachmentService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConversationAttachmentService.js","sourceRoot":"","sources":["../../src/services/ConversationAttachmentService.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,66 @@
1
+ /**
2
+ * Metadata stored with each action's vector embedding.
3
+ * Used for filtering and result formatting.
4
+ */
1
5
  export interface ActionEmbeddingMetadata {
6
+ /**
7
+ * Unique identifier for the action
8
+ */
2
9
  id: string;
10
+ /**
11
+ * Action name
12
+ */
3
13
  name: string;
14
+ /**
15
+ * Action description (used in embedding generation)
16
+ */
4
17
  description: string;
18
+ /**
19
+ * Category name for grouping/filtering
20
+ */
5
21
  categoryName: string | null;
22
+ /**
23
+ * Action status (Active, Disabled, etc.)
24
+ */
6
25
  status: string;
26
+ /**
27
+ * Driver class name for the action
28
+ */
7
29
  driverClass: string;
8
30
  }
31
+ /**
32
+ * Result from semantic action search.
33
+ * Returned by FindSimilarActions with similarity scores.
34
+ */
9
35
  export interface ActionMatchResult {
36
+ /**
37
+ * Unique identifier for the action
38
+ */
10
39
  actionId: string;
40
+ /**
41
+ * Action name
42
+ */
11
43
  actionName: string;
44
+ /**
45
+ * Action description
46
+ */
12
47
  description: string;
48
+ /**
49
+ * Cosine similarity score (0-1)
50
+ * Higher scores indicate better matches
51
+ */
13
52
  similarityScore: number;
53
+ /**
54
+ * Category name for the action
55
+ */
14
56
  categoryName?: string | null;
57
+ /**
58
+ * Action status
59
+ */
15
60
  status?: string;
61
+ /**
62
+ * Driver class name
63
+ */
16
64
  driverClass?: string;
17
65
  }
18
66
  //# sourceMappingURL=ActionMatchResult.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActionMatchResult.d.ts","sourceRoot":"","sources":["../../src/types/ActionMatchResult.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,uBAAuB;IAIpC,EAAE,EAAE,MAAM,CAAC;IAKX,IAAI,EAAE,MAAM,CAAC;IAKb,WAAW,EAAE,MAAM,CAAC;IAKpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAK5B,MAAM,EAAE,MAAM,CAAC;IAKf,WAAW,EAAE,MAAM,CAAC;CACvB;AAMD,MAAM,WAAW,iBAAiB;IAI9B,QAAQ,EAAE,MAAM,CAAC;IAKjB,UAAU,EAAE,MAAM,CAAC;IAKnB,WAAW,EAAE,MAAM,CAAC;IAMpB,eAAe,EAAE,MAAM,CAAC;IAKxB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAKhB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB"}
1
+ {"version":3,"file":"ActionMatchResult.d.ts","sourceRoot":"","sources":["../../src/types/ActionMatchResult.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACpC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAC9B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB"}
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=ActionMatchResult.js.map
@@ -1,15 +1,55 @@
1
+ /**
2
+ * Result from agent similarity matching
3
+ */
1
4
  export interface AgentMatchResult {
5
+ /**
6
+ * The agent's unique ID
7
+ */
2
8
  agentId: string;
9
+ /**
10
+ * The agent's name
11
+ */
3
12
  agentName: string;
13
+ /**
14
+ * The agent's description
15
+ */
4
16
  description: string;
17
+ /**
18
+ * Cosine similarity score (0-1, where 1 = perfect match)
19
+ */
5
20
  similarityScore: number;
21
+ /**
22
+ * Agent's system prompt (optional)
23
+ */
6
24
  systemPrompt?: string;
25
+ /**
26
+ * Agent type name (optional)
27
+ */
7
28
  typeName?: string;
29
+ /**
30
+ * Agent status (optional)
31
+ */
8
32
  status?: string;
33
+ /**
34
+ * Agent invocation mode - controls how agent can be called (optional)
35
+ * Values: 'Any', 'Top-Level', 'Sub-Agent'
36
+ */
9
37
  invocationMode?: string;
38
+ /**
39
+ * Name of the default artifact type this agent produces (optional)
40
+ * NULL if agent doesn't produce artifacts (orchestration/utility agents)
41
+ * Examples: "Research Content", "Report", "Diagram"
42
+ */
10
43
  defaultArtifactType?: string;
44
+ /**
45
+ * Parent agent ID for child agents (optional)
46
+ * NULL if this is a top-level agent
47
+ */
11
48
  parentId?: string;
12
49
  }
50
+ /**
51
+ * Metadata about an agent for embedding purposes
52
+ */
13
53
  export interface AgentEmbeddingMetadata {
14
54
  id: string;
15
55
  name: string;
@@ -17,8 +57,20 @@ export interface AgentEmbeddingMetadata {
17
57
  systemPrompt?: string;
18
58
  typeName?: string;
19
59
  status?: string;
60
+ /**
61
+ * Agent invocation mode - controls how agent can be called
62
+ * Values: 'Any', 'Top-Level', 'Sub-Agent'
63
+ */
20
64
  invocationMode?: string;
65
+ /**
66
+ * Name of the default artifact type this agent produces
67
+ * NULL if agent doesn't produce artifacts
68
+ */
21
69
  defaultArtifactType?: string;
70
+ /**
71
+ * Parent agent ID for child agents
72
+ * NULL if this is a top-level agent
73
+ */
22
74
  parentId?: string;
23
75
  }
24
76
  //# sourceMappingURL=AgentMatchResult.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentMatchResult.d.ts","sourceRoot":"","sources":["../../src/types/AgentMatchResult.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,gBAAgB;IAI7B,OAAO,EAAE,MAAM,CAAC;IAKhB,SAAS,EAAE,MAAM,CAAC;IAKlB,WAAW,EAAE,MAAM,CAAC;IAKpB,eAAe,EAAE,MAAM,CAAC;IAKxB,YAAY,CAAC,EAAE,MAAM,CAAC;IAKtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAKlB,MAAM,CAAC,EAAE,MAAM,CAAC;IAMhB,cAAc,CAAC,EAAE,MAAM,CAAC;IAOxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAM7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAKD,MAAM,WAAW,sBAAsB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAKhB,cAAc,CAAC,EAAE,MAAM,CAAC;IAMxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAM7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"AgentMatchResult.d.ts","sourceRoot":"","sources":["../../src/types/AgentMatchResult.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=AgentMatchResult.js.map
@@ -1,4 +1,8 @@
1
1
  import { AIAgentExampleEntity } from '@memberjunction/core-entities';
2
+ /**
3
+ * Metadata stored with each example embedding in the vector service.
4
+ * Includes the full entity to avoid re-loading from database.
5
+ */
2
6
  export interface ExampleEmbeddingMetadata {
3
7
  id: string;
4
8
  agentId: string;
@@ -10,6 +14,10 @@ export interface ExampleEmbeddingMetadata {
10
14
  successScore: number | null;
11
15
  exampleEntity: AIAgentExampleEntity;
12
16
  }
17
+ /**
18
+ * Result from semantic search for similar examples.
19
+ * Returns full entity object to avoid database round-trip.
20
+ */
13
21
  export interface ExampleMatchResult {
14
22
  example: AIAgentExampleEntity;
15
23
  similarity: number;
@@ -1 +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"}
1
+ {"version":3,"file":"ExampleMatchResult.d.ts","sourceRoot":"","sources":["../../src/types/ExampleMatchResult.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE;;;GAGG;AACH,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;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,oBAAoB,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;CACtB"}