clawborrator-mcp 0.0.43 → 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 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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"}
@@ -1,8 +1,3 @@
1
- /**
2
- * Install/maintain .claude/settings.json + .claude/hooks/clawborrator-
3
- * tail.mjs for the project at `cwd`. Returns a summary describing what
4
- * changed; useful for boot-time logging.
5
- */
6
1
  export declare function installHooks(cwd: string): {
7
2
  hookFileWritten: boolean;
8
3
  settingsWritten: boolean;
@@ -166,6 +166,33 @@ function reconcileHookEvent(s, name, hookFile) {
166
166
  * tail.mjs for the project at `cwd`. Returns a summary describing what
167
167
  * changed; useful for boot-time logging.
168
168
  */
169
+ // Sweep our (#clawborrator-hook) entries out of event names no longer in
170
+ // HOOK_NAMES (e.g. SessionStart / SessionEnd, now emitted server-side
171
+ // from the /channel WS lifecycle) — this is what makes earlier installs
172
+ // converge after an upgrade. Leaves entries that aren't ours untouched
173
+ // (the operator may keep their own hooks there) and drops now-empty
174
+ // matcher rows. Mutates `hooks` in place; returns how many were removed.
175
+ function sweepStaleHookEntries(hooks) {
176
+ let removed = 0;
177
+ const desiredSet = new Set(HOOK_NAMES);
178
+ for (const eventName of Object.keys(hooks)) {
179
+ if (desiredSet.has(eventName))
180
+ continue;
181
+ const entries = hooks[eventName];
182
+ if (!Array.isArray(entries))
183
+ continue;
184
+ for (const entry of entries) {
185
+ const before = entry.hooks.length;
186
+ entry.hooks = entry.hooks.filter((h) => !isOurHook(h));
187
+ if (entry.hooks.length < before)
188
+ removed += before - entry.hooks.length;
189
+ }
190
+ hooks[eventName] = entries.filter((e) => e.hooks.length > 0);
191
+ if (hooks[eventName].length === 0)
192
+ delete hooks[eventName];
193
+ }
194
+ return removed;
195
+ }
169
196
  export function installHooks(cwd) {
170
197
  const claudeDir = resolve(cwd, '.claude');
171
198
  const hooksDir = resolve(claudeDir, 'hooks');
@@ -203,31 +230,9 @@ export function installHooks(cwd) {
203
230
  else
204
231
  alreadyOk++;
205
232
  }
206
- // Sweep our (#clawborrator-hook) entries from event names that are
207
- // NO LONGER in HOOK_NAMES currently SessionStart / SessionEnd,
208
- // which we now emit server-side from /channel WS lifecycle. This
209
- // is what makes earlier installs converge after an upgrade.
210
- // Don't touch entries that aren't ours (the operator may have
211
- // their own hooks in those slots).
212
- let removed = 0;
213
- const desiredSet = new Set(HOOK_NAMES);
214
- for (const eventName of Object.keys(s.hooks)) {
215
- if (desiredSet.has(eventName))
216
- continue;
217
- const entries = s.hooks[eventName];
218
- if (!Array.isArray(entries))
219
- continue;
220
- for (const entry of entries) {
221
- const before = entry.hooks.length;
222
- entry.hooks = entry.hooks.filter((h) => !isOurHook(h));
223
- if (entry.hooks.length < before)
224
- removed += before - entry.hooks.length;
225
- }
226
- // Drop now-empty matcher rows so we don't leave hollow shells.
227
- s.hooks[eventName] = entries.filter((e) => e.hooks.length > 0);
228
- if (s.hooks[eventName].length === 0)
229
- delete s.hooks[eventName];
230
- }
233
+ // Sweep our entries out of event names no longer in HOOK_NAMES so
234
+ // earlier installs converge after an upgrade (see sweepStaleHookEntries).
235
+ const removed = sweepStaleHookEntries(s.hooks);
231
236
  if (removed > 0)
232
237
  refreshed += removed;
233
238
  // 3) Write only if the serialized form changed.
@@ -1 +1 @@
1
- {"version":3,"file":"install-hooks.js","sourceRoot":"","sources":["../src/install-hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-hooks.js","sourceRoot":"","sources":["../src/install-hooks.ts"],"names":[],"mappings":"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"}
@@ -722,38 +722,56 @@ export async function callTool(ctx, name, args) {
722
722
  // ephemeral self-terminate hook, submit_handoff completes -> Stop hook
723
723
  // fires -> container exits, no orchestrator round-trip in the loop.
724
724
  // ---------------------------------------------------------------------------
725
- async function callSubmitHandoff(ctx, args) {
725
+ // Coerce a value to an array, defaulting to [] for non-arrays. The
726
+ // handoff list fields are all optional + best-effort.
727
+ function asArray(v) {
728
+ return Array.isArray(v) ? v : [];
729
+ }
730
+ const HANDOFF_ROLES = ['worker', 'validator', 'orchestrator'];
731
+ const HANDOFF_STATUSES = ['completed', 'partial', 'failed'];
732
+ // Validate the required + enum fields of a submit_handoff call. Returns
733
+ // the trimmed required fields, or an error message on the first failed
734
+ // gate. Extracted so the guard chain is isolated from the send/route
735
+ // side effects.
736
+ function validateHandoffArgs(args) {
726
737
  const toPeer = String(args.toPeer ?? '').trim();
727
738
  const missionId = String(args.missionId ?? '').trim();
728
739
  const fromRole = String(args.fromRole ?? '').trim();
729
740
  const featureId = String(args.featureId ?? '').trim();
730
741
  const status = String(args.status ?? '').trim();
731
742
  if (!toPeer)
732
- return errorContent('toPeer is required');
743
+ return { ok: false, message: 'toPeer is required' };
733
744
  if (!missionId)
734
- return errorContent('missionId is required');
745
+ return { ok: false, message: 'missionId is required' };
735
746
  if (!fromRole)
736
- return errorContent('fromRole is required');
747
+ return { ok: false, message: 'fromRole is required' };
737
748
  if (!featureId)
738
- return errorContent('featureId is required');
749
+ return { ok: false, message: 'featureId is required' };
739
750
  if (!status)
740
- return errorContent('status is required');
741
- if (!['worker', 'validator', 'orchestrator'].includes(fromRole)) {
742
- return errorContent(`fromRole must be one of worker | validator | orchestrator (got "${fromRole}")`);
751
+ return { ok: false, message: 'status is required' };
752
+ if (!HANDOFF_ROLES.includes(fromRole)) {
753
+ return { ok: false, message: `fromRole must be one of worker | validator | orchestrator (got "${fromRole}")` };
743
754
  }
744
- if (!['completed', 'partial', 'failed'].includes(status)) {
745
- return errorContent(`status must be one of completed | partial | failed (got "${status}")`);
755
+ if (!HANDOFF_STATUSES.includes(status)) {
756
+ return { ok: false, message: `status must be one of completed | partial | failed (got "${status}")` };
746
757
  }
758
+ return { ok: true, toPeer, missionId, fromRole, featureId, status };
759
+ }
760
+ async function callSubmitHandoff(ctx, args) {
761
+ const v = validateHandoffArgs(args);
762
+ if (!v.ok)
763
+ return errorContent(v.message);
764
+ const { toPeer, missionId, fromRole, featureId, status } = v;
747
765
  const handoff = {
748
766
  missionId,
749
767
  fromRole,
750
768
  featureId,
751
769
  status,
752
- completed: Array.isArray(args.completed) ? args.completed : [],
753
- skipped: Array.isArray(args.skipped) ? args.skipped : [],
754
- commandsRun: Array.isArray(args.commandsRun) ? args.commandsRun : [],
755
- issues: Array.isArray(args.issues) ? args.issues : [],
756
- proceduresHonored: Array.isArray(args.proceduresHonored) ? args.proceduresHonored : [],
770
+ completed: asArray(args.completed),
771
+ skipped: asArray(args.skipped),
772
+ commandsRun: asArray(args.commandsRun),
773
+ issues: asArray(args.issues),
774
+ proceduresHonored: asArray(args.proceduresHonored),
757
775
  ...(typeof args.notes === 'string' && args.notes ? { notes: args.notes } : {}),
758
776
  submittedAt: new Date().toISOString(),
759
777
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -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;
@@ -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
@@ -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.43",
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",