Skip to content

Commit 348dcf7

Browse files
committed
fix: file issue
1 parent fd163d0 commit 348dcf7

3 files changed

Lines changed: 315 additions & 113 deletions

File tree

src/app/api/context/ingest/route.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ export async function POST(request: NextRequest) {
4949
});
5050

5151
} catch (error) {
52-
console.error(" Context ingest proxy error:", error);
52+
console.error(" Context ingest proxy error:", error);
5353
return NextResponse.json(
5454
{
5555
error: "Failed to ingest document",

src/app/run/page.tsx

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ function RunWorkflowPageInner() {
5454
const [sourceType, setSourceType] = useState<"upload" | "existing" | "git">("upload");
5555
const [uploadKey, setUploadKey] = useState(Date.now());
5656
const [code, setCode] = useState("");
57+
const [analysisFiles, setAnalysisFiles] = useState<Record<string, string>>({}); // NEW: Preserve analyzed files
5758
const [selectedFile, setSelectedFile] = useState("");
5859
const [selectedFolder, setSelectedFolder] = useState("");
5960
const [folderList, setFolderList] = useState<string[]>([]);
@@ -163,6 +164,12 @@ function RunWorkflowPageInner() {
163164
addLogMessage("Deployment completed successfully!");
164165
}, [markStepAsCompleted, addLogMessage]);
165166

167+
// NEW: Store analyzed files for context step
168+
const handleAnalysisComplete = useCallback((files: Record<string, string>) => {
169+
setAnalysisFiles(files);
170+
addLogMessage(`Analysis files preserved: ${Object.keys(files).length} files (${Object.values(files).reduce((sum, content) => sum + content.length, 0)} characters total)`);
171+
}, [addLogMessage]);
172+
166173
// Custom hooks - ALL MUST BE DECLARED BEFORE ANY CONDITIONAL LOGIC
167174
const { fetchFolders, fetchFilesInFolder, fetchFileContent, handleUpload } = useFileOperations({
168175
BACKEND_URL,
@@ -212,7 +219,7 @@ function RunWorkflowPageInner() {
212219
addLog: addLogMessage
213220
});
214221

215-
// Enhanced multi-file classification with better error handling
222+
// UPDATED: Enhanced multi-file classification with analysis preservation
216223
const handleManualClassify = useCallback((files?: { path: string; content: string }[]) => {
217224
if (loading) {
218225
addLogMessage("Classification already in progress");
@@ -233,6 +240,9 @@ function RunWorkflowPageInner() {
233240
return;
234241
}
235242

243+
// PRESERVE the analyzed files for context step
244+
handleAnalysisComplete(filesObj);
245+
236246
addLogMessage(`Selected ${files.length} files: ${Object.keys(filesObj).join(", ")}`);
237247
addLogMessage(`Total size: ${Object.values(filesObj).reduce((sum, c) => sum + c.length, 0)} characters`);
238248

@@ -248,13 +258,17 @@ function RunWorkflowPageInner() {
248258
return;
249259
}
250260

261+
// For single file, also preserve in structured format
262+
const singleFileObj = { "input_file": code };
263+
handleAnalysisComplete(singleFileObj);
264+
251265
addLogMessage("Starting single file analysis...");
252-
classifyCode({ "input_file": code });
266+
classifyCode(singleFileObj);
253267
} catch (error) {
254268
console.error('Error in manual classification:', error);
255269
addLogMessage(`Classification error: ${error}`);
256270
}
257-
}, [loading, addLogMessage, code, classifyCode]);
271+
}, [loading, addLogMessage, code, classifyCode, handleAnalysisComplete]);
258272

259273
// ALL useEffect hooks MUST be declared here
260274
useEffect(() => {
@@ -444,12 +458,14 @@ function RunWorkflowPageInner() {
444458
{step === 1 ? (
445459
<ContextPanel
446460
code={code}
461+
analysisFiles={analysisFiles}
447462
onLogMessage={addLogMessage}
448463
onContextRetrieved={onContextRetrieved}
449464
/>
450465
) : step === 2 ? (
451466
<GeneratePanel
452467
code={code}
468+
analysisFiles={analysisFiles}
453469
context={retrievedContext}
454470
classificationResult={classificationResult}
455471
onLogMessage={addLogMessage}

0 commit comments

Comments
 (0)