agent-recall-core 3.3.14 → 3.3.16
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/digest/match.d.ts +31 -0
- package/dist/digest/match.d.ts.map +1 -0
- package/dist/digest/match.js +132 -0
- package/dist/digest/match.js.map +1 -0
- package/dist/digest/store.d.ts +42 -0
- package/dist/digest/store.d.ts.map +1 -0
- package/dist/digest/store.js +296 -0
- package/dist/digest/store.js.map +1 -0
- package/dist/digest/types.d.ts +106 -0
- package/dist/digest/types.d.ts.map +1 -0
- package/dist/digest/types.js +22 -0
- package/dist/digest/types.js.map +1 -0
- 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 +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -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/fs-utils.d.ts.map +1 -1
- package/dist/storage/fs-utils.js +3 -1
- package/dist/storage/fs-utils.js.map +1 -1
- package/dist/storage/paths.d.ts +8 -0
- package/dist/storage/paths.d.ts.map +1 -1
- package/dist/storage/paths.js +18 -0
- package/dist/storage/paths.js.map +1 -1
- 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/digest-read.d.ts +7 -0
- package/dist/tools-logic/digest-read.d.ts.map +1 -0
- package/dist/tools-logic/digest-read.js +22 -0
- package/dist/tools-logic/digest-read.js.map +1 -0
- package/dist/tools-logic/digest-recall.d.ts +7 -0
- package/dist/tools-logic/digest-recall.d.ts.map +1 -0
- package/dist/tools-logic/digest-recall.js +32 -0
- package/dist/tools-logic/digest-recall.js.map +1 -0
- package/dist/tools-logic/digest-store.d.ts +7 -0
- package/dist/tools-logic/digest-store.d.ts.map +1 -0
- package/dist/tools-logic/digest-store.js +10 -0
- package/dist/tools-logic/digest-store.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
|
@@ -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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool logic: read full content of a specific digest.
|
|
3
|
+
*/
|
|
4
|
+
import type { DigestReadInput, DigestReadResult } from "../digest/types.js";
|
|
5
|
+
export type { DigestReadInput, DigestReadResult };
|
|
6
|
+
export declare function digestRead(input: DigestReadInput): Promise<DigestReadResult>;
|
|
7
|
+
//# sourceMappingURL=digest-read.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"digest-read.d.ts","sourceRoot":"","sources":["../../src/tools-logic/digest-read.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE5E,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAC;AAElD,wBAAsB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkBlF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool logic: read full content of a specific digest.
|
|
3
|
+
*/
|
|
4
|
+
import { resolveProject } from "../storage/project.js";
|
|
5
|
+
import { readDigest as readDigestFromStore, recordAccess } from "../digest/store.js";
|
|
6
|
+
export async function digestRead(input) {
|
|
7
|
+
const project = await resolveProject(input.project ?? "auto");
|
|
8
|
+
// Try project-scoped first
|
|
9
|
+
let result = readDigestFromStore(project, input.digest_id, false);
|
|
10
|
+
if (result.meta) {
|
|
11
|
+
recordAccess(project, input.digest_id, false);
|
|
12
|
+
return { success: true, ...result };
|
|
13
|
+
}
|
|
14
|
+
// Try global
|
|
15
|
+
result = readDigestFromStore(project, input.digest_id, true);
|
|
16
|
+
if (result.meta) {
|
|
17
|
+
recordAccess("__global__", input.digest_id, true);
|
|
18
|
+
return { success: true, ...result };
|
|
19
|
+
}
|
|
20
|
+
return { success: false, meta: null, content: null };
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=digest-read.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"digest-read.js","sourceRoot":"","sources":["../../src/tools-logic/digest-read.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,IAAI,mBAAmB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKrF,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAsB;IACrD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC;IAE9D,2BAA2B;IAC3B,IAAI,MAAM,GAAG,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAClE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC9C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IACtC,CAAC;IAED,aAAa;IACb,MAAM,GAAG,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAClD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IACtC,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACvD,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool logic: recall matching digests for a query.
|
|
3
|
+
*/
|
|
4
|
+
import type { DigestRecallInput, DigestRecallResult } from "../digest/types.js";
|
|
5
|
+
export type { DigestRecallInput, DigestRecallResult };
|
|
6
|
+
export declare function digestRecall(input: DigestRecallInput): Promise<DigestRecallResult>;
|
|
7
|
+
//# sourceMappingURL=digest-recall.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"digest-recall.d.ts","sourceRoot":"","sources":["../../src/tools-logic/digest-recall.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAEhF,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAC;AAEtD,wBAAsB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA4BxF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool logic: recall matching digests for a query.
|
|
3
|
+
*/
|
|
4
|
+
import { resolveProject } from "../storage/project.js";
|
|
5
|
+
import { findMatchingDigests } from "../digest/match.js";
|
|
6
|
+
import { recordAccess } from "../digest/store.js";
|
|
7
|
+
export async function digestRecall(input) {
|
|
8
|
+
const project = await resolveProject(input.project ?? "auto");
|
|
9
|
+
const limit = input.limit ?? 5;
|
|
10
|
+
const digests = findMatchingDigests(input.query, project, {
|
|
11
|
+
includeStale: input.include_stale ?? false,
|
|
12
|
+
includeGlobal: input.include_global ?? true,
|
|
13
|
+
limit,
|
|
14
|
+
});
|
|
15
|
+
// Record access for non-stale matches
|
|
16
|
+
for (const d of digests) {
|
|
17
|
+
if (!d.stale) {
|
|
18
|
+
const isGlobal = d.project === "__global__";
|
|
19
|
+
recordAccess(isGlobal ? "__global__" : d.project, d.id, isGlobal);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
const tokensSaved = digests
|
|
23
|
+
.filter((d) => !d.stale)
|
|
24
|
+
.reduce((sum, d) => sum + d.token_estimate, 0);
|
|
25
|
+
return {
|
|
26
|
+
query: input.query,
|
|
27
|
+
digests,
|
|
28
|
+
result_count: digests.length,
|
|
29
|
+
tokens_saved_estimate: tokensSaved,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=digest-recall.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"digest-recall.js","sourceRoot":"","sources":["../../src/tools-logic/digest-recall.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKlD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAwB;IACzD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;IAE/B,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE;QACxD,YAAY,EAAE,KAAK,CAAC,aAAa,IAAI,KAAK;QAC1C,aAAa,EAAE,KAAK,CAAC,cAAc,IAAI,IAAI;QAC3C,KAAK;KACN,CAAC,CAAC;IAEH,sCAAsC;IACtC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,KAAK,YAAY,CAAC;YAC5C,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,OAAO;SACxB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;SACvB,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAEjD,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,OAAO;QACP,YAAY,EAAE,OAAO,CAAC,MAAM;QAC5B,qBAAqB,EAAE,WAAW;KACnC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool logic: store a digest (pre-computed context).
|
|
3
|
+
*/
|
|
4
|
+
import type { DigestStoreInput, DigestStoreResult } from "../digest/types.js";
|
|
5
|
+
export type { DigestStoreInput, DigestStoreResult };
|
|
6
|
+
export declare function digestStore(input: DigestStoreInput): Promise<DigestStoreResult>;
|
|
7
|
+
//# sourceMappingURL=digest-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"digest-store.d.ts","sourceRoot":"","sources":["../../src/tools-logic/digest-store.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE9E,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;AAEpD,wBAAsB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAGrF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool logic: store a digest (pre-computed context).
|
|
3
|
+
*/
|
|
4
|
+
import { resolveProject } from "../storage/project.js";
|
|
5
|
+
import { createDigest } from "../digest/store.js";
|
|
6
|
+
export async function digestStore(input) {
|
|
7
|
+
const project = await resolveProject(input.project ?? "auto");
|
|
8
|
+
return createDigest({ ...input, project });
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=digest-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"digest-store.js","sourceRoot":"","sources":["../../src/tools-logic/digest-store.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKlD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAuB;IACvD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC;IAC9D,OAAO,YAAY,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AAC7C,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);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journal-write.js","sourceRoot":"","sources":["../../src/tools-logic/journal-write.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,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"journal-write.js","sourceRoot":"","sources":["../../src/tools-logic/journal-write.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared types, interfaces, and constants for agent-recall-mcp.
|
|
3
3
|
*/
|
|
4
|
-
export declare const VERSION = "3.3.
|
|
4
|
+
export declare const VERSION = "3.3.16";
|
|
5
5
|
/**
|
|
6
6
|
* Set the storage root directory. This is process-global state —
|
|
7
7
|
* only one root is active at a time. Call before any other operations.
|
package/dist/types.js
CHANGED
|
@@ -6,7 +6,7 @@ import * as os from "node:os";
|
|
|
6
6
|
// ---------------------------------------------------------------------------
|
|
7
7
|
// Constants
|
|
8
8
|
// ---------------------------------------------------------------------------
|
|
9
|
-
export const VERSION = "3.3.
|
|
9
|
+
export const VERSION = "3.3.16";
|
|
10
10
|
// ---------------------------------------------------------------------------
|
|
11
11
|
// Root directory (configurable at runtime for SDK usage)
|
|
12
12
|
// ---------------------------------------------------------------------------
|