memax-cli 0.1.0-alpha.1 → 0.1.0-alpha.10
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/.vscode/mcp.json +8 -0
- package/dist/commands/capture.d.ts +17 -0
- package/dist/commands/capture.d.ts.map +1 -0
- package/dist/commands/capture.js +61 -0
- package/dist/commands/capture.js.map +1 -0
- package/dist/commands/delete.d.ts +1 -1
- package/dist/commands/delete.d.ts.map +1 -1
- package/dist/commands/delete.js +32 -4
- package/dist/commands/delete.js.map +1 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +9 -4
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +178 -2
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/push.d.ts +1 -1
- package/dist/commands/push.d.ts.map +1 -1
- package/dist/commands/push.js +38 -4
- package/dist/commands/push.js.map +1 -1
- package/dist/commands/recall.d.ts.map +1 -1
- package/dist/commands/recall.js +2 -1
- package/dist/commands/recall.js.map +1 -1
- package/dist/commands/setup.d.ts +16 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +869 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/sync.d.ts +1 -0
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +93 -0
- package/dist/commands/sync.js.map +1 -1
- package/dist/index.js +51 -4
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/commands/capture.ts +86 -0
- package/src/commands/delete.ts +43 -5
- package/src/commands/login.ts +9 -4
- package/src/commands/mcp.ts +210 -2
- package/src/commands/push.ts +59 -4
- package/src/commands/recall.ts +4 -1
- package/src/commands/setup.ts +1129 -0
- package/src/commands/sync.ts +103 -0
- package/src/index.ts +60 -4
- package/.turbo/turbo-build.log +0 -4
package/.vscode/mcp.json
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
interface CaptureOptions {
|
|
2
|
+
summary?: string;
|
|
3
|
+
agent?: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* capture-session reads a session transcript from stdin and pushes it
|
|
7
|
+
* to Memax for fact extraction. The extraction pipeline (Claude Haiku)
|
|
8
|
+
* pulls out key decisions, learnings, and context — each becomes a
|
|
9
|
+
* separate searchable note.
|
|
10
|
+
*
|
|
11
|
+
* Usage:
|
|
12
|
+
* memax capture-session --agent claude-code (reads stdin)
|
|
13
|
+
* memax capture-session --summary "Implemented auth system with JWT"
|
|
14
|
+
*/
|
|
15
|
+
export declare function captureSessionCommand(options: CaptureOptions): Promise<void>;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=capture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../src/commands/capture.ts"],"names":[],"mappings":"AASA,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CA2Df"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import { apiPost } from "../lib/api.js";
|
|
3
|
+
/**
|
|
4
|
+
* capture-session reads a session transcript from stdin and pushes it
|
|
5
|
+
* to Memax for fact extraction. The extraction pipeline (Claude Haiku)
|
|
6
|
+
* pulls out key decisions, learnings, and context — each becomes a
|
|
7
|
+
* separate searchable note.
|
|
8
|
+
*
|
|
9
|
+
* Usage:
|
|
10
|
+
* memax capture-session --agent claude-code (reads stdin)
|
|
11
|
+
* memax capture-session --summary "Implemented auth system with JWT"
|
|
12
|
+
*/
|
|
13
|
+
export async function captureSessionCommand(options) {
|
|
14
|
+
let content = "";
|
|
15
|
+
// Read from stdin if available
|
|
16
|
+
if (!process.stdin.isTTY) {
|
|
17
|
+
const chunks = [];
|
|
18
|
+
for await (const chunk of process.stdin) {
|
|
19
|
+
chunks.push(chunk);
|
|
20
|
+
}
|
|
21
|
+
content = Buffer.concat(chunks).toString("utf-8").trim();
|
|
22
|
+
}
|
|
23
|
+
// If --summary provided, use that as the content (or append to stdin)
|
|
24
|
+
if (options.summary) {
|
|
25
|
+
if (content) {
|
|
26
|
+
content = `## Session Summary\n${options.summary}\n\n## Session Transcript\n${content}`;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
content = options.summary;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if (!content) {
|
|
33
|
+
console.error(chalk.red("No session data. Pipe transcript via stdin or use --summary:\n" +
|
|
34
|
+
" memax capture-session --summary 'Implemented JWT auth'\n" +
|
|
35
|
+
" cat transcript.md | memax capture-session --agent claude-code"));
|
|
36
|
+
process.exit(1);
|
|
37
|
+
}
|
|
38
|
+
// Truncate very long transcripts (keep first + last sections)
|
|
39
|
+
if (content.length > 20000) {
|
|
40
|
+
const head = content.slice(0, 10000);
|
|
41
|
+
const tail = content.slice(-5000);
|
|
42
|
+
content = head + "\n\n[...transcript truncated...]\n\n" + tail;
|
|
43
|
+
}
|
|
44
|
+
const agent = options.agent ?? "unknown";
|
|
45
|
+
try {
|
|
46
|
+
const note = await apiPost("/v1/notes", {
|
|
47
|
+
content,
|
|
48
|
+
title: `Session capture (${agent}) — ${new Date().toLocaleDateString()}`,
|
|
49
|
+
content_type: "transcript",
|
|
50
|
+
source: `auto-capture/${agent}`,
|
|
51
|
+
category: "chat/agent",
|
|
52
|
+
});
|
|
53
|
+
console.log(chalk.green(" Session captured."), chalk.gray(`Facts will be extracted in the background.`));
|
|
54
|
+
console.log(chalk.gray(` id: ${note.id} category: ${note.category}\n`));
|
|
55
|
+
}
|
|
56
|
+
catch (err) {
|
|
57
|
+
console.error(chalk.red(` Capture failed: ${err.message}\n`));
|
|
58
|
+
process.exit(1);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=capture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../../src/commands/capture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAaxC;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAuB;IAEvB,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,+BAA+B;IAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3D,CAAC;IAED,sEAAsE;IACtE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,GAAG,uBAAuB,OAAO,CAAC,OAAO,8BAA8B,OAAO,EAAE,CAAC;QAC1F,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CACP,gEAAgE;YAC9D,4DAA4D;YAC5D,iEAAiE,CACpE,CACF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,8DAA8D;IAC9D,IAAI,OAAO,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;QAClC,OAAO,GAAG,IAAI,GAAG,sCAAsC,GAAG,IAAI,CAAC;IACjE,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;IAEzC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAO,WAAW,EAAE;YAC5C,OAAO;YACP,KAAK,EAAE,oBAAoB,KAAK,OAAO,IAAI,IAAI,EAAE,CAAC,kBAAkB,EAAE,EAAE;YACxE,YAAY,EAAE,YAAY;YAC1B,MAAM,EAAE,gBAAgB,KAAK,EAAE;YAC/B,QAAQ,EAAE,YAAY;SACvB,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAClC,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CACzD,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE,eAAe,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;IAC5E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAsB,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../src/commands/delete.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../src/commands/delete.ts"],"names":[],"mappings":"AAUA,wBAAsB,aAAa,CACjC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CA+Bf"}
|
package/dist/commands/delete.js
CHANGED
|
@@ -1,17 +1,45 @@
|
|
|
1
1
|
import chalk from "chalk";
|
|
2
|
-
import {
|
|
2
|
+
import { createInterface } from "node:readline";
|
|
3
|
+
import { apiGet, apiDelete } from "../lib/api.js";
|
|
3
4
|
export async function deleteCommand(id, options) {
|
|
4
5
|
if (!id) {
|
|
5
|
-
console.error(chalk.red("Provide a note ID: memax
|
|
6
|
+
console.error(chalk.red("Provide a note ID: memax forget <id>"));
|
|
6
7
|
process.exit(1);
|
|
7
8
|
}
|
|
9
|
+
// Show what's being deleted and confirm
|
|
10
|
+
if (!options.yes) {
|
|
11
|
+
try {
|
|
12
|
+
const note = await apiGet(`/v1/notes/${id}`);
|
|
13
|
+
console.log(chalk.yellow(`\n Delete "${note.title}" [${note.category}]?\n`));
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
console.log(chalk.yellow(`\n Delete note ${id}?\n`));
|
|
17
|
+
}
|
|
18
|
+
const confirmed = await confirm(" Type y to confirm: ");
|
|
19
|
+
if (!confirmed) {
|
|
20
|
+
console.log(chalk.gray(" Cancelled.\n"));
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
8
24
|
try {
|
|
9
25
|
await apiDelete(`/v1/notes/${id}`);
|
|
10
|
-
console.log(chalk.green("
|
|
26
|
+
console.log(chalk.green(" Forgotten."), chalk.gray(id + "\n"));
|
|
11
27
|
}
|
|
12
28
|
catch (err) {
|
|
13
|
-
console.error(chalk.red(`Delete failed: ${err.message}`));
|
|
29
|
+
console.error(chalk.red(` Delete failed: ${err.message}\n`));
|
|
14
30
|
process.exit(1);
|
|
15
31
|
}
|
|
16
32
|
}
|
|
33
|
+
function confirm(prompt) {
|
|
34
|
+
return new Promise((resolve) => {
|
|
35
|
+
const rl = createInterface({
|
|
36
|
+
input: process.stdin,
|
|
37
|
+
output: process.stdout,
|
|
38
|
+
});
|
|
39
|
+
rl.question(prompt, (answer) => {
|
|
40
|
+
rl.close();
|
|
41
|
+
resolve(answer.trim().toLowerCase() === "y");
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
}
|
|
17
45
|
//# sourceMappingURL=delete.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../src/commands/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../src/commands/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAQlD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,EAAU,EACV,OAA0B;IAE1B,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,wCAAwC;IACxC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAO,aAAa,EAAE,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,QAAQ,MAAM,CAAC,CACjE,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAClE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAqB,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,MAAc;IAC7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,EAAE,GAAG,eAAe,CAAC;YACzB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QACH,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAC7B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAUA,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAUA,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAsHlD;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAInD;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAgBnD"}
|
package/dist/commands/login.js
CHANGED
|
@@ -50,16 +50,21 @@ export async function loginCommand() {
|
|
|
50
50
|
res.end("<html><body><h2>Login failed</h2><p>No authorization code received.</p></body></html>");
|
|
51
51
|
reject(new Error("No authorization code received from callback."));
|
|
52
52
|
}
|
|
53
|
-
// Close the server
|
|
54
|
-
setTimeout(() =>
|
|
53
|
+
// Close the server and force-kill connections so the process exits
|
|
54
|
+
setTimeout(() => {
|
|
55
|
+
server.close();
|
|
56
|
+
server.closeAllConnections();
|
|
57
|
+
}, 500);
|
|
55
58
|
}
|
|
56
59
|
});
|
|
57
60
|
server.listen(port);
|
|
58
|
-
// Timeout after 2 minutes
|
|
59
|
-
setTimeout(() => {
|
|
61
|
+
// Timeout after 2 minutes — use unref() so it doesn't keep the process alive
|
|
62
|
+
const timeout = setTimeout(() => {
|
|
60
63
|
server.close();
|
|
64
|
+
server.closeAllConnections();
|
|
61
65
|
reject(new Error("Login timed out — no callback received within 2 minutes."));
|
|
62
66
|
}, 120_000);
|
|
67
|
+
timeout.unref();
|
|
63
68
|
});
|
|
64
69
|
// Build the GitHub OAuth URL with our local callback as the redirect
|
|
65
70
|
const authUrl = `${apiUrl}/v1/auth/github?redirect_uri=${encodeURIComponent(callbackUrl)}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAQxD,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;IAE9B,+DAA+D;IAC/D,MAAM,IAAI,GAAG,MAAM,YAAY,EAAE,CAAC;IAClC,MAAM,WAAW,GAAG,oBAAoB,IAAI,WAAW,CAAC;IAExD,MAAM,YAAY,GAAG,IAAI,OAAO,CAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC9D,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YAC7C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAI,EAAE,oBAAoB,IAAI,EAAE,CAAC,CAAC;YAE1D,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;gBACjC,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAE1C,IAAI,IAAI,EAAE,CAAC;oBACT,iDAAiD;oBACjD,IAAI,CAAC;wBACH,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,mBAAmB,EAAE;4BAC5D,MAAM,EAAE,MAAM;4BACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;4BAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;yBAC/B,CAAC,CAAC;wBACH,MAAM,IAAI,GAAG,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,CAGrC,CAAC;wBAEF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;4BACd,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;4BACpD,GAAG,CAAC,GAAG,CAAC;;;;;;;iBAOL,CAAC,CAAC;4BACL,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACrB,CAAC;6BAAM,CAAC;4BACN,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;4BACpD,GAAG,CAAC,GAAG,CACL,uCAAuC,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,wBAAwB,oBAAoB,CAC3G,CAAC;4BACF,MAAM,CACJ,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,wBAAwB,CAAC,CAC3D,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;wBACpD,GAAG,CAAC,GAAG,CACL,kFAAkF,CACnF,CAAC;wBACF,MAAM,CAAC,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC,CAAC;oBACrE,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;oBACpD,GAAG,CAAC,GAAG,CACL,uFAAuF,CACxF,CAAC;oBACF,MAAM,CAAC,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC,CAAC;gBACrE,CAAC;gBAED
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgepC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CASzD"}
|
package/dist/commands/mcp.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
2
2
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
3
3
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
4
|
-
import { apiGet, apiPost } from "../lib/api.js";
|
|
4
|
+
import { apiGet, apiPost, apiDelete } from "../lib/api.js";
|
|
5
5
|
function createServer() {
|
|
6
6
|
const server = new Server({ name: "memax", version: "0.0.1" }, { capabilities: { tools: {} } });
|
|
7
7
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
@@ -58,6 +58,21 @@ function createServer() {
|
|
|
58
58
|
required: ["content"],
|
|
59
59
|
},
|
|
60
60
|
},
|
|
61
|
+
{
|
|
62
|
+
name: "memax_get",
|
|
63
|
+
description: "Get the full content of a specific note by ID. " +
|
|
64
|
+
"Use this after memax_recall to read the complete content of a relevant memory.",
|
|
65
|
+
inputSchema: {
|
|
66
|
+
type: "object",
|
|
67
|
+
properties: {
|
|
68
|
+
id: {
|
|
69
|
+
type: "string",
|
|
70
|
+
description: "The note ID (from memax_recall or memax_search results)",
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
required: ["id"],
|
|
74
|
+
},
|
|
75
|
+
},
|
|
61
76
|
{
|
|
62
77
|
name: "memax_search",
|
|
63
78
|
description: "List notes filtered by category or tags. " +
|
|
@@ -77,6 +92,48 @@ function createServer() {
|
|
|
77
92
|
},
|
|
78
93
|
},
|
|
79
94
|
},
|
|
95
|
+
{
|
|
96
|
+
name: "memax_forget",
|
|
97
|
+
description: "Delete a note from the user's Memax knowledge base by ID. " +
|
|
98
|
+
"Use this to remove outdated, incorrect, or duplicate memories.",
|
|
99
|
+
inputSchema: {
|
|
100
|
+
type: "object",
|
|
101
|
+
properties: {
|
|
102
|
+
id: {
|
|
103
|
+
type: "string",
|
|
104
|
+
description: "The note ID to delete (from memax_recall or memax_search results)",
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
required: ["id"],
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
name: "memax_capture",
|
|
112
|
+
description: "Capture key decisions, learnings, and context from this session. " +
|
|
113
|
+
"Call at the end of a significant work session to save what was accomplished " +
|
|
114
|
+
"and what should be remembered for future sessions. More selective than " +
|
|
115
|
+
"auto-capture — you decide what's worth remembering.",
|
|
116
|
+
inputSchema: {
|
|
117
|
+
type: "object",
|
|
118
|
+
properties: {
|
|
119
|
+
summary: {
|
|
120
|
+
type: "string",
|
|
121
|
+
description: "Brief summary of what was accomplished in this session",
|
|
122
|
+
},
|
|
123
|
+
decisions: {
|
|
124
|
+
type: "array",
|
|
125
|
+
items: { type: "string" },
|
|
126
|
+
description: "Key decisions made (e.g., 'Chose PostgreSQL over MongoDB')",
|
|
127
|
+
},
|
|
128
|
+
learnings: {
|
|
129
|
+
type: "array",
|
|
130
|
+
items: { type: "string" },
|
|
131
|
+
description: "Things learned (e.g., 'pg_trgm is language-agnostic')",
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
required: ["summary"],
|
|
135
|
+
},
|
|
136
|
+
},
|
|
80
137
|
],
|
|
81
138
|
}));
|
|
82
139
|
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
@@ -102,7 +159,7 @@ function createServer() {
|
|
|
102
159
|
.map((n, i) => {
|
|
103
160
|
const score = (n.relevance_score * 100).toFixed(0);
|
|
104
161
|
const heading = n.heading_chain ? ` — ${n.heading_chain}` : "";
|
|
105
|
-
return (`[${i + 1}] ${n.title} [${n.category}, ${score}%, ${n.age}]${heading}\n` +
|
|
162
|
+
return (`[${i + 1}] ${n.title} [${n.category}, ${score}%, ${n.age}] (id: ${n.id})${heading}\n` +
|
|
106
163
|
n.chunk_content);
|
|
107
164
|
})
|
|
108
165
|
.join("\n\n");
|
|
@@ -151,6 +208,40 @@ function createServer() {
|
|
|
151
208
|
};
|
|
152
209
|
}
|
|
153
210
|
}
|
|
211
|
+
case "memax_get": {
|
|
212
|
+
const typedArgs = args;
|
|
213
|
+
try {
|
|
214
|
+
const note = await apiGet(`/v1/notes/${typedArgs.id}`);
|
|
215
|
+
const parts = [
|
|
216
|
+
`# ${note.title}`,
|
|
217
|
+
`Category: ${note.category} | Source: ${note.source} | Created: ${note.created_at}`,
|
|
218
|
+
];
|
|
219
|
+
if (note.tags?.length > 0) {
|
|
220
|
+
parts.push(`Tags: ${note.tags.join(", ")}`);
|
|
221
|
+
}
|
|
222
|
+
if (note.source_path) {
|
|
223
|
+
parts.push(`Source: ${note.source_path}`);
|
|
224
|
+
}
|
|
225
|
+
if (note.summary) {
|
|
226
|
+
parts.push(`\n## Summary\n${note.summary}`);
|
|
227
|
+
}
|
|
228
|
+
parts.push(`\n## Content\n${note.content}`);
|
|
229
|
+
return {
|
|
230
|
+
content: [{ type: "text", text: parts.join("\n") }],
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
catch (err) {
|
|
234
|
+
return {
|
|
235
|
+
content: [
|
|
236
|
+
{
|
|
237
|
+
type: "text",
|
|
238
|
+
text: `Get failed: ${err.message}`,
|
|
239
|
+
},
|
|
240
|
+
],
|
|
241
|
+
isError: true,
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
}
|
|
154
245
|
case "memax_search": {
|
|
155
246
|
const typedArgs = args;
|
|
156
247
|
try {
|
|
@@ -182,6 +273,82 @@ function createServer() {
|
|
|
182
273
|
};
|
|
183
274
|
}
|
|
184
275
|
}
|
|
276
|
+
case "memax_forget": {
|
|
277
|
+
const typedArgs = args;
|
|
278
|
+
if (!typedArgs.id) {
|
|
279
|
+
return {
|
|
280
|
+
content: [{ type: "text", text: "Note ID is required." }],
|
|
281
|
+
isError: true,
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
try {
|
|
285
|
+
await apiDelete(`/v1/notes/${typedArgs.id}`);
|
|
286
|
+
return {
|
|
287
|
+
content: [
|
|
288
|
+
{
|
|
289
|
+
type: "text",
|
|
290
|
+
text: `Forgotten: ${typedArgs.id}`,
|
|
291
|
+
},
|
|
292
|
+
],
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
catch (err) {
|
|
296
|
+
return {
|
|
297
|
+
content: [
|
|
298
|
+
{
|
|
299
|
+
type: "text",
|
|
300
|
+
text: `Forget failed: ${err.message}`,
|
|
301
|
+
},
|
|
302
|
+
],
|
|
303
|
+
isError: true,
|
|
304
|
+
};
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
case "memax_capture": {
|
|
308
|
+
const typedArgs = args;
|
|
309
|
+
if (!typedArgs.summary) {
|
|
310
|
+
return {
|
|
311
|
+
content: [{ type: "text", text: "Summary is required." }],
|
|
312
|
+
isError: true,
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
// Build structured content for the extraction pipeline
|
|
316
|
+
let content = `## Session Summary\n${typedArgs.summary}\n`;
|
|
317
|
+
if (typedArgs.decisions?.length) {
|
|
318
|
+
content += `\n## Decisions Made\n${typedArgs.decisions.map((d) => `- ${d}`).join("\n")}\n`;
|
|
319
|
+
}
|
|
320
|
+
if (typedArgs.learnings?.length) {
|
|
321
|
+
content += `\n## Learnings\n${typedArgs.learnings.map((l) => `- ${l}`).join("\n")}\n`;
|
|
322
|
+
}
|
|
323
|
+
try {
|
|
324
|
+
const note = await apiPost("/v1/notes", {
|
|
325
|
+
content,
|
|
326
|
+
title: `Session capture — ${new Date().toLocaleDateString()}`,
|
|
327
|
+
content_type: "transcript",
|
|
328
|
+
source: "mcp/capture",
|
|
329
|
+
category: "chat/agent",
|
|
330
|
+
});
|
|
331
|
+
return {
|
|
332
|
+
content: [
|
|
333
|
+
{
|
|
334
|
+
type: "text",
|
|
335
|
+
text: `Session captured (id: ${note.id}). Key facts will be extracted and stored as separate memories.`,
|
|
336
|
+
},
|
|
337
|
+
],
|
|
338
|
+
};
|
|
339
|
+
}
|
|
340
|
+
catch (err) {
|
|
341
|
+
return {
|
|
342
|
+
content: [
|
|
343
|
+
{
|
|
344
|
+
type: "text",
|
|
345
|
+
text: `Capture failed: ${err.message}`,
|
|
346
|
+
},
|
|
347
|
+
],
|
|
348
|
+
isError: true,
|
|
349
|
+
};
|
|
350
|
+
}
|
|
351
|
+
}
|
|
185
352
|
default:
|
|
186
353
|
return {
|
|
187
354
|
content: [{ type: "text", text: `Unknown tool: ${name}` }],
|
|
@@ -195,6 +362,15 @@ async function mcpServeCommand() {
|
|
|
195
362
|
const server = createServer();
|
|
196
363
|
const transport = new StdioServerTransport();
|
|
197
364
|
await server.connect(transport);
|
|
365
|
+
// Keep the process alive — some agent launchers close stdin early
|
|
366
|
+
// which makes Node think the event loop is empty and exit.
|
|
367
|
+
await new Promise((resolve) => {
|
|
368
|
+
process.on("SIGINT", resolve);
|
|
369
|
+
process.on("SIGTERM", resolve);
|
|
370
|
+
// Also resolve if stdin closes (transport disconnected)
|
|
371
|
+
process.stdin.on("end", resolve);
|
|
372
|
+
});
|
|
373
|
+
await server.close();
|
|
198
374
|
}
|
|
199
375
|
export function registerMcpCommand(program) {
|
|
200
376
|
const mcp = program
|
package/dist/commands/mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/push.d.ts
CHANGED
|
@@ -6,6 +6,6 @@ interface PushOptions {
|
|
|
6
6
|
stdin?: boolean;
|
|
7
7
|
title?: string;
|
|
8
8
|
}
|
|
9
|
-
export declare function pushCommand(options: PushOptions): Promise<void>;
|
|
9
|
+
export declare function pushCommand(inlineContent: string | undefined, options: PushOptions): Promise<void>;
|
|
10
10
|
export {};
|
|
11
11
|
//# sourceMappingURL=push.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AAcA,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,WAAW,CAC/B,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CA8Gf"}
|
package/dist/commands/push.js
CHANGED
|
@@ -1,13 +1,28 @@
|
|
|
1
1
|
import chalk from "chalk";
|
|
2
|
-
import { readFileSync } from "node:fs";
|
|
2
|
+
import { readFileSync, statSync } from "node:fs";
|
|
3
3
|
import { basename } from "node:path";
|
|
4
4
|
import { apiPost } from "../lib/api.js";
|
|
5
|
-
|
|
5
|
+
const MAX_SIZE = 3 * 1024 * 1024; // 3MB — must match server's MAX_BODY_SIZE default
|
|
6
|
+
function formatSize(bytes) {
|
|
7
|
+
if (bytes < 1024)
|
|
8
|
+
return `${bytes} B`;
|
|
9
|
+
if (bytes < 1024 * 1024)
|
|
10
|
+
return `${(bytes / 1024).toFixed(1)} KB`;
|
|
11
|
+
return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
|
|
12
|
+
}
|
|
13
|
+
export async function pushCommand(inlineContent, options) {
|
|
6
14
|
let content;
|
|
7
15
|
let title = options.title ?? "";
|
|
8
16
|
let sourcePath = "";
|
|
9
17
|
if (options.file) {
|
|
10
18
|
try {
|
|
19
|
+
// Check file size before reading
|
|
20
|
+
const stat = statSync(options.file);
|
|
21
|
+
if (stat.size > MAX_SIZE) {
|
|
22
|
+
console.error(chalk.red(`File too large: ${formatSize(stat.size)} (limit: ${formatSize(MAX_SIZE)})`));
|
|
23
|
+
console.error(chalk.gray(" Tip: split large files into smaller sections, or ask your admin to increase MAX_BODY_SIZE on the server."));
|
|
24
|
+
process.exit(1);
|
|
25
|
+
}
|
|
11
26
|
content = readFileSync(options.file, "utf-8");
|
|
12
27
|
sourcePath = options.file;
|
|
13
28
|
if (!title) {
|
|
@@ -15,10 +30,22 @@ export async function pushCommand(options) {
|
|
|
15
30
|
}
|
|
16
31
|
}
|
|
17
32
|
catch (err) {
|
|
18
|
-
|
|
33
|
+
if (err.code === "ENOENT") {
|
|
34
|
+
console.error(chalk.red(`File not found: ${options.file}`));
|
|
35
|
+
}
|
|
36
|
+
else if (err.exitCode) {
|
|
37
|
+
throw err; // Re-throw our own process.exit calls
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
console.error(chalk.red(`Error reading file: ${options.file}`));
|
|
41
|
+
}
|
|
19
42
|
process.exit(1);
|
|
20
43
|
}
|
|
21
44
|
}
|
|
45
|
+
else if (inlineContent) {
|
|
46
|
+
// Positional argument: memax push "some content"
|
|
47
|
+
content = inlineContent;
|
|
48
|
+
}
|
|
22
49
|
else if (options.stdin || !process.stdin.isTTY) {
|
|
23
50
|
const chunks = [];
|
|
24
51
|
for await (const chunk of process.stdin) {
|
|
@@ -27,13 +54,20 @@ export async function pushCommand(options) {
|
|
|
27
54
|
content = Buffer.concat(chunks).toString("utf-8");
|
|
28
55
|
}
|
|
29
56
|
else {
|
|
30
|
-
console.error(chalk.red(
|
|
57
|
+
console.error(chalk.red('Provide content, --file <path>, or pipe via stdin:\n memax push "your content here"\n memax push --file ./doc.md\n echo "content" | memax push'));
|
|
31
58
|
process.exit(1);
|
|
32
59
|
}
|
|
33
60
|
if (!content.trim()) {
|
|
34
61
|
console.error(chalk.red("No content to push"));
|
|
35
62
|
process.exit(1);
|
|
36
63
|
}
|
|
64
|
+
// Check size before sending
|
|
65
|
+
const contentBytes = Buffer.byteLength(content, "utf-8");
|
|
66
|
+
if (contentBytes > MAX_SIZE) {
|
|
67
|
+
console.error(chalk.red(`File too large: ${formatSize(contentBytes)} (limit: ${formatSize(MAX_SIZE)})`));
|
|
68
|
+
console.error(chalk.gray(" Tip: split large files into smaller sections, or ask your admin to increase MAX_BODY_SIZE on the server."));
|
|
69
|
+
process.exit(1);
|
|
70
|
+
}
|
|
37
71
|
const tags = options.tags ? options.tags.split(",").map((t) => t.trim()) : [];
|
|
38
72
|
// Auto-detect URL content: single-line http(s) URL -> content_type "link"
|
|
39
73
|
const trimmed = content.trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recall.d.ts","sourceRoot":"","sources":["../../src/commands/recall.ts"],"names":[],"mappings":"AAqBA,UAAU,aAAa;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"recall.d.ts","sourceRoot":"","sources":["../../src/commands/recall.ts"],"names":[],"mappings":"AAqBA,UAAU,aAAa;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC,CAgIf"}
|
package/dist/commands/recall.js
CHANGED
|
@@ -64,7 +64,7 @@ export async function recallCommand(query, options) {
|
|
|
64
64
|
}
|
|
65
65
|
for (const note of notes) {
|
|
66
66
|
const score = (note.relevance_score * 100).toFixed(0);
|
|
67
|
-
console.log(`${note.title} [${note.category}] ${score}% · ${note.age}`);
|
|
67
|
+
console.log(`${note.title} [${note.category}] ${score}% · ${note.age} (${note.id})`);
|
|
68
68
|
if (note.heading_chain) {
|
|
69
69
|
console.log(` ${note.heading_chain}`);
|
|
70
70
|
}
|
|
@@ -87,6 +87,7 @@ export async function recallCommand(query, options) {
|
|
|
87
87
|
for (const note of notes) {
|
|
88
88
|
const score = (note.relevance_score * 100).toFixed(0);
|
|
89
89
|
console.log(chalk.bold(note.title), chalk.gray(`[${note.category}]`), chalk.cyan(`${score}%`), chalk.gray(`· ${note.age}`));
|
|
90
|
+
console.log(chalk.gray(` id: ${note.id}`));
|
|
90
91
|
if (note.heading_chain) {
|
|
91
92
|
console.log(chalk.gray(` ${note.heading_chain}`));
|
|
92
93
|
}
|