eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
35 lines • 1.67 kB
TypeScript
/**
* Builds a workflow suspension log message based on the counts of steps,
* hooks, and waits. The structured logger attaches the run context, so the
* message itself only describes what's being enqueued.
* @param stepCount - Number of steps to be enqueued
* @param hookCount - Number of hooks to be enqueued
* @param waitCount - Number of waits to be enqueued
* @returns The formatted log message or null if all counts are 0
*/
export declare function buildWorkflowSuspensionMessage(stepCount: number, hookCount: number, waitCount: number): string | null;
/**
* Generates a stream ID for a workflow run.
* User-defined streams include a "user" segment for isolation from future system-defined streams.
* Namespaces are base64-encoded to handle characters not allowed in Redis key names.
*
* @param runId - The workflow run ID
* @param namespace - Optional namespace for the stream
* @returns The stream ID in format: `strm_{ULID}_user_{base64(namespace)?}`
*/
export declare function getWorkflowRunStreamId(runId: string, namespace?: string): string;
/**
* Generate a stream ID for an abort signal's backing stream.
* Uses the "_system_abort" namespace to isolate from user-defined streams.
*
* @param id - A unique identifier (typically a ULID)
* @returns The stream ID in format: `strm_{id}_system_abort`
*/
export declare function getAbortStreamId(id: string): string;
/**
* Derive the abort stream name from a hook token.
* Hook tokens use the format `abrt_{id}`, and the corresponding stream is
* `strm_{id}_system_abort`.
*/
export declare function getAbortStreamIdFromToken(hookToken: string): string;
//# sourceMappingURL=util.d.ts.map