agent-recall-mcp 3.4.19 → 3.4.21
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/README.md +404 -981
- package/dist/index.js +34 -0
- package/dist/index.js.map +1 -1
- package/dist/tools/check-action.d.ts +3 -0
- package/dist/tools/check-action.d.ts.map +1 -0
- package/dist/tools/check-action.js +48 -0
- package/dist/tools/check-action.js.map +1 -0
- package/dist/tools/dashboard-export.d.ts +3 -0
- package/dist/tools/dashboard-export.d.ts.map +1 -0
- package/dist/tools/dashboard-export.js +19 -0
- package/dist/tools/dashboard-export.js.map +1 -0
- package/dist/tools/pipeline-close.d.ts +3 -0
- package/dist/tools/pipeline-close.d.ts.map +1 -0
- package/dist/tools/pipeline-close.js +36 -0
- package/dist/tools/pipeline-close.js.map +1 -0
- package/dist/tools/pipeline-current.d.ts +3 -0
- package/dist/tools/pipeline-current.d.ts.map +1 -0
- package/dist/tools/pipeline-current.js +16 -0
- package/dist/tools/pipeline-current.js.map +1 -0
- package/dist/tools/pipeline-list.d.ts +3 -0
- package/dist/tools/pipeline-list.d.ts.map +1 -0
- package/dist/tools/pipeline-list.js +16 -0
- package/dist/tools/pipeline-list.js.map +1 -0
- package/dist/tools/pipeline-open.d.ts +3 -0
- package/dist/tools/pipeline-open.d.ts.map +1 -0
- package/dist/tools/pipeline-open.js +27 -0
- package/dist/tools/pipeline-open.js.map +1 -0
- package/dist/tools/pipeline-show.d.ts +3 -0
- package/dist/tools/pipeline-show.d.ts.map +1 -0
- package/dist/tools/pipeline-show.js +22 -0
- package/dist/tools/pipeline-show.js.map +1 -0
- package/dist/tools/register-rule.d.ts +3 -0
- package/dist/tools/register-rule.d.ts.map +1 -0
- package/dist/tools/register-rule.js +23 -0
- package/dist/tools/register-rule.js.map +1 -0
- package/dist/tools/session-end-reflect.d.ts +3 -0
- package/dist/tools/session-end-reflect.d.ts.map +1 -0
- package/dist/tools/session-end-reflect.js +25 -0
- package/dist/tools/session-end-reflect.js.map +1 -0
- package/dist/tools/session-end.d.ts.map +1 -1
- package/dist/tools/session-end.js +49 -9
- package/dist/tools/session-end.js.map +1 -1
- package/dist/tools/session-start.d.ts.map +1 -1
- package/dist/tools/session-start.js +32 -3
- package/dist/tools/session-start.js.map +1 -1
- package/dist/tools/skill-list.d.ts +3 -0
- package/dist/tools/skill-list.d.ts.map +1 -0
- package/dist/tools/skill-list.js +16 -0
- package/dist/tools/skill-list.js.map +1 -0
- package/dist/tools/skill-recall.d.ts +3 -0
- package/dist/tools/skill-recall.d.ts.map +1 -0
- package/dist/tools/skill-recall.js +20 -0
- package/dist/tools/skill-recall.js.map +1 -0
- package/dist/tools/skill-write.d.ts +3 -0
- package/dist/tools/skill-write.d.ts.map +1 -0
- package/dist/tools/skill-write.js +31 -0
- package/dist/tools/skill-write.js.map +1 -0
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as z from "zod/v4";
|
|
2
|
-
import { sessionStart } from "agent-recall-core";
|
|
2
|
+
import { sessionStart, sessionStartLite } from "agent-recall-core";
|
|
3
3
|
/** Truncate to nearest word boundary */
|
|
4
4
|
function trunc(s, n) {
|
|
5
5
|
if (s.length <= n)
|
|
@@ -10,6 +10,13 @@ function trunc(s, n) {
|
|
|
10
10
|
}
|
|
11
11
|
function formatTerse(result) {
|
|
12
12
|
const lines = [];
|
|
13
|
+
// ── Dream cron failure banner (red, top priority) ─────────────────────
|
|
14
|
+
// Surfaces broken automation so the user notices before the awareness
|
|
15
|
+
// backfill stays stale for another week.
|
|
16
|
+
if (result.dream_health?.banner) {
|
|
17
|
+
lines.push(`🔴 ${result.dream_health.banner}`);
|
|
18
|
+
lines.push("");
|
|
19
|
+
}
|
|
13
20
|
// ── Header ──────────────────────────────────────────────────────────────
|
|
14
21
|
const sessionCount = result.resume?.sessions_count ?? 0;
|
|
15
22
|
const lastDate = result.resume?.last_date ?? "—";
|
|
@@ -19,6 +26,14 @@ function formatTerse(result) {
|
|
|
19
26
|
if (result.resume?.last_trajectory) {
|
|
20
27
|
lines.push(`Trajectory: ${trunc(result.resume.last_trajectory, 120)}`);
|
|
21
28
|
}
|
|
29
|
+
// ── Behavior policies (always-loaded, above insights/rooms) ────────────
|
|
30
|
+
if (result.behavior_rules && result.behavior_rules.length > 0) {
|
|
31
|
+
lines.push("");
|
|
32
|
+
lines.push("📜 Behavior policies (always follow):");
|
|
33
|
+
for (const r of result.behavior_rules) {
|
|
34
|
+
lines.push(` • [${r.name}] WHEN ${trunc(r.when, 80)} → DO ${trunc(r.do, 100)}`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
22
37
|
// ── Hard rules (P0 corrections) — highest priority ───────────────────
|
|
23
38
|
if (result.corrections && result.corrections.length > 0) {
|
|
24
39
|
lines.push("");
|
|
@@ -110,13 +125,27 @@ function formatVerbose(result) {
|
|
|
110
125
|
export function register(server) {
|
|
111
126
|
server.registerTool("session_start", {
|
|
112
127
|
title: "Start Session",
|
|
113
|
-
description: "Use when the user asks to start, load, continue, resume, or open memory for a project.",
|
|
128
|
+
description: "Use when the user asks to start, load, continue, resume, or open memory for a project. Set mode='lite' for a ≤500-token briefing (good for fresh conversations where the agent will pull memory on demand via recall/memory_query/skill_recall).",
|
|
114
129
|
inputSchema: {
|
|
115
130
|
project: z.string().default("auto"),
|
|
116
131
|
context: z.string().optional().describe("Optional context for matching cross-project insights"),
|
|
117
132
|
verbose: z.boolean().default(false).describe("Set true to get full JSON context instead of terse summary"),
|
|
133
|
+
mode: z.enum(["full", "lite"]).default("full").describe("'lite' = ≤500-token sketch; agent must pull on demand. 'full' = current rich payload."),
|
|
118
134
|
},
|
|
119
|
-
}, async ({ project, context, verbose }) => {
|
|
135
|
+
}, async ({ project, context, verbose, mode }) => {
|
|
136
|
+
if (mode === "lite") {
|
|
137
|
+
const lite = await sessionStartLite({ project });
|
|
138
|
+
const text = [
|
|
139
|
+
`AgentRecall (lite) — ${lite.project} sessions: ${lite.total_sessions} last: ${lite.last_session_date ?? "—"}`,
|
|
140
|
+
lite.identity_oneliner ? `Intention: ${lite.identity_oneliner}` : "",
|
|
141
|
+
lite.active_phase ? `▶ Active phase: ${lite.active_phase}${lite.active_phase_goal ? ` — ${lite.active_phase_goal}` : ""}` : "",
|
|
142
|
+
lite.open_corrections_p0_count > 0 ? `⛔ ${lite.open_corrections_p0_count} P0 corrections active — call recall() if working on related code.` : "",
|
|
143
|
+
lite.total_skills > 0 ? `🛠 ${lite.total_skills} skills available — call skill_recall({intent}) before non-trivial tasks.` : "",
|
|
144
|
+
"",
|
|
145
|
+
lite.hint,
|
|
146
|
+
].filter(Boolean).join("\n");
|
|
147
|
+
return { content: [{ type: "text", text }] };
|
|
148
|
+
}
|
|
120
149
|
const result = await sessionStart({ project, context });
|
|
121
150
|
const text = verbose ? formatVerbose(result) : formatTerse(result);
|
|
122
151
|
return { content: [{ type: "text", text }] };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-start.js","sourceRoot":"","sources":["../../src/tools/session-start.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,YAAY,EAA2B,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"session-start.js","sourceRoot":"","sources":["../../src/tools/session-start.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-list.d.ts","sourceRoot":"","sources":["../../src/tools/skill-list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAiBhD"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as z from "zod/v4";
|
|
2
|
+
import { skillList } from "agent-recall-core";
|
|
3
|
+
export function register(server) {
|
|
4
|
+
server.registerTool("skill_list", {
|
|
5
|
+
title: "List All Procedural Skills",
|
|
6
|
+
description: "List every procedural skill saved for the project. Returns slug/name/topic/triggers — " +
|
|
7
|
+
"use to browse the available how-to library.",
|
|
8
|
+
inputSchema: {
|
|
9
|
+
project: z.string().max(100).default("auto"),
|
|
10
|
+
},
|
|
11
|
+
}, async (args) => {
|
|
12
|
+
const result = await skillList(args);
|
|
13
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=skill-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-list.js","sourceRoot":"","sources":["../../src/tools/skill-list.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,KAAK,EAAE,4BAA4B;QACnC,WAAW,EACT,wFAAwF;YACxF,6CAA6C;QAC/C,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;SAC7C;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACzF,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-recall.d.ts","sourceRoot":"","sources":["../../src/tools/skill-recall.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqBhD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as z from "zod/v4";
|
|
2
|
+
import { skillRecall } from "agent-recall-core";
|
|
3
|
+
export function register(server) {
|
|
4
|
+
server.registerTool("skill_recall", {
|
|
5
|
+
title: "Recall Procedural Skill by Intent",
|
|
6
|
+
description: "Find IF-THEN production rules matching your current intent. Call this before starting a " +
|
|
7
|
+
"non-trivial task — if a past procedure matches, follow its steps instead of re-deriving. " +
|
|
8
|
+
"Returns ranked skills with steps, postconditions, and pitfalls. Trigger-keyword + topic " +
|
|
9
|
+
"match (no LLM call, deterministic ranking).",
|
|
10
|
+
inputSchema: {
|
|
11
|
+
intent: z.string().min(3).max(500).describe("What you're about to do (e.g. 'set up Cloudflare DNS for new domain')."),
|
|
12
|
+
limit: z.number().int().min(1).max(20).default(5),
|
|
13
|
+
project: z.string().max(100).default("auto"),
|
|
14
|
+
},
|
|
15
|
+
}, async (args) => {
|
|
16
|
+
const result = await skillRecall(args);
|
|
17
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=skill-recall.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-recall.js","sourceRoot":"","sources":["../../src/tools/skill-recall.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,KAAK,EAAE,mCAAmC;QAC1C,WAAW,EACT,0FAA0F;YAC1F,2FAA2F;YAC3F,0FAA0F;YAC1F,6CAA6C;QAC/C,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,wEAAwE,CAAC;YACrH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACjD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;SAC7C;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QACvC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACzF,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-write.d.ts","sourceRoot":"","sources":["../../src/tools/skill-write.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoChD"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as z from "zod/v4";
|
|
2
|
+
import { skillWrite } from "agent-recall-core";
|
|
3
|
+
const SHORT = z.string().min(1).max(200);
|
|
4
|
+
const TEXT = z.string().min(1).max(4096);
|
|
5
|
+
export function register(server) {
|
|
6
|
+
server.registerTool("skill_write", {
|
|
7
|
+
title: "Write a Procedural Skill",
|
|
8
|
+
description: "Save a reusable IF-THEN production rule (procedural memory). Use when you've solved a problem " +
|
|
9
|
+
"via a multi-step procedure that's likely to recur (e.g. Cloudflare 4-step DNS+Proxy+OriginRule+SSL, " +
|
|
10
|
+
"git rm --cached for untracked cleanup, OAuth refresh pre-check). Triggers should be intent keywords " +
|
|
11
|
+
"another agent would use when asking 'how do I X'. Storage: palace/skills/NNNN-<slug>.md.",
|
|
12
|
+
inputSchema: {
|
|
13
|
+
name: SHORT.describe("Short human-readable name (e.g. 'Cloudflare 4-step routing')."),
|
|
14
|
+
topic: z.string().min(1).max(30).regex(/^[a-z0-9-]+$/, "lowercase kebab-case").describe("Topic / category, kebab-case (e.g. 'deploy', 'git', 'auth')."),
|
|
15
|
+
triggers: z.array(z.string().min(1).max(80)).min(1).max(20).describe("Intent keywords that should match this skill — used by skill_recall."),
|
|
16
|
+
file_globs: z.array(z.string().max(120)).max(10).optional().describe("Optional file-path globs that boost relevance (e.g. ['**/Cloudflare/*.tf'])."),
|
|
17
|
+
when: TEXT.describe("1-sentence trigger condition — when to use this skill."),
|
|
18
|
+
preconditions: z.array(z.string().max(400)).max(20).optional().describe("Things that must be true before applying."),
|
|
19
|
+
steps: z.array(z.string().min(1).max(400)).min(1).max(50).describe("Ordered steps to execute."),
|
|
20
|
+
postconditions: z.array(z.string().max(400)).max(20).optional().describe("Falsifiable success criteria."),
|
|
21
|
+
pitfalls: z.array(z.string().max(400)).max(20).optional().describe("Known failure modes."),
|
|
22
|
+
evidence: z.array(z.string().max(200)).max(20).optional().describe("Journal dates / commit SHAs / correction ids that led to this."),
|
|
23
|
+
source: z.enum(["manual", "promoted_from_correction", "promoted_from_pipeline", "auto_reflection"]).default("manual"),
|
|
24
|
+
project: z.string().max(100).default("auto"),
|
|
25
|
+
},
|
|
26
|
+
}, async (args) => {
|
|
27
|
+
const result = await skillWrite(args);
|
|
28
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=skill-write.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-write.js","sourceRoot":"","sources":["../../src/tools/skill-write.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-recall-mcp",
|
|
3
|
-
"version": "3.4.
|
|
3
|
+
"version": "3.4.21",
|
|
4
4
|
"description": "Memory Palace MCP server for AI agents",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"test": "node --test test/*.test.mjs"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"agent-recall-core": "3.4.
|
|
19
|
+
"agent-recall-core": "3.4.21",
|
|
20
20
|
"@modelcontextprotocol/sdk": "^1.28.0",
|
|
21
21
|
"zod": "^3.24.0"
|
|
22
22
|
},
|