openwolf-enhanced 1.19.0 → 1.19.2
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/CHANGELOG.md +62 -0
- package/dist/dashboard/assets/{AISuggestions-Bz6uifBL.js → AISuggestions-ByJakEO6.js} +1 -1
- package/dist/dashboard/assets/{ActivityLog-Dp9Vy_yw.js → ActivityLog-DSfbf3Y7.js} +1 -1
- package/dist/dashboard/assets/{ActivityTimeline-qx-FXGlN.js → ActivityTimeline-COKzabf_.js} +1 -1
- package/dist/dashboard/assets/{AnatomyBrowser-CBgnZuaN.js → AnatomyBrowser-CtwvWQhy.js} +1 -1
- package/dist/dashboard/assets/{BugLog-Bqvi_hcM.js → BugLog-B9Vd6-tR.js} +1 -1
- package/dist/dashboard/assets/{CerebrumViewer-BZ3eMxEG.js → CerebrumViewer-6PqRD6jt.js} +1 -1
- package/dist/dashboard/assets/{CronStatus-C-db0M9L.js → CronStatus-wbhU9J3E.js} +1 -1
- package/dist/dashboard/assets/{DesignQC-BOFkKCKs.js → DesignQC-CJ2hTDch.js} +1 -1
- package/dist/dashboard/assets/{MemoryViewer-rrSZ9ku9.js → MemoryViewer-DH9JAKAk.js} +1 -1
- package/dist/dashboard/assets/{NativeMemory-DtYZHH8H.js → NativeMemory-BaxOcLxh.js} +1 -1
- package/dist/dashboard/assets/{ProjectOverview-CC3WZKB4.js → ProjectOverview-BaagZDLq.js} +1 -1
- package/dist/dashboard/assets/{ProjectsAggregate-DMn9kYcp.js → ProjectsAggregate-CycQ5unj.js} +1 -1
- package/dist/dashboard/assets/{StatusBadge-DasxdCsy.js → StatusBadge-BcyhaVbu.js} +1 -1
- package/dist/dashboard/assets/{TokenUsage-C6mixj0Y.js → TokenUsage-BrtsR1aL.js} +1 -1
- package/dist/dashboard/assets/{index-BAnY3Rh3.js → index-DmU31a-B.js} +3 -3
- package/dist/dashboard/index.html +1 -1
- package/dist/hooks/post-read.js +9 -7
- package/dist/hooks/post-write.js +17 -14
- package/dist/hooks/pre-read.js +3 -0
- package/dist/hooks/shared.js +5 -4
- package/dist/hooks/stop.js +4 -1
- package/dist/hooks/token-estimator.js +58 -0
- package/dist/src/buglog/bug-tracker.js +8 -1
- package/dist/src/buglog/bug-tracker.js.map +1 -1
- package/dist/src/hooks/post-read.js +9 -7
- package/dist/src/hooks/post-read.js.map +1 -1
- package/dist/src/hooks/post-write.js +17 -14
- package/dist/src/hooks/post-write.js.map +1 -1
- package/dist/src/hooks/pre-read.js +3 -0
- package/dist/src/hooks/pre-read.js.map +1 -1
- package/dist/src/hooks/shared.js +5 -4
- package/dist/src/hooks/shared.js.map +1 -1
- package/dist/src/hooks/stop.js +4 -1
- package/dist/src/hooks/stop.js.map +1 -1
- package/dist/src/hooks/token-estimator.js +59 -0
- package/dist/src/hooks/token-estimator.js.map +1 -0
- package/dist/src/scanner/anatomy-scanner.js +8 -19
- package/dist/src/scanner/anatomy-scanner.js.map +1 -1
- package/dist/src/tracker/token-estimator.js +4 -19
- package/dist/src/tracker/token-estimator.js.map +1 -1
- package/dist/src/tracker/token-ledger.js.map +1 -1
- package/dist/src/tracker/waste-detector.js +9 -9
- package/dist/src/tracker/waste-detector.js.map +1 -1
- package/dist/src/utils/embeddings.js +58 -0
- package/dist/src/utils/embeddings.js.map +1 -0
- package/dist/src/utils/hooks-deploy.js +23 -4
- package/dist/src/utils/hooks-deploy.js.map +1 -1
- package/package.json +1 -1
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
8
8
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
9
9
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet" />
|
|
10
|
-
<script type="module" crossorigin src="./assets/index-
|
|
10
|
+
<script type="module" crossorigin src="./assets/index-DmU31a-B.js"></script>
|
|
11
11
|
<link rel="stylesheet" crossorigin href="./assets/index-Cr3yWM5G.css">
|
|
12
12
|
</head>
|
|
13
13
|
<body>
|
package/dist/hooks/post-read.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as path from "node:path";
|
|
2
|
-
import { getWolfDir, ensureWolfDir, readJSON, writeJSON, readMarkdown, parseAnatomy,
|
|
2
|
+
import { getWolfDir, ensureWolfDir, readJSON, writeJSON, readMarkdown, parseAnatomy, estimateFileTokens, getTokenRatios, readStdin, normalizePath, loadIgnore, isSecretFile } from "./shared.js";
|
|
3
3
|
async function main() {
|
|
4
4
|
ensureWolfDir();
|
|
5
5
|
const wolfDir = getWolfDir();
|
|
@@ -47,11 +47,7 @@ async function main() {
|
|
|
47
47
|
process.exit(0);
|
|
48
48
|
return;
|
|
49
49
|
}
|
|
50
|
-
|
|
51
|
-
const codeExts = new Set([".ts", ".js", ".tsx", ".jsx", ".py", ".rs", ".go", ".java", ".c", ".cpp", ".css", ".json", ".yaml", ".yml", ".dart"]);
|
|
52
|
-
const proseExts = new Set([".md", ".txt", ".rst"]);
|
|
53
|
-
const type = codeExts.has(ext) ? "code" : proseExts.has(ext) ? "prose" : "mixed";
|
|
54
|
-
let tokens = content ? estimateTokens(content, type) : 0;
|
|
50
|
+
let tokens = content ? estimateFileTokens(content, filePath, getTokenRatios(wolfDir)) : 0;
|
|
55
51
|
// Fallback: if tool_output had no content, use anatomy token estimate
|
|
56
52
|
if (tokens === 0) {
|
|
57
53
|
const anatomyContent = readMarkdown(path.join(wolfDir, "anatomy.md"));
|
|
@@ -70,7 +66,13 @@ async function main() {
|
|
|
70
66
|
}
|
|
71
67
|
const session = readJSON(sessionFile, { files_read: {} });
|
|
72
68
|
if (session.files_read[normalizedFile]) {
|
|
73
|
-
|
|
69
|
+
// Never let a re-read shrink the estimate to zero. A repeat read often arrives with an
|
|
70
|
+
// empty tool_output.content, and if the file has no anatomy entry the fallback above
|
|
71
|
+
// cannot recover a number — overwriting unconditionally would wipe the good first-read
|
|
72
|
+
// estimate. That deflates inputTokens in stop.ts and, because savedFromRepeats multiplies
|
|
73
|
+
// by (count - 1), silently zeroes the repeat-savings metric too.
|
|
74
|
+
const prev = session.files_read[normalizedFile].tokens ?? 0;
|
|
75
|
+
session.files_read[normalizedFile].tokens = Math.max(prev, tokens);
|
|
74
76
|
}
|
|
75
77
|
else {
|
|
76
78
|
session.files_read[normalizedFile] = {
|
package/dist/hooks/post-write.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as fs from "node:fs";
|
|
2
2
|
import * as path from "node:path";
|
|
3
3
|
import * as crypto from "node:crypto";
|
|
4
|
-
import { getWolfDir, ensureWolfDir, readJSON, writeJSON, parseAnatomy, serializeAnatomy, extractDescription,
|
|
4
|
+
import { getWolfDir, ensureWolfDir, readJSON, writeJSON, parseAnatomy, serializeAnatomy, extractDescription, estimateFileTokens, getTokenRatios, appendMarkdown, timeShort, readStdin, normalizePath, getRetention, loadIgnore, readBugLog, isSecretFile } from "./shared.js";
|
|
5
5
|
async function main() {
|
|
6
6
|
ensureWolfDir();
|
|
7
7
|
const wolfDir = getWolfDir();
|
|
@@ -58,6 +58,13 @@ async function main() {
|
|
|
58
58
|
}
|
|
59
59
|
const oldStr = input.tool_input?.old_string ?? "";
|
|
60
60
|
const newStr = input.tool_input?.new_string ?? "";
|
|
61
|
+
// MultiEdit carries its changes in edits[], not old_string/new_string — so newStr was ""
|
|
62
|
+
// there and the whole call got booked as 0 output tokens. Sum the replacement text of
|
|
63
|
+
// every edit so a multi-edit costs what it actually cost.
|
|
64
|
+
const multiEdits = Array.isArray(input.tool_input?.edits) ? input.tool_input.edits : [];
|
|
65
|
+
const writtenText = multiEdits.length > 0
|
|
66
|
+
? multiEdits.map((e) => e?.new_string ?? "").join("\n")
|
|
67
|
+
: newStr;
|
|
61
68
|
// 1. Update anatomy.md
|
|
62
69
|
try {
|
|
63
70
|
const anatomyPath = path.join(wolfDir, "anatomy.md");
|
|
@@ -81,11 +88,7 @@ async function main() {
|
|
|
81
88
|
fileContent = input.tool_input?.content ?? "";
|
|
82
89
|
}
|
|
83
90
|
const desc = extractDescription(absolutePath, fileContent).slice(0, 100);
|
|
84
|
-
const
|
|
85
|
-
const codeExts = new Set([".ts", ".js", ".tsx", ".jsx", ".py", ".json", ".yaml", ".yml", ".css", ".dart"]);
|
|
86
|
-
const proseExts = new Set([".md", ".txt", ".rst"]);
|
|
87
|
-
const type = codeExts.has(ext) ? "code" : proseExts.has(ext) ? "prose" : "mixed";
|
|
88
|
-
const tokens = estimateTokens(fileContent, type);
|
|
91
|
+
const tokens = estimateFileTokens(fileContent, absolutePath, getTokenRatios(wolfDir));
|
|
89
92
|
if (!sections.has(sectionKey))
|
|
90
93
|
sections.set(sectionKey, []);
|
|
91
94
|
const entries = sections.get(sectionKey);
|
|
@@ -133,10 +136,7 @@ async function main() {
|
|
|
133
136
|
const action = toolName === "Write" ? "Created" : toolName === "MultiEdit" ? "Multi-edited" : "Edited";
|
|
134
137
|
const relFile = normalizePath(path.relative(projectRoot, absolutePath));
|
|
135
138
|
const fileContent = input.tool_input?.content ?? "";
|
|
136
|
-
const
|
|
137
|
-
const codeExts = new Set([".ts", ".js", ".tsx", ".jsx", ".py", ".json", ".yaml", ".yml", ".css", ".dart"]);
|
|
138
|
-
const type = codeExts.has(ext) ? "code" : "mixed";
|
|
139
|
-
const writeTokens = estimateTokens(fileContent || newStr, type);
|
|
139
|
+
const writeTokens = estimateFileTokens(fileContent || writtenText, absolutePath, getTokenRatios(wolfDir));
|
|
140
140
|
let changeDesc = "";
|
|
141
141
|
if (oldStr && newStr) {
|
|
142
142
|
changeDesc = summarizeEdit(oldStr, newStr, baseName);
|
|
@@ -154,7 +154,7 @@ async function main() {
|
|
|
154
154
|
const normalizedFile = normalizePath(filePath);
|
|
155
155
|
const action = toolName === "Write" ? "create" : "edit";
|
|
156
156
|
const fileContent = input.tool_input?.content ?? "";
|
|
157
|
-
const tokens =
|
|
157
|
+
const tokens = estimateFileTokens(fileContent || writtenText, absolutePath, getTokenRatios(wolfDir));
|
|
158
158
|
session.files_written.push({
|
|
159
159
|
file: normalizedFile,
|
|
160
160
|
action,
|
|
@@ -274,7 +274,7 @@ function autoDetectBugFix(wolfDir, absolutePath, projectRoot, oldStr, newStr) {
|
|
|
274
274
|
const basename = path.basename(absolutePath);
|
|
275
275
|
const ext = path.extname(basename).toLowerCase();
|
|
276
276
|
// Detect what kind of fix this is
|
|
277
|
-
const detection = detectFixPattern(oldStr, newStr, ext);
|
|
277
|
+
const detection = detectFixPattern(oldStr, newStr, ext, path.basename(relFile));
|
|
278
278
|
if (!detection)
|
|
279
279
|
return;
|
|
280
280
|
// Check for recent duplicate (same file + same category within 30 min).
|
|
@@ -325,7 +325,7 @@ function autoDetectBugFix(wolfDir, absolutePath, projectRoot, oldStr, newStr) {
|
|
|
325
325
|
}
|
|
326
326
|
writeJSON(bugLogPath, bugLog);
|
|
327
327
|
}
|
|
328
|
-
function detectFixPattern(oldStr, newStr, ext) {
|
|
328
|
+
function detectFixPattern(oldStr, newStr, ext, fileLabel) {
|
|
329
329
|
const oldLines = oldStr.split("\n");
|
|
330
330
|
const newLines = newStr.split("\n");
|
|
331
331
|
// --- Error handling added ---
|
|
@@ -345,7 +345,10 @@ function detectFixPattern(oldStr, newStr, ext) {
|
|
|
345
345
|
(/!==?\s*(null|undefined)/.test(newStr) && !/!==?\s*(null|undefined)/.test(oldStr))) {
|
|
346
346
|
return {
|
|
347
347
|
category: "null-safety",
|
|
348
|
-
|
|
348
|
+
// Was path.basename(path.basename("")) — a hardcoded empty literal, so every
|
|
349
|
+
// null-safety detection produced the same blank summary. That is also the string
|
|
350
|
+
// findSimilarBugs matches on, so all of them collapsed into one dedupe bucket.
|
|
351
|
+
summary: `Null/undefined access in ${fileLabel}`,
|
|
349
352
|
rootCause: "Property access on potentially null/undefined value",
|
|
350
353
|
fix: `Added null safety (optional chaining or null check)`,
|
|
351
354
|
context: extractChangedLines(oldStr, newStr),
|
package/dist/hooks/pre-read.js
CHANGED
|
@@ -109,6 +109,9 @@ async function main() {
|
|
|
109
109
|
count: 1,
|
|
110
110
|
tokens: 0,
|
|
111
111
|
first_read: new Date().toISOString(),
|
|
112
|
+
// Whether anatomy.md already described this file. The ledger used to hardcode this as
|
|
113
|
+
// false, which made the waste detector's "anatomy would have sufficed" pattern unreachable.
|
|
114
|
+
anatomy_had_description: found,
|
|
112
115
|
mtime: fileMtime,
|
|
113
116
|
};
|
|
114
117
|
writeJSON(sessionFile, session);
|
package/dist/hooks/shared.js
CHANGED
|
@@ -835,10 +835,11 @@ export function extractDescription(filePath, preloadedContent) {
|
|
|
835
835
|
}
|
|
836
836
|
return "";
|
|
837
837
|
}
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
}
|
|
838
|
+
// Estimation lives in tracker/token-estimator.ts — the single source of truth for both
|
|
839
|
+
// the extension table and the char/token ratios. Re-exported here so hook call sites keep
|
|
840
|
+
// importing from ./shared.js as before.
|
|
841
|
+
import { estimateTokens } from "./token-estimator.js";
|
|
842
|
+
export { estimateTokens, estimateFileTokens, detectContentType, getTokenRatios, DEFAULT_RATIOS, } from "./token-estimator.js";
|
|
842
843
|
// Which coding agent is driving this hook — labels ledger sessions so per-agent usage can be split.
|
|
843
844
|
export function detectAgent() {
|
|
844
845
|
if (process.env.CLAUDE_PROJECT_DIR)
|
package/dist/hooks/stop.js
CHANGED
|
@@ -56,11 +56,14 @@ async function main() {
|
|
|
56
56
|
session.reminders_shown = [...alreadyShown];
|
|
57
57
|
const reminders = fresh.map((c) => c.msg);
|
|
58
58
|
// Build session entry for ledger
|
|
59
|
+
// One entry per unique file — read_count carries the repetition, since the waste detector
|
|
60
|
+
// cannot recover it by counting array entries (it used to try, and never found any).
|
|
59
61
|
const reads = Object.entries(session.files_read).map(([file, data]) => ({
|
|
60
62
|
file,
|
|
61
63
|
tokens_estimated: data.tokens,
|
|
64
|
+
read_count: data.count,
|
|
62
65
|
was_repeated: data.count > 1,
|
|
63
|
-
anatomy_had_description: false,
|
|
66
|
+
anatomy_had_description: data.anatomy_had_description ?? false,
|
|
64
67
|
}));
|
|
65
68
|
const writes = session.files_written.map((w) => ({
|
|
66
69
|
file: w.file,
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as fs from "node:fs";
|
|
2
|
+
import * as path from "node:path";
|
|
3
|
+
// Lives under src/hooks/ because the hooks are compiled with their own tsconfig
|
|
4
|
+
// (rootDir: src/hooks) and must not import from outside it — which is precisely why three
|
|
5
|
+
// divergent copies of this table existed in the first place. src/tracker/token-estimator.ts
|
|
6
|
+
// re-exports from here so non-hook code shares the same numbers.
|
|
7
|
+
// Single source of truth for extension → content type. Three separate copies of this
|
|
8
|
+
// table used to live in post-read.ts, post-write.ts and anatomy-scanner.ts, and they
|
|
9
|
+
// disagreed: .rs/.go/.java/.c/.cpp counted as "code" on read but "mixed" on write, and
|
|
10
|
+
// a .md write was charged the code ratio outright. Same file, different token estimate
|
|
11
|
+
// depending on which hook happened to run. Everything now routes through here.
|
|
12
|
+
const CODE_EXTS = new Set([
|
|
13
|
+
".ts", ".js", ".tsx", ".jsx", ".py", ".rs", ".go", ".java",
|
|
14
|
+
".c", ".cpp", ".h", ".css", ".scss", ".sql", ".sh", ".yaml",
|
|
15
|
+
".yml", ".json", ".toml", ".xml", ".dart",
|
|
16
|
+
]);
|
|
17
|
+
const PROSE_EXTS = new Set([".md", ".txt", ".rst", ".adoc"]);
|
|
18
|
+
export const DEFAULT_RATIOS = { code: 3.5, prose: 4.0, mixed: 3.75 };
|
|
19
|
+
export function detectContentType(filePath) {
|
|
20
|
+
const ext = path.extname(filePath).toLowerCase();
|
|
21
|
+
if (CODE_EXTS.has(ext))
|
|
22
|
+
return "code";
|
|
23
|
+
if (PROSE_EXTS.has(ext))
|
|
24
|
+
return "prose";
|
|
25
|
+
return "mixed";
|
|
26
|
+
}
|
|
27
|
+
const ratioCache = new Map();
|
|
28
|
+
/**
|
|
29
|
+
* Ratios from config.json (openwolf.token_audit). These keys were shipped in the init
|
|
30
|
+
* template and documented as tunable, but nothing ever read them — every estimator
|
|
31
|
+
* hardcoded 3.5/4.0/3.75. There is no separate "mixed" key by design: it is the midpoint
|
|
32
|
+
* of the two configured ends, which is exactly what the old hardcoded 3.75 was.
|
|
33
|
+
*/
|
|
34
|
+
export function getTokenRatios(wolfDir) {
|
|
35
|
+
const cached = ratioCache.get(wolfDir);
|
|
36
|
+
if (cached)
|
|
37
|
+
return cached;
|
|
38
|
+
let cfg = {};
|
|
39
|
+
try {
|
|
40
|
+
cfg = JSON.parse(fs.readFileSync(path.join(wolfDir, "config.json"), "utf-8"));
|
|
41
|
+
}
|
|
42
|
+
catch { /* missing or malformed config — defaults below */ }
|
|
43
|
+
const audit = cfg.openwolf?.token_audit ?? {};
|
|
44
|
+
const sane = (v, fallback) => typeof v === "number" && Number.isFinite(v) && v > 0 ? v : fallback;
|
|
45
|
+
const code = sane(audit.chars_per_token_code, DEFAULT_RATIOS.code);
|
|
46
|
+
const prose = sane(audit.chars_per_token_prose, DEFAULT_RATIOS.prose);
|
|
47
|
+
const ratios = { code, prose, mixed: (code + prose) / 2 };
|
|
48
|
+
ratioCache.set(wolfDir, ratios);
|
|
49
|
+
return ratios;
|
|
50
|
+
}
|
|
51
|
+
export function estimateTokens(text, type = "mixed", ratios = DEFAULT_RATIOS) {
|
|
52
|
+
const ratio = type === "code" ? ratios.code : type === "prose" ? ratios.prose : ratios.mixed;
|
|
53
|
+
return Math.ceil(text.length / ratio);
|
|
54
|
+
}
|
|
55
|
+
/** Estimate from a path, so callers cannot pick the wrong content type by hand. */
|
|
56
|
+
export function estimateFileTokens(text, filePath, ratios = DEFAULT_RATIOS) {
|
|
57
|
+
return estimateTokens(text, detectContentType(filePath), ratios);
|
|
58
|
+
}
|
|
@@ -20,7 +20,14 @@ export function logBug(wolfDir, bug) {
|
|
|
20
20
|
return;
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
|
|
23
|
+
// Derive the id from the highest existing numeric id, not from bugs.length — entries get
|
|
24
|
+
// removed by dedupe and by the retention trim in post-write.ts, after which length + 1
|
|
25
|
+
// hands out an id that is already taken.
|
|
26
|
+
const maxId = bugLog.bugs.reduce((m, b) => {
|
|
27
|
+
const n = parseInt(String(b.id).replace(/\D/g, ""), 10);
|
|
28
|
+
return Number.isFinite(n) && n > m ? n : m;
|
|
29
|
+
}, 0);
|
|
30
|
+
const id = `bug-${String(maxId + 1).padStart(3, "0")}`;
|
|
24
31
|
bugLog.bugs.push({
|
|
25
32
|
id,
|
|
26
33
|
timestamp: now,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bug-tracker.js","sourceRoot":"","sources":["../../../src/buglog/bug-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAqB1D,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,OAAO,QAAQ,CAAS,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,MAAM,CACpB,OAAe,EACf,GAOC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAErC,yCAAyC;IACzC,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;IAC5D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrE,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,WAAW,EAAE,CAAC;YACvB,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC;YACzB,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;IACH,CAAC;IAED,MAAM,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"bug-tracker.js","sourceRoot":"","sources":["../../../src/buglog/bug-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as path from "node:path";
|
|
2
|
-
import { getWolfDir, ensureWolfDir, readJSON, writeJSON, readMarkdown, parseAnatomy,
|
|
2
|
+
import { getWolfDir, ensureWolfDir, readJSON, writeJSON, readMarkdown, parseAnatomy, estimateFileTokens, getTokenRatios, readStdin, normalizePath, loadIgnore, isSecretFile } from "./shared.js";
|
|
3
3
|
async function main() {
|
|
4
4
|
ensureWolfDir();
|
|
5
5
|
const wolfDir = getWolfDir();
|
|
@@ -47,11 +47,7 @@ async function main() {
|
|
|
47
47
|
process.exit(0);
|
|
48
48
|
return;
|
|
49
49
|
}
|
|
50
|
-
|
|
51
|
-
const codeExts = new Set([".ts", ".js", ".tsx", ".jsx", ".py", ".rs", ".go", ".java", ".c", ".cpp", ".css", ".json", ".yaml", ".yml", ".dart"]);
|
|
52
|
-
const proseExts = new Set([".md", ".txt", ".rst"]);
|
|
53
|
-
const type = codeExts.has(ext) ? "code" : proseExts.has(ext) ? "prose" : "mixed";
|
|
54
|
-
let tokens = content ? estimateTokens(content, type) : 0;
|
|
50
|
+
let tokens = content ? estimateFileTokens(content, filePath, getTokenRatios(wolfDir)) : 0;
|
|
55
51
|
// Fallback: if tool_output had no content, use anatomy token estimate
|
|
56
52
|
if (tokens === 0) {
|
|
57
53
|
const anatomyContent = readMarkdown(path.join(wolfDir, "anatomy.md"));
|
|
@@ -70,7 +66,13 @@ async function main() {
|
|
|
70
66
|
}
|
|
71
67
|
const session = readJSON(sessionFile, { files_read: {} });
|
|
72
68
|
if (session.files_read[normalizedFile]) {
|
|
73
|
-
|
|
69
|
+
// Never let a re-read shrink the estimate to zero. A repeat read often arrives with an
|
|
70
|
+
// empty tool_output.content, and if the file has no anatomy entry the fallback above
|
|
71
|
+
// cannot recover a number — overwriting unconditionally would wipe the good first-read
|
|
72
|
+
// estimate. That deflates inputTokens in stop.ts and, because savedFromRepeats multiplies
|
|
73
|
+
// by (count - 1), silently zeroes the repeat-savings metric too.
|
|
74
|
+
const prev = session.files_read[normalizedFile].tokens ?? 0;
|
|
75
|
+
session.files_read[normalizedFile].tokens = Math.max(prev, tokens);
|
|
74
76
|
}
|
|
75
77
|
else {
|
|
76
78
|
session.files_read[normalizedFile] = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post-read.js","sourceRoot":"","sources":["../../../src/hooks/post-read.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"post-read.js","sourceRoot":"","sources":["../../../src/hooks/post-read.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as fs from "node:fs";
|
|
2
2
|
import * as path from "node:path";
|
|
3
3
|
import * as crypto from "node:crypto";
|
|
4
|
-
import { getWolfDir, ensureWolfDir, readJSON, writeJSON, parseAnatomy, serializeAnatomy, extractDescription,
|
|
4
|
+
import { getWolfDir, ensureWolfDir, readJSON, writeJSON, parseAnatomy, serializeAnatomy, extractDescription, estimateFileTokens, getTokenRatios, appendMarkdown, timeShort, readStdin, normalizePath, getRetention, loadIgnore, readBugLog, isSecretFile } from "./shared.js";
|
|
5
5
|
async function main() {
|
|
6
6
|
ensureWolfDir();
|
|
7
7
|
const wolfDir = getWolfDir();
|
|
@@ -58,6 +58,13 @@ async function main() {
|
|
|
58
58
|
}
|
|
59
59
|
const oldStr = input.tool_input?.old_string ?? "";
|
|
60
60
|
const newStr = input.tool_input?.new_string ?? "";
|
|
61
|
+
// MultiEdit carries its changes in edits[], not old_string/new_string — so newStr was ""
|
|
62
|
+
// there and the whole call got booked as 0 output tokens. Sum the replacement text of
|
|
63
|
+
// every edit so a multi-edit costs what it actually cost.
|
|
64
|
+
const multiEdits = Array.isArray(input.tool_input?.edits) ? input.tool_input.edits : [];
|
|
65
|
+
const writtenText = multiEdits.length > 0
|
|
66
|
+
? multiEdits.map((e) => e?.new_string ?? "").join("\n")
|
|
67
|
+
: newStr;
|
|
61
68
|
// 1. Update anatomy.md
|
|
62
69
|
try {
|
|
63
70
|
const anatomyPath = path.join(wolfDir, "anatomy.md");
|
|
@@ -81,11 +88,7 @@ async function main() {
|
|
|
81
88
|
fileContent = input.tool_input?.content ?? "";
|
|
82
89
|
}
|
|
83
90
|
const desc = extractDescription(absolutePath, fileContent).slice(0, 100);
|
|
84
|
-
const
|
|
85
|
-
const codeExts = new Set([".ts", ".js", ".tsx", ".jsx", ".py", ".json", ".yaml", ".yml", ".css", ".dart"]);
|
|
86
|
-
const proseExts = new Set([".md", ".txt", ".rst"]);
|
|
87
|
-
const type = codeExts.has(ext) ? "code" : proseExts.has(ext) ? "prose" : "mixed";
|
|
88
|
-
const tokens = estimateTokens(fileContent, type);
|
|
91
|
+
const tokens = estimateFileTokens(fileContent, absolutePath, getTokenRatios(wolfDir));
|
|
89
92
|
if (!sections.has(sectionKey))
|
|
90
93
|
sections.set(sectionKey, []);
|
|
91
94
|
const entries = sections.get(sectionKey);
|
|
@@ -133,10 +136,7 @@ async function main() {
|
|
|
133
136
|
const action = toolName === "Write" ? "Created" : toolName === "MultiEdit" ? "Multi-edited" : "Edited";
|
|
134
137
|
const relFile = normalizePath(path.relative(projectRoot, absolutePath));
|
|
135
138
|
const fileContent = input.tool_input?.content ?? "";
|
|
136
|
-
const
|
|
137
|
-
const codeExts = new Set([".ts", ".js", ".tsx", ".jsx", ".py", ".json", ".yaml", ".yml", ".css", ".dart"]);
|
|
138
|
-
const type = codeExts.has(ext) ? "code" : "mixed";
|
|
139
|
-
const writeTokens = estimateTokens(fileContent || newStr, type);
|
|
139
|
+
const writeTokens = estimateFileTokens(fileContent || writtenText, absolutePath, getTokenRatios(wolfDir));
|
|
140
140
|
let changeDesc = "";
|
|
141
141
|
if (oldStr && newStr) {
|
|
142
142
|
changeDesc = summarizeEdit(oldStr, newStr, baseName);
|
|
@@ -154,7 +154,7 @@ async function main() {
|
|
|
154
154
|
const normalizedFile = normalizePath(filePath);
|
|
155
155
|
const action = toolName === "Write" ? "create" : "edit";
|
|
156
156
|
const fileContent = input.tool_input?.content ?? "";
|
|
157
|
-
const tokens =
|
|
157
|
+
const tokens = estimateFileTokens(fileContent || writtenText, absolutePath, getTokenRatios(wolfDir));
|
|
158
158
|
session.files_written.push({
|
|
159
159
|
file: normalizedFile,
|
|
160
160
|
action,
|
|
@@ -274,7 +274,7 @@ function autoDetectBugFix(wolfDir, absolutePath, projectRoot, oldStr, newStr) {
|
|
|
274
274
|
const basename = path.basename(absolutePath);
|
|
275
275
|
const ext = path.extname(basename).toLowerCase();
|
|
276
276
|
// Detect what kind of fix this is
|
|
277
|
-
const detection = detectFixPattern(oldStr, newStr, ext);
|
|
277
|
+
const detection = detectFixPattern(oldStr, newStr, ext, path.basename(relFile));
|
|
278
278
|
if (!detection)
|
|
279
279
|
return;
|
|
280
280
|
// Check for recent duplicate (same file + same category within 30 min).
|
|
@@ -325,7 +325,7 @@ function autoDetectBugFix(wolfDir, absolutePath, projectRoot, oldStr, newStr) {
|
|
|
325
325
|
}
|
|
326
326
|
writeJSON(bugLogPath, bugLog);
|
|
327
327
|
}
|
|
328
|
-
function detectFixPattern(oldStr, newStr, ext) {
|
|
328
|
+
function detectFixPattern(oldStr, newStr, ext, fileLabel) {
|
|
329
329
|
const oldLines = oldStr.split("\n");
|
|
330
330
|
const newLines = newStr.split("\n");
|
|
331
331
|
// --- Error handling added ---
|
|
@@ -345,7 +345,10 @@ function detectFixPattern(oldStr, newStr, ext) {
|
|
|
345
345
|
(/!==?\s*(null|undefined)/.test(newStr) && !/!==?\s*(null|undefined)/.test(oldStr))) {
|
|
346
346
|
return {
|
|
347
347
|
category: "null-safety",
|
|
348
|
-
|
|
348
|
+
// Was path.basename(path.basename("")) — a hardcoded empty literal, so every
|
|
349
|
+
// null-safety detection produced the same blank summary. That is also the string
|
|
350
|
+
// findSimilarBugs matches on, so all of them collapsed into one dedupe bucket.
|
|
351
|
+
summary: `Null/undefined access in ${fileLabel}`,
|
|
349
352
|
rootCause: "Property access on potentially null/undefined value",
|
|
350
353
|
fix: `Added null safety (optional chaining or null check)`,
|
|
351
354
|
context: extractChangedLines(oldStr, newStr),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post-write.js","sourceRoot":"","sources":["../../../src/hooks/post-write.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"post-write.js","sourceRoot":"","sources":["../../../src/hooks/post-write.ts"],"names":[],"mappings":"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"}
|
|
@@ -109,6 +109,9 @@ async function main() {
|
|
|
109
109
|
count: 1,
|
|
110
110
|
tokens: 0,
|
|
111
111
|
first_read: new Date().toISOString(),
|
|
112
|
+
// Whether anatomy.md already described this file. The ledger used to hardcode this as
|
|
113
|
+
// false, which made the waste detector's "anatomy would have sufficed" pattern unreachable.
|
|
114
|
+
anatomy_had_description: found,
|
|
112
115
|
mtime: fileMtime,
|
|
113
116
|
};
|
|
114
117
|
writeJSON(sessionFile, session);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pre-read.js","sourceRoot":"","sources":["../../../src/hooks/pre-read.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pre-read.js","sourceRoot":"","sources":["../../../src/hooks/pre-read.ts"],"names":[],"mappings":"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"}
|
package/dist/src/hooks/shared.js
CHANGED
|
@@ -835,10 +835,11 @@ export function extractDescription(filePath, preloadedContent) {
|
|
|
835
835
|
}
|
|
836
836
|
return "";
|
|
837
837
|
}
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
}
|
|
838
|
+
// Estimation lives in tracker/token-estimator.ts — the single source of truth for both
|
|
839
|
+
// the extension table and the char/token ratios. Re-exported here so hook call sites keep
|
|
840
|
+
// importing from ./shared.js as before.
|
|
841
|
+
import { estimateTokens } from "./token-estimator.js";
|
|
842
|
+
export { estimateTokens, estimateFileTokens, detectContentType, getTokenRatios, DEFAULT_RATIOS, } from "./token-estimator.js";
|
|
842
843
|
// Which coding agent is driving this hook — labels ledger sessions so per-agent usage can be split.
|
|
843
844
|
export function detectAgent() {
|
|
844
845
|
if (process.env.CLAUDE_PROJECT_DIR)
|