@the-brain/core 0.2.0 → 0.2.2
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 +125 -0
- package/dist/Brain.d.ts +21 -1
- package/dist/Brain.d.ts.map +1 -1
- package/dist/Brain.js +36 -16
- package/dist/Brain.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/services/ai/intent.context.service.d.ts +6 -2
- package/dist/services/ai/intent.context.service.d.ts.map +1 -1
- package/dist/services/ai/intent.context.service.js +11 -8
- package/dist/services/ai/intent.context.service.js.map +1 -1
- package/dist/services/brain/subconscious.routine.d.ts +1 -1
- package/dist/services/brain/subconscious.routine.d.ts.map +1 -1
- package/dist/services/brain/subconscious.routine.js +2 -2
- package/dist/services/brain/subconscious.routine.js.map +1 -1
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# @the-brain/core
|
|
2
|
+
|
|
3
|
+
LLM-agnostic cognitive memory framework with biologically-inspired decay, synapses, and Graph RAG.
|
|
4
|
+
|
|
5
|
+
## What it does
|
|
6
|
+
|
|
7
|
+
- **Memory that forgets** — entries decay over time, strong ones get consolidated to long-term memory
|
|
8
|
+
- **Synaptic connections** — weighted links between related entries, traversed like a graph
|
|
9
|
+
- **Hybrid intent routing** — AI classification with rule-based fallback (works with local or cloud LLMs)
|
|
10
|
+
- **User profile adaptation** — Brain learns your communication style and adapts responses
|
|
11
|
+
- **PDF ingest** — feed documents as permanent memory (`isPermanent=true`, never decays)
|
|
12
|
+
|
|
13
|
+
## Install
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm install @the-brain/core
|
|
17
|
+
# plus a storage adapter:
|
|
18
|
+
npm install @the-brain/adapter-mongo # MongoDB (recommended)
|
|
19
|
+
npm install @the-brain/adapter-sqlite # SQLite (zero-config)
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Quick start
|
|
23
|
+
|
|
24
|
+
```typescript
|
|
25
|
+
import { Brain, OpenAICompatibleAdapter } from "@the-brain/core";
|
|
26
|
+
import { SQLiteStorageAdapter } from "@the-brain/adapter-sqlite";
|
|
27
|
+
|
|
28
|
+
const brain = new Brain(
|
|
29
|
+
new OpenAICompatibleAdapter(
|
|
30
|
+
"http://localhost:11434/v1/chat/completions", // any OpenAI-compatible endpoint
|
|
31
|
+
"llama3.2"
|
|
32
|
+
),
|
|
33
|
+
new SQLiteStorageAdapter("./.brain")
|
|
34
|
+
);
|
|
35
|
+
|
|
36
|
+
await brain.loadActions();
|
|
37
|
+
|
|
38
|
+
// Save a fact
|
|
39
|
+
await brain.save("user-1", "I prefer TypeScript over JavaScript");
|
|
40
|
+
|
|
41
|
+
// Ask a question — Brain routes intent and searches memory
|
|
42
|
+
const result = await brain.process("user-1", "What do I prefer for coding?");
|
|
43
|
+
console.log(result.answer);
|
|
44
|
+
|
|
45
|
+
// Direct memory recall
|
|
46
|
+
const context = await brain.recall("user-1", "TypeScript preferences");
|
|
47
|
+
console.log(context.synapticTree);
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Works with any LLM
|
|
51
|
+
|
|
52
|
+
```typescript
|
|
53
|
+
// Local (Ollama, LM Studio)
|
|
54
|
+
new OpenAICompatibleAdapter("http://localhost:11434/v1/chat/completions", "llama3.2")
|
|
55
|
+
|
|
56
|
+
// Groq (free, fast)
|
|
57
|
+
new OpenAICompatibleAdapter(
|
|
58
|
+
"https://api.groq.com/openai/v1/chat/completions",
|
|
59
|
+
"llama-3.3-70b-versatile",
|
|
60
|
+
process.env.GROQ_API_KEY
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
// OpenAI
|
|
64
|
+
new OpenAICompatibleAdapter(
|
|
65
|
+
"https://api.openai.com/v1/chat/completions",
|
|
66
|
+
"gpt-4o",
|
|
67
|
+
process.env.OPENAI_API_KEY
|
|
68
|
+
)
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Custom actions
|
|
72
|
+
|
|
73
|
+
```typescript
|
|
74
|
+
await brain.registerAction(
|
|
75
|
+
"TRADING_SIGNAL",
|
|
76
|
+
"user asks about trading signals or market analysis",
|
|
77
|
+
async (userId, text, { synapticTree }, llm) => {
|
|
78
|
+
// your handler logic
|
|
79
|
+
return "Signal: BUY BTC — confidence 72%";
|
|
80
|
+
}
|
|
81
|
+
);
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Config overrides
|
|
85
|
+
|
|
86
|
+
Override any default constant per Brain instance:
|
|
87
|
+
|
|
88
|
+
```typescript
|
|
89
|
+
const brain = new Brain(llm, storage, embedding, {
|
|
90
|
+
llm: {
|
|
91
|
+
responseMaxTokens: 3000, // default: 1500
|
|
92
|
+
saveMaxTokens: 500, // default: 300
|
|
93
|
+
},
|
|
94
|
+
memory: {
|
|
95
|
+
synapseTreeDepth: 7, // default: 5
|
|
96
|
+
synapseBranchFactor: 7, // default: 5
|
|
97
|
+
contextTopEntries: 8, // default: 5
|
|
98
|
+
decayWindowMs: 30 * 24 * 60 * 60 * 1000, // default: 7 days
|
|
99
|
+
},
|
|
100
|
+
chat: {
|
|
101
|
+
historyMaxStored: 20, // default: 10
|
|
102
|
+
maintenanceEveryN: 50, // default: 20
|
|
103
|
+
profileUpdateEveryN: 5, // default: 10
|
|
104
|
+
},
|
|
105
|
+
});
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Memory lifecycle
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
Save entry (strength=5)
|
|
112
|
+
→ Conscious processor: analyze, build synapses, consolidate strong entries to LTM
|
|
113
|
+
→ Subconscious routine: decay inactive entries, prune dead ones
|
|
114
|
+
→ Long-term memory: strength ≥ 10 → permanent summary created
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Run maintenance manually or let Brain trigger it automatically every N saves:
|
|
118
|
+
|
|
119
|
+
```typescript
|
|
120
|
+
const { subStats, consciousStats } = await brain.runMaintenance();
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## License
|
|
124
|
+
|
|
125
|
+
AGPL-3.0 — [github.com/greg00ry/the-brain](https://github.com/greg00ry/the-brain)
|
package/dist/Brain.d.ts
CHANGED
|
@@ -1,6 +1,25 @@
|
|
|
1
1
|
import { ILLMAdapter } from "./adapters/ILLMAdapter.js";
|
|
2
2
|
import { IStorageAdapter } from "./adapters/IStorageAdapter.js";
|
|
3
3
|
import { IEmbeddingAdapter } from "./adapters/IEmbeddingAdapter.js";
|
|
4
|
+
export interface BrainConfig {
|
|
5
|
+
llm?: {
|
|
6
|
+
responseTemperature?: number;
|
|
7
|
+
responseMaxTokens?: number;
|
|
8
|
+
saveTemperature?: number;
|
|
9
|
+
saveMaxTokens?: number;
|
|
10
|
+
};
|
|
11
|
+
memory?: {
|
|
12
|
+
synapseTreeDepth?: number;
|
|
13
|
+
synapseBranchFactor?: number;
|
|
14
|
+
contextTopEntries?: number;
|
|
15
|
+
decayWindowMs?: number;
|
|
16
|
+
};
|
|
17
|
+
chat?: {
|
|
18
|
+
historyMaxStored?: number;
|
|
19
|
+
maintenanceEveryN?: number;
|
|
20
|
+
profileUpdateEveryN?: number;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
4
23
|
export type ActionHandler = (userId: string, text: string, context: {
|
|
5
24
|
synapticTree: string;
|
|
6
25
|
hasContext: boolean;
|
|
@@ -21,7 +40,8 @@ export declare class Brain {
|
|
|
21
40
|
private handlers;
|
|
22
41
|
private saveCount;
|
|
23
42
|
private conversationCount;
|
|
24
|
-
|
|
43
|
+
private readonly cfg;
|
|
44
|
+
constructor(llm: ILLMAdapter, storage: IStorageAdapter, embedding?: IEmbeddingAdapter | undefined, config?: BrainConfig);
|
|
25
45
|
loadActions(): Promise<void>;
|
|
26
46
|
registerAction(name: string, description: string, handler: ActionHandler): Promise<void>;
|
|
27
47
|
process(userId: string, text: string): Promise<ProcessResult>;
|
package/dist/Brain.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Brain.d.ts","sourceRoot":"","sources":["../src/Brain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAc,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAYpE,MAAM,MAAM,aAAa,GAAG,CAC1B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,EACtD,GAAG,EAAE,WAAW,EAChB,WAAW,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,KAC9C,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AASD,qBAAa,KAAK;
|
|
1
|
+
{"version":3,"file":"Brain.d.ts","sourceRoot":"","sources":["../src/Brain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAc,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAYpE,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE;QACJ,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B,CAAC;CACH;AAED,MAAM,MAAM,aAAa,GAAG,CAC1B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,EACtD,GAAG,EAAE,WAAW,EAChB,WAAW,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,KAC9C,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AASD,qBAAa,KAAK;IAYd,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAb7B,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAIjB;gBAGgB,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,eAAe,EACxB,SAAS,CAAC,EAAE,iBAAiB,YAAA,EAC9C,MAAM,CAAC,EAAE,WAAW;IAsDhB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxF,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;YA4DrD,iBAAiB;IAsBzB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;;IAInC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,UAAQ;IAItD,cAAc;;;;CAKrB"}
|
package/dist/Brain.js
CHANGED
|
@@ -7,7 +7,7 @@ import { RESEARCH_ANSWER_PROMPT } from "./services/ai/prompts/research-answer.pr
|
|
|
7
7
|
import { SAVE_RESPONSE_PROMPT } from "./services/ai/prompts/save-response.prompt.js";
|
|
8
8
|
import { PERSONALITY_SYSTEM_PROMPT } from "./services/ai/prompts/personality.prompt.js";
|
|
9
9
|
import { USER_PROFILE_PROMPT, buildSystemPrompt } from "./services/ai/prompts/user-profile.prompt.js";
|
|
10
|
-
import { LLM, CHAT } from "./config/constants.js";
|
|
10
|
+
import { LLM, CHAT, MEMORY, BRAIN } from "./config/constants.js";
|
|
11
11
|
// ─── Built-in handlers ────────────────────────────────────────────────────────
|
|
12
12
|
const BUILT_IN_ACTIONS = [
|
|
13
13
|
{ name: "SAVE_ONLY", description: "user states a fact, shares info, opinion, preference, or wants to store something" },
|
|
@@ -21,10 +21,30 @@ export class Brain {
|
|
|
21
21
|
handlers = new Map();
|
|
22
22
|
saveCount = 0;
|
|
23
23
|
conversationCount = 0;
|
|
24
|
-
|
|
24
|
+
cfg;
|
|
25
|
+
constructor(llm, storage, embedding, config) {
|
|
25
26
|
this.llm = llm;
|
|
26
27
|
this.storage = storage;
|
|
27
28
|
this.embedding = embedding;
|
|
29
|
+
this.cfg = {
|
|
30
|
+
llm: {
|
|
31
|
+
responseTemperature: config?.llm?.responseTemperature ?? LLM.RESPONSE_TEMPERATURE,
|
|
32
|
+
responseMaxTokens: config?.llm?.responseMaxTokens ?? LLM.RESPONSE_MAX_TOKENS,
|
|
33
|
+
saveTemperature: config?.llm?.saveTemperature ?? LLM.SAVE_TEMPERATURE,
|
|
34
|
+
saveMaxTokens: config?.llm?.saveMaxTokens ?? LLM.SAVE_MAX_TOKENS,
|
|
35
|
+
},
|
|
36
|
+
memory: {
|
|
37
|
+
synapseTreeDepth: config?.memory?.synapseTreeDepth ?? MEMORY.SYNAPSE_TREE_DEPTH,
|
|
38
|
+
synapseBranchFactor: config?.memory?.synapseBranchFactor ?? MEMORY.SYNAPSE_BRANCH_FACTOR,
|
|
39
|
+
contextTopEntries: config?.memory?.contextTopEntries ?? MEMORY.CONTEXT_TOP_ENTRIES,
|
|
40
|
+
decayWindowMs: config?.memory?.decayWindowMs ?? BRAIN.DECAY_WINDOW_MS,
|
|
41
|
+
},
|
|
42
|
+
chat: {
|
|
43
|
+
historyMaxStored: config?.chat?.historyMaxStored ?? CHAT.HISTORY_MAX_STORED,
|
|
44
|
+
maintenanceEveryN: config?.chat?.maintenanceEveryN ?? CHAT.MAINTENANCE_EVERY_N,
|
|
45
|
+
profileUpdateEveryN: config?.chat?.profileUpdateEveryN ?? CHAT.PROFILE_UPDATE_EVERY_N,
|
|
46
|
+
},
|
|
47
|
+
};
|
|
28
48
|
this.handlers.set("RESEARCH_BRAIN", async (userId, text, { synapticTree, hasContext }, _llm, chatHistory) => {
|
|
29
49
|
const userProfile = await this.storage.getUserProfile(userId);
|
|
30
50
|
const systemPrompt = buildSystemPrompt(PERSONALITY_SYSTEM_PROMPT, userProfile);
|
|
@@ -34,8 +54,8 @@ export class Brain {
|
|
|
34
54
|
const answer = await this.llm.complete({
|
|
35
55
|
systemPrompt,
|
|
36
56
|
userPrompt: prompt,
|
|
37
|
-
temperature:
|
|
38
|
-
maxTokens:
|
|
57
|
+
temperature: this.cfg.llm.responseTemperature,
|
|
58
|
+
maxTokens: this.cfg.llm.responseMaxTokens,
|
|
39
59
|
});
|
|
40
60
|
return answer ?? "Coś poszło nie tak z generowaniem odpowiedzi.";
|
|
41
61
|
});
|
|
@@ -45,8 +65,8 @@ export class Brain {
|
|
|
45
65
|
const answer = await this.llm.complete({
|
|
46
66
|
systemPrompt,
|
|
47
67
|
userPrompt: SAVE_RESPONSE_PROMPT(text, chatHistory),
|
|
48
|
-
temperature:
|
|
49
|
-
maxTokens:
|
|
68
|
+
temperature: this.cfg.llm.saveTemperature,
|
|
69
|
+
maxTokens: this.cfg.llm.saveMaxTokens,
|
|
50
70
|
});
|
|
51
71
|
return answer ?? "Zapisałem to.";
|
|
52
72
|
});
|
|
@@ -70,7 +90,7 @@ export class Brain {
|
|
|
70
90
|
// Load persistent chat history from DB
|
|
71
91
|
const chatHistory = await this.storage.getChatHistory(userId);
|
|
72
92
|
const intent = await classifyIntent({ userText: text, chatHistory, actions }, this.llm);
|
|
73
|
-
const context = await getBrainContext(userId, text, this.storage, this.embedding);
|
|
93
|
+
const context = await getBrainContext(userId, text, this.storage, this.embedding, this.cfg.memory);
|
|
74
94
|
const handler = this.handlers.get(intent.action);
|
|
75
95
|
if (!handler) {
|
|
76
96
|
return { action: intent.action, answer: `Nieznana akcja: ${intent.action}` };
|
|
@@ -81,25 +101,25 @@ export class Brain {
|
|
|
81
101
|
answer = await handler(userId, text, context, this.llm, chatHistory);
|
|
82
102
|
// Trigger maintenance every N saves (fire and forget)
|
|
83
103
|
this.saveCount++;
|
|
84
|
-
if (this.saveCount %
|
|
104
|
+
if (this.saveCount % this.cfg.chat.maintenanceEveryN === 0) {
|
|
85
105
|
this.runMaintenance().catch(err => console.error('[Brain] Maintenance error:', err));
|
|
86
106
|
}
|
|
87
107
|
// Persist chat history
|
|
88
|
-
await this.storage.appendChatMessage(userId, "user", text,
|
|
89
|
-
await this.storage.appendChatMessage(userId, "assistant", answer,
|
|
108
|
+
await this.storage.appendChatMessage(userId, "user", text, this.cfg.chat.historyMaxStored);
|
|
109
|
+
await this.storage.appendChatMessage(userId, "assistant", answer, this.cfg.chat.historyMaxStored);
|
|
90
110
|
// Update user profile every N conversations (fire and forget)
|
|
91
111
|
this.conversationCount++;
|
|
92
|
-
if (this.conversationCount %
|
|
112
|
+
if (this.conversationCount % this.cfg.chat.profileUpdateEveryN === 0) {
|
|
93
113
|
this.updateUserProfile(userId, chatHistory).catch(err => console.error('[Brain] Profile update error:', err));
|
|
94
114
|
}
|
|
95
115
|
return { action: "SAVE_ONLY", answer, entryId: entry._id };
|
|
96
116
|
}
|
|
97
117
|
answer = await handler(userId, text, context, this.llm, chatHistory);
|
|
98
|
-
await this.storage.appendChatMessage(userId, "user", text,
|
|
99
|
-
await this.storage.appendChatMessage(userId, "assistant", answer,
|
|
118
|
+
await this.storage.appendChatMessage(userId, "user", text, this.cfg.chat.historyMaxStored);
|
|
119
|
+
await this.storage.appendChatMessage(userId, "assistant", answer, this.cfg.chat.historyMaxStored);
|
|
100
120
|
// Update user profile every N conversations (fire and forget)
|
|
101
121
|
this.conversationCount++;
|
|
102
|
-
if (this.conversationCount %
|
|
122
|
+
if (this.conversationCount % this.cfg.chat.profileUpdateEveryN === 0) {
|
|
103
123
|
this.updateUserProfile(userId, chatHistory).catch(err => console.error('[Brain] Profile update error:', err));
|
|
104
124
|
}
|
|
105
125
|
return { action: intent.action, answer };
|
|
@@ -124,13 +144,13 @@ export class Brain {
|
|
|
124
144
|
}
|
|
125
145
|
}
|
|
126
146
|
async recall(userId, text) {
|
|
127
|
-
return getBrainContext(userId, text, this.storage, this.embedding);
|
|
147
|
+
return getBrainContext(userId, text, this.storage, this.embedding, this.cfg.memory);
|
|
128
148
|
}
|
|
129
149
|
async save(userId, text, isPermanent = false) {
|
|
130
150
|
return proccessAndStore(userId, text, this.llm, this.storage, this.embedding, isPermanent);
|
|
131
151
|
}
|
|
132
152
|
async runMaintenance() {
|
|
133
|
-
const subStats = await runSubconsciousRoutine(this.storage);
|
|
153
|
+
const subStats = await runSubconsciousRoutine(this.storage, this.cfg.memory.decayWindowMs);
|
|
134
154
|
const consciousStats = await runConsciousProcessor(this.llm, this.storage);
|
|
135
155
|
return { subStats, consciousStats };
|
|
136
156
|
}
|
package/dist/Brain.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Brain.js","sourceRoot":"","sources":["../src/Brain.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAe,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACtG,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"Brain.js","sourceRoot":"","sources":["../src/Brain.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { Brain } from "./Brain.js";
|
|
2
|
-
export type { ActionHandler, ProcessResult } from "./Brain.js";
|
|
2
|
+
export type { ActionHandler, ProcessResult, BrainConfig } from "./Brain.js";
|
|
3
3
|
export type { ILLMAdapter, LLMRequest } from "./adapters/ILLMAdapter.js";
|
|
4
4
|
export type { IEmbeddingAdapter } from "./adapters/IEmbeddingAdapter.js";
|
|
5
5
|
export type { IStorageAdapter, ActionInfo, CategoryInfo, EntryAnalysisData, } from "./adapters/IStorageAdapter.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG5E,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACzE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzE,YAAY,EACV,eAAe,EACf,UAAU,EACV,YAAY,EACZ,iBAAiB,GAClB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,gCAAgC,EAAE,MAAM,0DAA0D,CAAC;AAG5G,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,SAAS,GACV,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACzF,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,YAAY,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,YAAY,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAG9E,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAGhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -9,9 +9,13 @@ interface SynapseNode {
|
|
|
9
9
|
level: number;
|
|
10
10
|
children: SynapseNode[];
|
|
11
11
|
}
|
|
12
|
-
export declare function getSynapticTree(startEntryId: string, storage: IStorageAdapter, depth?: number, visited?: Set<string>, currentLevel?: number): Promise<SynapseNode[]>;
|
|
12
|
+
export declare function getSynapticTree(startEntryId: string, storage: IStorageAdapter, depth?: number, visited?: Set<string>, currentLevel?: number, branchFactor?: number): Promise<SynapseNode[]>;
|
|
13
13
|
export declare function formatSynapticTree(nodes: SynapseNode[], indent?: string): string;
|
|
14
|
-
export declare function getBrainContext(userId: string, userText: string, storage: IStorageAdapter, embeddingAdapter?: IEmbeddingAdapter
|
|
14
|
+
export declare function getBrainContext(userId: string, userText: string, storage: IStorageAdapter, embeddingAdapter?: IEmbeddingAdapter, memoryConfig?: {
|
|
15
|
+
synapseTreeDepth?: number;
|
|
16
|
+
synapseBranchFactor?: number;
|
|
17
|
+
contextTopEntries?: number;
|
|
18
|
+
}): Promise<{
|
|
15
19
|
relevantEntries: IVaultEntry[];
|
|
16
20
|
synapticTree: string;
|
|
17
21
|
hasContext: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intent.context.service.d.ts","sourceRoot":"","sources":["../../../src/services/ai/intent.context.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAOxE,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAID,wBAAsB,eAAe,CACnC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,eAAe,EACxB,KAAK,SAAI,EACT,OAAO,GAAE,GAAG,CAAC,MAAM,CAAa,EAChC,YAAY,SAAI,
|
|
1
|
+
{"version":3,"file":"intent.context.service.d.ts","sourceRoot":"","sources":["../../../src/services/ai/intent.context.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAOxE,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAID,wBAAsB,eAAe,CACnC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,eAAe,EACxB,KAAK,SAAI,EACT,OAAO,GAAE,GAAG,CAAC,MAAM,CAAa,EAChC,YAAY,SAAI,EAChB,YAAY,GAAE,MAAqC,GAClD,OAAO,CAAC,WAAW,EAAE,CAAC,CAmCxB;AAID,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,MAAM,SAAK,GAAG,MAAM,CAmB5E;AAqBD,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,EACxB,gBAAgB,CAAC,EAAE,iBAAiB,EACpC,YAAY,CAAC,EAAE;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,GACA,OAAO,CAAC;IACT,eAAe,EAAE,WAAW,EAAE,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC,CA+DD"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { MEMORY } from "../../config/constants.js";
|
|
2
2
|
// ─── Recursive Synaptic Tree (3x3) ───────────────────────────────────────────
|
|
3
|
-
export async function getSynapticTree(startEntryId, storage, depth = 1, visited = new Set(), currentLevel = 1) {
|
|
3
|
+
export async function getSynapticTree(startEntryId, storage, depth = 1, visited = new Set(), currentLevel = 1, branchFactor = MEMORY.SYNAPSE_BRANCH_FACTOR) {
|
|
4
4
|
if (depth <= 0 || visited.has(startEntryId))
|
|
5
5
|
return [];
|
|
6
6
|
visited.add(startEntryId);
|
|
7
7
|
try {
|
|
8
|
-
const synapses = await storage.getSynapsesBySource(startEntryId,
|
|
8
|
+
const synapses = await storage.getSynapsesBySource(startEntryId, branchFactor);
|
|
9
9
|
if (synapses.length === 0)
|
|
10
10
|
return [];
|
|
11
11
|
const nodes = [];
|
|
@@ -14,7 +14,7 @@ export async function getSynapticTree(startEntryId, storage, depth = 1, visited
|
|
|
14
14
|
const summary = synapse.targetSummary
|
|
15
15
|
|| synapse.targetRawText?.substring(0, MEMORY.RAW_TEXT_PREVIEW_LENGTH)
|
|
16
16
|
|| 'Brak opisu';
|
|
17
|
-
const children = await getSynapticTree(targetId, storage, depth - 1, visited, currentLevel + 1);
|
|
17
|
+
const children = await getSynapticTree(targetId, storage, depth - 1, visited, currentLevel + 1, branchFactor);
|
|
18
18
|
nodes.push({
|
|
19
19
|
entryId: targetId,
|
|
20
20
|
summary,
|
|
@@ -64,7 +64,10 @@ function mergeEntries(arrays) {
|
|
|
64
64
|
return result;
|
|
65
65
|
}
|
|
66
66
|
// ─── Get Brain Context ────────────────────────────────────────────────────────
|
|
67
|
-
export async function getBrainContext(userId, userText, storage, embeddingAdapter) {
|
|
67
|
+
export async function getBrainContext(userId, userText, storage, embeddingAdapter, memoryConfig) {
|
|
68
|
+
const treeDepth = memoryConfig?.synapseTreeDepth ?? MEMORY.SYNAPSE_TREE_DEPTH;
|
|
69
|
+
const branchFactor = memoryConfig?.synapseBranchFactor ?? MEMORY.SYNAPSE_BRANCH_FACTOR;
|
|
70
|
+
const topEntries = memoryConfig?.contextTopEntries ?? MEMORY.CONTEXT_TOP_ENTRIES;
|
|
68
71
|
try {
|
|
69
72
|
const keywords = extractKeywords(userText);
|
|
70
73
|
let entries;
|
|
@@ -73,15 +76,15 @@ export async function getBrainContext(userId, userText, storage, embeddingAdapte
|
|
|
73
76
|
if (terms.length === 0) {
|
|
74
77
|
// No keywords — fall back to full-text embedding
|
|
75
78
|
const vector = await embeddingAdapter.embed(userText);
|
|
76
|
-
entries = await storage.findSimilarEntries(userId, vector,
|
|
79
|
+
entries = await storage.findSimilarEntries(userId, vector, topEntries);
|
|
77
80
|
}
|
|
78
81
|
else {
|
|
79
82
|
// Multi-query: embed each term separately, merge results
|
|
80
83
|
const results = await Promise.all(terms.map(async (term) => {
|
|
81
84
|
const vector = await embeddingAdapter.embed(term);
|
|
82
|
-
return storage.findSimilarEntries(userId, vector,
|
|
85
|
+
return storage.findSimilarEntries(userId, vector, topEntries);
|
|
83
86
|
}));
|
|
84
|
-
entries = mergeEntries(results).slice(0,
|
|
87
|
+
entries = mergeEntries(results).slice(0, topEntries);
|
|
85
88
|
}
|
|
86
89
|
}
|
|
87
90
|
else {
|
|
@@ -101,7 +104,7 @@ export async function getBrainContext(userId, userText, storage, embeddingAdapte
|
|
|
101
104
|
const entryId = entry._id.toString();
|
|
102
105
|
const summary = entry.analysis?.summary || entry.rawText.substring(0, MEMORY.RAW_TEXT_PREVIEW_LENGTH);
|
|
103
106
|
synapticTreeFormatted += `📍 START: "${summary}"\n`;
|
|
104
|
-
const tree = await getSynapticTree(entryId, storage,
|
|
107
|
+
const tree = await getSynapticTree(entryId, storage, treeDepth, new Set(), 1, branchFactor);
|
|
105
108
|
synapticTreeFormatted += tree.length > 0
|
|
106
109
|
? formatSynapticTree(tree)
|
|
107
110
|
: ' (brak połączeń)\n';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intent.context.service.js","sourceRoot":"","sources":["../../../src/services/ai/intent.context.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAenD,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,YAAoB,EACpB,OAAwB,EACxB,KAAK,GAAG,CAAC,EACT,UAAuB,IAAI,GAAG,EAAE,EAChC,YAAY,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"intent.context.service.js","sourceRoot":"","sources":["../../../src/services/ai/intent.context.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,5 +9,5 @@ export interface SubconsciousStats {
|
|
|
9
9
|
* Subconscious routine - runs WITHOUT AI, pure logic/math operations.
|
|
10
10
|
* Handles: Decay, Pruning, and marking entries ready for consolidation.
|
|
11
11
|
*/
|
|
12
|
-
export declare function runSubconsciousRoutine(storage: IStorageAdapter): Promise<SubconsciousStats>;
|
|
12
|
+
export declare function runSubconsciousRoutine(storage: IStorageAdapter, decayWindowMs?: number): Promise<SubconsciousStats>;
|
|
13
13
|
//# sourceMappingURL=subconscious.routine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subconscious.routine.d.ts","sourceRoot":"","sources":["../../../src/services/brain/subconscious.routine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AASpE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB;AAGD;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"subconscious.routine.d.ts","sourceRoot":"","sources":["../../../src/services/brain/subconscious.routine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AASpE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB;AAGD;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,eAAe,EAAE,aAAa,SAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA6ExI"}
|
|
@@ -3,7 +3,7 @@ import { BRAIN } from "../../config/constants.js";
|
|
|
3
3
|
* Subconscious routine - runs WITHOUT AI, pure logic/math operations.
|
|
4
4
|
* Handles: Decay, Pruning, and marking entries ready for consolidation.
|
|
5
5
|
*/
|
|
6
|
-
export async function runSubconsciousRoutine(storage) {
|
|
6
|
+
export async function runSubconsciousRoutine(storage, decayWindowMs = BRAIN.DECAY_WINDOW_MS) {
|
|
7
7
|
console.log('\n🌘 [Podświadomość] Uruchamiam rutynę podświadomości...');
|
|
8
8
|
const startTime = Date.now();
|
|
9
9
|
const stats = {
|
|
@@ -21,7 +21,7 @@ export async function runSubconsciousRoutine(storage) {
|
|
|
21
21
|
// Reduce strength by 1 for entries NOT in LTM and not recently active
|
|
22
22
|
// ========================================
|
|
23
23
|
console.log('🌘 [Podświadomość] Faza 1: DECAY (zanikanie wspomnień)...');
|
|
24
|
-
const oneDayAgo = new Date(Date.now() -
|
|
24
|
+
const oneDayAgo = new Date(Date.now() - decayWindowMs);
|
|
25
25
|
const entriesToDecay = await storage.findEntriesToDecay(oneDayAgo);
|
|
26
26
|
if (entriesToDecay.length > 0) {
|
|
27
27
|
const idsToDecay = entriesToDecay
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subconscious.routine.js","sourceRoot":"","sources":["../../../src/services/brain/subconscious.routine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAgBlD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAAwB;
|
|
1
|
+
{"version":3,"file":"subconscious.routine.js","sourceRoot":"","sources":["../../../src/services/brain/subconscious.routine.ts"],"names":[],"mappings":"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"}
|