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.
- package/CHANGELOG.md +19 -12
- package/README.md +435 -320
- package/bin/memory-server.mjs +0 -0
- package/dist/adapters/memory/embeddings.d.ts.map +1 -1
- package/dist/adapters/memory/embeddings.js +12 -1
- package/dist/adapters/memory/embeddings.js.map +1 -1
- package/dist/adapters/memory/index.d.ts.map +1 -1
- package/dist/adapters/memory/index.js +1281 -48
- package/dist/adapters/memory/index.js.map +1 -1
- package/dist/adapters/postgres/index.d.ts +1 -0
- package/dist/adapters/postgres/index.d.ts.map +1 -1
- package/dist/adapters/postgres/index.js +1770 -42
- package/dist/adapters/postgres/index.js.map +1 -1
- package/dist/adapters/sqlite/embeddings.d.ts.map +1 -1
- package/dist/adapters/sqlite/embeddings.js +49 -12
- package/dist/adapters/sqlite/embeddings.js.map +1 -1
- package/dist/adapters/sqlite/index.d.ts.map +1 -1
- package/dist/adapters/sqlite/index.js +1720 -38
- package/dist/adapters/sqlite/index.js.map +1 -1
- package/dist/adapters/sqlite/mappers.d.ts +39 -4
- package/dist/adapters/sqlite/mappers.d.ts.map +1 -1
- package/dist/adapters/sqlite/mappers.js +87 -0
- package/dist/adapters/sqlite/mappers.js.map +1 -1
- package/dist/adapters/sqlite/schema.d.ts +1 -1
- package/dist/adapters/sqlite/schema.d.ts.map +1 -1
- package/dist/adapters/sqlite/schema.js +297 -1
- package/dist/adapters/sqlite/schema.js.map +1 -1
- package/dist/adapters/sync-to-async.d.ts.map +1 -1
- package/dist/adapters/sync-to-async.js +54 -0
- package/dist/adapters/sync-to-async.js.map +1 -1
- package/dist/contracts/async-storage.d.ts +61 -1
- package/dist/contracts/async-storage.d.ts.map +1 -1
- package/dist/contracts/cognitive.d.ts +37 -0
- package/dist/contracts/cognitive.d.ts.map +1 -0
- package/dist/contracts/cognitive.js +24 -0
- package/dist/contracts/cognitive.js.map +1 -0
- package/dist/contracts/coordination.d.ts +101 -0
- package/dist/contracts/coordination.d.ts.map +1 -0
- package/dist/contracts/coordination.js +26 -0
- package/dist/contracts/coordination.js.map +1 -0
- package/dist/contracts/embedding.d.ts +1 -1
- package/dist/contracts/embedding.d.ts.map +1 -1
- package/dist/contracts/errors.d.ts +28 -0
- package/dist/contracts/errors.d.ts.map +1 -0
- package/dist/contracts/errors.js +41 -0
- package/dist/contracts/errors.js.map +1 -0
- package/dist/contracts/identity.d.ts +2 -0
- package/dist/contracts/identity.d.ts.map +1 -1
- package/dist/contracts/identity.js +26 -1
- package/dist/contracts/identity.js.map +1 -1
- package/dist/contracts/observability.d.ts +2 -1
- package/dist/contracts/observability.d.ts.map +1 -1
- package/dist/contracts/observability.js +11 -0
- package/dist/contracts/observability.js.map +1 -1
- package/dist/contracts/profile.d.ts +29 -0
- package/dist/contracts/profile.d.ts.map +1 -0
- package/dist/contracts/profile.js +2 -0
- package/dist/contracts/profile.js.map +1 -0
- package/dist/contracts/session-state.d.ts +10 -0
- package/dist/contracts/session-state.d.ts.map +1 -0
- package/dist/contracts/session-state.js +2 -0
- package/dist/contracts/session-state.js.map +1 -0
- package/dist/contracts/storage.d.ts +73 -1
- package/dist/contracts/storage.d.ts.map +1 -1
- package/dist/contracts/storage.js +16 -1
- package/dist/contracts/storage.js.map +1 -1
- package/dist/contracts/temporal.d.ts +112 -0
- package/dist/contracts/temporal.d.ts.map +1 -0
- package/dist/contracts/temporal.js +31 -0
- package/dist/contracts/temporal.js.map +1 -0
- package/dist/contracts/types.d.ts +135 -0
- package/dist/contracts/types.d.ts.map +1 -1
- package/dist/contracts/types.js +27 -0
- package/dist/contracts/types.js.map +1 -1
- package/dist/core/associations.d.ts +18 -0
- package/dist/core/associations.d.ts.map +1 -0
- package/dist/core/associations.js +185 -0
- package/dist/core/associations.js.map +1 -0
- package/dist/core/circuit-breaker.d.ts +9 -0
- package/dist/core/circuit-breaker.d.ts.map +1 -1
- package/dist/core/circuit-breaker.js +13 -1
- package/dist/core/circuit-breaker.js.map +1 -1
- package/dist/core/cognitive.d.ts +5 -0
- package/dist/core/cognitive.d.ts.map +1 -0
- package/dist/core/cognitive.js +120 -0
- package/dist/core/cognitive.js.map +1 -0
- package/dist/core/context.d.ts +72 -1
- package/dist/core/context.d.ts.map +1 -1
- package/dist/core/context.js +471 -45
- package/dist/core/context.js.map +1 -1
- package/dist/core/episodic.d.ts +28 -0
- package/dist/core/episodic.d.ts.map +1 -0
- package/dist/core/episodic.js +371 -0
- package/dist/core/episodic.js.map +1 -0
- package/dist/core/formatter.d.ts +4 -0
- package/dist/core/formatter.d.ts.map +1 -1
- package/dist/core/formatter.js +103 -0
- package/dist/core/formatter.js.map +1 -1
- package/dist/core/maintenance.d.ts +1 -0
- package/dist/core/maintenance.d.ts.map +1 -1
- package/dist/core/maintenance.js +75 -0
- package/dist/core/maintenance.js.map +1 -1
- package/dist/core/manager.d.ts +159 -7
- package/dist/core/manager.d.ts.map +1 -1
- package/dist/core/manager.js +740 -31
- package/dist/core/manager.js.map +1 -1
- package/dist/core/orchestrator.d.ts.map +1 -1
- package/dist/core/orchestrator.js +210 -178
- package/dist/core/orchestrator.js.map +1 -1
- package/dist/core/playbook.d.ts +35 -0
- package/dist/core/playbook.d.ts.map +1 -0
- package/dist/core/playbook.js +184 -0
- package/dist/core/playbook.js.map +1 -0
- package/dist/core/profile.d.ts +8 -0
- package/dist/core/profile.d.ts.map +1 -0
- package/dist/core/profile.js +103 -0
- package/dist/core/profile.js.map +1 -0
- package/dist/core/quick.d.ts +5 -0
- package/dist/core/quick.d.ts.map +1 -1
- package/dist/core/quick.js +10 -1
- package/dist/core/quick.js.map +1 -1
- package/dist/core/runtime.d.ts +17 -1
- package/dist/core/runtime.d.ts.map +1 -1
- package/dist/core/runtime.js +88 -5
- package/dist/core/runtime.js.map +1 -1
- package/dist/core/streaming.d.ts +1 -1
- package/dist/core/streaming.d.ts.map +1 -1
- package/dist/core/temporal.d.ts +29 -0
- package/dist/core/temporal.d.ts.map +1 -0
- package/dist/core/temporal.js +447 -0
- package/dist/core/temporal.js.map +1 -0
- package/dist/core/validation.d.ts +3 -0
- package/dist/core/validation.d.ts.map +1 -1
- package/dist/core/validation.js +25 -10
- package/dist/core/validation.js.map +1 -1
- package/dist/core/workspace-detect.d.ts +17 -0
- package/dist/core/workspace-detect.d.ts.map +1 -0
- package/dist/core/workspace-detect.js +55 -0
- package/dist/core/workspace-detect.js.map +1 -0
- package/dist/embeddings/resilience.d.ts.map +1 -1
- package/dist/embeddings/resilience.js +19 -8
- package/dist/embeddings/resilience.js.map +1 -1
- package/dist/index.d.ts +21 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/integrations/claude-agent.d.ts +6 -0
- package/dist/integrations/claude-agent.d.ts.map +1 -1
- package/dist/integrations/claude-agent.js +5 -1
- package/dist/integrations/claude-agent.js.map +1 -1
- package/dist/integrations/claude-tools.d.ts +5 -4
- package/dist/integrations/claude-tools.d.ts.map +1 -1
- package/dist/integrations/claude-tools.js +155 -2
- package/dist/integrations/claude-tools.js.map +1 -1
- package/dist/integrations/middleware.d.ts +6 -0
- package/dist/integrations/middleware.d.ts.map +1 -1
- package/dist/integrations/middleware.js +11 -1
- package/dist/integrations/middleware.js.map +1 -1
- package/dist/integrations/openai-tools.d.ts +5 -4
- package/dist/integrations/openai-tools.d.ts.map +1 -1
- package/dist/integrations/openai-tools.js +170 -2
- package/dist/integrations/openai-tools.js.map +1 -1
- package/dist/integrations/vercel-ai.d.ts +6 -0
- package/dist/integrations/vercel-ai.d.ts.map +1 -1
- package/dist/integrations/vercel-ai.js +4 -0
- package/dist/integrations/vercel-ai.js.map +1 -1
- package/dist/server/http-server.d.ts +8 -0
- package/dist/server/http-server.d.ts.map +1 -1
- package/dist/server/http-server.js +976 -58
- package/dist/server/http-server.js.map +1 -1
- package/dist/server/mcp-server.d.ts +8 -0
- package/dist/server/mcp-server.d.ts.map +1 -1
- package/dist/server/mcp-server.js +1157 -37
- package/dist/server/mcp-server.js.map +1 -1
- package/dist/server/parsing.d.ts +12 -0
- package/dist/server/parsing.d.ts.map +1 -0
- package/dist/server/parsing.js +42 -0
- package/dist/server/parsing.js.map +1 -0
- package/dist/summarizers/prompts.d.ts +4 -0
- package/dist/summarizers/prompts.d.ts.map +1 -1
- package/dist/summarizers/prompts.js +42 -0
- package/dist/summarizers/prompts.js.map +1 -1
- package/docs/ULTIMATE_MEMORY_LAYER_ROADMAP.md +291 -0
- package/docs/prd.json +1498 -0
- package/openapi.yaml +1945 -112
- 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":"AAIA,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AACjD,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAE9C,MAAM,CAAC,MAAM,2BAA2B,GAAG,mBAAmB,4BAA4B;;;;;;;;;;;;;oBAatE,CAAC;AAErB,MAAM,CAAC,MAAM,wBAAwB,GAAG,mBAAmB,yBAAyB;;;;;;;;;;;oBAWhE,CAAC;AAErB,MAAM,UAAU,2BAA2B,CAAC,KAAa;IACvD,OAAO,KAAK;SACT,GAAG,CACF,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,EAAE,CAClD;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACrF,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEvC,IAAI,WAAW,KAAK,CAAC,CAAC,IAAI,SAAS,GAAG,WAAW,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,QAAQ,GAAG,UAAU,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,SAAS,CAAI,IAAY;IAChC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAM,CAAC;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,qDAAqD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzF,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,MAAM,OAAO,GAAG,SAAS,CAA4B,IAAI,CAAC,CAAC;IAC3D,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC5G,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;QACxG,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,MAAM,MAAM,GAAG,SAAS,CAAmH,IAAI,CAAC,CAAC;IACjJ,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IACpF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,IAAI,EAAkC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC/D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,CAAC,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7F,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAqC;YACpD,UAAU,EAAE,CAAC,IAAI,CAAC,UAAU,IAAI,QAAQ,CAAgC;SACzE,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
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
|