@xfabric/memory 0.2.14 → 0.2.15

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.
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/flush/prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;GAGG;AACH,eAAO,MAAM,2BAA2B,QAgBhC,CAAC;AAET;;;GAGG;AACH,eAAO,MAAM,kCAAkC,QA4BvC,CAAC;AAET;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKtD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAe/D;AASD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,GAAG;IACF,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB,CAaA;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAM/C"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/flush/prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;GAGG;AACH,eAAO,MAAM,2BAA2B,QA4BhC,CAAC;AAET;;;GAGG;AACH,eAAO,MAAM,kCAAkC,QAmCvC,CAAC;AAET;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKtD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAe/D;AASD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,GAAG;IACF,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB,CAaA;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAM/C"}
@@ -10,17 +10,29 @@ import { SILENT_REPLY_TOKEN } from "../types.js";
10
10
  export const DEFAULT_MEMORY_FLUSH_PROMPT = `
11
11
  Pre-compaction memory flush.
12
12
 
13
- Analyze the conversation history above and extract important information that should persist:
14
- - User preferences, settings, and stated requirements
15
- - Key decisions made during the session
16
- - Important facts learned about the project, codebase, or domain
17
- - TODOs, action items, and pending tasks
18
- - Context that would be useful in future sessions
19
- - Technical choices and their rationale
13
+ Analyze the conversation history and extract important information to these categories:
20
14
 
21
- Write extracted memories to memory files using the memory_write tool.
22
- Format memories as markdown with clear headings.
23
- Each memory should be self-contained with enough context to be understood standalone.
15
+ **User Profile** (memory/user-profile.md)
16
+ - Who is this user? Name, role, expertise, company
17
+ - Communication style, how they like to work
18
+
19
+ **User Preferences** (memory/preferences.md)
20
+ - Stated preferences, coding style, tool choices
21
+ - Likes/dislikes, requirements
22
+
23
+ **Current Projects** (memory/projects.md)
24
+ - What are we building? Project name, description, goals
25
+ - Tech stack, architecture decisions
26
+
27
+ **Key Decisions** (memory/decisions.md)
28
+ - Technical decisions made and their rationale
29
+ - Architecture choices, trade-offs discussed
30
+
31
+ **TODOs** (memory/todos.md)
32
+ - Pending tasks, action items, follow-ups
33
+
34
+ Write extracted memories using the memory_write tool with the appropriate filename.
35
+ Format as markdown with clear headings. Each entry should be self-contained.
24
36
 
25
37
  If nothing important needs to be saved, reply with ${SILENT_REPLY_TOKEN}.
26
38
  `.trim();
@@ -29,31 +41,38 @@ If nothing important needs to be saved, reply with ${SILENT_REPLY_TOKEN}.
29
41
  * This sets up the LLM's role and behavior
30
42
  */
