{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/CompactionSettings-Input", "title": "CompactionSettings", "properties": { "model": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Model", "description": "Model handle to use for sliding_window/all summarization (format: provider/model-name). If None, uses lightweight provider-specific defaults." }, "model_settings": { "anyOf": [ { "oneOf": [ { "$ref": "#/components/schemas/OpenAIModelSettings" }, { "$ref": "#/components/schemas/SGLangModelSettings" }, { "$ref": "#/components/schemas/AnthropicModelSettings" }, { "$ref": "#/components/schemas/GoogleAIModelSettings" }, { "$ref": "#/components/schemas/GoogleVertexModelSettings" }, { "$ref": "#/components/schemas/AzureModelSettings" }, { "$ref": "#/components/schemas/XAIModelSettings" }, { "$ref": "#/components/schemas/ZAIModelSettings" }, { "$ref": "#/components/schemas/GroqModelSettings" }, { "$ref": "#/components/schemas/DeepseekModelSettings" }, { "$ref": "#/components/schemas/TogetherModelSettings" }, { "$ref": "#/components/schemas/BedrockModelSettings" }, { "$ref": "#/components/schemas/BasetenModelSettings" }, { "$ref": "#/components/schemas/OpenRouterModelSettings" }, { "$ref": "#/components/schemas/ChatGPTOAuthModelSettings" } ], "discriminator": { "propertyName": "provider_type", "mapping": { "anthropic": "#/components/schemas/AnthropicModelSettings", "azure": "#/components/schemas/AzureModelSettings", "baseten": "#/components/schemas/BasetenModelSettings", "bedrock": "#/components/schemas/BedrockModelSettings", "chatgpt_oauth": "#/components/schemas/ChatGPTOAuthModelSettings", "deepseek": "#/components/schemas/DeepseekModelSettings", "google_ai": "#/components/schemas/GoogleAIModelSettings", "google_vertex": "#/components/schemas/GoogleVertexModelSettings", "groq": "#/components/schemas/GroqModelSettings", "openai": "#/components/schemas/OpenAIModelSettings", "openrouter": "#/components/schemas/OpenRouterModelSettings", "sglang": "#/components/schemas/SGLangModelSettings", "together": "#/components/schemas/TogetherModelSettings", "xai": "#/components/schemas/XAIModelSettings", "zai": "#/components/schemas/ZAIModelSettings" } } }, { "type": "null" } ], "title": "Model Settings", "description": "Optional model settings used to override defaults for the summarizer model." }, "prompt": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Prompt", "description": "The prompt to use for summarization. If None, uses mode-specific default." }, "prompt_acknowledgement": { "type": "boolean", "title": "Prompt Acknowledgement", "description": "Whether to include an acknowledgement post-prompt (helps prevent non-summary outputs).", "default": false }, "clip_chars": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Clip Chars", "description": "The maximum length of the summary in characters. If none, no clipping is performed.", "default": 50000 }, "mode": { "type": "string", "enum": [ "all", "sliding_window", "self_compact_all", "self_compact_sliding_window" ], "title": "Mode", "description": "The type of summarization technique use.", "default": "sliding_window" }, "sliding_window_percentage": { "type": "number", "title": "Sliding Window Percentage", "description": "The percentage of the context window to keep post-summarization (only used in sliding window modes)." } }, "type": "object", "description": "Configuration for conversation compaction / summarization.\n\nPer-model settings (temperature,\nmax tokens, etc.) are derived from the default configuration for that handle." }