diff --git a/bin/gstack-global-discover.ts b/bin/gstack-global-discover.ts index 7f0714100..79189e42a 100644 --- a/bin/gstack-global-discover.ts +++ b/bin/gstack-global-discover.ts @@ -273,7 +273,7 @@ function resolveClaudeCodeCwd( return null; } -function extractCwdFromJsonl(filePath: string): string | null { +export function extractCwdFromJsonl(filePath: string): string | null { // Read a capped prefix so huge JSONL files don't blow up memory. 64KB // comfortably fits the largest observed session headers; the old 8KB cap // would sometimes fall inside a single long line and silently drop the diff --git a/browse/src/meta-commands.ts b/browse/src/meta-commands.ts index bbd90f62d..32bc1344f 100644 --- a/browse/src/meta-commands.ts +++ b/browse/src/meta-commands.ts @@ -136,7 +136,7 @@ function parsePdfArgs(args: string[]): ParsedPdfArgs { return result; } -function parsePdfFromFile(payloadPath: string): ParsedPdfArgs { +export function parsePdfFromFile(payloadPath: string): ParsedPdfArgs { // Parity with load-html --from-file (browse/src/write-commands.ts) and // the direct load-html path: every caller-supplied file path // must pass validateReadPath so the safe-dirs policy can't be skirted diff --git a/browse/src/security-classifier.ts b/browse/src/security-classifier.ts index 7d8029b3a..54f770c79 100644 --- a/browse/src/security-classifier.ts +++ b/browse/src/security-classifier.ts @@ -135,7 +135,7 @@ export function getClassifierStatus(): ClassifierStatus { // ─── Model download + staging ──────────────────────────────── -async function downloadFile(url: string, dest: string): Promise { +export async function downloadFile(url: string, dest: string): Promise { const res = await fetch(url); if (!res.ok || !res.body) { throw new Error(`Failed to fetch ${url}: ${res.status} ${res.statusText}`);