@dsiloed/silo-link 1.13.7 → 1.15.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.
Files changed (55) hide show
  1. package/dist/api/dsiloed-client.d.ts +5 -1
  2. package/dist/api/dsiloed-client.d.ts.map +1 -1
  3. package/dist/api/dsiloed-client.js +11 -6
  4. package/dist/api/dsiloed-client.js.map +1 -1
  5. package/dist/cli/commands.d.ts.map +1 -1
  6. package/dist/cli/commands.js +21 -5
  7. package/dist/cli/commands.js.map +1 -1
  8. package/dist/cli/file-log.d.ts +21 -0
  9. package/dist/cli/file-log.d.ts.map +1 -0
  10. package/dist/cli/file-log.js +52 -0
  11. package/dist/cli/file-log.js.map +1 -0
  12. package/dist/core/agent-launcher.d.ts +24 -0
  13. package/dist/core/agent-launcher.d.ts.map +1 -1
  14. package/dist/core/auto-updater.d.ts +9 -2
  15. package/dist/core/auto-updater.d.ts.map +1 -1
  16. package/dist/core/auto-updater.js +57 -36
  17. package/dist/core/auto-updater.js.map +1 -1
  18. package/dist/core/base-tmux-launcher.d.ts +73 -3
  19. package/dist/core/base-tmux-launcher.d.ts.map +1 -1
  20. package/dist/core/base-tmux-launcher.js +212 -14
  21. package/dist/core/base-tmux-launcher.js.map +1 -1
  22. package/dist/core/bridge.d.ts +38 -0
  23. package/dist/core/bridge.d.ts.map +1 -1
  24. package/dist/core/bridge.js +226 -7
  25. package/dist/core/bridge.js.map +1 -1
  26. package/dist/core/claude-launcher.d.ts +8 -2
  27. package/dist/core/claude-launcher.d.ts.map +1 -1
  28. package/dist/core/claude-launcher.js +19 -4
  29. package/dist/core/claude-launcher.js.map +1 -1
  30. package/dist/core/codex-launcher.d.ts +4 -2
  31. package/dist/core/codex-launcher.d.ts.map +1 -1
  32. package/dist/core/codex-launcher.js +7 -4
  33. package/dist/core/codex-launcher.js.map +1 -1
  34. package/dist/core/gemini-launcher.d.ts +4 -2
  35. package/dist/core/gemini-launcher.d.ts.map +1 -1
  36. package/dist/core/gemini-launcher.js +7 -4
  37. package/dist/core/gemini-launcher.js.map +1 -1
  38. package/dist/core/launcher-factory.d.ts +2 -1
  39. package/dist/core/launcher-factory.d.ts.map +1 -1
  40. package/dist/core/launcher-factory.js +5 -5
  41. package/dist/core/launcher-factory.js.map +1 -1
  42. package/dist/core/usage-ledger.d.ts +55 -0
  43. package/dist/core/usage-ledger.d.ts.map +1 -0
  44. package/dist/core/usage-ledger.js +82 -0
  45. package/dist/core/usage-ledger.js.map +1 -0
  46. package/dist/index.js +0 -0
  47. package/dist/mcp/server.d.ts +9 -0
  48. package/dist/mcp/server.d.ts.map +1 -1
  49. package/dist/mcp/server.js +50 -0
  50. package/dist/mcp/server.js.map +1 -1
  51. package/package.json +1 -1
  52. package/dist/core/baseline-verify.d.ts +0 -54
  53. package/dist/core/baseline-verify.d.ts.map +0 -1
  54. package/dist/core/baseline-verify.js +0 -164
  55. package/dist/core/baseline-verify.js.map +0 -1
@@ -1,7 +1,8 @@
1
1
  import os from 'node:os';
2
+ import { existsSync as fsExistsSync } from 'node:fs';
2
3
  import { execSync, execFileSync } from 'node:child_process';
