@memberjunction/ai-agents 2.108.0 → 2.109.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +296 -0
- package/dist/AgentDataPreloader.d.ts +25 -0
- package/dist/AgentDataPreloader.d.ts.map +1 -0
- package/dist/AgentDataPreloader.js +264 -0
- package/dist/AgentDataPreloader.js.map +1 -0
- package/dist/base-agent.d.ts +1 -0
- package/dist/base-agent.d.ts.map +1 -1
- package/dist/base-agent.js +49 -0
- package/dist/base-agent.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +8 -8
package/README.md
CHANGED
|
@@ -268,6 +268,302 @@ The callback is invoked:
|
|
|
268
268
|
|
|
269
269
|
## Advanced Features
|
|
270
270
|
|
|
271
|
+
### Agent Data Preloading
|
|
272
|
+
|
|
273
|
+
Agents can declaratively preload reference data without requiring custom application code or action calls. Data sources are configured through the `AIAgentDataSource` entity and automatically loaded before agent execution.
|
|
274
|
+
|
|
275
|
+
#### Overview
|
|
276
|
+
|
|
277
|
+
Data preloading solves the common problem of agents needing access to reference data (like entity lists, configuration values, or initial state) that doesn't change during execution. Instead of:
|
|
278
|
+
- Writing custom application code to load data
|
|
279
|
+
- Having agents call actions to fetch data (which bloats conversation context)
|
|
280
|
+
- Manually passing the same data to every agent invocation
|
|
281
|
+
|
|
282
|
+
Agents can now specify data sources that are automatically loaded and injected into the appropriate destination (`data`, `context`, or `payload`).
|
|
283
|
+
|
|
284
|
+
#### Three Destination Types
|
|
285
|
+
|
|
286
|
+
**1. Data Destination** - For Nunjucks templates in prompts (visible to LLMs)
|
|
287
|
+
```typescript
|
|
288
|
+
// Configuration
|
|
289
|
+
{
|
|
290
|
+
"Name": "ALL_ENTITIES",
|
|
291
|
+
"SourceType": "RunView",
|
|
292
|
+
"EntityName": "Entities",
|
|
293
|
+
"OrderBy": "Name ASC",
|
|
294
|
+
"DestinationType": "Data",
|
|
295
|
+
"DestinationPath": null // Uses "ALL_ENTITIES" at root level
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
// Result in agent prompt:
|
|
299
|
+
// params.data.ALL_ENTITIES = [{ Name: "Users", ... }, { Name: "Entities", ... }]
|
|
300
|
+
|
|
301
|
+
// Prompt can use Nunjucks:
|
|
302
|
+
// You have access to {{ALL_ENTITIES.length}} entities:
|
|
303
|
+
// {% for entity in ALL_ENTITIES %}
|
|
304
|
+
// - {{entity.Name}}: {{entity.Description}}
|
|
305
|
+
// {% endfor %}
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
**2. Context Destination** - For actions only (NOT visible to LLMs)
|
|
309
|
+
```typescript
|
|
310
|
+
// Configuration
|
|
311
|
+
{
|
|
312
|
+
"Name": "ORG_SETTINGS",
|
|
313
|
+
"SourceType": "RunView",
|
|
314
|
+
"EntityName": "Organization Settings",
|
|
315
|
+
"ExtraFilter": "OrgID='${context.organizationId}'",
|
|
316
|
+
"DestinationType": "Context",
|
|
317
|
+
"DestinationPath": "organization.settings"
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
// Result:
|
|
321
|
+
// params.context.organization.settings = { apiEndpoint: "...", features: [...] }
|
|
322
|
+
|
|
323
|
+
// Actions can access context, but prompts/LLMs cannot
|
|
324
|
+
// This keeps API keys and sensitive configuration away from LLMs
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
**3. Payload Destination** - For agent state initialization
|
|
328
|
+
```typescript
|
|
329
|
+
// Configuration
|
|
330
|
+
{
|
|
331
|
+
"Name": "CustomerOrders",
|
|
332
|
+
"SourceType": "RunQuery",
|
|
333
|
+
"QueryName": "Recent Orders by Customer",
|
|
334
|
+
"Parameters": JSON.stringify({ customerId: "{{context.customerId}}" }),
|
|
335
|
+
"DestinationType": "Payload",
|
|
336
|
+
"DestinationPath": "analysis.orders.recent"
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
// Result:
|
|
340
|
+
// params.payload.analysis.orders.recent = [{ OrderID: "123", ... }]
|
|
341
|
+
|
|
342
|
+
// Agent starts with rich initial state without caller manually loading it
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
#### Data Source Types
|
|
346
|
+
|
|
347
|
+
**RunView Data Sources** - Query entities with filters
|
|
348
|
+
```typescript
|
|
349
|
+
{
|
|
350
|
+
"Name": "ACTIVE_MODELS",
|
|
351
|
+
"SourceType": "RunView",
|
|
352
|
+
"EntityName": "AI Models",
|
|
353
|
+
"ExtraFilter": "IsActive=1 AND Vendor='OpenAI'",
|
|
354
|
+
"OrderBy": "Priority DESC",
|
|
355
|
+
"FieldsToRetrieve": JSON.stringify(["ID", "Name", "Vendor", "MaxInputTokens"]),
|
|
356
|
+
"ResultType": "simple", // or "entity_object"
|
|
357
|
+
"MaxRows": 100,
|
|
358
|
+
"DestinationType": "Data"
|
|
359
|
+
}
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
**RunQuery Data Sources** - Execute stored queries
|
|
363
|
+
```typescript
|
|
364
|
+
{
|
|
365
|
+
"Name": "MONTHLY_STATS",
|
|
366
|
+
"SourceType": "RunQuery",
|
|
367
|
+
"QueryName": "Monthly Analytics",
|
|
368
|
+
"CategoryPath": "/Reports/Analytics",
|
|
369
|
+
"Parameters": JSON.stringify({
|
|
370
|
+
month: "{{context.currentMonth}}",
|
|
371
|
+
year: "{{context.currentYear}}"
|
|
372
|
+
}),
|
|
373
|
+
"DestinationType": "Payload",
|
|
374
|
+
"DestinationPath": "stats.monthly"
|
|
375
|
+
}
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
#### Path Support
|
|
379
|
+
|
|
380
|
+
The `DestinationPath` field supports nested paths using dot notation:
|
|
381
|
+
|
|
382
|
+
```typescript
|
|
383
|
+
// Simple root-level
|
|
384
|
+
{
|
|
385
|
+
"Name": "ENTITIES",
|
|
386
|
+
"DestinationPath": null // Uses "ENTITIES" at root
|
|
387
|
+
}
|
|
388
|
+
// Result: data.ENTITIES
|
|
389
|
+
|
|
390
|
+
// Nested paths
|
|
391
|
+
{
|
|
392
|
+
"Name": "ModelList",
|
|
393
|
+
"DestinationPath": "config.ai.models"
|
|
394
|
+
}
|
|
395
|
+
// Result: data.config.ai.models
|
|
396
|
+
|
|
397
|
+
// Deep nesting
|
|
398
|
+
{
|
|
399
|
+
"Name": "CustomerData",
|
|
400
|
+
"DestinationPath": "analysis.customer.profile.orders"
|
|
401
|
+
}
|
|
402
|
+
// Result: payload.analysis.customer.profile.orders
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
#### Caching Policies
|
|
406
|
+
|
|
407
|
+
Data sources support three caching strategies:
|
|
408
|
+
|
|
409
|
+
**1. None** - No caching (default)
|
|
410
|
+
```typescript
|
|
411
|
+
{
|
|
412
|
+
"CachePolicy": "None"
|
|
413
|
+
// Data is loaded fresh every time
|
|
414
|
+
}
|
|
415
|
+
```
|
|
416
|
+
|
|
417
|
+
**2. PerRun** - Cache for duration of a single agent run
|
|
418
|
+
```typescript
|
|
419
|
+
{
|
|
420
|
+
"CachePolicy": "PerRun"
|
|
421
|
+
// Multiple data sources with same AgentID+Name share cached data within one run
|
|
422
|
+
// Cache is cleared when agent run completes
|
|
423
|
+
}
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
**3. PerAgent** - Global cache with TTL
|
|
427
|
+
```typescript
|
|
428
|
+
{
|
|
429
|
+
"CachePolicy": "PerAgent",
|
|
430
|
+
"CacheTimeoutSeconds": 3600 // 1 hour
|
|
431
|
+
// Cached across all runs for this agent until TTL expires
|
|
432
|
+
// Good for rarely-changing reference data like entity lists
|
|
433
|
+
}
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
#### Execution Control
|
|
437
|
+
|
|
438
|
+
**Disable data preloading** for specific executions:
|
|
439
|
+
```typescript
|
|
440
|
+
const result = await runner.RunAgent({
|
|
441
|
+
agent: myAgent,
|
|
442
|
+
conversationMessages: messages,
|
|
443
|
+
contextUser: user,
|
|
444
|
+
disableDataPreloading: true // Skip automatic data preloading
|
|
445
|
+
});
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
**Caller precedence**: Caller-provided data always takes precedence over preloaded data:
|
|
449
|
+
```typescript
|
|
450
|
+
const result = await runner.RunAgent({
|
|
451
|
+
agent: myAgent,
|
|
452
|
+
conversationMessages: messages,
|
|
453
|
+
contextUser: user,
|
|
454
|
+
data: {
|
|
455
|
+
CUSTOM_ENTITIES: myEntities // Overrides preloaded CUSTOM_ENTITIES
|
|
456
|
+
}
|
|
457
|
+
});
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
#### Configuration Examples
|
|
461
|
+
|
|
462
|
+
**Database Research Agent** - Preload entity metadata
|
|
463
|
+
```typescript
|
|
464
|
+
// Data source 1: All entities for reference
|
|
465
|
+
{
|
|
466
|
+
"AgentID": "database-research-agent-id",
|
|
467
|
+
"Name": "ALL_ENTITIES",
|
|
468
|
+
"SourceType": "RunView",
|
|
469
|
+
"EntityName": "Entities",
|
|
470
|
+
"OrderBy": "Name ASC",
|
|
471
|
+
"FieldsToRetrieve": JSON.stringify(["ID", "Name", "SchemaName", "Description", "BaseView"]),
|
|
472
|
+
"DestinationType": "Data",
|
|
473
|
+
"ExecutionOrder": 1,
|
|
474
|
+
"Status": "Active",
|
|
475
|
+
"CachePolicy": "PerAgent",
|
|
476
|
+
"CacheTimeoutSeconds": 3600
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
// Data source 2: Schema information
|
|
480
|
+
{
|
|
481
|
+
"AgentID": "database-research-agent-id",
|
|
482
|
+
"Name": "SCHEMA_INFO",
|
|
483
|
+
"SourceType": "RunView",
|
|
484
|
+
"EntityName": "Entity Fields",
|
|
485
|
+
"DestinationType": "Data",
|
|
486
|
+
"DestinationPath": "schema.fields",
|
|
487
|
+
"ExecutionOrder": 2,
|
|
488
|
+
"Status": "Active",
|
|
489
|
+
"CachePolicy": "PerAgent",
|
|
490
|
+
"CacheTimeoutSeconds": 3600
|
|
491
|
+
}
|
|
492
|
+
```
|
|
493
|
+
|
|
494
|
+
**Customer Service Agent** - Preload customer context
|
|
495
|
+
```typescript
|
|
496
|
+
// Preload customer data into payload
|
|
497
|
+
{
|
|
498
|
+
"AgentID": "customer-service-agent-id",
|
|
499
|
+
"Name": "CUSTOMER_PROFILE",
|
|
500
|
+
"SourceType": "RunView",
|
|
501
|
+
"EntityName": "Customers",
|
|
502
|
+
"ExtraFilter": "ID='{{context.customerId}}'",
|
|
503
|
+
"DestinationType": "Payload",
|
|
504
|
+
"DestinationPath": "customer.profile",
|
|
505
|
+
"Status": "Active",
|
|
506
|
+
"CachePolicy": "PerRun"
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
// Preload recent orders
|
|
510
|
+
{
|
|
511
|
+
"AgentID": "customer-service-agent-id",
|
|
512
|
+
"Name": "RECENT_ORDERS",
|
|
513
|
+
"SourceType": "RunQuery",
|
|
514
|
+
"QueryName": "Recent Orders by Customer",
|
|
515
|
+
"Parameters": JSON.stringify({ customerId: "{{context.customerId}}", days: 30 }),
|
|
516
|
+
"DestinationType": "Payload",
|
|
517
|
+
"DestinationPath": "customer.orders",
|
|
518
|
+
"Status": "Active",
|
|
519
|
+
"CachePolicy": "PerRun"
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
// Preload organization settings (for actions)
|
|
523
|
+
{
|
|
524
|
+
"AgentID": "customer-service-agent-id",
|
|
525
|
+
"Name": "ORG_CONFIG",
|
|
526
|
+
"SourceType": "RunView",
|
|
527
|
+
"EntityName": "Organization Settings",
|
|
528
|
+
"ExtraFilter": "OrgID='{{context.organizationId}}'",
|
|
529
|
+
"DestinationType": "Context",
|
|
530
|
+
"DestinationPath": "organization.config",
|
|
531
|
+
"Status": "Active",
|
|
532
|
+
"CachePolicy": "PerAgent",
|
|
533
|
+
"CacheTimeoutSeconds": 1800
|
|
534
|
+
}
|
|
535
|
+
```
|
|
536
|
+
|
|
537
|
+
#### Benefits
|
|
538
|
+
|
|
539
|
+
- **Declarative**: Configure data preloading through metadata, not code
|
|
540
|
+
- **Reusable**: Same agent works across different environments
|
|
541
|
+
- **Efficient**: Caching reduces redundant database queries
|
|
542
|
+
- **Clean Separation**: Keeps data in appropriate destinations (data/context/payload)
|
|
543
|
+
- **Flexible**: Supports both RunView and RunQuery with full parameter control
|
|
544
|
+
- **Secure**: Context destination keeps sensitive data away from LLMs
|
|
545
|
+
- **Performance**: Multiple caching strategies for different use cases
|
|
546
|
+
|
|
547
|
+
#### Database Schema
|
|
548
|
+
|
|
549
|
+
The `AIAgentDataSource` table includes:
|
|
550
|
+
- **AgentID**: The agent using this data source
|
|
551
|
+
- **Name**: Variable name (used as fallback if DestinationPath is null)
|
|
552
|
+
- **SourceType**: RunView or RunQuery
|
|
553
|
+
- **EntityName**, **ExtraFilter**, **OrderBy**, **FieldsToRetrieve**, **ResultType**: RunView parameters
|
|
554
|
+
- **QueryName**, **CategoryPath**, **Parameters**: RunQuery parameters
|
|
555
|
+
- **MaxRows**: Limit results (applies to both source types)
|
|
556
|
+
- **DestinationType**: Data, Context, or Payload
|
|
557
|
+
- **DestinationPath**: Nested path using dot notation (optional)
|
|
558
|
+
- **ExecutionOrder**: Order to execute when multiple sources exist
|
|
559
|
+
- **Status**: Active or Disabled
|
|
560
|
+
- **CachePolicy**: None, PerRun, or PerAgent
|
|
561
|
+
- **CacheTimeoutSeconds**: TTL for PerAgent cache
|
|
562
|
+
|
|
563
|
+
**Unique Constraint**: `AgentID + Name + DestinationType + DestinationPath`
|
|
564
|
+
- Allows same Name across different destinations/paths
|
|
565
|
+
- Example: "ENTITIES" can exist in both Data and Payload destinations
|
|
566
|
+
|
|
271
567
|
### Payload Scoping for Sub-Agents
|
|
272
568
|
|
|
273
569
|
The framework now supports narrowing the payload that sub-agents work with through the `PayloadScope` field:
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { UserInfo } from '@memberjunction/core';
|
|
2
|
+
export interface PreloadedDataResult {
|
|
3
|
+
data: Record<string, unknown>;
|
|
4
|
+
context: Record<string, unknown>;
|
|
5
|
+
payload: Record<string, unknown>;
|
|
6
|
+
}
|
|
7
|
+
export declare class AgentDataPreloader {
|
|
8
|
+
private static _instance;
|
|
9
|
+
private _perAgentCache;
|
|
10
|
+
private _perRunCache;
|
|
11
|
+
private constructor();
|
|
12
|
+
static get Instance(): AgentDataPreloader;
|
|
13
|
+
PreloadAgentData(agentId: string, contextUser: UserInfo, runId?: string): Promise<PreloadedDataResult>;
|
|
14
|
+
clearRunCache(runId: string): void;
|
|
15
|
+
clearAgentCache(): void;
|
|
16
|
+
private loadDataSourcesForAgent;
|
|
17
|
+
private executeDataSource;
|
|
18
|
+
private executeRunView;
|
|
19
|
+
private executeRunQuery;
|
|
20
|
+
private getCachedData;
|
|
21
|
+
private cacheData;
|
|
22
|
+
private getPerAgentCacheKey;
|
|
23
|
+
}
|
|
24
|
+
export declare function LoadAgentDataPreloader(): AgentDataPreloader;
|
|
25
|
+
//# sourceMappingURL=AgentDataPreloader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentDataPreloader.d.ts","sourceRoot":"","sources":["../src/AgentDataPreloader.ts"],"names":[],"mappings":"AAcA,OAAO,EAAqE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAQnH,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AA4BD,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAmC;IAK3D,OAAO,CAAC,cAAc,CAAsC;IAK5D,OAAO,CAAC,YAAY,CAAgD;IAKpE,OAAO;IAOP,WAAkB,QAAQ,IAAI,kBAAkB,CAK/C;IA4BY,gBAAgB,CACzB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,QAAQ,EACrB,KAAK,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,mBAAmB,CAAC;IA8ExB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAalC,eAAe,IAAI,IAAI;YAchB,uBAAuB;YAuBvB,iBAAiB;YAsCjB,cAAc;YAwCd,eAAe;IAuC7B,OAAO,CAAC,aAAa;IA2CrB,OAAO,CAAC,SAAS;IAwCjB,OAAO,CAAC,mBAAmB;CAG9B;AAKD,wBAAgB,sBAAsB,uBAGrC"}
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.LoadAgentDataPreloader = exports.AgentDataPreloader = void 0;
|
|
27
|
+
const aiengine_1 = require("@memberjunction/aiengine");
|
|
28
|
+
const core_1 = require("@memberjunction/core");
|
|
29
|
+
const _ = __importStar(require("lodash"));
|
|
30
|
+
class AgentDataPreloader {
|
|
31
|
+
constructor() {
|
|
32
|
+
this._perAgentCache = new Map();
|
|
33
|
+
this._perRunCache = new Map();
|
|
34
|
+
}
|
|
35
|
+
static get Instance() {
|
|
36
|
+
if (!AgentDataPreloader._instance) {
|
|
37
|
+
AgentDataPreloader._instance = new AgentDataPreloader();
|
|
38
|
+
}
|
|
39
|
+
return AgentDataPreloader._instance;
|
|
40
|
+
}
|
|
41
|
+
async PreloadAgentData(agentId, contextUser, runId) {
|
|
42
|
+
try {
|
|
43
|
+
(0, core_1.LogStatusEx)({
|
|
44
|
+
message: `AgentDataPreloader: Loading data sources for agent ${agentId}`,
|
|
45
|
+
verboseOnly: true,
|
|
46
|
+
isVerboseEnabled: core_1.IsVerboseLoggingEnabled
|
|
47
|
+
});
|
|
48
|
+
const dataSources = await this.loadDataSourcesForAgent(agentId, contextUser);
|
|
49
|
+
if (dataSources.length === 0) {
|
|
50
|
+
(0, core_1.LogStatusEx)({
|
|
51
|
+
message: `AgentDataPreloader: No data sources found for agent ${agentId}`,
|
|
52
|
+
verboseOnly: true,
|
|
53
|
+
isVerboseEnabled: core_1.IsVerboseLoggingEnabled
|
|
54
|
+
});
|
|
55
|
+
return { data: {}, context: {}, payload: {} };
|
|
56
|
+
}
|
|
57
|
+
const result = {
|
|
58
|
+
data: {},
|
|
59
|
+
context: {},
|
|
60
|
+
payload: {}
|
|
61
|
+
};
|
|
62
|
+
for (const source of dataSources) {
|
|
63
|
+
try {
|
|
64
|
+
const sourceData = await this.executeDataSource(source, contextUser, runId);
|
|
65
|
+
const path = source.DestinationPath || source.Name;
|
|
66
|
+
switch (source.DestinationType) {
|
|
67
|
+
case 'Data':
|
|
68
|
+
_.set(result.data, path, sourceData);
|
|
69
|
+
break;
|
|
70
|
+
case 'Context':
|
|
71
|
+
_.set(result.context, path, sourceData);
|
|
72
|
+
break;
|
|
73
|
+
case 'Payload':
|
|
74
|
+
_.set(result.payload, path, sourceData);
|
|
75
|
+
break;
|
|
76
|
+
default:
|
|
77
|
+
(0, core_1.LogError)(`Unknown destination type '${source.DestinationType}' for data source '${source.Name}'`);
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
(0, core_1.LogStatusEx)({
|
|
81
|
+
message: `AgentDataPreloader: Loaded '${source.Name}' → ${source.DestinationType}${path !== source.Name ? `.${path}` : ''} for agent ${agentId}`,
|
|
82
|
+
verboseOnly: true,
|
|
83
|
+
isVerboseEnabled: core_1.IsVerboseLoggingEnabled
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
88
|
+
(0, core_1.LogError)(`Failed to preload data source '${source.Name}' for agent ${agentId}: ${errorMessage}`, undefined, error);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return result;
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
95
|
+
(0, core_1.LogError)(`Failed to preload agent data for ${agentId}: ${errorMessage}`, undefined, error);
|
|
96
|
+
return { data: {}, context: {}, payload: {} };
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
clearRunCache(runId) {
|
|
100
|
+
this._perRunCache.delete(runId);
|
|
101
|
+
(0, core_1.LogStatusEx)({
|
|
102
|
+
message: `AgentDataPreloader: Cleared per-run cache for run ${runId}`,
|
|
103
|
+
verboseOnly: true,
|
|
104
|
+
isVerboseEnabled: core_1.IsVerboseLoggingEnabled
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
clearAgentCache() {
|
|
108
|
+
this._perAgentCache.clear();
|
|
109
|
+
(0, core_1.LogStatusEx)({
|
|
110
|
+
message: `AgentDataPreloader: Cleared all per-agent cache`,
|
|
111
|
+
verboseOnly: true,
|
|
112
|
+
isVerboseEnabled: core_1.IsVerboseLoggingEnabled
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
async loadDataSourcesForAgent(agentId, contextUser) {
|
|
116
|
+
await aiengine_1.AIEngine.Instance.Config(false, contextUser);
|
|
117
|
+
const data = aiengine_1.AIEngine.Instance.AgentDataSources.filter(ads => ads.AgentID === agentId);
|
|
118
|
+
const sortedData = data.sort((a, b) => {
|
|
119
|
+
if (a.ExecutionOrder === b.ExecutionOrder) {
|
|
120
|
+
return a.Name.localeCompare(b.Name);
|
|
121
|
+
}
|
|
122
|
+
return (a.ExecutionOrder || 0) - (b.ExecutionOrder || 0);
|
|
123
|
+
});
|
|
124
|
+
return sortedData;
|
|
125
|
+
}
|
|
126
|
+
async executeDataSource(source, contextUser, runId) {
|
|
127
|
+
const cachedData = this.getCachedData(source, runId);
|
|
128
|
+
if (cachedData !== null) {
|
|
129
|
+
(0, core_1.LogStatusEx)({
|
|
130
|
+
message: `AgentDataPreloader: Using cached data for '${source.Name}'`,
|
|
131
|
+
verboseOnly: true,
|
|
132
|
+
isVerboseEnabled: core_1.IsVerboseLoggingEnabled
|
|
133
|
+
});
|
|
134
|
+
return cachedData;
|
|
135
|
+
}
|
|
136
|
+
let data;
|
|
137
|
+
if (source.SourceType === 'RunView') {
|
|
138
|
+
data = await this.executeRunView(source, contextUser);
|
|
139
|
+
}
|
|
140
|
+
else if (source.SourceType === 'RunQuery') {
|
|
141
|
+
data = await this.executeRunQuery(source, contextUser);
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
throw new Error(`Unknown source type: ${source.SourceType}`);
|
|
145
|
+
}
|
|
146
|
+
this.cacheData(source, data, runId);
|
|
147
|
+
return data;
|
|
148
|
+
}
|
|
149
|
+
async executeRunView(source, contextUser) {
|
|
150
|
+
if (!source.EntityName) {
|
|
151
|
+
throw new Error(`RunView data source '${source.Name}' missing EntityName`);
|
|
152
|
+
}
|
|
153
|
+
const params = {
|
|
154
|
+
EntityName: source.EntityName,
|
|
155
|
+
ExtraFilter: source.ExtraFilter || undefined,
|
|
156
|
+
OrderBy: source.OrderBy || undefined,
|
|
157
|
+
MaxRows: source.MaxRows || undefined,
|
|
158
|
+
ResultType: source.ResultType || 'simple'
|
|
159
|
+
};
|
|
160
|
+
if (source.FieldsToRetrieve) {
|
|
161
|
+
try {
|
|
162
|
+
params.Fields = JSON.parse(source.FieldsToRetrieve);
|
|
163
|
+
}
|
|
164
|
+
catch (error) {
|
|
165
|
+
(0, core_1.LogError)(`Failed to parse FieldsToRetrieve JSON for data source '${source.Name}': ${error.message}`);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
const rv = new core_1.RunView();
|
|
169
|
+
const result = await rv.RunView(params, contextUser);
|
|
170
|
+
if (!result.Success) {
|
|
171
|
+
throw new Error(`RunView failed: ${result.ErrorMessage}`);
|
|
172
|
+
}
|
|
173
|
+
return result.Results || [];
|
|
174
|
+
}
|
|
175
|
+
async executeRunQuery(source, contextUser) {
|
|
176
|
+
if (!source.QueryName) {
|
|
177
|
+
throw new Error(`RunQuery data source '${source.Name}' missing QueryName`);
|
|
178
|
+
}
|
|
179
|
+
const params = {
|
|
180
|
+
QueryName: source.QueryName,
|
|
181
|
+
CategoryPath: source.CategoryPath || undefined,
|
|
182
|
+
MaxRows: source.MaxRows || undefined
|
|
183
|
+
};
|
|
184
|
+
if (source.Parameters) {
|
|
185
|
+
try {
|
|
186
|
+
params.Parameters = JSON.parse(source.Parameters);
|
|
187
|
+
}
|
|
188
|
+
catch (error) {
|
|
189
|
+
(0, core_1.LogError)(`Failed to parse Parameters JSON for data source '${source.Name}': ${error.message}`);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
const rq = new core_1.RunQuery();
|
|
193
|
+
const result = await rq.RunQuery(params, contextUser);
|
|
194
|
+
if (!result.Success) {
|
|
195
|
+
throw new Error(`RunQuery failed: ${result.ErrorMessage}`);
|
|
196
|
+
}
|
|
197
|
+
return result.Results || [];
|
|
198
|
+
}
|
|
199
|
+
getCachedData(source, runId) {
|
|
200
|
+
if (source.CachePolicy === 'None') {
|
|
201
|
+
return null;
|
|
202
|
+
}
|
|
203
|
+
if (source.CachePolicy === 'PerRun' && runId) {
|
|
204
|
+
const runCache = this._perRunCache.get(runId);
|
|
205
|
+
if (runCache && runCache.has(source.Name)) {
|
|
206
|
+
return runCache.get(source.Name);
|
|
207
|
+
}
|
|
208
|
+
return null;
|
|
209
|
+
}
|
|
210
|
+
if (source.CachePolicy === 'PerAgent') {
|
|
211
|
+
const cacheKey = this.getPerAgentCacheKey(source);
|
|
212
|
+
const entry = this._perAgentCache.get(cacheKey);
|
|
213
|
+
if (entry) {
|
|
214
|
+
const now = new Date();
|
|
215
|
+
const ageSeconds = (now.getTime() - entry.timestamp.getTime()) / 1000;
|
|
216
|
+
if (ageSeconds < entry.timeoutSeconds) {
|
|
217
|
+
return entry.data;
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
this._perAgentCache.delete(cacheKey);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
return null;
|
|
224
|
+
}
|
|
225
|
+
return null;
|
|
226
|
+
}
|
|
227
|
+
cacheData(source, data, runId) {
|
|
228
|
+
if (source.CachePolicy === 'None') {
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
if (source.CachePolicy === 'PerRun' && runId) {
|
|
232
|
+
let runCache = this._perRunCache.get(runId);
|
|
233
|
+
if (!runCache) {
|
|
234
|
+
runCache = new Map();
|
|
235
|
+
this._perRunCache.set(runId, runCache);
|
|
236
|
+
}
|
|
237
|
+
runCache.set(source.Name, data);
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
if (source.CachePolicy === 'PerAgent') {
|
|
241
|
+
if (!source.CacheTimeoutSeconds || source.CacheTimeoutSeconds <= 0) {
|
|
242
|
+
(0, core_1.LogError)(`PerAgent cache policy requires CacheTimeoutSeconds > 0 for data source '${source.Name}'`);
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
245
|
+
const cacheKey = this.getPerAgentCacheKey(source);
|
|
246
|
+
const entry = {
|
|
247
|
+
data,
|
|
248
|
+
timestamp: new Date(),
|
|
249
|
+
timeoutSeconds: source.CacheTimeoutSeconds
|
|
250
|
+
};
|
|
251
|
+
this._perAgentCache.set(cacheKey, entry);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
getPerAgentCacheKey(source) {
|
|
255
|
+
return `${source.AgentID}:${source.Name}`;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
exports.AgentDataPreloader = AgentDataPreloader;
|
|
259
|
+
AgentDataPreloader._instance = null;
|
|
260
|
+
function LoadAgentDataPreloader() {
|
|
261
|
+
return AgentDataPreloader.Instance;
|
|
262
|
+
}
|
|
263
|
+
exports.LoadAgentDataPreloader = LoadAgentDataPreloader;
|
|
264
|
+
//# sourceMappingURL=AgentDataPreloader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentDataPreloader.js","sourceRoot":"","sources":["../src/AgentDataPreloader.ts"],"names":[],"mappings":"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"}
|
package/dist/base-agent.d.ts
CHANGED
|
@@ -35,6 +35,7 @@ export declare class BaseAgent {
|
|
|
35
35
|
}): void;
|
|
36
36
|
private wrapProgressCallback;
|
|
37
37
|
protected initializeAgentType(params: ExecuteAgentParams, config: AgentConfiguration): Promise<void>;
|
|
38
|
+
private preloadAgentData;
|
|
38
39
|
Execute<C = any, R = any>(params: ExecuteAgentParams<C>): Promise<ExecuteAgentResult<R>>;
|
|
39
40
|
protected initializeStartingPayload<P = any>(params: ExecuteAgentParams<any, P>): Promise<void>;
|
|
40
41
|
protected executeAgentInternal<P = any>(params: ExecuteAgentParams, config: AgentConfiguration): Promise<{
|
package/dist/base-agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-agent.d.ts","sourceRoot":"","sources":["../src/base-agent.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,sBAAsB,EAAqB,qBAAqB,EAA6B,MAAM,+BAA+B,CAAC;AAC5O,OAAO,EAAE,QAAQ,EAA4F,MAAM,sBAAsB,CAAC;AAE1I,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAwC,MAAM,oBAAoB,CAAC;AAC3G,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAK9D,OAAO,EACH,cAAc,EACd,iBAAiB,EAEjB,kBAAkB,EAElB,kBAAkB,EAElB,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACpB,iBAAiB,EAEjB,qBAAqB,EACrB,gBAAgB,EAEnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"base-agent.d.ts","sourceRoot":"","sources":["../src/base-agent.ts"],"names":[],"mappings":"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"}
|