@memberjunction/ai-agents 3.1.1 → 3.3.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/PayloadFeedbackManager.d.ts +3 -1
  2. package/dist/PayloadFeedbackManager.d.ts.map +1 -1
  3. package/dist/PayloadFeedbackManager.js +61 -7
  4. package/dist/PayloadFeedbackManager.js.map +1 -1
  5. package/dist/__tests__/agent-memory-features.test.d.ts +71 -0
  6. package/dist/__tests__/agent-memory-features.test.d.ts.map +1 -0
  7. package/dist/__tests__/agent-memory-features.test.js +513 -0
  8. package/dist/__tests__/agent-memory-features.test.js.map +1 -0
  9. package/dist/__tests__/chat-handling-option.test.d.ts +28 -0
  10. package/dist/__tests__/chat-handling-option.test.d.ts.map +1 -0
  11. package/dist/__tests__/chat-handling-option.test.js +183 -0
  12. package/dist/__tests__/chat-handling-option.test.js.map +1 -0
  13. package/dist/agent-context-injector.d.ts +16 -1
  14. package/dist/agent-context-injector.d.ts.map +1 -1
  15. package/dist/agent-context-injector.js +162 -11
  16. package/dist/agent-context-injector.js.map +1 -1
  17. package/dist/base-agent.d.ts.map +1 -1
  18. package/dist/base-agent.js +31 -3
  19. package/dist/base-agent.js.map +1 -1
  20. package/dist/index.d.ts +1 -0
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +6 -0
  23. package/dist/index.js.map +1 -1
  24. package/dist/memory-cleanup-agent.d.ts +25 -0
  25. package/dist/memory-cleanup-agent.d.ts.map +1 -0
  26. package/dist/memory-cleanup-agent.js +237 -0
  27. package/dist/memory-cleanup-agent.js.map +1 -0
  28. package/dist/memory-manager-agent.d.ts +10 -2
  29. package/dist/memory-manager-agent.d.ts.map +1 -1
  30. package/dist/memory-manager-agent.js +647 -83
  31. package/dist/memory-manager-agent.js.map +1 -1
  32. package/package.json +17 -12
@@ -1,3 +1,4 @@
1
+ import { UserInfo } from '@memberjunction/core';
1
2
  import { PayloadWarning } from './PayloadChangeAnalyzer';