3
4
  import { loadConfig, getMachineId } from '../config/config-manager.js';
4
- import { AutoUpdater } from '../core/auto-updater.js';
5
+ import { AutoUpdater, scheduleDetachedRestart } from '../core/auto-updater.js';
5
6
  import { PACKAGE_VERSION } from '../core/version.js';
6
7
  import { JwtGenerator } from '../config/jwt-generator.js';
7
8
  import { DSiloedClient } from '../api/dsiloed-client.js';
@@ -11,6 +12,7 @@ import { SessionManager } from '../core/session-manager.js';
11
12
  import { MessageQueue } from '../core/message-queue.js';
12
13
  import { SiloLinkMcpServer } from '../mcp/server.js';
13
14
  import { WorkspaceManager } from '../core/workspace-manager.js';
15
+ import { UsageLedger } from '../core/usage-ledger.js';
14
16
  import { createLauncher } from '../core/launcher-factory.js';
15
17
  /**
16
18
  * Decode an HS256 JWT payload without signature verification. Used to read
@@ -41,10 +43,18 @@ export class Bridge {
41
43
  launchers = new Map();
42
44
  defaultProvider;
43
45
  workspaceManager;
46
+ usageLedger;
44
47
  mcpServer;
45
48
  autoUpdater = null;
46
49
  shuttingDown = false;
47
50
  startedAt = null;
51
+ // Verdict of the last POST /probe self-check (see startSelfProbe): proves the
52
+ // MCP body-parse path works, which GET /health cannot. Reported in /health
53
+ // and the fleet heartbeat.
54
+ probeStatus = 'unknown';
55
+ probeTimer = null;
56
+ // One-shot guard: a broken-install self-heal must only schedule one restart.
57
+ selfHealing = false;
48
58
  // The env this daemon was started with (e.g. 'lead-tester'), or null for the
49
59
  // default env. Reported to the fleet dashboard and used by the auto-updater's
50
60
  // self-respawn command so the new process keeps the same env.
@@ -73,6 +83,15 @@ export class Bridge {
73
83
  // Reached only when the tmux is already gone (shouldEvict returned true),
74
84
  // so completing + broadcasting stop is safe — there's nothing to kill.
75
85
  if (session.agentSessionId) {
86
+ // Report final usage FIRST — the tmux is gone but the transcript is on
87
+ // disk, and this path previously completed the row without ever
88
+ // capturing usage (one of the exec-110 cost=0 loss paths).
89
+ try {
90
+ this.getLauncher(session.agentProvider).captureUsageForConversation(session.conversationId);
91
+ }
92
+ catch (err) {
93
+ console.error(`[SiloLink] Usage capture failed for idle-cleaned conv ${session.conversationId}:`, err);
94
+ }
76
95
  this.dsiloedClient.completeAgentSession(session.agentSessionId)
77
96
  .catch(err => console.error(`[SiloLink] Failed to complete idle agent session ${session.agentSessionId}:`, err));
78
97
  }
@@ -91,15 +110,16 @@ export class Bridge {
91
110
  });
92
111
  this.messageQueue = new MessageQueue();
93
112
  this.workspaceManager = new WorkspaceManager();
113
+ this.usageLedger = new UsageLedger();
94
114
  // Normalize the legacy 'openai' alias to 'codex'.
95
115
  const configuredProvider = this.config.agent_provider || 'claude';
96
116
  this.defaultProvider = configuredProvider === 'openai' ? 'codex' : configuredProvider;
97
117
  // Create launchers for all supported providers
98
- const claudeLauncher = createLauncher('claude', this.config, this.sessionManager, this.dsiloedClient, this.messageQueue, this.workspaceManager);
118
+ const claudeLauncher = createLauncher('claude', this.config, this.sessionManager, this.dsiloedClient, this.messageQueue, this.workspaceManager, this.usageLedger);
99
119
  this.launchers.set('claude', claudeLauncher);
100
- const geminiLauncher = createLauncher('gemini', this.config, this.sessionManager, this.dsiloedClient, this.messageQueue, this.workspaceManager);
120
+ const geminiLauncher = createLauncher('gemini', this.config, this.sessionManager, this.dsiloedClient, this.messageQueue, this.workspaceManager, this.usageLedger);
101
121
  this.launchers.set('gemini', geminiLauncher);
102
- const codexLauncher = createLauncher('codex', this.config, this.sessionManager, this.dsiloedClient, this.messageQueue, this.workspaceManager);
122
+ const codexLauncher = createLauncher('codex', this.config, this.sessionManager, this.dsiloedClient, this.messageQueue, this.workspaceManager, this.usageLedger);
103
123
  this.launchers.set('codex', codexLauncher);
104
124
  this.launchers.set('openai', codexLauncher); // alias
105
125
  // Default launcher is used for auto-launch on inbound messages
@@ -118,8 +138,101 @@ export class Bridge {
118
138
  workspaceManager: this.workspaceManager,
119
139
  launcher: defaultLauncher,
120
140
  startedAt: () => this.startedAt,
141
+ onModuleLoadFailure: (err) => this.selfHealBrokenInstall(err),
142
+ probeStatus: () => this.probeStatus,
121
143
  });
122
144
  }
145
+ /**
146
+ * The installed package's files were replaced/deleted under this running
147
+ * process (npm install/link while the daemon was up — see 2026-07-03 outage:
148
+ * every MCP POST 400'd for 14h while /health stayed green). The process can
149
+ * never serve MCP again; restart onto whatever is now on disk. The detached
150
+ * restarter inherits this process's env, so PATH/credentials survive.
151
+ */
152
+ selfHealBrokenInstall(err) {
153
+ this.probeStatus = 'failing';
154
+ if (this.selfHealing || this.shuttingDown)
155
+ return;
156
+ this.selfHealing = true;
157
+ console.error('[SiloLink] ══════════════════════════════════════════════════');
158
+ console.error(`[SiloLink] Install swapped under running daemon (${err.message}).`);
159
+ console.error('[SiloLink] MCP request path is permanently broken in this process — restarting onto the on-disk install.');
160
+ console.error('[SiloLink] ══════════════════════════════════════════════════');
161
+ scheduleDetachedRestart(this.env ?? undefined, 'Self-heal');
162
+ // Same safety net as the auto-updater: never let a wedged drain leave the
163
+ // broken process running.
164
+ const hardExit = setTimeout(() => {
165
+ console.error('[SiloLink] Self-heal: graceful stop timed out after 60s — forcing exit.');
166
+ process.exit(0);
167
+ }, 60_000);
168
+ hardExit.unref?.();
169
+ void this.stop();
170
+ }
171
+ /**
172
+ * POST a tiny JSON body to our own /probe endpoint. First call doubles as a
173
+ * warm-up (forces body-parser/iconv-lite to load lazy modules while the
174
+ * install is intact); later calls are a canary that catches an install swap
175
+ * within minutes instead of on the next real session's registration attempt.
176
+ * A failing probe routes through the MCP error middleware, which invokes
177
+ * selfHealBrokenInstall.
178
+ */
179
+ async selfProbe(label) {
180
+ try {
181
+ const res = await fetch(`http://127.0.0.1:${this.config.mcp_port}/probe`, {
182
+ method: 'POST',
183
+ headers: { 'Content-Type': 'application/json' },
184
+ body: JSON.stringify({ probe: label }),
185
+ signal: AbortSignal.timeout(10_000),
186
+ });
187
+ this.probeStatus = res.ok ? 'ok' : 'failing';
188
+ if (!res.ok) {
189
+ console.error(`[SiloLink] Self-probe (${label}) failed: HTTP ${res.status} — MCP POST path is broken.`);
190
+ }
191
+ }
192
+ catch (err) {
193
+ // Network-level failure to reach our own port — don't self-heal on this
194
+ // alone (could be transient during startup); just report it.
195
+ this.probeStatus = 'failing';
196
+ console.error(`[SiloLink] Self-probe (${label}) could not reach own MCP port: ${err.message}`);
197
+ }
198
+ }
199
+ startSelfProbe() {
200
+ void this.selfProbe('startup-warmup');
201
+ this.probeTimer = setInterval(() => { void this.selfProbe('periodic'); }, 300_000);
202
+ if (this.probeTimer.unref)
203
+ this.probeTimer.unref();
204
+ }
205
+ /**
206
+ * Boot-time preflight of the things a session launch needs but that only
207
+ * fail (silently, inside a dead tmux pane) at launch time: the agent CLI
208
+ * binary being resolvable, and — for Claude — credentials being present.
209
+ * Warnings only; never blocks startup.
210
+ */
211
+ startupLaunchSanityCheck() {
212
+ const launcher = this.getLauncher();
213
+ const preflight = launcher.preflightLaunchCheck?.();
214
+ if (preflight && !preflight.resolvedPath) {
215
+ console.error(` ⚠️ Agent CLI "${preflight.command}" was NOT found on this daemon's PATH or in known install locations.`);
216
+ console.error(' Session launches WILL fail. Start the daemon from a shell where the CLI resolves,');
217
+ console.error(' or set the command to an absolute path in the config (claude_command / gemini_command / codex_command).');
218
+ }
219
+ if (this.defaultProvider === 'claude') {
220
+ const hasEnvAuth = !!process.env.CLAUDE_CODE_OAUTH_TOKEN || !!process.env.ANTHROPIC_API_KEY;
221
+ const credFile = `${os.homedir()}/.claude/.credentials.json`;
222
+ const hasCredFile = (() => { try {
223
+ return fsExistsSync(credFile);
224
+ }
225
+ catch {
226
+ return false;
227
+ } })();
228
+ if (!hasEnvAuth && !hasCredFile) {
229
+ console.error(' ⚠️ No Claude Code credentials visible to this daemon (no CLAUDE_CODE_OAUTH_TOKEN /');
230
+ console.error(' ANTHROPIC_API_KEY in the environment, no ~/.claude/.credentials.json).');
231
+ console.error(' Spawned sessions may sit at "Not logged in · Please run /login" forever.');
232
+ console.error(' Start the daemon from a login shell that exports the credential, or log in once with `claude /login`.');
233
+ }
234
+ }
235
+ }
123
236
  /**
124
237
  * Get a launcher by provider, falling back to the default.
125
238
  */
