MCPcopy
hub / github.com/janhq/jan / DataProvider

Function DataProvider

web-app/src/providers/DataProvider.tsx:126–377  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

124}
125
126export 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)

Callers

nothing calls this directly

Calls 15

useAppUpdaterFunction · 0.90
useServiceHubFunction · 0.90
isDevFunction · 0.90
registerRemoteProviderFunction · 0.85
handleDeepLinkFunction · 0.85
unsubscribeOpenUrlFunction · 0.85
syncRemoteProvidersFunction · 0.85
syncModelParamDefaultsFunction · 0.85
onMethod · 0.80
offMethod · 0.80
unsubscribeFunction · 0.70
getProvidersMethod · 0.65

Tested by

no test coverage detected