hungry-ghost-hive 0.52.0 → 0.52.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"token-capture.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/manager/token-capture.ts"],"names":[],"mappings":"AAYA,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,oEAAoE;AACpE,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,uBAAwB,SAAQ,kBAAkB;IACjE,gFAAgF;IAChF,OAAO,EAAE,OAAO,CAAC;CAClB;AAWD,4DAA4D;AAC5D,wBAAgB,4BAA4B,IAAI,IAAI,CAEnD;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,mBAAmB,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GACtB,OAAO,CAAC,kBAAkB,CAAC,CAW7B;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,mBAAmB,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GACtB,OAAO,CAAC,kBAAkB,CAAC,CA8B7B;AAED;;;;;GAKG;AACH,wBAAsB,kCAAkC,CACtD,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,mBAAmB,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,EACvB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAC3B,OAAO,CAAC,uBAAuB,CAAC,CAqDlC"}
1
+ {"version":3,"file":"token-capture.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/manager/token-capture.ts"],"names":[],"mappings":"AAYA,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,oEAAoE;AACpE,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,uBAAwB,SAAQ,kBAAkB;IACjE,gFAAgF;IAChF,OAAO,EAAE,OAAO,CAAC;CAClB;AAWD,4DAA4D;AAC5D,wBAAgB,4BAA4B,IAAI,IAAI,CAEnD;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,mBAAmB,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GACtB,OAAO,CAAC,kBAAkB,CAAC,CAY7B;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,mBAAmB,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GACtB,OAAO,CAAC,kBAAkB,CAAC,CA+B7B;AAED;;;;;GAKG;AACH,wBAAsB,kCAAkC,CACtD,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,mBAAmB,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,EACvB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAC3B,OAAO,CAAC,uBAAuB,CAAC,CAyDlC"}
@@ -30,7 +30,8 @@ export async function captureAndPersistTokenUsage(sessionName, ctx, agentId, sto
30
30
  }
31
31
  return await parseAndPersistTokenUsage(output, ctx, agentId, storyId);
32
32
  }
33
- catch {
33
+ catch (err) {
34
+ console.error(`[token-capture] captureAndPersistTokenUsage failed for agent=${agentId}:`, err);
34
35
  return { captured: false, tokens: null, persisted: false };
35
36
  }
36
37
  }
@@ -62,7 +63,8 @@ export async function parseAndPersistTokenUsage(output, ctx, agentId, storyId) {
62
63
  });
63
64
  return { captured: true, tokens, persisted: true };
64
65
  }
65
- catch {
66
+ catch (err) {
67
+ console.error(`[token-capture] parseAndPersistTokenUsage failed for agent=${agentId}:`, err);
66
68
  return { captured: false, tokens: null, persisted: false };
67
69
  }
68
70
  }
@@ -113,7 +115,8 @@ export async function parseAndPersistTokenUsageIfChanged(output, ctx, agentId, s
113
115
  });
114
116
  return { captured: true, tokens, persisted: true, changed: true };
115
117
  }
116
- catch {
118
+ catch (err) {
119
+ console.error(`[token-capture] parseAndPersistTokenUsageIfChanged failed for agent=${agentId}:`, err);
117
120
  return { captured: false, tokens: null, persisted: false, changed: false };
118
121
  }
119
122
  }
