@memberjunction/ai-agents 5.40.2 → 5.41.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 +45 -0
- package/dist/AgentRunner.d.ts +5 -2
- package/dist/AgentRunner.d.ts.map +1 -1
- package/dist/AgentRunner.js +14 -4
- package/dist/AgentRunner.js.map +1 -1
- package/dist/MemoryWriteManager.d.ts +188 -0
- package/dist/MemoryWriteManager.d.ts.map +1 -0
- package/dist/MemoryWriteManager.js +299 -0
- package/dist/MemoryWriteManager.js.map +1 -0
- package/dist/agent-context-injector.d.ts +29 -0
- package/dist/agent-context-injector.d.ts.map +1 -1
- package/dist/agent-context-injector.js +90 -32
- package/dist/agent-context-injector.js.map +1 -1
- package/dist/agent-memory-context-builder.d.ts +100 -0
- package/dist/agent-memory-context-builder.d.ts.map +1 -0
- package/dist/agent-memory-context-builder.js +172 -0
- package/dist/agent-memory-context-builder.js.map +1 -0
- package/dist/agent-types/index.d.ts +1 -0
- package/dist/agent-types/index.d.ts.map +1 -1
- package/dist/agent-types/index.js +1 -0
- package/dist/agent-types/index.js.map +1 -1
- package/dist/agent-types/loop-agent-response-type.d.ts +12 -1
- package/dist/agent-types/loop-agent-response-type.d.ts.map +1 -1
- package/dist/agent-types/loop-agent-response-type.js.map +1 -1
- package/dist/agent-types/loop-agent-type.d.ts.map +1 -1
- package/dist/agent-types/loop-agent-type.js +4 -0
- package/dist/agent-types/loop-agent-type.js.map +1 -1
- package/dist/agent-types/realtime-agent-type.d.ts +146 -0
- package/dist/agent-types/realtime-agent-type.d.ts.map +1 -0
- package/dist/agent-types/realtime-agent-type.js +176 -0
- package/dist/agent-types/realtime-agent-type.js.map +1 -0
- package/dist/base-agent.d.ts +365 -24
- package/dist/base-agent.d.ts.map +1 -1
- package/dist/base-agent.js +995 -175
- package/dist/base-agent.js.map +1 -1
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -1
- package/dist/memory-manager-agent.d.ts +55 -2
- package/dist/memory-manager-agent.d.ts.map +1 -1
- package/dist/memory-manager-agent.js +261 -62
- package/dist/memory-manager-agent.js.map +1 -1
- package/dist/realtime/meeting-controls-channel-server.d.ts +198 -0
- package/dist/realtime/meeting-controls-channel-server.d.ts.map +1 -0
- package/dist/realtime/meeting-controls-channel-server.js +319 -0
- package/dist/realtime/meeting-controls-channel-server.js.map +1 -0
- package/dist/realtime/meeting-controls-state.d.ts +191 -0
- package/dist/realtime/meeting-controls-state.d.ts.map +1 -0
- package/dist/realtime/meeting-controls-state.js +219 -0
- package/dist/realtime/meeting-controls-state.js.map +1 -0
- package/dist/realtime/realtime-channel-server-host.d.ts +166 -0
- package/dist/realtime/realtime-channel-server-host.d.ts.map +1 -0
- package/dist/realtime/realtime-channel-server-host.js +378 -0
- package/dist/realtime/realtime-channel-server-host.js.map +1 -0
- package/dist/realtime/realtime-client-session-service.d.ts +884 -0
- package/dist/realtime/realtime-client-session-service.d.ts.map +1 -0
- package/dist/realtime/realtime-client-session-service.js +1401 -0
- package/dist/realtime/realtime-client-session-service.js.map +1 -0
- package/dist/realtime/realtime-coagent-config.d.ts +202 -0
- package/dist/realtime/realtime-coagent-config.d.ts.map +1 -0
- package/dist/realtime/realtime-coagent-config.js +334 -0
- package/dist/realtime/realtime-coagent-config.js.map +1 -0
- package/dist/realtime/realtime-narration.d.ts +67 -0
- package/dist/realtime/realtime-narration.d.ts.map +1 -0
- package/dist/realtime/realtime-narration.js +127 -0
- package/dist/realtime/realtime-narration.js.map +1 -0
- package/dist/realtime/realtime-session-runner.d.ts +383 -0
- package/dist/realtime/realtime-session-runner.d.ts.map +1 -0
- package/dist/realtime/realtime-session-runner.js +532 -0
- package/dist/realtime/realtime-session-runner.js.map +1 -0
- package/dist/realtime/realtime-tool-broker.d.ts +279 -0
- package/dist/realtime/realtime-tool-broker.d.ts.map +1 -0
- package/dist/realtime/realtime-tool-broker.js +184 -0
- package/dist/realtime/realtime-tool-broker.js.map +1 -0
- package/dist/realtime/whiteboard-channel-server.d.ts +50 -0
- package/dist/realtime/whiteboard-channel-server.d.ts.map +1 -0
- package/dist/realtime/whiteboard-channel-server.js +85 -0
- package/dist/realtime/whiteboard-channel-server.js.map +1 -0
- package/package.json +17 -17
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
import { LogErrorEx, LogStatusEx, Metadata } from '@memberjunction/core';
|
|
2
|
+
import { AIEngine } from '@memberjunction/aiengine';
|
|
3
|
+
/**
|
|
4
|
+
* Manages in-flight durable memory writes for a single agent run.
|
|
5
|
+
*
|
|
6
|
+
* Follows the ArtifactToolManager pattern:
|
|
7
|
+
* - Instantiated once per run, `Clear()`ed at run start
|
|
8
|
+
* - Holds per-run idempotency/cap state
|
|
9
|
+
* - Executes write requests and returns structured results for next-turn injection
|
|
10
|
+
*
|
|
11
|
+
* The framework (not the agent) enforces every guard: type restriction, scope
|
|
12
|
+
* clamping, near-duplicate handling, per-run caps, and provenance stamping.
|
|
13
|
+
* Notes land with `Status='Provisional'` — immediately injectable, later
|
|
14
|
+
* hardened or pruned by the MemoryManagerAgent.
|
|
15
|
+
*
|
|
16
|
+
* Writes MUST be executed sequentially (the BaseAgent caller iterates with
|
|
17
|
+
* `for...of`, not `Promise.all`): each persisted note is embedded and synced
|
|
18
|
+
* into the in-memory vector service by `MJAIAgentNoteEntityServer.Save()`, so
|
|
19
|
+
* write N must be visible to write N+1's near-dup check. This is a deliberate
|
|
20
|
+
* exception to the parallelize-by-default rule.
|
|
21
|
+
*/
|
|
22
|
+
export class MemoryWriteManager {
|
|
23
|
+
constructor(config) {
|
|
24
|
+
/** Normalized-note-hash → noteId persisted this run (within-run idempotency + supersede-own lookup) */
|
|
25
|
+
this.writtenNotesByHash = new Map();
|
|
26
|
+
/** IDs of notes persisted this run (distinguishes supersede-own from cross-run dedupe) */
|
|
27
|
+
this.writtenNoteIds = new Set();
|
|
28
|
+
this.writeCount = 0;
|
|
29
|
+
this.maxWritesPerRun = config?.maxWritesPerRun || 5;
|
|
30
|
+
this.nearDupSimilarity = config?.nearDupSimilarity || 0.85;
|
|
31
|
+
this.defaultTTLDays = config?.defaultTTLDays || 7;
|
|
32
|
+
this.maxNoteLength = config?.maxNoteLength || 2000;
|
|
33
|
+
}
|
|
34
|
+
/** Reset all per-run state. Called at run start, mirroring ArtifactToolManager.Clear(). */
|
|
35
|
+
Clear() {
|
|
36
|
+
this.writtenNotesByHash.clear();
|
|
37
|
+
this.writtenNoteIds.clear();
|
|
38
|
+
this.writeCount = 0;
|
|
39
|
+
}
|
|
40
|
+
/** Number of notes persisted this run (written + superseded) */
|
|
41
|
+
get WriteCount() {
|
|
42
|
+
return this.writeCount;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Execute a single memory write through the guard pipeline:
|
|
46
|
+
* type guard → within-run idempotency → per-run cap → scope clamp →
|
|
47
|
+
* near-dup guard (supersede-own / exact-restatement dedupe / fail-open) → persist provisional.
|
|
48
|
+
*/
|
|
49
|
+
async ExecuteWrite(request, context) {
|
|
50
|
+
const startedAt = Date.now();
|
|
51
|
+
const finish = (partial) => ({
|
|
52
|
+
...partial,
|
|
53
|
+
durationMs: Date.now() - startedAt,
|
|
54
|
+
request,
|
|
55
|
+
});
|
|
56
|
+
const validationError = this.validateRequest(request);
|
|
57
|
+
if (validationError) {
|
|
58
|
+
return finish({ disposition: 'rejected-type', reason: validationError });
|
|
59
|
+
}
|
|
60
|
+
const hash = this.normalizeAndHash(request.note);
|
|
61
|
+
if (this.writtenNotesByHash.has(hash)) {
|
|
62
|
+
return finish({
|
|
63
|
+
disposition: 'skipped-duplicate',
|
|
64
|
+
noteId: this.writtenNotesByHash.get(hash),
|
|
65
|
+
reason: 'This exact memory was already recorded this run. Do not re-submit it.',
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
if (this.writeCount >= this.maxWritesPerRun) {
|
|
69
|
+
return finish({
|
|
70
|
+
disposition: 'skipped-cap',
|
|
71
|
+
reason: `Per-run memory write cap (${this.maxWritesPerRun}) reached. Remaining facts will be captured by the scheduled Memory Manager.`,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
const scope = this.clampScope(request, context);
|
|
75
|
+
const nearDup = await this.findNearDuplicate(request.note, scope, context);
|
|
76
|
+
let outcome;
|
|
77
|
+
if (nearDup && this.writtenNoteIds.has(nearDup.noteId)) {
|
|
78
|
+
outcome = await this.supersedeOwnNote(nearDup.noteId, request, scope, context);
|
|
79
|
+
}
|
|
80
|
+
else if (nearDup) {
|
|
81
|
+
outcome = await this.touchExistingNote(nearDup.noteId, context);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
outcome = await this.persistNewNote(request, scope, context);
|
|
85
|
+
}
|
|
86
|
+
this.recordOutcome(outcome, hash);
|
|
87
|
+
return finish(outcome);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Per-run state bookkeeping, owned by the orchestrator (not the persistence
|
|
91
|
+
* seams) so subclass/test overrides of the I/O methods can't desync the
|
|
92
|
+
* idempotency hash map, the own-note ID set, or the write cap counter.
|
|
93
|
+
*/
|
|
94
|
+
recordOutcome(outcome, hash) {
|
|
95
|
+
if (outcome.disposition === 'written' && outcome.noteId) {
|
|
96
|
+
this.writeCount++;
|
|
97
|
+
this.writtenNotesByHash.set(hash, outcome.noteId);
|
|
98
|
+
this.writtenNoteIds.add(outcome.noteId);
|
|
99
|
+
}
|
|
100
|
+
else if (outcome.disposition === 'superseded-own' && outcome.noteId) {
|
|
101
|
+
this.writtenNotesByHash.set(hash, outcome.noteId);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
// ─── GUARDS ───
|
|
105
|
+
/** Returns an error message when the request fails validation, null when valid. */
|
|
106
|
+
validateRequest(request) {
|
|
107
|
+
if (request.type !== 'Preference' && request.type !== 'Context') {
|
|
108
|
+
return `Memory type "${request.type}" is not allowed in-flight — only 'Preference' and 'Context'. Behavioral/constraint memories require Memory Manager or human promotion.`;
|
|
109
|
+
}
|
|
110
|
+
const note = (request.note || '').trim();
|
|
111
|
+
if (note.length === 0) {
|
|
112
|
+
return 'Memory note text is empty.';
|
|
113
|
+
}
|
|
114
|
+
if (note.length > this.maxNoteLength) {
|
|
115
|
+
return `Memory note exceeds the ${this.maxNoteLength}-character limit (${note.length}). Record one atomic fact per write.`;
|
|
116
|
+
}
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
/** Case/whitespace-insensitive hash for within-run idempotency. */
|
|
120
|
+
normalizeAndHash(note) {
|
|
121
|
+
return note.trim().toLowerCase().replace(/\s+/g, ' ');
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Clamp the write's scope to <= Agent + User (+ Company when present in context).
|
|
125
|
+
* A scopeHint may NARROW (drop the user dimension) but never broaden — in-flight
|
|
126
|
+
* writes never land global; scope-widening is exclusively the Memory Manager's
|
|
127
|
+
* judgment during hardening/consolidation.
|
|
128
|
+
*/
|
|
129
|
+
clampScope(request, context) {
|
|
130
|
+
return {
|
|
131
|
+
agentId: context.agentId,
|
|
132
|
+
userId: request.scopeHint === 'agent' ? null : context.userId || null,
|
|
133
|
+
companyId: context.companyId || null,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
// ─── NEAR-DUP GUARD (overridable seam for tests) ───
|
|
137
|
+
/**
|
|
138
|
+
* One in-memory vector check against injectable notes in the same scope,
|
|
139
|
+
* returning only ACTIONABLE hits:
|
|
140
|
+
* - a note written earlier in THIS run (supersede-own candidate — checked
|
|
141
|
+
* first because within-run last-write-wins is the stronger contract), or
|
|
142
|
+
* - a pre-existing note whose normalized text EXACTLY equals the request's
|
|
143
|
+
* (exact-restatement dedupe candidate).
|
|
144
|
+
*
|
|
145
|
+
* Near-but-textually-different matches are deliberately dropped so the write
|
|
146
|
+
* proceeds as a new provisional note. A textual difference may be a
|
|
147
|
+
* correction — live testing showed "I love pie charts" followed in a later
|
|
148
|
+
* run by "never use pie charts, bar charts only" being absorbed into the
|
|
149
|
+
* STALE note (reinforcing it) and the correction silently lost. ADD-only on
|
|
150
|
+
* mismatch preserves corrections; true paraphrase duplicates are reconciled
|
|
151
|
+
* by the Memory Manager's LLM hardening dedupe (bounded by the per-run cap
|
|
152
|
+
* and TTL). The vector query itself survives because it (a) detects own-note
|
|
153
|
+
* supersede targets and (b) shortlists exact-restatement candidates without
|
|
154
|
+
* a table scan — exact equality filters AFTER the vector shortlist.
|
|
155
|
+
*
|
|
156
|
+
* Fail-open by design: when the vector service is unavailable or errors, we
|
|
157
|
+
* proceed with the write rather than dropping the user's stated fact — a rare
|
|
158
|
+
* duplicate is recoverable (TTL + Memory Manager hardening dedup), a silently
|
|
159
|
+
* lost memory is not.
|
|
160
|
+
*/
|
|
161
|
+
async findNearDuplicate(noteText, scope, context) {
|
|
162
|
+
try {
|
|
163
|
+
const matches = await this.queryVectorService(noteText, scope);
|
|
164
|
+
const ownHit = matches.find((m) => this.writtenNoteIds.has(m.noteId));
|
|
165
|
+
if (ownHit) {
|
|
166
|
+
return { noteId: ownHit.noteId, similarity: ownHit.similarity };
|
|
167
|
+
}
|
|
168
|
+
const requestHash = this.normalizeAndHash(noteText);
|
|
169
|
+
const exactHit = matches.find((m) => this.normalizeAndHash(m.noteText) === requestHash);
|
|
170
|
+
if (exactHit) {
|
|
171
|
+
return { noteId: exactHit.noteId, similarity: exactHit.similarity };
|
|
172
|
+
}
|
|
173
|
+
return null;
|
|
174
|
+
}
|
|
175
|
+
catch (error) {
|
|
176
|
+
LogErrorEx({
|
|
177
|
+
message: 'MemoryWriteManager: near-dup check failed — proceeding fail-open with the write',
|
|
178
|
+
error: error instanceof Error ? error : undefined,
|
|
179
|
+
});
|
|
180
|
+
return null;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
/** Raw vector-service lookup. Overridable seam for tests. */
|
|
184
|
+
async queryVectorService(noteText, scope) {
|
|
185
|
+
const matches = await AIEngine.Instance.FindSimilarAgentNotes(noteText, scope.agentId, scope.userId || undefined, scope.companyId || undefined, 3, this.nearDupSimilarity);
|
|
186
|
+
return matches.map((m) => ({ noteId: m.note.ID, similarity: m.similarity, noteText: m.note.Note || '' }));
|
|
187
|
+
}
|
|
188
|
+
// ─── PERSISTENCE (overridable seams for tests) ───
|
|
189
|
+
/**
|
|
190
|
+
* Supersede-own: the request near-duplicates a note written earlier in THIS
|
|
191
|
+
* run — update that provisional note's text in place (last-write-wins within
|
|
192
|
+
* a run: "I love blue charts!" then "actually, red charts!" yields one
|
|
193
|
+
* red-charts note, no stale row). Cross-run conflicts are NOT superseded —
|
|
194
|
+
* they defer to the Memory Manager.
|
|
195
|
+
*/
|
|
196
|
+
async supersedeOwnNote(noteId, request, scope, context) {
|
|
197
|
+
const note = await this.loadNote(noteId, context);
|
|
198
|
+
if (!note) {
|
|
199
|
+
return { disposition: 'error', noteId, reason: `Could not load own note ${noteId} to supersede.` };
|
|
200
|
+
}
|
|
201
|
+
note.Note = request.note.trim();
|
|
202
|
+
note.Type = request.type;
|
|
203
|
+
const saved = await note.Save();
|
|
204
|
+
if (!saved) {
|
|
205
|
+
return {
|
|
206
|
+
disposition: 'error',
|
|
207
|
+
noteId,
|
|
208
|
+
reason: `Failed to supersede own note: ${note.LatestResult?.CompleteMessage || 'unknown error'}`,
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
this.logVerbose(context, `superseded own note ${noteId} with updated text`);
|
|
212
|
+
return {
|
|
213
|
+
disposition: 'superseded-own',
|
|
214
|
+
noteId,
|
|
215
|
+
finalScope: scope,
|
|
216
|
+
reason: 'Updated the memory you recorded earlier this run (last write wins).',
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* The request exactly restates a pre-existing note (from a prior run or the
|
|
221
|
+
* Memory Manager). Bump its access stats instead of inserting a duplicate.
|
|
222
|
+
*/
|
|
223
|
+
async touchExistingNote(noteId, context) {
|
|
224
|
+
const note = await this.loadNote(noteId, context);
|
|
225
|
+
if (!note) {
|
|
226
|
+
return { disposition: 'error', noteId, reason: `Could not load existing note ${noteId} to dedupe against.` };
|
|
227
|
+
}
|
|
228
|
+
note.AccessCount = (note.AccessCount || 0) + 1;
|
|
229
|
+
note.LastAccessedAt = new Date();
|
|
230
|
+
const saved = await note.Save();
|
|
231
|
+
if (!saved) {
|
|
232
|
+
return {
|
|
233
|
+
disposition: 'error',
|
|
234
|
+
noteId,
|
|
235
|
+
reason: `Failed to update existing note: ${note.LatestResult?.CompleteMessage || 'unknown error'}`,
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
this.logVerbose(context, `deduped against existing note ${noteId}`);
|
|
239
|
+
return {
|
|
240
|
+
disposition: 'deduped',
|
|
241
|
+
noteId,
|
|
242
|
+
reason: 'This memory already exists verbatim — its relevance was reinforced instead of duplicating it.',
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
/** Persist a new provisional note with full provenance stamping. */
|
|
246
|
+
async persistNewNote(request, scope, context) {
|
|
247
|
+
const aiNoteTypeId = AIEngine.Instance.AgenteNoteTypeIDByName('AI');
|
|
248
|
+
if (!aiNoteTypeId) {
|
|
249
|
+
return { disposition: 'error', reason: 'Could not resolve the "AI" agent note type.' };
|
|
250
|
+
}
|
|
251
|
+
const md = context.provider ?? new Metadata();
|
|
252
|
+
const note = await md.GetEntityObject('MJ: AI Agent Notes', context.contextUser);
|
|
253
|
+
note.AgentID = scope.agentId;
|
|
254
|
+
note.UserID = scope.userId;
|
|
255
|
+
note.CompanyID = scope.companyId;
|
|
256
|
+
note.AgentNoteTypeID = aiNoteTypeId;
|
|
257
|
+
note.Type = request.type;
|
|
258
|
+
note.Note = request.note.trim();
|
|
259
|
+
note.IsAutoGenerated = true;
|
|
260
|
+
note.Status = 'Provisional';
|
|
261
|
+
note.AuthorType = 'Agent';
|
|
262
|
+
note.ProtectionTier = 'Standard';
|
|
263
|
+
note.ConsolidationCount = 0;
|
|
264
|
+
note.AccessCount = 1;
|
|
265
|
+
note.SourceAIAgentRunID = context.agentRunId || null;
|
|
266
|
+
note.SourceConversationID = context.conversationId || null;
|
|
267
|
+
note.SourceConversationDetailID = context.conversationDetailId || null;
|
|
268
|
+
note.ExpiresAt = new Date(Date.now() + this.defaultTTLDays * 24 * 60 * 60 * 1000);
|
|
269
|
+
const saved = await note.Save();
|
|
270
|
+
if (!saved) {
|
|
271
|
+
return {
|
|
272
|
+
disposition: 'error',
|
|
273
|
+
reason: `Failed to save memory: ${note.LatestResult?.CompleteMessage || 'unknown error'}`,
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
this.logVerbose(context, `wrote provisional note ${note.ID} (${request.type}, scope agent=${scope.agentId} user=${scope.userId || 'none'})`);
|
|
277
|
+
return {
|
|
278
|
+
disposition: 'written',
|
|
279
|
+
noteId: note.ID,
|
|
280
|
+
finalScope: scope,
|
|
281
|
+
reason: 'Memory recorded. It is active immediately and will be reviewed by the Memory Manager.',
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
/** Load an existing note entity by ID. Overridable seam for tests. */
|
|
285
|
+
async loadNote(noteId, context) {
|
|
286
|
+
const md = context.provider ?? new Metadata();
|
|
287
|
+
const note = await md.GetEntityObject('MJ: AI Agent Notes', context.contextUser);
|
|
288
|
+
const loaded = await note.Load(noteId);
|
|
289
|
+
return loaded ? note : null;
|
|
290
|
+
}
|
|
291
|
+
logVerbose(context, message) {
|
|
292
|
+
LogStatusEx({
|
|
293
|
+
message: `MemoryWriteManager: ${message}`,
|
|
294
|
+
verboseOnly: true,
|
|
295
|
+
isVerboseEnabled: () => context.verbose === true,
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
//# sourceMappingURL=MemoryWriteManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoryWriteManager.js","sourceRoot":"","sources":["../src/MemoryWriteManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -119,6 +119,15 @@ export declare class AgentContextInjector {
|
|
|
119
119
|
* Implements 8-level scoping hierarchy from most specific to least specific.
|
|
120
120
|
*/
|
|
121
121
|
private queryNotesWithScoping;
|
|
122
|
+
/**
|
|
123
|
+
* In-memory equivalent of the (removed) SQL `buildNotesScopingFilter`: filters the cached AgentNotes to
|
|
124
|
+
* those matching this request's scope. Mirrors {@link filterExamplesByScoping}. Each MJ-internal
|
|
125
|
+
* dimension (Agent/User/Company) matches the param value OR null when the param is provided, and MUST be
|
|
126
|
+
* null when the param is absent — exactly the union of the 8 priority levels the old SQL filter built.
|
|
127
|
+
* Multi-tenant secondary scoping reuses {@link matchesSecondaryScope} (the same matcher the examples path
|
|
128
|
+
* already uses), so notes and examples share one in-memory scoping definition.
|
|
129
|
+
*/
|
|
130
|
+
private filterNotesByScoping;
|
|
122
131
|
/**
|
|
123
132
|
* Query examples using multi-dimensional scoping priority
|
|
124
133
|
*/
|
|
@@ -184,10 +193,30 @@ export declare class AgentContextInjector {
|
|
|
184
193
|
* Format notes for injection into agent prompt.
|
|
185
194
|
* Includes memory policy explaining scope precedence for conflict resolution.
|
|
186
195
|
*
|
|
196
|
+
* Provisional notes (written in-flight by an agent, awaiting Memory Manager
|
|
197
|
+
* hardening) render in their own block FIRST and carry higher precedence
|
|
198
|
+
* under recency-wins semantics: a freshly stated preference must beat a
|
|
199
|
+
* months-old vetted one. The trust tradeoff is deliberate (PR #2761) and
|
|
200
|
+
* contained upstream by the write-path guards (descriptive types only,
|
|
201
|
+
* scope clamp, per-run cap, TTL).
|
|
202
|
+
*
|
|
187
203
|
* @param notes - Array of notes to format
|
|
188
204
|
* @param includeMemoryPolicy - Whether to include the memory policy preamble (default: true)
|
|
189
205
|
*/
|
|
190
206
|
FormatNotesForInjection(notes: MJAIAgentNoteEntity[], includeMemoryPolicy?: boolean): string;
|
|
207
|
+
/** Render one note (and its scope line) into the injection output. */
|
|
208
|
+
private appendNoteLines;
|
|
209
|
+
/**
|
|
210
|
+
* Compact recorded date for a note line ('YYYY-MM-DD', '' when missing) so
|
|
211
|
+
* the memory policy's "prefer the most recent" tiebreaker is actually
|
|
212
|
+
* resolvable by the model — contradictory notes can coexist between the
|
|
213
|
+
* hardening pass and the (less frequent) contradiction-resolution phase.
|
|
214
|
+
* Absolute dates (not "2 days ago") keep the rendered message byte-stable
|
|
215
|
+
* between note-set changes; the prompt's Current Date/Time block gives the
|
|
216
|
+
* model what it needs for recency arithmetic. Kept private to this single
|
|
217
|
+
* consumer — promote to @memberjunction/global if a second consumer appears.
|
|
218
|
+
*/
|
|
219
|
+
private formatNoteDate;
|
|
191
220
|
/**
|
|
192
221
|
* Determine multi-tenant secondary scope description for a note
|
|
193
222
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-context-injector.d.ts","sourceRoot":"","sources":["../src/agent-context-injector.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"agent-context-injector.d.ts","sourceRoot":"","sources":["../src/agent-context-injector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { LogError, LogStatus
|
|
1
|
+
import { LogError, LogStatus } from "@memberjunction/core";
|
|
2
2
|
import { UUIDsEqual } from "@memberjunction/global";
|
|
3
|
+
import { InjectableNoteStatusSQLList } from "@memberjunction/core-entities";
|
|
3
4
|
import { AIEngine } from "@memberjunction/aiengine";
|
|
4
5
|
import { RerankerService } from "@memberjunction/ai-reranker";
|
|
5
6
|
/**
|
|
@@ -114,24 +115,42 @@ export class AgentContextInjector {
|
|
|
114
115
|
* Implements 8-level scoping hierarchy from most specific to least specific.
|
|
115
116
|
*/
|
|
116
117
|
async queryNotesWithScoping(params) {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
OrderBy: orderBy,
|
|
124
|
-
IgnoreMaxRows: params.strategy !== 'Recent',
|
|
125
|
-
MaxRows: params.strategy === 'Recent' ? params.maxNotes : undefined,
|
|
126
|
-
ResultType: 'entity_object'
|
|
127
|
-
}, params.contextUser);
|
|
128
|
-
const notes = result.Success ? (result.Results || []) : [];
|
|
129
|
-
if (notes.length === 0) {
|
|
118
|
+
// Serve from the AIEngine cache (AgentNotes is loaded unfiltered as entity objects by AIEngineBase)
|
|
119
|
+
// and filter in-memory — mirrors queryExamplesWithScoping. The context injector runs on EVERY agent
|
|
120
|
+
// invocation, so a per-call RunView here is a redundant DB round-trip for an entity an engine already
|
|
121
|
+
// holds (flagged by the redundancy telemetry).
|
|
122
|
+
const filtered = this.filterNotesByScoping(AIEngine.Instance.AgentNotes, params);
|
|
123
|
+
if (filtered.length === 0) {
|
|
130
124
|
return [];
|
|
131
125
|
}
|
|
132
|
-
const sorted = this.sortNotes(
|
|
126
|
+
const sorted = this.sortNotes(filtered, params.strategy, AIEngine.Instance.AgentNoteTypes);
|
|
133
127
|
return sorted.slice(0, params.maxNotes);
|
|
134
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* In-memory equivalent of the (removed) SQL `buildNotesScopingFilter`: filters the cached AgentNotes to
|
|
131
|
+
* those matching this request's scope. Mirrors {@link filterExamplesByScoping}. Each MJ-internal
|
|
132
|
+
* dimension (Agent/User/Company) matches the param value OR null when the param is provided, and MUST be
|
|
133
|
+
* null when the param is absent — exactly the union of the 8 priority levels the old SQL filter built.
|
|
134
|
+
* Multi-tenant secondary scoping reuses {@link matchesSecondaryScope} (the same matcher the examples path
|
|
135
|
+
* already uses), so notes and examples share one in-memory scoping definition.
|
|
136
|
+
*/
|
|
137
|
+
filterNotesByScoping(notes, params) {
|
|
138
|
+
return notes.filter(note => {
|
|
139
|
+
if (note.Status !== 'Active') {
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
const agentOk = params.agentId ? (note.AgentID == null || UUIDsEqual(note.AgentID, params.agentId)) : note.AgentID == null;
|
|
143
|
+
const userOk = params.userId ? (note.UserID == null || UUIDsEqual(note.UserID, params.userId)) : note.UserID == null;
|
|
144
|
+
const companyOk = params.companyId ? (note.CompanyID == null || UUIDsEqual(note.CompanyID, params.companyId)) : note.CompanyID == null;
|
|
145
|
+
if (!(agentOk && userOk && companyOk)) {
|
|
146
|
+
return false;
|
|
147
|
+
}
|
|
148
|
+
if (params.primaryScopeRecordId || params.secondaryScopes) {
|
|
149
|
+
return this.matchesSecondaryScope(note, params.primaryScopeEntityId, params.primaryScopeRecordId, params.secondaryScopes, params.secondaryScopeConfig);
|
|
150
|
+
}
|
|
151
|
+
return true;
|
|
152
|
+
});
|
|
153
|
+
}
|
|
135
154
|
/**
|
|
136
155
|
* Query examples using multi-dimensional scoping priority
|
|
137
156
|
*/
|
|
@@ -151,7 +170,7 @@ export class AgentContextInjector {
|
|
|
151
170
|
* multi-tenant scoping (PrimaryScopeEntityID, PrimaryScopeRecordID, SecondaryScopes).
|
|
152
171
|
*/
|
|
153
172
|
buildNotesScopingFilter(params) {
|
|
154
|
-
const filters = [
|
|
173
|
+
const filters = [`Status IN (${InjectableNoteStatusSQLList()})`];
|
|
155
174
|
// Build MJ-internal scoping filter using OR conditions with priority
|
|
156
175
|
const scopeConditions = [];
|
|
157
176
|
// Priority 1: AgentID + UserID + CompanyID
|
|
@@ -495,6 +514,13 @@ export class AgentContextInjector {
|
|
|
495
514
|
* Format notes for injection into agent prompt.
|
|
496
515
|
* Includes memory policy explaining scope precedence for conflict resolution.
|
|
497
516
|
*
|
|
517
|
+
* Provisional notes (written in-flight by an agent, awaiting Memory Manager
|
|
518
|
+
* hardening) render in their own block FIRST and carry higher precedence
|
|
519
|
+
* under recency-wins semantics: a freshly stated preference must beat a
|
|
520
|
+
* months-old vetted one. The trust tradeoff is deliberate (PR #2761) and
|
|
521
|
+
* contained upstream by the write-path guards (descriptive types only,
|
|
522
|
+
* scope clamp, per-run cap, TTL).
|
|
523
|
+
*
|
|
498
524
|
* @param notes - Array of notes to format
|
|
499
525
|
* @param includeMemoryPolicy - Whether to include the memory policy preamble (default: true)
|
|
500
526
|
*/
|
|
@@ -506,34 +532,66 @@ export class AgentContextInjector {
|
|
|
506
532
|
if (includeMemoryPolicy) {
|
|
507
533
|
lines.push('<memory_policy>');
|
|
508
534
|
lines.push('Precedence (highest to lowest):');
|
|
509
|
-
lines.push('1)
|
|
510
|
-
lines.push('2)
|
|
511
|
-
lines.push('
|
|
512
|
-
lines.push('
|
|
535
|
+
lines.push('1) The current user message overrides all stored memory');
|
|
536
|
+
lines.push('2) Provisional notes (marked "(provisional)") are the newest signal — when a');
|
|
537
|
+
lines.push(' provisional note and an established note conflict on the same topic, follow');
|
|
538
|
+
lines.push(' the provisional one (recency wins)');
|
|
539
|
+
lines.push('3) User-specific notes override company-level');
|
|
540
|
+
lines.push('4) Company notes override global defaults');
|
|
541
|
+
lines.push('5) Within the same scope and status, prefer the most recent by recorded date (shown on each note)');
|
|
513
542
|
lines.push('');
|
|
514
543
|
lines.push('Conflict resolution:');
|
|
515
|
-
lines.push('-
|
|
544
|
+
lines.push('- Same level and neither provisional: prefer the more specific scope, then the more recent');
|
|
516
545
|
lines.push('- Ask clarifying question only if conflict materially affects response');
|
|
517
546
|
lines.push('</memory_policy>');
|
|
518
547
|
lines.push('');
|
|
519
548
|
}
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
lines.push(
|
|
524
|
-
|
|
525
|
-
const
|
|
526
|
-
|
|
527
|
-
lines.push(` Scope: ${secondaryScope}`);
|
|
528
|
-
}
|
|
529
|
-
else if (scope) {
|
|
530
|
-
lines.push(` Scope: ${scope}`);
|
|
549
|
+
const provisional = notes.filter(n => n.Status === 'Provisional');
|
|
550
|
+
const established = notes.filter(n => n.Status !== 'Provisional');
|
|
551
|
+
if (provisional.length > 0) {
|
|
552
|
+
lines.push(`📝 RECENT NOTES (${provisional.length} provisional — newest signal)`);
|
|
553
|
+
lines.push('');
|
|
554
|
+
for (const note of provisional) {
|
|
555
|
+
this.appendNoteLines(lines, note, true);
|
|
531
556
|
}
|
|
557
|
+
}
|
|
558
|
+
if (established.length > 0) {
|
|
559
|
+
lines.push(`📝 AGENT NOTES (${established.length})`);
|
|
532
560
|
lines.push('');
|
|
561
|
+
for (const note of established) {
|
|
562
|
+
this.appendNoteLines(lines, note, false);
|
|
563
|
+
}
|
|
533
564
|
}
|
|
534
565
|
lines.push('---');
|
|
535
566
|
return lines.join('\n');
|
|
536
567
|
}
|
|
568
|
+
/** Render one note (and its scope line) into the injection output. */
|
|
569
|
+
appendNoteLines(lines, note, provisional) {
|
|
570
|
+
const date = this.formatNoteDate(note);
|
|
571
|
+
lines.push(`[${note.Type}${date ? `, ${date}` : ''}]${provisional ? ' (provisional)' : ''} ${note.Note}`);
|
|
572
|
+
const scope = this.determineNoteScope(note);
|
|
573
|
+
const secondaryScope = this.determineSecondaryScope(note);
|
|
574
|
+
if (secondaryScope) {
|
|
575
|
+
lines.push(` Scope: ${secondaryScope}`);
|
|
576
|
+
}
|
|
577
|
+
else if (scope) {
|
|
578
|
+
lines.push(` Scope: ${scope}`);
|
|
579
|
+
}
|
|
580
|
+
lines.push('');
|
|
581
|
+
}
|
|
582
|
+
/**
|
|
583
|
+
* Compact recorded date for a note line ('YYYY-MM-DD', '' when missing) so
|
|
584
|
+
* the memory policy's "prefer the most recent" tiebreaker is actually
|
|
585
|
+
* resolvable by the model — contradictory notes can coexist between the
|
|
586
|
+
* hardening pass and the (less frequent) contradiction-resolution phase.
|
|
587
|
+
* Absolute dates (not "2 days ago") keep the rendered message byte-stable
|
|
588
|
+
* between note-set changes; the prompt's Current Date/Time block gives the
|
|
589
|
+
* model what it needs for recency arithmetic. Kept private to this single
|
|
590
|
+
* consumer — promote to @memberjunction/global if a second consumer appears.
|
|
591
|
+
*/
|
|
592
|
+
formatNoteDate(note) {
|
|
593
|
+
return note.__mj_CreatedAt ? new Date(note.__mj_CreatedAt).toISOString().slice(0, 10) : '';
|
|
594
|
+
}
|
|
537
595
|
/**
|
|
538
596
|
* Determine multi-tenant secondary scope description for a note
|
|
539
597
|
*/
|
|
@@ -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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"}
|