ai-memory-layer 2.0.1 → 3.0.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.
Files changed (186) hide show
  1. package/CHANGELOG.md +19 -12
  2. package/README.md +435 -320
  3. package/bin/memory-server.mjs +0 -0
  4. package/dist/adapters/memory/embeddings.d.ts.map +1 -1
  5. package/dist/adapters/memory/embeddings.js +12 -1
  6. package/dist/adapters/memory/embeddings.js.map +1 -1
  7. package/dist/adapters/memory/index.d.ts.map +1 -1
  8. package/dist/adapters/memory/index.js +1281 -48
  9. package/dist/adapters/memory/index.js.map +1 -1
  10. package/dist/adapters/postgres/index.d.ts +1 -0
  11. package/dist/adapters/postgres/index.d.ts.map +1 -1
  12. package/dist/adapters/postgres/index.js +1770 -42
  13. package/dist/adapters/postgres/index.js.map +1 -1
  14. package/dist/adapters/sqlite/embeddings.d.ts.map +1 -1
  15. package/dist/adapters/sqlite/embeddings.js +49 -12
  16. package/dist/adapters/sqlite/embeddings.js.map +1 -1
  17. package/dist/adapters/sqlite/index.d.ts.map +1 -1
  18. package/dist/adapters/sqlite/index.js +1720 -38
  19. package/dist/adapters/sqlite/index.js.map +1 -1
  20. package/dist/adapters/sqlite/mappers.d.ts +39 -4
  21. package/dist/adapters/sqlite/mappers.d.ts.map +1 -1
  22. package/dist/adapters/sqlite/mappers.js +87 -0
  23. package/dist/adapters/sqlite/mappers.js.map +1 -1
  24. package/dist/adapters/sqlite/schema.d.ts +1 -1
  25. package/dist/adapters/sqlite/schema.d.ts.map +1 -1
  26. package/dist/adapters/sqlite/schema.js +297 -1
  27. package/dist/adapters/sqlite/schema.js.map +1 -1
  28. package/dist/adapters/sync-to-async.d.ts.map +1 -1
  29. package/dist/adapters/sync-to-async.js +54 -0
  30. package/dist/adapters/sync-to-async.js.map +1 -1
  31. package/dist/contracts/async-storage.d.ts +61 -1
  32. package/dist/contracts/async-storage.d.ts.map +1 -1
  33. package/dist/contracts/cognitive.d.ts +37 -0
  34. package/dist/contracts/cognitive.d.ts.map +1 -0
  35. package/dist/contracts/cognitive.js +24 -0
  36. package/dist/contracts/cognitive.js.map +1 -0
  37. package/dist/contracts/coordination.d.ts +101 -0
  38. package/dist/contracts/coordination.d.ts.map +1 -0
  39. package/dist/contracts/coordination.js +26 -0
  40. package/dist/contracts/coordination.js.map +1 -0
  41. package/dist/contracts/embedding.d.ts +1 -1
  42. package/dist/contracts/embedding.d.ts.map +1 -1
  43. package/dist/contracts/errors.d.ts +28 -0
  44. package/dist/contracts/errors.d.ts.map +1 -0
  45. package/dist/contracts/errors.js +41 -0
  46. package/dist/contracts/errors.js.map +1 -0
  47. package/dist/contracts/identity.d.ts +2 -0
  48. package/dist/contracts/identity.d.ts.map +1 -1
  49. package/dist/contracts/identity.js +26 -1
  50. package/dist/contracts/identity.js.map +1 -1
  51. package/dist/contracts/observability.d.ts +2 -1
  52. package/dist/contracts/observability.d.ts.map +1 -1
  53. package/dist/contracts/observability.js +11 -0
  54. package/dist/contracts/observability.js.map +1 -1
  55. package/dist/contracts/profile.d.ts +29 -0
  56. package/dist/contracts/profile.d.ts.map +1 -0
  57. package/dist/contracts/profile.js +2 -0
  58. package/dist/contracts/profile.js.map +1 -0
  59. package/dist/contracts/session-state.d.ts +10 -0
  60. package/dist/contracts/session-state.d.ts.map +1 -0
  61. package/dist/contracts/session-state.js +2 -0
  62. package/dist/contracts/session-state.js.map +1 -0
  63. package/dist/contracts/storage.d.ts +73 -1
  64. package/dist/contracts/storage.d.ts.map +1 -1
  65. package/dist/contracts/storage.js +16 -1
  66. package/dist/contracts/storage.js.map +1 -1
  67. package/dist/contracts/temporal.d.ts +112 -0
  68. package/dist/contracts/temporal.d.ts.map +1 -0
  69. package/dist/contracts/temporal.js +31 -0
  70. package/dist/contracts/temporal.js.map +1 -0
  71. package/dist/contracts/types.d.ts +135 -0
  72. package/dist/contracts/types.d.ts.map +1 -1
  73. package/dist/contracts/types.js +27 -0
  74. package/dist/contracts/types.js.map +1 -1
  75. package/dist/core/associations.d.ts +18 -0
  76. package/dist/core/associations.d.ts.map +1 -0
  77. package/dist/core/associations.js +185 -0
  78. package/dist/core/associations.js.map +1 -0
  79. package/dist/core/circuit-breaker.d.ts +9 -0
  80. package/dist/core/circuit-breaker.d.ts.map +1 -1
  81. package/dist/core/circuit-breaker.js +13 -1
  82. package/dist/core/circuit-breaker.js.map +1 -1
  83. package/dist/core/cognitive.d.ts +5 -0
  84. package/dist/core/cognitive.d.ts.map +1 -0
  85. package/dist/core/cognitive.js +120 -0
  86. package/dist/core/cognitive.js.map +1 -0
  87. package/dist/core/context.d.ts +72 -1
  88. package/dist/core/context.d.ts.map +1 -1
  89. package/dist/core/context.js +471 -45
  90. package/dist/core/context.js.map +1 -1
  91. package/dist/core/episodic.d.ts +28 -0
  92. package/dist/core/episodic.d.ts.map +1 -0
  93. package/dist/core/episodic.js +371 -0
  94. package/dist/core/episodic.js.map +1 -0
  95. package/dist/core/formatter.d.ts +4 -0
  96. package/dist/core/formatter.d.ts.map +1 -1
  97. package/dist/core/formatter.js +103 -0
  98. package/dist/core/formatter.js.map +1 -1
  99. package/dist/core/maintenance.d.ts +1 -0
  100. package/dist/core/maintenance.d.ts.map +1 -1
  101. package/dist/core/maintenance.js +75 -0
  102. package/dist/core/maintenance.js.map +1 -1
  103. package/dist/core/manager.d.ts +159 -7
  104. package/dist/core/manager.d.ts.map +1 -1
  105. package/dist/core/manager.js +740 -31
  106. package/dist/core/manager.js.map +1 -1
  107. package/dist/core/orchestrator.d.ts.map +1 -1
  108. package/dist/core/orchestrator.js +210 -178
  109. package/dist/core/orchestrator.js.map +1 -1
  110. package/dist/core/playbook.d.ts +35 -0
  111. package/dist/core/playbook.d.ts.map +1 -0
  112. package/dist/core/playbook.js +184 -0
  113. package/dist/core/playbook.js.map +1 -0
  114. package/dist/core/profile.d.ts +8 -0
  115. package/dist/core/profile.d.ts.map +1 -0
  116. package/dist/core/profile.js +103 -0
  117. package/dist/core/profile.js.map +1 -0
  118. package/dist/core/quick.d.ts +5 -0
  119. package/dist/core/quick.d.ts.map +1 -1
  120. package/dist/core/quick.js +10 -1
  121. package/dist/core/quick.js.map +1 -1
  122. package/dist/core/runtime.d.ts +17 -1
  123. package/dist/core/runtime.d.ts.map +1 -1
  124. package/dist/core/runtime.js +88 -5
  125. package/dist/core/runtime.js.map +1 -1
  126. package/dist/core/streaming.d.ts +1 -1
  127. package/dist/core/streaming.d.ts.map +1 -1
  128. package/dist/core/temporal.d.ts +29 -0
  129. package/dist/core/temporal.d.ts.map +1 -0
  130. package/dist/core/temporal.js +447 -0
  131. package/dist/core/temporal.js.map +1 -0
  132. package/dist/core/validation.d.ts +3 -0
  133. package/dist/core/validation.d.ts.map +1 -1
  134. package/dist/core/validation.js +25 -10
  135. package/dist/core/validation.js.map +1 -1
  136. package/dist/core/workspace-detect.d.ts +17 -0
  137. package/dist/core/workspace-detect.d.ts.map +1 -0
  138. package/dist/core/workspace-detect.js +55 -0
  139. package/dist/core/workspace-detect.js.map +1 -0
  140. package/dist/embeddings/resilience.d.ts.map +1 -1
  141. package/dist/embeddings/resilience.js +19 -8
  142. package/dist/embeddings/resilience.js.map +1 -1
  143. package/dist/index.d.ts +21 -4
  144. package/dist/index.d.ts.map +1 -1
  145. package/dist/index.js +9 -0
  146. package/dist/index.js.map +1 -1
  147. package/dist/integrations/claude-agent.d.ts +6 -0
  148. package/dist/integrations/claude-agent.d.ts.map +1 -1
  149. package/dist/integrations/claude-agent.js +5 -1
  150. package/dist/integrations/claude-agent.js.map +1 -1
  151. package/dist/integrations/claude-tools.d.ts +5 -4
  152. package/dist/integrations/claude-tools.d.ts.map +1 -1
  153. package/dist/integrations/claude-tools.js +155 -2
  154. package/dist/integrations/claude-tools.js.map +1 -1
  155. package/dist/integrations/middleware.d.ts +6 -0
  156. package/dist/integrations/middleware.d.ts.map +1 -1
  157. package/dist/integrations/middleware.js +11 -1
  158. package/dist/integrations/middleware.js.map +1 -1
  159. package/dist/integrations/openai-tools.d.ts +5 -4
  160. package/dist/integrations/openai-tools.d.ts.map +1 -1
  161. package/dist/integrations/openai-tools.js +170 -2
  162. package/dist/integrations/openai-tools.js.map +1 -1
  163. package/dist/integrations/vercel-ai.d.ts +6 -0
  164. package/dist/integrations/vercel-ai.d.ts.map +1 -1
  165. package/dist/integrations/vercel-ai.js +4 -0
  166. package/dist/integrations/vercel-ai.js.map +1 -1
  167. package/dist/server/http-server.d.ts +8 -0
  168. package/dist/server/http-server.d.ts.map +1 -1
  169. package/dist/server/http-server.js +976 -58
  170. package/dist/server/http-server.js.map +1 -1
  171. package/dist/server/mcp-server.d.ts +8 -0
  172. package/dist/server/mcp-server.d.ts.map +1 -1
  173. package/dist/server/mcp-server.js +1157 -37
  174. package/dist/server/mcp-server.js.map +1 -1
  175. package/dist/server/parsing.d.ts +12 -0
  176. package/dist/server/parsing.d.ts.map +1 -0
  177. package/dist/server/parsing.js +42 -0
  178. package/dist/server/parsing.js.map +1 -0
  179. package/dist/summarizers/prompts.d.ts +4 -0
  180. package/dist/summarizers/prompts.d.ts.map +1 -1
  181. package/dist/summarizers/prompts.js +42 -0
  182. package/dist/summarizers/prompts.js.map +1 -1
  183. package/docs/ULTIMATE_MEMORY_LAYER_ROADMAP.md +291 -0
  184. package/docs/prd.json +1498 -0
  185. package/openapi.yaml +1945 -112
  186. package/package.json +4 -2
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../src/server/mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../src/server/mcp-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ type ParseFailure = (message: string) => never;
2
+ interface NumberParseOptions {
3
+ name: string;
4
+ integer?: boolean;
5
+ min?: number;
6
+ max?: number;
7
+ }
8
+ export declare function parseOptionalFiniteNumber(value: unknown, options: NumberParseOptions, fail: ParseFailure): number | undefined;
9
+ export declare function parseOptionalFiniteInteger(value: unknown, options: NumberParseOptions, fail: ParseFailure): number | undefined;
10
+ export declare function parseOptionalTemporalIdValue(value: unknown, name: string, fail: ParseFailure): string | undefined;
11
+ export {};
12
+ //# sourceMappingURL=parsing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsing.d.ts","sourceRoot":"","sources":["../../src/server/parsing.ts"],"names":[],"mappings":"AAEA,KAAK,YAAY,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,KAAK,CAAC;AAE/C,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AA+BD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EAAE,YAAY,GACjB,MAAM,GAAG,SAAS,CAEpB;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EAAE,YAAY,GACjB,MAAM,GAAG,SAAS,CAEpB;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,YAAY,GACjB,MAAM,GAAG,SAAS,CASpB"}
@@ -0,0 +1,42 @@
1
+ import { normalizeTemporalId } from '../contracts/temporal.js';
2
+ function coerceNumber(value, options, fail) {
3
+ if (value === undefined || value === null || value === '') {
4
+ return undefined;
5
+ }
6
+ const parsed = typeof value === 'number'
7
+ ? value
8
+ : typeof value === 'string'
9
+ ? Number(value.trim())
10
+ : Number.NaN;
11
+ if (!Number.isFinite(parsed)) {
12
+ fail(`Invalid field: ${options.name}`);
13
+ }
14
+ if (options.integer && !Number.isInteger(parsed)) {
15
+ fail(`Invalid field: ${options.name}`);
16
+ }
17
+ if (options.min != null && parsed < options.min) {
18
+ fail(`Invalid field: ${options.name}`);
19
+ }
20
+ if (options.max != null && parsed > options.max) {
21
+ fail(`Invalid field: ${options.name}`);
22
+ }
23
+ return parsed;
24
+ }
25
+ export function parseOptionalFiniteNumber(value, options, fail) {
26
+ return coerceNumber(value, options, fail);
27
+ }
28
+ export function parseOptionalFiniteInteger(value, options, fail) {
29
+ return coerceNumber(value, { ...options, integer: true }, fail);
30
+ }
31
+ export function parseOptionalTemporalIdValue(value, name, fail) {
32
+ if (value === undefined || value === null || value === '') {
33
+ return undefined;
34
+ }
35
+ try {
36
+ return normalizeTemporalId(value);
37
+ }
38
+ catch {
39
+ fail(`Invalid field: ${name}`);
40
+ }
41
+ }
42
+ //# sourceMappingURL=parsing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsing.js","sourceRoot":"","sources":["../../src/server/parsing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAW/D,SAAS,YAAY,CACnB,KAAc,EACd,OAA2B,EAC3B,IAAkB;IAElB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QAC1D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GACV,OAAO,KAAK,KAAK,QAAQ;QACvB,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACtB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;IACnB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC,kBAAkB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,kBAAkB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAChD,IAAI,CAAC,kBAAkB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAChD,IAAI,CAAC,kBAAkB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,KAAc,EACd,OAA2B,EAC3B,IAAkB;IAElB,OAAO,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,KAAc,EACd,OAA2B,EAC3B,IAAkB;IAElB,OAAO,YAAY,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,KAAc,EACd,IAAY,EACZ,IAAkB;IAElB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QAC1D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,mBAAmB,CAAC,KAAiC,CAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;IACjC,CAAC;AACH,CAAC"}
@@ -5,6 +5,10 @@ export declare const SUMMARIZATION_PROMPT_VERSION = "v2";
5
5
  export declare const EXTRACTION_PROMPT_VERSION = "v2";
