eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
21 lines (20 loc) • 996 B
TypeScript
import type { DeliverHookPayload, HookPayload } from "#channel/types.js";
/** Reads and rekeys the public delivery hook for one session driver. */
export interface SessionDeliveryHook {
consumeNext(): void;
next(): Promise<IteratorResult<HookPayload>>;
rekey(token: string): Promise<void>;
}
/** Adds workflow-entry lifecycle ownership to a session delivery hook. */
export interface SessionDeliveryHookHandle extends SessionDeliveryHook {
dispose(): Promise<void>;
}
/**
* Creates the public delivery hook used by `workflowEntry`.
*
* Retired hooks are disposed immediately, but their already-armed reads stay
* in the logical hook's delivery race. A delivery that committed before disposal can
* therefore still resolve on replay; a later delivery loses the storage race
* to `hook_disposed` and receives `HookNotFoundError` from the Workflow SDK.
*/
export declare function createSessionDeliveryHook(bufferedDeliveries: DeliverHookPayload[]): SessionDeliveryHookHandle;