@timmeck/brain-core 2.9.1 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/consciousness-dashboard.html +1010 -0
- package/dist/consciousness/consciousness-server.d.ts +23 -0
- package/dist/consciousness/consciousness-server.js +145 -0
- package/dist/consciousness/consciousness-server.js.map +1 -0
- package/dist/consciousness/index.d.ts +4 -0
- package/dist/consciousness/index.js +3 -0
- package/dist/consciousness/index.js.map +1 -0
- package/dist/consciousness/thought-stream.d.ts +27 -0
- package/dist/consciousness/thought-stream.js +119 -0
- package/dist/consciousness/thought-stream.js.map +1 -0
- package/dist/consciousness/types.d.ts +33 -0
- package/dist/consciousness/types.js +3 -0
- package/dist/consciousness/types.js.map +1 -0
- package/dist/dream/dream-engine.d.ts +4 -0
- package/dist/dream/dream-engine.js +18 -0
- package/dist/dream/dream-engine.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/research/research-orchestrator.d.ts +4 -0
- package/dist/research/research-orchestrator.js +43 -1
- package/dist/research/research-orchestrator.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ThoughtStream } from './thought-stream.js';
|
|
2
|
+
export interface ConsciousnessServerOptions {
|
|
3
|
+
port: number;
|
|
4
|
+
thoughtStream: ThoughtStream;
|
|
5
|
+
getNetworkState: () => unknown;
|
|
6
|
+
getEngineStatus: () => unknown;
|
|
7
|
+
}
|
|
8
|
+
export declare class ConsciousnessServer {
|
|
9
|
+
private options;
|
|
10
|
+
private server;
|
|
11
|
+
private clients;
|
|
12
|
+
private unsubscribe;
|
|
13
|
+
private networkTimer;
|
|
14
|
+
private engineTimer;
|
|
15
|
+
private heartbeatTimer;
|
|
16
|
+
private dashboardHtml;
|
|
17
|
+
private logger;
|
|
18
|
+
constructor(options: ConsciousnessServerOptions);
|
|
19
|
+
start(): void;
|
|
20
|
+
stop(): void;
|
|
21
|
+
getClientCount(): number;
|
|
22
|
+
private broadcast;
|
|
23
|
+
}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import http from 'node:http';
|
|
2
|
+
import fs from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { getLogger } from '../utils/logger.js';
|
|
5
|
+
// ── Server ───────────────────────────────────────────────
|
|
6
|
+
export class ConsciousnessServer {
|
|
7
|
+
options;
|
|
8
|
+
server = null;
|
|
9
|
+
clients = new Set();
|
|
10
|
+
unsubscribe = null;
|
|
11
|
+
networkTimer = null;
|
|
12
|
+
engineTimer = null;
|
|
13
|
+
heartbeatTimer = null;
|
|
14
|
+
dashboardHtml = null;
|
|
15
|
+
logger = getLogger();
|
|
16
|
+
constructor(options) {
|
|
17
|
+
this.options = options;
|
|
18
|
+
}
|
|
19
|
+
start() {
|
|
20
|
+
const { port, thoughtStream, getNetworkState } = this.options;
|
|
21
|
+
// Load dashboard HTML
|
|
22
|
+
const htmlPath = path.resolve(path.dirname(new URL(import.meta.url).pathname.replace(/^\/([A-Z]:)/, '$1')), '../../consciousness-dashboard.html');
|
|
23
|
+
try {
|
|
24
|
+
this.dashboardHtml = fs.readFileSync(htmlPath, 'utf-8');
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
this.dashboardHtml = '<html><body><h1>Consciousness Dashboard HTML not found</h1></body></html>';
|
|
28
|
+
}
|
|
29
|
+
this.server = http.createServer((req, res) => {
|
|
30
|
+
const url = new URL(req.url ?? '/', `http://localhost:${port}`);
|
|
31
|
+
// CORS + Security
|
|
32
|
+
res.setHeader('Access-Control-Allow-Origin', '*');
|
|
33
|
+
res.setHeader('Access-Control-Allow-Methods', 'GET, OPTIONS');
|
|
34
|
+
res.setHeader('X-Content-Type-Options', 'nosniff');
|
|
35
|
+
if (req.method === 'OPTIONS') {
|
|
36
|
+
res.writeHead(204);
|
|
37
|
+
res.end();
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
// Dashboard
|
|
41
|
+
if (url.pathname === '/' || url.pathname === '/dashboard') {
|
|
42
|
+
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
43
|
+
res.end(this.dashboardHtml);
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
// Full state snapshot
|
|
47
|
+
if (url.pathname === '/api/state') {
|
|
48
|
+
const state = {
|
|
49
|
+
thoughts: thoughtStream.getRecent(100),
|
|
50
|
+
network: getNetworkState(),
|
|
51
|
+
engines: thoughtStream.getEngineActivity(),
|
|
52
|
+
status: thoughtStream.getStats(),
|
|
53
|
+
};
|
|
54
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
55
|
+
res.end(JSON.stringify(state));
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
// SSE stream
|
|
59
|
+
if (url.pathname === '/events') {
|
|
60
|
+
res.writeHead(200, {
|
|
61
|
+
'Content-Type': 'text/event-stream',
|
|
62
|
+
'Cache-Control': 'no-cache',
|
|
63
|
+
'Connection': 'keep-alive',
|
|
64
|
+
});
|
|
65
|
+
res.write(`event: connected\ndata: ${JSON.stringify({ clients: this.clients.size + 1 })}\n\n`);
|
|
66
|
+
this.clients.add(res);
|
|
67
|
+
req.on('close', () => this.clients.delete(res));
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
res.writeHead(404, { 'Content-Type': 'text/plain' });
|
|
71
|
+
res.end('Not Found');
|
|
72
|
+
});
|
|
73
|
+
// Subscribe to thought stream → broadcast immediately
|
|
74
|
+
this.unsubscribe = thoughtStream.onThought((thought) => {
|
|
75
|
+
this.broadcast('thought', thought);
|
|
76
|
+
});
|
|
77
|
+
// Network snapshot every 10s
|
|
78
|
+
this.networkTimer = setInterval(() => {
|
|
79
|
+
if (this.clients.size > 0) {
|
|
80
|
+
this.broadcast('network', getNetworkState());
|
|
81
|
+
}
|
|
82
|
+
}, 10_000);
|
|
83
|
+
// Engine status every 5s
|
|
84
|
+
this.engineTimer = setInterval(() => {
|
|
85
|
+
if (this.clients.size > 0) {
|
|
86
|
+
this.broadcast('engines', {
|
|
87
|
+
engines: thoughtStream.getEngineActivity(),
|
|
88
|
+
status: thoughtStream.getStats(),
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}, 5_000);
|
|
92
|
+
// Heartbeat every 30s
|
|
93
|
+
this.heartbeatTimer = setInterval(() => {
|
|
94
|
+
if (this.clients.size > 0) {
|
|
95
|
+
this.broadcast('heartbeat', { time: Date.now() });
|
|
96
|
+
}
|
|
97
|
+
}, 30_000);
|
|
98
|
+
this.server.listen(port, () => {
|
|
99
|
+
this.logger.info(`Consciousness dashboard started on http://localhost:${port}`);
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
stop() {
|
|
103
|
+
if (this.unsubscribe) {
|
|
104
|
+
this.unsubscribe();
|
|
105
|
+
this.unsubscribe = null;
|
|
106
|
+
}
|
|
107
|
+
if (this.networkTimer) {
|
|
108
|
+
clearInterval(this.networkTimer);
|
|
109
|
+
this.networkTimer = null;
|
|
110
|
+
}
|
|
111
|
+
if (this.engineTimer) {
|
|
112
|
+
clearInterval(this.engineTimer);
|
|
113
|
+
this.engineTimer = null;
|
|
114
|
+
}
|
|
115
|
+
if (this.heartbeatTimer) {
|
|
116
|
+
clearInterval(this.heartbeatTimer);
|
|
117
|
+
this.heartbeatTimer = null;
|
|
118
|
+
}
|
|
119
|
+
for (const client of this.clients) {
|
|
120
|
+
try {
|
|
121
|
+
client.end();
|
|
122
|
+
}
|
|
123
|
+
catch { /* ignore */ }
|
|
124
|
+
}
|
|
125
|
+
this.clients.clear();
|
|
126
|
+
this.server?.close();
|
|
127
|
+
this.server = null;
|
|
128
|
+
this.logger.info('Consciousness dashboard stopped');
|
|
129
|
+
}
|
|
130
|
+
getClientCount() {
|
|
131
|
+
return this.clients.size;
|
|
132
|
+
}
|
|
133
|
+
broadcast(event, data) {
|
|
134
|
+
const msg = `event: ${event}\ndata: ${JSON.stringify(data)}\n\n`;
|
|
135
|
+
for (const client of this.clients) {
|
|
136
|
+
try {
|
|
137
|
+
client.write(msg);
|
|
138
|
+
}
|
|
139
|
+
catch {
|
|
140
|
+
this.clients.delete(client);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=consciousness-server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consciousness-server.js","sourceRoot":"","sources":["../../src/consciousness/consciousness-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { ThoughtStream } from './thought-stream.js';
|
|
2
|
+
export { ConsciousnessServer } from './consciousness-server.js';
|
|
3
|
+
export type { ConsciousnessServerOptions } from './consciousness-server.js';
|
|
4
|
+
export type { Thought, ThoughtType, ThoughtSignificance, ConsciousnessConfig, ConsciousnessStatus, EngineActivity, } from './types.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/consciousness/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { Thought, ThoughtType, ThoughtSignificance, ConsciousnessStatus, EngineActivity } from './types.js';
|
|
2
|
+
type ThoughtListener = (thought: Thought) => void;
|
|
3
|
+
export declare class ThoughtStream {
|
|
4
|
+
private buffer;
|
|
5
|
+
private maxThoughts;
|
|
6
|
+
private listeners;
|
|
7
|
+
private startTime;
|
|
8
|
+
private totalEmitted;
|
|
9
|
+
constructor(maxThoughts?: number);
|
|
10
|
+
/** Emit a thought into the stream. */
|
|
11
|
+
emit(engine: string, type: ThoughtType, content: string, significance?: ThoughtSignificance, data?: unknown): Thought;
|
|
12
|
+
/** Register a listener for new thoughts (used by SSE). */
|
|
13
|
+
onThought(callback: ThoughtListener): () => void;
|
|
14
|
+
/** Get the most recent N thoughts. */
|
|
15
|
+
getRecent(limit?: number): Thought[];
|
|
16
|
+
/** Get thoughts filtered by engine. */
|
|
17
|
+
getByEngine(engine: string, limit?: number): Thought[];
|
|
18
|
+
/** Get stats about the thought stream. */
|
|
19
|
+
getStats(): ConsciousnessStatus;
|
|
20
|
+
/** Get engine activity list for the status panel. */
|
|
21
|
+
getEngineActivity(): EngineActivity[];
|
|
22
|
+
/** Clear the buffer. */
|
|
23
|
+
clear(): void;
|
|
24
|
+
/** Get listener count (for monitoring). */
|
|
25
|
+
getListenerCount(): number;
|
|
26
|
+
}
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
2
|
+
export class ThoughtStream {
|
|
3
|
+
buffer = [];
|
|
4
|
+
maxThoughts;
|
|
5
|
+
listeners = new Set();
|
|
6
|
+
startTime = Date.now();
|
|
7
|
+
totalEmitted = 0;
|
|
8
|
+
constructor(maxThoughts = 500) {
|
|
9
|
+
this.maxThoughts = maxThoughts;
|
|
10
|
+
}
|
|
11
|
+
/** Emit a thought into the stream. */
|
|
12
|
+
emit(engine, type, content, significance = 'routine', data) {
|
|
13
|
+
const thought = {
|
|
14
|
+
id: randomUUID(),
|
|
15
|
+
timestamp: Date.now(),
|
|
16
|
+
engine,
|
|
17
|
+
type,
|
|
18
|
+
content,
|
|
19
|
+
significance,
|
|
20
|
+
data,
|
|
21
|
+
};
|
|
22
|
+
this.buffer.push(thought);
|
|
23
|
+
this.totalEmitted++;
|
|
24
|
+
// Circular buffer: trim from front when over limit
|
|
25
|
+
if (this.buffer.length > this.maxThoughts) {
|
|
26
|
+
this.buffer.splice(0, this.buffer.length - this.maxThoughts);
|
|
27
|
+
}
|
|
28
|
+
// Notify all listeners
|
|
29
|
+
for (const listener of this.listeners) {
|
|
30
|
+
try {
|
|
31
|
+
listener(thought);
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
// Don't let listener errors break the stream
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return thought;
|
|
38
|
+
}
|
|
39
|
+
/** Register a listener for new thoughts (used by SSE). */
|
|
40
|
+
onThought(callback) {
|
|
41
|
+
this.listeners.add(callback);
|
|
42
|
+
return () => this.listeners.delete(callback);
|
|
43
|
+
}
|
|
44
|
+
/** Get the most recent N thoughts. */
|
|
45
|
+
getRecent(limit = 50) {
|
|
46
|
+
const start = Math.max(0, this.buffer.length - limit);
|
|
47
|
+
return this.buffer.slice(start).reverse();
|
|
48
|
+
}
|
|
49
|
+
/** Get thoughts filtered by engine. */
|
|
50
|
+
getByEngine(engine, limit = 50) {
|
|
51
|
+
const filtered = this.buffer.filter(t => t.engine === engine);
|
|
52
|
+
const start = Math.max(0, filtered.length - limit);
|
|
53
|
+
return filtered.slice(start).reverse();
|
|
54
|
+
}
|
|
55
|
+
/** Get stats about the thought stream. */
|
|
56
|
+
getStats() {
|
|
57
|
+
const perEngine = {};
|
|
58
|
+
const perType = {};
|
|
59
|
+
const perSignificance = {};
|
|
60
|
+
const lastActiveByEngine = {};
|
|
61
|
+
for (const t of this.buffer) {
|
|
62
|
+
perEngine[t.engine] = (perEngine[t.engine] ?? 0) + 1;
|
|
63
|
+
perType[t.type] = (perType[t.type] ?? 0) + 1;
|
|
64
|
+
perSignificance[t.significance] = (perSignificance[t.significance] ?? 0) + 1;
|
|
65
|
+
const prev = lastActiveByEngine[t.engine] ?? 0;
|
|
66
|
+
if (t.timestamp > prev)
|
|
67
|
+
lastActiveByEngine[t.engine] = t.timestamp;
|
|
68
|
+
}
|
|
69
|
+
// Active = had a thought in the last 60 seconds
|
|
70
|
+
const now = Date.now();
|
|
71
|
+
const activeEngines = Object.entries(lastActiveByEngine)
|
|
72
|
+
.filter(([, ts]) => now - ts < 60_000)
|
|
73
|
+
.map(([engine]) => engine);
|
|
74
|
+
return {
|
|
75
|
+
totalThoughts: this.totalEmitted,
|
|
76
|
+
thoughtsPerEngine: perEngine,
|
|
77
|
+
thoughtsPerType: perType,
|
|
78
|
+
thoughtsPerSignificance: perSignificance,
|
|
79
|
+
activeEngines,
|
|
80
|
+
uptime: now - this.startTime,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/** Get engine activity list for the status panel. */
|
|
84
|
+
getEngineActivity() {
|
|
85
|
+
const engines = new Map();
|
|
86
|
+
for (const t of this.buffer) {
|
|
87
|
+
const entry = engines.get(t.engine) ?? { total: 0, discoveries: 0, breakthroughs: 0, lastActive: 0 };
|
|
88
|
+
entry.total++;
|
|
89
|
+
if (t.type === 'discovering')
|
|
90
|
+
entry.discoveries++;
|
|
91
|
+
if (t.significance === 'breakthrough')
|
|
92
|
+
entry.breakthroughs++;
|
|
93
|
+
if (t.timestamp > entry.lastActive)
|
|
94
|
+
entry.lastActive = t.timestamp;
|
|
95
|
+
engines.set(t.engine, entry);
|
|
96
|
+
}
|
|
97
|
+
const now = Date.now();
|
|
98
|
+
return Array.from(engines.entries()).map(([engine, data]) => ({
|
|
99
|
+
engine,
|
|
100
|
+
status: (now - data.lastActive < 10_000 ? 'active' : now - data.lastActive < 300_000 ? 'idle' : 'sleeping'),
|
|
101
|
+
lastActive: data.lastActive || null,
|
|
102
|
+
metrics: {
|
|
103
|
+
totalThoughts: data.total,
|
|
104
|
+
discoveries: data.discoveries,
|
|
105
|
+
breakthroughs: data.breakthroughs,
|
|
106
|
+
},
|
|
107
|
+
}));
|
|
108
|
+
}
|
|
109
|
+
/** Clear the buffer. */
|
|
110
|
+
clear() {
|
|
111
|
+
this.buffer = [];
|
|
112
|
+
this.totalEmitted = 0;
|
|
113
|
+
}
|
|
114
|
+
/** Get listener count (for monitoring). */
|
|
115
|
+
getListenerCount() {
|
|
116
|
+
return this.listeners.size;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=thought-stream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thought-stream.js","sourceRoot":"","sources":["../../src/consciousness/thought-stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export type ThoughtType = 'perceiving' | 'analyzing' | 'discovering' | 'hypothesizing' | 'experimenting' | 'dreaming' | 'reflecting' | 'correlating';
|
|
2
|
+
export type ThoughtSignificance = 'routine' | 'notable' | 'breakthrough';
|
|
3
|
+
export interface Thought {
|
|
4
|
+
id: string;
|
|
5
|
+
timestamp: number;
|
|
6
|
+
engine: string;
|
|
7
|
+
type: ThoughtType;
|
|
8
|
+
content: string;
|
|
9
|
+
significance: ThoughtSignificance;
|
|
10
|
+
data?: unknown;
|
|
11
|
+
}
|
|
12
|
+
export interface ConsciousnessConfig {
|
|
13
|
+
/** Max thoughts in circular buffer. Default: 500 */
|
|
14
|
+
maxThoughts?: number;
|
|
15
|
+
}
|
|
16
|
+
export interface ConsciousnessStatus {
|
|
17
|
+
totalThoughts: number;
|
|
18
|
+
thoughtsPerEngine: Record<string, number>;
|
|
19
|
+
thoughtsPerType: Record<string, number>;
|
|
20
|
+
thoughtsPerSignificance: Record<string, number>;
|
|
21
|
+
activeEngines: string[];
|
|
22
|
+
uptime: number;
|
|
23
|
+
}
|
|
24
|
+
export interface EngineActivity {
|
|
25
|
+
engine: string;
|
|
26
|
+
status: 'idle' | 'active' | 'sleeping';
|
|
27
|
+
lastActive: number | null;
|
|
28
|
+
metrics: {
|
|
29
|
+
totalThoughts: number;
|
|
30
|
+
discoveries: number;
|
|
31
|
+
breakthroughs: number;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/consciousness/types.ts"],"names":[],"mappings":"AAAA,2DAA2D"}
|
|
@@ -2,6 +2,7 @@ import type Database from 'better-sqlite3';
|
|
|
2
2
|
import type { BaseEmbeddingEngine } from '../embeddings/engine.js';
|
|
3
3
|
import type { ResearchJournal } from '../research/journal.js';
|
|
4
4
|
import type { KnowledgeDistiller } from '../research/knowledge-distiller.js';
|
|
5
|
+
import type { ThoughtStream } from '../consciousness/thought-stream.js';
|
|
5
6
|
import type { DreamEngineConfig, DreamCycleReport, DreamStatus, DreamHistoryEntry, DreamTrigger } from './types.js';
|
|
6
7
|
export declare function runDreamMigration(db: Database.Database): void;
|
|
7
8
|
export declare class DreamEngine {
|
|
@@ -11,6 +12,7 @@ export declare class DreamEngine {
|
|
|
11
12
|
private embeddingEngine;
|
|
12
13
|
private journal;
|
|
13
14
|
private knowledgeDistiller;
|
|
15
|
+
private thoughtStream;
|
|
14
16
|
private timer;
|
|
15
17
|
private lastActivityTimestamp;
|
|
16
18
|
private cycleCount;
|
|
@@ -22,6 +24,8 @@ export declare class DreamEngine {
|
|
|
22
24
|
setJournal(journal: ResearchJournal): void;
|
|
23
25
|
/** Set the knowledge distiller for periodic distillation during dreams. */
|
|
24
26
|
setKnowledgeDistiller(distiller: KnowledgeDistiller): void;
|
|
27
|
+
/** Set the ThoughtStream for consciousness — emits dream thoughts. */
|
|
28
|
+
setThoughtStream(stream: ThoughtStream): void;
|
|
25
29
|
/** Start the periodic dream timer. */
|
|
26
30
|
start(): void;
|
|
27
31
|
/** Stop the dream timer. */
|
|
@@ -45,6 +45,7 @@ export class DreamEngine {
|
|
|
45
45
|
embeddingEngine = null;
|
|
46
46
|
journal = null;
|
|
47
47
|
knowledgeDistiller = null;
|
|
48
|
+
thoughtStream = null;
|
|
48
49
|
timer = null;
|
|
49
50
|
lastActivityTimestamp = Date.now();
|
|
50
51
|
cycleCount = 0;
|
|
@@ -80,6 +81,10 @@ export class DreamEngine {
|
|
|
80
81
|
setKnowledgeDistiller(distiller) {
|
|
81
82
|
this.knowledgeDistiller = distiller;
|
|
82
83
|
}
|
|
84
|
+
/** Set the ThoughtStream for consciousness — emits dream thoughts. */
|
|
85
|
+
setThoughtStream(stream) {
|
|
86
|
+
this.thoughtStream = stream;
|
|
87
|
+
}
|
|
83
88
|
/** Start the periodic dream timer. */
|
|
84
89
|
start() {
|
|
85
90
|
if (this.timer)
|
|
@@ -108,35 +113,47 @@ export class DreamEngine {
|
|
|
108
113
|
this.cycleCount++;
|
|
109
114
|
const cycleId = `dream-${this.config.brainName}-${Date.now()}-${this.cycleCount}`;
|
|
110
115
|
const start = Date.now();
|
|
116
|
+
const ts = this.thoughtStream;
|
|
111
117
|
this.log.info(`[dream] ─── Dream Cycle #${this.cycleCount} (${trigger}) ───`);
|
|
118
|
+
ts?.emit('dream', 'dreaming', `Dream Cycle #${this.cycleCount} starting (${trigger})...`, 'notable');
|
|
112
119
|
// 1. Memory Replay
|
|
120
|
+
ts?.emit('dream', 'dreaming', `Replaying top ${this.config.replayBatchSize} memories...`);
|
|
113
121
|
const replay = this.consolidator.replayMemories(this.db, this.config);
|
|
114
122
|
if (replay.memoriesReplayed > 0) {
|
|
115
123
|
this.log.info(`[dream] Replay: ${replay.memoriesReplayed} memories, ${replay.synapsesStrengthened} synapses strengthened`);
|
|
124
|
+
ts?.emit('dream', 'dreaming', `Replayed ${replay.memoriesReplayed} memories, strengthened ${replay.synapsesStrengthened} synapses, decayed ${replay.synapsesDecayed}`);
|
|
116
125
|
}
|
|
117
126
|
// 2. Synapse Pruning
|
|
127
|
+
ts?.emit('dream', 'dreaming', `Pruning weak synapses (threshold: ${this.config.dreamPruneThreshold})...`);
|
|
118
128
|
const pruning = this.consolidator.pruneSynapses(this.db, this.config);
|
|
119
129
|
if (pruning.synapsesPruned > 0) {
|
|
120
130
|
this.log.info(`[dream] Pruning: ${pruning.synapsesPruned} weak synapses removed (threshold: ${pruning.threshold})`);
|
|
131
|
+
ts?.emit('dream', 'dreaming', `Pruned ${pruning.synapsesPruned} weak synapses`);
|
|
121
132
|
}
|
|
122
133
|
// 3. Memory Compression
|
|
134
|
+
ts?.emit('dream', 'dreaming', 'Compressing similar memories...');
|
|
123
135
|
const compression = this.consolidator.compressMemories(this.db, this.embeddingEngine, this.config);
|
|
124
136
|
if (compression.memoriesConsolidated > 0) {
|
|
125
137
|
this.log.info(`[dream] Compression: ${compression.memoriesConsolidated} clusters, ${compression.memoriesSuperseded} memories superseded (ratio: ${compression.compressionRatio.toFixed(2)})`);
|
|
138
|
+
ts?.emit('dream', 'dreaming', `Compressed ${compression.memoriesSuperseded} memories into ${compression.memoriesConsolidated} clusters (ratio: ${compression.compressionRatio.toFixed(2)})`, 'notable');
|
|
126
139
|
}
|
|
127
140
|
// 4. Importance Decay
|
|
141
|
+
ts?.emit('dream', 'dreaming', 'Decaying old memory importance...');
|
|
128
142
|
const decay = this.consolidator.decayImportance(this.db, this.config);
|
|
129
143
|
if (decay.memoriesDecayed > 0) {
|
|
130
144
|
this.log.info(`[dream] Decay: ${decay.memoriesDecayed} memories decayed, ${decay.memoriesArchived} archived`);
|
|
145
|
+
ts?.emit('dream', 'dreaming', `Decayed ${decay.memoriesDecayed} memories, archived ${decay.memoriesArchived}`);
|
|
131
146
|
}
|
|
132
147
|
// 5. Knowledge Distillation (optional)
|
|
133
148
|
let principlesDiscovered = 0;
|
|
134
149
|
if (this.knowledgeDistiller) {
|
|
135
150
|
try {
|
|
151
|
+
ts?.emit('dream', 'dreaming', 'Distilling knowledge from dreams...');
|
|
136
152
|
const { principles, antiPatterns, strategies } = this.knowledgeDistiller.distill();
|
|
137
153
|
principlesDiscovered = principles.length + antiPatterns.length + strategies.length;
|
|
138
154
|
if (principlesDiscovered > 0) {
|
|
139
155
|
this.log.info(`[dream] Distillation: ${principlesDiscovered} knowledge items extracted`);
|
|
156
|
+
ts?.emit('dream', 'discovering', `Dream distillation: ${principlesDiscovered} knowledge items extracted`, 'notable');
|
|
140
157
|
}
|
|
141
158
|
}
|
|
142
159
|
catch (err) {
|
|
@@ -191,6 +208,7 @@ export class DreamEngine {
|
|
|
191
208
|
journalEntryId,
|
|
192
209
|
});
|
|
193
210
|
this.log.info(`[dream] ─── Dream Cycle #${this.cycleCount} complete (${duration}ms) ───`);
|
|
211
|
+
ts?.emit('dream', 'dreaming', `Dream Cycle #${this.cycleCount} complete: replayed ${replay.memoriesReplayed}, pruned ${pruning.synapsesPruned}, consolidated ${compression.memoriesConsolidated}, archived ${decay.memoriesArchived} (${duration}ms)`, 'breakthrough');
|
|
194
212
|
return {
|
|
195
213
|
cycleId,
|
|
196
214
|
timestamp: start,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dream-engine.js","sourceRoot":"","sources":["../../src/dream/dream-engine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"dream-engine.js","sourceRoot":"","sources":["../../src/dream/dream-engine.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -95,3 +95,5 @@ export { BrainDataMinerAdapter, TradingDataMinerAdapter, MarketingDataMinerAdapt
|
|
|
95
95
|
export { DreamEngine, runDreamMigration } from './dream/index.js';
|
|
96
96
|
export { DreamConsolidator } from './dream/index.js';
|
|
97
97
|
export type { DreamEngineConfig, DreamCycleReport, DreamStatus, DreamHistoryEntry, DreamTrigger, MemoryReplayResult, SynapsePruneResult, MemoryCompressionResult, MemoryCluster, ImportanceDecayResult } from './dream/index.js';
|
|
98
|
+
export { ThoughtStream, ConsciousnessServer } from './consciousness/index.js';
|
|
99
|
+
export type { ConsciousnessServerOptions, Thought, ThoughtType, ThoughtSignificance, ConsciousnessConfig, ConsciousnessStatus, EngineActivity } from './consciousness/index.js';
|
package/dist/index.js
CHANGED
|
@@ -86,4 +86,6 @@ export { BrainDataMinerAdapter, TradingDataMinerAdapter, MarketingDataMinerAdapt
|
|
|
86
86
|
// ── Dream Mode ──────────────────────────────────────
|
|
87
87
|
export { DreamEngine, runDreamMigration } from './dream/index.js';
|
|
88
88
|
export { DreamConsolidator } from './dream/index.js';
|
|
89
|
+
// ── Consciousness ───────────────────────────────────
|
|
90
|
+
export { ThoughtStream, ConsciousnessServer } from './consciousness/index.js';
|
|
89
91
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ import type { CausalGraph } from '../causal/engine.js';
|
|
|
12
12
|
import type { ResearchCycleReport } from './autonomous-scheduler.js';
|
|
13
13
|
import type { DataMiner } from './data-miner.js';
|
|
14
14
|
import type { DreamEngine } from '../dream/dream-engine.js';
|
|
15
|
+
import type { ThoughtStream } from '../consciousness/thought-stream.js';
|
|
15
16
|
export interface ResearchOrchestratorConfig {
|
|
16
17
|
brainName: string;
|
|
17
18
|
/** Feedback loop interval in ms. Default: 300_000 (5 min) */
|
|
@@ -35,6 +36,7 @@ export declare class ResearchOrchestrator {
|
|
|
35
36
|
readonly journal: ResearchJournal;
|
|
36
37
|
private dataMiner;
|
|
37
38
|
private dreamEngine;
|
|
39
|
+
private thoughtStream;
|
|
38
40
|
private brainName;
|
|
39
41
|
private feedbackTimer;
|
|
40
42
|
private cycleCount;
|
|
@@ -47,6 +49,8 @@ export declare class ResearchOrchestrator {
|
|
|
47
49
|
setDataMiner(miner: DataMiner): void;
|
|
48
50
|
/** Set the DreamEngine — wires journal + knowledgeDistiller into it. */
|
|
49
51
|
setDreamEngine(engine: DreamEngine): void;
|
|
52
|
+
/** Set the ThoughtStream for consciousness — emits thoughts at each step. */
|
|
53
|
+
setThoughtStream(stream: ThoughtStream): void;
|
|
50
54
|
/** Start the autonomous feedback loop timer. */
|
|
51
55
|
start(intervalMs?: number): void;
|
|
52
56
|
/** Stop the feedback loop. */
|