clawborrator-mcp 0.0.44 → 0.0.45
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/dist/hook.js +46 -1
- package/dist/hook.js.map +1 -1
- package/dist/transcript.d.ts +16 -0
- package/dist/transcript.js +82 -0
- package/dist/transcript.js.map +1 -1
- package/dist-hook/clawborrator-tail.mjs +82 -0
- package/package.json +1 -1
package/dist/hook.js
CHANGED
|
@@ -33,7 +33,7 @@ function projectRootFromHookFile() {
|
|
|
33
33
|
const here = dirname(fileURLToPath(import.meta.url));
|
|
34
34
|
return resolve(here, '..', '..');
|
|
35
35
|
}
|
|
36
|
-
import { readTranscriptMessages, messageContainsToolUse, extractTextBlocksBeforeToolUse, hasThinkingBlocksBeforeToolUse, extractFromLastAssistantMessage, extractFinalAnswerFromTranscript, DEFAULT_TAIL_BYTES, } from './transcript.js';
|
|
36
|
+
import { readTranscriptMessages, messageContainsToolUse, extractTextBlocksBeforeToolUse, hasThinkingBlocksBeforeToolUse, extractFromLastAssistantMessage, extractFinalAnswerFromTranscript, extractTurnUsage, DEFAULT_TAIL_BYTES, } from './transcript.js';
|
|
37
37
|
// Mirrors the install-hooks set from the old clawborrator-channel
|
|
38
38
|
// package so the remote viewer has the same coverage of Claude Code's
|
|
39
39
|
// hook surface.
|
|
@@ -266,6 +266,49 @@ async function runStop(sidecar, payload) {
|
|
|
266
266
|
ts: new Date().toISOString(),
|
|
267
267
|
}, 2000);
|
|
268
268
|
}
|
|
269
|
+
// Stop: attach per-turn token usage to the payload so it rides the
|
|
270
|
+
// always-fired tail/Stop event (the main POST in runHook). We use the
|
|
271
|
+
// tail/Stop event — not the conditional chat/reply — deliberately:
|
|
272
|
+
// turns whose final answer goes out via mcp__clawborrator__reply
|
|
273
|
+
// produce NO chat/reply event, and those (the remote-operator turns)
|
|
274
|
+
// are exactly the ones worth accounting. Runs AFTER runStop so the
|
|
275
|
+
// 500ms transcript-flush wait inside enrichStopAssistantText has
|
|
276
|
+
// already landed the final assistant record on disk; a short retry
|
|
277
|
+
// covers the case where runStop returned via last_assistant_message
|
|
278
|
+
// without reading the transcript at all.
|
|
279
|
+
async function enrichStopTokenUsage(payload) {
|
|
280
|
+
const transcriptPath = typeof payload.transcript_path === 'string' ? payload.transcript_path : '';
|
|
281
|
+
if (!transcriptPath)
|
|
282
|
+
return;
|
|
283
|
+
let usage = extractTurnUsage(transcriptPath);
|
|
284
|
+
let tries = 0;
|
|
285
|
+
while (!usage && tries < 3) {
|
|
286
|
+
await new Promise((r) => setTimeout(r, 120));
|
|
287
|
+
usage = extractTurnUsage(transcriptPath);
|
|
288
|
+
tries++;
|
|
289
|
+
}
|
|
290
|
+
if (!usage) {
|
|
291
|
+
log.debug('stop: no turn usage found in transcript tail');
|
|
292
|
+
return;
|
|
293
|
+
}
|
|
294
|
+
// CC's Stop hook payload carries `session_id` — the CC --session-id of
|
|
295
|
+
// this incarnation, the SAME id the desktop_v1 sampler tags cumulative
|
|
296
|
+
// rows with. Carrying it lets the hub join turn deltas to cumulative
|
|
297
|
+
// snapshots per (session, cc_session_id, model). Distinct from the
|
|
298
|
+
// clawborrator hub sessionId on the sidecar.
|
|
299
|
+
const ccSessionId = typeof payload.session_id === 'string' ? payload.session_id : '';
|
|
300
|
+
payload.token_usage = { ...usage, cc_session_id: ccSessionId };
|
|
301
|
+
log.info('stop: turn token usage attached', {
|
|
302
|
+
grain: usage.grain,
|
|
303
|
+
model: usage.model,
|
|
304
|
+
ccSessionId,
|
|
305
|
+
turnMessages: usage.turn_messages,
|
|
306
|
+
input: usage.usage.input_tokens,
|
|
307
|
+
output: usage.usage.output_tokens,
|
|
308
|
+
cacheRead: usage.usage.cache_read_input_tokens,
|
|
309
|
+
cacheCreate: usage.usage.cache_creation_input_tokens,
|
|
310
|
+
});
|
|
311
|
+
}
|
|
269
312
|
// Per-hook pre-enrichment dispatch. Mutates payload in place where
|
|
270
313
|
// the variant needs to (Stop's assistant_text path) and may emit
|
|
271
314
|
// chat-lane events. SubagentStop intentionally does NOTHING here —
|
|
@@ -276,6 +319,8 @@ async function dispatchHookEnrichment(hookName, sidecar, payload) {
|
|
|
276
319
|
// attached operators see Claude's response in the chat lane.
|
|
277
320
|
// The tail Stop event below marks the boundary.
|
|
278
321
|
await runStop(sidecar, payload);
|
|
322
|
+
// Attach per-turn token usage to payload → rides the tail/Stop POST.
|
|
323
|
+
await enrichStopTokenUsage(payload);
|
|
279
324
|
return;
|
|
280
325
|
}
|
|
281
326
|
if (hookName === 'SubagentStop') {
|
package/dist/hook.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"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"}
|
package/dist/transcript.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export interface ContentBlock {
|
|
|
12
12
|
[k: string]: unknown;
|
|
13
13
|
}
|
|
14
14
|
export declare const DEFAULT_TAIL_BYTES: number;
|
|
15
|
+
export declare const USAGE_TAIL_BYTES: number;
|
|
15
16
|
export declare function readTranscriptMessages(path: string, tailBytes?: number): TranscriptMessage[];
|
|
16
17
|
export declare function extractTextBlocksBeforeToolUse(messages: TranscriptMessage[], toolUseId: string): string[];
|
|
17
18
|
export declare function messageContainsToolUse(messages: TranscriptMessage[], toolUseId: string): boolean;
|
|
@@ -19,3 +20,18 @@ export declare function hasThinkingBlocksBeforeToolUse(messages: TranscriptMessa
|
|
|
19
20
|
export declare function joinTextAfterLastToolUse(content: ContentBlock[] | unknown): string;
|
|
20
21
|
export declare function extractFromLastAssistantMessage(v: unknown): string;
|
|
21
22
|
export declare function extractFinalAnswerFromTranscript(path: string, tailBytes?: number): string;
|
|
23
|
+
export interface TurnUsage {
|
|
24
|
+
grain: 'turn';
|
|
25
|
+
/** Model of the final assistant record in the turn (null if absent). */
|
|
26
|
+
model: string | null;
|
|
27
|
+
usage: {
|
|
28
|
+
input_tokens: number;
|
|
29
|
+
output_tokens: number;
|
|
30
|
+
cache_creation_input_tokens: number;
|
|
31
|
+
cache_read_input_tokens: number;
|
|
32
|
+
};
|
|
33
|
+
/** Count of assistant API calls summed into this turn. */
|
|
34
|
+
turn_messages: number;
|
|
35
|
+
}
|
|
36
|
+
export declare function extractTurnUsageFromMessages(messages: TranscriptMessage[]): TurnUsage | null;
|
|
37
|
+
export declare function extractTurnUsage(path: string, tailBytes?: number): TurnUsage | null;
|
package/dist/transcript.js
CHANGED
|
@@ -9,6 +9,12 @@
|
|
|
9
9
|
// is enough to cover several recent turns even on tool-heavy sessions.
|
|
10
10
|
import { openSync, readSync, closeSync, statSync } from 'node:fs';
|
|
11
11
|
export const DEFAULT_TAIL_BYTES = 256 * 1024;
|
|
12
|
+
// Larger window for turn-usage summing: a single tool-heavy turn can
|
|
13
|
+
// push earlier assistant records (each carrying a per-call usage block)
|
|
14
|
+
// out of the 256 KB text window. Undersizing here UNDERCOUNTS a turn's
|
|
15
|
+
// tokens, which is worse for an accounting signal than for text. 1 MB
|
|
16
|
+
// covers all but pathological turns; the read happens once per Stop.
|
|
17
|
+
export const USAGE_TAIL_BYTES = 1024 * 1024;
|
|
12
18
|
// Read the trailing portion of a Claude Code transcript JSONL and
|
|
13
19
|
// return parsed messages oldest-first. A partial first line (the tail
|
|
14
20
|
// boundary cuts mid-record) is dropped.
|
|
@@ -192,4 +198,80 @@ export function extractFinalAnswerFromTranscript(path, tailBytes = DEFAULT_TAIL_
|
|
|
192
198
|
}
|
|
193
199
|
return '';
|
|
194
200
|
}
|
|
201
|
+
function num(v) {
|
|
202
|
+
return typeof v === 'number' && Number.isFinite(v) ? v : 0;
|
|
203
|
+
}
|
|
204
|
+
// A `user` message ends the turn ONLY when it's a genuine prompt. CC
|
|
205
|
+
// records tool_results as user-type messages mid-turn, so a user
|
|
206
|
+
// message whose content is (only) tool_result blocks is NOT a boundary.
|
|
207
|
+
function isTurnBoundaryUserMessage(m) {
|
|
208
|
+
if (m?.type !== 'user')
|
|
209
|
+
return false;
|
|
210
|
+
const content = m.message?.content;
|
|
211
|
+
if (typeof content === 'string')
|
|
212
|
+
return content.trim().length > 0;
|
|
213
|
+
if (Array.isArray(content)) {
|
|
214
|
+
const hasToolResult = content.some((c) => c?.type === 'tool_result');
|
|
215
|
+
// tool_result-only → mid-turn round trip; anything else → real prompt.
|
|
216
|
+
return !hasToolResult;
|
|
217
|
+
}
|
|
218
|
+
// Missing/odd shape: treat as a boundary rather than risk summing
|
|
219
|
+
// across into a previous turn.
|
|
220
|
+
return true;
|
|
221
|
+
}
|
|
222
|
+
function readUsageBlock(m) {
|
|
223
|
+
const u = m.message?.usage;
|
|
224
|
+
return u && typeof u === 'object' ? u : null;
|
|
225
|
+
}
|
|
226
|
+
// Sum message.usage across every assistant record in the CURRENT turn
|
|
227
|
+
// (walking from the end back to the last genuine user prompt). Pure —
|
|
228
|
+
// caller supplies the parsed messages and handles read retries.
|
|
229
|
+
// Returns null when no assistant usage is present in the window.
|
|
230
|
+
export function extractTurnUsageFromMessages(messages) {
|
|
231
|
+
if (!Array.isArray(messages) || messages.length === 0)
|
|
232
|
+
return null;
|
|
233
|
+
let input = 0, output = 0, cacheCreate = 0, cacheRead = 0, count = 0;
|
|
234
|
+
let model = null;
|
|
235
|
+
for (let i = messages.length - 1; i >= 0; i--) {
|
|
236
|
+
const m = messages[i];
|
|
237
|
+
if (isTurnBoundaryUserMessage(m))
|
|
238
|
+
break;
|
|
239
|
+
if (m?.type !== 'assistant')
|
|
240
|
+
continue;
|
|
241
|
+
const u = readUsageBlock(m);
|
|
242
|
+
if (!u)
|
|
243
|
+
continue;
|
|
244
|
+
input += num(u.input_tokens);
|
|
245
|
+
output += num(u.output_tokens);
|
|
246
|
+
cacheCreate += num(u.cache_creation_input_tokens);
|
|
247
|
+
cacheRead += num(u.cache_read_input_tokens);
|
|
248
|
+
count++;
|
|
249
|
+
// Walking backward, the first assistant record we hit is the LAST
|
|
250
|
+
// chronologically — the final answer. Its model represents the turn.
|
|
251
|
+
if (model === null) {
|
|
252
|
+
const mdl = m.message?.model;
|
|
253
|
+
if (typeof mdl === 'string')
|
|
254
|
+
model = mdl;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
if (count === 0)
|
|
258
|
+
return null;
|
|
259
|
+
return {
|
|
260
|
+
grain: 'turn',
|
|
261
|
+
model,
|
|
262
|
+
usage: {
|
|
263
|
+
input_tokens: input,
|
|
264
|
+
output_tokens: output,
|
|
265
|
+
cache_creation_input_tokens: cacheCreate,
|
|
266
|
+
cache_read_input_tokens: cacheRead,
|
|
267
|
+
},
|
|
268
|
+
turn_messages: count,
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
// Path-based wrapper. Uses the larger USAGE_TAIL_BYTES window so a
|
|
272
|
+
// tool-heavy turn's earlier assistant records aren't truncated out of
|
|
273
|
+
// the sum.
|
|
274
|
+
export function extractTurnUsage(path, tailBytes = USAGE_TAIL_BYTES) {
|
|
275
|
+
return extractTurnUsageFromMessages(readTranscriptMessages(path, tailBytes));
|
|
276
|
+
}
|
|
195
277
|
//# sourceMappingURL=transcript.js.map
|
package/dist/transcript.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transcript.js","sourceRoot":"","sources":["../src/transcript.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transcript.js","sourceRoot":"","sources":["../src/transcript.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,6 +47,7 @@ function findSidecar(start) {
|
|
|
47
47
|
// src/transcript.ts
|
|
48
48
|
import { openSync, readSync, closeSync, statSync } from "node:fs";
|
|
49
49
|
var DEFAULT_TAIL_BYTES = 256 * 1024;
|
|
50
|
+
var USAGE_TAIL_BYTES = 1024 * 1024;
|
|
50
51
|
function readTranscriptMessages(path, tailBytes = DEFAULT_TAIL_BYTES) {
|
|
51
52
|
try {
|
|
52
53
|
const stat = statSync(path);
|
|
@@ -158,6 +159,59 @@ function extractFinalAnswerFromTranscript(path, tailBytes = DEFAULT_TAIL_BYTES)
|
|
|
158
159
|
}
|
|
159
160
|
return "";
|
|
160
161
|
}
|
|
162
|
+
function num(v) {
|
|
163
|
+
return typeof v === "number" && Number.isFinite(v) ? v : 0;
|
|
164
|
+
}
|
|
165
|
+
function isTurnBoundaryUserMessage(m) {
|
|
166
|
+
if (m?.type !== "user") return false;
|
|
167
|
+
const content = m.message?.content;
|
|
168
|
+
if (typeof content === "string") return content.trim().length > 0;
|
|
169
|
+
if (Array.isArray(content)) {
|
|
170
|
+
const hasToolResult = content.some((c) => c?.type === "tool_result");
|
|
171
|
+
return !hasToolResult;
|
|
172
|
+
}
|
|
173
|
+
return true;
|
|
174
|
+
}
|
|
175
|
+
function readUsageBlock(m) {
|
|
176
|
+
const u = m.message?.usage;
|
|
177
|
+
return u && typeof u === "object" ? u : null;
|
|
178
|
+
}
|
|
179
|
+
function extractTurnUsageFromMessages(messages) {
|
|
180
|
+
if (!Array.isArray(messages) || messages.length === 0) return null;
|
|
181
|
+
let input = 0, output = 0, cacheCreate = 0, cacheRead = 0, count = 0;
|
|
182
|
+
let model = null;
|
|
183
|
+
for (let i = messages.length - 1; i >= 0; i--) {
|
|
184
|
+
const m = messages[i];
|
|
185
|
+
if (isTurnBoundaryUserMessage(m)) break;
|
|
186
|
+
if (m?.type !== "assistant") continue;
|
|
187
|
+
const u = readUsageBlock(m);
|
|
188
|
+
if (!u) continue;
|
|
189
|
+
input += num(u.input_tokens);
|
|
190
|
+
output += num(u.output_tokens);
|
|
191
|
+
cacheCreate += num(u.cache_creation_input_tokens);
|
|
192
|
+
cacheRead += num(u.cache_read_input_tokens);
|
|
193
|
+
count++;
|
|
194
|
+
if (model === null) {
|
|
195
|
+
const mdl = m.message?.model;
|
|
196
|
+
if (typeof mdl === "string") model = mdl;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
if (count === 0) return null;
|
|
200
|
+
return {
|
|
201
|
+
grain: "turn",
|
|
202
|
+
model,
|
|
203
|
+
usage: {
|
|
204
|
+
input_tokens: input,
|
|
205
|
+
output_tokens: output,
|
|
206
|
+
cache_creation_input_tokens: cacheCreate,
|
|
207
|
+
cache_read_input_tokens: cacheRead
|
|
208
|
+
},
|
|
209
|
+
turn_messages: count
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
function extractTurnUsage(path, tailBytes = USAGE_TAIL_BYTES) {
|
|
213
|
+
return extractTurnUsageFromMessages(readTranscriptMessages(path, tailBytes));
|
|
214
|
+
}
|
|
161
215
|
|
|
162
216
|
// src/hook.ts
|
|
163
217
|
function projectRootFromHookFile() {
|
|
@@ -333,9 +387,37 @@ async function runStop(sidecar, payload) {
|
|
|
333
387
|
ts: (/* @__PURE__ */ new Date()).toISOString()
|
|
334
388
|
}, 2e3);
|
|
335
389
|
}
|
|
390
|
+
async function enrichStopTokenUsage(payload) {
|
|
391
|
+
const transcriptPath = typeof payload.transcript_path === "string" ? payload.transcript_path : "";
|
|
392
|
+
if (!transcriptPath) return;
|
|
393
|
+
let usage = extractTurnUsage(transcriptPath);
|
|
394
|
+
let tries = 0;
|
|
395
|
+
while (!usage && tries < 3) {
|
|
396
|
+
await new Promise((r) => setTimeout(r, 120));
|
|
397
|
+
usage = extractTurnUsage(transcriptPath);
|
|
398
|
+
tries++;
|
|
399
|
+
}
|
|
400
|
+
if (!usage) {
|
|
401
|
+
log.debug("stop: no turn usage found in transcript tail");
|
|
402
|
+
return;
|
|
403
|
+
}
|
|
404
|
+
const ccSessionId = typeof payload.session_id === "string" ? payload.session_id : "";
|
|
405
|
+
payload.token_usage = { ...usage, cc_session_id: ccSessionId };
|
|
406
|
+
log.info("stop: turn token usage attached", {
|
|
407
|
+
grain: usage.grain,
|
|
408
|
+
model: usage.model,
|
|
409
|
+
ccSessionId,
|
|
410
|
+
turnMessages: usage.turn_messages,
|
|
411
|
+
input: usage.usage.input_tokens,
|
|
412
|
+
output: usage.usage.output_tokens,
|
|
413
|
+
cacheRead: usage.usage.cache_read_input_tokens,
|
|
414
|
+
cacheCreate: usage.usage.cache_creation_input_tokens
|
|
415
|
+
});
|
|
416
|
+
}
|
|
336
417
|
async function dispatchHookEnrichment(hookName2, sidecar, payload) {
|
|
337
418
|
if (hookName2 === "Stop") {
|
|
338
419
|
await runStop(sidecar, payload);
|
|
420
|
+
await enrichStopTokenUsage(payload);
|
|
339
421
|
return;
|
|
340
422
|
}
|
|
341
423
|
if (hookName2 === "SubagentStop") {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clawborrator-mcp",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.45",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "clawborrator channel for hub_v1 — MCP server that connects Claude Code to a hub over WebSocket, with hooks for activity capture and tools for cross-session routing.",
|
|
6
6
|
"license": "MIT",
|