@radix-ai/ai-memory 0.1.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/.claude-plugin/marketplace.json +19 -0
- package/.cursor-plugin/marketplace.json +19 -0
- package/LICENSE +21 -0
- package/README.md +331 -0
- package/dist/cli/adapters.d.ts +32 -0
- package/dist/cli/adapters.d.ts.map +1 -0
- package/dist/cli/adapters.js +368 -0
- package/dist/cli/adapters.js.map +1 -0
- package/dist/cli/environment.d.ts +34 -0
- package/dist/cli/environment.d.ts.map +1 -0
- package/dist/cli/environment.js +119 -0
- package/dist/cli/environment.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +1108 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/docs-schema.d.ts +27 -0
- package/dist/docs-schema.d.ts.map +1 -0
- package/dist/docs-schema.js +100 -0
- package/dist/docs-schema.js.map +1 -0
- package/dist/evals/index.d.ts +13 -0
- package/dist/evals/index.d.ts.map +1 -0
- package/dist/evals/index.js +205 -0
- package/dist/evals/index.js.map +1 -0
- package/dist/evals/performance-comparison.d.ts +23 -0
- package/dist/evals/performance-comparison.d.ts.map +1 -0
- package/dist/evals/performance-comparison.js +76 -0
- package/dist/evals/performance-comparison.js.map +1 -0
- package/dist/evals/platform-integration.d.ts +34 -0
- package/dist/evals/platform-integration.d.ts.map +1 -0
- package/dist/evals/platform-integration.js +186 -0
- package/dist/evals/platform-integration.js.map +1 -0
- package/dist/formatter/index.d.ts +15 -0
- package/dist/formatter/index.d.ts.map +1 -0
- package/dist/formatter/index.js +207 -0
- package/dist/formatter/index.js.map +1 -0
- package/dist/hybrid-search/index.d.ts +40 -0
- package/dist/hybrid-search/index.d.ts.map +1 -0
- package/dist/hybrid-search/index.js +277 -0
- package/dist/hybrid-search/index.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp-server/index.d.ts +6 -0
- package/dist/mcp-server/index.d.ts.map +1 -0
- package/dist/mcp-server/index.js +114 -0
- package/dist/mcp-server/index.js.map +1 -0
- package/dist/mcp-server/p0-parser.d.ts +43 -0
- package/dist/mcp-server/p0-parser.d.ts.map +1 -0
- package/dist/mcp-server/p0-parser.js +108 -0
- package/dist/mcp-server/p0-parser.js.map +1 -0
- package/dist/mcp-server/resources.d.ts +3 -0
- package/dist/mcp-server/resources.d.ts.map +1 -0
- package/dist/mcp-server/resources.js +156 -0
- package/dist/mcp-server/resources.js.map +1 -0
- package/dist/mcp-server/tools.d.ts +15 -0
- package/dist/mcp-server/tools.d.ts.map +1 -0
- package/dist/mcp-server/tools.js +928 -0
- package/dist/mcp-server/tools.js.map +1 -0
- package/dist/schema-constants.d.ts +7 -0
- package/dist/schema-constants.d.ts.map +1 -0
- package/dist/schema-constants.js +33 -0
- package/dist/schema-constants.js.map +1 -0
- package/package.json +84 -0
- package/plugins/adapters/claude-code/.claude-plugin/plugin.json +26 -0
- package/plugins/adapters/claude-code/CLAUDE.md +21 -0
- package/plugins/adapters/claude-code/README.md +37 -0
- package/plugins/adapters/claude-code/agents/governance-checker.md +27 -0
- package/plugins/adapters/claude-code/agents/memory-writer.md +31 -0
- package/plugins/adapters/claude-code/hooks/SessionStart.js +55 -0
- package/plugins/adapters/claude-code/hooks/hooks.json +52 -0
- package/plugins/adapters/generic/BOOTSTRAP_INSTRUCTION.md +30 -0
- package/plugins/adapters/generic/README.md +50 -0
- package/plugins/ai-memory/.claude-plugin/plugin.json +30 -0
- package/plugins/ai-memory/.cursor-plugin/plugin.json +18 -0
- package/plugins/ai-memory/.mcp.json +19 -0
- package/plugins/ai-memory/agents/governance-critic/AGENT.md +57 -0
- package/plugins/ai-memory/agents/memory-auditor/AGENT.md +54 -0
- package/plugins/ai-memory/rules/context7-tool-reference.md +16 -0
- package/plugins/ai-memory/rules/load-memory.md +22 -0
- package/plugins/ai-memory/rules/parallel-safe-planning.md +19 -0
- package/plugins/ai-memory/skills/mem-auto-review/SKILL.md +51 -0
- package/plugins/ai-memory/skills/mem-compound/SKILL.md +105 -0
- package/plugins/ai-memory/skills/mem-init/SKILL.md +48 -0
- package/plugins/ai-memory/skills/mem-session-close/SKILL.md +38 -0
- package/plugins/ai-memory/skills/mem-validate/SKILL.md +54 -0
- package/templates/.ai/IDENTITY.md +23 -0
- package/templates/.ai/agents/_base-auditor.md +28 -0
- package/templates/.ai/agents/_template.md +23 -0
- package/templates/.ai/memory/debugging.md +14 -0
- package/templates/.ai/memory/decisions.md +8 -0
- package/templates/.ai/memory/improvements.md +7 -0
- package/templates/.ai/memory/memory-index.md +9 -0
- package/templates/.ai/memory/patterns.md +8 -0
- package/templates/.ai/reference/PROJECT.md +5 -0
- package/templates/.ai/reference/capability-specs.json +31 -0
- package/templates/.ai/reference/environment-specs.json +41 -0
- package/templates/.ai/sessions/archive/thread-archive.md +15 -0
- package/templates/.ai/sessions/open-items.md +13 -0
- package/templates/.ai/toolbox/README.md +5 -0
- package/templates/.ai/toolbox/browser.md +30 -0
- package/templates/.ai/toolbox/integrations.md +44 -0
- package/templates/.ai/toolbox/shell.md +38 -0
- package/templates/AGENTS.md +4 -0
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { readFile } from "fs/promises";
|
|
2
|
+
import { join, relative, resolve } from "path";
|
|
3
|
+
import { existsSync } from "fs";
|
|
4
|
+
import { ListResourcesRequestSchema, ReadResourceRequestSchema, ErrorCode, McpError, } from "@modelcontextprotocol/sdk/types.js";
|
|
5
|
+
// Returns the last N lines of a file, or all lines if fewer than N
|
|
6
|
+
async function tail(filePath, lines) {
|
|
7
|
+
try {
|
|
8
|
+
const content = await readFile(filePath, "utf-8");
|
|
9
|
+
const all = content.split("\n");
|
|
10
|
+
return all.slice(-lines).join("\n");
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
return "";
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
// Read a file safely, returning empty string if not found
|
|
17
|
+
async function safeRead(filePath) {
|
|
18
|
+
try {
|
|
19
|
+
return await readFile(filePath, "utf-8");
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return "";
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export function registerResources(server, aiDir) {
|
|
26
|
+
// List available resources
|
|
27
|
+
server.setRequestHandler(ListResourcesRequestSchema, async () => {
|
|
28
|
+
const resources = [
|
|
29
|
+
{
|
|
30
|
+
uri: "memory://identity",
|
|
31
|
+
name: "Identity + Project Status",
|
|
32
|
+
description: "IDENTITY.md and PROJECT_STATUS.md — project constraints and current focus",
|
|
33
|
+
mimeType: "text/markdown",
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
uri: "memory://index",
|
|
37
|
+
name: "Memory Index",
|
|
38
|
+
description: "Priority-ranked index of all active memory entries (~500 tokens)",
|
|
39
|
+
mimeType: "text/markdown",
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
uri: "memory://tails",
|
|
43
|
+
name: "Memory Tails",
|
|
44
|
+
description: "Recent entries from decisions, debugging, patterns, and thread-archive",
|
|
45
|
+
mimeType: "text/markdown",
|
|
46
|
+
},
|
|
47
|
+
];
|
|
48
|
+
// Add harness/active if it exists (Full tier)
|
|
49
|
+
if (existsSync(join(aiDir, "temp/harness.json"))) {
|
|
50
|
+
resources.push({
|
|
51
|
+
uri: "memory://harness/active",
|
|
52
|
+
name: "Active Harness Rules",
|
|
53
|
+
description: "Currently active code constraint rules compiled from [P0] entries",
|
|
54
|
+
mimeType: "application/json",
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
// Add evals if report exists
|
|
58
|
+
if (existsSync(join(aiDir, "temp/eval-report.json"))) {
|
|
59
|
+
resources.push({
|
|
60
|
+
uri: "memory://evals",
|
|
61
|
+
name: "Eval Report",
|
|
62
|
+
description: "Latest memory health and governance metrics",
|
|
63
|
+
mimeType: "application/json",
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
return { resources };
|
|
67
|
+
});
|
|
68
|
+
// Read a resource by URI
|
|
69
|
+
server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
|
|
70
|
+
const uri = request.params.uri;
|
|
71
|
+
if (uri === "memory://identity") {
|
|
72
|
+
const identity = await safeRead(join(aiDir, "IDENTITY.md"));
|
|
73
|
+
const projectStatus = await safeRead(join(aiDir, "PROJECT_STATUS.md"));
|
|
74
|
+
return {
|
|
75
|
+
contents: [
|
|
76
|
+
{
|
|
77
|
+
uri,
|
|
78
|
+
mimeType: "text/markdown",
|
|
79
|
+
text: [identity, projectStatus].filter(Boolean).join("\n\n---\n\n"),
|
|
80
|
+
},
|
|
81
|
+
],
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
if (uri === "memory://index") {
|
|
85
|
+
const index = await safeRead(join(aiDir, "memory/memory-index.md"));
|
|
86
|
+
return {
|
|
87
|
+
contents: [{ uri, mimeType: "text/markdown", text: index || "Memory index not yet generated. Run `/mem-compound` to create it." }],
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
if (uri === "memory://tails") {
|
|
91
|
+
const sections = [];
|
|
92
|
+
const decisionsTail = await tail(join(aiDir, "memory/decisions.md"), 40);
|
|
93
|
+
if (decisionsTail)
|
|
94
|
+
sections.push(`## Recent Decisions\n\n${decisionsTail}`);
|
|
95
|
+
const debuggingTail = await tail(join(aiDir, "memory/debugging.md"), 30);
|
|
96
|
+
if (debuggingTail)
|
|
97
|
+
sections.push(`## Recent Debugging\n\n${debuggingTail}`);
|
|
98
|
+
const patternsTail = await tail(join(aiDir, "memory/patterns.md"), 20);
|
|
99
|
+
if (patternsTail)
|
|
100
|
+
sections.push(`## Recent Patterns\n\n${patternsTail}`);
|
|
101
|
+
const archiveTail = await tail(join(aiDir, "sessions/archive/thread-archive.md"), 200);
|
|
102
|
+
if (archiveTail)
|
|
103
|
+
sections.push(`## Session Archive (recent)\n\n${archiveTail}`);
|
|
104
|
+
return {
|
|
105
|
+
contents: [
|
|
106
|
+
{
|
|
107
|
+
uri,
|
|
108
|
+
mimeType: "text/markdown",
|
|
109
|
+
text: sections.join("\n\n---\n\n") || "No memory entries yet.",
|
|
110
|
+
},
|
|
111
|
+
],
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
if (uri === "memory://harness/active") {
|
|
115
|
+
const harness = await safeRead(join(aiDir, "temp/harness.json"));
|
|
116
|
+
return {
|
|
117
|
+
contents: [{ uri, mimeType: "application/json", text: harness || "[]" }],
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
if (uri === "memory://evals") {
|
|
121
|
+
const report = await safeRead(join(aiDir, "temp/eval-report.json"));
|
|
122
|
+
return {
|
|
123
|
+
contents: [{ uri, mimeType: "application/json", text: report || "{}" }],
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
// Dynamic: memory://file/{path}
|
|
127
|
+
if (uri.startsWith("memory://file/")) {
|
|
128
|
+
// Decode before path check to prevent %2e%2e bypass
|
|
129
|
+
let relativePath;
|
|
130
|
+
try {
|
|
131
|
+
relativePath = decodeURIComponent(uri.slice("memory://file/".length));
|
|
132
|
+
}
|
|
133
|
+
catch {
|
|
134
|
+
throw new McpError(ErrorCode.InvalidRequest, `Invalid URI encoding: ${uri}`);
|
|
135
|
+
}
|
|
136
|
+
// Security: ensure resolved path stays inside aiDir
|
|
137
|
+
const fullPath = resolve(aiDir, relativePath);
|
|
138
|
+
const rel = relative(aiDir, fullPath);
|
|
139
|
+
if (rel.startsWith("..") || rel.startsWith("/") || /\.\.[\\/]/.test(rel)) {
|
|
140
|
+
throw new McpError(ErrorCode.InvalidRequest, `Path traversal not allowed: ${relativePath}`);
|
|
141
|
+
}
|
|
142
|
+
const content = await safeRead(fullPath);
|
|
143
|
+
return {
|
|
144
|
+
contents: [
|
|
145
|
+
{
|
|
146
|
+
uri,
|
|
147
|
+
mimeType: "text/markdown",
|
|
148
|
+
text: content || `File not found: ${relativePath}`,
|
|
149
|
+
},
|
|
150
|
+
],
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
throw new McpError(ErrorCode.InvalidRequest, `Unknown resource URI: ${uri}`);
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=resources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/mcp-server/resources.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
2
|
+
export interface ValidationResult {
|
|
3
|
+
violations: Array<{
|
|
4
|
+
rule_id: string;
|
|
5
|
+
message: string;
|
|
6
|
+
severity: string;
|
|
7
|
+
}>;
|
|
8
|
+
audit: Array<{
|
|
9
|
+
rule_id: string;
|
|
10
|
+
path: string;
|
|
11
|
+
status: "passed" | "failed" | "skipped";
|
|
12
|
+
}>;
|
|
13
|
+
}
|
|
14
|
+
export declare function registerTools(server: Server, aiDir: string): void;
|
|
15
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp-server/tools.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AA4KxE,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1E,KAAK,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAA;KAAE,CAAC,CAAC;CAC1F;AA4HD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAitBjE"}
|