import type { StreamFn } from "@mariozechner/pi-agent-core"; import type { BotConfig } from "../../../config/config.js"; import type { PluginHookAgentContext, PluginHookBeforeAgentStartResult, PluginHookBeforePromptBuildResult } from "../../../plugins/types.js"; import type { CompactEmbeddedPiSessionParams } from "../compact.js"; import type { EmbeddedRunAttemptParams, EmbeddedRunAttemptResult } from "./types.js"; type PromptBuildHookRunner = { hasHooks: (hookName: "before_prompt_build" | "before_agent_start") => boolean; runBeforePromptBuild: (event: { prompt: string; messages: unknown[]; }, ctx: PluginHookAgentContext) => Promise; runBeforeAgentStart: (event: { prompt: string; messages: unknown[]; }, ctx: PluginHookAgentContext) => Promise; }; export declare function isOllamaCompatProvider(model: { provider?: string; baseUrl?: string; api?: string; }): boolean; export declare function resolveOllamaCompatNumCtxEnabled(params: { config?: BotConfig; providerId?: string; }): boolean; export declare function shouldInjectOllamaCompatNumCtx(params: { model: { api?: string; provider?: string; baseUrl?: string; }; config?: BotConfig; providerId?: string; }): boolean; export declare function wrapOllamaCompatNumCtx(baseFn: StreamFn | undefined, numCtx: number): StreamFn; export declare function resolveOllamaBaseUrlForRun(params: { modelBaseUrl?: string; providerBaseUrl?: string; }): string; export declare function wrapStreamFnTrimToolCallNames(baseFn: StreamFn, allowedToolNames?: Set): StreamFn; export declare function decodeHtmlEntitiesInObject(obj: unknown): unknown; export declare function resolvePromptBuildHookResult(params: { prompt: string; messages: unknown[]; hookCtx: PluginHookAgentContext; hookRunner?: PromptBuildHookRunner | null; legacyBeforeAgentStartResult?: PluginHookBeforeAgentStartResult; }): Promise; export declare function composeSystemPromptWithHookContext(params: { baseSystemPrompt?: string; prependSystemContext?: string; appendSystemContext?: string; }): string | undefined; export declare function resolvePromptModeForSession(sessionKey?: string): "minimal" | "full"; export declare function resolveAttemptFsWorkspaceOnly(params: { config?: BotConfig; sessionAgentId: string; }): boolean; export declare function prependSystemPromptAddition(params: { systemPrompt: string; systemPromptAddition?: string; }): string; /** Build legacy compaction params passed into context-engine afterTurn hooks. */ export declare function buildAfterTurnLegacyCompactionParams(params: { attempt: Pick; workspaceDir: string; agentDir: string; }): Partial; export declare function runEmbeddedAttempt(params: EmbeddedRunAttemptParams): Promise; export {};