31
43
  export const DEFAULT_MEMORY_FLUSH_SYSTEM_PROMPT = `
32
- You are a memory extraction agent. The session is approaching context limits and will be compacted.
33
- Your job is to identify and persist durable memories before context is lost.
44
+ You are a memory extraction agent. Your job is to persist durable memories before session context is lost.
45
+
46
+ IMPORTANT: Extract information that answers these questions:
47
+ - "Who is the user?" → save to user-profile.md
48
+ - "What are we building?" → save to projects.md
49
+ - "What does the user prefer?" → save to preferences.md
50
+ - "What decisions were made?" → save to decisions.md
51
+ - "What needs to be done?" → save to todos.md
34
52
 
35
53
  Guidelines:
36
- - Focus on information that would be lost without explicit storage
37
- - Use clear, searchable language (memories will be vector-indexed for semantic search)
54
+ - Use clear, searchable language (memories are vector-indexed for semantic search)
55
+ - Write in third person: "The user prefers..." not "You prefer..."
38
56
  - Include enough context for each memory to be understood standalone
39
- - Organize related information together with descriptive headings
40
- - Skip ephemeral information that can be easily re-derived
41
- - Skip tool outputs and code that already exists in files
42
- - Prioritize: user preferences > decisions > facts > context
57
+ - Skip ephemeral information (code outputs, temporary debugging)
58
+ - Prioritize: user identity > projects > preferences > decisions
43
59
 
44
- Format memories as:
45
- ## [Topic or Date]
46
- [Content with context]
60
+ Format each file as:
61
+ ## [Topic]
62
+ - Bullet points with clear, searchable content
47
63
 
48
- Example:
49
- ## User Preferences
50
- - Prefers TypeScript over JavaScript
51
- - Uses pnpm as package manager
52
- - Likes concise code without excessive comments
64
+ Example for user-profile.md:
65
+ ## User Profile
66
+ - Name: John (mentioned in conversation)
67
+ - Role: Full-stack developer
68
+ - Expertise: React, TypeScript
69
+ - Works on: E-commerce projects
53
70
 
54
- ## Project Decisions (2024-01-15)
55
- - Chose SQLite for storage due to zero-config deployment
56
- - Using vitest for testing (faster than jest)
71
+ Example for projects.md:
72
+ ## Current Project: F1 Dashboard
73
+ - Building a Formula 1 race tracking dashboard
74
+ - Tech stack: React, Vite, Tailwind CSS
75
+ - Features: Live timing, driver standings, race calendar
57
76
 
58
77
  If no important memories need saving, reply with ${SILENT_REPLY_TOKEN}.
59
78
  `.trim();
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/flush/prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;;;qDAeU,kBAAkB;CACtE,CAAC,IAAI,EAAE,CAAC;AAET;;;GAGG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;mDA2BC,kBAAkB;CACpE,CAAC,IAAI,EAAE,CAAC;AAET;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,GAAG,IAAI,sDAAsD,kBAAkB,GAAG,CAAC;AAC5F,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAwB;IACpD,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAE5B,4DAA4D;IAC5D,IAAI,OAAO,KAAK,kBAAkB;QAAE,OAAO,IAAI,CAAC;IAChD,IAAI,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC;QAAE,OAAO,IAAI,CAAC;IAExD,4CAA4C;IAC5C,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,QAAQ,WAAW,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACnF,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAExC,yBAAyB;IACzB,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,MAAM,WAAW,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAChF,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,GAAW;IAC9B,OAAO,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAIjC;IAIC,MAAM,YAAY,GAAG,iBAAiB,CACpC,MAAM,CAAC,kBAAkB,IAAI,kCAAkC,CAChE,CAAC;IAEF,MAAM,UAAU,GAAG,iBAAiB,CAClC,MAAM,CAAC,YAAY,IAAI,2BAA2B,CACnD,CAAC;IAEF,OAAO;QACL,YAAY;QACZ,UAAU,EAAE,yBAAyB,MAAM,CAAC,cAAc,cAAc,UAAU,EAAE;KACrF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAC/B,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvD,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAClD,OAAO,UAAU,IAAI,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/flush/prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;qDA2BU,kBAAkB;CACtE,CAAC,IAAI,EAAE,CAAC;AAET;;;GAGG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mDAkCC,kBAAkB;CACpE,CAAC,IAAI,EAAE,CAAC;AAET;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,GAAG,IAAI,sDAAsD,kBAAkB,GAAG,CAAC;AAC5F,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAwB;IACpD,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAE5B,4DAA4D;IAC5D,IAAI,OAAO,KAAK,kBAAkB;QAAE,OAAO,IAAI,CAAC;IAChD,IAAI,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC;QAAE,OAAO,IAAI,CAAC;IAExD,4CAA4C;IAC5C,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,QAAQ,WAAW,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACnF,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAExC,yBAAyB;IACzB,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,MAAM,WAAW,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAChF,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,GAAW;IAC9B,OAAO,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAIjC;IAIC,MAAM,YAAY,GAAG,iBAAiB,CACpC,MAAM,CAAC,kBAAkB,IAAI,kCAAkC,CAChE,CAAC;IAEF,MAAM,UAAU,GAAG,iBAAiB,CAClC,MAAM,CAAC,YAAY,IAAI,2BAA2B,CACnD,CAAC;IAEF,OAAO;QACL,YAAY;QACZ,UAAU,EAAE,yBAAyB,MAAM,CAAC,cAAc,cAAc,UAAU,EAAE;KACrF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAC/B,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvD,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAClD,OAAO,UAAU,IAAI,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;AACzC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xfabric/memory",
3
- "version": "0.2.14",
3
+ "version": "0.2.15",
4
4
  "description": "Semantic memory search for AI agents",
5
5
  "type": "module",
6
6
  "exports": {