@@ -1 +1 @@
1
- {"version":3,"file":"token-capture.js","sourceRoot":"","sources":["../../../../src/cli/commands/manager/token-capture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-capture.js","sourceRoot":"","sources":["../../../../src/cli/commands/manager/token-capture.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"token-usage-parser.d.ts","sourceRoot":"","sources":["../../src/parsers/token-usage-parser.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAsKD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAOvE;AAID;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAkClF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAmB9E"}
1
+ {"version":3,"file":"token-usage-parser.d.ts","sourceRoot":"","sources":["../../src/parsers/token-usage-parser.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAsKD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAOvE;AAID;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAkClF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAmB9E"}
@@ -6,8 +6,9 @@
6
6
  * Supports Claude Code, Codex, and Gemini output formats.
7
7
  * Also reads token usage directly from Claude Code's JSONL conversation logs.
8
8
  */
9
- import { readFileSync, readdirSync } from 'fs';
10
- import { homedir } from 'os';
9
+ import { execSync } from 'child_process';
10
+ import { readFileSync, readdirSync, statSync } from 'fs';
11
+ import { homedir, userInfo } from 'os';
11
12
  import { join, resolve } from 'path';
12
13
  /**
13
14
  * Parse a number string that may contain commas (e.g. "12,345" -> 12345)
@@ -226,12 +227,40 @@ export function getTokenUsageForAgent(workDir) {
226
227
  return null;
227
228
  return { inputTokens: totalInput, outputTokens: totalOutput, totalTokens };
228
229
  }
230
+ /**
231
+ * Resolve the home directory for the OS user that owns a given path.
232
+ * Falls back to the current process's homedir() if detection fails.
233
+ */
234
+ function resolveHomeDirForPath(dirPath) {
235
+ try {
236
+ const stat = statSync(dirPath);
237
+ const currentUid = userInfo().uid;
238
+ // If the directory is owned by the current user, just use homedir()
239
+ if (stat.uid === currentUid) {
240
+ return homedir();
241
+ }
242
+ // Look up the owning user's home directory via getent (POSIX)
243
+ const passwd = execSync(`getent passwd ${stat.uid}`, { encoding: 'utf-8' }).trim();
244
+ const fields = passwd.split(':');
245
+ if (fields.length >= 6 && fields[5]) {
246
+ return fields[5];
247
+ }
248
+ }
249
+ catch {
250
+ // Fall through to default
251
+ }
252
+ return homedir();
253
+ }
229
254
  /**
230
255
  * Find all JSONL session files for a given working directory.
256
+ * Resolves the Claude config directory from the user that owns the workDir,
257
+ * so the manager can read JSONL logs even when running as a different user.
231
258
  */
232
259
  function findAllSessionFiles(workDir) {
233
- const projectDir = pathToClaudeProjectDir(resolve(workDir));
234
- const claudeProjectsDir = join(homedir(), '.claude', 'projects', projectDir);
260
+ const resolvedWorkDir = resolve(workDir);
261
+ const projectDir = pathToClaudeProjectDir(resolvedWorkDir);
262
+ const home = resolveHomeDirForPath(resolvedWorkDir);
263
+ const claudeProjectsDir = join(home, '.claude', 'projects', projectDir);
235
264
  try {
236
265
  return readdirSync(claudeProjectsDir)
237
266
  .filter(f => f.endsWith('.jsonl'))
@@ -1 +1 @@
1
- {"version":3,"file":"token-usage-parser.js","sourceRoot":"","sources":["../../src/parsers/token-usage-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-usage-parser.js","sourceRoot":"","sources":["../../src/parsers/token-usage-parser.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hungry-ghost-hive",
3
- "version": "0.52.0",
3
+ "version": "0.52.1",
4
4
  "description": "AI Agent Orchestrator - Manages agile software development teams of AI agents",
5
5
  "type": "module",
6
6
  "bin": {
@@ -63,7 +63,8 @@ export async function captureAndPersistTokenUsage(
63
63
  }
64
64
 
65
65
  return await parseAndPersistTokenUsage(output, ctx, agentId, storyId);
66
- } catch {
66
+ } catch (err) {
67
+ console.error(`[token-capture] captureAndPersistTokenUsage failed for agent=${agentId}:`, err);
67
68
  return { captured: false, tokens: null, persisted: false };
68
69
  }
69
70
  }
@@ -104,7 +105,8 @@ export async function parseAndPersistTokenUsage(
104
105
  });
105
106
 
106
107
  return { captured: true, tokens, persisted: true };
107
- } catch {
108
+ } catch (err) {
109
+ console.error(`[token-capture] parseAndPersistTokenUsage failed for agent=${agentId}:`, err);
108
110
  return { captured: false, tokens: null, persisted: false };
109
111
  }
110
112
  }
@@ -171,7 +173,11 @@ export async function parseAndPersistTokenUsageIfChanged(
171
173
  });
172
174
 
173
175
  return { captured: true, tokens, persisted: true, changed: true };
174
- } catch {
176
+ } catch (err) {
177
+ console.error(
178
+ `[token-capture] parseAndPersistTokenUsageIfChanged failed for agent=${agentId}:`,
179
+ err
180
+ );
175
181
  return { captured: false, tokens: null, persisted: false, changed: false };
176
182
  }
177
183
  }
@@ -8,8 +8,9 @@
8
8
  * Also reads token usage directly from Claude Code's JSONL conversation logs.
9
9
  */
10
10
 
11
- import { readFileSync, readdirSync } from 'fs';
12
- import { homedir } from 'os';
11
+ import { execSync } from 'child_process';
12
+ import { readFileSync, readdirSync, statSync } from 'fs';
13
+ import { homedir, userInfo } from 'os';
13
14
  import { join, resolve } from 'path';
14
15
 
15
16
  export interface ParsedTokenUsage {
@@ -274,12 +275,43 @@ export function getTokenUsageForAgent(workDir: string): ParsedTokenUsage | null
274
275
  return { inputTokens: totalInput, outputTokens: totalOutput, totalTokens };
275
276
  }
276
277
 
278
+ /**
279
+ * Resolve the home directory for the OS user that owns a given path.
280
+ * Falls back to the current process's homedir() if detection fails.
281
+ */
282
+ function resolveHomeDirForPath(dirPath: string): string {
283
+ try {
284
+ const stat = statSync(dirPath);
285
+ const currentUid = userInfo().uid;
286
+
287
+ // If the directory is owned by the current user, just use homedir()
288
+ if (stat.uid === currentUid) {
289
+ return homedir();
290
+ }
291
+
292
+ // Look up the owning user's home directory via getent (POSIX)
293
+ const passwd = execSync(`getent passwd ${stat.uid}`, { encoding: 'utf-8' }).trim();
294
+ const fields = passwd.split(':');
295
+ if (fields.length >= 6 && fields[5]) {
296
+ return fields[5];
297
+ }
298
+ } catch {
299
+ // Fall through to default
300
+ }
301
+
302
+ return homedir();
303
+ }
304
+
277
305
  /**
278
306
  * Find all JSONL session files for a given working directory.
307
+ * Resolves the Claude config directory from the user that owns the workDir,
308
+ * so the manager can read JSONL logs even when running as a different user.
279
309
  */
280
310
  function findAllSessionFiles(workDir: string): string[] {
281
- const projectDir = pathToClaudeProjectDir(resolve(workDir));
282
- const claudeProjectsDir = join(homedir(), '.claude', 'projects', projectDir);
311
+ const resolvedWorkDir = resolve(workDir);
312
+ const projectDir = pathToClaudeProjectDir(resolvedWorkDir);
313
+ const home = resolveHomeDirForPath(resolvedWorkDir);
314
+ const claudeProjectsDir = join(home, '.claude', 'projects', projectDir);
283
315
 
284
316
  try {
285
317
  return readdirSync(claudeProjectsDir)