6
6
  export declare const SUMMARIZATION_SYSTEM_PROMPT = "Prompt version: v2\nYou summarize AI conversation history into compact working memory.\nReturn strict JSON with this shape:\n{\n \"summary\": \"short factual summary\",\n \"key_entities\": [\"important people, systems, files, projects, concepts\"],\n \"topic_tags\": [\"up to five short topic tags\"]\n}\nRules:\n- Preserve important constraints, decisions, preferences, and unresolved work.\n- Keep the summary concise and factual.\n- key_entities must be short strings.\n- topic_tags must contain at most 5 strings.\n- Return JSON only.";
7
7
  export declare const EXTRACTION_SYSTEM_PROMPT = "Prompt version: v2\nYou extract durable facts that should become long-term memory.\nReturn strict JSON array with items shaped like:\n{\n \"fact\": \"durable fact text\",\n \"factType\": \"preference | entity | decision | constraint | reference\",\n \"confidence\": \"high | medium\"\n}\nRules:\n- Only return facts that are likely to stay useful beyond the immediate turn.\n- Prefer explicit user preferences, durable project facts, important decisions, and constraints.\n- Return JSON only.";
8
+ export declare const EPISODIC_RECAP_PROMPT_VERSION = "v1";
9
+ export declare const REFLECT_SYNTHESIS_PROMPT_VERSION = "v1";
10
+ export declare const EPISODIC_RECAP_SYSTEM_PROMPT = "Prompt version: v1\nYou produce structured episodic recaps from conversation history.\nReturn strict JSON matching this shape:\n{\n \"objective\": \"what the user or agent was trying to accomplish\",\n \"actions\": [\"key actions taken during the episode\"],\n \"outcomes\": [\"results and conclusions reached\"],\n \"artifacts\": [\"files, commands, URLs, tools, or artifacts referenced\"],\n \"unresolvedItems\": [\"open questions, unfinished work, or blockers\"],\n \"sourceType\": \"episodic | declarative | mixed\",\n \"sources\": [{\"type\": \"turn | working_memory | knowledge\", \"id\": 0, \"excerpt\": \"relevant excerpt or null\"}]\n}\nRules:\n- Focus on factual, query-relevant information from the provided turns.\n- objective should be a single concise sentence.\n- actions and outcomes should be ordered chronologically.\n- artifacts should include specific file paths, commands, URLs, or named artifacts.\n- unresolvedItems should only include genuinely open items, not completed work.\n- sourceType must be \"episodic\" if sources are only turns, \"declarative\" if only knowledge, or \"mixed\" if both.\n- sources must reference actual source IDs from the provided context.\n- Return JSON only.";
11
+ export declare const REFLECT_SYNTHESIS_SYSTEM_PROMPT = "Prompt version: v1\nYou synthesize information across multiple memory sources to answer a query.\nReturn strict JSON matching this shape:\n{\n \"synthesis\": \"a coherent answer synthesizing all relevant memory\",\n \"sourceType\": \"episodic | declarative | mixed\",\n \"sources\": [{\"type\": \"turn | working_memory | knowledge\", \"id\": 0, \"excerpt\": \"relevant excerpt or null\"}],\n \"episodes\": [],\n \"detailLevel\": \"abstract | overview | full\"\n}\nRules:\n- synthesis should directly address the query by combining evidence from episodic, declarative, and procedural memory.\n- Clearly attribute claims to their sources within the synthesis text.\n- sourceType must reflect which memory types contributed: \"episodic\" for turns/episodes only, \"declarative\" for knowledge facts only, \"mixed\" when both are used.\n- sources must reference actual source IDs from the provided context.\n- episodes should contain any relevant episode summaries used in the synthesis; leave empty if none.\n- detailLevel must match the requested detail level from the query context.\n- When sources conflict, note the conflict and indicate which source has higher trust.\n- Return JSON only.";
8
12
  export declare function formatTurnsForSummarization(turns: Turn[]): string;
