fullcourtdefense-cli 1.21.37 → 1.21.38

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.
@@ -602,11 +602,21 @@ async function runDaemon(args, config) {
602
602
  .split(/\r?\n/).map(line => line.trim()).filter(Boolean).slice(-200).map(line => line.slice(0, 400));
603
603
  }
604
604
  catch { /* log unreadable — the bundle reports everything else */ }
605
+ // The hook's own log — what the developer's IDE actually experienced
606
+ // (verdicts, timeouts, fail-closed decisions). Metadata-only by default;
607
+ // content previews exist only when support opted into FCD_HOOK_DEBUG.
608
+ let hookLogTail = [];
609
+ try {
610
+ hookLogTail = fs.readFileSync(path.join(os.homedir(), '.fullcourtdefense-hook.log'), 'utf8')
611
+ .split(/\r?\n/).map(line => line.trim()).filter(Boolean).slice(-80).map(line => line.slice(0, 400));
612
+ }
613
+ catch { /* no hook activity on this machine yet */ }
605
614
  return {
606
615
  cliVersion: cliVersion(),
607
616
  platform: process.platform,
608
617
  collectedAt: new Date().toISOString(),
609
618
  daemonLogTail,
619
+ hookLogTail,
610
620
  updaterLogTail: (0, selfUpdate_1.readUpdaterLogTail)(60),
611
621
  distress: (0, distress_1.readDistressLedger)(),
612
622
  credentialTrace: (0, config_1.getCredentialResolutionTrace)(),
@@ -329,7 +329,7 @@ function maybeSelfUpdate(input) {
329
329
  if (attempts >= UPDATE_LOOP_THRESHOLD) {
330
330
  const updaterTail = readUpdaterLogTail(3);
331
331
  (0, distress_1.reportDistress)('self-update', distress_1.DISTRESS.UPDATE_LOOP, `target ${input.targetVersion} triggered ${attempts}x, still on ${input.currentVersion || 'unknown'}`
332
- + (updaterTail.length ? ` — updater.log: ${updaterTail[updaterTail.length - 1]}` : ' — updater.log unreadable (task may never have run)'));
332
+ + (updaterTail.length ? ` — updater.log: ${updaterTail.join(' | ')}` : ' — updater.log unreadable (task may never have run)'));
333
333
  }
334
334
  const kind = detectInstallKind();
335
335
  const result = kind === 'msi'
package/dist/version.json CHANGED
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "1.21.37"
2
+ "version": "1.21.38"
3
3
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fullcourtdefense-cli",
3
- "version": "1.21.37",
3
+ "version": "1.21.38",
4
4
  "description": "Full Court Defense CLI — security scanning for AI agents from your terminal",
5
5
  "main": "dist/index.js",
6
6
  "bin": {