import { JEV_TIMEOUT_MS } from "../decisions/providers/jev.js"; import type { BuilderGatewayAuth } from "../server/credential-provider.js"; export { JEV_TIMEOUT_MS }; export { isBuilderJevEnabled, isJevEnabled, requestJevThroughBuilder, type JevResponse, } from "../decisions/providers/jev.js"; import type { EngineTool } from "./engine/types.js"; import type { ActionEntry } from "./production-agent.js"; import type { AgentChatStructuredMessage, AgentMessage } from "./types.js"; export interface JevCandidate { id: string; description: string; metadata?: Record; } export interface JevRankCandidatesOptions { request: string; apiKey?: string; personalApiKey?: string; directApiKey?: string; builderAuth?: BuilderGatewayAuth | null; candidates: readonly JevCandidate[]; candidateStateKey: string; answerKey: string; question: string; limit?: number; signal?: AbortSignal; timeoutMs?: number; } export interface JevCandidateRanking { /** * `unavailable` means there was nothing to rank against (no key, no * candidates); `failed` and `timed_out` mean a ranking was attempted and lost. */ status: "selected" | "no-match" | "unavailable" | "failed" | "timed_out"; ids: string[]; } export declare function buildJevRequestContext(input: { request: string; history?: readonly AgentMessage[]; structuredHistory?: readonly AgentChatStructuredMessage[]; }): string; export declare function buildWorkspaceAppRequestContext(input: { request: string; history?: readonly AgentMessage[]; structuredHistory?: readonly AgentChatStructuredMessage[]; selectedObjectContext?: string; }): string; export declare function buildRecentUserRequestContext(input: { request: string; history?: readonly AgentMessage[]; structuredHistory?: readonly AgentChatStructuredMessage[]; }): string; export declare function rankJevCandidates(options: JevRankCandidatesOptions): Promise; export declare function rankJevCandidatesWithStatus(options: JevRankCandidatesOptions): Promise; export declare function shortlistJevCandidates(request: string, candidates: readonly T[]): T[]; export interface JevToolPrefetchOptions { request: string; skip?: boolean; deadlineAt?: number; apiKey?: string; personalApiKey?: string; directApiKey?: string; builderAuth?: BuilderGatewayAuth | null; registry: Record; initialTools: EngineTool[]; availableTools: EngineTool[]; readOnlyOnly?: boolean; limit?: number; } export declare function preloadJevTools(options: JevToolPrefetchOptions): Promise;