MCPcopy
hub / github.com/Zleap-AI/SAG / loadProjectWorkspace

Function loadProjectWorkspace

web/src/App.tsx:307–343  ·  view source on GitHub ↗
(projectId: string)

Source from the content-addressed store, hash-verified

305 }
306
307 async function loadProjectWorkspace(projectId: string) {
308 try {
309 setError("");
310 const [documentsResponse, sessionsResponse, statsResponse, graphResponse] = await Promise.all([
311 api.listDocuments(projectId, showArchivedDocuments),
312 api.listMcpSessions(projectId),
313 api.getProjectStats(projectId),
314 api.getProjectGraph(projectId)
315 ]);
316 setDocuments(documentsResponse.documents);
317 setSessionsByProjectId((current) => ({
318 ...current,
319 [projectId]: sessionsResponse.sessions
320 }));
321 setProjectStats(statsResponse.stats);
322 setProjectGraph(graphResponse.graph);
323 if (documentsResponse.documents[0] && !documentsResponse.documents.some((item) => item.id === selectedDocumentId)) {
324 setSelectedDocumentId(documentsResponse.documents[0].id);
325 }
326 if (!documentsResponse.documents[0]) {
327 setSelectedDocumentId("");
328 }
329 const preferredSessionId = pendingSessionIdRef.current;
330 const sessionToOpen = preferredSessionId && sessionsResponse.sessions.some((session) => session.id === preferredSessionId)
331 ? preferredSessionId
332 : sessionsResponse.sessions[0]?.id;
333 pendingSessionIdRef.current = null;
334 if (sessionToOpen) {
335 await loadMcpSession(sessionToOpen);
336 } else {
337 setMcpDetail(null);
338 }
339 setStatus(t("就绪", "Ready"));
340 } catch (err) {
341 setError(getErrorMessage(err));
342 }
343 }
344
345 async function loadDocumentWorkspace(documentId: string) {
346 try {

Callers 5

AppShellFunction · 0.85
pollUploadJobsFunction · 0.85
renameDocumentFunction · 0.85
archiveOrRestoreDocumentFunction · 0.85

Calls 6

loadMcpSessionFunction · 0.85
tFunction · 0.85
listDocumentsMethod · 0.80
getProjectStatsMethod · 0.80
getProjectGraphMethod · 0.80
getErrorMessageFunction · 0.70

Tested by

no test coverage detected