enzostvs HF Staff commited on
Commit
fb9c1a7
·
1 Parent(s): bbc7882

send the whole page

Browse files
Files changed (1) hide show
  1. app/api/ask/route.ts +4 -36
app/api/ask/route.ts CHANGED
@@ -300,41 +300,9 @@ export async function PUT(request: NextRequest) {
300
  const systemPrompt = FOLLOW_UP_SYSTEM_PROMPT + (isNew ? PROMPT_FOR_PROJECT_NAME : "");
301
  const userContext = "You are modifying the HTML file based on the user's request.";
302
 
303
- const getRelevantPages = (pages: Page[], prompt: string, maxPages: number = 2): Page[] => {
304
- if (pages.length <= maxPages) return pages;
305
-
306
- const indexPage = pages.find(p => p.path === '/' || p.path === '/index' || p.path === 'index');
307
- const otherPages = pages.filter(p => p !== indexPage);
308
-
309
- if (selectedElementHtml) {
310
- const elementKeywords = selectedElementHtml.toLowerCase().match(/class=["']([^"']*)["']|id=["']([^"']*)["']/g) || [];
311
- const relevantPages = otherPages.filter(page => {
312
- const pageContent = page.html.toLowerCase();
313
- return elementKeywords.some((keyword: string) => pageContent.includes(keyword.toLowerCase()));
314
- });
315
-
316
- return indexPage ? [indexPage, ...relevantPages.slice(0, maxPages - 1)] : relevantPages.slice(0, maxPages);
317
- }
318
-
319
- const keywords = prompt.toLowerCase().split(/\s+/).filter(word => word.length > 3);
320
- const scoredPages = otherPages.map(page => {
321
- const pageContent = (page.path + ' ' + page.html).toLowerCase();
322
- const score = keywords.reduce((acc, keyword) => {
323
- return acc + (pageContent.includes(keyword) ? 1 : 0);
324
- }, 0);
325
- return { page, score };
326
- });
327
-
328
- const topPages = scoredPages
329
- .sort((a, b) => b.score - a.score)
330
- .slice(0, maxPages - (indexPage ? 1 : 0))
331
- .map(item => item.page);
332
-
333
- return indexPage ? [indexPage, ...topPages] : topPages;
334
- };
335
-
336
- const relevantPages = getRelevantPages(pages || [], prompt);
337
- const pagesContext = relevantPages
338
  .map((p: Page) => `- ${p.path}\n${p.html}`)
339
  .join("\n\n");
340
 
@@ -342,7 +310,7 @@ export async function PUT(request: NextRequest) {
342
  selectedElementHtml
343
  ? `\n\nYou have to update ONLY the following element, NOTHING ELSE: \n\n\`\`\`html\n${selectedElementHtml}\n\`\`\` Could be in multiple pages, if so, update all the pages.`
344
  : ""
345
- }. Current pages (${relevantPages.length}/${pages?.length || 0} shown): ${pagesContext}. ${files?.length > 0 ? `Available images: ${files?.map((f: string) => f).join(', ')}.` : ""}`;
346
 
347
  const estimatedInputTokens = estimateInputTokens(systemPrompt, prompt, userContext + assistantContext);
348
  const dynamicMaxTokens = calculateMaxTokens(selectedProvider, estimatedInputTokens, false);
 
300
  const systemPrompt = FOLLOW_UP_SYSTEM_PROMPT + (isNew ? PROMPT_FOR_PROJECT_NAME : "");
301
  const userContext = "You are modifying the HTML file based on the user's request.";
302
 
303
+ // Send all pages without filtering
304
+ const allPages = pages || [];
305
+ const pagesContext = allPages
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
306
  .map((p: Page) => `- ${p.path}\n${p.html}`)
307
  .join("\n\n");
308
 
 
310
  selectedElementHtml
311
  ? `\n\nYou have to update ONLY the following element, NOTHING ELSE: \n\n\`\`\`html\n${selectedElementHtml}\n\`\`\` Could be in multiple pages, if so, update all the pages.`
312
  : ""
313
+ }. Current pages (${allPages.length} total): ${pagesContext}. ${files?.length > 0 ? `Available images: ${files?.map((f: string) => f).join(', ')}.` : ""}`;
314
 
315
  const estimatedInputTokens = estimateInputTokens(systemPrompt, prompt, userContext + assistantContext);
316
  const dynamicMaxTokens = calculateMaxTokens(selectedProvider, estimatedInputTokens, false);