import type { Express } from 'express'; import type { SecretProxyManager } from '../secrets/proxy-manager.js'; import { AgentActivityTracker } from './agent-activity.js'; export interface FetchProxyDeps { secretProxy: SecretProxyManager; activityTracker?: AgentActivityTracker; /** * Optional logger sink for per-request observability. Defaults to * `console`. Tests pass a silent sink so the route's logging doesn't * leak into test output. The bridge's silence on `Failed to fetch` * regressions was the original motivation — see issue tracker for * the thin-bridge curl diagnosis. */ logger?: Pick; } /** * Fetch proxy — forwards cross-origin requests from the browser to bypass * CORS (used by just-bash's curl, which calls the browser's fetch() API). * Note: express.json() may already have parsed the body, so collectRawBody * checks req.body first. */ export declare function registerFetchProxyRoute(app: Express, deps: FetchProxyDeps): void;