@framers/agentos 0.1.71 → 0.1.72
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 +74 -1
- package/dist/api/AgentOS.d.ts +65 -4
- package/dist/api/AgentOS.d.ts.map +1 -1
- package/dist/api/AgentOS.js +103 -0
- package/dist/api/AgentOS.js.map +1 -1
- package/dist/api/generateImage.d.ts +1 -29
- package/dist/api/generateImage.d.ts.map +1 -1
- package/dist/api/generateImage.js +32 -5
- package/dist/api/generateImage.js.map +1 -1
- package/dist/api/interfaces/IAgentOS.d.ts +18 -1
- package/dist/api/interfaces/IAgentOS.d.ts.map +1 -1
- package/dist/cognitive_substrate/GMI.d.ts +12 -0
- package/dist/cognitive_substrate/GMI.d.ts.map +1 -1
- package/dist/cognitive_substrate/GMI.js +134 -4
- package/dist/cognitive_substrate/GMI.js.map +1 -1
- package/dist/cognitive_substrate/GMIManager.d.ts +16 -0
- package/dist/cognitive_substrate/GMIManager.d.ts.map +1 -1
- package/dist/cognitive_substrate/GMIManager.js +25 -2
- package/dist/cognitive_substrate/GMIManager.js.map +1 -1
- package/dist/cognitive_substrate/IGMI.d.ts +2 -0
- package/dist/cognitive_substrate/IGMI.d.ts.map +1 -1
- package/dist/core/images/IImageProvider.d.ts +120 -0
- package/dist/core/images/IImageProvider.d.ts.map +1 -0
- package/dist/core/images/IImageProvider.js +71 -0
- package/dist/core/images/IImageProvider.js.map +1 -0
- package/dist/core/images/index.d.ts +13 -0
- package/dist/core/images/index.d.ts.map +1 -0
- package/dist/core/images/index.js +35 -0
- package/dist/core/images/index.js.map +1 -0
- package/dist/core/images/providers/OpenAIImageProvider.d.ts +17 -0
- package/dist/core/images/providers/OpenAIImageProvider.d.ts.map +1 -0
- package/dist/core/images/providers/OpenAIImageProvider.js +110 -0
- package/dist/core/images/providers/OpenAIImageProvider.js.map +1 -0
- package/dist/core/images/providers/OpenRouterImageProvider.d.ts +18 -0
- package/dist/core/images/providers/OpenRouterImageProvider.d.ts.map +1 -0
- package/dist/core/images/providers/OpenRouterImageProvider.js +111 -0
- package/dist/core/images/providers/OpenRouterImageProvider.js.map +1 -0
- package/dist/core/images/providers/ReplicateImageProvider.d.ts +18 -0
- package/dist/core/images/providers/ReplicateImageProvider.d.ts.map +1 -0
- package/dist/core/images/providers/ReplicateImageProvider.js +177 -0
- package/dist/core/images/providers/ReplicateImageProvider.js.map +1 -0
- package/dist/core/images/providers/StabilityImageProvider.d.ts +16 -0
- package/dist/core/images/providers/StabilityImageProvider.d.ts.map +1 -0
- package/dist/core/images/providers/StabilityImageProvider.js +195 -0
- package/dist/core/images/providers/StabilityImageProvider.js.map +1 -0
- package/dist/core/llm/providers/implementations/OllamaProvider.d.ts.map +1 -1
- package/dist/core/llm/providers/implementations/OllamaProvider.js +26 -2
- package/dist/core/llm/providers/implementations/OllamaProvider.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/memory/CognitiveMemoryManager.d.ts +16 -0
- package/dist/memory/CognitiveMemoryManager.d.ts.map +1 -1
- package/dist/memory/CognitiveMemoryManager.js.map +1 -1
- package/dist/memory/store/MemoryStore.d.ts +9 -0
- package/dist/memory/store/MemoryStore.d.ts.map +1 -1
- package/dist/memory/store/MemoryStore.js +33 -0
- package/dist/memory/store/MemoryStore.js.map +1 -1
- package/package.json +6 -1
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* dispatches the request to the appropriate image provider implementation
|
|
7
7
|
* (e.g. OpenAI DALL-E, Stability AI, Replicate).
|
|
8
8
|
*/
|
|
9
|
+
import { createImageProvider } from '../core/images/index.js';
|
|
9
10
|
import { parseModelString, resolveMediaProvider } from './model.js';
|
|
10
11
|
/**
|
|
11
12
|
* Generates one or more images using a provider-agnostic `provider:model` string.
|
|
@@ -32,10 +33,36 @@ export async function generateImage(opts) {
|
|
|
32
33
|
apiKey: opts.apiKey,
|
|
33
34
|
baseUrl: opts.baseUrl,
|
|
34
35
|
});
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
const provider = createImageProvider(resolved.providerId);
|
|
37
|
+
await provider.initialize({
|
|
38
|
+
apiKey: resolved.apiKey,
|
|
39
|
+
baseURL: resolved.baseUrl,
|
|
40
|
+
defaultModelId: resolved.modelId,
|
|
41
|
+
});
|
|
42
|
+
const result = await provider.generateImage({
|
|
43
|
+
modelId: resolved.modelId,
|
|
44
|
+
prompt: opts.prompt,
|
|
45
|
+
modalities: opts.modalities,
|
|
46
|
+
n: opts.n,
|
|
47
|
+
size: opts.size,
|
|
48
|
+
aspectRatio: opts.aspectRatio,
|
|
49
|
+
quality: opts.quality,
|
|
50
|
+
background: opts.background,
|
|
51
|
+
outputFormat: opts.outputFormat,
|
|
52
|
+
outputCompression: opts.outputCompression,
|
|
53
|
+
responseFormat: opts.responseFormat,
|
|
54
|
+
userId: opts.userId,
|
|
55
|
+
seed: opts.seed,
|
|
56
|
+
negativePrompt: opts.negativePrompt,
|
|
57
|
+
providerOptions: opts.providerOptions,
|
|
58
|
+
});
|
|
59
|
+
return {
|
|
60
|
+
model: result.modelId,
|
|
61
|
+
provider: result.providerId,
|
|
62
|
+
created: result.created,
|
|
63
|
+
text: result.text,
|
|
64
|
+
images: result.images,
|
|
65
|
+
usage: result.usage,
|
|
66
|
+
};
|
|
40
67
|
}
|
|
41
68
|
//# sourceMappingURL=generateImage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateImage.js","sourceRoot":"","sources":["../../src/api/generateImage.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AA+
|
|
1
|
+
{"version":3,"file":"generateImage.js","sourceRoot":"","sources":["../../src/api/generateImage.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAU9D,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AA+DpE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAA0B;IAC5D,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,UAAU,EAAE,OAAO,EAAE;QACzD,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC1D,MAAM,QAAQ,CAAC,UAAU,CAAC;QACxB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,cAAc,EAAE,QAAQ,CAAC,OAAO;KACjC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC;QAC1C,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,eAAe,EAAE,IAAI,CAAC,eAAe;KACtC,CAAC,CAAC;IAEH,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,OAAO;QACrB,QAAQ,EAAE,MAAM,CAAC,UAAU;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;AACJ,CAAC"}
|
|
@@ -10,9 +10,14 @@ import { AgentOSInput, UserFeedbackPayload } from '../types/AgentOSInput';
|
|
|
10
10
|
import { AgentOSResponse } from '../types/AgentOSResponse';
|
|
11
11
|
import { IPersonaDefinition } from '../../cognitive_substrate/personas/IPersonaDefinition';
|
|
12
12
|
import { ConversationContext } from '../../core/conversation/ConversationContext';
|
|
13
|
-
import { AgentOSConfig } from '../AgentOS';
|
|
13
|
+
import type { AgentOSConfig, AgentOSRuntimeSnapshot } from '../AgentOS';
|
|
14
14
|
import type { WorkflowDefinition, WorkflowInstance, WorkflowProgressUpdate, WorkflowStatus } from '../../core/workflows/WorkflowTypes';
|
|
15
15
|
import type { WorkflowQueryOptions, WorkflowTaskUpdate } from '../../core/workflows/storage/IWorkflowStore';
|
|
16
|
+
import type { ConversationManager } from '../../core/conversation/ConversationManager';
|
|
17
|
+
import type { GMIManager } from '../../cognitive_substrate/GMIManager';
|
|
18
|
+
import type { ExtensionManager } from '../../extensions';
|
|
19
|
+
import type { IToolOrchestrator } from '../../core/tools/IToolOrchestrator';
|
|
20
|
+
import type { AIModelProviderManager } from '../../core/llm/providers/AIModelProviderManager';
|
|
16
21
|
/**
|
|
17
22
|
* @interface IAgentOS
|
|
18
23
|
* @description
|
|
@@ -118,6 +123,18 @@ export interface IAgentOS {
|
|
|
118
123
|
* @throws {Error} If AgentOS is not initialized or if a database error occurs.
|
|
119
124
|
*/
|
|
120
125
|
getConversationHistory(conversationId: string, userId: string): Promise<ConversationContext | null>;
|
|
126
|
+
/**
|
|
127
|
+
* Returns a serializable runtime/devtools snapshot of the initialized AgentOS instance.
|
|
128
|
+
*/
|
|
129
|
+
getRuntimeSnapshot(): Promise<AgentOSRuntimeSnapshot>;
|
|
130
|
+
/**
|
|
131
|
+
* Explicit runtime getters for devtools integrations such as AgentOS Workbench.
|
|
132
|
+
*/
|
|
133
|
+
getConversationManager(): ConversationManager;
|
|
134
|
+
getGMIManager(): GMIManager;
|
|
135
|
+
getExtensionManager(): ExtensionManager;
|
|
136
|
+
getToolOrchestrator(): IToolOrchestrator;
|
|
137
|
+
getModelProviderManager(): AIModelProviderManager;
|
|
121
138
|
/**
|
|
122
139
|
* Receives and processes explicit user feedback.
|
|
123
140
|
* @param {string} userId - The ID of the user providing feedback.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IAgentOS.d.ts","sourceRoot":"","sources":["../../../src/api/interfaces/IAgentOS.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"IAgentOS.d.ts","sourceRoot":"","sources":["../../../src/api/interfaces/IAgentOS.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import { IGMI, GMIBaseConfig, GMITurnInput, GMIOutputChunk, GMIPrimeState, ReasoningTrace, GMIHealthReport, MemoryLifecycleEvent, LifecycleActionResponse, ToolResultPayload, GMIOutput } from './IGMI';
|
|
15
15
|
import { IPersonaDefinition } from './personas/IPersonaDefinition';
|
|
16
|
+
import type { ICognitiveMemoryManager } from '../memory/CognitiveMemoryManager.js';
|
|
16
17
|
/**
|
|
17
18
|
* @class GMI
|
|
18
19
|
* @implements {IGMI}
|
|
@@ -30,6 +31,7 @@ export declare class GMI implements IGMI {
|
|
|
30
31
|
private toolOrchestrator;
|
|
31
32
|
private llmProviderManager;
|
|
32
33
|
private utilityAI;
|
|
34
|
+
private cognitiveMemory?;
|
|
33
35
|
private state;
|
|
34
36
|
private isInitialized;
|
|
35
37
|
private currentGmiMood;
|
|
@@ -75,11 +77,21 @@ export declare class GMI implements IGMI {
|
|
|
75
77
|
getCurrentState(): GMIPrimeState;
|
|
76
78
|
/** @inheritdoc */
|
|
77
79
|
getReasoningTrace(): Readonly<ReasoningTrace>;
|
|
80
|
+
/** @inheritdoc */
|
|
81
|
+
getWorkingMemorySnapshot(): Promise<Record<string, any>>;
|
|
82
|
+
/** @inheritdoc */
|
|
83
|
+
getCognitiveMemoryManager(): ICognitiveMemoryManager | undefined;
|
|
78
84
|
/**
|
|
79
85
|
* Adds an entry to the GMI's reasoning trace.
|
|
80
86
|
* @private
|
|
81
87
|
*/
|
|
82
88
|
private addTraceEntry;
|
|
89
|
+
private getCurrentPadState;
|
|
90
|
+
private stringifyTurnContent;
|
|
91
|
+
private buildMemoryTags;
|
|
92
|
+
private assembleCognitiveMemoryContext;
|
|
93
|
+
private encodeCognitiveMemory;
|
|
94
|
+
private syncCognitiveMemoryForTurn;
|
|
83
95
|
/**
|
|
84
96
|
* Ensures the GMI is initialized and in a READY state.
|
|
85
97
|
* @private
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GMI.d.ts","sourceRoot":"","sources":["../../src/cognitive_substrate/GMI.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EACL,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,cAAc,EAEd,aAAa,EAIb,cAAc,EAGd,eAAe,EACf,oBAAoB,EACpB,uBAAuB,EAKvB,iBAAiB,EACjB,SAAS,EAIV,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,kBAAkB,EAEnB,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"GMI.d.ts","sourceRoot":"","sources":["../../src/cognitive_substrate/GMI.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,6 +70,7 @@ export class GMI {
|
|
|
70
70
|
this.toolOrchestrator = config.toolOrchestrator;
|
|
71
71
|
this.llmProviderManager = config.llmProviderManager;
|
|
72
72
|
this.utilityAI = config.utilityAI;
|
|
73
|
+
this.cognitiveMemory = config.cognitiveMemory;
|
|
73
74
|
this.reasoningTrace.personaId = this.activePersona.id;
|
|
74
75
|
await this.workingMemory.initialize(this.gmiId, this.activePersona.customFields?.defaultWorkingMemoryConfig || {});
|
|
75
76
|
this.addTraceEntry(ReasoningEntryType.LIFECYCLE, 'GMI Initializing with Persona and Config.', { personaId: persona.id });
|
|
@@ -178,6 +179,14 @@ export class GMI {
|
|
|
178
179
|
getReasoningTrace() {
|
|
179
180
|
return JSON.parse(JSON.stringify(this.reasoningTrace));
|
|
180
181
|
}
|
|
182
|
+
/** @inheritdoc */
|
|
183
|
+
async getWorkingMemorySnapshot() {
|
|
184
|
+
return this.workingMemory.getAll();
|
|
185
|
+
}
|
|
186
|
+
/** @inheritdoc */
|
|
187
|
+
getCognitiveMemoryManager() {
|
|
188
|
+
return this.cognitiveMemory;
|
|
189
|
+
}
|
|
181
190
|
/**
|
|
182
191
|
* Adds an entry to the GMI's reasoning trace.
|
|
183
192
|
* @private
|
|
@@ -194,6 +203,111 @@ export class GMI {
|
|
|
194
203
|
};
|
|
195
204
|
this.reasoningTrace.entries.push(entry);
|
|
196
205
|
}
|
|
206
|
+
getCurrentPadState() {
|
|
207
|
+
switch (this.currentGmiMood) {
|
|
208
|
+
case GMIMood.EMPATHETIC:
|
|
209
|
+
return { valence: 0.55, arousal: 0.15, dominance: 0.25 };
|
|
210
|
+
case GMIMood.CURIOUS:
|
|
211
|
+
return { valence: 0.35, arousal: 0.45, dominance: 0.15 };
|
|
212
|
+
case GMIMood.ASSERTIVE:
|
|
213
|
+
return { valence: 0.15, arousal: 0.35, dominance: 0.7 };
|
|
214
|
+
case GMIMood.ANALYTICAL:
|
|
215
|
+
return { valence: 0.1, arousal: -0.1, dominance: 0.45 };
|
|
216
|
+
case GMIMood.FOCUSED:
|
|
217
|
+
return { valence: 0.2, arousal: 0.1, dominance: 0.55 };
|
|
218
|
+
case GMIMood.FRUSTRATED:
|
|
219
|
+
return { valence: -0.65, arousal: 0.6, dominance: 0.2 };
|
|
220
|
+
case GMIMood.CREATIVE:
|
|
221
|
+
return { valence: 0.45, arousal: 0.35, dominance: 0.35 };
|
|
222
|
+
case GMIMood.NEUTRAL:
|
|
223
|
+
default:
|
|
224
|
+
return { valence: 0, arousal: 0, dominance: 0 };
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
stringifyTurnContent(content) {
|
|
228
|
+
if (typeof content === 'string') {
|
|
229
|
+
const trimmed = content.trim();
|
|
230
|
+
return trimmed ? trimmed : null;
|
|
231
|
+
}
|
|
232
|
+
try {
|
|
233
|
+
const serialized = JSON.stringify(content);
|
|
234
|
+
return serialized && serialized !== 'null' ? serialized : null;
|
|
235
|
+
}
|
|
236
|
+
catch {
|
|
237
|
+
return null;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
buildMemoryTags(role) {
|
|
241
|
+
const tags = [
|
|
242
|
+
role,
|
|
243
|
+
this.activePersona?.id,
|
|
244
|
+
this.currentUserContext?.userId,
|
|
245
|
+
this.currentTaskContext?.domain,
|
|
246
|
+
].filter((value) => typeof value === 'string' && value.trim().length > 0);
|
|
247
|
+
return Array.from(new Set(tags));
|
|
248
|
+
}
|
|
249
|
+
async assembleCognitiveMemoryContext(query) {
|
|
250
|
+
if (!this.cognitiveMemory || !query.trim()) {
|
|
251
|
+
return null;
|
|
252
|
+
}
|
|
253
|
+
try {
|
|
254
|
+
const context = await this.cognitiveMemory.assembleForPrompt(query, 1600, this.getCurrentPadState());
|
|
255
|
+
if (context.contextText.trim()) {
|
|
256
|
+
this.addTraceEntry(ReasoningEntryType.DEBUG, 'Cognitive memory context assembled.', {
|
|
257
|
+
tokensUsed: context.tokensUsed,
|
|
258
|
+
includedMemoryIds: context.includedMemoryIds,
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
return context;
|
|
262
|
+
}
|
|
263
|
+
catch (error) {
|
|
264
|
+
this.addTraceEntry(ReasoningEntryType.WARNING, 'Cognitive memory assembly failed.', {
|
|
265
|
+
error: error?.message ?? String(error),
|
|
266
|
+
});
|
|
267
|
+
return null;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
async encodeCognitiveMemory(content, options) {
|
|
271
|
+
if (!this.cognitiveMemory || !content.trim()) {
|
|
272
|
+
return;
|
|
273
|
+
}
|
|
274
|
+
try {
|
|
275
|
+
await this.cognitiveMemory.observe?.(options.role, content, this.getCurrentPadState());
|
|
276
|
+
await this.cognitiveMemory.encode(content, this.getCurrentPadState(), this.currentGmiMood, {
|
|
277
|
+
type: options.type,
|
|
278
|
+
scope: 'user',
|
|
279
|
+
scopeId: options.scopeId ?? this.currentUserContext.userId ?? this.gmiId,
|
|
280
|
+
sourceType: options.sourceType,
|
|
281
|
+
tags: this.buildMemoryTags(options.role),
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
catch (error) {
|
|
285
|
+
this.addTraceEntry(ReasoningEntryType.WARNING, 'Cognitive memory encoding failed.', {
|
|
286
|
+
role: options.role,
|
|
287
|
+
error: error?.message ?? String(error),
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
async syncCognitiveMemoryForTurn(turnInput, responseText) {
|
|
292
|
+
const inputText = this.stringifyTurnContent(turnInput.content);
|
|
293
|
+
if (inputText && (turnInput.type === GMIInteractionType.TEXT ||
|
|
294
|
+
turnInput.type === GMIInteractionType.MULTIMODAL_CONTENT)) {
|
|
295
|
+
await this.encodeCognitiveMemory(inputText, {
|
|
296
|
+
type: 'episodic',
|
|
297
|
+
sourceType: 'user_statement',
|
|
298
|
+
scopeId: this.currentUserContext.userId,
|
|
299
|
+
role: 'user',
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
if (responseText.trim()) {
|
|
303
|
+
await this.encodeCognitiveMemory(responseText, {
|
|
304
|
+
type: 'semantic',
|
|
305
|
+
sourceType: 'agent_inference',
|
|
306
|
+
scopeId: turnInput.sessionId ?? this.currentUserContext.userId ?? this.gmiId,
|
|
307
|
+
role: 'assistant',
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
}
|
|
197
311
|
/**
|
|
198
312
|
* Ensures the GMI is initialized and in a READY state.
|
|
199
313
|
* @private
|
|
@@ -425,10 +539,16 @@ export class GMI {
|
|
|
425
539
|
const injectedLongTermMemoryContext = typeof turnInput.metadata?.longTermMemoryContext === 'string'
|
|
426
540
|
? turnInput.metadata.longTermMemoryContext.trim()
|
|
427
541
|
: "";
|
|
542
|
+
let assembledMemoryContext = null;
|
|
428
543
|
const lastMessage = this.conversationHistory.length > 0 ? this.conversationHistory[this.conversationHistory.length - 1] : null;
|
|
429
544
|
const isUserInitiatedTurn = lastMessage?.role === 'user';
|
|
545
|
+
const currentTurnText = isUserInitiatedTurn && lastMessage?.content
|
|
546
|
+
? (typeof lastMessage.content === 'string'
|
|
547
|
+
? lastMessage.content
|
|
548
|
+
: JSON.stringify(lastMessage.content))
|
|
549
|
+
: '';
|
|
430
550
|
if (this.retrievalAugmentor && this.activePersona.memoryConfig?.ragConfig?.enabled && isUserInitiatedTurn && lastMessage?.content) {
|
|
431
|
-
const currentQueryForRag =
|
|
551
|
+
const currentQueryForRag = currentTurnText;
|
|
432
552
|
if (this.shouldTriggerRAGRetrieval(currentQueryForRag)) {
|
|
433
553
|
this.addTraceEntry(ReasoningEntryType.RAG_QUERY_START, "RAG retrieval triggered.", { queryPreview: currentQueryForRag.substring(0, 100) });
|
|
434
554
|
const retrievalOptions = {
|
|
@@ -441,6 +561,9 @@ export class GMI {
|
|
|
441
561
|
this.addTraceEntry(ReasoningEntryType.RAG_QUERY_RESULT, 'RAG context retrieved.', { length: augmentedContextFromRAG.length });
|
|
442
562
|
}
|
|
443
563
|
}
|
|
564
|
+
if (isUserInitiatedTurn && currentTurnText) {
|
|
565
|
+
assembledMemoryContext = await this.assembleCognitiveMemoryContext(currentTurnText);
|
|
566
|
+
}
|
|
444
567
|
const promptExecContext = this.buildPromptExecutionContext();
|
|
445
568
|
const baseSystemPrompts = Array.isArray(this.activePersona.baseSystemPrompt)
|
|
446
569
|
? this.activePersona.baseSystemPrompt
|
|
@@ -483,8 +606,13 @@ export class GMI {
|
|
|
483
606
|
const promptComponents = {
|
|
484
607
|
systemPrompts,
|
|
485
608
|
conversationHistory: durableHistoryForPrompt ?? this.buildConversationHistoryForPrompt(),
|
|
486
|
-
userInput: isUserInitiatedTurn
|
|
487
|
-
retrievedContext: [
|
|
609
|
+
userInput: isUserInitiatedTurn ? currentTurnText : null,
|
|
610
|
+
retrievedContext: [
|
|
611
|
+
assembledMemoryContext?.contextText,
|
|
612
|
+
augmentedContextFromRAG,
|
|
613
|
+
injectedLongTermMemoryContext,
|
|
614
|
+
].filter(Boolean).join("\n\n---\n\n"),
|
|
615
|
+
assembledMemoryContext: assembledMemoryContext ?? undefined,
|
|
488
616
|
// tools: this.activePersona.embeddedTools, // If ITool[] and PromptComponents.tools takes ITool[]
|
|
489
617
|
};
|
|
490
618
|
const preferredModelIdFromInput = turnInput.metadata?.options?.preferredModelId;
|
|
@@ -628,7 +756,8 @@ export class GMI {
|
|
|
628
756
|
}
|
|
629
757
|
break main_processing_loop; // Break if no tool calls
|
|
630
758
|
}
|
|
631
|
-
await this.
|
|
759
|
+
await this.syncCognitiveMemoryForTurn(turnInput, aggregatedResponseText);
|
|
760
|
+
await this.performPostTurnIngestion(this.stringifyTurnContent(turnInput.content) ?? '', aggregatedResponseText);
|
|
632
761
|
// Check and trigger all metaprompts (turn_interval, event_based, manual)
|
|
633
762
|
await this.checkAndTriggerMetaprompts(turnId);
|
|
634
763
|
// Prepare the final GMIOutput for the generator's return value
|
|
@@ -1683,6 +1812,7 @@ export class GMI {
|
|
|
1683
1812
|
this.state = GMIPrimeState.SHUTTING_DOWN;
|
|
1684
1813
|
this.addTraceEntry(ReasoningEntryType.LIFECYCLE, "GMI shutting down.");
|
|
1685
1814
|
try {
|
|
1815
|
+
await this.cognitiveMemory?.shutdown?.();
|
|
1686
1816
|
await this.workingMemory?.close?.();
|
|
1687
1817
|
// Shared dependencies (tool orchestrator, retrieval augmentor, utility AI, etc.) are owned by
|
|
1688
1818
|
// the host (AgentOS/GMIManager) and may be shared across GMIs. Do not shut them down here,
|