@@ -193,6 +306,16 @@ export class Bridge {
193
306
  if (boundPort !== this.config.mcp_port) {
194
307
  this.config.mcp_port = boundPort;
195
308
  }
309
+ // Warm the JSON body-parse path now and re-verify it periodically — see
310
+ // selfProbe. Without this, a daemon whose install is swapped underneath it
311
+ // looks healthy on every existing signal while every MCP POST fails.
312
+ this.startSelfProbe();
313
+ // Fail loudly at boot if the agent CLI can't launch. Both halves of the
314
+ // 2026-07-04 relaunch failure were invisible until a session silently
315
+ // stalled: `claude` missing from a non-interactive PATH, and missing CC
316
+ // credentials. Neither stops the daemon (config may point elsewhere, other
317
+ // providers may work) — but the operator sees it at startup, not mid-run.
318
+ this.startupLaunchSanityCheck();
196
319
  // Start JWT auto-refresh
197
320
  this.jwt.startAutoRefresh((token) => {
198
321
  console.log(' JWT refreshed, reconnecting ActionCable...');
@@ -276,6 +399,9 @@ export class Bridge {
276
399
  agent_provider: this.defaultProvider,
277
400
  llm_agent_id: this.daemonLlmAgentId,
278
401
  idle: activeIds.length === 0,
402
+ // Whether the MCP POST path (what spawned sessions register through)
403
+ // actually works — 'failing' means daemon-up-but-broken (install swap).
404
+ mcp_post: this.probeStatus,
279
405
  timestamp: Date.now(),
280
406
  });
281
407
  }
@@ -312,8 +438,12 @@ export class Bridge {
312
438
  return;
313
439
  this.shuttingDown = true;
314
440
  console.log('\nSiloLink shutting down...');
315
- // Stop heartbeat, auto-updater, and notify frontend
441
+ // Stop heartbeat, self-probe, auto-updater, and notify frontend
316
442
  this.stopHeartbeat();
443
+ if (this.probeTimer) {
444
+ clearInterval(this.probeTimer);
445
+ this.probeTimer = null;
446
+ }
317
447
  this.autoUpdater?.stop();
318
448
  if (this.cableClient.getState() === 'connected') {
319
449
  this.cableClient.sendCommand('SilolinkControlChannel', {
@@ -327,6 +457,11 @@ export class Bridge {
327
457
  for (const launcher of this.launchers.values()) {
328
458
  launcher.destroy();
329
459
  }
460
+ // Wait (bounded) for the final usage reports destroy() just fired —
461
+ // process.exit() below would otherwise kill the POSTs mid-flight. (Their
462
+ // ledger entries would survive for the next startup's reconciliation
463
+ // sweep, but flushing now is cheaper than re-deriving later.)
464
+ await Promise.all(Array.from(new Set(this.launchers.values())).map(l => l.flushUsageReports()));
330
465
  // Then unregister all sessions and complete their agent sessions
331
466
  const sessions = this.sessionManager.getAll();
332
467
  for (const session of sessions) {
@@ -366,9 +501,16 @@ export class Bridge {
366
501
  // an older or misconfigured server can't tempt us into completing another
367
502
  // agent's active work. Keep null-id sessions (legacy / agent-less) as-is so
368
503
  // the daemon's startup cleanup of orphan sessions still works on those.
504
+ //
505
+ // Identity-less (personal) daemons get the MIRROR rule: only sessions with
506
+ // no llm_agent_id. Completing everything the server returned meant a
507
+ // personal-daemon restart mid-orchestration completed OTHER daemons' live
508
+ // sessions, and the server's agent_session_complete broadcast then killed
509
+ // their tmux (2026-07-04: personal restart killed orch-118's review
510
+ // session 19s after launch). Agent-owned rows are their own daemon's job.
369
511
  const eligible = this.daemonLlmAgentId
370
512
  ? response.filter(s => s.llm_agent_id == null || s.llm_agent_id === this.daemonLlmAgentId)
371
- : response;
513
+ : response.filter(s => s.llm_agent_id == null);
372
514
  const skipped = response.length - eligible.length;
373
515
  if (skipped > 0) {
374
516
  console.log(` Skipping ${skipped} active session(s) belonging to other agents (own agent_id=${this.daemonLlmAgentId})`);
@@ -390,6 +532,16 @@ export class Bridge {
390
532
  if (storedResumeId) {
391
533
  this.getLauncher().setLastResumeId(storedResumeId);
392
534
  }
535
+ // Recover usage BEFORE completing: the previous daemon may have died
536
+ // without its final report (the exec-110 cost=0 failure mode). The
537
+ // transcript is still on disk; the ledger entry (or Rails metadata's
538
+ // resume id) locates it, and the report is idempotent server-side.
539
+ await this.reconcileSessionUsage({
540
+ conversationId: session.llm_conversation_id ?? 0,
541
+ agentSessionId: session.id,
542
+ codingAgent: meta?.coding_agent,
543
+ cliSessionId: storedResumeId,
544
+ });
393
545
  try {
394
546
  await this.dsiloedClient.completeAgentSession(session.id);
395
547
  console.log(` Completed stale session ${session.id} (${session.session_name || 'unnamed'})`);
@@ -403,6 +555,19 @@ export class Bridge {
403
555
  catch (err) {
404
556
  console.warn(' Could not clean up stale sessions (non-fatal):', err);
405
557
  }
558
+ // Settle any REMAINING ledger entries — sessions whose Rails row was already
559
+ // completed elsewhere (orchestration engine, another path) while the daemon
560
+ // was down, so they never show up in the active-sessions sweep above but
561
+ // still have unreported usage. report_usage accepts ended sessions when
562
+ // addressed by agent_session_id.
563
+ for (const entry of this.usageLedger.getAll()) {
564
+ await this.reconcileSessionUsage({
565
+ conversationId: entry.conversationId,
566
+ agentSessionId: entry.agentSessionId,
567
+ codingAgent: entry.cliType,
568
+ cliSessionId: entry.cliSessionId,
569
+ });
570
+ }
406
571
  // Subscribe to ALL SiloLink conversations so inbound messages trigger auto-launch
407
572
  try {
408
573
  const allConversations = await this.dsiloedClient.getSiloLinkConversations();
@@ -426,6 +591,39 @@ export class Bridge {
426
591
  }
427
592
  // resyncWorkspaceAgentSessions removed — agent sessions are only created
428
593
  // when a real Claude session launches and registers, not as placeholders on startup.
594
+ /**
595
+ * Startup-sweep usage recovery for ONE session from a prior daemon run.
596
+ * Enriches the target with the persisted ledger entry (cwd, CLI session id),
597
+ * routes to the launcher whose transcript locator understands the session's
598
+ * CLI, and settles the ledger entry unless the report FAILED (a failed
599
+ * report keeps the entry so the next startup retries). Never throws — usage
600
+ * recovery must not block daemon startup.
601
+ */
602
+ async reconcileSessionUsage(target) {
603
+ const ledgerEntry = target.conversationId ? this.usageLedger.get(target.conversationId) : undefined;
604
+ // Trust the ledger's agent-session binding only when it matches — a
605
+ // relaunched conversation may have a newer entry than the stale session
606
+ // being swept, and cross-reporting would misattribute the usage.
607
+ const entryMatches = ledgerEntry?.agentSessionId === target.agentSessionId;
608
+ const launcher = this.getLauncher(target.codingAgent ?? ledgerEntry?.cliType);
609
+ try {
610
+ const outcome = await launcher.reconcileUsage({
611
+ conversationId: target.conversationId,
612
+ agentSessionId: target.agentSessionId,
613
+ cwd: entryMatches ? ledgerEntry?.cwd : undefined,
614
+ cliSessionId: target.cliSessionId ?? (entryMatches ? ledgerEntry?.cliSessionId : undefined),
615
+ });
616
+ if (outcome === 'reported') {
617
+ console.log(` Recovered unreported usage for agent session ${target.agentSessionId} (conv ${target.conversationId})`);
618
+ }
619
+ if (outcome !== 'failed' && entryMatches) {
620
+ this.usageLedger.remove(target.conversationId);
621
+ }
622
+ }
623
+ catch (err) {
624
+ console.warn(` Usage reconciliation failed for agent session ${target.agentSessionId} (non-fatal):`, err);
625
+ }
626
+ }
429
627
  /**
430
628
  * Handle commands received from the SiloLink control channel.
431
629
  * These are broadcast by the PortableMind UI via the API.
@@ -544,7 +742,28 @@ export class Bridge {
544
742
  this.sessionManager.setPendingProvider(convId, providerName);
545
743
  }
546
744
  const launched = await launcher.launchInternal('control-channel', convId);
547
- console.log(`[SiloLink] Launch command result: ${launched ? 'started' : 'skipped (already running?)'}`);
745
+ console.log(`[SiloLink] Launch command result: ${launched ? 'started' : 'FAILED (or already running)'}`);
746
+ // A failed launch used to be invisible to the platform: the daemon had
747
+ // already posted "Starting session...", so the conversation (and any
748
+ // orchestration stage waiting on it) just went silent until a watchdog
749
+ // timed out hours later. Tell the conversation AND the control channel.
750
+ if (!launched && convId) {
751
+ this.dsiloedClient.postMessage(convId, '**[SiloLink]** ⚠️ Session launch FAILED on this machine (agent CLI missing/unlaunchable, tmux failure, or a duplicate in-flight launch). Check the daemon log. The daemon is healthy; retry by sending another message.').catch(err => console.error('[SiloLink] Failed to post launch-failure message:', err));
752
+ const failPayload = {
753
+ type: 'session_launch_failed',
754
+ conversation_id: convId,
755
+ machine_id: this.machineId,
756
+ env: this.env,
757
+ timestamp: Date.now(),
758
+ };
759
+ if (cmd.orchestration_stage_execution_id) {
760
+ failPayload.orchestration_stage_execution_id = cmd.orchestration_stage_execution_id;
761
+ }
762
+ if (cmd.orchestration_execution_id) {
763
+ failPayload.orchestration_execution_id = cmd.orchestration_execution_id;
764
+ }
765
+ this.cableClient.sendCommand('SilolinkControlChannel', failPayload);
766
+ }
548
767
  // Report tmux session name back for EVERY successful launch, not
549
768
  // only orchestration-driven ones. The server-side handler stores
550
769
  // it on the AgentSession metadata so peek / UI tooling has a
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/core/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/core/bridge.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import type { SessionManager } from './session-manager.js';
3
3
  import type { MessageQueue } from './message-queue.js';
4
4
  import type { DSiloedClient } from '../api/dsiloed-client.js';
5
5
  import type { WorkspaceManager } from './workspace-manager.js';
6
+ import type { UsageLedger } from './usage-ledger.js';
6
7
  import { BaseTmuxLauncher } from './base-tmux-launcher.js';
7
8
  import { type UsageEntry } from './transcript-usage.js';
8
9
  /**
@@ -17,10 +18,14 @@ import { type UsageEntry } from './transcript-usage.js';
17
18
  */
18
19
  export declare class ClaudeLauncher extends BaseTmuxLauncher {
19
20
  private childProcess;
20
- constructor(config: SiloLinkConfig, sessionManager: SessionManager, dsiloedClient?: DSiloedClient, messageQueue?: MessageQueue, workspaceManager?: WorkspaceManager);
21
+ constructor(config: SiloLinkConfig, sessionManager: SessionManager, dsiloedClient?: DSiloedClient, messageQueue?: MessageQueue, workspaceManager?: WorkspaceManager, usageLedger?: UsageLedger);
21
22
  protected getCommand(): string;
22
23
  protected getArgs(): string[];
23
24
  protected getReadyIndicator(): string[];
25
+ /** Claude installer's shim location, tried when `claude` isn't on PATH. */
26
+ protected getExtraCommandDirs(): string[];
27
+ /** Claude Code's unauthenticated banner (sits at this prompt forever). */
28
+ protected getAuthFailurePattern(): RegExp | null;
24
29
  /** Wait 5s before checking — Claude Code shows ❯ in its welcome screen before it's ready */
25
30
  protected getMinReadyWaitMs(): number;
26
31
  /** Wait 3s after ready for npx mcp-remote servers to finish connecting */
@@ -102,9 +107,10 @@ export declare class ClaudeLauncher extends BaseTmuxLauncher {
102
107
  protected getSessionPrompt(): string | undefined;
103
108
  protected getAgentEnv(): Record<string, string>;
104
109
  protected getTmuxPrefix(): string;
110
+ protected getCliType(): string;
105
111
  protected getLogTag(): string;
106
112
  protected getCostMetadataKey(): string;
107
- protected extractTranscriptUsage(cwd: string): {
113
+ protected extractTranscriptUsage(cwd: string, cliSessionId?: string | null): {
108
114
  cli_type: string;
109
115
  cost_basis: 'real' | 'imputed';
110
116
  usage: UsageEntry[];
@@ -1 +1 @@
1
- {"version":3,"file":"claude-launcher.d.ts","sourceRoot":"","sources":["../../src/core/claude-launcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-launcher.d.ts","sourceRoot":"","sources":["../../src/core/claude-launcher.ts"],"names":[],"mappings":"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"}
@@ -16,8 +16,8 @@ import { locateClaudeTranscript, parseClaudeTranscript, claudeCostBasis, isResum
16
16
  */
17
17
  export class ClaudeLauncher extends BaseTmuxLauncher {
18
18
  childProcess = null;
19
- constructor(config, sessionManager, dsiloedClient, messageQueue, workspaceManager) {
20
- super(config, sessionManager, dsiloedClient, messageQueue, workspaceManager);
19
+ constructor(config, sessionManager, dsiloedClient, messageQueue, workspaceManager, usageLedger) {
20
+ super(config, sessionManager, dsiloedClient, messageQueue, workspaceManager, usageLedger);
21
21
  }
22
22
  // --- Abstract implementation ---
23
23
  getCommand() {
@@ -38,6 +38,14 @@ export class ClaudeLauncher extends BaseTmuxLauncher {
38
38
  getReadyIndicator() {
39
39
  return ['❯'];
40
40
  }
41
+ /** Claude installer's shim location, tried when `claude` isn't on PATH. */
42
+ getExtraCommandDirs() {
43
+ return [join(homedir(), '.claude', 'local')];
44
+ }
45
+ /** Claude Code's unauthenticated banner (sits at this prompt forever). */
46
+ getAuthFailurePattern() {
47
+ return /Not logged in|Please run \/login|\/login to continue/i;
48
+ }
41
49
  /** Wait 5s before checking — Claude Code shows ❯ in its welcome screen before it's ready */
42
50
  getMinReadyWaitMs() { return 5000; }
43
51
  /** Wait 3s after ready for npx mcp-remote servers to finish connecting */
@@ -447,6 +455,9 @@ export class ClaudeLauncher extends BaseTmuxLauncher {
447
455
  getTmuxPrefix() {
448
456
  return 'silolink-claude';
449
457
  }
458
+ getCliType() {
459
+ return 'claude';
460
+ }
450
461
  getLogTag() {
451
462
  return '[ClaudeLauncher]';
452
463
  }
@@ -456,8 +467,8 @@ export class ClaudeLauncher extends BaseTmuxLauncher {
456
467
  // Token-level usage from the Claude Code transcript on disk, located by the
457
468
  // resumed session id (filename is <sessionId>.jsonl) or the launch cwd.
458
469
  // cost_basis reflects auth mode (API key = real $, subscription = imputed).
459
- extractTranscriptUsage(cwd) {
460
- const transcriptPath = locateClaudeTranscript(cwd, this.lastSessionId);
470
+ extractTranscriptUsage(cwd, cliSessionId) {
471
+ const transcriptPath = locateClaudeTranscript(cwd, cliSessionId ?? this.lastSessionId);
461
472
  if (!transcriptPath)
462
473
  return null;
463
474
  const usage = parseClaudeTranscript(readFileSync(transcriptPath, 'utf-8'));
@@ -667,6 +678,10 @@ export class ClaudeLauncher extends BaseTmuxLauncher {
667
678
  if (!this.lastSessionId && rid) {
668
679
  this.setLastResumeId(rid);
669
680
  }
681
+ // Report final usage before completing the row — the process is dead but
682
+ // its transcript is on disk (cwd/ids resolved via the usage ledger since
683
+ // the tmux map is empty on this path).
684
+ this.captureUsageFromTranscript(s.conversationId, true);
670
685
  this.completeAgentSessionRow(s, 'process-dead');
671
686
  this.sessionManager.unregister(s.sessionId);
672
687
  }