import * as z from "zod/v4"; import { OpenEnum } from "../types/enums.js"; /** * Configuration for a Fusion run started by the `openrouter/fusion` model slug or `openrouter:fusion` server tool. A curated OpenRouter preset (slugs follow `-`, e.g. `general-high`). Expands server-side into the preset's analysis_models panel and analyst model, so callers never name individual models. Explicitly provided `analysis_models` / `model` take precedence. */ export declare const PresetEnum: { readonly GeneralHigh: "general-high"; readonly GeneralBudget: "general-budget"; readonly GeneralFast: "general-fast"; }; /** * Configuration for a Fusion run started by the `openrouter/fusion` model slug or `openrouter:fusion` server tool. A curated OpenRouter preset (slugs follow `-`, e.g. `general-high`). Expands server-side into the preset's analysis_models panel and analyst model, so callers never name individual models. Explicitly provided `analysis_models` / `model` take precedence. */ export type PresetEnum = OpenEnum; export type Parameters2 = string | number | boolean; export type Parameters1 = string | number | boolean; export type Parameters3 = string | number | boolean | Array | { [k: string]: string | number | boolean | null; }; export type FusionPluginTool = { /** * Optional configuration forwarded as the tool's `parameters` object. */ parameters?: { [k: string]: string | number | boolean | Array | { [k: string]: string | number | boolean | null; } | null; } | undefined; /** * Server tool type identifier (e.g. "openrouter:web_search", "openrouter:web_fetch"). */ type: string; }; export type FusionPlugin = { /** * For a Fusion run started by the `openrouter/fusion` model slug or `openrouter:fusion` server tool, slugs of models to run in parallel as the "expert panel" the analyst analyzes. Each model receives the same user prompt with web_search + web_fetch enabled. Capped at 8 models to bound cost amplification. When omitted, defaults to the Quality preset from the /labs/fusion UI (~anthropic/claude-opus-latest, ~openai/gpt-sol-latest, ~google/gemini-pro-latest). */ analysisModels?: Array | undefined; /** * Set to false to disable Fusion configuration for a run started by the `openrouter/fusion` model slug or `openrouter:fusion` server tool. Defaults to true. */ enabled?: boolean | undefined; id: "fusion"; /** * For a Fusion run started by the `openrouter/fusion` model slug or `openrouter:fusion` server tool, the maximum number of tool-calling steps each panelist (analysis model) and the analyst model may take during their agentic web-research loop. Models with web_search/web_fetch enabled iterate until they produce a text response or hit this ceiling. Defaults to 4. Capped at 16. */ maxToolCalls?: number | undefined; /** * For a Fusion run started by the `openrouter/fusion` model slug or `openrouter:fusion` server tool, the slug of the model that performs both the analyst step (with web_search + web_fetch) and the final synthesis. When omitted, defaults to the first model in the Quality preset. */ model?: string | undefined; /** * Configuration for a Fusion run started by the `openrouter/fusion` model slug or `openrouter:fusion` server tool. A curated OpenRouter preset (slugs follow `-`, e.g. `general-high`). Expands server-side into the preset's analysis_models panel and analyst model, so callers never name individual models. Explicitly provided `analysis_models` / `model` take precedence. */ preset?: PresetEnum | undefined; /** * For a Fusion run started by the `openrouter/fusion` model slug or `openrouter:fusion` server tool, server tools available to panelist and analyst inner calls. Each entry uses the same `{ type, parameters? }` shorthand as the outer Chat Completions request. When omitted, defaults to `[{ type: "openrouter:web_search" }, { type: "openrouter:web_fetch" }]`. Pass an empty array to disable tools entirely (panelists answer from parametric knowledge only). */ tools?: Array | undefined; }; /** @internal */ export declare const PresetEnum$outboundSchema: z.ZodType; /** @internal */ export type Parameters2$Outbound = string | number | boolean; /** @internal */ export declare const Parameters2$outboundSchema: z.ZodType; export declare function parameters2ToJSON(parameters2: Parameters2): string; /** @internal */ export type Parameters1$Outbound = string | number | boolean; /** @internal */ export declare const Parameters1$outboundSchema: z.ZodType; export declare function parameters1ToJSON(parameters1: Parameters1): string; /** @internal */ export type Parameters3$Outbound = string | number | boolean | Array | { [k: string]: string | number | boolean | null; }; /** @internal */ export declare const Parameters3$outboundSchema: z.ZodType; export declare function parameters3ToJSON(parameters3: Parameters3): string; /** @internal */ export type FusionPluginTool$Outbound = { parameters?: { [k: string]: string | number | boolean | Array | { [k: string]: string | number | boolean | null; } | null; } | undefined; type: string; }; /** @internal */ export declare const FusionPluginTool$outboundSchema: z.ZodType; export declare function fusionPluginToolToJSON(fusionPluginTool: FusionPluginTool): string; /** @internal */ export type FusionPlugin$Outbound = { analysis_models?: Array | undefined; enabled?: boolean | undefined; id: "fusion"; max_tool_calls?: number | undefined; model?: string | undefined; preset?: string | undefined; tools?: Array | undefined; }; /** @internal */ export declare const FusionPlugin$outboundSchema: z.ZodType; export declare function fusionPluginToJSON(fusionPlugin: FusionPlugin): string; //# sourceMappingURL=fusionplugin.d.ts.map