@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.
Files changed (80) hide show
  1. package/README.md +45 -0
  2. package/dist/AgentRunner.d.ts +5 -2
  3. package/dist/AgentRunner.d.ts.map +1 -1
  4. package/dist/AgentRunner.js +14 -4
  5. package/dist/AgentRunner.js.map +1 -1
  6. package/dist/MemoryWriteManager.d.ts +188 -0
  7. package/dist/MemoryWriteManager.d.ts.map +1 -0
  8. package/dist/MemoryWriteManager.js +299 -0
  9. package/dist/MemoryWriteManager.js.map +1 -0
  10. package/dist/agent-context-injector.d.ts +29 -0
  11. package/dist/agent-context-injector.d.ts.map +1 -1
  12. package/dist/agent-context-injector.js +90 -32
  13. package/dist/agent-context-injector.js.map +1 -1
  14. package/dist/agent-memory-context-builder.d.ts +100 -0
  15. package/dist/agent-memory-context-builder.d.ts.map +1 -0
  16. package/dist/agent-memory-context-builder.js +172 -0
  17. package/dist/agent-memory-context-builder.js.map +1 -0
  18. package/dist/agent-types/index.d.ts +1 -0
  19. package/dist/agent-types/index.d.ts.map +1 -1
  20. package/dist/agent-types/index.js +1 -0
  21. package/dist/agent-types/index.js.map +1 -1
  22. package/dist/agent-types/loop-agent-response-type.d.ts +12 -1
  23. package/dist/agent-types/loop-agent-response-type.d.ts.map +1 -1
  24. package/dist/agent-types/loop-agent-response-type.js.map +1 -1
  25. package/dist/agent-types/loop-agent-type.d.ts.map +1 -1
  26. package/dist/agent-types/loop-agent-type.js +4 -0
  27. package/dist/agent-types/loop-agent-type.js.map +1 -1
  28. package/dist/agent-types/realtime-agent-type.d.ts +146 -0
  29. package/dist/agent-types/realtime-agent-type.d.ts.map +1 -0
  30. package/dist/agent-types/realtime-agent-type.js +176 -0
  31. package/dist/agent-types/realtime-agent-type.js.map +1 -0
  32. package/dist/base-agent.d.ts +365 -24
  33. package/dist/base-agent.d.ts.map +1 -1
  34. package/dist/base-agent.js +995 -175
  35. package/dist/base-agent.js.map +1 -1
  36. package/dist/index.d.ts +11 -0
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +15 -0
  39. package/dist/index.js.map +1 -1
  40. package/dist/memory-manager-agent.d.ts +55 -2
  41. package/dist/memory-manager-agent.d.ts.map +1 -1
  42. package/dist/memory-manager-agent.js +261 -62
  43. package/dist/memory-manager-agent.js.map +1 -1
  44. package/dist/realtime/meeting-controls-channel-server.d.ts +198 -0
  45. package/dist/realtime/meeting-controls-channel-server.d.ts.map +1 -0
  46. package/dist/realtime/meeting-controls-channel-server.js +319 -0
  47. package/dist/realtime/meeting-controls-channel-server.js.map +1 -0
  48. package/dist/realtime/meeting-controls-state.d.ts +191 -0
  49. package/dist/realtime/meeting-controls-state.d.ts.map +1 -0
  50. package/dist/realtime/meeting-controls-state.js +219 -0
  51. package/dist/realtime/meeting-controls-state.js.map +1 -0
  52. package/dist/realtime/realtime-channel-server-host.d.ts +166 -0
  53. package/dist/realtime/realtime-channel-server-host.d.ts.map +1 -0
  54. package/dist/realtime/realtime-channel-server-host.js +378 -0
  55. package/dist/realtime/realtime-channel-server-host.js.map +1 -0
  56. package/dist/realtime/realtime-client-session-service.d.ts +884 -0
  57. package/dist/realtime/realtime-client-session-service.d.ts.map +1 -0
  58. package/dist/realtime/realtime-client-session-service.js +1401 -0
  59. package/dist/realtime/realtime-client-session-service.js.map +1 -0
  60. package/dist/realtime/realtime-coagent-config.d.ts +202 -0
  61. package/dist/realtime/realtime-coagent-config.d.ts.map +1 -0
  62. package/dist/realtime/realtime-coagent-config.js +334 -0
  63. package/dist/realtime/realtime-coagent-config.js.map +1 -0
  64. package/dist/realtime/realtime-narration.d.ts +67 -0
  65. package/dist/realtime/realtime-narration.d.ts.map +1 -0
  66. package/dist/realtime/realtime-narration.js +127 -0
  67. package/dist/realtime/realtime-narration.js.map +1 -0
  68. package/dist/realtime/realtime-session-runner.d.ts +383 -0
  69. package/dist/realtime/realtime-session-runner.d.ts.map +1 -0
  70. package/dist/realtime/realtime-session-runner.js +532 -0
  71. package/dist/realtime/realtime-session-runner.js.map +1 -0
  72. package/dist/realtime/realtime-tool-broker.d.ts +279 -0
  73. package/dist/realtime/realtime-tool-broker.d.ts.map +1 -0
  74. package/dist/realtime/realtime-tool-broker.js +184 -0
  75. package/dist/realtime/realtime-tool-broker.js.map +1 -0
  76. package/dist/realtime/whiteboard-channel-server.d.ts +50 -0
  77. package/dist/realtime/whiteboard-channel-server.d.ts.map +1 -0
  78. package/dist/realtime/whiteboard-channel-server.js +85 -0
  79. package/dist/realtime/whiteboard-channel-server.js.map +1 -0
  80. 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":"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"}
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, RunView } from "@memberjunction/core";
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
- const filter = this.buildNotesScopingFilter(params);
118
- const orderBy = '__mj_CreatedAt DESC';
119
- const rv = new RunView();
120
- const result = await rv.RunView({
121
- EntityName: 'MJ: AI Agent Notes',
122
- ExtraFilter: filter,
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(notes, params.strategy, AIEngine.Instance.AgentNoteTypes);
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 = ['Status = \'Active\''];
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) Current user message overrides all stored memory');
510
- lines.push('2) User-specific notes override company-level');
511
- lines.push('3) Company notes override global defaults');
512
- lines.push('4) When same scope, prefer most recent by date');
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('- If two notes contradict, prefer the more specific scope');
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
- lines.push(`📝 AGENT NOTES (${notes.length})`);
521
- lines.push('');
522
- for (const note of notes) {
523
- lines.push(`[${note.Type}] ${note.Note}`);
524
- const scope = this.determineNoteScope(note);
525
- const secondaryScope = this.determineSecondaryScope(note);
526
- if (secondaryScope) {
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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"}