/** * Session management for APIClaw MCP server * Stores session token locally at ~/.apiclaw/session */ export interface SessionData { sessionToken: string; workspaceId: string; email: string; createdAt: number; } /** * Read session from ~/.apiclaw/session * Returns null if no session file exists or if it's invalid */ export declare function readSession(): SessionData | null; /** * Write session to ~/.apiclaw/session */ export declare function writeSession(sessionToken: string, workspaceId: string, email: string): void; /** * Clear session file */ export declare function clearSession(): void; /** * Get machine fingerprint (for session binding) * Uses hostname + username as a simple fingerprint */ export declare function getMachineFingerprint(): string; /** hostname:username — username is after the last colon. */ export declare function splitMachineFingerprint(fingerprint: string): { hostname: string; username: string; }; /** * Scanner / GitHub Actions fingerprints that must not count as human. * Keep in sync with convex/funnel.ts classifyFingerprint. * DESKTOP-* is a real machine — never bot. */ export declare function classifyMachineFingerprint(fingerprint?: string | null): "bot" | "ci" | null; /** * Detect which MCP client is running the server * Priority: explicit env (set by mcp-install) → known env hints → fallback */ export declare function detectMCPClient(): string; //# sourceMappingURL=session.d.ts.map