chat-recall 0.5.19 → 0.5.20
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 +1 -1
- package/dist/cli.js +4 -4
- package/dist/mcp.js +26 -17
- package/dist/watch.js +5 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
[](https://www.npmjs.com/package/chat-recall)
|
|
5
5
|
[](https://www.npmjs.com/package/chat-recall)
|
|
6
6
|
[](https://registry.modelcontextprotocol.io/v0/servers?search=chat-recall)
|
|
7
|
-
[](https://smithery.ai/server/munhq/chat-recall)
|
|
8
8
|
[](https://glama.ai/mcp/servers/munhq/chat-recall)
|
|
9
9
|
|
|
10
10
|
[](cursor://anysphere.cursor-deeplink/mcp/install?name=chat-recall&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIi1wIiwiY2hhdC1yZWNhbGwiLCJjaGF0LXJlY2FsbC1tY3AiXX0=)
|
package/dist/cli.js
CHANGED
|
@@ -19727,7 +19727,7 @@ var init_http = __esm({
|
|
|
19727
19727
|
CLI_VERSION = JSON.parse(readFileSync33(new URL("../package.json", import.meta.url), "utf-8")).version || CLI_VERSION;
|
|
19728
19728
|
} catch {
|
|
19729
19729
|
try {
|
|
19730
|
-
if (true) CLI_VERSION = "0.5.
|
|
19730
|
+
if (true) CLI_VERSION = "0.5.20";
|
|
19731
19731
|
} catch {
|
|
19732
19732
|
}
|
|
19733
19733
|
}
|
|
@@ -20239,7 +20239,7 @@ var init_telemetry = __esm({
|
|
|
20239
20239
|
init_sync_client();
|
|
20240
20240
|
cliVersion2 = () => {
|
|
20241
20241
|
try {
|
|
20242
|
-
return true ? "0.5.
|
|
20242
|
+
return true ? "0.5.20" : "dev";
|
|
20243
20243
|
} catch {
|
|
20244
20244
|
return "dev";
|
|
20245
20245
|
}
|
|
@@ -22066,7 +22066,7 @@ var init_sync_client = __esm({
|
|
|
22066
22066
|
ownVersion = JSON.parse(readFileSync37(join44(dir, "../package.json"), "utf-8")).version || ownVersion;
|
|
22067
22067
|
} catch {
|
|
22068
22068
|
try {
|
|
22069
|
-
if (true) ownVersion = "0.5.
|
|
22069
|
+
if (true) ownVersion = "0.5.20";
|
|
22070
22070
|
} catch {
|
|
22071
22071
|
}
|
|
22072
22072
|
}
|
|
@@ -25862,7 +25862,7 @@ var init_intent_drain = __esm({
|
|
|
25862
25862
|
ownVersion2 = JSON.parse(readFileSync46(join55(dir, "../package.json"), "utf-8")).version || ownVersion2;
|
|
25863
25863
|
} catch {
|
|
25864
25864
|
try {
|
|
25865
|
-
if (true) ownVersion2 = "0.5.
|
|
25865
|
+
if (true) ownVersion2 = "0.5.20";
|
|
25866
25866
|
} catch {
|
|
25867
25867
|
}
|
|
25868
25868
|
}
|
package/dist/mcp.js
CHANGED
|
@@ -20630,7 +20630,7 @@ var init_http = __esm({
|
|
|
20630
20630
|
CLI_VERSION = JSON.parse(readFileSync37(new URL("../package.json", import.meta.url), "utf-8")).version || CLI_VERSION;
|
|
20631
20631
|
} catch {
|
|
20632
20632
|
try {
|
|
20633
|
-
if (true) CLI_VERSION = "0.5.
|
|
20633
|
+
if (true) CLI_VERSION = "0.5.20";
|
|
20634
20634
|
} catch {
|
|
20635
20635
|
}
|
|
20636
20636
|
}
|
|
@@ -21142,7 +21142,7 @@ var init_telemetry = __esm({
|
|
|
21142
21142
|
init_sync_client();
|
|
21143
21143
|
cliVersion2 = () => {
|
|
21144
21144
|
try {
|
|
21145
|
-
return true ? "0.5.
|
|
21145
|
+
return true ? "0.5.20" : "dev";
|
|
21146
21146
|
} catch {
|
|
21147
21147
|
return "dev";
|
|
21148
21148
|
}
|
|
@@ -22802,7 +22802,7 @@ var init_sync_client = __esm({
|
|
|
22802
22802
|
ownVersion = JSON.parse(readFileSync39(join49(dir, "../package.json"), "utf-8")).version || ownVersion;
|
|
22803
22803
|
} catch {
|
|
22804
22804
|
try {
|
|
22805
|
-
if (true) ownVersion = "0.5.
|
|
22805
|
+
if (true) ownVersion = "0.5.20";
|
|
22806
22806
|
} catch {
|
|
22807
22807
|
}
|
|
22808
22808
|
}
|
|
@@ -23549,7 +23549,7 @@ function isMultiTenant() {
|
|
|
23549
23549
|
|
|
23550
23550
|
// ../engine/dist/mcp/tools.js
|
|
23551
23551
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
23552
|
-
import { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
|
|
23552
|
+
import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ListPromptsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
|
|
23553
23553
|
import { z } from "zod";
|
|
23554
23554
|
import { existsSync as existsSync23, readFileSync as readFileSync18, statSync as statSync19 } from "fs";
|
|
23555
23555
|
import { join as join26 } from "path";
|
|
@@ -24350,7 +24350,14 @@ function setServerVersion(version2) {
|
|
|
24350
24350
|
serverVersion = version2;
|
|
24351
24351
|
}
|
|
24352
24352
|
function createMcpServer() {
|
|
24353
|
-
const s = new Server(
|
|
24353
|
+
const s = new Server(
|
|
24354
|
+
{ name: "chat-recall", version: serverVersion },
|
|
24355
|
+
// resources and prompts are declared EMPTY rather than omitted: clients probe
|
|
24356
|
+
// them regardless of what is advertised, and an unregistered method answers
|
|
24357
|
+
// -32601, which every directory scan logs as a failure of a server that is
|
|
24358
|
+
// working correctly. See the handlers in attachHandlers.
|
|
24359
|
+
{ capabilities: { tools: {}, resources: {}, prompts: {} } }
|
|
24360
|
+
);
|
|
24354
24361
|
attachHandlers(s);
|
|
24355
24362
|
return s;
|
|
24356
24363
|
}
|
|
@@ -24474,6 +24481,8 @@ function annotate(t) {
|
|
|
24474
24481
|
};
|
|
24475
24482
|
}
|
|
24476
24483
|
function attachHandlers(server) {
|
|
24484
|
+
server.setRequestHandler(ListResourcesRequestSchema, async () => ({ resources: [] }));
|
|
24485
|
+
server.setRequestHandler(ListPromptsRequestSchema, async () => ({ prompts: [] }));
|
|
24477
24486
|
server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
24478
24487
|
const all = [
|
|
24479
24488
|
{
|
|
@@ -24789,7 +24798,7 @@ with recall_show (pass the plan id).`,
|
|
|
24789
24798
|
description: "Filter by source types (default: all)"
|
|
24790
24799
|
},
|
|
24791
24800
|
project_filter: { type: "string", description: "Filter by project path" },
|
|
24792
|
-
provider: { type: "string", enum: ["ollama", "gemini"], default: "ollama" },
|
|
24801
|
+
provider: { type: "string", enum: ["ollama", "gemini"], default: "ollama", description: "Embedding provider, when the server has vector search configured. Ignored on a keyword-only server." },
|
|
24793
24802
|
scope: { type: "string", enum: ["local", "server"], default: "local", description: "server = synced cross-device history (needs chat-recall login)." },
|
|
24794
24803
|
semantic: { type: "boolean", default: false, description: "Reserved and currently ignored: the semantic tier is switched off server-side, so every search runs keyword FTS." }
|
|
24795
24804
|
},
|
|
@@ -24925,7 +24934,7 @@ lets the board verify the work actually shipped.`,
|
|
|
24925
24934
|
type: "object",
|
|
24926
24935
|
properties: {
|
|
24927
24936
|
title: { type: "string", description: "Task title" },
|
|
24928
|
-
description: { type: "string" },
|
|
24937
|
+
description: { type: "string", description: "What the work actually is. The title is the label; this is where the detail a future reader needs belongs." },
|
|
24929
24938
|
project: { type: "string", description: "project_id this task belongs to" },
|
|
24930
24939
|
assignee: { type: "string", description: "Teammate user id (sub) to assign" },
|
|
24931
24940
|
due: { type: "number", description: "Due date, epoch milliseconds. Set one when the work is time-bound; omit otherwise." },
|
|
@@ -24951,7 +24960,7 @@ WORKFLOW \u2014 do this whenever the user asks you to work on a task from the bo
|
|
|
24951
24960
|
id: { type: "string", description: "Task id (t_\u2026)" },
|
|
24952
24961
|
status: { type: "string", enum: [...TASK_STATUS_SETTABLE], description: "Set the card's state. There is no 'rejected' here on purpose: rejecting is the user's verdict, not yours." },
|
|
24953
24962
|
assignee: { type: "string", description: "Reassign to this user id (sub)" },
|
|
24954
|
-
title: { type: "string" },
|
|
24963
|
+
title: { type: "string", description: "Rename the card. Omit to leave the title alone." },
|
|
24955
24964
|
comment: { type: "string", description: "Add a comment" },
|
|
24956
24965
|
linked_session_id: { type: "string", description: "Session id to attach \u2014 pass YOUR OWN current session id when you start working on this task, so the board can check whether the work shipped. Null detaches." }
|
|
24957
24966
|
},
|
|
@@ -24985,7 +24994,7 @@ Use this to VERIFY facts before asserting them.`,
|
|
|
24985
24994
|
properties: {
|
|
24986
24995
|
entity: { type: "string", description: 'Entity to query (e.g., "Alice", "chat-recall")' },
|
|
24987
24996
|
as_of: { type: "string", description: "Date filter (YYYY-MM-DD, optional)" },
|
|
24988
|
-
direction: { type: "string", enum: ["outgoing", "incoming", "both"], default: "both" }
|
|
24997
|
+
direction: { type: "string", enum: ["outgoing", "incoming", "both"], default: "both", description: "Which edges to follow: facts where the entity is the subject (outgoing), the object (incoming), or both." }
|
|
24989
24998
|
},
|
|
24990
24999
|
required: ["entity"]
|
|
24991
25000
|
}
|
|
@@ -25198,8 +25207,8 @@ I asking yesterday?" or "what did I tell the agent in this session?".`,
|
|
|
25198
25207
|
type: "object",
|
|
25199
25208
|
properties: {
|
|
25200
25209
|
session_id: { type: "string", description: "If set, only that session's prompts" },
|
|
25201
|
-
since_days: { type: "number", default: 7 },
|
|
25202
|
-
limit: { type: "number", default: 50 }
|
|
25210
|
+
since_days: { type: "number", default: 7, description: "How far back to look, in days." },
|
|
25211
|
+
limit: { type: "number", default: 50, description: "Maximum prompts to return, newest first." }
|
|
25203
25212
|
}
|
|
25204
25213
|
}
|
|
25205
25214
|
},
|
|
@@ -25214,9 +25223,9 @@ something non-obvious that future sessions should remember.`,
|
|
|
25214
25223
|
subject: { type: "string", description: "What the decision is about" },
|
|
25215
25224
|
decision: { type: "string", description: "The decision itself" },
|
|
25216
25225
|
reason: { type: "string", description: "Why this was decided" },
|
|
25217
|
-
importance: { type: "number", minimum: 1, maximum: 5, default: 4 },
|
|
25218
|
-
session_id: { type: "string" },
|
|
25219
|
-
agent_name: { type: "string", default: "agent" }
|
|
25226
|
+
importance: { type: "number", minimum: 1, maximum: 5, default: 4, description: "1-5. Only 4 and 5 surface in the wake-up bundle, so reserve those for decisions a future session must not miss." },
|
|
25227
|
+
session_id: { type: "string", description: "Session this decision came out of. Pass your own current session id so the decision can be traced back to the conversation that made it." },
|
|
25228
|
+
agent_name: { type: "string", default: "agent", description: "Which agent is recording this, so diary entries stay separable per agent." }
|
|
25220
25229
|
},
|
|
25221
25230
|
required: ["subject", "decision"]
|
|
25222
25231
|
}
|
|
@@ -25245,9 +25254,9 @@ the start of a session to "remember who you are and what's true right now".`,
|
|
|
25245
25254
|
inputSchema: {
|
|
25246
25255
|
type: "object",
|
|
25247
25256
|
properties: {
|
|
25248
|
-
max_facts: { type: "number", default: 10 },
|
|
25249
|
-
max_kg_facts: { type: "number", default: 15 },
|
|
25250
|
-
identity: { type: "string" },
|
|
25257
|
+
max_facts: { type: "number", default: 10, description: "How many high-importance classifier facts to include." },
|
|
25258
|
+
max_kg_facts: { type: "number", default: 15, description: "How many current knowledge-graph facts to include." },
|
|
25259
|
+
identity: { type: "string", description: "Override the identity line at the top of the bundle. Defaults to ~/.chat-recall/identity.txt when present." },
|
|
25251
25260
|
project_filter: { type: "string", description: "Scope facts, KG entities and the task count to a project (substring match). Without it, facts are global." },
|
|
25252
25261
|
project: { type: "string", description: "Alias for project_filter \u2014 the name every sibling tool uses." }
|
|
25253
25262
|
}
|
package/dist/watch.js
CHANGED
|
@@ -19210,7 +19210,7 @@ var init_http = __esm({
|
|
|
19210
19210
|
CLI_VERSION = JSON.parse(readFileSync33(new URL("../package.json", import.meta.url), "utf-8")).version || CLI_VERSION;
|
|
19211
19211
|
} catch {
|
|
19212
19212
|
try {
|
|
19213
|
-
if (true) CLI_VERSION = "0.5.
|
|
19213
|
+
if (true) CLI_VERSION = "0.5.20";
|
|
19214
19214
|
} catch {
|
|
19215
19215
|
}
|
|
19216
19216
|
}
|
|
@@ -19718,7 +19718,7 @@ var init_telemetry = __esm({
|
|
|
19718
19718
|
init_sync_client();
|
|
19719
19719
|
cliVersion = () => {
|
|
19720
19720
|
try {
|
|
19721
|
-
return true ? "0.5.
|
|
19721
|
+
return true ? "0.5.20" : "dev";
|
|
19722
19722
|
} catch {
|
|
19723
19723
|
return "dev";
|
|
19724
19724
|
}
|
|
@@ -21414,7 +21414,7 @@ var init_sync_client = __esm({
|
|
|
21414
21414
|
ownVersion = JSON.parse(readFileSync37(join44(dir, "../package.json"), "utf-8")).version || ownVersion;
|
|
21415
21415
|
} catch {
|
|
21416
21416
|
try {
|
|
21417
|
-
if (true) ownVersion = "0.5.
|
|
21417
|
+
if (true) ownVersion = "0.5.20";
|
|
21418
21418
|
} catch {
|
|
21419
21419
|
}
|
|
21420
21420
|
}
|
|
@@ -24207,7 +24207,7 @@ try {
|
|
|
24207
24207
|
ownVersion2 = JSON.parse(readFileSync41(join49(dir, "../package.json"), "utf-8")).version || ownVersion2;
|
|
24208
24208
|
} catch {
|
|
24209
24209
|
try {
|
|
24210
|
-
if (true) ownVersion2 = "0.5.
|
|
24210
|
+
if (true) ownVersion2 = "0.5.20";
|
|
24211
24211
|
} catch {
|
|
24212
24212
|
}
|
|
24213
24213
|
}
|
|
@@ -24551,7 +24551,7 @@ async function runCollectorMigration(opts) {
|
|
|
24551
24551
|
init_sync_ledger();
|
|
24552
24552
|
init_collector_health();
|
|
24553
24553
|
import { existsSync as existsSync50, readFileSync as readFileSync46 } from "fs";
|
|
24554
|
-
var CLI_VERSION3 = true ? "0.5.
|
|
24554
|
+
var CLI_VERSION3 = true ? "0.5.20" : "0.0.0";
|
|
24555
24555
|
var DEBOUNCE_MS = 5e3;
|
|
24556
24556
|
var CLAUDE_DIR = claudeBackend.projectsDir();
|
|
24557
24557
|
var PLANS_DIR = claudeBackend.plansDir();
|