eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
38 lines (37 loc) • 1.63 kB
TypeScript
import type { DeliverPayload, SubagentInputRequestHookPayload } from "#channel/types.js";
import type { HarnessEmitFn, HarnessSession, SessionStateMap } from "#harness/types.js";
import type { RunMode } from "#shared/run-mode.js";
import type { InputResponse } from "#runtime/input/types.js";
/**
* Runs the parent-side work for a `subagent-input-request`. Conversation
* mode emits a waiting boundary on the parent stream; the returned proxy
* entries route the eventual response back down to the child.
*/
export declare function emitProxiedInputRequest(input: {
readonly emit: HarnessEmitFn;
readonly hookPayload: SubagentInputRequestHookPayload;
readonly mode: RunMode;
readonly session: HarnessSession;
}): Promise<{
readonly entries: readonly (readonly [requestId: string, childContinuationToken: string])[];
readonly session: HarnessSession;
}>;
/**
* Outcome of splitting one deliver payload by the session's proxy map.
* `forSelf` is the parent-local remainder (or `undefined` when fully
* routed); `forChildren` carries one entry per descendant token.
*/
export interface RoutedDeliverPayload {
readonly forChildren: readonly {
readonly childContinuationToken: string;
readonly payload: {
readonly inputResponses: readonly InputResponse[];
};
}[];
readonly forSelf: DeliverPayload | undefined;
}
/** Splits a deliver payload into parent-local and proxied-child buckets. */
export declare function routeDeliverPayload(input: {
readonly payload: DeliverPayload;
readonly state: SessionStateMap | undefined;
}): RoutedDeliverPayload;