agent-recall-core 3.3.14 → 3.3.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +404 -148
- package/dist/helpers/journal-files.d.ts.map +1 -1
- package/dist/helpers/journal-files.js +34 -15
- package/dist/helpers/journal-files.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/palace/awareness.d.ts.map +1 -1
- package/dist/palace/awareness.js +20 -14
- package/dist/palace/awareness.js.map +1 -1
- package/dist/storage/filelock.d.ts +19 -0
- package/dist/storage/filelock.d.ts.map +1 -0
- package/dist/storage/filelock.js +85 -0
- package/dist/storage/filelock.js.map +1 -0
- package/dist/storage/session.d.ts +25 -0
- package/dist/storage/session.d.ts.map +1 -0
- package/dist/storage/session.js +59 -0
- package/dist/storage/session.js.map +1 -0
- package/dist/tools-logic/journal-capture.d.ts.map +1 -1
- package/dist/tools-logic/journal-capture.js +15 -2
- package/dist/tools-logic/journal-capture.js.map +1 -1
- package/dist/tools-logic/journal-write.d.ts.map +1 -1
- package/dist/tools-logic/journal-write.js +15 -2
- package/dist/tools-logic/journal-write.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journal-files.d.ts","sourceRoot":"","sources":["../../src/helpers/journal-files.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"journal-files.d.ts","sourceRoot":"","sources":["../../src/helpers/journal-files.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CAkChE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkC5E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGpD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAOvD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKvD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CA0BjD"}
|
|
@@ -13,28 +13,29 @@ export function listJournalFiles(project) {
|
|
|
13
13
|
const dirs = journalDirs(project);
|
|
14
14
|
const entries = [];
|
|
15
15
|
const seen = new Set();
|
|
16
|
-
// First pass: look for YYYY-MM-DD.md journal entries
|
|
16
|
+
// First pass: look for YYYY-MM-DD.md and YYYY-MM-DD-{sessionId}.md journal entries
|
|
17
17
|
for (const dir of dirs) {
|
|
18
18
|
if (!fs.existsSync(dir))
|
|
19
19
|
continue;
|
|
20
20
|
const files = fs.readdirSync(dir);
|
|
21
21
|
for (const file of files) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
// Match: YYYY-MM-DD.md or YYYY-MM-DD-{sessionId}.md (but not -log.md variants)
|
|
23
|
+
const match = file.match(/^(\d{4}-\d{2}-\d{2})(?:-[a-f0-9]{6})?\.md$/);
|
|
24
|
+
if (match && !seen.has(file)) {
|
|
25
|
+
seen.add(file);
|
|
25
26
|
entries.push({ date: match[1], file, dir });
|
|
26
27
|
}
|
|
27
28
|
}
|
|
28
29
|
}
|
|
29
|
-
// Second pass: include YYYY-MM-DD-log.md capture files
|
|
30
|
+
// Second pass: include YYYY-MM-DD-log.md and YYYY-MM-DD-{sessionId}-log.md capture files
|
|
30
31
|
for (const dir of dirs) {
|
|
31
32
|
if (!fs.existsSync(dir))
|
|
32
33
|
continue;
|
|
33
34
|
const files = fs.readdirSync(dir);
|
|
34
35
|
for (const file of files) {
|
|
35
|
-
const match = file.match(/^(\d{4}-\d{2}-\d{2})-log\.md$/);
|
|
36
|
-
if (match && !seen.has(
|
|
37
|
-
seen.add(
|
|
36
|
+
const match = file.match(/^(\d{4}-\d{2}-\d{2})(?:-[a-f0-9]{6})?-log\.md$/);
|
|
37
|
+
if (match && !seen.has(file)) {
|
|
38
|
+
seen.add(file);
|
|
38
39
|
entries.push({ date: match[1], file, dir });
|
|
39
40
|
}
|
|
40
41
|
}
|
|
@@ -49,13 +50,31 @@ export function readJournalFile(project, date) {
|
|
|
49
50
|
const dirs = journalDirs(project);
|
|
50
51
|
const primaryDir = journalDir(project);
|
|
51
52
|
const allDirs = [primaryDir, ...dirs.filter((d) => d !== primaryDir)];
|
|
52
|
-
// Try
|
|
53
|
-
for (const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
53
|
+
// Try exact date file first, then session-scoped variants, then -log variants
|
|
54
|
+
for (const dir of allDirs) {
|
|
55
|
+
if (!fs.existsSync(dir))
|
|
56
|
+
continue;
|
|
57
|
+
// Exact match
|
|
58
|
+
const exact = path.join(dir, `${date}.md`);
|
|
59
|
+
if (fs.existsSync(exact))
|
|
60
|
+
return fs.readFileSync(exact, "utf-8");
|
|
61
|
+
// Session-scoped variants: YYYY-MM-DD-{sessionId}.md — merge all for this date
|
|
62
|
+
const files = fs.readdirSync(dir);
|
|
63
|
+
const sessionFiles = files.filter(f => f.match(new RegExp(`^${date}-[a-f0-9]{6}\\.md$`)));
|
|
64
|
+
if (sessionFiles.length > 0) {
|
|
65
|
+
// Return all session journals for this date, merged
|
|
66
|
+
const parts = sessionFiles.map(f => fs.readFileSync(path.join(dir, f), "utf-8"));
|
|
67
|
+
return parts.join("\n\n---\n\n");
|
|
68
|
+
}
|
|
69
|
+
// Fall back to log file
|
|
70
|
+
const logFile = path.join(dir, `${date}-log.md`);
|
|
71
|
+
if (fs.existsSync(logFile))
|
|
72
|
+
return fs.readFileSync(logFile, "utf-8");
|
|
73
|
+
// Session-scoped log variants
|
|
74
|
+
const sessionLogs = files.filter(f => f.match(new RegExp(`^${date}-[a-f0-9]{6}-log\\.md$`)));
|
|
75
|
+
if (sessionLogs.length > 0) {
|
|
76
|
+
const parts = sessionLogs.map(f => fs.readFileSync(path.join(dir, f), "utf-8"));
|
|
77
|
+
return parts.join("\n\n---\n\n");
|
|
59
78
|
}
|
|
60
79
|
}
|
|
61
80
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journal-files.js","sourceRoot":"","sources":["../../src/helpers/journal-files.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,
|
|
1
|
+
{"version":3,"file":"journal-files.js","sourceRoot":"","sources":["../../src/helpers/journal-files.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -24,6 +24,8 @@ export type { ConsolidationResult } from "./palace/consolidate.js";
|
|
|
24
24
|
export { journalDir, journalDirs, palaceDir, roomDir } from "./storage/paths.js";
|
|
25
25
|
export { ensureDir, todayISO, readJsonSafe, writeJsonAtomic } from "./storage/fs-utils.js";
|
|
26
26
|
export { detectProject, resolveProject, listAllProjects } from "./storage/project.js";
|
|
27
|
+
export { getSessionId, journalFileName, captureLogFileName, resetOwnedFiles } from "./storage/session.js";
|
|
28
|
+
export { acquireLock, withLock } from "./storage/filelock.js";
|
|
27
29
|
export { listJournalFiles, readJournalFile, extractTitle, extractMomentum, countLogEntries, updateIndex, } from "./helpers/journal-files.js";
|
|
28
30
|
export { extractSection, appendToSection } from "./helpers/sections.js";
|
|
29
31
|
export { isoWeek, weekKey, groupByWeek, synthesizeWeek } from "./helpers/rollup.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,OAAO,EACP,eAAe,EACf,oBAAoB,EACpB,OAAO,EACP,SAAS,EACT,OAAO,EACP,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,SAAS,EACT,WAAW,EACX,UAAU,EACV,OAAO,EACP,UAAU,EACV,SAAS,EACT,cAAc,EACd,SAAS,GACV,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,UAAU,EACV,WAAW,EACX,cAAc,EACd,SAAS,EACT,UAAU,EACV,uBAAuB,EACvB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,SAAS,EACT,UAAU,EACV,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EACL,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,sBAAsB,EACtB,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,OAAO,EACP,eAAe,EACf,cAAc,GACf,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,GACf,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,cAAc,EACd,aAAa,GACd,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGnE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG/E,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAGnE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -32,6 +32,8 @@ export { consolidateJournalToPalace } from "./palace/consolidate.js";
|
|
|
32
32
|
export { journalDir, journalDirs, palaceDir, roomDir } from "./storage/paths.js";
|
|
33
33
|
export { ensureDir, todayISO, readJsonSafe, writeJsonAtomic } from "./storage/fs-utils.js";
|
|
34
34
|
export { detectProject, resolveProject, listAllProjects } from "./storage/project.js";
|
|
35
|
+
export { getSessionId, journalFileName, captureLogFileName, resetOwnedFiles } from "./storage/session.js";
|
|
36
|
+
export { acquireLock, withLock } from "./storage/filelock.js";
|
|
35
37
|
// Helpers
|
|
36
38
|
export { listJournalFiles, readJournalFile, extractTitle, extractMomentum, countLogEntries, updateIndex, } from "./helpers/journal-files.js";
|
|
37
39
|
export { extractSection, appendToSection } from "./helpers/sections.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,oBAAoB;AACpB,OAAO,EACL,OAAO,EACP,eAAe,EACf,oBAAoB,EACpB,OAAO,EACP,SAAS,EACT,OAAO,EACP,aAAa,GACd,MAAM,YAAY,CAAC;AAiBpB,iBAAiB;AACjB,OAAO,EACL,UAAU,EACV,WAAW,EACX,cAAc,EACd,SAAS,EACT,UAAU,EACV,uBAAuB,EACvB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,iBAAiB;AACjB,OAAO,EACL,SAAS,EACT,UAAU,EACV,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAE3B,mBAAmB;AACnB,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C,qBAAqB;AACrB,OAAO,EACL,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,sBAAsB,EACtB,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAO/B,oBAAoB;AACpB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAE9B,0BAA0B;AAC1B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,GACf,MAAM,4BAA4B,CAAC;AAMpC,oBAAoB;AACpB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEnE,yBAAyB;AACzB,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE/E,oBAAoB;AACpB,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAE9B,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,uBAAuB;AACvB,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAGrE,UAAU;AACV,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"awareness.d.ts","sourceRoot":"","sources":["../../src/palace/awareness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;
|
|
1
|
+
{"version":3,"file":"awareness.d.ts","sourceRoot":"","sources":["../../src/palace/awareness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAeH,wBAAgB,aAAa,IAAI,MAAM,CAItC;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAcpD;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,EAAE,CAAC;IACvB,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAMD,wBAAgB,kBAAkB,IAAI,cAAc,GAAG,IAAI,CAQ1D;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAO/D;AAID,wBAAgB,oBAAoB,IAAI,OAAO,EAAE,CAQhD;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAK9D;AA0BD,uFAAuF;AACvF,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,GAAG,IAAI,CAgBvE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAY9D;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,eAAe,GAAG,eAAe,CAAC,GAClE;IAAE,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAoG/D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,eAAe,EAAE,CAsC1D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAoD3D"}
|
package/dist/palace/awareness.js
CHANGED
|
@@ -19,6 +19,7 @@ import * as path from "node:path";
|
|
|
19
19
|
import { getRoot } from "../types.js";
|
|
20
20
|
import { ensureDir } from "../storage/fs-utils.js";
|
|
21
21
|
import { extractKeywords } from "../helpers/auto-name.js";
|
|
22
|
+
import { withLock } from "../storage/filelock.js";
|
|
22
23
|
const MAX_LINES = 200;
|
|
23
24
|
function awarenessPath() {
|
|
24
25
|
return path.join(getRoot(), "awareness.md");
|
|
@@ -30,17 +31,19 @@ export function readAwareness() {
|
|
|
30
31
|
return fs.readFileSync(p, "utf-8");
|
|
31
32
|
}
|
|
32
33
|
export function writeAwareness(content) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
34
|
+
withLock("awareness", () => {
|
|
35
|
+
const p = awarenessPath();
|
|
36
|
+
ensureDir(path.dirname(p));
|
|
37
|
+
// Enforce 200-line max
|
|
38
|
+
const lines = content.split("\n");
|
|
39
|
+
if (lines.length > MAX_LINES) {
|
|
40
|
+
const truncated = lines.slice(0, MAX_LINES).join("\n");
|
|
41
|
+
fs.writeFileSync(p, truncated + "\n", "utf-8");
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
fs.writeFileSync(p, content, "utf-8");
|
|
45
|
+
}
|
|
46
|
+
});
|
|
44
47
|
}
|
|
45
48
|
const AWARENESS_JSON_PATH = () => path.join(getRoot(), "awareness-state.json");
|
|
46
49
|
const AWARENESS_ARCHIVE_PATH = () => path.join(getRoot(), "awareness-archive.json");
|
|
@@ -57,9 +60,12 @@ export function readAwarenessState() {
|
|
|
57
60
|
}
|
|
58
61
|
}
|
|
59
62
|
export function writeAwarenessState(state) {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
+
withLock("awareness-state", () => {
|
|
64
|
+
const p = AWARENESS_JSON_PATH();
|
|
65
|
+
ensureDir(path.dirname(p));
|
|
66
|
+
state.lastUpdated = new Date().toISOString();
|
|
67
|
+
fs.writeFileSync(p, JSON.stringify(state, null, 2), "utf-8");
|
|
68
|
+
});
|
|
63
69
|
}
|
|
64
70
|
// ── Archive: demoted insights are preserved, not deleted ──────────────────
|
|
65
71
|
export function readAwarenessArchive() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"awareness.js","sourceRoot":"","sources":["../../src/palace/awareness.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"awareness.js","sourceRoot":"","sources":["../../src/palace/awareness.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simple file-based locking for shared global files (awareness, insights-index).
|
|
3
|
+
*
|
|
4
|
+
* Uses mkdir atomicity: mkdir fails if dir already exists, which is
|
|
5
|
+
* atomic on all platforms. No external dependencies.
|
|
6
|
+
*
|
|
7
|
+
* Lock timeout: 5 seconds. Stale lock cleanup: 30 seconds.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Acquire a named lock. Retries with backoff until timeout.
|
|
11
|
+
* Returns a release function.
|
|
12
|
+
*/
|
|
13
|
+
export declare function acquireLock(name: string): () => void;
|
|
14
|
+
/**
|
|
15
|
+
* Execute a function while holding a lock.
|
|
16
|
+
* Lock is always released, even on error.
|
|
17
|
+
*/
|
|
18
|
+
export declare function withLock<T>(name: string, fn: () => T): T;
|
|
19
|
+
//# sourceMappingURL=filelock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filelock.d.ts","sourceRoot":"","sources":["../../src/storage/filelock.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAcH;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,IAAI,CA0CpD;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAOxD"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simple file-based locking for shared global files (awareness, insights-index).
|
|
3
|
+
*
|
|
4
|
+
* Uses mkdir atomicity: mkdir fails if dir already exists, which is
|
|
5
|
+
* atomic on all platforms. No external dependencies.
|
|
6
|
+
*
|
|
7
|
+
* Lock timeout: 5 seconds. Stale lock cleanup: 30 seconds.
|
|
8
|
+
*/
|
|
9
|
+
import * as fs from "node:fs";
|
|
10
|
+
import * as path from "node:path";
|
|
11
|
+
import { getRoot } from "../types.js";
|
|
12
|
+
import { ensureDir } from "./fs-utils.js";
|
|
13
|
+
const LOCK_TIMEOUT_MS = 5000;
|
|
14
|
+
const STALE_LOCK_MS = 30000;
|
|
15
|
+
function lockDir(name) {
|
|
16
|
+
return path.join(getRoot(), `.lock-${name}`);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Acquire a named lock. Retries with backoff until timeout.
|
|
20
|
+
* Returns a release function.
|
|
21
|
+
*/
|
|
22
|
+
export function acquireLock(name) {
|
|
23
|
+
const dir = lockDir(name);
|
|
24
|
+
const deadline = Date.now() + LOCK_TIMEOUT_MS;
|
|
25
|
+
// Ensure root dir exists before attempting lock
|
|
26
|
+
ensureDir(path.dirname(dir));
|
|
27
|
+
// Clean stale locks
|
|
28
|
+
if (fs.existsSync(dir)) {
|
|
29
|
+
try {
|
|
30
|
+
const stat = fs.statSync(dir);
|
|
31
|
+
if (Date.now() - stat.mtimeMs > STALE_LOCK_MS) {
|
|
32
|
+
fs.rmdirSync(dir);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
// race with another cleanup — fine
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
// Spin with backoff
|
|
40
|
+
let delay = 5;
|
|
41
|
+
while (Date.now() < deadline) {
|
|
42
|
+
try {
|
|
43
|
+
fs.mkdirSync(dir, { recursive: false });
|
|
44
|
+
// Got the lock — return release function
|
|
45
|
+
return () => {
|
|
46
|
+
try {
|
|
47
|
+
fs.rmdirSync(dir);
|
|
48
|
+
}
|
|
49
|
+
catch { /* already released */ }
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
// Lock held — wait and retry
|
|
54
|
+
const waitUntil = Date.now() + delay;
|
|
55
|
+
while (Date.now() < waitUntil) { /* busy wait — short durations only */ }
|
|
56
|
+
delay = Math.min(delay * 2, 200);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
// Timeout — force-break the lock and take it
|
|
60
|
+
try {
|
|
61
|
+
fs.rmdirSync(dir);
|
|
62
|
+
}
|
|
63
|
+
catch { /* ok */ }
|
|
64
|
+
fs.mkdirSync(dir, { recursive: false });
|
|
65
|
+
return () => {
|
|
66
|
+
try {
|
|
67
|
+
fs.rmdirSync(dir);
|
|
68
|
+
}
|
|
69
|
+
catch { /* already released */ }
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Execute a function while holding a lock.
|
|
74
|
+
* Lock is always released, even on error.
|
|
75
|
+
*/
|
|
76
|
+
export function withLock(name, fn) {
|
|
77
|
+
const release = acquireLock(name);
|
|
78
|
+
try {
|
|
79
|
+
return fn();
|
|
80
|
+
}
|
|
81
|
+
finally {
|
|
82
|
+
release();
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=filelock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filelock.js","sourceRoot":"","sources":["../../src/storage/filelock.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,eAAe,GAAG,IAAI,CAAC;AAC7B,MAAM,aAAa,GAAG,KAAK,CAAC;AAE5B,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC;IAE9C,gDAAgD;IAChD,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAE7B,oBAAoB;IACpB,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,GAAG,aAAa,EAAE,CAAC;gBAC9C,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YACxC,yCAAyC;YACzC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC;oBAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC;YAC7D,CAAC,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,6BAA6B;YAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YACrC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC,sCAAsC,CAAC,CAAC;YACzE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,IAAI,CAAC;QAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7C,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IACxC,OAAO,GAAG,EAAE;QACV,IAAI,CAAC;YAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC;IAC7D,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAI,IAAY,EAAE,EAAW;IACnD,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,CAAC;IACd,CAAC;YAAS,CAAC;QACT,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session identity — unique per process to prevent multi-window write conflicts.
|
|
3
|
+
*
|
|
4
|
+
* When multiple Claude Code sessions run /arsave simultaneously,
|
|
5
|
+
* each writes to its own journal file: YYYY-MM-DD-{sessionId}.md
|
|
6
|
+
* instead of fighting over a shared YYYY-MM-DD.md.
|
|
7
|
+
*/
|
|
8
|
+
/** Get the current process session ID. */
|
|
9
|
+
export declare function getSessionId(): string;
|
|
10
|
+
/**
|
|
11
|
+
* Generate a session-scoped journal filename.
|
|
12
|
+
*
|
|
13
|
+
* - First session of the day: writes to YYYY-MM-DD.md (backward compat)
|
|
14
|
+
* - Concurrent sessions: write to YYYY-MM-DD-{sessionId}.md
|
|
15
|
+
*
|
|
16
|
+
* Once a file is claimed by this session, subsequent calls return the same name.
|
|
17
|
+
*/
|
|
18
|
+
export declare function journalFileName(date: string, baseExists: boolean): string;
|
|
19
|
+
/**
|
|
20
|
+
* Generate a session-scoped log filename for captures.
|
|
21
|
+
*/
|
|
22
|
+
export declare function captureLogFileName(date: string, baseExists: boolean): string;
|
|
23
|
+
/** Reset owned files (for testing only). */
|
|
24
|
+
export declare function resetOwnedFiles(): void;
|
|
25
|
+
//# sourceMappingURL=session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/storage/session.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,0CAA0C;AAC1C,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,CAazE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,CAY5E;AAED,4CAA4C;AAC5C,wBAAgB,eAAe,IAAI,IAAI,CAEtC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session identity — unique per process to prevent multi-window write conflicts.
|
|
3
|
+
*
|
|
4
|
+
* When multiple Claude Code sessions run /arsave simultaneously,
|
|
5
|
+
* each writes to its own journal file: YYYY-MM-DD-{sessionId}.md
|
|
6
|
+
* instead of fighting over a shared YYYY-MM-DD.md.
|
|
7
|
+
*/
|
|
8
|
+
import * as crypto from "node:crypto";
|
|
9
|
+
/** 6-char hex ID, unique per process. Generated once on import. */
|
|
10
|
+
const SESSION_ID = crypto.randomBytes(3).toString("hex");
|
|
11
|
+
/** Track which files this session has claimed (owns). */
|
|
12
|
+
const ownedFiles = new Set();
|
|
13
|
+
/** Get the current process session ID. */
|
|
14
|
+
export function getSessionId() {
|
|
15
|
+
return SESSION_ID;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Generate a session-scoped journal filename.
|
|
19
|
+
*
|
|
20
|
+
* - First session of the day: writes to YYYY-MM-DD.md (backward compat)
|
|
21
|
+
* - Concurrent sessions: write to YYYY-MM-DD-{sessionId}.md
|
|
22
|
+
*
|
|
23
|
+
* Once a file is claimed by this session, subsequent calls return the same name.
|
|
24
|
+
*/
|
|
25
|
+
export function journalFileName(date, baseExists) {
|
|
26
|
+
const baseKey = `journal:${date}`;
|
|
27
|
+
// If this session already claimed a file for this date, reuse it
|
|
28
|
+
if (ownedFiles.has(`${baseKey}:base`))
|
|
29
|
+
return `${date}.md`;
|
|
30
|
+
if (ownedFiles.has(`${baseKey}:session`))
|
|
31
|
+
return `${date}-${SESSION_ID}.md`;
|
|
32
|
+
if (!baseExists) {
|
|
33
|
+
ownedFiles.add(`${baseKey}:base`);
|
|
34
|
+
return `${date}.md`;
|
|
35
|
+
}
|
|
36
|
+
ownedFiles.add(`${baseKey}:session`);
|
|
37
|
+
return `${date}-${SESSION_ID}.md`;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Generate a session-scoped log filename for captures.
|
|
41
|
+
*/
|
|
42
|
+
export function captureLogFileName(date, baseExists) {
|
|
43
|
+
const baseKey = `capture:${date}`;
|
|
44
|
+
if (ownedFiles.has(`${baseKey}:base`))
|
|
45
|
+
return `${date}-log.md`;
|
|
46
|
+
if (ownedFiles.has(`${baseKey}:session`))
|
|
47
|
+
return `${date}-${SESSION_ID}-log.md`;
|
|
48
|
+
if (!baseExists) {
|
|
49
|
+
ownedFiles.add(`${baseKey}:base`);
|
|
50
|
+
return `${date}-log.md`;
|
|
51
|
+
}
|
|
52
|
+
ownedFiles.add(`${baseKey}:session`);
|
|
53
|
+
return `${date}-${SESSION_ID}-log.md`;
|
|
54
|
+
}
|
|
55
|
+
/** Reset owned files (for testing only). */
|
|
56
|
+
export function resetOwnedFiles() {
|
|
57
|
+
ownedFiles.clear();
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/storage/session.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC,mEAAmE;AACnE,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAEzD,yDAAyD;AACzD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;AAErC,0CAA0C;AAC1C,MAAM,UAAU,YAAY;IAC1B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,UAAmB;IAC/D,MAAM,OAAO,GAAG,WAAW,IAAI,EAAE,CAAC;IAElC,iEAAiE;IACjE,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,OAAO,CAAC;QAAE,OAAO,GAAG,IAAI,KAAK,CAAC;IAC3D,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,UAAU,CAAC;QAAE,OAAO,GAAG,IAAI,IAAI,UAAU,KAAK,CAAC;IAE5E,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,OAAO,CAAC,CAAC;QAClC,OAAO,GAAG,IAAI,KAAK,CAAC;IACtB,CAAC;IACD,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,UAAU,CAAC,CAAC;IACrC,OAAO,GAAG,IAAI,IAAI,UAAU,KAAK,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,UAAmB;IAClE,MAAM,OAAO,GAAG,WAAW,IAAI,EAAE,CAAC;IAElC,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,OAAO,CAAC;QAAE,OAAO,GAAG,IAAI,SAAS,CAAC;IAC/D,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,UAAU,CAAC;QAAE,OAAO,GAAG,IAAI,IAAI,UAAU,SAAS,CAAC;IAEhF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,OAAO,CAAC,CAAC;QAClC,OAAO,GAAG,IAAI,SAAS,CAAC;IAC1B,CAAC;IACD,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,UAAU,CAAC,CAAC;IACrC,OAAO,GAAG,IAAI,IAAI,UAAU,SAAS,CAAC;AACxC,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,eAAe;IAC7B,UAAU,CAAC,KAAK,EAAE,CAAC;AACrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journal-capture.d.ts","sourceRoot":"","sources":["../../src/tools-logic/journal-capture.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"journal-capture.d.ts","sourceRoot":"","sources":["../../src/tools-logic/journal-capture.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAuE9F"}
|
|
@@ -9,6 +9,8 @@ import { ensurePalaceInitialized, roomExists, createRoom } from "../palace/rooms
|
|
|
9
9
|
import { palaceDir } from "../storage/paths.js";
|
|
10
10
|
import { fanOut } from "../palace/fan-out.js";
|
|
11
11
|
import { updatePalaceIndex } from "../palace/index-manager.js";
|
|
12
|
+
import { captureLogFileName } from "../storage/session.js";
|
|
13
|
+
import { generateFrontmatter } from "../palace/obsidian.js";
|
|
12
14
|
export async function journalCapture(input) {
|
|
13
15
|
const slug = await resolveProject(input.project);
|
|
14
16
|
const date = todayISO();
|
|
@@ -23,7 +25,10 @@ export async function journalCapture(input) {
|
|
|
23
25
|
input.tags = [type, ...kws];
|
|
24
26
|
autoTags = input.tags;
|
|
25
27
|
}
|
|
26
|
-
|
|
28
|
+
// Session-safe log filename: avoids conflicts when multiple sessions capture simultaneously
|
|
29
|
+
const baseLogPath = path.join(dir, `${date}-log.md`);
|
|
30
|
+
const logFileName = captureLogFileName(date, fs.existsSync(baseLogPath));
|
|
31
|
+
const logPath = path.join(dir, logFileName);
|
|
27
32
|
const entryNum = countLogEntries(logPath) + 1;
|
|
28
33
|
const tagStr = input.tags && input.tags.length > 0 ? ` [${input.tags.join(", ")}]` : "";
|
|
29
34
|
const timestamp = new Date().toISOString().slice(11, 19);
|
|
@@ -31,7 +36,15 @@ export async function journalCapture(input) {
|
|
|
31
36
|
entry += `**Q:** ${input.question}\n\n`;
|
|
32
37
|
entry += `**A:** ${input.answer}\n\n`;
|
|
33
38
|
if (!fs.existsSync(logPath)) {
|
|
34
|
-
|
|
39
|
+
// Obsidian-compatible frontmatter for new capture logs
|
|
40
|
+
const fm = generateFrontmatter({
|
|
41
|
+
type: "capture-log",
|
|
42
|
+
project: slug,
|
|
43
|
+
date,
|
|
44
|
+
tags: ["capture", slug],
|
|
45
|
+
created: new Date().toISOString(),
|
|
46
|
+
});
|
|
47
|
+
const header = `${fm}# ${date} — ${slug} — Session Log\n\n`;
|
|
35
48
|
fs.writeFileSync(logPath, header + entry, "utf-8");
|
|
36
49
|
}
|
|
37
50
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journal-capture.js","sourceRoot":"","sources":["../../src/tools-logic/journal-capture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"journal-capture.js","sourceRoot":"","sources":["../../src/tools-logic/journal-capture.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journal-write.d.ts","sourceRoot":"","sources":["../../src/tools-logic/journal-write.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"journal-write.d.ts","sourceRoot":"","sources":["../../src/tools-logic/journal-write.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;CACnE;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA6DxF"}
|
|
@@ -9,18 +9,31 @@ import { ensurePalaceInitialized, roomExists, createRoom } from "../palace/rooms
|
|
|
9
9
|
import { fanOut } from "../palace/fan-out.js";
|
|
10
10
|
import { generateFrontmatter } from "../palace/obsidian.js";
|
|
11
11
|
import { updatePalaceIndex } from "../palace/index-manager.js";
|
|
12
|
+
import { journalFileName } from "../storage/session.js";
|
|
12
13
|
export async function journalWrite(input) {
|
|
13
14
|
const slug = await resolveProject(input.project);
|
|
14
15
|
const date = todayISO();
|
|
15
16
|
const dir = journalDir(slug);
|
|
16
17
|
ensureDir(dir);
|
|
17
|
-
|
|
18
|
+
// Session-safe filename: if another session already wrote today's journal,
|
|
19
|
+
// this session gets its own file (YYYY-MM-DD-{sessionId}.md) to avoid conflicts.
|
|
20
|
+
const basePath = path.join(dir, `${date}.md`);
|
|
21
|
+
const fileName = journalFileName(date, fs.existsSync(basePath));
|
|
22
|
+
const filePath = path.join(dir, fileName);
|
|
18
23
|
let existing = "";
|
|
19
24
|
if (fs.existsSync(filePath)) {
|
|
20
25
|
existing = fs.readFileSync(filePath, "utf-8");
|
|
21
26
|
}
|
|
22
27
|
else if (!input.section || input.section !== "replace_all") {
|
|
23
|
-
|
|
28
|
+
// Obsidian-compatible frontmatter for new journal entries
|
|
29
|
+
const fm = generateFrontmatter({
|
|
30
|
+
type: "journal",
|
|
31
|
+
project: slug,
|
|
32
|
+
date,
|
|
33
|
+
tags: ["journal", slug],
|
|
34
|
+
created: new Date().toISOString(),
|
|
35
|
+
});
|
|
36
|
+
existing = `${fm}# ${date} — ${slug}\n`;
|
|
24
37
|
}
|
|
25
38
|
const sectionArg = input.section ?? null;
|
|
26
39
|
const updated = appendToSection(existing, input.content, sectionArg);
|