/** * Solid OIDC authentication helpers for CLI. * * Two auth channels: * 1. Session (via @inrupt/solid-client-authn-node) — for Pod operations (drizzle-solid) * 2. CSS client credentials wrapper (sk-xxx format) — for xpod API calls (LLM proxy, etc.) * * The wrapper is derived from client_id:client_secret and used by xpod's * ClientCredentialsAuthenticator to authenticate API requests. */ import { Session } from '@inrupt/solid-client-authn-node'; export { Session } from '@inrupt/solid-client-authn-node'; export interface PodAuth { session: Session; apiKey: string; } /** * Authenticate with the Pod server. * * Returns both a Session (for Pod CRUD) and a client credentials wrapper (for xpod API). */ export declare function authenticate(clientId: string, clientSecret: string, oidcIssuer: string): Promise; export interface SolidTokenResult { accessToken: string; tokenType: string; expiresAt: Date; } /** @deprecated Use authenticate() instead. */ export declare function getAccessToken(clientId: string, clientSecret: string, baseUrl: string): Promise; /** @deprecated Use session.fetch() from authenticate() instead. */ export declare function authenticatedFetch(url: string, token: string, init?: RequestInit): Promise;