/** * TypeBox JSON Schema definitions for pi-tools-suite.jsonc (~/.config/pi/pi-tools-suite.jsonc). * * All fields are optional because the runtime applies generous defaults. * The generated JSON Schema includes `"additionalProperties": true`. */ import { Type, Static } from "typebox"; export declare const PiToolsSuiteConfigSchema: Type.TObject<{ $schema: Type.TOptional; enabled: Type.TOptional; disabledModules: Type.TOptional>; enabledModules: Type.TOptional>; modules: Type.TOptional>; todoThinking: Type.TOptional; todoThinkingOverrides: Type.TOptional, Type.TLiteral<"minimal">, Type.TLiteral<"low">, Type.TLiteral<"medium">, Type.TLiteral<"high">, Type.TLiteral<"xhigh">, Type.TLiteral<"max">, Type.TNull]>>>; lookupModel: Type.TOptional>; lookupFallbackModels: Type.TOptional>; terminalBell: Type.TOptional; }>>; telegramConnector: Type.TOptional; botToken: Type.TOptional; chatId: Type.TOptional>; }>>; commentChecker: Type.TOptional; strictness: Type.TOptional, Type.TLiteral<"balanced">, Type.TLiteral<"aggressive">]>>; }>>; dcp: Type.TOptional; debug: Type.TOptional; debugLog: Type.TOptional; maxBackups: Type.TOptional; }>>; manualMode: Type.TOptional; automaticStrategies: Type.TOptional; }>>; compress: Type.TOptional>; minContextPercent: Type.TOptional>; modelMaxContextPercent: Type.TOptional>>; modelMinContextPercent: Type.TOptional>>; maxContextLimit: Type.TOptional>; minContextLimit: Type.TOptional>; modelMaxContextLimits: Type.TOptional>>; modelMinContextLimits: Type.TOptional>>; summaryBuffer: Type.TOptional; nudgeFrequency: Type.TOptional; iterationNudgeThreshold: Type.TOptional; nudgeForce: Type.TOptional, Type.TLiteral<"soft">]>>; protectedTools: Type.TOptional>; protectTags: Type.TOptional; protectUserMessages: Type.TOptional; autoCandidates: Type.TOptional; minContextPercent: Type.TOptional; keepRecentTurns: Type.TOptional; minMessages: Type.TOptional; minTokens: Type.TOptional; }>>; messageMode: Type.TOptional; minContextPercent: Type.TOptional; keepRecentTurns: Type.TOptional; mediumTokens: Type.TOptional; highTokens: Type.TOptional; maxSuggestions: Type.TOptional; }>>; autoCompress: Type.TOptional; patience: Type.TOptional; summarizerModel: Type.TOptional>; summarizerFallbackModels: Type.TOptional>; timeoutMs: Type.TOptional; }>>; }>>; strategies: Type.TOptional; hardContextPercent: Type.TOptional; targetContextPercent: Type.TOptional; patience: Type.TOptional; keepRecentToolPairs: Type.TOptional; minOutputTokens: Type.TOptional; maxSuggestions: Type.TOptional; protectedTools: Type.TOptional>; }>>; deduplication: Type.TOptional; purgeErrors: Type.TOptional; autoToolPruning: Type.TOptional; }>>; protectedFilePatterns: Type.TOptional>; modelOverrides: Type.TOptional; debug: Type.TOptional; debugLog: Type.TOptional; maxBackups: Type.TOptional; }>>; manualMode: Type.TOptional; automaticStrategies: Type.TOptional; }>>; compress: Type.TOptional>; minContextPercent: Type.TOptional>; modelMaxContextPercent: Type.TOptional>>; modelMinContextPercent: Type.TOptional>>; maxContextLimit: Type.TOptional>; minContextLimit: Type.TOptional>; modelMaxContextLimits: Type.TOptional>>; modelMinContextLimits: Type.TOptional>>; summaryBuffer: Type.TOptional; nudgeFrequency: Type.TOptional; iterationNudgeThreshold: Type.TOptional; nudgeForce: Type.TOptional, Type.TLiteral<"soft">]>>; protectedTools: Type.TOptional>; protectTags: Type.TOptional; protectUserMessages: Type.TOptional; autoCandidates: Type.TOptional; minContextPercent: Type.TOptional; keepRecentTurns: Type.TOptional; minMessages: Type.TOptional; minTokens: Type.TOptional; }>>; messageMode: Type.TOptional; minContextPercent: Type.TOptional; keepRecentTurns: Type.TOptional; mediumTokens: Type.TOptional; highTokens: Type.TOptional; maxSuggestions: Type.TOptional; }>>; autoCompress: Type.TOptional; patience: Type.TOptional; summarizerModel: Type.TOptional>; summarizerFallbackModels: Type.TOptional>; timeoutMs: Type.TOptional; }>>; }>>; strategies: Type.TOptional; hardContextPercent: Type.TOptional; targetContextPercent: Type.TOptional; patience: Type.TOptional; keepRecentToolPairs: Type.TOptional; minOutputTokens: Type.TOptional; maxSuggestions: Type.TOptional; protectedTools: Type.TOptional>; }>>; deduplication: Type.TOptional; purgeErrors: Type.TOptional; autoToolPruning: Type.TOptional; }>>; protectedFilePatterns: Type.TOptional>; pruneNotification: Type.TOptional; }>>>; pruneNotification: Type.TOptional; }>>; toolRenderer: Type.TOptional; direction: Type.TOptional, Type.TLiteral<"tail">]>>; color: Type.TOptional; defaultExpanded: Type.TOptional; compactHidden: Type.TOptional; hidden: Type.TOptional; }>>; tools: Type.TOptional; direction: Type.TOptional, Type.TLiteral<"tail">]>>; color: Type.TOptional; defaultExpanded: Type.TOptional; compactHidden: Type.TOptional; hidden: Type.TOptional; }>>>; }>>; promptCommands: Type.TOptional; prompt: Type.TString; }>>>; }>>; secretFirewall: Type.TOptional; notify: Type.TOptional; }>>; contextGateway: Type.TOptional, Type.TLiteral<"observe">, Type.TLiteral<"enforce">]>>; budgets: Type.TOptional; maxResultBytes: Type.TOptional; maxExactReadBytes: Type.TOptional; maxSearchBytes: Type.TOptional; maxSearchMatches: Type.TOptional; }>>; }>>; repoDiscovery: Type.TOptional, Type.TLiteral<"native-compact">]>>; }>>; resourceRegistry: Type.TOptional; branch: Type.TOptional; projectKey: Type.TOptional; }>>; lsp: Type.TOptional; include: Type.TOptional>; exclude: Type.TOptional>; rootMarkers: Type.TOptional>; maxFileSizeBytes: Type.TOptional; bin: Type.TString; args: Type.TOptional>; cwd: Type.TOptional; env: Type.TOptional>; config: Type.TOptional; languageIdByExtension: Type.TOptional>; startupTimeoutMs: Type.TOptional; diagnosticsWaitMs: Type.TOptional; pullDiagnostics: Type.TOptional; waitForPublishDiagnostics: Type.TOptional; initializationOptions: Type.TOptional; settings: Type.TOptional; }>>>; }>>; asyncSubagents: Type.TOptional; }>; export type PiToolsSuiteConfigSchemaType = Static;