UNPKG

eve

Version:

Filesystem-first framework for durable backend AI agents that run anywhere.

207 lines (206 loc) 8.17 kB
import type { AgentInfoData, CompiledAgentManifest, CompiledSubagentNode, ResolvedScheduleDefinition } from "#internal/nitro/routes/agent-info/load-agent-info-data.js"; import type { ResolvedChannelDefinition, ResolvedToolDefinition } from "#runtime/types.js"; import type { AgentReasoningDefinition, ModelRouting } from "#shared/agent-definition.js"; import type { ModelEndpointStatus } from "#shared/model-endpoint-status.js"; export interface AgentInfoSource { readonly exportName?: string; readonly logicalPath: string; readonly sourceId?: string; readonly sourceKind: string; } export interface AgentInfoToolEntry extends AgentInfoSource { readonly description: string; readonly hasAuth: boolean; readonly hasExecute: boolean; readonly hasModelOutputProjection: boolean; readonly hasOutputSchema: boolean; readonly inputSchema: unknown; readonly name: string; readonly origin: "authored" | "framework"; readonly outputSchema: unknown; readonly replacesFrameworkTool: boolean; readonly requiresApproval: boolean; } export interface AgentInfoFrameworkToolEntry extends AgentInfoToolEntry { readonly disabledByAuthor: boolean; readonly replacedByAuthoredTool: boolean; readonly status: "active" | "disabled" | "replaced"; } export interface AgentInfoDynamicResolverEntry extends AgentInfoSource { readonly eventNames: readonly string[]; readonly origin: "authored" | "framework"; readonly slug: string; } export interface AgentInfoTools { readonly available: readonly AgentInfoToolEntry[]; readonly authored: readonly AgentInfoToolEntry[]; readonly disabledFramework: readonly string[]; readonly dynamic: readonly AgentInfoDynamicResolverEntry[]; readonly framework: readonly AgentInfoFrameworkToolEntry[]; readonly reserved: readonly string[]; } export interface AgentInfoSkillEntry extends AgentInfoSource { readonly description: string; readonly license?: string; readonly markdown: string; readonly metadata?: Readonly<Record<string, string>>; readonly name: string; } export interface AgentInfoInstructionsEntry extends AgentInfoSource { readonly markdown: string; readonly name: string; } export interface AgentInfoInstructions { readonly dynamic: readonly AgentInfoDynamicResolverEntry[]; readonly static: AgentInfoInstructionsEntry | null; } export interface AgentInfoScheduleEntry extends AgentInfoSource { readonly cron: string; readonly hasRun: boolean; readonly markdown?: string; readonly name: string; } export interface AgentInfoSubagentEntry extends AgentInfoSource { readonly description: string; readonly entryPath: string; readonly name: string; readonly nodeId: string; readonly rootPath: string; readonly summary: { readonly channels: number; readonly connections: number; readonly hooks: number; readonly instructions: boolean; readonly schedules: number; readonly skills: number; readonly tools: number; }; } export interface AgentInfoChannelEntry extends AgentInfoSource { readonly adapterKind?: string; readonly method: string; readonly name: string; readonly origin: "authored" | "framework"; readonly urlPath: string; } export interface AgentInfoFrameworkChannelEntry extends AgentInfoChannelEntry { readonly disabledByAuthor: boolean; readonly replacedByAuthoredChannel: boolean; readonly status: "active" | "disabled" | "replaced"; } export interface AgentInfoChannels { readonly authored: readonly AgentInfoChannelEntry[]; readonly available: readonly AgentInfoChannelEntry[]; readonly disabledFramework: readonly string[]; readonly framework: readonly AgentInfoFrameworkChannelEntry[]; } export interface AgentInfoConnectionEntry extends AgentInfoSource { readonly connectionName: string; readonly description: string; readonly hasApproval: boolean; readonly hasAuthorization: boolean; readonly hasHeaders: boolean; readonly protocol: string; readonly toolFilter?: unknown; readonly url: string; } export interface AgentInfoHookEntry extends AgentInfoSource { readonly eventNames: readonly string[]; readonly slug: string; } export interface AgentInfoSandboxEntry extends AgentInfoSource { readonly backendKind?: string; readonly description?: string; readonly hasBootstrap: boolean; readonly hasOnSession: boolean; readonly revalidationKey?: string; readonly sourceHash?: string; } export interface AgentInfoDiagnostics { readonly discoveryErrors: number; readonly discoveryWarnings: number; } export interface AgentInfoResponse { readonly agent: { readonly agentRoot: string; readonly appRoot: string; readonly configSource?: AgentInfoSource; readonly description?: string; readonly model: { readonly contextWindowTokens?: number; readonly id: string; readonly providerOptions?: unknown; /** The agent's authored reasoning effort, forwarded to the model call. */ readonly reasoning?: AgentReasoningDefinition; readonly source?: AgentInfoSource; readonly routing?: ModelRouting; readonly endpoint?: ModelEndpointStatus; }; readonly name: string; readonly outputSchema?: unknown; }; readonly capabilities: { readonly devRoutes: boolean; }; readonly channels: AgentInfoChannels; readonly connections: readonly AgentInfoConnectionEntry[]; readonly diagnostics: AgentInfoDiagnostics; readonly hooks: readonly AgentInfoHookEntry[]; readonly instructions: AgentInfoInstructions; readonly kind: "eve-agent-info"; readonly mode: "development" | "production"; readonly sandbox: AgentInfoSandboxEntry | null; readonly schedules: readonly AgentInfoScheduleEntry[]; readonly skills: { readonly static: readonly AgentInfoSkillEntry[]; readonly dynamic: readonly AgentInfoDynamicResolverEntry[]; }; readonly subagents: { readonly local: readonly AgentInfoSubagentEntry[]; readonly total: number; }; readonly tools: AgentInfoTools; readonly version: 1; readonly workflow: { readonly enabled: boolean; readonly toolName: string; }; readonly workspace: { readonly resourceRoot: unknown; readonly rootEntries: readonly string[]; }; } export declare function buildAgentInfoResponse(data: AgentInfoData, input: { readonly mode: AgentInfoResponse["mode"]; }): AgentInfoResponse; export declare function buildFrameworkToolInfo(input: { readonly authoredToolNames: ReadonlySet<string>; readonly delegationToolNames: ReadonlySet<string>; readonly disabledFrameworkToolNames: ReadonlySet<string>; }): Pick<AgentInfoTools, "available" | "framework">; export declare function getRootDelegationToolNames(manifest: CompiledAgentManifest): ReadonlySet<string>; export declare function renderChannel(channel: ResolvedChannelDefinition, input: { readonly origin: "authored" | "framework"; }): AgentInfoChannelEntry; export declare function renderTool(tool: ResolvedToolDefinition, input: { readonly origin: "authored" | "framework"; readonly replacesFrameworkTool: boolean; }): AgentInfoToolEntry; export declare function renderSchedule(schedule: ResolvedScheduleDefinition): AgentInfoScheduleEntry; export declare function renderSubagent(subagent: CompiledSubagentNode): AgentInfoSubagentEntry; export declare function renderDynamicResolver(resolver: { readonly eventNames: readonly string[]; readonly exportName?: string; readonly logicalPath: string; readonly slug: string; readonly sourceId: string; readonly sourceKind: string; }, input: { readonly origin: "authored" | "framework"; }): AgentInfoDynamicResolverEntry; export declare function toSource(source: { readonly exportName?: string; readonly logicalPath: string; readonly sourceId?: string; readonly sourceKind: string; }): AgentInfoSource;