genesis-ai-cli 7.4.5

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 (227) hide show
  1. package/.env.example +78 -0
  2. package/README.md +282 -0
  3. package/dist/src/active-inference/actions.d.ts +75 -0
  4. package/dist/src/active-inference/actions.js +250 -0
  5. package/dist/src/active-inference/autonomous-loop.d.ts +103 -0
  6. package/dist/src/active-inference/autonomous-loop.js +289 -0
  7. package/dist/src/active-inference/core.d.ts +85 -0
  8. package/dist/src/active-inference/core.js +555 -0
  9. package/dist/src/active-inference/demo-autonomous-loop.d.ts +8 -0
  10. package/dist/src/active-inference/demo-autonomous-loop.js +338 -0
  11. package/dist/src/active-inference/demo-value-integration.d.ts +8 -0
  12. package/dist/src/active-inference/demo-value-integration.js +174 -0
  13. package/dist/src/active-inference/index.d.ts +32 -0
  14. package/dist/src/active-inference/index.js +88 -0
  15. package/dist/src/active-inference/integration.d.ts +114 -0
  16. package/dist/src/active-inference/integration.js +698 -0
  17. package/dist/src/active-inference/memory-integration.d.ts +51 -0
  18. package/dist/src/active-inference/memory-integration.js +232 -0
  19. package/dist/src/active-inference/observations.d.ts +67 -0
  20. package/dist/src/active-inference/observations.js +147 -0
  21. package/dist/src/active-inference/test-active-inference.d.ts +8 -0
  22. package/dist/src/active-inference/test-active-inference.js +320 -0
  23. package/dist/src/active-inference/test-value-integration.d.ts +6 -0
  24. package/dist/src/active-inference/test-value-integration.js +168 -0
  25. package/dist/src/active-inference/types.d.ts +150 -0
  26. package/dist/src/active-inference/types.js +59 -0
  27. package/dist/src/active-inference/value-integration.d.ts +164 -0
  28. package/dist/src/active-inference/value-integration.js +459 -0
  29. package/dist/src/agents/base-agent.d.ts +53 -0
  30. package/dist/src/agents/base-agent.js +178 -0
  31. package/dist/src/agents/builder.d.ts +67 -0
  32. package/dist/src/agents/builder.js +537 -0
  33. package/dist/src/agents/critic.d.ts +35 -0
  34. package/dist/src/agents/critic.js +322 -0
  35. package/dist/src/agents/ethicist.d.ts +54 -0
  36. package/dist/src/agents/ethicist.js +393 -0
  37. package/dist/src/agents/explorer.d.ts +26 -0
  38. package/dist/src/agents/explorer.js +216 -0
  39. package/dist/src/agents/feeling.d.ts +41 -0
  40. package/dist/src/agents/feeling.js +320 -0
  41. package/dist/src/agents/index.d.ts +111 -0
  42. package/dist/src/agents/index.js +222 -0
  43. package/dist/src/agents/memory.d.ts +69 -0
  44. package/dist/src/agents/memory.js +404 -0
  45. package/dist/src/agents/message-bus.d.ts +88 -0
  46. package/dist/src/agents/message-bus.js +267 -0
  47. package/dist/src/agents/narrator.d.ts +90 -0
  48. package/dist/src/agents/narrator.js +473 -0
  49. package/dist/src/agents/planner.d.ts +38 -0
  50. package/dist/src/agents/planner.js +341 -0
  51. package/dist/src/agents/predictor.d.ts +73 -0
  52. package/dist/src/agents/predictor.js +506 -0
  53. package/dist/src/agents/sensor.d.ts +88 -0
  54. package/dist/src/agents/sensor.js +377 -0
  55. package/dist/src/agents/test-agents.d.ts +6 -0
  56. package/dist/src/agents/test-agents.js +73 -0
  57. package/dist/src/agents/types.d.ts +194 -0
  58. package/dist/src/agents/types.js +7 -0
  59. package/dist/src/brain/index.d.ts +185 -0
  60. package/dist/src/brain/index.js +843 -0
  61. package/dist/src/brain/trace.d.ts +91 -0
  62. package/dist/src/brain/trace.js +327 -0
  63. package/dist/src/brain/types.d.ts +165 -0
  64. package/dist/src/brain/types.js +51 -0
  65. package/dist/src/cli/chat.d.ts +237 -0
  66. package/dist/src/cli/chat.js +1959 -0
  67. package/dist/src/cli/dispatcher.d.ts +182 -0
  68. package/dist/src/cli/dispatcher.js +718 -0
  69. package/dist/src/cli/human-loop.d.ts +170 -0
  70. package/dist/src/cli/human-loop.js +543 -0
  71. package/dist/src/cli/index.d.ts +12 -0
  72. package/dist/src/cli/index.js +28 -0
  73. package/dist/src/cli/interactive.d.ts +141 -0
  74. package/dist/src/cli/interactive.js +757 -0
  75. package/dist/src/cli/ui.d.ts +205 -0
  76. package/dist/src/cli/ui.js +632 -0
  77. package/dist/src/consciousness/attention-schema.d.ts +154 -0
  78. package/dist/src/consciousness/attention-schema.js +432 -0
  79. package/dist/src/consciousness/global-workspace.d.ts +149 -0
  80. package/dist/src/consciousness/global-workspace.js +422 -0
  81. package/dist/src/consciousness/index.d.ts +186 -0
  82. package/dist/src/consciousness/index.js +476 -0
  83. package/dist/src/consciousness/phi-calculator.d.ts +119 -0
  84. package/dist/src/consciousness/phi-calculator.js +445 -0
  85. package/dist/src/consciousness/phi-decisions.d.ts +169 -0
  86. package/dist/src/consciousness/phi-decisions.js +383 -0
  87. package/dist/src/consciousness/phi-monitor.d.ts +153 -0
  88. package/dist/src/consciousness/phi-monitor.js +465 -0
  89. package/dist/src/consciousness/types.d.ts +260 -0
  90. package/dist/src/consciousness/types.js +44 -0
  91. package/dist/src/daemon/dream-mode.d.ts +115 -0
  92. package/dist/src/daemon/dream-mode.js +470 -0
  93. package/dist/src/daemon/index.d.ts +162 -0
  94. package/dist/src/daemon/index.js +542 -0
  95. package/dist/src/daemon/maintenance.d.ts +139 -0
  96. package/dist/src/daemon/maintenance.js +549 -0
  97. package/dist/src/daemon/process.d.ts +82 -0
  98. package/dist/src/daemon/process.js +442 -0
  99. package/dist/src/daemon/scheduler.d.ts +90 -0
  100. package/dist/src/daemon/scheduler.js +494 -0
  101. package/dist/src/daemon/types.d.ts +213 -0
  102. package/dist/src/daemon/types.js +50 -0
  103. package/dist/src/epistemic/index.d.ts +74 -0
  104. package/dist/src/epistemic/index.js +225 -0
  105. package/dist/src/grounding/epistemic-stack.d.ts +100 -0
  106. package/dist/src/grounding/epistemic-stack.js +408 -0
  107. package/dist/src/grounding/feedback.d.ts +98 -0
  108. package/dist/src/grounding/feedback.js +276 -0
  109. package/dist/src/grounding/index.d.ts +123 -0
  110. package/dist/src/grounding/index.js +224 -0
  111. package/dist/src/grounding/verifier.d.ts +149 -0
  112. package/dist/src/grounding/verifier.js +484 -0
  113. package/dist/src/healing/detector.d.ts +110 -0
  114. package/dist/src/healing/detector.js +436 -0
  115. package/dist/src/healing/fixer.d.ts +138 -0
  116. package/dist/src/healing/fixer.js +572 -0
  117. package/dist/src/healing/index.d.ts +23 -0
  118. package/dist/src/healing/index.js +43 -0
  119. package/dist/src/hooks/index.d.ts +135 -0
  120. package/dist/src/hooks/index.js +317 -0
  121. package/dist/src/index.d.ts +23 -0
  122. package/dist/src/index.js +1266 -0
  123. package/dist/src/kernel/index.d.ts +155 -0
  124. package/dist/src/kernel/index.js +795 -0
  125. package/dist/src/kernel/invariants.d.ts +153 -0
  126. package/dist/src/kernel/invariants.js +355 -0
  127. package/dist/src/kernel/test-kernel.d.ts +6 -0
  128. package/dist/src/kernel/test-kernel.js +108 -0
  129. package/dist/src/kernel/test-real-mcp.d.ts +10 -0
  130. package/dist/src/kernel/test-real-mcp.js +295 -0
  131. package/dist/src/llm/index.d.ts +146 -0
  132. package/dist/src/llm/index.js +428 -0
  133. package/dist/src/llm/router.d.ts +136 -0
  134. package/dist/src/llm/router.js +510 -0
  135. package/dist/src/mcp/index.d.ts +85 -0
  136. package/dist/src/mcp/index.js +657 -0
  137. package/dist/src/mcp/resilient.d.ts +139 -0
  138. package/dist/src/mcp/resilient.js +417 -0
  139. package/dist/src/memory/cache.d.ts +118 -0
  140. package/dist/src/memory/cache.js +356 -0
  141. package/dist/src/memory/cognitive-workspace.d.ts +231 -0
  142. package/dist/src/memory/cognitive-workspace.js +521 -0
  143. package/dist/src/memory/consolidation.d.ts +99 -0
  144. package/dist/src/memory/consolidation.js +443 -0
  145. package/dist/src/memory/episodic.d.ts +114 -0
  146. package/dist/src/memory/episodic.js +394 -0
  147. package/dist/src/memory/forgetting.d.ts +134 -0
  148. package/dist/src/memory/forgetting.js +324 -0
  149. package/dist/src/memory/index.d.ts +211 -0
  150. package/dist/src/memory/index.js +367 -0
  151. package/dist/src/memory/indexer.d.ts +123 -0
  152. package/dist/src/memory/indexer.js +479 -0
  153. package/dist/src/memory/procedural.d.ts +136 -0
  154. package/dist/src/memory/procedural.js +479 -0
  155. package/dist/src/memory/semantic.d.ts +132 -0
  156. package/dist/src/memory/semantic.js +497 -0
  157. package/dist/src/memory/types.d.ts +193 -0
  158. package/dist/src/memory/types.js +15 -0
  159. package/dist/src/orchestrator.d.ts +65 -0
  160. package/dist/src/orchestrator.js +317 -0
  161. package/dist/src/persistence/index.d.ts +257 -0
  162. package/dist/src/persistence/index.js +763 -0
  163. package/dist/src/pipeline/executor.d.ts +51 -0
  164. package/dist/src/pipeline/executor.js +695 -0
  165. package/dist/src/pipeline/index.d.ts +7 -0
  166. package/dist/src/pipeline/index.js +11 -0
  167. package/dist/src/self-production.d.ts +67 -0
  168. package/dist/src/self-production.js +205 -0
  169. package/dist/src/subagents/executor.d.ts +58 -0
  170. package/dist/src/subagents/executor.js +283 -0
  171. package/dist/src/subagents/index.d.ts +37 -0
  172. package/dist/src/subagents/index.js +53 -0
  173. package/dist/src/subagents/registry.d.ts +23 -0
  174. package/dist/src/subagents/registry.js +167 -0
  175. package/dist/src/subagents/types.d.ts +79 -0
  176. package/dist/src/subagents/types.js +14 -0
  177. package/dist/src/tools/bash.d.ts +139 -0
  178. package/dist/src/tools/bash.js +583 -0
  179. package/dist/src/tools/edit.d.ts +125 -0
  180. package/dist/src/tools/edit.js +424 -0
  181. package/dist/src/tools/git.d.ts +179 -0
  182. package/dist/src/tools/git.js +504 -0
  183. package/dist/src/tools/index.d.ts +21 -0
  184. package/dist/src/tools/index.js +163 -0
  185. package/dist/src/types.d.ts +145 -0
  186. package/dist/src/types.js +7 -0
  187. package/dist/src/world-model/decoder.d.ts +163 -0
  188. package/dist/src/world-model/decoder.js +517 -0
  189. package/dist/src/world-model/digital-twin.d.ts +219 -0
  190. package/dist/src/world-model/digital-twin.js +695 -0
  191. package/dist/src/world-model/encoder.d.ts +141 -0
  192. package/dist/src/world-model/encoder.js +564 -0
  193. package/dist/src/world-model/index.d.ts +221 -0
  194. package/dist/src/world-model/index.js +772 -0
  195. package/dist/src/world-model/predictor.d.ts +161 -0
  196. package/dist/src/world-model/predictor.js +681 -0
  197. package/dist/src/world-model/test-value-jepa.d.ts +8 -0
  198. package/dist/src/world-model/test-value-jepa.js +430 -0
  199. package/dist/src/world-model/types.d.ts +341 -0
  200. package/dist/src/world-model/types.js +69 -0
  201. package/dist/src/world-model/value-jepa.d.ts +247 -0
  202. package/dist/src/world-model/value-jepa.js +622 -0
  203. package/dist/test/brain.test.d.ts +11 -0
  204. package/dist/test/brain.test.js +358 -0
  205. package/dist/test/cli/dispatcher.test.d.ts +4 -0
  206. package/dist/test/cli/dispatcher.test.js +332 -0
  207. package/dist/test/cli/human-loop.test.d.ts +4 -0
  208. package/dist/test/cli/human-loop.test.js +270 -0
  209. package/dist/test/grounding/feedback.test.d.ts +4 -0
  210. package/dist/test/grounding/feedback.test.js +462 -0
  211. package/dist/test/grounding/verifier.test.d.ts +4 -0
  212. package/dist/test/grounding/verifier.test.js +442 -0
  213. package/dist/test/grounding.test.d.ts +6 -0
  214. package/dist/test/grounding.test.js +246 -0
  215. package/dist/test/healing/detector.test.d.ts +4 -0
  216. package/dist/test/healing/detector.test.js +266 -0
  217. package/dist/test/healing/fixer.test.d.ts +4 -0
  218. package/dist/test/healing/fixer.test.js +369 -0
  219. package/dist/test/integration.test.d.ts +5 -0
  220. package/dist/test/integration.test.js +290 -0
  221. package/dist/test/tools/bash.test.d.ts +4 -0
  222. package/dist/test/tools/bash.test.js +348 -0
  223. package/dist/test/tools/edit.test.d.ts +4 -0
  224. package/dist/test/tools/edit.test.js +350 -0
  225. package/dist/test/tools/git.test.d.ts +4 -0
  226. package/dist/test/tools/git.test.js +350 -0
  227. package/package.json +60 -0
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Genesis 6.3 - Memory 2.0 Integration with Active Inference
3
+ *
4
+ * Connects CognitiveWorkspace to Active Inference for:
5
+ * - Anticipatory memory pre-loading based on inferred context
6
+ * - Enhanced recall.memory action using workspace
7
+ * - Memory state observation for inference
8
+ *
9
+ * Usage:
10
+ * ```typescript
11
+ * import { integrateMemory } from './memory-integration.js';
12
+ * import { getMemorySystem } from '../memory/index.js';
13
+ * import { createAutonomousLoop } from './autonomous-loop.js';
14
+ *
15
+ * const memory = getMemorySystem();
16
+ * const loop = createAutonomousLoop();
17
+ *
18
+ * integrateMemory(loop, memory);
19
+ *
20
+ * // Now the loop will:
21
+ * // 1. Anticipate memories before each cycle
22
+ * // 2. Use cognitive workspace for recall.memory action
23
+ * // 3. Track memory reuse metrics
24
+ * ```
25
+ */
26
+ import { AutonomousLoop } from './autonomous-loop.js';
27
+ import type { MemorySystem, MemoryReuseMetrics } from '../memory/index.js';
28
+ export interface MemoryIntegrationConfig {
29
+ enableAnticipation: boolean;
30
+ anticipationDepth: number;
31
+ recallLimit: number;
32
+ logMetrics: boolean;
33
+ metricsInterval: number;
34
+ }
35
+ export declare const DEFAULT_MEMORY_INTEGRATION_CONFIG: MemoryIntegrationConfig;
36
+ /**
37
+ * Integrate Memory 2.0 with Active Inference loop
38
+ */
39
+ export declare function integrateMemory(loop: AutonomousLoop, memory: MemorySystem, config?: Partial<MemoryIntegrationConfig>): void;
40
+ /**
41
+ * Get memory reuse metrics from memory system
42
+ */
43
+ export declare function getMemoryMetrics(memory: MemorySystem): MemoryReuseMetrics;
44
+ /**
45
+ * Get workspace state for observation
46
+ */
47
+ export declare function getWorkspaceState(memory: MemorySystem): {
48
+ itemCount: number;
49
+ avgActivation: number;
50
+ reuseRate: number;
51
+ };
@@ -0,0 +1,232 @@
1
+ "use strict";
2
+ /**
3
+ * Genesis 6.3 - Memory 2.0 Integration with Active Inference
4
+ *
5
+ * Connects CognitiveWorkspace to Active Inference for:
6
+ * - Anticipatory memory pre-loading based on inferred context
7
+ * - Enhanced recall.memory action using workspace
8
+ * - Memory state observation for inference
9
+ *
10
+ * Usage:
11
+ * ```typescript
12
+ * import { integrateMemory } from './memory-integration.js';
13
+ * import { getMemorySystem } from '../memory/index.js';
14
+ * import { createAutonomousLoop } from './autonomous-loop.js';
15
+ *
16
+ * const memory = getMemorySystem();
17
+ * const loop = createAutonomousLoop();
18
+ *
19
+ * integrateMemory(loop, memory);
20
+ *
21
+ * // Now the loop will:
22
+ * // 1. Anticipate memories before each cycle
23
+ * // 2. Use cognitive workspace for recall.memory action
24
+ * // 3. Track memory reuse metrics
25
+ * ```
26
+ */
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.DEFAULT_MEMORY_INTEGRATION_CONFIG = void 0;
29
+ exports.integrateMemory = integrateMemory;
30
+ exports.getMemoryMetrics = getMemoryMetrics;
31
+ exports.getWorkspaceState = getWorkspaceState;
32
+ const actions_js_1 = require("./actions.js");
33
+ exports.DEFAULT_MEMORY_INTEGRATION_CONFIG = {
34
+ enableAnticipation: true,
35
+ anticipationDepth: 5,
36
+ recallLimit: 10,
37
+ logMetrics: false,
38
+ metricsInterval: 10,
39
+ };
40
+ // ============================================================================
41
+ // Context Building
42
+ // ============================================================================
43
+ /**
44
+ * Build anticipation context from current beliefs and goal
45
+ */
46
+ function buildAnticipationContext(beliefs, goal, recentActions) {
47
+ // Extract keywords from goal
48
+ const keywords = [];
49
+ if (goal) {
50
+ keywords.push(...goal.split(/\s+/).filter(w => w.length > 3));
51
+ }
52
+ // Map beliefs to context
53
+ const context = {
54
+ goal,
55
+ keywords,
56
+ recentActions,
57
+ };
58
+ // Add tags based on beliefs
59
+ const tags = [];
60
+ // Viability tags
61
+ const viabilityLevel = beliefs.viability.indexOf(Math.max(...beliefs.viability));
62
+ if (viabilityLevel <= 1)
63
+ tags.push('energy', 'survival', 'low-energy');
64
+ else if (viabilityLevel >= 3)
65
+ tags.push('high-energy', 'optimal');
66
+ // World state tags
67
+ const worldStateLevel = beliefs.worldState.indexOf(Math.max(...beliefs.worldState));
68
+ if (worldStateLevel === 0)
69
+ tags.push('unknown', 'exploration');
70
+ else if (worldStateLevel === 1)
71
+ tags.push('stable', 'routine');
72
+ else if (worldStateLevel === 2)
73
+ tags.push('changing', 'adaptation');
74
+ else if (worldStateLevel === 3)
75
+ tags.push('hostile', 'threat');
76
+ // Goal progress tags
77
+ const goalLevel = beliefs.goalProgress.indexOf(Math.max(...beliefs.goalProgress));
78
+ if (goalLevel === 0)
79
+ tags.push('blocked', 'problem');
80
+ else if (goalLevel === 3)
81
+ tags.push('achieved', 'success');
82
+ context.tags = tags;
83
+ return context;
84
+ }
85
+ // ============================================================================
86
+ // Memory-Enhanced Actions
87
+ // ============================================================================
88
+ /**
89
+ * Register enhanced recall.memory action that uses CognitiveWorkspace
90
+ */
91
+ function registerMemoryActions(memory, config) {
92
+ (0, actions_js_1.registerAction)('recall.memory', async (context) => {
93
+ const query = context.goal || '';
94
+ // Try workspace first (cache hit)
95
+ const activeItems = memory.workspace.getActive();
96
+ // Filter active items by query
97
+ const relevant = activeItems.filter(item => {
98
+ const content = JSON.stringify(item.memory).toLowerCase();
99
+ const terms = query.toLowerCase().split(/\s+/);
100
+ return terms.some(t => t.length > 2 && content.includes(t));
101
+ });
102
+ if (relevant.length > 0) {
103
+ // Access items to update metrics
104
+ relevant.forEach(item => memory.workspace.access(item.id));
105
+ return {
106
+ success: true,
107
+ action: 'recall.memory',
108
+ data: {
109
+ recalled: relevant.map(r => r.memory),
110
+ source: 'workspace',
111
+ count: relevant.length,
112
+ },
113
+ duration: 0,
114
+ };
115
+ }
116
+ // Fall back to store search
117
+ if (query.length > 0) {
118
+ const results = memory.recall(query, { limit: config.recallLimit });
119
+ // Add to workspace for future access
120
+ results.forEach(mem => {
121
+ memory.workspace.addToBuffer(mem, 'recall', 0.6);
122
+ });
123
+ return {
124
+ success: true,
125
+ action: 'recall.memory',
126
+ data: {
127
+ recalled: results,
128
+ source: 'store',
129
+ count: results.length,
130
+ },
131
+ duration: 0,
132
+ };
133
+ }
134
+ return {
135
+ success: true,
136
+ action: 'recall.memory',
137
+ data: {
138
+ recalled: [],
139
+ source: 'none',
140
+ count: 0,
141
+ },
142
+ duration: 0,
143
+ };
144
+ });
145
+ // Enhanced dream.cycle that uses consolidation
146
+ (0, actions_js_1.registerAction)('dream.cycle', async (context) => {
147
+ try {
148
+ const result = await memory.consolidate();
149
+ // Clear workspace to simulate "waking up"
150
+ const stats = memory.workspace.getStats();
151
+ memory.workspace.clear();
152
+ return {
153
+ success: true,
154
+ action: 'dream.cycle',
155
+ data: {
156
+ consolidated: result,
157
+ workspaceCleared: stats.itemCount,
158
+ },
159
+ duration: 0,
160
+ };
161
+ }
162
+ catch (error) {
163
+ return {
164
+ success: false,
165
+ action: 'dream.cycle',
166
+ error: error instanceof Error ? error.message : String(error),
167
+ duration: 0,
168
+ };
169
+ }
170
+ });
171
+ }
172
+ // ============================================================================
173
+ // Loop Integration
174
+ // ============================================================================
175
+ /**
176
+ * Add anticipation hook to autonomous loop
177
+ */
178
+ function addAnticipationHook(loop, memory, config) {
179
+ const recentActions = [];
180
+ // Subscribe to cycle events
181
+ loop.onCycle((cycle, action, beliefs) => {
182
+ // Track recent actions
183
+ recentActions.push(action);
184
+ if (recentActions.length > 5)
185
+ recentActions.shift();
186
+ // Anticipate memories for next cycle
187
+ if (config.enableAnticipation) {
188
+ const context = buildAnticipationContext(beliefs, undefined, // goal could come from context
189
+ recentActions);
190
+ // Fire and forget - don't block the cycle
191
+ memory.anticipate(context).catch(() => {
192
+ // Silently ignore anticipation errors
193
+ });
194
+ }
195
+ // Log metrics periodically
196
+ if (config.logMetrics && cycle % config.metricsInterval === 0) {
197
+ const metrics = memory.getReuseMetrics();
198
+ console.log(`[Memory 2.0] Cycle ${cycle} | Reuse: ${(metrics.reuseRate * 100).toFixed(1)}% | Anticipation: ${(metrics.anticipationAccuracy * 100).toFixed(1)}%`);
199
+ }
200
+ });
201
+ }
202
+ // ============================================================================
203
+ // Main Integration Function
204
+ // ============================================================================
205
+ /**
206
+ * Integrate Memory 2.0 with Active Inference loop
207
+ */
208
+ function integrateMemory(loop, memory, config = {}) {
209
+ const fullConfig = { ...exports.DEFAULT_MEMORY_INTEGRATION_CONFIG, ...config };
210
+ // Register enhanced actions
211
+ registerMemoryActions(memory, fullConfig);
212
+ // Add anticipation hook
213
+ addAnticipationHook(loop, memory, fullConfig);
214
+ }
215
+ /**
216
+ * Get memory reuse metrics from memory system
217
+ */
218
+ function getMemoryMetrics(memory) {
219
+ return memory.getReuseMetrics();
220
+ }
221
+ /**
222
+ * Get workspace state for observation
223
+ */
224
+ function getWorkspaceState(memory) {
225
+ const stats = memory.workspace.getStats();
226
+ const metrics = memory.getReuseMetrics();
227
+ return {
228
+ itemCount: stats.itemCount,
229
+ avgActivation: stats.avgActivation,
230
+ reuseRate: metrics.reuseRate,
231
+ };
232
+ }
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Genesis 6.1 - Observations Bridge
3
+ *
4
+ * Connects existing agents to Active Inference observations.
5
+ *
6
+ * Maps:
7
+ * - SensorAgent → tool perception
8
+ * - FeelingAgent → interoceptive state
9
+ * - PhiMonitor → consciousness level
10
+ * - WorldModel → coherence metric
11
+ * - Kernel → energy/task status
12
+ */
13
+ import { Observation } from './types.js';
14
+ export interface KernelState {
15
+ energy: number;
16
+ state: string;
17
+ taskStatus?: 'none' | 'pending' | 'running' | 'completed' | 'failed';
18
+ }
19
+ export interface PhiState {
20
+ phi: number;
21
+ state: 'dormant' | 'alert' | 'aware' | 'drowsy' | 'fragmented';
22
+ }
23
+ export interface SensorResult {
24
+ success: boolean;
25
+ latency: number;
26
+ error?: string;
27
+ }
28
+ export interface WorldModelState {
29
+ consistent: boolean;
30
+ issues: number;
31
+ }
32
+ export declare class ObservationGatherer {
33
+ private getKernelState?;
34
+ private getPhiState?;
35
+ private getSensorResult?;
36
+ private getWorldModelState?;
37
+ /**
38
+ * Configure observation sources
39
+ */
40
+ configure(sources: {
41
+ kernelState?: () => KernelState;
42
+ phiState?: () => PhiState;
43
+ sensorResult?: () => Promise<SensorResult>;
44
+ worldModelState?: () => WorldModelState;
45
+ }): void;
46
+ /**
47
+ * Gather all observations from system components
48
+ */
49
+ gather(): Promise<Observation>;
50
+ /**
51
+ * Create observation from raw values (for testing)
52
+ */
53
+ fromRaw(raw: {
54
+ energy?: number;
55
+ phi?: number;
56
+ toolSuccess?: boolean;
57
+ coherent?: boolean;
58
+ taskStatus?: string;
59
+ }): Observation;
60
+ private mapEnergy;
61
+ private mapPhi;
62
+ private mapTool;
63
+ private mapCoherence;
64
+ private mapTask;
65
+ }
66
+ export declare function createObservationGatherer(): ObservationGatherer;
67
+ export declare function getObservationGatherer(): ObservationGatherer;
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ /**
3
+ * Genesis 6.1 - Observations Bridge
4
+ *
5
+ * Connects existing agents to Active Inference observations.
6
+ *
7
+ * Maps:
8
+ * - SensorAgent → tool perception
9
+ * - FeelingAgent → interoceptive state
10
+ * - PhiMonitor → consciousness level
11
+ * - WorldModel → coherence metric
12
+ * - Kernel → energy/task status
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ObservationGatherer = void 0;
16
+ exports.createObservationGatherer = createObservationGatherer;
17
+ exports.getObservationGatherer = getObservationGatherer;
18
+ // ============================================================================
19
+ // Observation Gatherer
20
+ // ============================================================================
21
+ class ObservationGatherer {
22
+ // References to system components (injected)
23
+ getKernelState;
24
+ getPhiState;
25
+ getSensorResult;
26
+ getWorldModelState;
27
+ /**
28
+ * Configure observation sources
29
+ */
30
+ configure(sources) {
31
+ if (sources.kernelState)
32
+ this.getKernelState = sources.kernelState;
33
+ if (sources.phiState)
34
+ this.getPhiState = sources.phiState;
35
+ if (sources.sensorResult)
36
+ this.getSensorResult = sources.sensorResult;
37
+ if (sources.worldModelState)
38
+ this.getWorldModelState = sources.worldModelState;
39
+ }
40
+ /**
41
+ * Gather all observations from system components
42
+ */
43
+ async gather() {
44
+ // Get states from components (with defaults if not configured)
45
+ const kernelState = this.getKernelState?.() ?? {
46
+ energy: 0.5,
47
+ state: 'idle',
48
+ taskStatus: 'none',
49
+ };
50
+ const phiState = this.getPhiState?.() ?? {
51
+ phi: 0.5,
52
+ state: 'aware',
53
+ };
54
+ const sensorResult = this.getSensorResult
55
+ ? await this.getSensorResult()
56
+ : { success: true, latency: 100 };
57
+ const worldModelState = this.getWorldModelState?.() ?? {
58
+ consistent: true,
59
+ issues: 0,
60
+ };
61
+ // Map to discrete observations
62
+ return {
63
+ energy: this.mapEnergy(kernelState.energy),
64
+ phi: this.mapPhi(phiState),
65
+ tool: this.mapTool(sensorResult),
66
+ coherence: this.mapCoherence(worldModelState),
67
+ task: this.mapTask(kernelState.taskStatus),
68
+ };
69
+ }
70
+ /**
71
+ * Create observation from raw values (for testing)
72
+ */
73
+ fromRaw(raw) {
74
+ return {
75
+ energy: this.mapEnergy(raw.energy ?? 0.5),
76
+ phi: this.mapPhi({ phi: raw.phi ?? 0.5, state: 'aware' }),
77
+ tool: raw.toolSuccess === undefined ? 1 : (raw.toolSuccess ? 2 : 0),
78
+ coherence: raw.coherent === undefined ? 2 : (raw.coherent ? 2 : 0),
79
+ task: this.mapTask(raw.taskStatus ?? 'none'),
80
+ };
81
+ }
82
+ // ============================================================================
83
+ // Mapping Functions
84
+ // ============================================================================
85
+ mapEnergy(energy) {
86
+ // Map 0.0-1.0 to 0-4
87
+ if (energy < 0.1)
88
+ return 0; // depleted
89
+ if (energy < 0.3)
90
+ return 1; // low
91
+ if (energy < 0.6)
92
+ return 2; // medium
93
+ if (energy < 0.85)
94
+ return 3; // high
95
+ return 4; // full
96
+ }
97
+ mapPhi(phiState) {
98
+ // Map phi level and state to 0-3
99
+ if (phiState.state === 'dormant' || phiState.phi < 0.1)
100
+ return 0;
101
+ if (phiState.phi < 0.4)
102
+ return 1; // low
103
+ if (phiState.phi < 0.7)
104
+ return 2; // medium
105
+ return 3; // high
106
+ }
107
+ mapTool(result) {
108
+ // Map sensor result to 0-2
109
+ if (!result.success)
110
+ return 0; // failed
111
+ if (result.latency > 5000)
112
+ return 1; // partial (slow)
113
+ return 2; // success
114
+ }
115
+ mapCoherence(state) {
116
+ // Map world model consistency to 0-2
117
+ if (!state.consistent || state.issues > 5)
118
+ return 0; // broken
119
+ if (state.issues > 0)
120
+ return 1; // degraded
121
+ return 2; // consistent
122
+ }
123
+ mapTask(status) {
124
+ switch (status) {
125
+ case 'pending': return 1;
126
+ case 'running': return 2;
127
+ case 'completed': return 3;
128
+ case 'failed': return 0;
129
+ case 'none':
130
+ default: return 0;
131
+ }
132
+ }
133
+ }
134
+ exports.ObservationGatherer = ObservationGatherer;
135
+ // ============================================================================
136
+ // Factory
137
+ // ============================================================================
138
+ let gathererInstance = null;
139
+ function createObservationGatherer() {
140
+ return new ObservationGatherer();
141
+ }
142
+ function getObservationGatherer() {
143
+ if (!gathererInstance) {
144
+ gathererInstance = createObservationGatherer();
145
+ }
146
+ return gathererInstance;
147
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Genesis 6.1 - Active Inference Tests
3
+ *
4
+ * Tests for the autonomous decision-making system.
5
+ *
6
+ * Run: node --test dist/active-inference/test-active-inference.js
7
+ */
8
+ export {};