eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
38 lines (37 loc) • 1.91 kB
TypeScript
import type { SubagentInputRequestHookPayload } from "#channel/types.js";
import type { HarnessSession, SessionStateMap } from "#harness/types.js";
/**
* Returns the proxy-routing map as a fresh `Map`. Never returns a live
* reference so accidental mutation cannot corrupt session state.
*/
export declare function getProxyInputRequests(state: SessionStateMap | undefined): ReadonlyMap<string, string>;
/**
* Returns true when the session is currently proxying one or more
* HITL requests on behalf of a descendant subagent.
*/
export declare function hasProxyInputRequests(state: SessionStateMap | undefined): boolean;
/**
* Replaces prior entries for `forChildContinuationToken` with the
* provided ones. A child raising a fresh batch overwrites its prior
* batch — the parent never keeps stale request metadata.
*/
export declare function upsertProxyInputRequests(input: {
readonly entries: readonly (readonly [requestId: string, childContinuationToken: string])[];
readonly forChildContinuationToken: string;
readonly session: HarnessSession;
}): HarnessSession;
/**
* Removes every entry for `childContinuationToken`. Called when a
* child subagent finishes so stale clicks no longer route to it.
*/
export declare function clearProxyInputRequestsForChild(session: HarnessSession, childContinuationToken: string): HarnessSession;
/**
* Removes every proxy entry. Called when a cancelled turn orphans its
* descendants so stale HITL responses no longer route to them.
*/
export declare function clearAllProxyInputRequests(session: HarnessSession): HarnessSession;
/**
* Projects a {@link SubagentInputRequestHookPayload} into the
* `(requestId, childContinuationToken)` tuples the session stores.
*/
export declare function toProxyInputRequestEntries(payload: SubagentInputRequestHookPayload): readonly (readonly [requestId: string, childContinuationToken: string])[];