Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ui/desktop/src/components/settings/ProviderSetupModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ export function ProviderSetupModal({
const [configValues, setConfigValues] = React.useState<{ [key: string]: string }>(
default_key_value
);
const requiredKeys = required_keys[provider] || ['API Key'];
const requiredKeys = (required_keys as Record<string, string[]>)[provider] || ['API Key'];
const headerText = title || `Setup ${provider}`;

const shouldShowBattle = React.useMemo(() => {
Expand Down
4 changes: 2 additions & 2 deletions ui/desktop/src/components/settings/models/ProviderButtons.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ import { useModel } from './ModelContext';
import { useHandleModelSelection } from './utils';

// Create a mapping from provider name to href
const providerLinks = model_docs_link.reduce((acc, { name, href }) => {
const providerLinks: Record<string, string> = model_docs_link.reduce((acc, { name, href }) => {
acc[name] = href;
return acc;
}, {});
}, {} as Record<string, string>);

export function ProviderButtons() {
const { activeKeys } = useActiveKeys();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ function BaseProviderCard({
onTakeoff,
showTakeoff,
}: BaseProviderCardProps) {
const numRequiredKeys = required_keys[name]?.length || 0;
const numRequiredKeys = (required_keys as Record<string, string[]>)[name]?.length || 0;
const tooltipText = numRequiredKeys === 1 ? `Add ${name} API Key` : `Add ${name} API Keys`;

return (
Expand Down Expand Up @@ -254,7 +254,7 @@ export function BaseProviderGrid({
return (
<div className="grid grid-cols-[repeat(auto-fill,_minmax(140px,_1fr))] gap-3 [&_*]:z-20">
{providers.map((provider) => {
const hasRequiredKeys = required_keys[provider.name]?.length > 0;
const hasRequiredKeys = (required_keys as Record<string, string[]>)[provider.name]?.length > 0;
return (
<BaseProviderCard
key={provider.id}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ export function ConfigureProvidersGrid() {
const provider = providers.find((p) => p.id === selectedForSetup)?.name;
if (!provider) return;

const requiredKeys = required_keys[provider];
const requiredKeys = (required_keys as Record<string, string[]>)[provider];
if (!requiredKeys || requiredKeys.length === 0) {
console.error(`No keys found for provider ${provider}`);
return;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,19 @@ import { useConfig } from '../../../ConfigContext';
import { AlertTriangle } from 'lucide-react';
import { getCurrentModelAndProvider } from '../../models'; // Import the utility

const customSubmitHandlerMap = {
const customSubmitHandlerMap: Record<string, unknown> = {
provider_name: OllamaSubmitHandler, // example
};

const customFormsMap = {
const customFormsMap: Record<string, unknown> = {
provider_name: OllamaForm, // example
};

export default function ProviderConfigurationModal() {
const [validationErrors, setValidationErrors] = useState({});
const [validationErrors, setValidationErrors] = useState<Record<string, string>>({});
const { upsert, remove, read } = useConfig(); // Add read to the destructured values
const { isOpen, currentProvider, modalProps, closeModal } = useProviderModal();
const [configValues, setConfigValues] = useState({});
const [configValues, setConfigValues] = useState<Record<string, unknown>>({});
const [showDeleteConfirmation, setShowDeleteConfirmation] = useState(false);
const [isActiveProvider, setIsActiveProvider] = useState(false); // New state for tracking active provider

Expand Down Expand Up @@ -65,7 +65,7 @@ export default function ProviderConfigurationModal() {

// Validation logic
const parameters = currentProvider.metadata.config_keys || [];
const errors = {};
const errors: Record<string, string> = {};

// Check required fields
parameters.forEach((parameter) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import OpenRouterLogo from './icons/openrouter@3x.png';
import DefaultLogo from './icons/default@3x.png';

// Map provider names to their logos
const providerLogos = {
const providerLogos: Record<string, string> = {
openai: OpenAILogo,
anthropic: AnthropicLogo,
google: GoogleLogo,
Expand Down