Read the automatic queue replay guide. Signatures below come from the published SDK declarations. Access SDK services through db; use their constructors only when integrating at a lower level.
AutoReplayOptions
interface AutoReplayOptions {
initial?: boolean;
retryDelay?: number;
maxRetryDelay?: number;
onResult?: (result: Result<WriteReceipt[]>) => void;
onError?: (error: NostrbaseError, result: Result<WriteReceipt[]>) => void;
}
AutoReplayStatus
interface AutoReplayStatus {
running: boolean;
inFlight: boolean;
failures: number;
nextRetryAt: number | null;
lastResult?: Result<WriteReceipt[]>;
}
Supporting declarations
These types appear in public signatures but are not package exports.
AutoReplayHost
interface AutoReplayHost {
auth: {
readonly revision: number;
readonly revisionSignal: AbortSignal;
readonly revisionSettled: boolean;
onRevisionSettled(callback: () => void): {
unsubscribe(): void;
};
getSession(): Promise<Result<Session>>;
onAuthStateChange(
callback: (event: AuthChange, session: Session | null) => void,
): {
data: {
subscription: {
unsubscribe(): void;
};
};
};
};
ready(): Promise<void>;
signal(signal?: AbortSignal): AbortSignal;
pending(pubkey: string): Promise<boolean>;
flush(signal: AbortSignal): Promise<Result<WriteReceipt[]>>;
watchReconnect?(wake: () => void): () => void;
}