openwolf-enhanced 1.20.7 → 1.20.8
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 +30 -0
- package/dist/dashboard/assets/{AISuggestions-DhjEYxwe.js → AISuggestions-Dg1-N5nC.js} +1 -1
- package/dist/dashboard/assets/{ActivityLog-DO9iZv_8.js → ActivityLog-BFmWCl6A.js} +1 -1
- package/dist/dashboard/assets/{ActivityTimeline-CUCLZ_UU.js → ActivityTimeline-BoxSrnVz.js} +1 -1
- package/dist/dashboard/assets/{AnatomyBrowser-CIzR6ZvY.js → AnatomyBrowser-ZeCZi-d5.js} +1 -1
- package/dist/dashboard/assets/{BugLog-CS1eGRR6.js → BugLog-B75NmOEV.js} +1 -1
- package/dist/dashboard/assets/{CerebrumViewer-xIpHOPFj.js → CerebrumViewer-BZ-ae6GT.js} +1 -1
- package/dist/dashboard/assets/{CronStatus-CvE1wm1v.js → CronStatus-CYMtXRZB.js} +1 -1
- package/dist/dashboard/assets/{DesignQC-D8U-D73g.js → DesignQC-CnFknZBk.js} +1 -1
- package/dist/dashboard/assets/{MemoryViewer-BJUPEsAJ.js → MemoryViewer-JpwUqDv5.js} +1 -1
- package/dist/dashboard/assets/{NativeMemory-BwMXbvW0.js → NativeMemory-CVphymZQ.js} +1 -1
- package/dist/dashboard/assets/{ProjectOverview-BVe46vny.js → ProjectOverview-B5nh-GRv.js} +1 -1
- package/dist/dashboard/assets/{ProjectsAggregate-DVw_v3O9.js → ProjectsAggregate-ff08rggP.js} +1 -1
- package/dist/dashboard/assets/{StatusBadge-DZhrgnt6.js → StatusBadge-CXXG4-EY.js} +1 -1
- package/dist/dashboard/assets/{TokenUsage-CxVCUmAf.js → TokenUsage-4SuEka1K.js} +1 -1
- package/dist/dashboard/assets/{index-BNgFf0HP.js → index-CYh1Yqk6.js} +3 -3
- package/dist/dashboard/index.html +1 -1
- package/dist/hooks/stop.js +60 -19
- package/dist/src/daemon/llm-provider.js +59 -13
- package/dist/src/daemon/llm-provider.js.map +1 -1
- package/dist/src/hooks/stop.js +60 -19
- package/dist/src/hooks/stop.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-CYh1Yqk6.js"></script>
|
|
11
11
|
<link rel="stylesheet" crossorigin href="./assets/index-Cr3yWM5G.css">
|
|
12
12
|
</head>
|
|
13
13
|
<body>
|
package/dist/hooks/stop.js
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
import * as fs from "node:fs";
|
|
2
2
|
import * as path from "node:path";
|
|
3
3
|
import { getWolfDir, ensureWolfDir, readJSON, writeJSON, appendMarkdown, timeShort, getRetention, compactMemoryIfLarge, countSemanticEntries, withLock, readStdin, readTranscriptUsage, detectAgent } from "./shared.js";
|
|
4
|
+
const NOTHING_BOOKED = {
|
|
5
|
+
reads: 0, writes: 0, tokens: 0, anatomy_hits: 0, anatomy_misses: 0, repeated_reads_blocked: 0,
|
|
6
|
+
savings: 0, real_input: 0, real_output: 0, real_cache_read: 0, real_cache_creation: 0, real_api_calls: 0,
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Only what is new since the last stop goes into lifetime.
|
|
10
|
+
*
|
|
11
|
+
* Clamped at zero: if the cumulative value ever goes DOWN (session file reset while `booked`
|
|
12
|
+
* survived, retention trimming a counter), the honest answer is "nothing new", never a negative
|
|
13
|
+
* correction — that would silently eat other sessions' numbers.
|
|
14
|
+
*/
|
|
15
|
+
const delta = (current, booked) => Math.max(0, current - booked);
|
|
4
16
|
async function main() {
|
|
5
17
|
ensureWolfDir();
|
|
6
18
|
const wolfDir = getWolfDir();
|
|
@@ -126,34 +138,63 @@ async function main() {
|
|
|
126
138
|
if (Array.isArray(sessionEntry.writes) && sessionEntry.writes.length > ret.session_io_max) {
|
|
127
139
|
sessionEntry.writes = sessionEntry.writes.slice(-ret.session_io_max);
|
|
128
140
|
}
|
|
129
|
-
|
|
141
|
+
// One entry per session, not per turn: the entry carries the session's cumulative state, so a
|
|
142
|
+
// later stop REPLACES the earlier one instead of appending a near-duplicate under the same id.
|
|
143
|
+
const existing = ledger.sessions.findIndex((s) => s.id === sessionEntry.id);
|
|
144
|
+
if (existing === -1)
|
|
145
|
+
ledger.sessions.push(sessionEntry);
|
|
146
|
+
else
|
|
147
|
+
ledger.sessions[existing] = sessionEntry;
|
|
130
148
|
if (ledger.sessions.length > ret.token_ledger_max_sessions) {
|
|
131
149
|
ledger.sessions = ledger.sessions.slice(-ret.token_ledger_max_sessions);
|
|
132
150
|
}
|
|
133
|
-
|
|
151
|
+
// Everything below books DELTAS. The values on `session` are cumulative for the whole session and
|
|
152
|
+
// this hook runs every turn — see the `booked` doc comment. [bug-210]
|
|
153
|
+
const booked = { ...NOTHING_BOOKED, ...(session.booked ?? {}) };
|
|
154
|
+
const totalWritesNow = writeCount + unnamedWrites;
|
|
155
|
+
const tokensNow = inputTokens + outputTokens;
|
|
156
|
+
// Estimate savings: anatomy hits save ~200 tokens each, repeated reads blocked save their token count
|
|
157
|
+
const savedFromAnatomy = session.anatomy_hits * 200;
|
|
158
|
+
const savedFromRepeats = Object.values(session.files_read)
|
|
159
|
+
.filter((r) => r.count > 1)
|
|
160
|
+
.reduce((sum, r) => sum + r.tokens * (r.count - 1), 0);
|
|
161
|
+
const savingsNow = savedFromAnatomy + savedFromRepeats;
|
|
162
|
+
ledger.lifetime.total_reads += delta(readCount, booked.reads);
|
|
134
163
|
// Unnamed writes (shell / other working dirs) count toward the lifetime total — they were real
|
|
135
164
|
// work. They stay OUT of the session's named writes[] list (no path was recorded, by design).
|
|
136
|
-
ledger.lifetime.total_writes +=
|
|
137
|
-
ledger.lifetime.total_tokens_estimated +=
|
|
138
|
-
ledger.lifetime.anatomy_hits += session.anatomy_hits;
|
|
139
|
-
ledger.lifetime.anatomy_misses += session.anatomy_misses;
|
|
140
|
-
ledger.lifetime.repeated_reads_blocked += session.repeated_reads_warned;
|
|
165
|
+
ledger.lifetime.total_writes += delta(totalWritesNow, booked.writes);
|
|
166
|
+
ledger.lifetime.total_tokens_estimated += delta(tokensNow, booked.tokens);
|
|
167
|
+
ledger.lifetime.anatomy_hits += delta(session.anatomy_hits, booked.anatomy_hits);
|
|
168
|
+
ledger.lifetime.anatomy_misses += delta(session.anatomy_misses, booked.anatomy_misses);
|
|
169
|
+
ledger.lifetime.repeated_reads_blocked += delta(session.repeated_reads_warned, booked.repeated_reads_blocked);
|
|
170
|
+
ledger.lifetime.estimated_savings_vs_bare_cli += delta(savingsNow, booked.savings);
|
|
141
171
|
// Accumulate measured usage alongside the estimates, so the ledger carries both a heuristic and
|
|
142
|
-
// a verifiable ground truth (F1).
|
|
172
|
+
// a verifiable ground truth (F1). readTranscriptUsage reads the WHOLE transcript, so these are
|
|
173
|
+
// cumulative per session too and need the same delta treatment.
|
|
143
174
|
if (realUsage) {
|
|
144
175
|
const lt = ledger.lifetime;
|
|
145
|
-
lt.real_input_tokens = (lt.real_input_tokens ?? 0) + realUsage.input_tokens;
|
|
146
|
-
lt.real_output_tokens = (lt.real_output_tokens ?? 0) + realUsage.output_tokens;
|
|
147
|
-
lt.real_cache_read_tokens = (lt.real_cache_read_tokens ?? 0) + realUsage.cache_read_input_tokens;
|
|
148
|
-
lt.real_cache_creation_tokens = (lt.real_cache_creation_tokens ?? 0) + realUsage.cache_creation_input_tokens;
|
|
149
|
-
lt.real_api_calls = (lt.real_api_calls ?? 0) + realUsage.api_calls;
|
|
176
|
+
lt.real_input_tokens = (lt.real_input_tokens ?? 0) + delta(realUsage.input_tokens, booked.real_input);
|
|
177
|
+
lt.real_output_tokens = (lt.real_output_tokens ?? 0) + delta(realUsage.output_tokens, booked.real_output);
|
|
178
|
+
lt.real_cache_read_tokens = (lt.real_cache_read_tokens ?? 0) + delta(realUsage.cache_read_input_tokens, booked.real_cache_read);
|
|
179
|
+
lt.real_cache_creation_tokens = (lt.real_cache_creation_tokens ?? 0) + delta(realUsage.cache_creation_input_tokens, booked.real_cache_creation);
|
|
180
|
+
lt.real_api_calls = (lt.real_api_calls ?? 0) + delta(realUsage.api_calls, booked.real_api_calls);
|
|
150
181
|
}
|
|
151
|
-
//
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
.
|
|
155
|
-
.
|
|
156
|
-
|
|
182
|
+
// Mark what is now booked. Set inside the lock, right after the numbers went in, so a crash
|
|
183
|
+
// between the two writes cannot leave the ledger credited and the session unmarked.
|
|
184
|
+
session.booked = {
|
|
185
|
+
reads: Math.max(readCount, booked.reads),
|
|
186
|
+
writes: Math.max(totalWritesNow, booked.writes),
|
|
187
|
+
tokens: Math.max(tokensNow, booked.tokens),
|
|
188
|
+
anatomy_hits: Math.max(session.anatomy_hits, booked.anatomy_hits),
|
|
189
|
+
anatomy_misses: Math.max(session.anatomy_misses, booked.anatomy_misses),
|
|
190
|
+
repeated_reads_blocked: Math.max(session.repeated_reads_warned, booked.repeated_reads_blocked),
|
|
191
|
+
savings: Math.max(savingsNow, booked.savings),
|
|
192
|
+
real_input: Math.max(realUsage?.input_tokens ?? 0, booked.real_input),
|
|
193
|
+
real_output: Math.max(realUsage?.output_tokens ?? 0, booked.real_output),
|
|
194
|
+
real_cache_read: Math.max(realUsage?.cache_read_input_tokens ?? 0, booked.real_cache_read),
|
|
195
|
+
real_cache_creation: Math.max(realUsage?.cache_creation_input_tokens ?? 0, booked.real_cache_creation),
|
|
196
|
+
real_api_calls: Math.max(realUsage?.api_calls ?? 0, booked.real_api_calls),
|
|
197
|
+
};
|
|
157
198
|
writeJSON(ledgerPath, ledger);
|
|
158
199
|
});
|
|
159
200
|
// Write a session summary line to memory.md if there was meaningful activity
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as net from "node:net";
|
|
1
2
|
import * as path from "node:path";
|
|
2
3
|
import { readJSON } from "../utils/fs-safe.js";
|
|
3
4
|
const DEFAULTS = {
|
|
@@ -20,17 +21,57 @@ export function resolveLlmConfig(wolfDir) {
|
|
|
20
21
|
const cfg = readJSON(path.join(wolfDir, "config.json"), {});
|
|
21
22
|
return llmConfigFrom(cfg.openwolf?.cron);
|
|
22
23
|
}
|
|
23
|
-
|
|
24
|
-
// to private IPs via DNS are NOT caught here — this guards the common SSRF sinks, not every case.
|
|
25
|
-
function isPrivateHost(host) {
|
|
26
|
-
if (host === "::1" || host.startsWith("fe80:") || host.startsWith("fc") || host.startsWith("fd"))
|
|
27
|
-
return true;
|
|
24
|
+
function isPrivateIpv4(host) {
|
|
28
25
|
const m = host.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.\d{1,3}$/);
|
|
29
26
|
if (!m)
|
|
30
27
|
return false;
|
|
31
28
|
const a = Number(m[1]), b = Number(m[2]);
|
|
32
29
|
return a === 0 || a === 10 || a === 127 || (a === 169 && b === 254) || (a === 172 && b >= 16 && b <= 31) || (a === 192 && b === 168);
|
|
33
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Private/link-local check for an IPv6 LITERAL (brackets already stripped).
|
|
33
|
+
*
|
|
34
|
+
* The ranges are defined by the first 16-bit group, so that is what gets compared — as a number, not
|
|
35
|
+
* as text:
|
|
36
|
+
* fe80::/10 link-local → fe80 … febf (the old `startsWith("fe80:")` missed fe81…febf,
|
|
37
|
+
* so fe90::1 sailed through the guard) [bug-213]
|
|
38
|
+
* fc00::/7 unique local → fc00 … fdff
|
|
39
|
+
*
|
|
40
|
+
* ::ffff:a.b.c.d maps an IPv4 address into v6 and is the classic way around a v4-only check, so it
|
|
41
|
+
* is unwrapped and handed to the v4 rules. Both spellings have to be handled: WHATWG `new URL()`
|
|
42
|
+
* rewrites ::ffff:127.0.0.1 into the hex form ::ffff:7f00:1 before this code ever sees it, so
|
|
43
|
+
* matching only the dotted spelling would leave exactly the bypass this is meant to close.
|
|
44
|
+
*/
|
|
45
|
+
function isPrivateIpv6(host) {
|
|
46
|
+
if (host === "::1" || host === "::")
|
|
47
|
+
return true;
|
|
48
|
+
const mapped = host.match(/^::ffff:(?:(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})|([0-9a-f]{1,4}):([0-9a-f]{1,4}))$/i);
|
|
49
|
+
if (mapped) {
|
|
50
|
+
if (mapped[1])
|
|
51
|
+
return isPrivateIpv4(mapped[1]);
|
|
52
|
+
const hi = parseInt(mapped[2], 16), lo = parseInt(mapped[3], 16);
|
|
53
|
+
return isPrivateIpv4(`${hi >> 8}.${hi & 0xff}.${lo >> 8}.${lo & 0xff}`);
|
|
54
|
+
}
|
|
55
|
+
const head = parseInt(host.split(":")[0], 16);
|
|
56
|
+
if (!Number.isFinite(head))
|
|
57
|
+
return false;
|
|
58
|
+
return (head >= 0xfe80 && head <= 0xfebf) || (head >= 0xfc00 && head <= 0xfdff);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Literal-IP private/link-local check (incl. cloud metadata 169.254.169.254). Hostnames that resolve
|
|
62
|
+
* to private IPs via DNS are NOT caught here — this guards the common SSRF sinks, not every case.
|
|
63
|
+
*
|
|
64
|
+
* The prefix rules only apply to actual IP literals. They used to run against any string, so
|
|
65
|
+
* `startsWith("fc")` / `startsWith("fd")` rejected every ordinary hostname beginning with those two
|
|
66
|
+
* letters — fc2.com, fdisk.example.com, fd-api.vendor.io — as if it were an IPv6 ULA. [bug-212]
|
|
67
|
+
*/
|
|
68
|
+
function isPrivateHost(host) {
|
|
69
|
+
switch (net.isIP(host)) {
|
|
70
|
+
case 4: return isPrivateIpv4(host);
|
|
71
|
+
case 6: return isPrivateIpv6(host);
|
|
72
|
+
default: return false; // a name, not an address — DNS is out of scope here, see above
|
|
73
|
+
}
|
|
74
|
+
}
|
|
34
75
|
// A loopback endpoint is a local model server (Ollama, llama.cpp, LM Studio). Two consequences:
|
|
35
76
|
// it may be reached over cleartext http, and it needs no API key — so there is no secret to leak.
|
|
36
77
|
export function isLocalEndpoint(baseUrl) {
|
|
@@ -112,11 +153,22 @@ export async function callLlmDetailed(cfg, apiKey, prompt, opts = {}) {
|
|
|
112
153
|
const req = buildLlmRequest(cfg, apiKey, prompt, opts.maxTokens ?? 4096);
|
|
113
154
|
const controller = new AbortController();
|
|
114
155
|
const timer = setTimeout(() => controller.abort(), opts.timeoutMs ?? 120_000);
|
|
115
|
-
|
|
156
|
+
// The timer has to survive until the BODY is read, not just until the headers arrive. fetch()
|
|
157
|
+
// resolves as soon as the response head is in; response.json()/.text() pull the rest afterwards.
|
|
158
|
+
// With clearTimeout in a finally around the fetch alone, a server that sends headers and then
|
|
159
|
+
// stalls the body held the call forever — timeoutMs covered the handshake and nothing else.
|
|
160
|
+
// [bug-211]
|
|
116
161
|
try {
|
|
117
|
-
response = await fetch(req.url, { method: "POST", headers: req.headers, body: req.body, signal: controller.signal, redirect: "error" });
|
|
162
|
+
const response = await fetch(req.url, { method: "POST", headers: req.headers, body: req.body, signal: controller.signal, redirect: "error" });
|
|
163
|
+
if (!response.ok) {
|
|
164
|
+
const body = await response.text();
|
|
165
|
+
throw new Error(`${cfg.provider} API error (${cfg.model}) ${response.status}: ${body.slice(0, 200)}`);
|
|
166
|
+
}
|
|
167
|
+
const data = await response.json();
|
|
168
|
+
return { text: parseLlmResponse(cfg.provider, data), truncated: wasTruncated(cfg.provider, data) };
|
|
118
169
|
}
|
|
119
170
|
catch (err) {
|
|
171
|
+
// Also catches an abort during the body read, which is the case this fix is about.
|
|
120
172
|
if (err.name === "AbortError")
|
|
121
173
|
throw new Error(`${cfg.provider} API request timed out`);
|
|
122
174
|
throw err;
|
|
@@ -124,12 +176,6 @@ export async function callLlmDetailed(cfg, apiKey, prompt, opts = {}) {
|
|
|
124
176
|
finally {
|
|
125
177
|
clearTimeout(timer);
|
|
126
178
|
}
|
|
127
|
-
if (!response.ok) {
|
|
128
|
-
const body = await response.text();
|
|
129
|
-
throw new Error(`${cfg.provider} API error (${cfg.model}) ${response.status}: ${body.slice(0, 200)}`);
|
|
130
|
-
}
|
|
131
|
-
const data = await response.json();
|
|
132
|
-
return { text: parseLlmResponse(cfg.provider, data), truncated: wasTruncated(cfg.provider, data) };
|
|
133
179
|
}
|
|
134
180
|
/** Did the model stop because it hit max_tokens (rather than finishing its thought)? — pure. */
|
|
135
181
|
export function wasTruncated(provider, data) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-provider.js","sourceRoot":"","sources":["../../../src/daemon/llm-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAuB/C,MAAM,QAAQ,GAA+E;IAC3F,SAAS,EAAE,EAAE,OAAO,EAAE,8BAA8B,EAAE,KAAK,EAAE,2BAA2B,EAAE,SAAS,EAAE,mBAAmB,EAAE;IAC1H,MAAM,EAAE,EAAE,OAAO,EAAE,2BAA2B,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE;CACpG,CAAC;AASF,4FAA4F;AAC5F,MAAM,UAAU,aAAa,CAAC,IAAyB;IACrD,MAAM,QAAQ,GAAgB,IAAI,EAAE,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;IACvF,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC7B,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACtE,OAAO;QACL,QAAQ;QACR,OAAO;QACP,KAAK,EAAE,IAAI,EAAE,SAAS,IAAI,CAAC,CAAC,KAAK;QACjC,SAAS,EAAE,IAAI,EAAE,WAAW,IAAI,CAAC,CAAC,SAAS;KAC5C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,MAAM,GAAG,GAAG,QAAQ,CAAoC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/F,OAAO,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"llm-provider.js","sourceRoot":"","sources":["../../../src/daemon/llm-provider.ts"],"names":[],"mappings":"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"}
|
package/dist/src/hooks/stop.js
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
import * as fs from "node:fs";
|
|
2
2
|
import * as path from "node:path";
|
|
3
3
|
import { getWolfDir, ensureWolfDir, readJSON, writeJSON, appendMarkdown, timeShort, getRetention, compactMemoryIfLarge, countSemanticEntries, withLock, readStdin, readTranscriptUsage, detectAgent } from "./shared.js";
|
|
4
|
+
const NOTHING_BOOKED = {
|
|
5
|
+
reads: 0, writes: 0, tokens: 0, anatomy_hits: 0, anatomy_misses: 0, repeated_reads_blocked: 0,
|
|
6
|
+
savings: 0, real_input: 0, real_output: 0, real_cache_read: 0, real_cache_creation: 0, real_api_calls: 0,
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Only what is new since the last stop goes into lifetime.
|
|
10
|
+
*
|
|
11
|
+
* Clamped at zero: if the cumulative value ever goes DOWN (session file reset while `booked`
|
|
12
|
+
* survived, retention trimming a counter), the honest answer is "nothing new", never a negative
|
|
13
|
+
* correction — that would silently eat other sessions' numbers.
|
|
14
|
+
*/
|
|
15
|
+
const delta = (current, booked) => Math.max(0, current - booked);
|
|
4
16
|
async function main() {
|
|
5
17
|
ensureWolfDir();
|
|
6
18
|
const wolfDir = getWolfDir();
|
|
@@ -126,34 +138,63 @@ async function main() {
|
|
|
126
138
|
if (Array.isArray(sessionEntry.writes) && sessionEntry.writes.length > ret.session_io_max) {
|
|
127
139
|
sessionEntry.writes = sessionEntry.writes.slice(-ret.session_io_max);
|
|
128
140
|
}
|
|
129
|
-
|
|
141
|
+
// One entry per session, not per turn: the entry carries the session's cumulative state, so a
|
|
142
|
+
// later stop REPLACES the earlier one instead of appending a near-duplicate under the same id.
|
|
143
|
+
const existing = ledger.sessions.findIndex((s) => s.id === sessionEntry.id);
|
|
144
|
+
if (existing === -1)
|
|
145
|
+
ledger.sessions.push(sessionEntry);
|
|
146
|
+
else
|
|
147
|
+
ledger.sessions[existing] = sessionEntry;
|
|
130
148
|
if (ledger.sessions.length > ret.token_ledger_max_sessions) {
|
|
131
149
|
ledger.sessions = ledger.sessions.slice(-ret.token_ledger_max_sessions);
|
|
132
150
|
}
|
|
133
|
-
|
|
151
|
+
// Everything below books DELTAS. The values on `session` are cumulative for the whole session and
|
|
152
|
+
// this hook runs every turn — see the `booked` doc comment. [bug-210]
|
|
153
|
+
const booked = { ...NOTHING_BOOKED, ...(session.booked ?? {}) };
|
|
154
|
+
const totalWritesNow = writeCount + unnamedWrites;
|
|
155
|
+
const tokensNow = inputTokens + outputTokens;
|
|
156
|
+
// Estimate savings: anatomy hits save ~200 tokens each, repeated reads blocked save their token count
|
|
157
|
+
const savedFromAnatomy = session.anatomy_hits * 200;
|
|
158
|
+
const savedFromRepeats = Object.values(session.files_read)
|
|
159
|
+
.filter((r) => r.count > 1)
|
|
160
|
+
.reduce((sum, r) => sum + r.tokens * (r.count - 1), 0);
|
|
161
|
+
const savingsNow = savedFromAnatomy + savedFromRepeats;
|
|
162
|
+
ledger.lifetime.total_reads += delta(readCount, booked.reads);
|
|
134
163
|
// Unnamed writes (shell / other working dirs) count toward the lifetime total — they were real
|
|
135
164
|
// work. They stay OUT of the session's named writes[] list (no path was recorded, by design).
|
|
136
|
-
ledger.lifetime.total_writes +=
|
|
137
|
-
ledger.lifetime.total_tokens_estimated +=
|
|
138
|
-
ledger.lifetime.anatomy_hits += session.anatomy_hits;
|
|
139
|
-
ledger.lifetime.anatomy_misses += session.anatomy_misses;
|
|
140
|
-
ledger.lifetime.repeated_reads_blocked += session.repeated_reads_warned;
|
|
165
|
+
ledger.lifetime.total_writes += delta(totalWritesNow, booked.writes);
|
|
166
|
+
ledger.lifetime.total_tokens_estimated += delta(tokensNow, booked.tokens);
|
|
167
|
+
ledger.lifetime.anatomy_hits += delta(session.anatomy_hits, booked.anatomy_hits);
|
|
168
|
+
ledger.lifetime.anatomy_misses += delta(session.anatomy_misses, booked.anatomy_misses);
|
|
169
|
+
ledger.lifetime.repeated_reads_blocked += delta(session.repeated_reads_warned, booked.repeated_reads_blocked);
|
|
170
|
+
ledger.lifetime.estimated_savings_vs_bare_cli += delta(savingsNow, booked.savings);
|
|
141
171
|
// Accumulate measured usage alongside the estimates, so the ledger carries both a heuristic and
|
|
142
|
-
// a verifiable ground truth (F1).
|
|
172
|
+
// a verifiable ground truth (F1). readTranscriptUsage reads the WHOLE transcript, so these are
|
|
173
|
+
// cumulative per session too and need the same delta treatment.
|
|
143
174
|
if (realUsage) {
|
|
144
175
|
const lt = ledger.lifetime;
|
|
145
|
-
lt.real_input_tokens = (lt.real_input_tokens ?? 0) + realUsage.input_tokens;
|
|
146
|
-
lt.real_output_tokens = (lt.real_output_tokens ?? 0) + realUsage.output_tokens;
|
|
147
|
-
lt.real_cache_read_tokens = (lt.real_cache_read_tokens ?? 0) + realUsage.cache_read_input_tokens;
|
|
148
|
-
lt.real_cache_creation_tokens = (lt.real_cache_creation_tokens ?? 0) + realUsage.cache_creation_input_tokens;
|
|
149
|
-
lt.real_api_calls = (lt.real_api_calls ?? 0) + realUsage.api_calls;
|
|
176
|
+
lt.real_input_tokens = (lt.real_input_tokens ?? 0) + delta(realUsage.input_tokens, booked.real_input);
|
|
177
|
+
lt.real_output_tokens = (lt.real_output_tokens ?? 0) + delta(realUsage.output_tokens, booked.real_output);
|
|
178
|
+
lt.real_cache_read_tokens = (lt.real_cache_read_tokens ?? 0) + delta(realUsage.cache_read_input_tokens, booked.real_cache_read);
|
|
179
|
+
lt.real_cache_creation_tokens = (lt.real_cache_creation_tokens ?? 0) + delta(realUsage.cache_creation_input_tokens, booked.real_cache_creation);
|
|
180
|
+
lt.real_api_calls = (lt.real_api_calls ?? 0) + delta(realUsage.api_calls, booked.real_api_calls);
|
|
150
181
|
}
|
|
151
|
-
//
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
.
|
|
155
|
-
.
|
|
156
|
-
|
|
182
|
+
// Mark what is now booked. Set inside the lock, right after the numbers went in, so a crash
|
|
183
|
+
// between the two writes cannot leave the ledger credited and the session unmarked.
|
|
184
|
+
session.booked = {
|
|
185
|
+
reads: Math.max(readCount, booked.reads),
|
|
186
|
+
writes: Math.max(totalWritesNow, booked.writes),
|
|
187
|
+
tokens: Math.max(tokensNow, booked.tokens),
|
|
188
|
+
anatomy_hits: Math.max(session.anatomy_hits, booked.anatomy_hits),
|
|
189
|
+
anatomy_misses: Math.max(session.anatomy_misses, booked.anatomy_misses),
|
|
190
|
+
repeated_reads_blocked: Math.max(session.repeated_reads_warned, booked.repeated_reads_blocked),
|
|
191
|
+
savings: Math.max(savingsNow, booked.savings),
|
|
192
|
+
real_input: Math.max(realUsage?.input_tokens ?? 0, booked.real_input),
|
|
193
|
+
real_output: Math.max(realUsage?.output_tokens ?? 0, booked.real_output),
|
|
194
|
+
real_cache_read: Math.max(realUsage?.cache_read_input_tokens ?? 0, booked.real_cache_read),
|
|
195
|
+
real_cache_creation: Math.max(realUsage?.cache_creation_input_tokens ?? 0, booked.real_cache_creation),
|
|
196
|
+
real_api_calls: Math.max(realUsage?.api_calls ?? 0, booked.real_api_calls),
|
|
197
|
+
};
|
|
157
198
|
writeJSON(ledgerPath, ledger);
|
|
158
199
|
});
|
|
159
200
|
// Write a session summary line to memory.md if there was meaningful activity
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/hooks/stop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/hooks/stop.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openwolf-enhanced",
|
|
3
|
-
"version": "1.20.
|
|
3
|
+
"version": "1.20.8",
|
|
4
4
|
"description": "A second brain for Claude Code, Codex & Gemini — persistent git-native project memory with searchable citations, an MCP server for Claude Desktop, and invisible hook-based context. No database.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|