import type { Tool, ToolCall } from "@mariozechner/pi-ai"; import type { Logger } from "pino"; import type { ToolExecutionContext, ToolExecutionResult } from "@/types"; import type { ProviderSettings } from "../../settings.js"; import type { InferenceRouter } from "../modules/inference/router.js"; import type { ToolResolverApi } from "../modules/toolResolver.js"; import type { AppRuleSet } from "./appTypes.js"; type AppToolExecutorBuildInput = { appId: string; appName: string; appSystemPrompt: string; reviewerEnabled: boolean; rlmEnabled: boolean; sourceIntent: string; rules: AppRuleSet; inferenceRouter: InferenceRouter; toolResolver: ToolResolverApi; providersOverride?: ProviderSettings[]; allowedToolNames?: string[]; logger?: Logger; }; type AppToolExecutor = { listTools: () => Tool[]; execute: (toolCall: ToolCall, context: ToolExecutionContext) => Promise; }; /** * Wraps a tool resolver with app-review middleware for each tool call. * Expects: input.toolResolver is the runtime resolver used by agent execution. */ export declare function appToolExecutorBuild(input: AppToolExecutorBuildInput): AppToolExecutor; export {}; //# sourceMappingURL=appToolExecutorBuild.d.ts.map