feat(companion): add pending work snapshot helper

This commit is contained in:
William Valentin
2026-02-16 21:57:34 -08:00
parent c5bc2c1754
commit b4cef5235e
7 changed files with 95 additions and 2 deletions
+14
View File
@@ -47,6 +47,12 @@ export interface WaitForIdleOptions {
signal?: AbortSignal;
}
export interface PendingWorkSnapshot {
pendingRequestCount: number;
pendingEventWaitCount: number;
hasPendingWork: boolean;
}
export type CompanionEventHandler = (event: string, data: unknown) => void;
export type CompanionTypedEventHandler<TData = unknown> = (data: TData) => void;
export type CompanionEventPredicate<TData = unknown> = (data: TData) => boolean;
@@ -320,6 +326,14 @@ export class CompanionRuntimeClient {
return this.pendingRequestCount > 0 || this.pendingEventWaitCount > 0;
}
getPendingWorkSnapshot(): PendingWorkSnapshot {
return {
pendingRequestCount: this.pendingRequestCount,
pendingEventWaitCount: this.pendingEventWaitCount,
hasPendingWork: this.hasPendingWork,
};
}
async connect(): Promise<void> {
if (this.connected) {
return;