()
| 124 | } |
| 125 | |
| 126 | export function DataProvider() { |
| 127 | const { setProviders, getProviderByName } = |
| 128 | useModelProvider() |
| 129 | |
| 130 | const { checkForUpdate } = useAppUpdater() |
| 131 | const autoUpdateCheck = useGeneralSetting((s) => s.autoUpdateCheck) |
| 132 | const { setServers, setSettings } = useMCPServers() |
| 133 | const { setAssistants } = useAssistant() |
| 134 | const { setThreads } = useThreads() |
| 135 | const navigate = useNavigate() |
| 136 | const serviceHub = useServiceHub() |
| 137 | |
| 138 | // Local API Server hooks |
| 139 | const { |
| 140 | enableOnStartup, |
| 141 | serverHost, |
| 142 | serverPort, |
| 143 | setServerPort, |
| 144 | apiPrefix, |
| 145 | apiKey, |
| 146 | trustedHosts, |
| 147 | corsEnabled, |
| 148 | verboseLogs, |
| 149 | proxyTimeout, |
| 150 | lastServerModels, |
| 151 | setLastServerModels, |
| 152 | defaultModelLocalApiServer, |
| 153 | } = useLocalApiServer() |
| 154 | const setServerStatus = useAppState((state) => state.setServerStatus) |
| 155 | |
| 156 | useEffect(() => { |
| 157 | console.log('Initializing DataProvider...') |
| 158 | serviceHub.providers().getProviders().then((providers) => { |
| 159 | setProviders(providers) |
| 160 | // Register active remote providers with the backend |
| 161 | providers.forEach((provider) => { |
| 162 | if (provider.active) { |
| 163 | registerRemoteProvider(provider) |
| 164 | registeredProviderNames.add(provider.provider) |
| 165 | } |
| 166 | }) |
| 167 | }) |
| 168 | serviceHub |
| 169 | .mcp() |
| 170 | .getMCPConfig() |
| 171 | .then((data) => { |
| 172 | setServers(data.mcpServers ?? {}) |
| 173 | setSettings(data.mcpSettings ?? DEFAULT_MCP_SETTINGS) |
| 174 | }) |
| 175 | serviceHub |
| 176 | .assistants() |
| 177 | .getAssistants() |
| 178 | .then((data) => { |
| 179 | // Only update assistants if we have valid data |
| 180 | if (data && Array.isArray(data) && data.length > 0) { |
| 181 | setAssistants(data as unknown as Assistant[]) |
| 182 | } else { |
| 183 | setAssistants(null) |
nothing calls this directly
no test coverage detected