UNPKG

@roo-code/cloud

Version:

SDK for integrating with Roo Code Cloud

1,089 lines (1,088 loc) 204 kB
import EventEmitter from 'events'; import { z } from 'zod'; import { Disposable, ExtensionContext } from 'vscode'; import { TelemetryClient, TelemetryEventSubscription, TelemetryPropertiesProvider, TelemetryEventName, TelemetryEvent, ClineMessage, TaskProviderLike, TaskLike } from '@roo-code/types'; /** * CloudUserInfo */ interface CloudUserInfo { id?: string; name?: string; email?: string; picture?: string; organizationId?: string; organizationName?: string; organizationRole?: string; organizationImageUrl?: string; extensionBridgeEnabled?: boolean; } /** * CloudOrganization */ interface CloudOrganization { id: string; name: string; slug?: string; image_url?: string; has_image?: boolean; created_at?: number; updated_at?: number; } /** * CloudOrganizationMembership */ interface CloudOrganizationMembership { id: string; organization: CloudOrganization; role: string; permissions?: string[]; created_at?: number; updated_at?: number; } /** * OrganizationAllowList */ declare const organizationAllowListSchema: z.ZodObject<{ allowAll: z.ZodBoolean; providers: z.ZodRecord<z.ZodString, z.ZodObject<{ allowAll: z.ZodBoolean; models: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, "strip", z.ZodTypeAny, { allowAll: boolean; models?: string[] | undefined; }, { allowAll: boolean; models?: string[] | undefined; }>>; }, "strip", z.ZodTypeAny, { allowAll: boolean; providers: Record<string, { allowAll: boolean; models?: string[] | undefined; }>; }, { allowAll: boolean; providers: Record<string, { allowAll: boolean; models?: string[] | undefined; }>; }>; type OrganizationAllowList = z.infer<typeof organizationAllowListSchema>; /** * OrganizationDefaultSettings */ declare const organizationDefaultSettingsSchema: z.ZodObject<{ enableCheckpoints: z.ZodOptional<z.ZodBoolean>; showRooIgnoredFiles: z.ZodOptional<z.ZodBoolean>; terminalShellIntegrationDisabled: z.ZodOptional<z.ZodBoolean>; terminalZshClearEolMark: z.ZodOptional<z.ZodBoolean>; terminalCompressProgressBar: z.ZodOptional<z.ZodBoolean>; fuzzyMatchThreshold: z.ZodOptional<z.ZodNumber>; } & { maxOpenTabsContext: z.ZodOptional<z.ZodNumber>; maxReadFileLine: z.ZodOptional<z.ZodNumber>; maxWorkspaceFiles: z.ZodOptional<z.ZodNumber>; terminalCommandDelay: z.ZodOptional<z.ZodNumber>; terminalOutputLineLimit: z.ZodOptional<z.ZodNumber>; terminalShellIntegrationTimeout: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { enableCheckpoints?: boolean | undefined; maxOpenTabsContext?: number | undefined; maxWorkspaceFiles?: number | undefined; showRooIgnoredFiles?: boolean | undefined; maxReadFileLine?: number | undefined; terminalOutputLineLimit?: number | undefined; terminalShellIntegrationTimeout?: number | undefined; terminalShellIntegrationDisabled?: boolean | undefined; terminalCommandDelay?: number | undefined; terminalZshClearEolMark?: boolean | undefined; terminalCompressProgressBar?: boolean | undefined; fuzzyMatchThreshold?: number | undefined; }, { enableCheckpoints?: boolean | undefined; maxOpenTabsContext?: number | undefined; maxWorkspaceFiles?: number | undefined; showRooIgnoredFiles?: boolean | undefined; maxReadFileLine?: number | undefined; terminalOutputLineLimit?: number | undefined; terminalShellIntegrationTimeout?: number | undefined; terminalShellIntegrationDisabled?: boolean | undefined; terminalCommandDelay?: number | undefined; terminalZshClearEolMark?: boolean | undefined; terminalCompressProgressBar?: boolean | undefined; fuzzyMatchThreshold?: number | undefined; }>; type OrganizationDefaultSettings = z.infer<typeof organizationDefaultSettingsSchema>; /** * OrganizationCloudSettings */ declare const organizationCloudSettingsSchema: z.ZodObject<{ recordTaskMessages: z.ZodOptional<z.ZodBoolean>; enableTaskSharing: z.ZodOptional<z.ZodBoolean>; taskShareExpirationDays: z.ZodOptional<z.ZodNumber>; allowMembersViewAllTasks: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { recordTaskMessages?: boolean | undefined; enableTaskSharing?: boolean | undefined; taskShareExpirationDays?: number | undefined; allowMembersViewAllTasks?: boolean | undefined; }, { recordTaskMessages?: boolean | undefined; enableTaskSharing?: boolean | undefined; taskShareExpirationDays?: number | undefined; allowMembersViewAllTasks?: boolean | undefined; }>; type OrganizationCloudSettings = z.infer<typeof organizationCloudSettingsSchema>; /** * OrganizationSettings */ declare const organizationSettingsSchema: z.ZodObject<{ version: z.ZodNumber; cloudSettings: z.ZodOptional<z.ZodObject<{ recordTaskMessages: z.ZodOptional<z.ZodBoolean>; enableTaskSharing: z.ZodOptional<z.ZodBoolean>; taskShareExpirationDays: z.ZodOptional<z.ZodNumber>; allowMembersViewAllTasks: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { recordTaskMessages?: boolean | undefined; enableTaskSharing?: boolean | undefined; taskShareExpirationDays?: number | undefined; allowMembersViewAllTasks?: boolean | undefined; }, { recordTaskMessages?: boolean | undefined; enableTaskSharing?: boolean | undefined; taskShareExpirationDays?: number | undefined; allowMembersViewAllTasks?: boolean | undefined; }>>; defaultSettings: z.ZodObject<{ enableCheckpoints: z.ZodOptional<z.ZodBoolean>; showRooIgnoredFiles: z.ZodOptional<z.ZodBoolean>; terminalShellIntegrationDisabled: z.ZodOptional<z.ZodBoolean>; terminalZshClearEolMark: z.ZodOptional<z.ZodBoolean>; terminalCompressProgressBar: z.ZodOptional<z.ZodBoolean>; fuzzyMatchThreshold: z.ZodOptional<z.ZodNumber>; } & { maxOpenTabsContext: z.ZodOptional<z.ZodNumber>; maxReadFileLine: z.ZodOptional<z.ZodNumber>; maxWorkspaceFiles: z.ZodOptional<z.ZodNumber>; terminalCommandDelay: z.ZodOptional<z.ZodNumber>; terminalOutputLineLimit: z.ZodOptional<z.ZodNumber>; terminalShellIntegrationTimeout: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { enableCheckpoints?: boolean | undefined; maxOpenTabsContext?: number | undefined; maxWorkspaceFiles?: number | undefined; showRooIgnoredFiles?: boolean | undefined; maxReadFileLine?: number | undefined; terminalOutputLineLimit?: number | undefined; terminalShellIntegrationTimeout?: number | undefined; terminalShellIntegrationDisabled?: boolean | undefined; terminalCommandDelay?: number | undefined; terminalZshClearEolMark?: boolean | undefined; terminalCompressProgressBar?: boolean | undefined; fuzzyMatchThreshold?: number | undefined; }, { enableCheckpoints?: boolean | undefined; maxOpenTabsContext?: number | undefined; maxWorkspaceFiles?: number | undefined; showRooIgnoredFiles?: boolean | undefined; maxReadFileLine?: number | undefined; terminalOutputLineLimit?: number | undefined; terminalShellIntegrationTimeout?: number | undefined; terminalShellIntegrationDisabled?: boolean | undefined; terminalCommandDelay?: number | undefined; terminalZshClearEolMark?: boolean | undefined; terminalCompressProgressBar?: boolean | undefined; fuzzyMatchThreshold?: number | undefined; }>; allowList: z.ZodObject<{ allowAll: z.ZodBoolean; providers: z.ZodRecord<z.ZodString, z.ZodObject<{ allowAll: z.ZodBoolean; models: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, "strip", z.ZodTypeAny, { allowAll: boolean; models?: string[] | undefined; }, { allowAll: boolean; models?: string[] | undefined; }>>; }, "strip", z.ZodTypeAny, { allowAll: boolean; providers: Record<string, { allowAll: boolean; models?: string[] | undefined; }>; }, { allowAll: boolean; providers: Record<string, { allowAll: boolean; models?: string[] | undefined; }>; }>; hiddenMcps: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; hideMarketplaceMcps: z.ZodOptional<z.ZodBoolean>; mcps: z.ZodOptional<z.ZodArray<z.ZodObject<{ id: z.ZodString; name: z.ZodString; description: z.ZodString; author: z.ZodOptional<z.ZodString>; authorUrl: z.ZodOptional<z.ZodString>; tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; prerequisites: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; } & { url: z.ZodString; content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{ name: z.ZodString; content: z.ZodString; parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{ name: z.ZodString; key: z.ZodString; placeholder: z.ZodOptional<z.ZodString>; optional: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, "strip", z.ZodTypeAny, { name: string; key: string; optional: boolean; placeholder?: string | undefined; }, { name: string; key: string; placeholder?: string | undefined; optional?: boolean | undefined; }>, "many">>; prerequisites: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, "strip", z.ZodTypeAny, { name: string; content: string; parameters?: { name: string; key: string; optional: boolean; placeholder?: string | undefined; }[] | undefined; prerequisites?: string[] | undefined; }, { name: string; content: string; parameters?: { name: string; key: string; placeholder?: string | undefined; optional?: boolean | undefined; }[] | undefined; prerequisites?: string[] | undefined; }>, "many">]>; parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{ name: z.ZodString; key: z.ZodString; placeholder: z.ZodOptional<z.ZodString>; optional: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, "strip", z.ZodTypeAny, { name: string; key: string; optional: boolean; placeholder?: string | undefined; }, { name: string; key: string; placeholder?: string | undefined; optional?: boolean | undefined; }>, "many">>; }, "strip", z.ZodTypeAny, { description: string; id: string; name: string; url: string; content: string | { name: string; content: string; parameters?: { name: string; key: string; optional: boolean; placeholder?: string | undefined; }[] | undefined; prerequisites?: string[] | undefined; }[]; parameters?: { name: string; key: string; optional: boolean; placeholder?: string | undefined; }[] | undefined; prerequisites?: string[] | undefined; author?: string | undefined; authorUrl?: string | undefined; tags?: string[] | undefined; }, { description: string; id: string; name: string; url: string; content: string | { name: string; content: string; parameters?: { name: string; key: string; placeholder?: string | undefined; optional?: boolean | undefined; }[] | undefined; prerequisites?: string[] | undefined; }[]; parameters?: { name: string; key: string; placeholder?: string | undefined; optional?: boolean | undefined; }[] | undefined; prerequisites?: string[] | undefined; author?: string | undefined; authorUrl?: string | undefined; tags?: string[] | undefined; }>, "many">>; providerProfiles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodIntersection<z.ZodDiscriminatedUnion<"apiProvider", [z.ZodObject<{ includeMaxTokens: z.ZodOptional<z.ZodBoolean>; diffEnabled: z.ZodOptional<z.ZodBoolean>; todoListEnabled: z.ZodOptional<z.ZodBoolean>; fuzzyMatchThreshold: z.ZodOptional<z.ZodNumber>; modelTemperature: z.ZodOptional<z.ZodNullable<z.ZodNumber>>; rateLimitSeconds: z.ZodOptional<z.ZodNumber>; consecutiveMistakeLimit: z.ZodOptional<z.ZodNumber>; enableReasoningEffort: z.ZodOptional<z.ZodBoolean>; reasoningEffort: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["low", "medium", "high"]>, z.ZodLiteral<"minimal">]>>; modelMaxTokens: z.ZodOptional<z.ZodNumber>; modelMaxThinkingTokens: z.ZodOptional<z.ZodNumber>; verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>; } & { apiModelId: z.ZodOptional<z.ZodString>; } & { apiKey: z.ZodOptional<z.ZodString>; anthropicBaseUrl: z.ZodOptional<z.ZodString>; anthropicUseAuthToken: z.ZodOptional<z.ZodBoolean>; } & { apiProvider: z.ZodLiteral<"anthropic">; }, "strip", z.ZodTypeAny, { apiProvider: "anthropic"; reasoningEffort?: "low" | "medium" | "high" | "minimal" | undefined; includeMaxTokens?: boolean | undefined; diffEnabled?: boolean | undefined; todoListEnabled?: boolean | undefined; fuzzyMatchThreshold?: number | undefined; modelTemperature?: number | null | undefined; rateLimitSeconds?: number | undefined; consecutiveMistakeLimit?: number | undefined; enableReasoningEffort?: boolean | undefined; modelMaxTokens?: number | undefined; modelMaxThinkingTokens?: number | undefined; verbosity?: "low" | "medium" | "high" | undefined; apiModelId?: string | undefined; apiKey?: string | undefined; anthropicBaseUrl?: string | undefined; anthropicUseAuthToken?: boolean | undefined; }, { apiProvider: "anthropic"; reasoningEffort?: "low" | "medium" | "high" | "minimal" | undefined; includeMaxTokens?: boolean | undefined; diffEnabled?: boolean | undefined; todoListEnabled?: boolean | undefined; fuzzyMatchThreshold?: number | undefined; modelTemperature?: number | null | undefined; rateLimitSeconds?: number | undefined; consecutiveMistakeLimit?: number | undefined; enableReasoningEffort?: boolean | undefined; modelMaxTokens?: number | undefined; modelMaxThinkingTokens?: number | undefined; verbosity?: "low" | "medium" | "high" | undefined; apiModelId?: string | undefined; apiKey?: string | undefined; anthropicBaseUrl?: string | undefined; anthropicUseAuthToken?: boolean | undefined; }>, z.ZodObject<{ includeMaxTokens: z.ZodOptional<z.ZodBoolean>; diffEnabled: z.ZodOptional<z.ZodBoolean>; todoListEnabled: z.ZodOptional<z.ZodBoolean>; fuzzyMatchThreshold: z.ZodOptional<z.ZodNumber>; modelTemperature: z.ZodOptional<z.ZodNullable<z.ZodNumber>>; rateLimitSeconds: z.ZodOptional<z.ZodNumber>; consecutiveMistakeLimit: z.ZodOptional<z.ZodNumber>; enableReasoningEffort: z.ZodOptional<z.ZodBoolean>; reasoningEffort: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["low", "medium", "high"]>, z.ZodLiteral<"minimal">]>>; modelMaxTokens: z.ZodOptional<z.ZodNumber>; modelMaxThinkingTokens: z.ZodOptional<z.ZodNumber>; verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>; } & { apiModelId: z.ZodOptional<z.ZodString>; } & { claudeCodePath: z.ZodOptional<z.ZodString>; claudeCodeMaxOutputTokens: z.ZodOptional<z.ZodNumber>; } & { apiProvider: z.ZodLiteral<"claude-code">; }, "strip", z.ZodTypeAny, { apiProvider: "claude-code"; reasoningEffort?: "low" | "medium" | "high" | "minimal" | undefined; includeMaxTokens?: boolean | undefined; diffEnabled?: boolean | undefined; todoListEnabled?: boolean | undefined; fuzzyMatchThreshold?: number | undefined; modelTemperature?: number | null | undefined; rateLimitSeconds?: number | undefined; consecutiveMistakeLimit?: number | undefined; enableReasoningEffort?: boolean | undefined; modelMaxTokens?: number | undefined; modelMaxThinkingTokens?: number | undefined; verbosity?: "low" | "medium" | "high" | undefined; apiModelId?: string | undefined; claudeCodePath?: string | undefined; claudeCodeMaxOutputTokens?: number | undefined; }, { apiProvider: "claude-code"; reasoningEffort?: "low" | "medium" | "high" | "minimal" | undefined; includeMaxTokens?: boolean | undefined; diffEnabled?: boolean | undefined; todoListEnabled?: boolean | undefined; fuzzyMatchThreshold?: number | undefined; modelTemperature?: number | null | undefined; rateLimitSeconds?: number | undefined; consecutiveMistakeLimit?: number | undefined; enableReasoningEffort?: boolean | undefined; modelMaxTokens?: number | undefined; modelMaxThinkingTokens?: number | undefined; verbosity?: "low" | "medium" | "high" | undefined; apiModelId?: string | undefined; claudeCodePath?: string | undefined; claudeCodeMaxOutputTokens?: number | undefined; }>, z.ZodObject<{ includeMaxTokens: z.ZodOptional<z.ZodBoolean>; diffEnabled: z.ZodOptional<z.ZodBoolean>; todoListEnabled: z.ZodOptional<z.ZodBoolean>; fuzzyMatchThreshold: z.ZodOptional<z.ZodNumber>; modelTemperature: z.ZodOptional<z.ZodNullable<z.ZodNumber>>; rateLimitSeconds: z.ZodOptional<z.ZodNumber>; consecutiveMistakeLimit: z.ZodOptional<z.ZodNumber>; enableReasoningEffort: z.ZodOptional<z.ZodBoolean>; reasoningEffort: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["low", "medium", "high"]>, z.ZodLiteral<"minimal">]>>; modelMaxTokens: z.ZodOptional<z.ZodNumber>; modelMaxThinkingTokens: z.ZodOptional<z.ZodNumber>; verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>; } & { glamaModelId: z.ZodOptional<z.ZodString>; glamaApiKey: z.ZodOptional<z.ZodString>; } & { apiProvider: z.ZodLiteral<"glama">; }, "strip", z.ZodTypeAny, { apiProvider: "glama"; reasoningEffort?: "low" | "medium" | "high" | "minimal" | undefined; includeMaxTokens?: boolean | undefined; diffEnabled?: boolean | undefined; todoListEnabled?: boolean | undefined; fuzzyMatchThreshold?: number | undefined; modelTemperature?: number | null | undefined; rateLimitSeconds?: number | undefined; consecutiveMistakeLimit?: number | undefined; enableReasoningEffort?: boolean | undefined; modelMaxTokens?: number | undefined; modelMaxThinkingTokens?: number | undefined; verbosity?: "low" | "medium" | "high" | undefined; glamaModelId?: string | undefined; glamaApiKey?: string | undefined; }, { apiProvider: "glama"; reasoningEffort?: "low" | "medium" | "high" | "minimal" | undefined; includeMaxTokens?: boolean | undefined; diffEnabled?: boolean | undefined; todoListEnabled?: boolean | undefined; fuzzyMatchThreshold?: number | undefined; modelTemperature?: number | null | undefined; rateLimitSeconds?: number | undefined; consecutiveMistakeLimit?: number | undefined; enableReasoningEffort?: boolean | undefined; modelMaxTokens?: number | undefined; modelMaxThinkingTokens?: number | undefined; verbosity?: "low" | "medium" | "high" | undefined; glamaModelId?: string | undefined; glamaApiKey?: string | undefined; }>, z.ZodObject<{ includeMaxTokens: z.ZodOptional<z.ZodBoolean>; diffEnabled: z.ZodOptional<z.ZodBoolean>; todoListEnabled: z.ZodOptional<z.ZodBoolean>; fuzzyMatchThreshold: z.ZodOptional<z.ZodNumber>; modelTemperature: z.ZodOptional<z.ZodNullable<z.ZodNumber>>; rateLimitSeconds: z.ZodOptional<z.ZodNumber>; consecutiveMistakeLimit: z.ZodOptional<z.ZodNumber>; enableReasoningEffort: z.ZodOptional<z.ZodBoolean>; reasoningEffort: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["low", "medium", "high"]>, z.ZodLiteral<"minimal">]>>; modelMaxTokens: z.ZodOptional<z.ZodNumber>; modelMaxThinkingTokens: z.ZodOptional<z.ZodNumber>; verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>; } & { openRouterApiKey: z.ZodOptional<z.ZodString>; openRouterModelId: z.ZodOptional<z.ZodString>; openRouterBaseUrl: z.ZodOptional<z.ZodString>; openRouterSpecificProvider: z.ZodOptional<z.ZodString>; openRouterUseMiddleOutTransform: z.ZodOptional<z.ZodBoolean>; } & { apiProvider: z.ZodLiteral<"openrouter">; }, "strip", z.ZodTypeAny, { apiProvider: "openrouter"; reasoningEffort?: "low" | "medium" | "high" | "minimal" | undefined; includeMaxTokens?: boolean | undefined; diffEnabled?: boolean | undefined; todoListEnabled?: boolean | undefined; fuzzyMatchThreshold?: number | undefined; modelTemperature?: number | null | undefined; rateLimitSeconds?: number | undefined; consecutiveMistakeLimit?: number | undefined; enableReasoningEffort?: boolean | undefined; modelMaxTokens?: number | undefined; modelMaxThinkingTokens?: number | undefined; verbosity?: "low" | "medium" | "high" | undefined; openRouterApiKey?: string | undefined; openRouterModelId?: string | undefined; openRouterBaseUrl?: string | undefined; openRouterSpecificProvider?: string | undefined; openRouterUseMiddleOutTransform?: boolean | undefined; }, { apiProvider: "openrouter"; reasoningEffort?: "low" | "medium" | "high" | "minimal" | undefined; includeMaxTokens?: boolean | undefined; diffEnabled?: boolean | undefined; todoListEnabled?: boolean | undefined; fuzzyMatchThreshold?: number | undefined; modelTemperature?: number | null | undefined; rateLimitSeconds?: number | undefined; consecutiveMistakeLimit?: number | undefined; enableReasoningEffort?: boolean | undefined; modelMaxTokens?: number | undefined; modelMaxThinkingTokens?: number | undefined; verbosity?: "low" | "medium" | "high" | undefined; openRouterApiKey?: string | undefined; openRouterModelId?: string | undefined; openRouterBaseUrl?: string | undefined; openRouterSpecificProvider?: string | undefined; openRouterUseMiddleOutTransform?: boolean | undefined; }>, z.ZodObject<{ includeMaxTokens: z.ZodOptional<z.ZodBoolean>; diffEnabled: z.ZodOptional<z.ZodBoolean>; todoListEnabled: z.ZodOptional<z.ZodBoolean>; fuzzyMatchThreshold: z.ZodOptional<z.ZodNumber>; modelTemperature: z.ZodOptional<z.ZodNullable<z.ZodNumber>>; rateLimitSeconds: z.ZodOptional<z.ZodNumber>; consecutiveMistakeLimit: z.ZodOptional<z.ZodNumber>; enableReasoningEffort: z.ZodOptional<z.ZodBoolean>; reasoningEffort: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["low", "medium", "high"]>, z.ZodLiteral<"minimal">]>>; modelMaxTokens: z.ZodOptional<z.ZodNumber>; modelMaxThinkingTokens: z.ZodOptional<z.ZodNumber>; verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>; } & { apiModelId: z.ZodOptional<z.ZodString>; } & { awsAccessKey: z.ZodOptional<z.ZodString>; awsSecretKey: z.ZodOptional<z.ZodString>; awsSessionToken: z.ZodOptional<z.ZodString>; awsRegion: z.ZodOptional<z.ZodString>; awsUseCrossRegionInference: z.ZodOptional<z.ZodBoolean>; awsUsePromptCache: z.ZodOptional<z.ZodBoolean>; awsProfile: z.ZodOptional<z.ZodString>; awsUseProfile: z.ZodOptional<z.ZodBoolean>; awsApiKey: z.ZodOptional<z.ZodString>; awsUseApiKey: z.ZodOptional<z.ZodBoolean>; awsCustomArn: z.ZodOptional<z.ZodString>; awsModelContextWindow: z.ZodOptional<z.ZodNumber>; awsBedrockEndpointEnabled: z.ZodOptional<z.ZodBoolean>; awsBedrockEndpoint: z.ZodOptional<z.ZodString>; } & { apiProvider: z.ZodLiteral<"bedrock">; }, "strip", z.ZodTypeAny, { apiProvider: "bedrock"; reasoningEffort?: "low" | "medium" | "high" | "minimal" | undefined; includeMaxTokens?: boolean | undefined; diffEnabled?: boolean | undefined; todoListEnabled?: boolean | undefined; fuzzyMatchThreshold?: number | undefined; modelTemperature?: number | null | undefined; rateLimitSeconds?: number | undefined; consecutiveMistakeLimit?: number | undefined; enableReasoningEffort?: boolean | undefined; modelMaxTokens?: number | undefined; modelMaxThinkingTokens?: number | undefined; verbosity?: "low" | "medium" | "high" | undefined; apiModelId?: string | undefined; awsAccessKey?: string | undefined; awsSecretKey?: string | undefined; awsSessionToken?: string | undefined; awsRegion?: string | undefined; awsUseCrossRegionInference?: boolean | undefined; awsUsePromptCache?: boolean | undefined; awsProfile?: string | undefined; awsUseProfile?: boolean | undefined; awsApiKey?: string | undefined; awsUseApiKey?: boolean | undefined; awsCustomArn?: string | undefined; awsModelContextWindow?: number | undefined; awsBedrockEndpointEnabled?: boolean | undefined; awsBedrockEndpoint?: string | undefined; }, { apiProvider: "bedrock"; reasoningEffort?: "low" | "medium" | "high" | "minimal" | undefined; includeMaxTokens?: boolean | undefined; diffEnabled?: boolean | undefined; todoListEnabled?: boolean | undefined; fuzzyMatchThreshold?: number | undefined; modelTemperature?: number | null | undefined; rateLimitSeconds?: number | undefined; consecutiveMistakeLimit?: number | undefined; enableReasoningEffort?: boolean | undefined; modelMaxTokens?: number | undefined; modelMaxThinkingTokens?: number | undefined; verbosity?: "low" | "medium" | "high" | undefined; apiModelId?: string | undefined; awsAccessKey?: string | undefined; awsSecretKey?: string | undefined; awsSessionToken?: string | undefined; awsRegion?: string | undefined; awsUseCrossRegionInference?: boolean | undefined; awsUsePromptCache?: boolean | undefined; awsProfile?: string | undefined; awsUseProfile?: boolean | undefined; awsApiKey?: string | undefined; awsUseApiKey?: boolean | undefined; awsCustomArn?: string | undefined; awsModelContextWindow?: number | undefined; awsBedrockEndpointEnabled?: boolean | undefined; awsBedrockEndpoint?: string | undefined; }>, z.ZodObject<{ includeMaxTokens: z.ZodOptional<z.ZodBoolean>; diffEnabled: z.ZodOptional<z.ZodBoolean>; todoListEnabled: z.ZodOptional<z.ZodBoolean>; fuzzyMatchThreshold: z.ZodOptional<z.ZodNumber>; modelTemperature: z.ZodOptional<z.ZodNullable<z.ZodNumber>>; rateLimitSeconds: z.ZodOptional<z.ZodNumber>; consecutiveMistakeLimit: z.ZodOptional<z.ZodNumber>; enableReasoningEffort: z.ZodOptional<z.ZodBoolean>; reasoningEffort: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["low", "medium", "high"]>, z.ZodLiteral<"minimal">]>>; modelMaxTokens: z.ZodOptional<z.ZodNumber>; modelMaxThinkingTokens: z.ZodOptional<z.ZodNumber>; verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>; } & { apiModelId: z.ZodOptional<z.ZodString>; } & { vertexKeyFile: z.ZodOptional<z.ZodString>; vertexJsonCredentials: z.ZodOptional<z.ZodString>; vertexProjectId: z.ZodOptional<z.ZodString>; vertexRegion: z.ZodOptional<z.ZodString>; } & { apiProvider: z.ZodLiteral<"vertex">; }, "strip", z.ZodTypeAny, { apiProvider: "vertex"; reasoningEffort?: "low" | "medium" | "high" | "minimal" | undefined; includeMaxTokens?: boolean | undefined; diffEnabled?: boolean | undefined; todoListEnabled?: boolean | undefined; fuzzyMatchThreshold?: number | undefined; modelTemperature?: number | null | undefined; rateLimitSeconds?: number | undefined; consecutiveMistakeLimit?: number | undefined; enableReasoningEffort?: boolean | undefined; modelMaxTokens?: number | undefined; modelMaxThinkingTokens?: number | undefined; verbosity?: "low" | "medium" | "high" | undefined; apiModelId?: string | undefined; vertexKeyFile?: string | undefined; vertexJsonCredentials?: string | undefined; vertexProjectId?: string | undefined; vertexRegion?: string | undefined; }, { apiProvider: "vertex"; reasoningEffort?: "low" | "medium" | "high" | "minimal" | undefined; includeMaxTokens?: boolean | undefined; diffEnabled?: boolean | undefined; todoListEnabled?: boolean | undefined; fuzzyMatchThreshold?: number | undefined; modelTemperature?: number | null | undefined; rateLimitSeconds?: number | undefined; consecutiveMistakeLimit?: number | undefined; enableReasoningEffort?: boolean | undefined; modelMaxTokens?: number | undefined; modelMaxThinkingTokens?: number | undefined; verbosity?: "low" | "medium" | "high" | undefined; apiModelId?: string | undefined; vertexKeyFile?: string | undefined; vertexJsonCredentials?: string | undefined; vertexProjectId?: string | undefined; vertexRegion?: string | undefined; }>, z.ZodObject<{ includeMaxTokens: z.ZodOptional<z.ZodBoolean>; diffEnabled: z.ZodOptional<z.ZodBoolean>; todoListEnabled: z.ZodOptional<z.ZodBoolean>; fuzzyMatchThreshold: z.ZodOptional<z.ZodNumber>; modelTemperature: z.ZodOptional<z.ZodNullable<z.ZodNumber>>; rateLimitSeconds: z.ZodOptional<z.ZodNumber>; consecutiveMistakeLimit: z.ZodOptional<z.ZodNumber>; enableReasoningEffort: z.ZodOptional<z.ZodBoolean>; reasoningEffort: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["low", "medium", "high"]>, z.ZodLiteral<"minimal">]>>; modelMaxTokens: z.ZodOptional<z.ZodNumber>; modelMaxThinkingTokens: z.ZodOptional<z.ZodNumber>; verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>; } & { openAiBaseUrl: z.ZodOptional<z.ZodString>; openAiApiKey: z.ZodOptional<z.ZodString>; openAiLegacyFormat: z.ZodOptional<z.ZodBoolean>; openAiR1FormatEnabled: z.ZodOptional<z.ZodBoolean>; openAiModelId: z.ZodOptional<z.ZodString>; openAiCustomModelInfo: z.ZodOptional<z.ZodNullable<z.ZodObject<{ maxTokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>; maxThinkingTokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>; contextWindow: z.ZodNumber; supportsImages: z.ZodOptional<z.ZodBoolean>; supportsComputerUse: z.ZodOptional<z.ZodBoolean>; supportsPromptCache: z.ZodBoolean; supportsVerbosity: z.ZodOptional<z.ZodBoolean>; supportsReasoningBudget: z.ZodOptional<z.ZodBoolean>; requiredReasoningBudget: z.ZodOptional<z.ZodBoolean>; supportsReasoningEffort: z.ZodOptional<z.ZodBoolean>; supportedParameters: z.ZodOptional<z.ZodArray<z.ZodEnum<["max_tokens", "temperature", "reasoning", "include_reasoning"]>, "many">>; inputPrice: z.ZodOptional<z.ZodNumber>; outputPrice: z.ZodOptional<z.ZodNumber>; cacheWritesPrice: z.ZodOptional<z.ZodNumber>; cacheReadsPrice: z.ZodOptional<z.ZodNumber>; description: z.ZodOptional<z.ZodString>; reasoningEffort: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>; minTokensPerCachePoint: z.ZodOptional<z.ZodNumber>; maxCachePoints: z.ZodOptional<z.ZodNumber>; cachableFields: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; tiers: z.ZodOptional<z.ZodArray<z.ZodObject<{ contextWindow: z.ZodNumber; inputPrice: z.ZodOptional<z.ZodNumber>; outputPrice: z.ZodOptional<z.ZodNumber>; cacheWritesPrice: z.ZodOptional<z.ZodNumber>; cacheReadsPrice: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { contextWindow: number; inputPrice?: number | undefined; outputPrice?: number | undefined; cacheWritesPrice?: number | undefined; cacheReadsPrice?: number | undefined; }, { contextWindow: number; inputPrice?: number | undefined; outputPrice?: number | undefined; cacheWritesPrice?: number | undefined; cacheReadsPrice?: number | undefined; }>, "many">>; }, "strip", z.ZodTypeAny, { contextWindow: number; supportsPromptCache: boolean; maxTokens?: number | null | undefined; maxThinkingTokens?: number | null | undefined; supportsImages?: boolean | undefined; supportsComputerUse?: boolean | undefined; supportsVerbosity?: boolean | undefined; supportsReasoningBudget?: boolean | undefined; requiredReasoningBudget?: boolean | undefined; supportsReasoningEffort?: boolean | undefined; supportedParameters?: ("reasoning" | "max_tokens" | "temperature" | "include_reasoning")[] | undefined; inputPrice?: number | undefined; outputPrice?: number | undefined; cacheWritesPrice?: number | undefined; cacheReadsPrice?: number | undefined; description?: string | undefined; reasoningEffort?: "low" | "medium" | "high" | undefined; minTokensPerCachePoint?: number | undefined; maxCachePoints?: number | undefined; cachableFields?: string[] | undefined; tiers?: { contextWindow: number; inputPrice?: number | undefined; outputPrice?: number | undefined; cacheWritesPrice?: number | undefined; cacheReadsPrice?: number | undefined; }[] | undefined; }, { contextWindow: number; supportsPromptCache: boolean; maxTokens?: number | null | undefined; maxThinkingTokens?: number | null | undefined; supportsImages?: boolean | undefined; supportsComputerUse?: boolean | undefined; supportsVerbosity?: boolean | undefined; supportsReasoningBudget?: boolean | undefined; requiredReasoningBudget?: boolean | undefined; supportsReasoningEffort?: boolean | undefined; supportedParameters?: ("reasoning" | "max_tokens" | "temperature" | "include_reasoning")[] | undefined; inputPrice?: number | undefined; outputPrice?: number | undefined; cacheWritesPrice?: number | undefined; cacheReadsPrice?: number | undefined; description?: string | undefined; reasoningEffort?: "low" | "medium" | "high" | undefined; minTokensPerCachePoint?: number | undefined; maxCachePoints?: number | undefined; cachableFields?: string[] | undefined; tiers?: { contextWindow: number; inputPrice?: number | undefined; outputPrice?: number | undefined; cacheWritesPrice?: number | undefined; cacheReadsPrice?: number | undefined; }[] | undefined; }>>>; openAiUseAzure: z.ZodOptional<z.ZodBoolean>; azureApiVersion: z.ZodOptional<z.ZodString>; openAiStreamingEnabled: z.ZodOptional<z.ZodBoolean>; openAiHostHeader: z.ZodOptional<z.ZodString>; openAiHeaders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; } & { apiProvider: z.ZodLiteral<"openai">; }, "strip", z.ZodTypeAny, { apiProvider: "openai"; reasoningEffort?: "low" | "medium" | "high" | "minimal" | undefined; includeMaxTokens?: boolean | undefined; diffEnabled?: boolean | undefined; todoListEnabled?: boolean | undefined; fuzzyMatchThreshold?: number | undefined; modelTemperature?: number | null | undefined; rateLimitSeconds?: number | undefined; consecutiveMistakeLimit?: number | undefined; enableReasoningEffort?: boolean | undefined; modelMaxTokens?: number | undefined; modelMaxThinkingTokens?: number | undefined; verbosity?: "low" | "medium" | "high" | undefined; openAiBaseUrl?: string | undefined; openAiApiKey?: string | undefined; openAiLegacyFormat?: boolean | undefined; openAiR1FormatEnabled?: boolean | undefined; openAiModelId?: string | undefined; openAiCustomModelInfo?: { contextWindow: number; supportsPromptCache: boolean; maxTokens?: number | null | undefined; maxThinkingTokens?: number | null | undefined; supportsImages?: boolean | undefined; supportsComputerUse?: boolean | undefined; supportsVerbosity?: boolean | undefined; supportsReasoningBudget?: boolean | undefined; requiredReasoningBudget?: boolean | undefined; supportsReasoningEffort?: boolean | undefined; supportedParameters?: ("reasoning" | "max_tokens" | "temperature" | "include_reasoning")[] | undefined; inputPrice?: number | undefined; outputPrice?: number | undefined; cacheWritesPrice?: number | undefined; cacheReadsPrice?: number | undefined; description?: string | undefined; reasoningEffort?: "low" | "medium" | "high" | undefined; minTokensPerCachePoint?: number | undefined; maxCachePoints?: number | undefined; cachableFields?: string[] | undefined; tiers?: { contextWindow: number; inputPrice?: number | undefined; outputPrice?: number | undefined; cacheWritesPrice?: number | undefined; cacheReadsPrice?: number | undefined; }[] | undefined; } | null | undefined; openAiUseAzure?: boolean | undefined; azureApiVersion?: string | undefined; openAiStreamingEnabled?: boolean | undefined; openAiHostHeader?: string | undefined; openAiHeaders?: Record<string, string> | undefined; }, { apiProvider: "openai"; reasoningEffort?: "low" | "medium" | "high" | "minimal" | undefined; includeMaxTokens?: boolean | undefined; diffEnabled?: boolean | undefined; todoListEnabled?: boolean | undefined; fuzzyMatchThreshold?: number | undefined; modelTemperature?: number | null | undefined; rateLimitSeconds?: number | undefined; consecutiveMistakeLimit?: number | undefined; enableReasoningEffort?: boolean | undefined; modelMaxTokens?: number | undefined; modelMaxThinkingTokens?: number | undefined; verbosity?: "low" | "medium" | "high" | undefined; openAiBaseUrl?: string | undefined; openAiApiKey?: string | undefined; openAiLegacyFormat?: boolean | undefined; openAiR1FormatEnabled?: boolean | undefined; openAiModelId?: string | undefined; openAiCustomModelInfo?: { contextWindow: number; supportsPromptCache: boolean; maxTokens?: number | null | undefined; maxThinkingTokens?: number | null | undefined; supportsImages?: boolean | undefined; supportsComputerUse?: boolean | undefined; supportsVerbosity?: boolean | undefined; supportsReasoningBudget?: boolean | undefined; requiredReasoningBudget?: boolean | undefined; supportsReasoningEffort?: boolean | undefined; supportedParameters?: ("reasoning" | "max_tokens" | "temperature" | "include_reasoning")[] | undefined; inputPrice?: number | undefined; outputPrice?: number | undefined; cacheWritesPrice?: number | undefined; cacheReadsPrice?: number | undefined; description?: string | undefined; reasoningEffort?: "low" | "medium" | "high" | undefined; minTokensPerCachePoint?: number | undefined; maxCachePoints?: number | undefined; cachableFields?: string[] | undefined; tiers?: { contextWindow: number; inputPrice?: number | undefined; outputPrice?: number | undefined; cacheWritesPrice?: number | undefined; cacheReadsPrice?: number | undefined; }[] | undefined; } | null | undefined; openAiUseAzure?: boolean | undefined; azureApiVersion?: string | undefined; openAiStreamingEnabled?: boolean | undefined; openAiHostHeader?: string | undefined; openAiHeaders?: Record<string, string> | undefined; }>, z.ZodObject<{ includeMaxTokens: z.ZodOptional<z.ZodBoolean>; diffEnabled: z.ZodOptional<z.ZodBoolean>; todoListEnabled: z.ZodOptional<z.ZodBoolean>; fuzzyMatchThreshold: z.ZodOptional<z.ZodNumber>; modelTemperature: z.ZodOptional<z.ZodNullable<z.ZodNumber>>; rateLimitSeconds: z.ZodOptional<z.ZodNumber>; consecutiveMistakeLimit: z.ZodOptional<z.ZodNumber>; enableReasoningEffort: z.ZodOptional<z.ZodBoolean>; reasoningEffort: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["low", "medium", "high"]>, z.ZodLiteral<"minimal">]>>; modelMaxTokens: z.ZodOptional<z.ZodNumber>; modelMaxThinkingTokens: z.ZodOptional<z.ZodNumber>; verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>; } & { ollamaModelId: z.ZodOptional<z.ZodString>; ollamaBaseUrl: z.ZodOptional<z.ZodString>; } & { apiProvider: z.ZodLiteral<"ollama">; }, "strip", z.ZodTypeAny, { apiProvider: "ollama"; reasoningEffort?: "low" | "medium" | "high" | "minimal" | undefined; includeMaxTokens?: boolean | undefined; diffEnabled?: boolean | undefined; todoListEnabled?: boolean | undefined; fuzzyMatchThreshold?: number | undefined; modelTemperature?: number | null | undefined; rateLimitSeconds?: number | undefined; consecutiveMistakeLimit?: number | undefined; enableReasoningEffort?: boolean | undefined; modelMaxTokens?: number | undefined; modelMaxThinkingTokens?: number | undefined; verbosity?: "low" | "medium" | "high" | undefined; ollamaModelId?: string | undefined; ollamaBaseUrl?: string | undefined; }, { apiProvider: "ollama"; reasoningEffort?: "low" | "medium" | "high" | "minimal" | undefined; includeMaxTokens?: boolean | undefined; diffEnabled?: boolean | undefined; todoListEnabled?: boolean | undefined; fuzzyMatchThreshold?: number | undefined; modelTemperature?: number | null | undefined; rateLimitSeconds?: number | undefined; consecutiveMistakeLimit?: number | undefined; enableReasoningEffort?: boolean | undefined; modelMaxTokens?: number | undefined; modelMaxThinkingTokens?: number | undefined; verbosity?: "low" | "medium" | "high" | undefined; ollamaModelId?: string | undefined; ollamaBaseUrl?: string | undefined; }>, z.ZodObject<{ includeMaxTokens: z.ZodOptional<z.ZodBoolean>; diffEnabled: z.ZodOptional<z.ZodBoolean>; todoListEnabled: z.ZodOptional<z.ZodBoolean>; fuzzyMatchThreshold: z.ZodOptional<z.ZodNumber>; modelTemperature: z.ZodOptional<z.ZodNullable<z.ZodNumber>>; rateLimitSeconds: z.ZodOptional<z.ZodNumber>; consecutiveMistakeLimit: z.ZodOptional<z.ZodNumber>; enableReasoningEffort: z.ZodOptional<z.ZodBoolean>; reasoningEffort: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["low", "medium", "high"]>, z.ZodLiteral<"minimal">]>>; modelMaxTokens: z.ZodOptional<z.ZodNumber>; modelMaxThinkingTokens: z.ZodOptional<z.ZodNumber>; verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>; } & { vsCodeLmModelSelector: z.ZodOptional<z.ZodObject<{ vendor: z.ZodOptional<z.ZodString>; family: z.ZodOptional<z.ZodString>; version: z.ZodOptional<z.ZodString>; id: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { id?: string | undefined; vendor?: string | undefined; family?: string | undefined; version?: string | undefined; }, { id?: string | undefined; vendor?: string | undefined; family?: string | undefined; version?: string | undefined; }>>; } & { apiProvider: z.ZodLiteral<"vscode-lm">; }, "strip", z.ZodTypeAny, { apiProvider: "vscode-lm"; reasoningEffort?: "low" | "medium" | "high" | "minimal" | undefined; includeMaxTokens?: boolean | undefined; diffEnabled?: boolean | undefined; todoListEnabled?: boolean | undefined; fuzzyMatchThreshold?: number | undefined; modelTemperature?: number | null | undefined; rateLimitSeconds?: number | undefined; consecutiveMistakeLimit?: number | undefined; enableReasoningEffort?: boolean | undefined; modelMaxTokens?: number | undefined; modelMaxThinkingTokens?: number | undefined; verbosity?: "low" | "medium" | "high" | undefined; vsCodeLmModelSelector?: { id?: string | undefined; vendor?: string | undefined; family?: string | undefined; version?: string | undefined; } | undefined; }, { apiProvider: "vscode-lm"; reasoningEffort?: "low" | "medium" | "high" | "minimal" | undefined; includeMaxTokens?: boolean | undefined; diffEnabled?: boolean | undefined; todoListEnabled?: boolean | undefined; fuzzyMatchThreshold?: number | undefined; modelTemperature?: number | null | undefined; rateLimitSeconds?: number | undefined; consecutiveMistakeLimit?: number | undefined; enableReasoningEffort?: boolean | undefined; modelMaxTokens?: number | undefined; modelMaxThinkingTokens?: number | undefined; verbosity?: "low" | "medium" | "high" | undefined; vsCodeLmModelSelector?: { id?: string | undefined; vendor?: string | undefined; family?: string | undefined; version?: string | undefined; } | undefined; }>, z.ZodObject<{ includeMaxTokens: z.ZodOptional<z.ZodBoolean>; diffEnabled: z.ZodOptional<z.ZodBoolean>; todoListEnabled: z.ZodOptional<z.ZodBoolean>; fuzzyMatchThreshold: z.ZodOptional<z.ZodNumber>; modelTemperature: z.ZodOptional<z.ZodNullable<z.ZodNumber>>; rateLimitSeconds: z.ZodOptional<z.ZodNumber>; consecutiveMistakeLimit: z.ZodOptional<z.ZodNumber>; enableReasoningEffort: z.ZodOptional<z.ZodBoolean>; reasoningEffort: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["low", "medium", "high"]>, z.ZodLiteral<"minimal">]>>; modelMaxTokens: z.ZodOptional<z.ZodNumber>; modelMaxThinkingTokens: z.ZodOptional<z.ZodNumber>; verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>; } & { lmStudioModelId: z.ZodOptional<z.ZodString>; lmStudioBaseUrl: z.ZodOptional<z.ZodString>; lmStudioDraftModelId: z.ZodOptional<z.ZodString>; lmStudioSpeculativeDecodingEnabled: z.ZodOptional<z.ZodBoolean>; } & { apiProvider: z.ZodLiteral<"lmstudio">; }, "strip", z.ZodTypeAny, { apiProvider: "lmstudio"; reasoningEffo