2
3
  export interface PayloadFeedbackQuestion {
3
4
  id: string;
@@ -31,7 +32,8 @@ export declare class PayloadFeedbackManager {
31
32
  constructor(config?: PayloadFeedbackConfig);
32
33
  generateQuestions(warnings: PayloadWarning[]): PayloadFeedbackQuestion[];
33
34
  private createQuestionFromWarning;
34
- queryAgent(questions: PayloadFeedbackQuestion[], conversationContext: any): Promise<PayloadFeedbackResponse[]>;
35
+ queryAgent(questions: PayloadFeedbackQuestion[], conversationContext: Record<string, unknown>, contextUser?: UserInfo): Promise<PayloadFeedbackResponse[]>;
36
+ private mapLLMResponsesToFeedback;
35
37
  private buildFeedbackTemplateParams;
36
38
  processFeedback(questions: PayloadFeedbackQuestion[], responses: PayloadFeedbackResponse[]): PayloadFeedbackResult;
37
39
  logFeedbackResults(result: PayloadFeedbackResult): void;
@@ -1 +1 @@
1
- {"version":3,"file":"PayloadFeedbackManager.d.ts","sourceRoot":"","sources":["../src/PayloadFeedbackManager.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAKzD,MAAM,WAAW,uBAAuB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,GAAG,CAAC;KAChB,CAAC;CACL;AAKD,MAAM,WAAW,uBAAuB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAKD,MAAM,WAAW,qBAAqB;IAClC,SAAS,EAAE,uBAAuB,EAAE,CAAC;IACrC,SAAS,EAAE,uBAAuB,EAAE,CAAC;IACrC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAKD,MAAM,WAAW,qBAAqB;IAElC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAKD,qBAAa,sBAAsB;IAC/B,OAAO,CAAC,MAAM,CAAwB;gBAE1B,MAAM,CAAC,EAAE,qBAAqB;IAWnC,iBAAiB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,uBAAuB,EAAE;IAgB/E,OAAO,CAAC,yBAAyB;IAgDpB,UAAU,CACnB,SAAS,EAAE,uBAAuB,EAAE,EACpC,mBAAmB,EAAE,GAAG,GACzB,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAqBrC,OAAO,CAAC,2BAA2B;IAiB5B,eAAe,CAClB,SAAS,EAAE,uBAAuB,EAAE,EACpC,SAAS,EAAE,uBAAuB,EAAE,GACrC,qBAAqB;IA2BjB,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI;CAoBjE"}
1
+ {"version":3,"file":"PayloadFeedbackManager.d.ts","sourceRoot":"","sources":["../src/PayloadFeedbackManager.ts"],"names":[],"mappings":"AAWA,OAAO,EAAuB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAQzD,MAAM,WAAW,uBAAuB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,GAAG,CAAC;KAChB,CAAC;CACL;AAKD,MAAM,WAAW,uBAAuB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAKD,MAAM,WAAW,qBAAqB;IAClC,SAAS,EAAE,uBAAuB,EAAE,CAAC;IACrC,SAAS,EAAE,uBAAuB,EAAE,CAAC;IACrC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAKD,MAAM,WAAW,qBAAqB;IAElC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAKD,qBAAa,sBAAsB;IAC/B,OAAO,CAAC,MAAM,CAAwB;gBAE1B,MAAM,CAAC,EAAE,qBAAqB;IAWnC,iBAAiB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,uBAAuB,EAAE;IAgB/E,OAAO,CAAC,yBAAyB;IA+CpB,UAAU,CACnB,SAAS,EAAE,uBAAuB,EAAE,EACpC,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5C,WAAW,CAAC,EAAE,QAAQ,GACvB,OAAO,CAAC,uBAAuB,EAAE,CAAC;IA+DrC,OAAO,CAAC,yBAAyB;IA8BjC,OAAO,CAAC,2BAA2B;IAiB5B,eAAe,CAClB,SAAS,EAAE,uBAAuB,EAAE,EACpC,SAAS,EAAE,uBAAuB,EAAE,GACrC,qBAAqB;IA2BjB,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI;CAoBjE"}
@@ -2,6 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PayloadFeedbackManager = void 0;
4
4
  const core_1 = require("@memberjunction/core");
5
+ const aiengine_1 = require("@memberjunction/aiengine");
6
+ const ai_prompts_1 = require("@memberjunction/ai-prompts");
7
+ const ai_core_plus_1 = require("@memberjunction/ai-core-plus");
5
8
  class PayloadFeedbackManager {
6
9
  constructor(config) {
7
10
  this.config = {
@@ -52,16 +55,67 @@ class PayloadFeedbackManager {
52
55
  }
53
56
  };
54
57
  }
55
- async queryAgent(questions, conversationContext) {
58
+ async queryAgent(questions, conversationContext, contextUser) {
56
59
  if (questions.length === 0) {
57
60
  return [];
58
61
  }
59
- (0, core_1.LogStatus)('PayloadFeedbackManager.queryAgent not yet implemented - accepting all changes by default');
60
- return questions.map(q => ({
61
- questionId: q.id,
62
- intended: true,
63
- explanation: 'Accepted by default (feedback system not yet implemented)'
64
- }));
62
+ const promptName = 'Payload Change Feedback Query';
63
+ const prompt = aiengine_1.AIEngine.Instance.Prompts.find(p => p.Name.trim().toLowerCase() === promptName.toLowerCase() &&
64
+ p.Category?.trim().toLowerCase() === 'mj: system');
65
+ if (!prompt) {
66
+ (0, core_1.LogStatus)(`PayloadFeedbackManager: Prompt "${promptName}" not found in MJ: System category. Accepting all changes by default.`);
67
+ return questions.map(q => ({
68
+ questionId: q.id,
69
+ intended: true,
70
+ explanation: 'Accepted by default (feedback prompt not configured)'
71
+ }));
72
+ }
73
+ try {
74
+ const templateData = this.buildFeedbackTemplateParams(questions);
75
+ const runner = new ai_prompts_1.AIPromptRunner();
76
+ const promptParams = new ai_core_plus_1.AIPromptParams();
77
+ promptParams.prompt = prompt;
78
+ promptParams.data = templateData;
79
+ if (contextUser) {
80
+ promptParams.contextUser = contextUser;
81
+ }
82
+ const result = await runner.ExecutePrompt(promptParams);
83
+ if (!result.success || !result.result?.responses) {
84
+ (0, core_1.LogError)('PayloadFeedbackManager: Failed to get valid response from feedback prompt', undefined, result.errorMessage);
85
+ return questions.map(q => ({
86
+ questionId: q.id,
87
+ intended: true,
88
+ explanation: 'Accepted by default (prompt execution failed)'
89
+ }));
90
+ }
91
+ return this.mapLLMResponsesToFeedback(questions, result.result.responses);
92
+ }
93
+ catch (error) {
94
+ (0, core_1.LogError)('PayloadFeedbackManager: Error querying agent for feedback', undefined, error);
95
+ return questions.map(q => ({
96
+ questionId: q.id,
97
+ intended: true,
98
+ explanation: 'Accepted by default (error during feedback query)'
99
+ }));
100
+ }
101
+ }
102
+ mapLLMResponsesToFeedback(questions, llmResponses) {
103
+ return questions.map((q, index) => {
104
+ const questionNumber = index + 1;
105
+ const llmResponse = llmResponses.find(r => r.questionNumber === questionNumber);
106
+ if (llmResponse) {
107
+ return {
108
+ questionId: q.id,
109
+ intended: llmResponse.intended,
110
+ explanation: llmResponse.explanation
111
+ };
112
+ }
113
+ return {
114
+ questionId: q.id,
115
+ intended: true,
116
+ explanation: 'No explicit response from LLM - assuming intended'
117
+ };
118
+ });
65
119
  }
66
120
  buildFeedbackTemplateParams(questions) {
67
121
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"PayloadFeedbackManager.js","sourceRoot":"","sources":["../src/PayloadFeedbackManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PayloadFeedbackManager.js","sourceRoot":"","sources":["../src/PayloadFeedbackManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ interface MockNote {
2
+ ID: string;
3
+ Type: string;
4
+ Note: string;
5
+ AgentID: string | null;
6
+ UserID: string | null;
7
+ CompanyID: string | null;
8
+ PrimaryScopeRecordID: string | null;
9
+ SecondaryScopes: string | null;
10
+ __mj_CreatedAt?: Date;
11
+ }
12
+ interface MockPayloadWarning {
13
+ type: 'content_truncation' | 'key_removal' | 'type_change' | 'pattern_anomaly';
14
+ path: string;
15
+ message: string;
16
+ severity: 'high' | 'medium' | 'low';
17
+ details: Record<string, unknown>;
18
+ requiresFeedback: boolean;
19
+ }
20
+ interface MockFeedbackQuestion {
21
+ id: string;
22
+ question: string;
23
+ warning: MockPayloadWarning;
24
+ context?: {
25
+ path: string;
26
+ changeType: string;
27
+ details: unknown;
28
+ };
29
+ }
30
+ declare function determineNoteScope(note: MockNote): string;
31
+ declare function determineSaaSScope(note: MockNote): string | null;
32
+ declare function formatNotesForInjection(notes: MockNote[], includeMemoryPolicy?: boolean): string;
33
+ declare function generateQuestions(warnings: MockPayloadWarning[]): MockFeedbackQuestion[];
34
+ declare function mapLLMResponsesToFeedback(questions: MockFeedbackQuestion[], llmResponses: Array<{
35
+ questionNumber: number;
36
+ intended: boolean;
37
+ explanation?: string;
38
+ }>): Array<{
39
+ questionId: string;
40
+ intended: boolean;
41
+ explanation?: string;
42
+ }>;
43
+ declare const mockNotes: MockNote[];
44
+ declare const mockWarnings: MockPayloadWarning[];
45
+ declare let testsPassed: number;
46
+ declare let testsFailed: number;
47
+ declare function runTest(name: string, fn: () => void): void;
48
+ declare function assertEqual<T>(actual: T, expected: T, message?: string): void;
49
+ declare function assertTrue(condition: boolean, message?: string): void;
50
+ declare function assertContains(str: string, substring: string, message?: string): void;
51
+ declare function getCutoffDate(retentionDays: number): string;
52
+ declare function getNoteRetentionDays(agent: {
53
+ NoteRetentionDays?: number | null;
54
+ }): number;
55
+ declare function getExampleRetentionDays(agent: {
56
+ ExampleRetentionDays?: number | null;
57
+ }): number;
58
+ declare function getAutoArchiveEnabled(agent: {
59
+ AutoArchiveEnabled?: boolean;
60
+ }): boolean;
61
+ declare function buildCleanupSummary(result: {
62
+ notesArchived: number;
63
+ examplesArchived: number;
64
+ notesExpired: number;
65
+ examplesExpired: number;
66
+ errors: string[];
67
+ }): string;
68
+ declare function containsEphemeralPhrase(content: string): boolean;
69
+ declare function containsDurablePhrase(content: string): boolean;
70
+ declare function containsPII(content: string): boolean;
71
+ //# sourceMappingURL=agent-memory-features.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-memory-features.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/agent-memory-features.test.ts"],"names":[],"mappings":"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"}