agent-recall-mcp 3.3.2 → 3.3.4

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.
Files changed (152) hide show
  1. package/dist/index.js +6 -13
  2. package/dist/index.js.map +1 -1
  3. package/dist/resources/journal-resources.d.ts.map +1 -1
  4. package/dist/resources/journal-resources.js +5 -29
  5. package/dist/resources/journal-resources.js.map +1 -1
  6. package/dist/server.js +1 -1
  7. package/dist/server.js.map +1 -1
  8. package/dist/tools/alignment-check.d.ts.map +1 -1
  9. package/dist/tools/alignment-check.js +3 -54
  10. package/dist/tools/alignment-check.js.map +1 -1
  11. package/dist/tools/awareness-update.d.ts +2 -8
  12. package/dist/tools/awareness-update.d.ts.map +1 -1
  13. package/dist/tools/awareness-update.js +3 -66
  14. package/dist/tools/awareness-update.js.map +1 -1
  15. package/dist/tools/context-synthesize.d.ts.map +1 -1
  16. package/dist/tools/context-synthesize.js +6 -187
  17. package/dist/tools/context-synthesize.js.map +1 -1
  18. package/dist/tools/journal-archive.d.ts.map +1 -1
  19. package/dist/tools/journal-archive.js +3 -48
  20. package/dist/tools/journal-archive.js.map +1 -1
  21. package/dist/tools/journal-capture.d.ts.map +1 -1
  22. package/dist/tools/journal-capture.js +3 -60
  23. package/dist/tools/journal-capture.js.map +1 -1
  24. package/dist/tools/journal-cold-start.d.ts.map +1 -1
  25. package/dist/tools/journal-cold-start.js +10 -52
  26. package/dist/tools/journal-cold-start.js.map +1 -1
  27. package/dist/tools/journal-list.d.ts.map +1 -1
  28. package/dist/tools/journal-list.js +3 -23
  29. package/dist/tools/journal-list.js.map +1 -1
  30. package/dist/tools/journal-projects.d.ts.map +1 -1
  31. package/dist/tools/journal-projects.js +3 -16
  32. package/dist/tools/journal-projects.js.map +1 -1
  33. package/dist/tools/journal-read.d.ts.map +1 -1
  34. package/dist/tools/journal-read.js +5 -45
  35. package/dist/tools/journal-read.js.map +1 -1
  36. package/dist/tools/journal-rollup.d.ts +3 -0
  37. package/dist/tools/journal-rollup.d.ts.map +1 -0
  38. package/dist/tools/journal-rollup.js +21 -0
  39. package/dist/tools/journal-rollup.js.map +1 -0
  40. package/dist/tools/journal-search.d.ts.map +1 -1
  41. package/dist/tools/journal-search.js +3 -91
  42. package/dist/tools/journal-search.js.map +1 -1
  43. package/dist/tools/journal-state.d.ts +0 -3
  44. package/dist/tools/journal-state.d.ts.map +1 -1
  45. package/dist/tools/journal-state.js +5 -93
  46. package/dist/tools/journal-state.js.map +1 -1
  47. package/dist/tools/journal-write.d.ts.map +1 -1
  48. package/dist/tools/journal-write.js +3 -62
  49. package/dist/tools/journal-write.js.map +1 -1
  50. package/dist/tools/knowledge-read.d.ts.map +1 -1
  51. package/dist/tools/knowledge-read.js +3 -100
  52. package/dist/tools/knowledge-read.js.map +1 -1
  53. package/dist/tools/knowledge-write.d.ts.map +1 -1
  54. package/dist/tools/knowledge-write.js +3 -66
  55. package/dist/tools/knowledge-write.js.map +1 -1
  56. package/dist/tools/nudge.d.ts.map +1 -1
  57. package/dist/tools/nudge.js +3 -25
  58. package/dist/tools/nudge.js.map +1 -1
  59. package/dist/tools/palace-lint.d.ts +2 -6
  60. package/dist/tools/palace-lint.d.ts.map +1 -1
  61. package/dist/tools/palace-lint.js +3 -135
  62. package/dist/tools/palace-lint.js.map +1 -1
  63. package/dist/tools/palace-read.d.ts +2 -5
  64. package/dist/tools/palace-read.d.ts.map +1 -1
  65. package/dist/tools/palace-read.js +5 -62
  66. package/dist/tools/palace-read.js.map +1 -1
  67. package/dist/tools/palace-search.d.ts +2 -5
  68. package/dist/tools/palace-search.d.ts.map +1 -1
  69. package/dist/tools/palace-search.js +3 -66
  70. package/dist/tools/palace-search.js.map +1 -1
  71. package/dist/tools/palace-walk.d.ts +2 -11
  72. package/dist/tools/palace-walk.d.ts.map +1 -1
  73. package/dist/tools/palace-walk.js +3 -149
  74. package/dist/tools/palace-walk.js.map +1 -1
  75. package/dist/tools/palace-write.d.ts +2 -5
  76. package/dist/tools/palace-write.d.ts.map +1 -1
  77. package/dist/tools/palace-write.js +3 -90
  78. package/dist/tools/palace-write.js.map +1 -1
  79. package/dist/tools/recall-insight.d.ts +2 -8
  80. package/dist/tools/recall-insight.d.ts.map +1 -1
  81. package/dist/tools/recall-insight.js +3 -35
  82. package/dist/tools/recall-insight.js.map +1 -1
  83. package/package.json +9 -46
  84. package/README.md +0 -435
  85. package/dist/helpers/journal-files.d.ts +0 -30
  86. package/dist/helpers/journal-files.d.ts.map +0 -1
  87. package/dist/helpers/journal-files.js +0 -96
  88. package/dist/helpers/journal-files.js.map +0 -1
  89. package/dist/helpers/sections.d.ts +0 -12
  90. package/dist/helpers/sections.d.ts.map +0 -1
  91. package/dist/helpers/sections.js +0 -84
  92. package/dist/helpers/sections.js.map +0 -1
  93. package/dist/palace/awareness.d.ts +0 -67
  94. package/dist/palace/awareness.d.ts.map +0 -1
  95. package/dist/palace/awareness.js +0 -231
  96. package/dist/palace/awareness.js.map +0 -1
  97. package/dist/palace/consolidate.d.ts +0 -28
  98. package/dist/palace/consolidate.d.ts.map +0 -1
  99. package/dist/palace/consolidate.js +0 -129
  100. package/dist/palace/consolidate.js.map +0 -1
  101. package/dist/palace/fan-out.d.ts +0 -15
  102. package/dist/palace/fan-out.d.ts.map +0 -1
  103. package/dist/palace/fan-out.js +0 -78
  104. package/dist/palace/fan-out.js.map +0 -1
  105. package/dist/palace/graph.d.ts +0 -11
  106. package/dist/palace/graph.d.ts.map +0 -1
  107. package/dist/palace/graph.js +0 -59
  108. package/dist/palace/graph.js.map +0 -1
  109. package/dist/palace/identity.d.ts +0 -6
  110. package/dist/palace/identity.d.ts.map +0 -1
  111. package/dist/palace/identity.js +0 -18
  112. package/dist/palace/identity.js.map +0 -1
  113. package/dist/palace/index-manager.d.ts +0 -7
  114. package/dist/palace/index-manager.d.ts.map +0 -1
  115. package/dist/palace/index-manager.js +0 -46
  116. package/dist/palace/index-manager.js.map +0 -1
  117. package/dist/palace/insights-index.d.ts +0 -39
  118. package/dist/palace/insights-index.d.ts.map +0 -1
  119. package/dist/palace/insights-index.js +0 -101
  120. package/dist/palace/insights-index.js.map +0 -1
  121. package/dist/palace/log.d.ts +0 -9
  122. package/dist/palace/log.d.ts.map +0 -1
  123. package/dist/palace/log.js +0 -28
  124. package/dist/palace/log.js.map +0 -1
  125. package/dist/palace/obsidian.d.ts +0 -12
  126. package/dist/palace/obsidian.d.ts.map +0 -1
  127. package/dist/palace/obsidian.js +0 -76
  128. package/dist/palace/obsidian.js.map +0 -1
  129. package/dist/palace/rooms.d.ts +0 -14
  130. package/dist/palace/rooms.d.ts.map +0 -1
  131. package/dist/palace/rooms.js +0 -117
  132. package/dist/palace/rooms.js.map +0 -1
  133. package/dist/palace/salience.d.ts +0 -15
  134. package/dist/palace/salience.d.ts.map +0 -1
  135. package/dist/palace/salience.js +0 -33
  136. package/dist/palace/salience.js.map +0 -1
  137. package/dist/storage/fs-utils.d.ts +0 -8
  138. package/dist/storage/fs-utils.d.ts.map +0 -1
  139. package/dist/storage/fs-utils.js +0 -28
  140. package/dist/storage/fs-utils.js.map +0 -1
  141. package/dist/storage/paths.d.ts +0 -21
  142. package/dist/storage/paths.d.ts.map +0 -1
  143. package/dist/storage/paths.js +0 -59
  144. package/dist/storage/paths.js.map +0 -1
  145. package/dist/storage/project.d.ts +0 -17
  146. package/dist/storage/project.d.ts.map +0 -1
  147. package/dist/storage/project.js +0 -130
  148. package/dist/storage/project.js.map +0 -1
  149. package/dist/types.d.ts +0 -112
  150. package/dist/types.d.ts.map +0 -1
  151. package/dist/types.js +0 -31
  152. package/dist/types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"context-synthesize.js","sourceRoot":"","sources":["../../src/tools/context-synthesize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-synthesize.js","sourceRoot":"","sources":["../../src/tools/context-synthesize.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CAAC,oBAAoB,EAAE;QACxC,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EACT,wEAAwE;YACxE,6FAA6F;QAC/F,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qCAAqC,CAAC;YACpF,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YACzE,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC;YAChG,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;YAC7F,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;SACpC;KACF,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE;QACpE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;QACjG,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC/F,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;IAChF,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"journal-archive.d.ts","sourceRoot":"","sources":["../../src/tools/journal-archive.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAWzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA6DhD"}
1
+ {"version":3,"file":"journal-archive.d.ts","sourceRoot":"","sources":["../../src/tools/journal-archive.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAchD"}
@@ -1,12 +1,5 @@
1
1
  import * as z from "zod/v4";
2
- import * as fs from "node:fs";
3
- import * as path from "node:path";
4
- import { resolveProject } from "../storage/project.js";
5
- import { journalDir } from "../storage/paths.js";
6
- import { ensureDir } from "../storage/fs-utils.js";
7
- import { listJournalFiles, updateIndex } from "../helpers/journal-files.js";
8
- import { extractSection } from "../helpers/sections.js";
9
- import { stateFilePath } from "./journal-state.js";
2
+ import { journalArchive } from "agent-recall-core";
10
3
  export function register(server) {
11
4
  server.registerTool("journal_archive", {
12
5
  title: "Archive Old Entries",
@@ -17,46 +10,8 @@ export function register(server) {
17
10
  project: z.string().default("auto"),
18
11
  },
19
12
  }, async ({ older_than_days, project }) => {
20
- const slug = await resolveProject(project);
21
- const entries = listJournalFiles(slug);
22
- const dir = journalDir(slug);
23
- const archiveDir = path.join(dir, "archive");
24
- ensureDir(archiveDir);
25
- let archived = 0;
26
- const summaries = [];
27
- for (const entry of entries) {
28
- const ageMs = Date.now() - new Date(entry.date).getTime();
29
- const ageDays = ageMs / (1000 * 60 * 60 * 24);
30
- if (ageDays > older_than_days) {
31
- const srcPath = path.join(entry.dir, entry.file);
32
- const content = fs.readFileSync(srcPath, "utf-8");
33
- const brief = extractSection(content, "brief");
34
- const firstLine = brief?.split("\n").find(l => l.trim().length > 0) ?? "(no brief)";
35
- const destPath = path.join(archiveDir, entry.file);
36
- fs.copyFileSync(srcPath, destPath);
37
- fs.unlinkSync(srcPath);
38
- const stateSrc = stateFilePath(slug, entry.date);
39
- if (fs.existsSync(stateSrc)) {
40
- const stateDest = path.join(archiveDir, `${entry.date}.state.json`);
41
- fs.copyFileSync(stateSrc, stateDest);
42
- fs.unlinkSync(stateSrc);
43
- }
44
- summaries.push(`${entry.date}: ${firstLine}`);
45
- archived++;
46
- }
47
- }
48
- if (summaries.length > 0) {
49
- const indexPath = path.join(archiveDir, "index.md");
50
- const existing = fs.existsSync(indexPath) ? fs.readFileSync(indexPath, "utf-8") : "# Archive\n\n";
51
- fs.writeFileSync(indexPath, existing + summaries.join("\n") + "\n", "utf-8");
52
- }
53
- updateIndex(slug);
54
- return {
55
- content: [{
56
- type: "text",
57
- text: JSON.stringify({ archived, summaries, archive_dir: archiveDir }),
58
- }],
59
- };
13
+ const result = await journalArchive({ older_than_days, project });
14
+ return { content: [{ type: "text", text: JSON.stringify(result) }] };
60
15
  });
61
16
  }
62
17
  //# sourceMappingURL=journal-archive.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"journal-archive.js","sourceRoot":"","sources":["../../src/tools/journal-archive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"journal-archive.js","sourceRoot":"","sources":["../../src/tools/journal-archive.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CAAC,iBAAiB,EAAE;QACrC,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EACT,+FAA+F;YAC/F,oEAAoE;QACtE,WAAW,EAAE;YACX,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;YAClG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;SACpC;KACF,EAAE,KAAK,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE,EAAE;QACxC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC;QAClE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;IAChF,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"journal-capture.d.ts","sourceRoot":"","sources":["../../src/tools/journal-capture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AASzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA0FhD"}
1
+ {"version":3,"file":"journal-capture.d.ts","sourceRoot":"","sources":["../../src/tools/journal-capture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA+BhD"}
@@ -1,10 +1,5 @@
1
1
  import * as z from "zod/v4";
2
- import * as fs from "node:fs";
3
- import * as path from "node:path";
4
- import { resolveProject } from "../storage/project.js";
5
- import { journalDir } from "../storage/paths.js";
6
- import { ensureDir, todayISO } from "../storage/fs-utils.js";
7
- import { countLogEntries } from "../helpers/journal-files.js";
2
+ import { journalCapture } from "agent-recall-core";
8
3
  export function register(server) {
9
4
  server.registerTool("journal_capture", {
10
5
  title: "Capture Q&A",
@@ -28,60 +23,8 @@ export function register(server) {
28
23
  .describe("Project slug. Defaults to auto-detect."),
29
24
  },
30
25
  }, async ({ question, answer, tags, palace_room, project }) => {
31
- const slug = await resolveProject(project);
32
- const date = todayISO();
33
- const dir = journalDir(slug);
34
- ensureDir(dir);
35
- const logPath = path.join(dir, `${date}-log.md`);
36
- const entryNum = countLogEntries(logPath) + 1;
37
- const tagStr = tags && tags.length > 0 ? ` [${tags.join(", ")}]` : "";
38
- const timestamp = new Date().toISOString().slice(11, 19);
39
- let entry = `### Q${entryNum} (${timestamp})${tagStr}\n\n`;
40
- entry += `**Q:** ${question}\n\n`;
41
- entry += `**A:** ${answer}\n\n`;
42
- if (!fs.existsSync(logPath)) {
43
- const header = `# ${date} — ${slug} — Session Log\n\n`;
44
- fs.writeFileSync(logPath, header + entry, "utf-8");
45
- }
46
- else {
47
- fs.appendFileSync(logPath, entry, "utf-8");
48
- }
49
- // Palace integration
50
- let palaceResult = null;
51
- if (palace_room) {
52
- try {
53
- const { ensurePalaceInitialized, roomExists, createRoom } = await import("../palace/rooms.js");
54
- const { palaceDir } = await import("../storage/paths.js");
55
- const { fanOut } = await import("../palace/fan-out.js");
56
- const { updatePalaceIndex } = await import("../palace/index-manager.js");
57
- ensurePalaceInitialized(slug);
58
- if (!roomExists(slug, palace_room)) {
59
- createRoom(slug, palace_room, palace_room.charAt(0).toUpperCase() + palace_room.slice(1), "Auto-created from capture", []);
60
- }
61
- const pd = palaceDir(slug);
62
- const targetPath = path.join(pd, "rooms", palace_room, "captures.md");
63
- ensureDir(path.dirname(targetPath));
64
- const captureEntry = `\n### Q${entryNum} (${date})\n**Q:** ${question}\n**A:** ${answer}\n`;
65
- if (fs.existsSync(targetPath)) {
66
- fs.appendFileSync(targetPath, captureEntry, "utf-8");
67
- }
68
- else {
69
- fs.writeFileSync(targetPath, `# ${palace_room} / captures\n${captureEntry}`, "utf-8");
70
- }
71
- fanOut(slug, palace_room, "captures", `${question} ${answer}`, [], "medium");
72
- updatePalaceIndex(slug);
73
- palaceResult = { room: palace_room };
74
- }
75
- catch {
76
- // Palace integration is optional, don't fail the capture
77
- }
78
- }
79
- return {
80
- content: [{
81
- type: "text",
82
- text: JSON.stringify({ success: true, entry_number: entryNum, palace: palaceResult }),
83
- }],
84
- };
26
+ const result = await journalCapture({ question, answer, tags, palace_room, project });
27
+ return { content: [{ type: "text", text: JSON.stringify(result) }] };
85
28
  });
86
29
  }
87
30
  //# sourceMappingURL=journal-capture.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"journal-capture.js","sourceRoot":"","sources":["../../src/tools/journal-capture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"journal-capture.js","sourceRoot":"","sources":["../../src/tools/journal-capture.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CAAC,iBAAiB,EAAE;QACrC,KAAK,EAAE,aAAa;QACpB,WAAW,EACT,iGAAiG;QACnG,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,CAAC,0DAA0D,CAAC;YACvE,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,CACP,gEAAgE,CACjE;YACH,IAAI,EAAE,CAAC;iBACJ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,EAAE;iBACV,QAAQ,CACP,6EAA6E,CAC9E;YACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;iBAC/B,QAAQ,CAAC,oDAAoD,CAAC;YACjE,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,OAAO,CAAC,MAAM,CAAC;iBACf,QAAQ,CAAC,wCAAwC,CAAC;SACtD;KACF,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE;QAC5D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;QACtF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;IAChF,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"journal-cold-start.d.ts","sourceRoot":"","sources":["../../src/tools/journal-cold-start.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAWzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA+DhD"}
1
+ {"version":3,"file":"journal-cold-start.d.ts","sourceRoot":"","sources":["../../src/tools/journal-cold-start.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAyBhD"}
@@ -1,67 +1,25 @@
1
1
  import * as z from "zod/v4";
2
- import * as fs from "node:fs";
3
- import * as path from "node:path";
4
- import { resolveProject } from "../storage/project.js";
5
- import { listJournalFiles } from "../helpers/journal-files.js";
6
- import { extractSection } from "../helpers/sections.js";
7
- import { todayISO } from "../storage/fs-utils.js";
8
- import { readState } from "./journal-state.js";
2
+ import { journalColdStart } from "agent-recall-core";
9
3
  export function register(server) {
10
4
  server.registerTool("journal_cold_start", {
11
- title: "Cold Start Brief (Cache-Aware)",
12
- description: "Returns a cache-aware cold-start package. HOT: today + yesterday (full). " +
13
- "WARM: 2-7 days (summaries only). COLD: older (count only). " +
5
+ title: "Cold Start Brief (Palace-First)",
6
+ description: "Returns a palace-first cold-start package. " +
7
+ "Loads curated palace context (~200 tokens) FIRST, then recent journals. " +
8
+ "HOT: today + yesterday (full state + brief). " +
9
+ "WARM: 2-7 days (count only — content already promoted to palace). " +
10
+ "COLD: older (count only). " +
14
11
  "Designed for minimal context consumption on session start.",
15
12
  inputSchema: {
16
13
  project: z.string().default("auto"),
17
14
  },
18
15
  }, async ({ project }) => {
19
- const slug = await resolveProject(project);
20
- const entries = listJournalFiles(slug);
21
- const _today = todayISO();
22
- const hot = [];
23
- const warm = [];
24
- let coldCount = 0;
25
- for (const entry of entries) {
26
- const ageMs = Date.now() - new Date(entry.date).getTime();
27
- const ageDays = ageMs / (1000 * 60 * 60 * 24);
28
- if (ageDays <= 1.5) {
29
- const state = readState(slug, entry.date);
30
- const fullPath = path.join(entry.dir, entry.file);
31
- const stats = fs.statSync(fullPath);
32
- const content = stats.size > 5120
33
- ? fs.readFileSync(fullPath, "utf-8").slice(0, 5120) + "\n...(truncated, use journal_read for full)"
34
- : fs.readFileSync(fullPath, "utf-8");
35
- hot.push({
36
- date: entry.date,
37
- state,
38
- brief: extractSection(content, "brief"),
39
- });
40
- }
41
- else if (ageDays <= 7) {
42
- const fullPath = path.join(entry.dir, entry.file);
43
- const content = fs.readFileSync(fullPath, "utf-8").slice(0, 2048);
44
- warm.push({
45
- date: entry.date,
46
- brief: extractSection(content, "brief"),
47
- });
48
- }
49
- else {
50
- coldCount++;
51
- }
52
- }
16
+ const result = await journalColdStart({ project });
53
17
  return {
54
18
  content: [{
55
19
  type: "text",
56
20
  text: JSON.stringify({
57
- project: slug,
58
- cache: {
59
- hot: { count: hot.length, entries: hot },
60
- warm: { count: warm.length, entries: warm },
61
- cold: { count: coldCount },
62
- },
63
- total_entries: entries.length,
64
- tip: "HOT entries have full state. WARM have briefs only. Use journal_read for COLD entries.",
21
+ ...result,
22
+ tip: "Palace context is your curated starting point. HOT entries have today's raw state. Use journal_read for older entries.",
65
23
  }),
66
24
  }],
67
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"journal-cold-start.js","sourceRoot":"","sources":["../../src/tools/journal-cold-start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"journal-cold-start.js","sourceRoot":"","sources":["../../src/tools/journal-cold-start.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CAAC,oBAAoB,EAAE;QACxC,KAAK,EAAE,iCAAiC;QACxC,WAAW,EACT,6CAA6C;YAC7C,0EAA0E;YAC1E,+CAA+C;YAC/C,oEAAoE;YACpE,4BAA4B;YAC5B,4DAA4D;QAC9D,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;SACpC;KACF,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACvB,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACnD,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,GAAG,MAAM;wBACT,GAAG,EAAE,wHAAwH;qBAC9H,CAAC;iBACH,CAAC;SACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"journal-list.d.ts","sourceRoot":"","sources":["../../src/tools/journal-list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuChD"}
1
+ {"version":3,"file":"journal-list.d.ts","sourceRoot":"","sources":["../../src/tools/journal-list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAmBhD"}
@@ -1,8 +1,5 @@
1
1
  import * as z from "zod/v4";
2
- import * as fs from "node:fs";
3
- import * as path from "node:path";
4
- import { resolveProject } from "../storage/project.js";
5
- import { listJournalFiles, extractTitle, extractMomentum } from "../helpers/journal-files.js";
2
+ import { journalList } from "agent-recall-core";
6
3
  export function register(server) {
7
4
  server.registerTool("journal_list", {
8
5
  title: "List Journal Entries",
@@ -19,25 +16,8 @@ export function register(server) {
19
16
  .describe("Return the N most recent entries. 0 = all."),
20
17
  },
21
18
  }, async ({ project, limit }) => {
22
- const slug = await resolveProject(project);
23
- let entries = listJournalFiles(slug);
24
- if (limit > 0) {
25
- entries = entries.slice(0, limit);
26
- }
27
- const result = entries.map((e) => {
28
- const content = fs.readFileSync(path.join(e.dir, e.file), "utf-8");
29
- return {
30
- date: e.date,
31
- title: extractTitle(content),
32
- momentum: extractMomentum(content),
33
- };
34
- });
35
- return {
36
- content: [{
37
- type: "text",
38
- text: JSON.stringify({ project: slug, entries: result }),
39
- }],
40
- };
19
+ const result = await journalList({ project, limit });
20
+ return { content: [{ type: "text", text: JSON.stringify(result) }] };
41
21
  });
42
22
  }
43
23
  //# sourceMappingURL=journal-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"journal-list.js","sourceRoot":"","sources":["../../src/tools/journal-list.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9F,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE;QAClC,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EAAE,+CAA+C;QAC5D,WAAW,EAAE;YACX,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,OAAO,CAAC,MAAM,CAAC;iBACf,QAAQ,CAAC,wCAAwC,CAAC;YACrD,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,OAAO,CAAC,EAAE,CAAC;iBACX,QAAQ,CAAC,4CAA4C,CAAC;SAC1D;KACF,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;QAC9B,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC/B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YACnE,OAAO;gBACL,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC;gBAC5B,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC;aACnC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;iBACzD,CAAC;SACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"journal-list.js","sourceRoot":"","sources":["../../src/tools/journal-list.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,CAAC,cAAc,EAAE;QAClC,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EAAE,+CAA+C;QAC5D,WAAW,EAAE;YACX,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,OAAO,CAAC,MAAM,CAAC;iBACf,QAAQ,CAAC,wCAAwC,CAAC;YACrD,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,OAAO,CAAC,EAAE,CAAC;iBACX,QAAQ,CAAC,4CAA4C,CAAC;SAC1D;KACF,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;QAC9B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACrD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;IAChF,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"journal-projects.d.ts","sourceRoot":"","sources":["../../src/tools/journal-projects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsBhD"}
1
+ {"version":3,"file":"journal-projects.d.ts","sourceRoot":"","sources":["../../src/tools/journal-projects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAShD"}
@@ -1,25 +1,12 @@
1
- import { JOURNAL_ROOT } from "../types.js";
2
- import { listAllProjects } from "../storage/project.js";
1
+ import { journalProjects } from "agent-recall-core";
3
2
  export function register(server) {
4
3
  server.registerTool("journal_projects", {
5
4
  title: "List Projects",
6
5
  description: "List all projects tracked by agent-recall on this machine.",
7
6
  inputSchema: {},
8
7
  }, async () => {
9
- const projects = listAllProjects();
10
- return {
11
- content: [{
12
- type: "text",
13
- text: JSON.stringify({
14
- projects: projects.map((p) => ({
15
- slug: p.slug,
16
- last_entry: p.lastEntry,
17
- entry_count: p.entryCount,
18
- })),
19
- journal_root: JOURNAL_ROOT,
20
- }),
21
- }],
22
- };
8
+ const result = await journalProjects();
9
+ return { content: [{ type: "text", text: JSON.stringify(result) }] };
23
10
  });
24
11
  }
25
12
  //# sourceMappingURL=journal-projects.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"journal-projects.js","sourceRoot":"","sources":["../../src/tools/journal-projects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CAAC,kBAAkB,EAAE;QACtC,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,4DAA4D;QACzE,WAAW,EAAE,EAAE;KAChB,EAAE,KAAK,IAAI,EAAE;QACZ,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;QAEnC,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4BAC7B,IAAI,EAAE,CAAC,CAAC,IAAI;4BACZ,UAAU,EAAE,CAAC,CAAC,SAAS;4BACvB,WAAW,EAAE,CAAC,CAAC,UAAU;yBAC1B,CAAC,CAAC;wBACH,YAAY,EAAE,YAAY;qBAC3B,CAAC;iBACH,CAAC;SACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"journal-projects.js","sourceRoot":"","sources":["../../src/tools/journal-projects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CAAC,kBAAkB,EAAE;QACtC,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,4DAA4D;QACzE,WAAW,EAAE,EAAE;KAChB,EAAE,KAAK,IAAI,EAAE;QACZ,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;QACvC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;IAChF,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"journal-read.d.ts","sourceRoot":"","sources":["../../src/tools/journal-read.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA4EhD"}
1
+ {"version":3,"file":"journal-read.d.ts","sourceRoot":"","sources":["../../src/tools/journal-read.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAmChD"}
@@ -1,7 +1,5 @@
1
1
  import * as z from "zod/v4";
2
- import { resolveProject } from "../storage/project.js";
3
- import { listJournalFiles, readJournalFile } from "../helpers/journal-files.js";
4
- import { extractSection } from "../helpers/sections.js";
2
+ import { journalRead } from "agent-recall-core";
5
3
  export function register(server) {
6
4
  server.registerTool("journal_read", {
7
5
  title: "Read Journal Entry",
@@ -24,49 +22,11 @@ export function register(server) {
24
22
  .describe("Which section to return. 'brief' returns only the cold-start summary. 'all' returns full file."),
25
23
  },
26
24
  }, async ({ date, project, section }) => {
27
- const slug = await resolveProject(project);
28
- let targetDate = date;
29
- if (targetDate === "latest") {
30
- const entries = listJournalFiles(slug);
31
- if (entries.length === 0) {
32
- return {
33
- content: [{
34
- type: "text",
35
- text: JSON.stringify({
36
- error: `No journal entries found for project '${slug}'`,
37
- project: slug,
38
- }),
39
- }],
40
- isError: true,
41
- };
42
- }
43
- targetDate = entries[0].date;
25
+ const result = await journalRead({ date, project, section });
26
+ if (result.error) {
27
+ return { content: [{ type: "text", text: JSON.stringify(result) }], isError: true };
44
28
  }
45
- const fileContent = readJournalFile(slug, targetDate);
46
- if (!fileContent) {
47
- return {
48
- content: [{
49
- type: "text",
50
- text: JSON.stringify({
51
- error: `No journal entry found for ${targetDate} in project '${slug}'`,
52
- project: slug,
53
- date: targetDate,
54
- }),
55
- }],
56
- isError: true,
57
- };
58
- }
59
- const extracted = extractSection(fileContent, section);
60
- return {
61
- content: [{
62
- type: "text",
63
- text: JSON.stringify({
64
- content: extracted || "",
65
- date: targetDate,
66
- project: slug,
67
- }),
68
- }],
69
- };
29
+ return { content: [{ type: "text", text: JSON.stringify(result) }] };
70
30
  });
71
31
  }
72
32
  //# sourceMappingURL=journal-read.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"journal-read.js","sourceRoot":"","sources":["../../src/tools/journal-read.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE;QAClC,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EACT,wHAAwH;QAC1H,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,OAAO,CAAC,QAAQ,CAAC;iBACjB,QAAQ,CACP,uFAAuF,CACxF;YACH,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,OAAO,CAAC,MAAM,CAAC;iBACf,QAAQ,CACP,mGAAmG,CACpG;YACH,OAAO,EAAE,CAAC;iBACP,IAAI,CAAC;gBACJ,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU;gBACvD,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc;aAC3D,CAAC;iBACD,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CACP,gGAAgG,CACjG;SACJ;KACF,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;QACtC,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,UAAU,GAAG,IAAI,CAAC;QAEtB,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,KAAK,EAAE,yCAAyC,IAAI,GAAG;gCACvD,OAAO,EAAE,IAAI;6BACd,CAAC;yBACH,CAAC;oBACF,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YACD,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/B,CAAC;QAED,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,KAAK,EAAE,8BAA8B,UAAU,gBAAgB,IAAI,GAAG;4BACtE,OAAO,EAAE,IAAI;4BACb,IAAI,EAAE,UAAU;yBACjB,CAAC;qBACH,CAAC;gBACF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACvD,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,OAAO,EAAE,SAAS,IAAI,EAAE;wBACxB,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,IAAI;qBACd,CAAC;iBACH,CAAC;SACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"journal-read.js","sourceRoot":"","sources":["../../src/tools/journal-read.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,CAAC,cAAc,EAAE;QAClC,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EACT,wHAAwH;QAC1H,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,OAAO,CAAC,QAAQ,CAAC;iBACjB,QAAQ,CACP,uFAAuF,CACxF;YACH,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,OAAO,CAAC,MAAM,CAAC;iBACf,QAAQ,CACP,mGAAmG,CACpG;YACH,OAAO,EAAE,CAAC;iBACP,IAAI,CAAC;gBACJ,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU;gBACvD,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc;aAC3D,CAAC;iBACD,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CACP,gGAAgG,CACjG;SACJ;KACF,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;QACtC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7D,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC/F,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;IAChF,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function register(server: McpServer): void;
3
+ //# sourceMappingURL=journal-rollup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"journal-rollup.d.ts","sourceRoot":"","sources":["../../src/tools/journal-rollup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAkBhD"}
@@ -0,0 +1,21 @@
1
+ import * as z from "zod/v4";
2
+ import { journalRollup } from "agent-recall-core";
3
+ export function register(server) {
4
+ server.registerTool("journal_rollup", {
5
+ title: "Weekly Journal Roll-Up",
6
+ description: "Condense old daily journals into weekly summaries. " +
7
+ "Groups entries by ISO week, synthesizes a summary, archives originals. " +
8
+ "Prevents journal accumulation — after 30 days you have 4 weekly files instead of 30 daily files. " +
9
+ "Only processes complete weeks that are 7+ days old with 2+ entries. Use dry_run=true to preview.",
10
+ inputSchema: {
11
+ min_age_days: z.number().int().default(7).describe("Only roll up weeks where ALL entries are older than this"),
12
+ min_entries: z.number().int().default(2).describe("Minimum daily entries in a week to trigger roll-up"),
13
+ dry_run: z.boolean().default(false).describe("Preview without writing or archiving"),
14
+ project: z.string().default("auto"),
15
+ },
16
+ }, async ({ min_age_days, min_entries, dry_run, project }) => {
17
+ const result = await journalRollup({ min_age_days, min_entries, dry_run, project });
18
+ return { content: [{ type: "text", text: JSON.stringify(result) }] };
19
+ });
20
+ }
21
+ //# sourceMappingURL=journal-rollup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"journal-rollup.js","sourceRoot":"","sources":["../../src/tools/journal-rollup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,YAAY,CAAC,gBAAgB,EAAE;QACpC,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EACT,qDAAqD;YACrD,yEAAyE;YACzE,mGAAmG;YACnG,kGAAkG;QACpG,WAAW,EAAE;YACX,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0DAA0D,CAAC;YAC9G,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oDAAoD,CAAC;YACvG,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YACpF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;SACpC;KACF,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;QAC3D,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QACpF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;IAChF,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"journal-search.d.ts","sourceRoot":"","sources":["../../src/tools/journal-search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2HhD"}
1
+ {"version":3,"file":"journal-search.d.ts","sourceRoot":"","sources":["../../src/tools/journal-search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqBhD"}
@@ -1,9 +1,5 @@
1
1
  import * as z from "zod/v4";
2
- import * as fs from "node:fs";
3
- import * as path from "node:path";
4
- import { resolveProject } from "../storage/project.js";
5
- import { journalDirs, palaceDir } from "../storage/paths.js";
6
- import { ensurePalaceInitialized, listRooms } from "../palace/rooms.js";
2
+ import { journalSearch } from "agent-recall-core";
7
3
  export function register(server) {
8
4
  server.registerTool("journal_search", {
9
5
  title: "Search Journals",
@@ -22,92 +18,8 @@ export function register(server) {
22
18
  .describe("Also search palace rooms (slower but more comprehensive)"),
23
19
  },
24
20
  }, async ({ query, project, section, include_palace }) => {
25
- const slug = await resolveProject(project);
26
- const dirs = journalDirs(slug);
27
- const queryLower = query.toLowerCase();
28
- const results = [];
29
- for (const dir of dirs) {
30
- if (!fs.existsSync(dir))
31
- continue;
32
- const files = fs.readdirSync(dir).filter((f) => f.endsWith(".md"));
33
- for (const file of files) {
34
- const filePath = path.join(dir, file);
35
- const content = fs.readFileSync(filePath, "utf-8");
36
- const lines = content.split("\n");
37
- let currentSection = "top";
38
- for (let i = 0; i < lines.length; i++) {
39
- const line = lines[i];
40
- if (line.startsWith("## ")) {
41
- currentSection = line
42
- .slice(3)
43
- .trim()
44
- .toLowerCase()
45
- .replace(/\s+/g, "_");
46
- }
47
- if (section && currentSection !== section.toLowerCase()) {
48
- continue;
49
- }
50
- if (line.toLowerCase().includes(queryLower)) {
51
- const dateMatch = file.match(/^(\d{4}-\d{2}-\d{2})/);
52
- const date = dateMatch ? dateMatch[1] : file;
53
- const start = Math.max(0, line.toLowerCase().indexOf(queryLower) - 40);
54
- const end = Math.min(line.length, line.toLowerCase().indexOf(queryLower) + query.length + 40);
55
- let excerpt = line.slice(start, end).trim();
56
- if (start > 0)
57
- excerpt = "..." + excerpt;
58
- if (end < line.length)
59
- excerpt = excerpt + "...";
60
- results.push({ date, section: currentSection, excerpt, line: i + 1 });
61
- }
62
- }
63
- }
64
- }
65
- // Palace search
66
- if (include_palace) {
67
- try {
68
- ensurePalaceInitialized(slug);
69
- const pd = palaceDir(slug);
70
- const rooms = listRooms(slug);
71
- for (const room of rooms) {
72
- const roomPath = path.join(pd, "rooms", room.slug);
73
- if (!fs.existsSync(roomPath))
74
- continue;
75
- const files = fs.readdirSync(roomPath).filter((f) => f.endsWith(".md"));
76
- for (const file of files) {
77
- const filePath = path.join(roomPath, file);
78
- const content = fs.readFileSync(filePath, "utf-8");
79
- const lines = content.split("\n");
80
- for (let i = 0; i < lines.length; i++) {
81
- if (lines[i].toLowerCase().includes(queryLower)) {
82
- const start = Math.max(0, lines[i].toLowerCase().indexOf(queryLower) - 40);
83
- const end = Math.min(lines[i].length, lines[i].toLowerCase().indexOf(queryLower) + query.length + 40);
84
- let excerpt = lines[i].slice(start, end).trim();
85
- if (start > 0)
86
- excerpt = "..." + excerpt;
87
- if (end < lines[i].length)
88
- excerpt = excerpt + "...";
89
- results.push({
90
- date: `palace:${room.slug}`,
91
- section: file.replace(".md", ""),
92
- excerpt,
93
- line: i + 1,
94
- });
95
- }
96
- }
97
- }
98
- }
99
- }
100
- catch {
101
- // Palace search is optional
102
- }
103
- }
104
- results.sort((a, b) => b.date.localeCompare(a.date));
105
- return {
106
- content: [{
107
- type: "text",
108
- text: JSON.stringify({ results }),
109
- }],
110
- };
21
+ const result = await journalSearch({ query, project, section, include_palace });
22
+ return { content: [{ type: "text", text: JSON.stringify(result) }] };
111
23
  });
112
24
  }
113
25
  //# sourceMappingURL=journal-search.js.map