@the-brain/core 0.2.18 → 0.2.20

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/dist/Brain.d.ts CHANGED
@@ -59,6 +59,7 @@ export declare class Brain {
59
59
  registerAction(name: string, description: string, handler: ActionHandler, examples?: string[]): Promise<void>;
60
60
  removeAction(name: string): Promise<void>;
61
61
  addIntentExamples(actionName: string, examples: string[]): Promise<void>;
62
+ private _classifyWithTools;
62
63
  process(userId: string, text: string): Promise<ProcessResult>;
63
64
  private updateUserProfile;
64
65
  recall(userId: string, text: string): Promise<{
@@ -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,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAc,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AASpE,MAAM,WAAW,WAAW;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,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,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC;KACnC,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,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,MAAM,MAAM,aAAa,GAAG,CAC1B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,WAAW,EAAE,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,EACtF,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;AAED,qBAAa,KAAK;aAaE,GAAG,EAAE,WAAW;aAChB,OAAO,EAAE,eAAe;aACxB,SAAS,CAAC,EAAE,iBAAiB;IAd/C,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IAC7D,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,iBAAiB,CAAK;IAE9B,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;QACrB,GAAG,EAAE,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrD,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KAClD,CAAC,CAAC;gBAGe,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,eAAe,EACxB,SAAS,CAAC,EAAE,iBAAiB,YAAA,EAC7C,MAAM,CAAC,EAAE,WAAW;IA2BhB,GAAG,CAAC,GAAG,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7C,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAW7G,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzC,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAWxE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;YAqDrD,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;;;;CAMrB"}
1
+ {"version":3,"file":"Brain.d.ts","sourceRoot":"","sources":["../src/Brain.ts"],"names":[],"mappings":"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"}
package/dist/Brain.js CHANGED
@@ -72,11 +72,35 @@ export class Brain {
72
72
  const embeddings = await Promise.all(examples.map(e => this.embedding.embed(e)));
73
73
  await this.storage.upsertIntentPoints(actionName, embeddings);
74
74
  }
75
+ // ─── Tool Calling ─────────────────────────────────────────────────────────
76
+ async _classifyWithTools(text, actions) {
77
+ if (!this.llm.completeWithTools || actions.length === 0)
78
+ return null;
79
+ const tools = actions.map(a => ({
80
+ type: "function",
81
+ function: { name: a.name, description: a.description },
82
+ }));
83
+ try {
84
+ const toolCall = await this.llm.completeWithTools({ userPrompt: text, temperature: 0, maxTokens: 50 }, tools);
85
+ if (toolCall && actions.some(a => a.name === toolCall.name)) {
86
+ return { action: toolCall.name };
87
+ }
88
+ }
89
+ catch (err) {
90
+ console.warn("[Brain] Tool calling failed, falling back to classifyIntent:", err instanceof Error ? err.message : String(err));
91
+ }
92
+ return null;
93
+ }
75
94
  // ─── Process ──────────────────────────────────────────────────────────────
76
95
  async process(userId, text) {
77
96
  const actions = this.actionsCache;
78
97
  const chatHistory = await this.storage.getChatHistory(userId);
79
- const intent = await classifyIntent({ userText: text, chatHistory, actions, storage: this.storage, embeddingAdapter: this.embedding }, this.llm);
98
+ // Step 1: Native tool calling (if adapter supports it)
99
+ let intent = await this._classifyWithTools(text, actions);
100
+ // Step 2: Fallback to prompt-based intent classification
101
+ if (!intent) {
102
+ intent = await classifyIntent({ userText: text, chatHistory, actions, storage: this.storage, embeddingAdapter: this.embedding }, this.llm);
103
+ }
80
104
  const context = await getBrainContext(userId, text, this.storage, this.embedding, this.cfg.memory);
81
105
  const handler = this.handlers.get(intent.action);
82
106
  if (!handler) {
package/dist/Brain.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Brain.js","sourceRoot":"","sources":["../src/Brain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Brain.js","sourceRoot":"","sources":["../src/Brain.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,27 @@ export interface LLMRequest {
4
4
  temperature: number;
5
5
  maxTokens: number;
6
6
  }
7
+ export interface LLMTool {
8
+ type: "function";
9
+ function: {
10
+ name: string;
11
+ description: string;
12
+ };
13
+ }
14
+ export interface LLMToolCall {
15
+ name: string;
16
+ arguments: Record<string, unknown>;
17
+ }
7
18
  /**
8
19
  * Adapter interface for any LLM backend.
9
20
  * Returns the raw text content from the model, or null on failure.
10
21
  * Callers use cleanAndParseJSON() if they need structured output.
22
+ *
23
+ * completeWithTools() is optional — implement it to enable native tool calling.
24
+ * When absent, Brain falls back to classifyIntent() prompt-based routing.
11
25
  */
12
26
  export interface ILLMAdapter {
13
27
  complete(request: LLMRequest): Promise<string | null>;
28
+ completeWithTools?(request: LLMRequest, tools: LLMTool[]): Promise<LLMToolCall | null>;
14
29
  }
15
30
  //# sourceMappingURL=ILLMAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ILLMAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/ILLMAdapter.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACvD"}
1
+ {"version":3,"file":"ILLMAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/ILLMAdapter.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACtD,iBAAiB,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CACxF"}
@@ -1,10 +1,13 @@
1
- import { ILLMAdapter, LLMRequest } from "../ILLMAdapter.js";
1
+ import { ILLMAdapter, LLMRequest, LLMTool, LLMToolCall } from "../ILLMAdapter.js";
2
2
  export declare class OpenAICompatibleAdapter implements ILLMAdapter {
3
3
  private readonly url;
4
4
  private readonly model;
5
5
  private readonly apiKey;
6
6
  private readonly timeout;
7
7
  constructor(url?: string, model?: string, apiKey?: string, timeout?: number);
8
+ private buildMessages;
9
+ private post;
8
10
  complete(request: LLMRequest): Promise<string | null>;
11
+ completeWithTools(request: LLMRequest, tools: LLMTool[]): Promise<LLMToolCall | null>;
9
12
  }
10
13
  //# sourceMappingURL=OpenAICompatibleAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAICompatibleAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/llm/OpenAICompatibleAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,qBAAa,uBAAwB,YAAW,WAAW;IAEvD,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAHP,GAAG,GAAE,MAAoB,EACzB,KAAK,GAAE,MAAkB,EACzB,MAAM,GAAE,MAAgB,EACxB,OAAO,GAAE,MAAoB;IAG1C,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAsC5D"}
1
+ {"version":3,"file":"OpenAICompatibleAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/llm/OpenAICompatibleAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIlF,qBAAa,uBAAwB,YAAW,WAAW;IAEvD,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAHP,GAAG,GAAE,MAAoB,EACzB,KAAK,GAAE,MAAkB,EACzB,MAAM,GAAE,MAAgB,EACxB,OAAO,GAAE,MAAoB;IAGhD,OAAO,CAAC,aAAa;YAOP,IAAI;IAmBZ,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAUrD,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;CAmB5F"}
@@ -11,34 +11,25 @@ export class OpenAICompatibleAdapter {
11
11
  this.apiKey = apiKey;
12
12
  this.timeout = timeout;
13
13
  }
14
- async complete(request) {
14
+ buildMessages(request) {
15
+ return [
16
+ ...(request.systemPrompt ? [{ role: "system", content: request.systemPrompt }] : []),
17
+ { role: "user", content: request.userPrompt },
18
+ ];
19
+ }
20
+ async post(body) {
15
21
  const controller = new AbortController();
16
22
  const timer = setTimeout(() => controller.abort(), this.timeout);
17
23
  try {
18
- const messages = [
19
- ...(request.systemPrompt
20
- ? [{ role: "system", content: request.systemPrompt }]
21
- : []),
22
- { role: "user", content: request.userPrompt },
23
- ];
24
24
  const response = await fetch(this.url, {
25
25
  method: "POST",
26
- headers: {
27
- "Content-Type": "application/json",
28
- "Authorization": `Bearer ${this.apiKey}`,
29
- },
30
- body: JSON.stringify({
31
- model: this.model,
32
- messages,
33
- temperature: request.temperature,
34
- max_tokens: request.maxTokens,
35
- }),
26
+ headers: { "Content-Type": "application/json", "Authorization": `Bearer ${this.apiKey}` },
27
+ body: JSON.stringify(body),
36
28
  signal: controller.signal,
37
29
  });
38
30
  if (!response.ok)
39
31
  return null;
40
- const data = await response.json();
41
- return data.choices?.[0]?.message?.content ?? null;
32
+ return response.json();
42
33
  }
43
34
  catch {
44
35
  return null;
@@ -47,5 +38,33 @@ export class OpenAICompatibleAdapter {
47
38
  clearTimeout(timer);
48
39
  }
49
40
  }
41
+ async complete(request) {
42
+ const data = await this.post({
43
+ model: this.model,
44
+ messages: this.buildMessages(request),
45
+ temperature: request.temperature,
46
+ max_tokens: request.maxTokens,
47
+ });
48
+ return data?.choices?.[0]?.message?.content ?? null;
49
+ }
50
+ async completeWithTools(request, tools) {
51
+ const data = await this.post({
52
+ model: this.model,
53
+ messages: this.buildMessages(request),
54
+ tools,
55
+ tool_choice: "required",
56
+ temperature: 0,
57
+ max_tokens: 100,
58
+ });
59
+ const tc = data?.choices?.[0]?.message?.tool_calls?.[0];
60
+ if (!tc)
61
+ return null;
62
+ try {
63
+ return { name: tc.function.name, arguments: JSON.parse(tc.function.arguments || "{}") };
64
+ }
65
+ catch {
66
+ return { name: tc.function.name, arguments: {} };
67
+ }
68
+ }
50
69
  }
51
70
  //# sourceMappingURL=OpenAICompatibleAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAICompatibleAdapter.js","sourceRoot":"","sources":["../../../src/adapters/llm/OpenAICompatibleAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAEhD,wEAAwE;AACxE,MAAM,OAAO,uBAAuB;IAEf;IACA;IACA;IACA;IAJnB,YACmB,MAAc,GAAG,CAAC,OAAO,EACzB,QAAgB,GAAG,CAAC,KAAK,EACzB,SAAiB,OAAO,EACxB,UAAkB,GAAG,CAAC,OAAO;QAH7B,QAAG,GAAH,GAAG,CAAsB;QACzB,UAAK,GAAL,KAAK,CAAoB;QACzB,WAAM,GAAN,MAAM,CAAkB;QACxB,YAAO,GAAP,OAAO,CAAsB;IAC7C,CAAC;IAEJ,KAAK,CAAC,QAAQ,CAAC,OAAmB;QAChC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAEjE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG;gBACf,GAAG,CAAC,OAAO,CAAC,YAAY;oBACtB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;oBACrD,CAAC,CAAC,EAAE,CAAC;gBACP,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE;aAC9C,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;gBACrC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,eAAe,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;iBACzC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,QAAQ;oBACR,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,UAAU,EAAE,OAAO,CAAC,SAAS;iBAC9B,CAAC;gBACF,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC;YAE9B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,OAAQ,IAA2D,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC;QAE7G,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"OpenAICompatibleAdapter.js","sourceRoot":"","sources":["../../../src/adapters/llm/OpenAICompatibleAdapter.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@ export { Brain } from "./Brain.js";
2
2
  export type { ActionHandler, ProcessResult, BrainConfig, BrainPlugin } from "./Brain.js";
3
3
  export { MemoryPlugin } from "./plugins/MemoryPlugin.js";
4
4
  export { SavingPlugin } from "./plugins/SavingPlugin.js";
5
- export type { ILLMAdapter, LLMRequest } from "./adapters/ILLMAdapter.js";
5
+ export type { ILLMAdapter, LLMRequest, LLMTool, LLMToolCall } from "./adapters/ILLMAdapter.js";
6
6
  export type { IEmbeddingAdapter } from "./adapters/IEmbeddingAdapter.js";
7
7
  export type { IStorageAdapter, ActionInfo, EntryAnalysisData, } from "./adapters/IStorageAdapter.js";
8
8
  export { OpenAICompatibleAdapter } from "./adapters/llm/OpenAICompatibleAdapter.js";
@@ -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,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACzE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzE,YAAY,EACV,eAAe,EACf,UAAU,EACV,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,WAAW,GACZ,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"}
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,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC/F,YAAY,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzE,YAAY,EACV,eAAe,EACf,UAAU,EACV,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,WAAW,GACZ,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ingest.service.d.ts","sourceRoot":"","sources":["../../../src/services/ingest/ingest.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,MAAM,EACd,MAAM,MAAM,EACZ,KAAK,WAAW,EAChB,SAAS,eAAe,EACxB,YAAY,iBAAiB,EAC7B,qBAAmB,kDAepB,CAAC"}
1
+ {"version":3,"file":"ingest.service.d.ts","sourceRoot":"","sources":["../../../src/services/ingest/ingest.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,MAAM,EACd,MAAM,MAAM,EACZ,KAAK,WAAW,EAChB,SAAS,eAAe,EACxB,YAAY,iBAAiB,EAC7B,qBAAmB,kDAiBpB,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import { analyzeTextWithAI } from "../ai/analyze.service.js";
2
2
  export const proccessAndStore = async (userId, text, llm, storage, embedding, isPermanent = false) => {
3
- const analysis = await analyzeTextWithAI(text, llm);
3
+ const analysis = isPermanent
4
+ ? { summary: text.substring(0, 100), strength: 10, isProcessed: true }
5
+ : await analyzeTextWithAI(text, llm);
4
6
  const entry = await storage.createEntry(userId, text, { ...analysis, isPermanent });
5
7
  if (embedding) {
6
8
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"ingest.service.js","sourceRoot":"","sources":["../../../src/services/ingest/ingest.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAK7D,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,MAAc,EACd,IAAY,EACZ,GAAgB,EAChB,OAAwB,EACxB,SAA6B,EAC7B,WAAW,GAAG,KAAK,EACnB,EAAE;IACF,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;IAEpF,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,mDAAmD,EAAE,GAAG,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
1
+ {"version":3,"file":"ingest.service.js","sourceRoot":"","sources":["../../../src/services/ingest/ingest.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAK7D,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,MAAc,EACd,IAAY,EACZ,GAAgB,EAChB,OAAwB,EACxB,SAA6B,EAC7B,WAAW,GAAG,KAAK,EACnB,EAAE;IACF,MAAM,QAAQ,GAAG,WAAW;QAC1B,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;QACtE,CAAC,CAAC,MAAM,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;IAEpF,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,mDAAmD,EAAE,GAAG,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@the-brain/core",
3
- "version": "0.2.18",
3
+ "version": "0.2.20",
4
4
  "description": "LLM-agnostic cognitive memory framework — biologically-inspired decay, synapses, Graph RAG",
5
5
  "license": "AGPL-3.0",
6
6
  "publishConfig": {
@@ -27,7 +27,8 @@
27
27
  "build": "tsc",
28
28
  "dev": "tsc --watch",
29
29
  "test": "vitest run",
30
- "test:watch": "vitest"
30
+ "test:watch": "vitest",
31
+ "prepublishOnly": "npm run build"
31
32
  },
32
33
  "devDependencies": {
33
34
  "@types/node": "^22.0.0",