@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.
Files changed (60) hide show
  1. package/README.md +74 -1
  2. package/dist/api/AgentOS.d.ts +65 -4
  3. package/dist/api/AgentOS.d.ts.map +1 -1
  4. package/dist/api/AgentOS.js +103 -0
  5. package/dist/api/AgentOS.js.map +1 -1
  6. package/dist/api/generateImage.d.ts +1 -29
  7. package/dist/api/generateImage.d.ts.map +1 -1
  8. package/dist/api/generateImage.js +32 -5
  9. package/dist/api/generateImage.js.map +1 -1
  10. package/dist/api/interfaces/IAgentOS.d.ts +18 -1
  11. package/dist/api/interfaces/IAgentOS.d.ts.map +1 -1
  12. package/dist/cognitive_substrate/GMI.d.ts +12 -0
  13. package/dist/cognitive_substrate/GMI.d.ts.map +1 -1
  14. package/dist/cognitive_substrate/GMI.js +134 -4
  15. package/dist/cognitive_substrate/GMI.js.map +1 -1
  16. package/dist/cognitive_substrate/GMIManager.d.ts +16 -0
  17. package/dist/cognitive_substrate/GMIManager.d.ts.map +1 -1
  18. package/dist/cognitive_substrate/GMIManager.js +25 -2
  19. package/dist/cognitive_substrate/GMIManager.js.map +1 -1
  20. package/dist/cognitive_substrate/IGMI.d.ts +2 -0
  21. package/dist/cognitive_substrate/IGMI.d.ts.map +1 -1
  22. package/dist/core/images/IImageProvider.d.ts +120 -0
  23. package/dist/core/images/IImageProvider.d.ts.map +1 -0
  24. package/dist/core/images/IImageProvider.js +71 -0
  25. package/dist/core/images/IImageProvider.js.map +1 -0
  26. package/dist/core/images/index.d.ts +13 -0
  27. package/dist/core/images/index.d.ts.map +1 -0
  28. package/dist/core/images/index.js +35 -0
  29. package/dist/core/images/index.js.map +1 -0
  30. package/dist/core/images/providers/OpenAIImageProvider.d.ts +17 -0
  31. package/dist/core/images/providers/OpenAIImageProvider.d.ts.map +1 -0
  32. package/dist/core/images/providers/OpenAIImageProvider.js +110 -0
  33. package/dist/core/images/providers/OpenAIImageProvider.js.map +1 -0
  34. package/dist/core/images/providers/OpenRouterImageProvider.d.ts +18 -0
  35. package/dist/core/images/providers/OpenRouterImageProvider.d.ts.map +1 -0
  36. package/dist/core/images/providers/OpenRouterImageProvider.js +111 -0
  37. package/dist/core/images/providers/OpenRouterImageProvider.js.map +1 -0
  38. package/dist/core/images/providers/ReplicateImageProvider.d.ts +18 -0
  39. package/dist/core/images/providers/ReplicateImageProvider.d.ts.map +1 -0
  40. package/dist/core/images/providers/ReplicateImageProvider.js +177 -0
  41. package/dist/core/images/providers/ReplicateImageProvider.js.map +1 -0
  42. package/dist/core/images/providers/StabilityImageProvider.d.ts +16 -0
  43. package/dist/core/images/providers/StabilityImageProvider.d.ts.map +1 -0
  44. package/dist/core/images/providers/StabilityImageProvider.js +195 -0
  45. package/dist/core/images/providers/StabilityImageProvider.js.map +1 -0
  46. package/dist/core/llm/providers/implementations/OllamaProvider.d.ts.map +1 -1
  47. package/dist/core/llm/providers/implementations/OllamaProvider.js +26 -2
  48. package/dist/core/llm/providers/implementations/OllamaProvider.js.map +1 -1
  49. package/dist/index.d.ts +1 -0
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +2 -1
  52. package/dist/index.js.map +1 -1
  53. package/dist/memory/CognitiveMemoryManager.d.ts +16 -0
  54. package/dist/memory/CognitiveMemoryManager.d.ts.map +1 -1
  55. package/dist/memory/CognitiveMemoryManager.js.map +1 -1
  56. package/dist/memory/store/MemoryStore.d.ts +9 -0
  57. package/dist/memory/store/MemoryStore.d.ts.map +1 -1
  58. package/dist/memory/store/MemoryStore.js +33 -0
  59. package/dist/memory/store/MemoryStore.js.map +1 -1
  60. 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
- // TODO: Wire to core/images/ module once implemented.
36
- // For now, throw a descriptive error so callers know the provider layer isn't ready.
37
- throw new Error(`generateImage() is not yet wired to a provider backend. ` +
38
- `Resolved: ${resolved.providerId}:${resolved.modelId}. ` +
39
- `The core/images/ module needs to be implemented first.`);
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+EpE;;;;;;;;;;;;;;;;;;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,sDAAsD;IACtD,qFAAqF;IACrF,MAAM,IAAI,KAAK,CACb,0DAA0D;QAC1D,aAAa,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,OAAO,IAAI;QACxD,wDAAwD,CACzD,CAAC;AACJ,CAAC"}
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":"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"}
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,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAC5G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AAE9F;;;;;;;GAOG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;;OAKG;IACH,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjD;;;;;;OAMG;IACH,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,cAAc,CAAC,eAAe,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAEtF;;;;;;;;;;;OAWG;IACH,gBAAgB,CACd,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,GAAG,EACf,SAAS,EAAE,OAAO,EAClB,YAAY,CAAC,EAAE,MAAM,GACpB,cAAc,CAAC,eAAe,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAEpD;;;OAGG;IACH,uBAAuB,IAAI,kBAAkB,EAAE,CAAC;IAEhD;;;;;;OAMG;IACH,aAAa,CACX,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,YAAY,EACnB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GACA,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE7B;;;;OAIG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAElE;;;;OAIG;IACH,aAAa,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAE3E;;;;;OAKG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;IAEzG;;;;;OAKG;IACH,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAEnG;;;;;OAKG;IACH,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAE9G;;;;;OAKG;IACH,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAE/E;;;;;;OAMG;IACH,sBAAsB,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IAEpG;;OAEG;IACH,kBAAkB,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAEtD;;OAEG;IACH,sBAAsB,IAAI,mBAAmB,CAAC;IAC9C,aAAa,IAAI,UAAU,CAAC;IAC5B,mBAAmB,IAAI,gBAAgB,CAAC;IACxC,mBAAmB,IAAI,iBAAiB,CAAC;IACzC,uBAAuB,IAAI,sBAAsB,CAAC;IAElD;;;;;;;;OAQG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3H;;;;OAIG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B"}
@@ -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":"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"}
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 = typeof lastMessage.content === 'string' ? lastMessage.content : JSON.stringify(lastMessage.content);
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 && typeof lastMessage?.content === 'string' ? lastMessage.content : null,
487
- retrievedContext: [augmentedContextFromRAG, injectedLongTermMemoryContext].filter(Boolean).join("\n\n---\n\n"),
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.performPostTurnIngestion(typeof turnInput.content === 'string' ? turnInput.content : JSON.stringify(turnInput.content), aggregatedResponseText);
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,