cc-claw 0.14.0 → 0.14.1
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/dist/agents/mcp-server.js +16 -3
- package/dist/cli.js +14 -2
- package/package.json +1 -1
|
@@ -330,14 +330,15 @@ server.tool(
|
|
|
330
330
|
"cc_claw_memory",
|
|
331
331
|
`Persistent cross-backend memory. Use this instead of your native memory system. Actions:
|
|
332
332
|
\u2022 remember \u2014 Save a memory (tag + content). Persists across backends and sessions.
|
|
333
|
-
\u2022 recall \u2014 Search memories by query (FTS5). Returns
|
|
333
|
+
\u2022 recall \u2014 Search memories by query (FTS5). Returns explicitly tagged memories ranked by relevance.
|
|
334
334
|
\u2022 list \u2014 List recent memories.
|
|
335
335
|
\u2022 forget \u2014 Delete memories by keyword match or specific ID.
|
|
336
|
-
\u2022 history \u2014 Search conversation history by keyword.
|
|
336
|
+
\u2022 history \u2014 Search raw conversation history by keyword (message_log table).
|
|
337
|
+
\u2022 summaries \u2014 Search session summaries (episodic layer). Use this to find work done in past sessions, story drafts, analysis results, or anything captured in session summaries but not explicitly tagged.
|
|
337
338
|
|
|
338
339
|
IMPORTANT: Always use this tool for memories. Do NOT save to your own memory files.`,
|
|
339
340
|
{
|
|
340
|
-
action: z.enum(["remember", "recall", "list", "forget", "history"]).describe("Action to perform"),
|
|
341
|
+
action: z.enum(["remember", "recall", "list", "forget", "history", "summaries"]).describe("Action to perform"),
|
|
341
342
|
// remember params
|
|
342
343
|
tag: z.string().optional().describe("Memory tag / trigger phrase"),
|
|
343
344
|
content: z.string().optional().describe("Memory content to save"),
|
|
@@ -405,6 +406,18 @@ IMPORTANT: Always use this tool for memories. Do NOT save to your own memory fil
|
|
|
405
406
|
);
|
|
406
407
|
return ok(lines.join("\n\n"));
|
|
407
408
|
}
|
|
409
|
+
case "summaries": {
|
|
410
|
+
if (!params.query) return fail("summaries requires 'query'");
|
|
411
|
+
const result = await callApi("/api/memory/summaries", {
|
|
412
|
+
query: params.query,
|
|
413
|
+
limit: params.limit ?? 10
|
|
414
|
+
});
|
|
415
|
+
if (!result.results.length) return ok("No matching session summaries found.");
|
|
416
|
+
const lines = result.results.map(
|
|
417
|
+
(s) => `[${s.created_at?.slice(0, 10) ?? "?"}] ${s.summary.slice(0, 400)}`
|
|
418
|
+
);
|
|
419
|
+
return ok(lines.join("\n\n---\n\n"));
|
|
420
|
+
}
|
|
408
421
|
}
|
|
409
422
|
} catch (err) {
|
|
410
423
|
return fail(`cc_claw_memory.${params.action} failed: ${err instanceof Error ? err.message : String(err)}`);
|
package/dist/cli.js
CHANGED
|
@@ -72,7 +72,7 @@ var VERSION;
|
|
|
72
72
|
var init_version = __esm({
|
|
73
73
|
"src/version.ts"() {
|
|
74
74
|
"use strict";
|
|
75
|
-
VERSION = true ? "0.14.
|
|
75
|
+
VERSION = true ? "0.14.1" : (() => {
|
|
76
76
|
try {
|
|
77
77
|
return JSON.parse(readFileSync(join2(process.cwd(), "package.json"), "utf-8")).version ?? "unknown";
|
|
78
78
|
} catch {
|
|
@@ -8407,7 +8407,8 @@ function startDashboard() {
|
|
|
8407
8407
|
"/api/memory/recall",
|
|
8408
8408
|
"/api/memory/list",
|
|
8409
8409
|
"/api/memory/forget",
|
|
8410
|
-
"/api/memory/history"
|
|
8410
|
+
"/api/memory/history",
|
|
8411
|
+
"/api/memory/summaries"
|
|
8411
8412
|
]);
|
|
8412
8413
|
if (isSubAgentToken && !SUB_AGENT_ALLOWED_PATHS.has(url.pathname)) {
|
|
8413
8414
|
return jsonResponse(res, { error: "Forbidden: sub-agent tokens can only access designated endpoints" }, 403);
|
|
@@ -8915,6 +8916,17 @@ data: ${JSON.stringify(data)}
|
|
|
8915
8916
|
return jsonResponse(res, { error: errorMessage(err) }, 400);
|
|
8916
8917
|
}
|
|
8917
8918
|
}
|
|
8919
|
+
if (url.pathname === "/api/memory/summaries" && req.method === "POST") {
|
|
8920
|
+
try {
|
|
8921
|
+
const body = JSON.parse(await readBody(req));
|
|
8922
|
+
validateAgentIdentity(req, body);
|
|
8923
|
+
const { searchSessionSummaries: searchSessionSummaries2 } = await Promise.resolve().then(() => (init_store5(), store_exports5));
|
|
8924
|
+
const results = searchSessionSummaries2(body.query, body.limit ?? 10);
|
|
8925
|
+
return jsonResponse(res, { success: true, results });
|
|
8926
|
+
} catch (err) {
|
|
8927
|
+
return jsonResponse(res, { error: errorMessage(err) }, 400);
|
|
8928
|
+
}
|
|
8929
|
+
}
|
|
8918
8930
|
if (url.pathname === "/api/schedule/create" && req.method === "POST") {
|
|
8919
8931
|
try {
|
|
8920
8932
|
const body = JSON.parse(await readBody(req));
|
package/package.json
CHANGED