Spaces:
Paused
Paused
| const fs = require('fs'); | |
| let content = fs.readFileSync('App.tsx', 'utf8'); | |
| // There are extra lines left behind from the bad regex replace earlier | |
| // Let's replace EVERYTHING from the end of SettingsModal to the beginning of NewSessionModal. | |
| const startRegex = /<SettingsModal[^>]*\/>/s; | |
| const endRegex = /<NewSessionModal/s; | |
| const startMatch = startRegex.exec(content); | |
| const endMatch = endRegex.exec(content); | |
| if (startMatch && endMatch) { | |
| const startIndex = startMatch.index + startMatch[0].length; | |
| const endIndex = endMatch.index; | |
| const replacement = ` | |
| <TemplateFillerModal | |
| note={selectedNoteForTemplate} | |
| isOpen={templateModalOpen} | |
| onClose={() => { | |
| setTemplateModalOpen(false); | |
| if (activeWorkflow && activeWorkflow.stepIndex > 0) { | |
| if (window.confirm('Cancel the rest of the workflow?')) { | |
| setActiveWorkflow(null); | |
| } | |
| } else { | |
| setActiveWorkflow(null); | |
| } | |
| }} | |
| onSubmit={async (text) => { | |
| if (activeWorkflow && activeWorkflow.stepIndex > 0 && activeWorkflow.sessionId) { | |
| const delay = activeWorkflow.workflow.steps[activeWorkflow.stepIndex].delayMinutes; | |
| queueWorkflowStep(text, activeWorkflow.sessionId, delay); | |
| const nextIndex = activeWorkflow.stepIndex + 1; | |
| if (nextIndex < activeWorkflow.workflow.steps.length) { | |
| setActiveWorkflow({ ...activeWorkflow, stepIndex: nextIndex }); | |
| const nextTemplate = notes.find(n => n.id === activeWorkflow.workflow.steps[nextIndex].templateId); | |
| if (nextTemplate) { | |
| setTimeout(() => handleUseTemplate(nextTemplate), 100); | |
| } | |
| } else { | |
| setActiveWorkflow(null); | |
| setTemplateModalOpen(false); | |
| } | |
| } else { | |
| await handleTemplateSubmitted(text, false); | |
| setTemplateModalOpen(false); | |
| if (!activeWorkflow) { | |
| setInputText(text); | |
| setActiveTab('chat'); | |
| if (window.innerWidth < 1024) { | |
| setTemplatesOpen(false); | |
| setSidebarOpen(false); | |
| } | |
| } | |
| } | |
| }} | |
| onStartNewChat={(text) => { | |
| if (activeWorkflow) { | |
| handleTemplateSubmitted(text, true); | |
| } | |
| handleStartNewChatFromTemplate(text); | |
| }} | |
| hfProfileData={hfProfiles[currentAgent.id]} | |
| workflowContext={activeWorkflow ? { | |
| stepIndex: activeWorkflow.stepIndex, | |
| totalSteps: activeWorkflow.workflow.steps.length, | |
| delayMinutes: activeWorkflow.workflow.steps[activeWorkflow.stepIndex].delayMinutes | |
| } : undefined} | |
| /> | |
| `; | |
| const newContent = content.substring(0, startIndex) + replacement + content.substring(endIndex); | |
| fs.writeFileSync('App.tsx', newContent); | |
| console.log('Fixed completely.'); | |
| } | |