@memberjunction/ai-agents 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.
- package/dist/AgentDataPreloader.d.ts +117 -1
- package/dist/AgentDataPreloader.d.ts.map +1 -1
- package/dist/AgentDataPreloader.js +156 -58
- package/dist/AgentDataPreloader.js.map +1 -1
- package/dist/AgentRunner.d.ts +212 -0
- package/dist/AgentRunner.d.ts.map +1 -1
- package/dist/AgentRunner.js +354 -103
- package/dist/AgentRunner.js.map +1 -1
- package/dist/PayloadChangeAnalyzer.d.ts +68 -0
- package/dist/PayloadChangeAnalyzer.d.ts.map +1 -1
- package/dist/PayloadChangeAnalyzer.js +68 -32
- package/dist/PayloadChangeAnalyzer.js.map +1 -1
- package/dist/PayloadFeedbackManager.d.ts +57 -1
- package/dist/PayloadFeedbackManager.d.ts.map +1 -1
- package/dist/PayloadFeedbackManager.js +66 -21
- package/dist/PayloadFeedbackManager.js.map +1 -1
- package/dist/PayloadManager.d.ts +286 -1
- package/dist/PayloadManager.d.ts.map +1 -1
- package/dist/PayloadManager.js +423 -50
- package/dist/PayloadManager.js.map +1 -1
- package/dist/__tests__/action-changes.test.d.ts +13 -0
- package/dist/__tests__/action-changes.test.d.ts.map +1 -1
- package/dist/__tests__/action-changes.test.js +57 -4
- package/dist/__tests__/action-changes.test.js.map +1 -1
- package/dist/__tests__/agent-memory-features.test.d.ts +52 -0
- package/dist/__tests__/agent-memory-features.test.d.ts.map +1 -1
- package/dist/__tests__/agent-memory-features.test.js +96 -13
- package/dist/__tests__/agent-memory-features.test.js.map +1 -1
- package/dist/__tests__/agent-type-prompt-params.test.d.ts +12 -0
- package/dist/__tests__/agent-type-prompt-params.test.d.ts.map +1 -1
- package/dist/__tests__/agent-type-prompt-params.test.js +112 -20
- package/dist/__tests__/agent-type-prompt-params.test.js.map +1 -1
- package/dist/__tests__/chat-handling-option.test.d.ts +26 -0
- package/dist/__tests__/chat-handling-option.test.d.ts.map +1 -1
- package/dist/__tests__/chat-handling-option.test.js +41 -2
- package/dist/__tests__/chat-handling-option.test.js.map +1 -1
- package/dist/agent-context-injector.d.ts +114 -0
- package/dist/agent-context-injector.d.ts.map +1 -1
- package/dist/agent-context-injector.js +138 -19
- package/dist/agent-context-injector.js.map +1 -1
- package/dist/agent-types/base-agent-type.d.ts +354 -0
- package/dist/agent-types/base-agent-type.d.ts.map +1 -1
- package/dist/agent-types/base-agent-type.js +288 -17
- package/dist/agent-types/base-agent-type.js.map +1 -1
- package/dist/agent-types/flow-agent-type.d.ts +328 -2
- package/dist/agent-types/flow-agent-type.d.ts.map +1 -1
- package/dist/agent-types/flow-agent-type.js +503 -63
- package/dist/agent-types/flow-agent-type.js.map +1 -1
- package/dist/agent-types/index.d.ts +14 -3
- package/dist/agent-types/index.d.ts.map +1 -1
- package/dist/agent-types/index.js +14 -23
- package/dist/agent-types/index.js.map +1 -1
- package/dist/agent-types/loop-agent-prompt-params.d.ts +190 -0
- package/dist/agent-types/loop-agent-prompt-params.d.ts.map +1 -1
- package/dist/agent-types/loop-agent-prompt-params.js +23 -6
- package/dist/agent-types/loop-agent-prompt-params.js.map +1 -1
- package/dist/agent-types/loop-agent-response-type.d.ts +62 -0
- package/dist/agent-types/loop-agent-response-type.d.ts.map +1 -1
- package/dist/agent-types/loop-agent-response-type.js +3 -2
- package/dist/agent-types/loop-agent-response-type.js.map +1 -1
- package/dist/agent-types/loop-agent-type.d.ts +139 -2
- package/dist/agent-types/loop-agent-type.d.ts.map +1 -1
- package/dist/agent-types/loop-agent-type.js +207 -35
- package/dist/agent-types/loop-agent-type.js.map +1 -1
- package/dist/base-agent.d.ts +1344 -1
- package/dist/base-agent.d.ts.map +1 -1
- package/dist/base-agent.js +2282 -211
- package/dist/base-agent.js.map +1 -1
- package/dist/index.d.ts +24 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -35
- package/dist/index.js.map +1 -1
- package/dist/memory-cleanup-agent.d.ts +53 -1
- package/dist/memory-cleanup-agent.d.ts.map +1 -1
- package/dist/memory-cleanup-agent.js +89 -21
- package/dist/memory-cleanup-agent.js.map +1 -1
- package/dist/memory-manager-agent.d.ts +61 -1
- package/dist/memory-manager-agent.d.ts.map +1 -1
- package/dist/memory-manager-agent.js +260 -116
- package/dist/memory-manager-agent.js.map +1 -1
- package/dist/services/AgentEmbeddingService.d.ts +16 -0
- package/dist/services/AgentEmbeddingService.d.ts.map +1 -0
- package/dist/services/AgentEmbeddingService.js +158 -0
- package/dist/services/AgentEmbeddingService.js.map +1 -0
- package/dist/types/AgentMatchResult.d.ts +18 -0
- package/dist/types/AgentMatchResult.d.ts.map +1 -0
- package/dist/types/AgentMatchResult.js +3 -0
- package/dist/types/AgentMatchResult.js.map +1 -0
- package/dist/types/payload-operations.d.ts +51 -0
- package/dist/types/payload-operations.d.ts.map +1 -1
- package/dist/types/payload-operations.js +54 -15
- package/dist/types/payload-operations.js.map +1 -1
- package/dist/utils/ConversationMessageResolver.d.ts +79 -1
- package/dist/utils/ConversationMessageResolver.d.ts.map +1 -1
- package/dist/utils/ConversationMessageResolver.js +99 -9
- package/dist/utils/ConversationMessageResolver.js.map +1 -1
- package/package.json +20 -19
|
@@ -2,11 +2,26 @@ import { UserInfo } from "@memberjunction/core";
|
|
|
2
2
|
import { AIAgentNoteEntity, AIAgentExampleEntity } from "@memberjunction/core-entities";
|
|
3
3
|
import { UserScope } from "@memberjunction/ai-core-plus";
|
|
4
4
|
import { RerankerConfiguration } from "@memberjunction/ai-reranker";
|
|
5
|
+
/**
|
|
6
|
+
* Options for observability integration when retrieving notes.
|
|
7
|
+
*/
|
|
5
8
|
export interface NotesObservabilityOptions {
|
|
9
|
+
/**
|
|
10
|
+
* Current agent run ID for tracing
|
|
11
|
+
*/
|
|
6
12
|
agentRunID: string;
|
|
13
|
+
/**
|
|
14
|
+
* Parent step ID for hierarchical step logging
|
|
15
|
+
*/
|
|
7
16
|
parentStepID?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Step sequence number for the rerank step
|
|
19
|
+
*/
|
|
8
20
|
stepNumber?: number;
|
|
9
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Parameters for retrieving notes in a specific context
|
|
24
|
+
*/
|
|
10
25
|
export interface GetNotesParams {
|
|
11
26
|
agentId: string;
|
|
12
27
|
userId?: string;
|
|
@@ -15,10 +30,29 @@ export interface GetNotesParams {
|
|
|
15
30
|
strategy: 'Relevant' | 'Recent' | 'All';
|
|
16
31
|
maxNotes: number;
|
|
17
32
|
contextUser: UserInfo;
|
|
33
|
+
/**
|
|
34
|
+
* Optional user scope for multi-tenant SaaS deployments.
|
|
35
|
+
* When provided, enables hierarchical scope filtering:
|
|
36
|
+
* - Global notes (no scope)
|
|
37
|
+
* - Primary-scope notes (e.g., org-level)
|
|
38
|
+
* - Fully-scoped notes (e.g., contact-level)
|
|
39
|
+
*/
|
|
18
40
|
userScope?: UserScope;
|
|
41
|
+
/**
|
|
42
|
+
* Optional reranker configuration for two-stage retrieval.
|
|
43
|
+
* When enabled, fetches more candidates via vector search,
|
|
44
|
+
* then reranks them using a semantic reranker for better relevance.
|
|
45
|
+
*/
|
|
19
46
|
rerankerConfig?: RerankerConfiguration | null;
|
|
47
|
+
/**
|
|
48
|
+
* Optional observability context for tracing reranking operations.
|
|
49
|
+
* When provided, reranking will create an AIAgentRunStep record.
|
|
50
|
+
*/
|
|
20
51
|
observability?: NotesObservabilityOptions;
|
|
21
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Parameters for retrieving examples in a specific context
|
|
55
|
+
*/
|
|
22
56
|
export interface GetExamplesParams {
|
|
23
57
|
agentId: string;
|
|
24
58
|
userId?: string;
|
|
@@ -27,24 +61,104 @@ export interface GetExamplesParams {
|
|
|
27
61
|
strategy: 'Semantic' | 'Recent' | 'Rated';
|
|
28
62
|
maxExamples: number;
|
|
29
63
|
contextUser: UserInfo;
|
|
64
|
+
/**
|
|
65
|
+
* Optional user scope for multi-tenant SaaS deployments.
|
|
66
|
+
* When provided, enables hierarchical scope filtering.
|
|
67
|
+
*/
|
|
30
68
|
userScope?: UserScope;
|
|
31
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Central service for retrieving and formatting notes/examples for injection into agent context.
|
|
72
|
+
* Implements multi-dimensional scoping (Agent, User, Company) with 8 priority levels.
|
|
73
|
+
*/
|
|
32
74
|
export declare class AgentContextInjector {
|
|
75
|
+
/**
|
|
76
|
+
* Retrieve notes for a specific agent execution context.
|
|
77
|
+
* Implements multi-dimensional scoping and injection strategy.
|
|
78
|
+
*/
|
|
33
79
|
GetNotesForContext(params: GetNotesParams): Promise<AIAgentNoteEntity[]>;
|
|
80
|
+
/**
|
|
81
|
+
* Retrieve examples for a specific agent execution context.
|
|
82
|
+
* Implements multi-dimensional scoping and injection strategy.
|
|
83
|
+
*/
|
|
34
84
|
GetExamplesForContext(params: GetExamplesParams): Promise<AIAgentExampleEntity[]>;
|
|
85
|
+
/**
|
|
86
|
+
* Get notes using semantic search via AIEngine.
|
|
87
|
+
* Supports optional two-stage retrieval with reranking for improved relevance.
|
|
88
|
+
*
|
|
89
|
+
* When reranking is enabled:
|
|
90
|
+
* 1. Fetch N * retrievalMultiplier candidates via vector search
|
|
91
|
+
* 2. Rerank candidates using configured reranker
|
|
92
|
+
* 3. Return top N reranked results
|
|
93
|
+
*
|
|
94
|
+
* Fallback behavior (controlled by config.fallbackOnError):
|
|
95
|
+
* - If true: On reranking failure, gracefully falls back to vector search results
|
|
96
|
+
* - If false: Propagates reranking errors to caller
|
|
97
|
+
*/
|
|
35
98
|
private getNotesViaSemanticSearch;
|
|
99
|
+
/**
|
|
100
|
+
* Get examples using semantic search via AIEngine
|
|
101
|
+
*/
|
|
36
102
|
private getExamplesViaSemanticSearch;
|
|
103
|
+
/**
|
|
104
|
+
* Query notes using multi-dimensional scoping priority.
|
|
105
|
+
* Implements 8-level scoping hierarchy from most specific to least specific.
|
|
106
|
+
*/
|
|
37
107
|
private queryNotesWithScoping;
|
|
108
|
+
/**
|
|
109
|
+
* Query examples using multi-dimensional scoping priority
|
|
110
|
+
*/
|
|
38
111
|
private queryExamplesWithScoping;
|
|
112
|
+
/**
|
|
113
|
+
* Build filter with 8-level scoping priority for notes.
|
|
114
|
+
* Combines MJ-internal scoping (AgentID, UserID, CompanyID) with
|
|
115
|
+
* multi-tenant SaaS scoping (PrimaryScopeEntityID, PrimaryScopeRecordID, SecondaryScopes).
|
|
116
|
+
*/
|
|
39
117
|
private buildNotesScopingFilter;
|
|
118
|
+
/**
|
|
119
|
+
* Build filter for multi-tenant SaaS scoping with hierarchical inheritance.
|
|
120
|
+
* Returns notes at all applicable scope levels (global → primary → full).
|
|
121
|
+
*/
|
|
40
122
|
private buildSaasScopeFilter;
|
|
123
|
+
/**
|
|
124
|
+
* Filter examples using multi-dimensional scoping priority.
|
|
125
|
+
* Implements 4-level scoping hierarchy for examples (examples are always agent-specific).
|
|
126
|
+
* Also handles multi-tenant SaaS scoping when userScope is provided.
|
|
127
|
+
*/
|
|
41
128
|
private filterExamplesByScoping;
|
|
129
|
+
/**
|
|
130
|
+
* Check if an example matches the SaaS scope criteria (hierarchical).
|
|
131
|
+
* Returns true for: global, primary-only, or fully-scoped matches.
|
|
132
|
+
*/
|
|
42
133
|
private matchesSaasScope;
|
|
134
|
+
/**
|
|
135
|
+
* Sort examples based on the specified strategy
|
|
136
|
+
*/
|
|
43
137
|
private sortExamples;
|
|
138
|
+
/**
|
|
139
|
+
* Sort notes based on the specified strategy.
|
|
140
|
+
* For non-Recent strategies, uses AgentNoteType.Priority from cached note types.
|
|
141
|
+
*/
|
|
44
142
|
private sortNotes;
|
|
143
|
+
/**
|
|
144
|
+
* Format notes for injection into agent prompt.
|
|
145
|
+
* Includes memory policy explaining scope precedence for conflict resolution.
|
|
146
|
+
*
|
|
147
|
+
* @param notes - Array of notes to format
|
|
148
|
+
* @param includeMemoryPolicy - Whether to include the memory policy preamble (default: true)
|
|
149
|
+
*/
|
|
45
150
|
FormatNotesForInjection(notes: AIAgentNoteEntity[], includeMemoryPolicy?: boolean): string;
|
|
151
|
+
/**
|
|
152
|
+
* Determine multi-tenant SaaS scope description for a note
|
|
153
|
+
*/
|
|
46
154
|
private determineSaaSScope;
|
|
155
|
+
/**
|
|
156
|
+
* Format examples for injection into agent prompt
|
|
157
|
+
*/
|
|
47
158
|
FormatExamplesForInjection(examples: AIAgentExampleEntity[]): string;
|
|
159
|
+
/**
|
|
160
|
+
* Determine human-readable scope description for a note
|
|
161
|
+
*/
|
|
48
162
|
private determineNoteScope;
|
|
49
163
|
}
|
|
50
164
|
//# sourceMappingURL=agent-context-injector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-context-injector.d.ts","sourceRoot":"","sources":["../src/agent-context-injector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAyB,MAAM,+BAA+B,CAAC;AAE/G,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAmB,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-context-injector.d.ts","sourceRoot":"","sources":["../src/agent-context-injector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAyB,MAAM,+BAA+B,CAAC;AAE/G,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAmB,MAAM,6BAA6B,CAAC;AAErF;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,UAAU,GAAG,QAAQ,GAAG,KAAK,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,QAAQ,CAAC;IACtB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;OAIG;IACH,cAAc,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC9C;;;OAGG;IACH,aAAa,CAAC,EAAE,yBAAyB,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,QAAQ,CAAC;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACzB;AAED;;;GAGG;AACH,qBAAa,oBAAoB;IAC7B;;;OAGG;IACG,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAU9E;;;OAGG;IACG,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAUvF;;;;;;;;;;;;OAYG;YACW,yBAAyB;IA4DvC;;OAEG;YACW,4BAA4B;IAa1C;;;OAGG;YACW,qBAAqB;IAuBnC;;OAEG;YACW,wBAAwB;IActC;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAyD/B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA6B5B;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAsC/B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAuCxB;;OAEG;IACH,OAAO,CAAC,YAAY;IA+BpB;;;OAGG;IACH,OAAO,CAAC,SAAS;IA+CjB;;;;;;OAMG;IACH,uBAAuB,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE,mBAAmB,GAAE,OAAc,GAAG,MAAM;IA2ChG;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAe1B;;OAEG;IACH,0BAA0B,CAAC,QAAQ,EAAE,oBAAoB,EAAE,GAAG,MAAM;IAyBpE;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAwB7B"}
|
|
@@ -1,61 +1,103 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { LogError, LogStatus, RunView } from "@memberjunction/core";
|
|
2
|
+
import { AIEngine } from "@memberjunction/aiengine";
|
|
3
|
+
import { RerankerService } from "@memberjunction/ai-reranker";
|
|
4
|
+
/**
|
|
5
|
+
* Central service for retrieving and formatting notes/examples for injection into agent context.
|
|
6
|
+
* Implements multi-dimensional scoping (Agent, User, Company) with 8 priority levels.
|
|
7
|
+
*/
|
|
8
|
+
export class AgentContextInjector {
|
|
9
|
+
/**
|
|
10
|
+
* Retrieve notes for a specific agent execution context.
|
|
11
|
+
* Implements multi-dimensional scoping and injection strategy.
|
|
12
|
+
*/
|
|
8
13
|
async GetNotesForContext(params) {
|
|
14
|
+
// Use semantic search if strategy is 'Relevant'
|
|
9
15
|
if (params.strategy === 'Relevant' && params.currentInput) {
|
|
10
16
|
return await this.getNotesViaSemanticSearch(params);
|
|
11
17
|
}
|
|
18
|
+
// Otherwise use database query with scoping
|
|
12
19
|
return await this.queryNotesWithScoping(params);
|
|
13
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Retrieve examples for a specific agent execution context.
|
|
23
|
+
* Implements multi-dimensional scoping and injection strategy.
|
|
24
|
+
*/
|
|
14
25
|
async GetExamplesForContext(params) {
|
|
26
|
+
// Use semantic search if strategy is 'Semantic'
|
|
15
27
|
if (params.strategy === 'Semantic' && params.currentInput) {
|
|
16
28
|
return await this.getExamplesViaSemanticSearch(params);
|
|
17
29
|
}
|
|
30
|
+
// Otherwise use database query with scoping
|
|
18
31
|
return await this.queryExamplesWithScoping(params);
|
|
19
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Get notes using semantic search via AIEngine.
|
|
35
|
+
* Supports optional two-stage retrieval with reranking for improved relevance.
|
|
36
|
+
*
|
|
37
|
+
* When reranking is enabled:
|
|
38
|
+
* 1. Fetch N * retrievalMultiplier candidates via vector search
|
|
39
|
+
* 2. Rerank candidates using configured reranker
|
|
40
|
+
* 3. Return top N reranked results
|
|
41
|
+
*
|
|
42
|
+
* Fallback behavior (controlled by config.fallbackOnError):
|
|
43
|
+
* - If true: On reranking failure, gracefully falls back to vector search results
|
|
44
|
+
* - If false: Propagates reranking errors to caller
|
|
45
|
+
*/
|
|
20
46
|
async getNotesViaSemanticSearch(params) {
|
|
21
47
|
const config = params.rerankerConfig;
|
|
48
|
+
// Calculate candidates to fetch (more if reranking enabled)
|
|
22
49
|
const fetchCount = config?.enabled
|
|
23
50
|
? params.maxNotes * config.retrievalMultiplier
|
|
24
51
|
: params.maxNotes;
|
|
25
|
-
|
|
52
|
+
// Stage 1: Vector search
|
|
53
|
+
const matches = await AIEngine.Instance.FindSimilarAgentNotes(params.currentInput, params.agentId, params.userId, params.companyId, fetchCount);
|
|
54
|
+
// If no reranker config or disabled, return vector results directly
|
|
26
55
|
if (!config?.enabled) {
|
|
27
56
|
return matches.slice(0, params.maxNotes).map(m => m.note);
|
|
28
57
|
}
|
|
29
|
-
|
|
30
|
-
|
|
58
|
+
// Stage 2: Rerank candidates with fallback handling
|
|
59
|
+
LogStatus(`AgentContextInjector: Reranking ${matches.length} candidates to top ${params.maxNotes}`);
|
|
60
|
+
const rerankerService = RerankerService.Instance;
|
|
31
61
|
try {
|
|
32
62
|
const rerankResult = await rerankerService.rerankNotes(matches, params.currentInput, config, params.contextUser, params.observability ? {
|
|
33
63
|
agentRunID: params.observability.agentRunID,
|
|
34
64
|
parentStepID: params.observability.parentStepID,
|
|
35
65
|
stepNumber: params.observability.stepNumber
|
|
36
66
|
} : undefined);
|
|
67
|
+
// Return top N reranked notes
|
|
37
68
|
const result = rerankResult.notes.slice(0, params.maxNotes).map(m => m.note);
|
|
38
|
-
|
|
69
|
+
LogStatus(`AgentContextInjector: Returning ${result.length} notes after reranking`);
|
|
39
70
|
return result;
|
|
40
71
|
}
|
|
41
72
|
catch (error) {
|
|
73
|
+
// Fallback decision is made HERE in the agent class, not in the service
|
|
42
74
|
const message = error instanceof Error ? error.message : String(error);
|
|
43
75
|
if (config.fallbackOnError) {
|
|
44
|
-
|
|
76
|
+
// Graceful fallback to vector search results
|
|
77
|
+
LogStatus(`AgentContextInjector: Reranking failed (${message}), falling back to vector search results`);
|
|
45
78
|
return matches.slice(0, params.maxNotes).map(m => m.note);
|
|
46
79
|
}
|
|
47
|
-
|
|
80
|
+
// No fallback - propagate the error
|
|
81
|
+
LogError(`AgentContextInjector: Reranking failed and fallbackOnError is false: ${message}`);
|
|
48
82
|
throw error;
|
|
49
83
|
}
|
|
50
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* Get examples using semantic search via AIEngine
|
|
87
|
+
*/
|
|
51
88
|
async getExamplesViaSemanticSearch(params) {
|
|
52
|
-
const matches = await
|
|
89
|
+
const matches = await AIEngine.Instance.FindSimilarAgentExamples(params.currentInput, params.agentId, params.userId, params.companyId, params.maxExamples);
|
|
90
|
+
// Return entities directly from vector service (no database round-trip)
|
|
53
91
|
return matches.map(m => m.example);
|
|
54
92
|
}
|
|
93
|
+
/**
|
|
94
|
+
* Query notes using multi-dimensional scoping priority.
|
|
95
|
+
* Implements 8-level scoping hierarchy from most specific to least specific.
|
|
96
|
+
*/
|
|
55
97
|
async queryNotesWithScoping(params) {
|
|
56
98
|
const filter = this.buildNotesScopingFilter(params);
|
|
57
99
|
const orderBy = '__mj_CreatedAt DESC';
|
|
58
|
-
const rv = new
|
|
100
|
+
const rv = new RunView();
|
|
59
101
|
const result = await rv.RunView({
|
|
60
102
|
EntityName: 'AI Agent Notes',
|
|
61
103
|
ExtraFilter: filter,
|
|
@@ -68,57 +110,86 @@ class AgentContextInjector {
|
|
|
68
110
|
if (notes.length === 0) {
|
|
69
111
|
return [];
|
|
70
112
|
}
|
|
71
|
-
const sorted = this.sortNotes(notes, params.strategy,
|
|
113
|
+
const sorted = this.sortNotes(notes, params.strategy, AIEngine.Instance.AgentNoteTypes);
|
|
72
114
|
return sorted.slice(0, params.maxNotes);
|
|
73
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* Query examples using multi-dimensional scoping priority
|
|
118
|
+
*/
|
|
74
119
|
async queryExamplesWithScoping(params) {
|
|
75
|
-
|
|
120
|
+
// Use cached data from AIEngine instead of database query
|
|
121
|
+
const allExamples = AIEngine.Instance.AgentExamples;
|
|
122
|
+
// Filter examples matching our scoping criteria
|
|
76
123
|
const filtered = this.filterExamplesByScoping(allExamples, params);
|
|
124
|
+
// Sort based on strategy
|
|
77
125
|
const sorted = this.sortExamples(filtered, params.strategy);
|
|
126
|
+
// Return top N results
|
|
78
127
|
return sorted.slice(0, params.maxExamples);
|
|
79
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* Build filter with 8-level scoping priority for notes.
|
|
131
|
+
* Combines MJ-internal scoping (AgentID, UserID, CompanyID) with
|
|
132
|
+
* multi-tenant SaaS scoping (PrimaryScopeEntityID, PrimaryScopeRecordID, SecondaryScopes).
|
|
133
|
+
*/
|
|
80
134
|
buildNotesScopingFilter(params) {
|
|
81
135
|
const filters = ['Status = \'Active\''];
|
|
136
|
+
// Build MJ-internal scoping filter using OR conditions with priority
|
|
82
137
|
const scopeConditions = [];
|
|
138
|
+
// Priority 1: AgentID + UserID + CompanyID
|
|
83
139
|
if (params.agentId && params.userId && params.companyId) {
|
|
84
140
|
scopeConditions.push(`(AgentID='${params.agentId}' AND UserID='${params.userId}' AND CompanyID='${params.companyId}')`);
|
|
85
141
|
}
|
|
142
|
+
// Priority 2: AgentID + UserID
|
|
86
143
|
if (params.agentId && params.userId) {
|
|
87
144
|
scopeConditions.push(`(AgentID='${params.agentId}' AND UserID='${params.userId}' AND CompanyID IS NULL)`);
|
|
88
145
|
}
|
|
146
|
+
// Priority 3: AgentID + CompanyID
|
|
89
147
|
if (params.agentId && params.companyId) {
|
|
90
148
|
scopeConditions.push(`(AgentID='${params.agentId}' AND UserID IS NULL AND CompanyID='${params.companyId}')`);
|
|
91
149
|
}
|
|
150
|
+
// Priority 4: UserID + CompanyID
|
|
92
151
|
if (params.userId && params.companyId) {
|
|
93
152
|
scopeConditions.push(`(AgentID IS NULL AND UserID='${params.userId}' AND CompanyID='${params.companyId}')`);
|
|
94
153
|
}
|
|
154
|
+
// Priority 5: AgentID only
|
|
95
155
|
if (params.agentId) {
|
|
96
156
|
scopeConditions.push(`(AgentID='${params.agentId}' AND UserID IS NULL AND CompanyID IS NULL)`);
|
|
97
157
|
}
|
|
158
|
+
// Priority 6: UserID only
|
|
98
159
|
if (params.userId) {
|
|
99
160
|
scopeConditions.push(`(AgentID IS NULL AND UserID='${params.userId}' AND CompanyID IS NULL)`);
|
|
100
161
|
}
|
|
162
|
+
// Priority 7: CompanyID only
|
|
101
163
|
if (params.companyId) {
|
|
102
164
|
scopeConditions.push(`(AgentID IS NULL AND UserID IS NULL AND CompanyID='${params.companyId}')`);
|
|
103
165
|
}
|
|
166
|
+
// Priority 8: Global (all NULL)
|
|
104
167
|
scopeConditions.push(`(AgentID IS NULL AND UserID IS NULL AND CompanyID IS NULL)`);
|
|
105
168
|
if (scopeConditions.length > 0) {
|
|
106
169
|
filters.push(`(${scopeConditions.join(' OR ')})`);
|
|
107
170
|
}
|
|
171
|
+
// Add multi-tenant SaaS scoping if userScope is provided
|
|
108
172
|
if (params.userScope) {
|
|
109
173
|
const saasScopes = this.buildSaasScopeFilter(params.userScope);
|
|
110
174
|
filters.push(`(${saasScopes})`);
|
|
111
175
|
}
|
|
112
176
|
return filters.join(' AND ');
|
|
113
177
|
}
|
|
178
|
+
/**
|
|
179
|
+
* Build filter for multi-tenant SaaS scoping with hierarchical inheritance.
|
|
180
|
+
* Returns notes at all applicable scope levels (global → primary → full).
|
|
181
|
+
*/
|
|
114
182
|
buildSaasScopeFilter(userScope) {
|
|
115
183
|
const conditions = [];
|
|
184
|
+
// Always include global notes (no scope set)
|
|
116
185
|
conditions.push('PrimaryScopeRecordID IS NULL');
|
|
117
186
|
if (userScope.primaryRecordId) {
|
|
187
|
+
// Include primary-scope-only notes (matches org, no secondary scopes)
|
|
118
188
|
conditions.push(`(
|
|
119
189
|
PrimaryScopeRecordID = '${userScope.primaryRecordId}'
|
|
120
190
|
AND (SecondaryScopes IS NULL OR SecondaryScopes = '{}')
|
|
121
191
|
)`);
|
|
192
|
+
// Include fully-scoped notes if secondary scopes are provided
|
|
122
193
|
if (userScope.secondary && Object.keys(userScope.secondary).length > 0) {
|
|
123
194
|
const secondaryConditions = Object.entries(userScope.secondary)
|
|
124
195
|
.map(([key, val]) => `JSON_VALUE(SecondaryScopes, '$.${key}') = '${val}'`)
|
|
@@ -131,14 +202,22 @@ class AgentContextInjector {
|
|
|
131
202
|
}
|
|
132
203
|
return conditions.join(' OR ');
|
|
133
204
|
}
|
|
205
|
+
/**
|
|
206
|
+
* Filter examples using multi-dimensional scoping priority.
|
|
207
|
+
* Implements 4-level scoping hierarchy for examples (examples are always agent-specific).
|
|
208
|
+
* Also handles multi-tenant SaaS scoping when userScope is provided.
|
|
209
|
+
*/
|
|
134
210
|
filterExamplesByScoping(examples, params) {
|
|
135
211
|
return examples.filter(example => {
|
|
212
|
+
// Must be active
|
|
136
213
|
if (example.Status !== 'Active') {
|
|
137
214
|
return false;
|
|
138
215
|
}
|
|
216
|
+
// Must match the agent
|
|
139
217
|
if (example.AgentID !== params.agentId) {
|
|
140
218
|
return false;
|
|
141
219
|
}
|
|
220
|
+
// Check MJ-internal scoping priority (any of these conditions can match)
|
|
142
221
|
const matchesPriority1 = params.userId && params.companyId &&
|
|
143
222
|
example.UserID === params.userId && example.CompanyID === params.companyId;
|
|
144
223
|
const matchesPriority2 = params.userId &&
|
|
@@ -150,29 +229,41 @@ class AgentContextInjector {
|
|
|
150
229
|
if (!matchesMJScoping) {
|
|
151
230
|
return false;
|
|
152
231
|
}
|
|
232
|
+
// Check multi-tenant SaaS scoping if userScope is provided
|
|
153
233
|
if (params.userScope) {
|
|
154
234
|
return this.matchesSaasScope(example, params.userScope);
|
|
155
235
|
}
|
|
156
236
|
return true;
|
|
157
237
|
});
|
|
158
238
|
}
|
|
239
|
+
/**
|
|
240
|
+
* Check if an example matches the SaaS scope criteria (hierarchical).
|
|
241
|
+
* Returns true for: global, primary-only, or fully-scoped matches.
|
|
242
|
+
*/
|
|
159
243
|
matchesSaasScope(example, userScope) {
|
|
244
|
+
// Global examples (no scope) always match
|
|
160
245
|
if (!example.PrimaryScopeRecordID) {
|
|
161
246
|
return true;
|
|
162
247
|
}
|
|
248
|
+
// No primary scope provided - only global examples match
|
|
163
249
|
if (!userScope.primaryRecordId) {
|
|
164
250
|
return false;
|
|
165
251
|
}
|
|
252
|
+
// Primary scope must match
|
|
166
253
|
if (example.PrimaryScopeRecordID !== userScope.primaryRecordId) {
|
|
167
254
|
return false;
|
|
168
255
|
}
|
|
256
|
+
// If example has no secondary scopes, it's an org-level example - matches
|
|
169
257
|
const exampleSecondary = example.SecondaryScopes;
|
|
170
258
|
if (!exampleSecondary || exampleSecondary === '{}') {
|
|
171
259
|
return true;
|
|
172
260
|
}
|
|
261
|
+
// Example has secondary scopes - check if they match
|
|
173
262
|
if (!userScope.secondary || Object.keys(userScope.secondary).length === 0) {
|
|
263
|
+
// User has no secondary scope but example does - no match
|
|
174
264
|
return false;
|
|
175
265
|
}
|
|
266
|
+
// Parse and match secondary scopes
|
|
176
267
|
try {
|
|
177
268
|
const parsedSecondary = JSON.parse(exampleSecondary);
|
|
178
269
|
return Object.entries(parsedSecondary).every(([key, val]) => userScope.secondary?.[key] === val);
|
|
@@ -181,21 +272,28 @@ class AgentContextInjector {
|
|
|
181
272
|
return false;
|
|
182
273
|
}
|
|
183
274
|
}
|
|
275
|
+
/**
|
|
276
|
+
* Sort examples based on the specified strategy
|
|
277
|
+
*/
|
|
184
278
|
sortExamples(examples, strategy) {
|
|
279
|
+
// Create a copy to avoid mutating the original array
|
|
185
280
|
const sorted = [...examples];
|
|
186
281
|
if (strategy === 'Rated') {
|
|
282
|
+
// Sort by SuccessScore DESC, then by creation date DESC
|
|
187
283
|
sorted.sort((a, b) => {
|
|
188
284
|
const scoreA = a.SuccessScore ?? 0;
|
|
189
285
|
const scoreB = b.SuccessScore ?? 0;
|
|
190
286
|
if (scoreB !== scoreA) {
|
|
191
287
|
return scoreB - scoreA;
|
|
192
288
|
}
|
|
289
|
+
// Tie-breaker: most recent first
|
|
193
290
|
const dateA = a.__mj_CreatedAt?.getTime() ?? 0;
|
|
194
291
|
const dateB = b.__mj_CreatedAt?.getTime() ?? 0;
|
|
195
292
|
return dateB - dateA;
|
|
196
293
|
});
|
|
197
294
|
}
|
|
198
295
|
else {
|
|
296
|
+
// 'Recent' strategy (or default): sort by creation date DESC
|
|
199
297
|
sorted.sort((a, b) => {
|
|
200
298
|
const dateA = a.__mj_CreatedAt?.getTime() ?? 0;
|
|
201
299
|
const dateB = b.__mj_CreatedAt?.getTime() ?? 0;
|
|
@@ -204,6 +302,10 @@ class AgentContextInjector {
|
|
|
204
302
|
}
|
|
205
303
|
return sorted;
|
|
206
304
|
}
|
|
305
|
+
/**
|
|
306
|
+
* Sort notes based on the specified strategy.
|
|
307
|
+
* For non-Recent strategies, uses AgentNoteType.Priority from cached note types.
|
|
308
|
+
*/
|
|
207
309
|
sortNotes(notes, strategy, noteTypes) {
|
|
208
310
|
const sorted = [...notes];
|
|
209
311
|
const priorityByTypeId = new Map();
|
|
@@ -238,10 +340,18 @@ class AgentContextInjector {
|
|
|
238
340
|
});
|
|
239
341
|
return sorted;
|
|
240
342
|
}
|
|
343
|
+
/**
|
|
344
|
+
* Format notes for injection into agent prompt.
|
|
345
|
+
* Includes memory policy explaining scope precedence for conflict resolution.
|
|
346
|
+
*
|
|
347
|
+
* @param notes - Array of notes to format
|
|
348
|
+
* @param includeMemoryPolicy - Whether to include the memory policy preamble (default: true)
|
|
349
|
+
*/
|
|
241
350
|
FormatNotesForInjection(notes, includeMemoryPolicy = true) {
|
|
242
351
|
if (notes.length === 0)
|
|
243
352
|
return '';
|
|
244
353
|
const lines = [];
|
|
354
|
+
// Add memory policy preamble for LLM understanding of scope precedence
|
|
245
355
|
if (includeMemoryPolicy) {
|
|
246
356
|
lines.push('<memory_policy>');
|
|
247
357
|
lines.push('Precedence (highest to lowest):');
|
|
@@ -273,9 +383,13 @@ class AgentContextInjector {
|
|
|
273
383
|
lines.push('---');
|
|
274
384
|
return lines.join('\n');
|
|
275
385
|
}
|
|
386
|
+
/**
|
|
387
|
+
* Determine multi-tenant SaaS scope description for a note
|
|
388
|
+
*/
|
|
276
389
|
determineSaaSScope(note) {
|
|
390
|
+
// Check for SaaS scoping (takes precedence over MJ scoping)
|
|
277
391
|
if (!note.PrimaryScopeRecordID) {
|
|
278
|
-
return null;
|
|
392
|
+
return null; // No SaaS scope, fall back to MJ scope
|
|
279
393
|
}
|
|
280
394
|
const hasSecondary = note.SecondaryScopes && note.SecondaryScopes !== '{}';
|
|
281
395
|
if (hasSecondary) {
|
|
@@ -283,6 +397,9 @@ class AgentContextInjector {
|
|
|
283
397
|
}
|
|
284
398
|
return 'Organization-level';
|
|
285
399
|
}
|
|
400
|
+
/**
|
|
401
|
+
* Format examples for injection into agent prompt
|
|
402
|
+
*/
|
|
286
403
|
FormatExamplesForInjection(examples) {
|
|
287
404
|
if (examples.length === 0)
|
|
288
405
|
return '';
|
|
@@ -303,6 +420,9 @@ class AgentContextInjector {
|
|
|
303
420
|
lines.push('---');
|
|
304
421
|
return lines.join('\n');
|
|
305
422
|
}
|
|
423
|
+
/**
|
|
424
|
+
* Determine human-readable scope description for a note
|
|
425
|
+
*/
|
|
306
426
|
determineNoteScope(note) {
|
|
307
427
|
if (note.AgentID && note.UserID && note.CompanyID) {
|
|
308
428
|
return 'Agent + User + Company specific';
|
|
@@ -328,5 +448,4 @@ class AgentContextInjector {
|
|
|
328
448
|
return 'Global';
|
|
329
449
|
}
|
|
330
450
|
}
|
|
331
|
-
exports.AgentContextInjector = AgentContextInjector;
|
|
332
451
|
//# sourceMappingURL=agent-context-injector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-context-injector.js","sourceRoot":"","sources":["../src/agent-context-injector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-context-injector.js","sourceRoot":"","sources":["../src/agent-context-injector.ts"],"names":[],"mappings":"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"}
|