eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
36 lines (35 loc) • 1.62 kB
TypeScript
import type { PreparedRuntimeDelegationTool } from "#runtime/sessions/turn.js";
import type { ResolvedDynamicSubagentDefinition, ResolvedRuntimeDelegationNode } from "#runtime/types.js";
import type { JsonObject } from "#shared/json.js";
/**
* One runtime-owned subagent tracked by the prepared registry.
*/
interface RuntimeRegisteredSubagent {
readonly definition: ResolvedRuntimeDelegationNode;
readonly prepared?: PreparedRuntimeDelegationTool;
}
export interface ResolvedDynamicSubagentResolver extends ResolvedDynamicSubagentDefinition {
readonly kind: "subagent";
readonly name: string;
readonly nodeId: string;
}
/**
* Runtime-owned registry that exposes resolved subagents as model-visible tools.
*/
export interface RuntimeSubagentRegistry {
readonly dynamicNodeIds: ReadonlySet<string>;
readonly dynamicResolvers: readonly ResolvedDynamicSubagentResolver[];
readonly preparedTools: readonly PreparedRuntimeDelegationTool[];
readonly subagentsByName: ReadonlyMap<string, RuntimeRegisteredSubagent>;
readonly subagentsByNodeId: ReadonlyMap<string, RuntimeRegisteredSubagent>;
}
/**
* Builds the runtime-owned registry for the resolved subagents visible from one
* runtime agent node.
*/
export declare function createRuntimeSubagentRegistry(input: {
readonly reservedToolNames?: readonly string[];
readonly subagents: readonly ResolvedRuntimeDelegationNode[];
}): RuntimeSubagentRegistry;
export declare function createPreparedRuntimeSubagentTool(definition: ResolvedRuntimeDelegationNode, inputSchema?: JsonObject): PreparedRuntimeDelegationTool;
export {};