import type { ChatSystemMessage } from "../../chat/types.js"; import { type RemoteToolSource } from "../../tool/index.js"; import { type DefaultResearchArtifactPaths } from "./default-research-artifact-policy.js"; /** Public API contract for default research artifacts. */ export type DefaultResearchArtifacts = DefaultResearchArtifactPaths; /** Context for default research artifact. */ export interface DefaultResearchArtifactContext { availableToolNames?: string[]; projectId?: string | null; parentRunId?: string; defaultResearchArtifacts?: DefaultResearchArtifacts | null; } /** Public API contract for default research artifact logger. */ export interface DefaultResearchArtifactLogger { debug?: (message: string, metadata?: Record) => void; } /** Extract latest user text. */ export declare function extractLatestUserText(messages: readonly unknown[]): string | null; /** Fetch latest conversation user text helper. */ export declare function fetchLatestConversationUserText(input: { apiUrl: string; authToken: string; conversationId?: string; logger?: DefaultResearchArtifactLogger; }): Promise; /** Update default research artifacts helper. */ export declare function updateDefaultResearchArtifacts(input: { taskContext: DefaultResearchArtifactContext; latestUserText: string | null; system: string | ChatSystemMessage[]; }): string | ChatSystemMessage[]; /** Apply default research artifact path helper. */ export declare function applyDefaultResearchArtifactPath(toolName: string, toolInput: Record, taskContext: DefaultResearchArtifactContext): Record; /** Should retry create research artifact as update helper. */ export declare function shouldRetryCreateResearchArtifactAsUpdate(input: { toolName: string; toolInput: Record; taskContext: DefaultResearchArtifactContext; error: unknown; }): boolean; /** Mirror default research run artifact helper. */ export declare function mirrorDefaultResearchRunArtifact(input: { toolName: string; toolInput: Record; toolResult?: unknown; taskContext: DefaultResearchArtifactContext; activeProjectId: string | null; executeContext: Record | undefined; executeTool: (toolName: string, args: Record, context: Record | undefined) => Promise; }): Promise; /** Handler for create default research run artifact mirror. */ export declare function createDefaultResearchRunArtifactMirrorHandler(input: { taskContext: DefaultResearchArtifactContext; remoteToolSource?: Pick | null; }): (request: { toolName: string; input: Record; result: unknown; context?: Record; }) => Promise; //# sourceMappingURL=default-research-artifact-support.d.ts.map