9
13
  export declare function parseSummarizerResponse(text: string): SummarizerOutput;
10
14
  export declare function parseExtractionResponse(text: string): ExtractedFact[];
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/summarizers/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,eAAO,MAAM,4BAA4B,OAAO,CAAC;AACjD,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAE9C,eAAO,MAAM,2BAA2B,kiBAapB,CAAC;AAErB,eAAO,MAAM,wBAAwB,ofAWjB,CAAC;AAErB,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,CAOjE;AAiCD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAgBtE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE,CAwBrE"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/summarizers/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,eAAO,MAAM,4BAA4B,OAAO,CAAC;AACjD,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAE9C,eAAO,MAAM,2BAA2B,kiBAapB,CAAC;AAErB,eAAO,MAAM,wBAAwB,ofAWjB,CAAC;AAErB,eAAO,MAAM,6BAA6B,OAAO,CAAC;AAClD,eAAO,MAAM,gCAAgC,OAAO,CAAC;AAErD,eAAO,MAAM,4BAA4B,usCAoBrB,CAAC;AAErB,eAAO,MAAM,+BAA+B,grCAkBxB,CAAC;AAErB,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,CAOjE;AAiCD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAgBtE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE,CAwBrE"}
@@ -26,6 +26,48 @@ Rules:
26
26
  - Only return facts that are likely to stay useful beyond the immediate turn.
