| export declare function normalizeFilePath(p: string): string; | ||
| //# sourceMappingURL=path-normalize.d.ts.map |
| {"version":3,"file":"path-normalize.d.ts","sourceRoot":"","sources":["../../src/lib/path-normalize.ts"],"names":[],"mappings":"AAoBA,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAanD"} |
| /** | ||
| * Canonical file-path normalizer for "is this the same file?" checks. | ||
| * | ||
| * Used wherever we key a cache or count uniqueness by file path: | ||
| * - The drift analyzer (`duplicateReads.ts`) — counts cross-turn dupes. | ||
| * - The dedup orchestrator (`hookReadDedup.ts`) — refuses re-reads at | ||
| * PreToolUse time. | ||
| * - The heuristic walker (`vsRtk.ts`) — credits B5 dedup over recorded | ||
| * transcripts. | ||
| * | ||
| * Before v1.6.14 these used to disagree: drift normalized, dedup did not. | ||
| * Result: drift would see ~25 dupes in a real session and dedup would catch | ||
| * only 3 because Claude Code sometimes sends `C:\foo\bar.ts` and other turns | ||
| * send `c:/foo/bar.ts` for the same on-disk file. The dedup cache key never | ||
| * matched. This module is the single source of truth that closes the gap. | ||
| * | ||
| * Pure. No I/O. | ||
| */ | ||
| import path from "node:path"; | ||
| export function normalizeFilePath(p) { | ||
| if (typeof p !== "string" || p.length === 0) | ||
| return p; | ||
| // 1. Backslashes → forward slashes (Windows paths look like POSIX after this). | ||
| let s = p.replace(/\\/g, "/"); | ||
| // 2. Lowercase Windows drive letter (`C:` → `c:`). | ||
| s = s.replace(/^([A-Z]):/, (_m, d) => d.toLowerCase() + ":"); | ||
| // 3. Collapse ./ and ../ where safe. | ||
| try { | ||
| s = path.posix.normalize(s); | ||
| } | ||
| catch { | ||
| /* posix.normalize never throws on real input, but guard anyway */ | ||
| } | ||
| return s; | ||
| } | ||
| //# sourceMappingURL=path-normalize.js.map |
| {"version":3,"file":"path-normalize.js","sourceRoot":"","sources":["../../src/lib/path-normalize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,UAAU,iBAAiB,CAAC,CAAS;IACzC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtD,+EAA+E;IAC/E,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC9B,mDAAmD;IACnD,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,CAAC;IACrE,qCAAqC;IACrC,IAAI,CAAC;QACH,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,kEAAkE;IACpE,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"hookReadDedup.d.ts","sourceRoot":"","sources":["../../../src/modules/proxy/hookReadDedup.ts"],"names":[],"mappings":"AAcA,OAAO,EAKL,KAAK,OAAO,EAEb,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;CAC7C;AAID,0BAA0B;AAC1B,MAAM,WAAW,OAAQ,SAAQ,OAAO;IACtC,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAC5F,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7D,GAAG,IAAI,IAAI,CAAC;CACb;AAED,eAAO,MAAM,WAAW,EAAE,OAoCzB,CAAC;AAEF,wBAAsB,aAAa,CACjC,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,MAAM,EACf,EAAE,GAAE,OAAqB,GACxB,OAAO,CAAC,mBAAmB,CAAC,CA8E9B"} | ||
| {"version":3,"file":"hookReadDedup.d.ts","sourceRoot":"","sources":["../../../src/modules/proxy/hookReadDedup.ts"],"names":[],"mappings":"AAeA,OAAO,EAKL,KAAK,OAAO,EAEb,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;CAC7C;AAID,0BAA0B;AAC1B,MAAM,WAAW,OAAQ,SAAQ,OAAO;IACtC,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAC5F,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7D,GAAG,IAAI,IAAI,CAAC;CACb;AAED,eAAO,MAAM,WAAW,EAAE,OAoCzB,CAAC;AAEF,wBAAsB,aAAa,CACjC,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,MAAM,EACf,EAAE,GAAE,OAAqB,GACxB,OAAO,CAAC,mBAAmB,CAAC,CAqF9B"} |
@@ -14,2 +14,3 @@ /** | ||
| import { promises as fs } from "node:fs"; | ||
| import { normalizeFilePath } from "../../lib/path-normalize.js"; | ||
| import { decideReadDedup } from "./rewriters/dedupRead.js"; | ||
@@ -76,6 +77,11 @@ import { loadReadCache, appendReadEntry, sessionCachePath, realStoreIO, } from "./read-cache.js"; | ||
| .slice(-40)}`; | ||
| // v1.6.14: normalize the file path BEFORE looking up the cache, so | ||
| // `C:\foo\bar.ts` and `c:/foo/bar.ts` from the same on-disk file collide | ||
| // on the same cache key. Pre-fix this is the gap that made dedup miss | ||
| // ~50x of the dupes the drift analyzer was correctly counting. | ||
| const normalizedPath = normalizeFilePath(filePath); | ||
| const current = await io.hashFile(filePath); | ||
| const cachePath = sessionCachePath(homeDir, sessionKey); | ||
| const cache = await loadReadCache(cachePath, io); | ||
| const cached = cache.get(filePath); | ||
| const cached = cache.get(normalizedPath); | ||
| const decision = decideReadDedup({ | ||
@@ -115,3 +121,5 @@ toolInput: input.tool_input, | ||
| const entry = { | ||
| filePath, | ||
| // Store the normalized path so future lookups match regardless of | ||
| // whether Claude sent C:\foo\bar or c:/foo/bar this time. | ||
| filePath: normalizedPath, | ||
| sha256: current.sha256, | ||
@@ -118,0 +126,0 @@ mtimeMs: current.mtimeMs, |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"hookReadDedup.js","sourceRoot":"","sources":["../../../src/modules/proxy/hookReadDedup.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"hookReadDedup.js","sourceRoot":"","sources":["../../../src/modules/proxy/hookReadDedup.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"vsRtk.d.ts","sourceRoot":"","sources":["../../../src/modules/proxy/vsRtk.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,aAAa;IAC5B,uBAAuB;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,iDAAiD;IACjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,mDAAmD;IACnD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;CAClC;AAoBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,aAAa,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,GACvE,aAAa,CAiDf;AAMD,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,MAAM,CA2BtE"} | ||
| {"version":3,"file":"vsRtk.d.ts","sourceRoot":"","sources":["../../../src/modules/proxy/vsRtk.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,aAAa;IAC5B,uBAAuB;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,iDAAiD;IACjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,mDAAmD;IACnD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;CAClC;AAoBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,aAAa,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,GACvE,aAAa,CAqDf;AAMD,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,MAAM,CA2BtE"} |
@@ -15,2 +15,3 @@ /** | ||
| import { resolveRewriter } from "./registry.js"; | ||
| import { normalizeFilePath } from "../../lib/path-normalize.js"; | ||
| /** | ||
@@ -72,3 +73,7 @@ * Per-re-read estimated tokens. Conservative: a typical source file in the | ||
| if (typeof fp === "string" && fp.length > 0) { | ||
| if (seenReadFiles.has(fp)) { | ||
| // v1.6.14 bug fix: normalize before keying. Pre-fix the heuristic | ||
| // walker would treat `C:\foo` and `c:/foo` as different files and | ||
| // undercount dupes — same bug as hookReadDedup had. | ||
| const fpNorm = normalizeFilePath(fp); | ||
| if (seenReadFiles.has(fpNorm)) { | ||
| rewrites++; | ||
@@ -78,3 +83,3 @@ estSavedTokens += DEDUP_TOKENS_PER_REREAD; | ||
| else { | ||
| seenReadFiles.add(fp); | ||
| seenReadFiles.add(fpNorm); | ||
| // B3 AST trim credit (first read of an AST-eligible file post-grep). | ||
@@ -81,0 +86,0 @@ if (anyGrepSeen && AST_ELIGIBLE_RE.test(fp)) { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"vsRtk.js","sourceRoot":"","sources":["../../../src/modules/proxy/vsRtk.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"vsRtk.js","sourceRoot":"","sources":["../../../src/modules/proxy/vsRtk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAiBhE;;;GAGG;AACH,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAErC;;;;;;GAMG;AACH,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAErC,+CAA+C;AAC/C,MAAM,eAAe,GAAG,0CAA0C,CAAC;AAEnE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAwE;IAExE,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,SAAS,EAAE,CAAC;QAEZ,iDAAiD;QACjD,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACzE,MAAM,GAAG,GAAI,CAAC,CAAC,KAA+B,CAAC,OAAO,CAAC;YACvD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;gBAAE,WAAW,GAAG,IAAI,CAAC;QACpE,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAChF,MAAM,GAAG,GAAI,CAAC,CAAC,KAA+B,CAAC,OAAO,CAAC;YACvD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChE,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;QACH,CAAC;QAED,qEAAqE;QACrE,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACzE,MAAM,EAAE,GAAI,CAAC,CAAC,KAAiC,CAAC,SAAS,CAAC;YAC1D,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,kEAAkE;gBAClE,kEAAkE;gBAClE,oDAAoD;gBACpD,MAAM,MAAM,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;gBACrC,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC9B,QAAQ,EAAE,CAAC;oBACX,cAAc,IAAI,uBAAuB,CAAC;gBAC5C,CAAC;qBAAM,CAAC;oBACN,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC1B,qEAAqE;oBACrE,IAAI,WAAW,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;wBAC5C,QAAQ,EAAE,CAAC;wBACX,cAAc,IAAI,uBAAuB,CAAC;oBAC5C,CAAC;gBACH,CAAC;gBACD,SAAS;YACX,CAAC;QACH,CAAC;QACD,MAAM,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,EAAE;YAAE,SAAS;QAClB,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI;YAAE,SAAS;QAC9D,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAgC,CAAC,CAAC;QACjD,IAAI,CAAC,EAAE,CAAC;YACN,QAAQ,EAAE,CAAC;YACX,cAAc,IAAI,CAAC,CAAC,mBAAmB,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;AACjD,CAAC;AAED,SAAS,GAAG,CAAC,CAAS;IACpB,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,gBAAgB,CAAC,IAA6B;IAC5D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,sFAAsF,CAAC,CAAC;IACnG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CACR,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,CACzG,CAAC;IACF,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,UAAU,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QACnC,aAAa,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACrC,UAAU,IAAI,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;QACxC,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG;YACpE,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAClH,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CACR,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CACxI,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;IAC3F,KAAK,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;IAClF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"} |
@@ -0,1 +1,11 @@ | ||
| /** | ||
| * Duplicate-read analyzer — M007, M008, R003. | ||
| * Pure. | ||
| * | ||
| * v1.6.14: the path normalizer used to live here as a private function. It | ||
| * was extracted to `src/lib/path-normalize.ts` because hookReadDedup, | ||
| * vsRtk's heuristic walker, and topExpensive ALL had divergent path-keying | ||
| * code that undercounted dupes vs what this analyzer correctly counted. | ||
| * Single source of truth now. | ||
| */ | ||
| import type { ParsedSession } from "../parse.js"; | ||
@@ -2,0 +12,0 @@ export interface DuplicateRead { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"duplicateReads.d.ts","sourceRoot":"","sources":["../../../../src/modules/transcript/analyzers/duplicateReads.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAY,MAAM,aAAa,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,uEAAuE;IACvE,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,sEAAsE;IACtE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,kCAAkC;IAClC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,oDAAoD;IACpD,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,4BAA4B;IAC5B,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;CACrD;AAsCD,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,aAAa,GACrB,oBAAoB,CA6CtB"} | ||
| {"version":3,"file":"duplicateReads.d.ts","sourceRoot":"","sources":["../../../../src/modules/transcript/analyzers/duplicateReads.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,aAAa,EAAY,MAAM,aAAa,CAAC;AAG3D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,uEAAuE;IACvE,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,sEAAsE;IACtE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,kCAAkC;IAClC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,oDAAoD;IACpD,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,4BAA4B;IAC5B,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;CACrD;AA0BD,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,aAAa,GACrB,oBAAoB,CA6CtB"} |
@@ -0,23 +1,6 @@ | ||
| import { normalizeFilePath } from "../../../lib/path-normalize.js"; | ||
| // normalizeFilePath now lives in src/lib/path-normalize.ts (imported above). | ||
| // Used to be a private function here; was duplicated and divergent across | ||
| // hookReadDedup, vsRtk, topExpensive before v1.6.14 — see header comment. | ||
| /** | ||
| * Duplicate-read analyzer — M007, M008, R003. | ||
| * Pure. | ||
| */ | ||
| import path from "node:path"; | ||
| /** | ||
| * Normalize a file path so Windows and POSIX styles dedupe. | ||
| * Lowercases drive letters, replaces backslashes, collapses ../ where safe. | ||
| */ | ||
| function normalizeFilePath(p) { | ||
| let s = p.replace(/\\/g, "/"); | ||
| // Lowercase Windows drive letter. | ||
| s = s.replace(/^([A-Z]):/, (_m, d) => d.toLowerCase() + ":"); | ||
| try { | ||
| s = path.posix.normalize(s); | ||
| } | ||
| catch { | ||
| /* ignore */ | ||
| } | ||
| return s; | ||
| } | ||
| /** | ||
| * Read-like tools and the field of their input that names the file. | ||
@@ -24,0 +7,0 @@ * (Add new mappings as Claude Code introduces tools — IDs documented in |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"duplicateReads.js","sourceRoot":"","sources":["../../../../src/modules/transcript/analyzers/duplicateReads.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"duplicateReads.js","sourceRoot":"","sources":["../../../../src/modules/transcript/analyzers/duplicateReads.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"topExpensive.d.ts","sourceRoot":"","sources":["../../../../src/modules/transcript/analyzers/topExpensive.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,aAAa,EAAY,MAAM,aAAa,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,qDAAqD;IACrD,QAAQ,CAAC,MAAM,EACX,aAAa,GACb,gBAAgB,GAChB,aAAa,GACb,gBAAgB,GAChB,UAAU,CAAC;IACf,iDAAiD;IACjD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,sEAAsE;IACtE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAYD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,aAAa,GACrB,aAAa,CAAC,aAAa,CAAC,CAiD9B"} | ||
| {"version":3,"file":"topExpensive.d.ts","sourceRoot":"","sources":["../../../../src/modules/transcript/analyzers/topExpensive.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,aAAa,EAAY,MAAM,aAAa,CAAC;AAG3D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,qDAAqD;IACrD,QAAQ,CAAC,MAAM,EACX,aAAa,GACb,gBAAgB,GAChB,aAAa,GACb,gBAAgB,GAChB,UAAU,CAAC;IACf,iDAAiD;IACjD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,sEAAsE;IACtE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAYD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,aAAa,GACrB,aAAa,CAAC,aAAa,CAAC,CAsD9B"} |
@@ -0,1 +1,2 @@ | ||
| import { normalizeFilePath } from "../../../lib/path-normalize.js"; | ||
| function inputFieldGuess(call) { | ||
@@ -14,2 +15,4 @@ const input = call.input; | ||
| // Count occurrences of each file path in Read calls — for "duplicate-read" tag. | ||
| // v1.6.14 bug fix: key by NORMALIZED path so C:\foo and c:/foo collide | ||
| // (same fix applied in hookReadDedup.ts and vsRtk.ts). | ||
| const readCounts = new Map(); | ||
@@ -20,4 +23,6 @@ for (const c of session.toolCalls) { | ||
| const p = inputFieldGuess(c); | ||
| if (p) | ||
| readCounts.set(p, (readCounts.get(p) ?? 0) + 1); | ||
| if (p) { | ||
| const norm = normalizeFilePath(p); | ||
| readCounts.set(norm, (readCounts.get(norm) ?? 0) + 1); | ||
| } | ||
| } | ||
@@ -24,0 +29,0 @@ // Group tool calls per assistant turn and split. |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"topExpensive.js","sourceRoot":"","sources":["../../../../src/modules/transcript/analyzers/topExpensive.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"topExpensive.js","sourceRoot":"","sources":["../../../../src/modules/transcript/analyzers/topExpensive.ts"],"names":[],"mappings":"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"} |
+1
-1
| { | ||
| "name": "sipcode", | ||
| "version": "1.6.13", | ||
| "version": "1.6.14", | ||
| "description": "Sip your tokens, don't gulp them. Keep Claude Code's context clean: drift detection, re-read dedup, integrity scoring, AST-aware reads, and 15 MCP tools for Claude Desktop.", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
3147810
0.13%1012
0.4%22142
0.21%