eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
36 lines • 1.62 kB
TypeScript
import type { CreateEventParams } from '#compiled/@workflow/world/index.js';
/**
* Invocation-scoped, one-shot reporter for a replay-divergence recovery.
*
* The reporter stays dormant until replay reaches a valid deterministic
* boundary. The first subsequent event write carries the telemetry for free.
* A recovered invocation with no natural event write intentionally reports
* nothing.
*/
export declare class ReplayRecoveryReporter {
private readonly divergenceCount;
private active;
private reported;
constructor(divergenceCount: number);
/**
* A reporter for an invocation that never diverged: `activate()` cannot arm
* it, so `withEventCreate` always passes writes through untouched. Lets every
* call site hold a non-optional reporter instead of branching on one.
*
* Structurally inert rather than a zero-count reporter on purpose: the
* server rejects a count below 1 as out-of-range and emits a
* `telemetry_rejected` metric, so a reporter that *can* report zero is a
* live footgun.
*/
static inert(): ReplayRecoveryReporter;
activate(): void;
/**
* Decorate one natural event write with recovery telemetry.
*
* The claim is taken synchronously, so concurrent suspension writes cannot
* all carry the same count. A failed request releases it for a later natural
* write in the same invocation.
*/
withEventCreate<T>(params: CreateEventParams | undefined, create: (params: CreateEventParams | undefined) => Promise<T>): Promise<T>;
}
//# sourceMappingURL=replay-recovery-reporter.d.ts.map