langsmith
Version:
Client library to connect to the LangSmith Observability and Evaluation Platform.
21 lines (20 loc) • 812 B
TypeScript
export interface OAuthRefreshLock {
release(): Promise<void>;
}
declare function lockOwner(lockDir: string): string | undefined;
/**
* Acquire an exclusive cross-process lock for refreshing OAuth tokens.
*
* Uses an atomic-`mkdir` directory lock at `<configPath>.oauth.lock.lock` with a
* stale-break heuristic and owner-checked release, mirroring langsmith-go's
* non-POSIX path. `deadline` is a `Date.now()`-based timestamp; acquisition
* rejects once it passes. Callers treat any rejection as "skip refresh, use the
* current token".
*/
export declare function acquireOAuthRefreshLock(configPath: string, deadline: number): Promise<OAuthRefreshLock>;
export declare const _internal: {
LOCK_METADATA_FILE: string;
LOCK_STALE_AFTER_MS: number;
lockOwner: typeof lockOwner;
};
export {};