27
27
  - Prefer explicit user preferences, durable project facts, important decisions, and constraints.
28
28
  - Return JSON only.`;
29
+ export const EPISODIC_RECAP_PROMPT_VERSION = 'v1';
30
+ export const REFLECT_SYNTHESIS_PROMPT_VERSION = 'v1';
31
+ export const EPISODIC_RECAP_SYSTEM_PROMPT = `Prompt version: ${EPISODIC_RECAP_PROMPT_VERSION}
32
+ You produce structured episodic recaps from conversation history.
33
+ Return strict JSON matching this shape:
34
+ {
35
+ "objective": "what the user or agent was trying to accomplish",
36
+ "actions": ["key actions taken during the episode"],
37
+ "outcomes": ["results and conclusions reached"],
38
+ "artifacts": ["files, commands, URLs, tools, or artifacts referenced"],
39
+ "unresolvedItems": ["open questions, unfinished work, or blockers"],
40
+ "sourceType": "episodic | declarative | mixed",
41
+ "sources": [{"type": "turn | working_memory | knowledge", "id": 0, "excerpt": "relevant excerpt or null"}]
42
+ }
43
+ Rules:
44
+ - Focus on factual, query-relevant information from the provided turns.
45
+ - objective should be a single concise sentence.
46
+ - actions and outcomes should be ordered chronologically.
47
+ - artifacts should include specific file paths, commands, URLs, or named artifacts.
48
+ - unresolvedItems should only include genuinely open items, not completed work.
49
+ - sourceType must be "episodic" if sources are only turns, "declarative" if only knowledge, or "mixed" if both.
50
+ - sources must reference actual source IDs from the provided context.
51
+ - Return JSON only.`;
52
+ export const REFLECT_SYNTHESIS_SYSTEM_PROMPT = `Prompt version: ${REFLECT_SYNTHESIS_PROMPT_VERSION}
53
+ You synthesize information across multiple memory sources to answer a query.
54
+ Return strict JSON matching this shape:
55
+ {
56
+ "synthesis": "a coherent answer synthesizing all relevant memory",
57
+ "sourceType": "episodic | declarative | mixed",
58
+ "sources": [{"type": "turn | working_memory | knowledge", "id": 0, "excerpt": "relevant excerpt or null"}],
59
+ "episodes": [],
60
+ "detailLevel": "abstract | overview | full"
61
+ }
62
+ Rules:
63
+ - synthesis should directly address the query by combining evidence from episodic, declarative, and procedural memory.
64
+ - Clearly attribute claims to their sources within the synthesis text.
65
+ - sourceType must reflect which memory types contributed: "episodic" for turns/episodes only, "declarative" for knowledge facts only, "mixed" when both are used.
66
+ - sources must reference actual source IDs from the provided context.
67
+ - episodes should contain any relevant episode summaries used in the synthesis; leave empty if none.
68
+ - detailLevel must match the requested detail level from the query context.
69
+ - When sources conflict, note the conflict and indicate which source has higher trust.
70
+ - Return JSON only.`;
29
71
  export function formatTurnsForSummarization(turns) {
30
72
  return turns
31
73
  .map((turn) => `[${turn.role}] ${turn.actor}: ${turn.content}`)
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/summarizers/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/summarizers/prompts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,291 @@
1
+ # Ultimate Memory Layer Roadmap
2
+
3
+ This document locks in the Hermes-inspired and memorylayer.ai-inspired additions we want to bring into `memory-layer`.
4
+
5
+ The goal is not to turn `memory-layer` into Hermes. The goal is to make `memory-layer` the best memory substrate for agents, assistants, and autonomous systems.
6
+
7
+ ## Product Thesis
8
+
9
+ `memory-layer` should win on:
10
+
11
+ - factual reliability
12
+ - trust-aware retrieval
13
+ - scoped sharing
14
+ - long-horizon memory maintenance
15
+ - portable integration surfaces
16
+
17
+ We will borrow ideas from Hermes where they strengthen memory as a product. We will not absorb agent-shell features that belong in a higher-level runtime.
18
+
19
+ We will also borrow ideas from `memorylayer.ai` where they improve the external memory API, retrieval ergonomics, and workspace experience without weakening the trust-aware core.
20
+
21
+ ## Locked Additions
22
+
23
+ ### 1. Episodic Recall Summaries
24
+
25
+ Add a first-class recall surface that does more than return raw turn hits.
26
+
27
+ Why:
28
+
29
+ - Hermes' session search is valuable because it turns past conversations into compact, query-focused recaps.
30
+ - `memory-layer` already has turn search and time-range recall, but not a dedicated "what happened before?" summarization surface.
31
+
32
+ What to build:
33
+
34
+ - `searchEpisodes(query, options?)`
35
+ - `summarizeEpisode(...)` over turn ranges or session slices
36
+ - `reflect(query, options?)` as a first-class synthesis API over recalled memory
37
+ - query-focused recap format:
38
+ - objective
39
+ - actions taken
40
+ - outcomes
41
+ - important files/commands/URLs
42
+ - unresolved items
43
+ - retrieval detail levels:
44
+ - `abstract`
45
+ - `overview`
46
+ - `full`
47
+
48
+ Constraints:
49
+
50
+ - preserve source references back to turns
51
+ - keep episodic recall separate from trusted factual memory
52
+ - do not silently promote episode summaries into trusted knowledge
53
+ - `reflect()` must clearly report sources and whether it is operating over episodic, declarative, or mixed memory
54
+
55
+ ### 2. Procedural Memory as Skills or Playbooks
56
+
57
+ Add a reusable procedural layer above `procedure` facts.
58
+
59
+ Why:
60
+
61
+ - Hermes is strongest where it turns solved workflows into reusable skills.
62
+ - `memory-layer` already models `procedure` knowledge, but not durable executable playbooks.
63
+
64
+ What to build:
65
+
66
+ - a `playbook` or `skill` artifact type
67
+ - storage for:
68
+ - instructions
69
+ - references
70
+ - templates
71
+ - scripts
72
+ - assets
73
+ - APIs to:
74
+ - create a playbook from a successful task
75
+ - revise a playbook after use
76
+ - retrieve relevant playbooks during context assembly
77
+
78
+ Constraints:
79
+
80
+ - playbooks are procedural memory, not trusted factual memory
81
+ - playbook retrieval should be relevance-ranked and separately labeled
82
+ - artifacts must be inspectable and editable by host systems
83
+
84
+ ### 3. Stable Session Snapshot Mode
85
+
86
+ Add an optional runtime mode that freezes durable memory at session start.
87
+
88
+ Why:
89
+
90
+ - Hermes preserves prompt-cache stability by freezing memory injected into the prompt for the session.
91
+ - `memory-layer` currently rebuilds bootstrap and live context on each call, which is flexible but less cache-friendly.
92
+
93
+ What to build:
94
+
95
+ - optional runtime/session mode:
96
+ - capture a durable snapshot at session start
97
+ - reuse that snapshot across turns
98
+ - refresh only on explicit boundaries
99
+ - keep live writes durable on disk/storage even when prompt snapshot is frozen
100
+
101
+ Constraints:
102
+
103
+ - this must be opt-in
104
+ - default behavior remains dynamic retrieval
105
+ - snapshot mode must clearly distinguish:
106
+ - frozen prompt state
107
+ - live persisted state
108
+
109
+ ### 4. Materialized User and Operator Profiles
110
+
111
+ Add a dedicated profile surface built on top of existing trusted knowledge.
112
+
113
+ Why:
114
+
115
+ - Hermes' split between general memory and user-oriented memory is product-useful.
116
+ - `memory-layer` already tracks identity, preference, and constraint knowledge with trust states, which is a better foundation than flat notes.
117
+
118
+ What to build:
119
+
120
+ - `getProfile()` or equivalent materialized profile API
121
+ - profile views such as:
122
+ - user profile
123
+ - operator profile
124
+ - workspace profile
125
+ - profile sections:
126
+ - identity
127
+ - preferences
128
+ - communication conventions
129
+ - constraints
130
+ - recurring workflows
131
+
132
+ Constraints:
133
+
134
+ - profiles are derived views over trust-scored knowledge
135
+ - profiles should expose provenance and trust metadata
136
+ - profile writes should still flow through normal evidence-aware memory paths
137
+
138
+ ### 5. External Cognitive Memory API
139
+
140
+ Add a clean external memory taxonomy on top of the richer internal model.
141
+
142
+ Why:
143
+
144
+ - `memorylayer.ai` presents memory in a way that is very easy for SDK users and agent builders to understand.
145
+ - `memory-layer` already has stronger internals, but the external API should be simpler than the internal storage model.
146
+
147
+ What to build:
148
+
149
+ - first-class external memory types:
150
+ - `episodic`
151
+ - `semantic`
152
+ - `procedural`
153
+ - `working`
154
+ - stable mapping from these public types to internal knowledge classes, working memory, and episodic recall surfaces
155
+ - consistent use of this taxonomy across:
156
+ - package API
157
+ - HTTP API
158
+ - MCP API
159
+ - docs
160
+ - examples
161
+
162
+ Constraints:
163
+
164
+ - do not flatten the internal trust-aware model just to match the public taxonomy
165
+ - public type labels should be an interface layer, not the full storage model
166
+
167
+ ### 6. Lightweight Typed Associations
168
+
169
+ Add explicit associations between memories to support multi-hop recall and synthesis.
170
+
171
+ Why:
172
+
173
+ - `memorylayer.ai` has a strong graph story, even if its ontology is more elaborate than we need.
174
+ - `memory-layer` would benefit from a small, opinionated association layer for linking facts, episodes, playbooks, and profiles.
175
+
176
+ What to build:
177
+
178
+ - an association model linking memory artifacts
179
+ - a compact starter relationship set such as:
180
+ - `related_to`
181
+ - `supports`
182
+ - `contradicts`
183
+ - `supersedes`
184
+ - `depends_on`
185
+ - `solves`
186
+ - `applies_to`
187
+ - `derived_from`
188
+ - retrieval support for light multi-hop expansion when appropriate
189
+ - APIs to inspect associations and traverse related memory
190
+
191
+ Constraints:
192
+
193
+ - keep the initial ontology intentionally small
194
+ - associations must not replace evidence and trust metadata
195
+ - graph expansion must remain bounded and observable
196
+
197
+ ### 7. Workspace-First Onboarding Ergonomics
198
+
199
+ Add a simpler default experience for common repo- and project-scoped usage.
200
+
201
+ Why:
202
+
203
+ - `memorylayer.ai` makes workspace setup very easy, especially for MCP and local project use.
204
+ - `memory-layer` has a better scope model, but the zero-config path can be simpler.
205
+
206
+ What to build:
207
+
208
+ - workspace auto-defaults for local repo usage
209
+ - optional git/repo-based workspace detection for MCP and local tooling
210
+ - friendlier top-level examples that start with workspace-first memory before introducing full multi-scope routing
211
+
212
+ Constraints:
213
+
214
+ - keep the current multi-scope model intact
215
+ - auto-detection must be a convenience layer, not a replacement for explicit scope control
216
+
217
+ ## Supporting Improvements
218
+
219
+ These are not separate product pillars, but they should accompany the work above:
220
+
221
+ - richer structured compaction summaries
222
+ - explicit separation of declarative, episodic, and procedural memory in formatting
223
+ - eval coverage for recall summaries, playbook usefulness, and profile correctness
224
+ - MCP and HTTP surfaces for the new APIs from day one
225
+ - typed SDK ergonomics for memory categories, detail levels, and associations
226
+
227
+ ## What We Are Not Importing
228
+
229
+ These are intentionally out of scope for core `memory-layer`:
230
+
231
+ - a flat `MEMORY.md` or `USER.md` file as the canonical memory store
232
+ - built-in messaging gateways
233
+ - built-in cron or automation runners
234
+ - built-in subagent orchestration
235
+ - full CLI-agent shell behavior
236
+ - server-side general-purpose code sandboxing as a core memory primitive
237
+ - a sprawling graph ontology out of the gate
238
+
239
+ Those may be good companion products or examples, but they are not the core memory engine.
240
+
241
+ ## Architecture Boundary
242
+
243
+ The intended stack is:
244
+
245
+ 1. `memory-layer` owns declarative, episodic, and procedural memory primitives.
246
+ 2. Host agents decide how to use those primitives in prompts, tools, and workflows.
247
+ 3. Higher-level shells can add delegation, automations, messaging, and execution UX on top.
248
+
249
+ ## Build Order
250
+
251
+ ### Phase 1
252
+
253
+ - episodic recall summaries
254
+ - `reflect()` API
255
+ - recall detail levels: `abstract`, `overview`, `full`
256
+ - structured output format for recall recaps
257
+ - evals for cross-session recall quality
258
+ - external memory taxonomy across public APIs
259
+
260
+ ### Phase 2
261
+
262
+ - materialized user/operator/workspace profiles
263
+ - profile retrieval and formatting
264
+ - trust-aware profile evals
265
+ - workspace-first onboarding and auto-defaults
266
+
267
+ ### Phase 3
268
+
269
+ - procedural playbooks or skills
270
+ - creation and revision APIs
271
+ - retrieval and selection logic
272
+ - lightweight typed associations
273
+ - bounded multi-hop association retrieval
274
+
275
+ ### Phase 4
276
+
277
+ - stable session snapshot mode
278
+ - runtime APIs for explicit refresh boundaries
279
+ - cache-efficiency benchmarks
280
+
281
+ ## Success Criteria
282
+
283
+ We should consider this roadmap successful when:
284
+
285
+ - `memory-layer` can answer "what happened before?" as well as it answers "what is true?"
286
+ - the public API is simpler and more legible than the internal model
287
+ - procedural knowledge is reusable instead of trapped as raw facts
288
+ - hosts can choose between dynamic retrieval and cache-stable session snapshots
289
+ - profile views feel native to the memory model rather than bolted on
290
+ - associations improve retrieval and synthesis without overwhelming the trust model
291
+ - the product is still clearly a memory substrate, not an agent shell