@mnemonik/codex-hooks 0.8.45 → 0.8.46
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.
|
@@ -13,8 +13,7 @@ export declare const STALE_SESSION_MS: number;
|
|
|
13
13
|
/** A named file inside this session's private directory. */
|
|
14
14
|
export declare function sessionStateFilePath(sessionId: string, fileName: string): string;
|
|
15
15
|
/**
|
|
16
|
-
* Remove abandoned session directories. Runs once per SessionStart
|
|
17
|
-
*
|
|
18
|
-
* that is not a plain directory (symlinks, junctions, files) and never throws.
|
|
16
|
+
* Remove abandoned session directories. Runs once per SessionStart and checks
|
|
17
|
+
* the directory plus each direct child before deletion. Never follows links.
|
|
19
18
|
*/
|
|
20
19
|
export declare function sweepStaleSessionDirs(now?: number): number;
|
package/dist/lib/sessionState.js
CHANGED
|
@@ -23,9 +23,8 @@ export function sessionStateFilePath(sessionId, fileName) {
|
|
|
23
23
|
return join(privateRoot(), createHash('sha256').update(sessionId).digest('hex'), fileName);
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
|
-
* Remove abandoned session directories. Runs once per SessionStart
|
|
27
|
-
*
|
|
28
|
-
* that is not a plain directory (symlinks, junctions, files) and never throws.
|
|
26
|
+
* Remove abandoned session directories. Runs once per SessionStart and checks
|
|
27
|
+
* the directory plus each direct child before deletion. Never follows links.
|
|
29
28
|
*/
|
|
30
29
|
export function sweepStaleSessionDirs(now = Date.now()) {
|
|
31
30
|
const root = privateRoot();
|
|
@@ -39,7 +38,11 @@ export function sweepStaleSessionDirs(now = Date.now()) {
|
|
|
39
38
|
const st = lstatSync(full);
|
|
40
39
|
if (!st.isDirectory() || st.isSymbolicLink())
|
|
41
40
|
continue;
|
|
42
|
-
|
|
41
|
+
let newestMtimeMs = st.mtimeMs;
|
|
42
|
+
for (const child of readdirSync(full)) {
|
|
43
|
+
newestMtimeMs = Math.max(newestMtimeMs, lstatSync(join(full, child)).mtimeMs);
|
|
44
|
+
}
|
|
45
|
+
if (now - newestMtimeMs < STALE_SESSION_MS)
|
|
43
46
|
continue;
|
|
44
47
|
rmSync(full, { recursive: true, force: true });
|
|
45
48
|
removed += 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionState.js","sourceRoot":"","sources":["../../src/lib/sessionState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,iFAAiF;AACjF,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEpD,SAAS,WAAW;IAClB,MAAM,GAAG,GAAG,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7E,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE,kBAAkB,GAAG,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,oBAAoB,CAAC,SAAiB,EAAE,QAAgB;IACtE,OAAO,IAAI,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC7F,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"sessionState.js","sourceRoot":"","sources":["../../src/lib/sessionState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,iFAAiF;AACjF,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEpD,SAAS,WAAW;IAClB,MAAM,GAAG,GAAG,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7E,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE,kBAAkB,GAAG,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,oBAAoB,CAAC,SAAiB,EAAE,QAAgB;IACtE,OAAO,IAAI,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC7F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAG,GAAW,IAAI,CAAC,GAAG,EAAE;IAC5D,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE;YAAE,OAAO,CAAC,CAAC;QACpE,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC3B,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,cAAc,EAAE;oBAAE,SAAS;gBACvD,IAAI,aAAa,GAAG,EAAE,CAAC,OAAO,CAAC;gBAC/B,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAChF,CAAC;gBACD,IAAI,GAAG,GAAG,aAAa,GAAG,gBAAgB;oBAAE,SAAS;gBACrD,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/C,OAAO,IAAI,CAAC,CAAC;YACf,CAAC;YAAC,MAAM,CAAC;gBACP,yBAAyB;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6DAA6D;IAC/D,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mnemonik/codex-hooks",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.46",
|
|
4
4
|
"description": "Codex lifecycle hooks for Mnemonik memory awareness and host-side grounding gates. Hooks only: does not install skills, rules, AGENTS.md, .mnemonik.json, or MCP config.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|