confirm build
This commit is contained in:
@@ -194,7 +194,7 @@ export async function POST(request: NextRequest) {
|
||||
if (manifest) {
|
||||
await sendProgress({ type: 'status', message: '🔍 Creating search plan...' });
|
||||
|
||||
const fileContents = global.sandboxState.fileCache.files;
|
||||
const fileContents = global.sandboxState.fileCache?.files || {};
|
||||
console.log('[generate-ai-code-stream] Files available for search:', Object.keys(fileContents).length);
|
||||
|
||||
// STEP 1: Get search plan from AI
|
||||
@@ -244,7 +244,7 @@ export async function POST(request: NextRequest) {
|
||||
console.log('[generate-ai-code-stream] Target selected:', target);
|
||||
|
||||
// Create surgical edit context with exact location
|
||||
const normalizedPath = target.filePath.replace('/home/user/app/', '');
|
||||
// normalizedPath would be: target.filePath.replace('/home/user/app/', '');
|
||||
// fileContent available but not used in current implementation
|
||||
// const fileContent = fileContents[normalizedPath]?.content || '';
|
||||
|
||||
@@ -356,7 +356,7 @@ User request: "${prompt}"`;
|
||||
|
||||
// For now, fall back to keyword search since we don't have file contents for search execution
|
||||
// This path happens when no manifest was initially available
|
||||
let targetFiles = [];
|
||||
let targetFiles: any[] = [];
|
||||
if (!searchPlan || searchPlan.searchTerms.length === 0) {
|
||||
console.warn('[generate-ai-code-stream] No target files after fetch, searching for relevant files');
|
||||
|
||||
@@ -985,13 +985,15 @@ CRITICAL: When files are provided in the context:
|
||||
// Store files in cache
|
||||
for (const [path, content] of Object.entries(filesData.files)) {
|
||||
const normalizedPath = path.replace('/home/user/app/', '');
|
||||
global.sandboxState.fileCache.files[normalizedPath] = {
|
||||
content: content as string,
|
||||
lastModified: Date.now()
|
||||
};
|
||||
if (global.sandboxState.fileCache) {
|
||||
global.sandboxState.fileCache.files[normalizedPath] = {
|
||||
content: content as string,
|
||||
lastModified: Date.now()
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
if (filesData.manifest) {
|
||||
if (filesData.manifest && global.sandboxState.fileCache) {
|
||||
global.sandboxState.fileCache.manifest = filesData.manifest;
|
||||
|
||||
// Now try to analyze edit intent with the fetched manifest
|
||||
@@ -1023,7 +1025,7 @@ CRITICAL: When files are provided in the context:
|
||||
}
|
||||
|
||||
// Update variables
|
||||
backendFiles = global.sandboxState.fileCache.files;
|
||||
backendFiles = global.sandboxState.fileCache?.files || {};
|
||||
hasBackendFiles = Object.keys(backendFiles).length > 0;
|
||||
console.log('[generate-ai-code-stream] Updated backend cache with fetched files');
|
||||
}
|
||||
@@ -1363,7 +1365,7 @@ It's better to have 3 complete files than 10 incomplete files.`
|
||||
let tagBuffer = '';
|
||||
|
||||
// Stream the response and parse for packages in real-time
|
||||
for await (const textPart of result.textStream) {
|
||||
for await (const textPart of result?.textStream || []) {
|
||||
const text = textPart || '';
|
||||
generatedCode += text;
|
||||
currentFile += text;
|
||||
@@ -1729,8 +1731,7 @@ Provide the complete file content without any truncation. Include all necessary
|
||||
},
|
||||
{ role: 'user', content: completionPrompt }
|
||||
],
|
||||
temperature: isGPT5 ? undefined : appConfig.ai.defaultTemperature,
|
||||
maxTokens: appConfig.ai.truncationRecoveryMaxTokens
|
||||
temperature: model.startsWith('openai/gpt-5') ? undefined : appConfig.ai.defaultTemperature
|
||||
});
|
||||
|
||||
// Get the full text from the stream
|
||||
|
||||
Reference in New Issue
Block a user