File size: 1,233 Bytes
c8fb072
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
from src.sdlc.states.states import State
from src.sdlc.prompts.prompts import DESIGNDOCS_GEN_INSTRNS,DESIGN_MODIFY_INSTRNS
from src.sdlc import logger

class DesignDocumentsNode:
    """
    Node logic implementation.
    """
    def __init__(self,model):
        self.llm = model

    def process(self, state: State):
        """
        Processes the input state and generates design document based on user stories.
        """
        design_review=state.get("design_documents_review", "")
        design_doc=state.get("design_documents", "")
        if design_review:
            response=self.llm.invoke(DESIGN_MODIFY_INSTRNS.format(design_review=design_review,
                                                            design_documents=design_doc))
            logger.info("IN MODIFY DESIGN DOCS...")
        else:
            response=self.llm.invoke(DESIGNDOCS_GEN_INSTRNS.format(user_stories=state["user_stories"],
                                                                design_documents=design_doc,
                                                                design_review=design_review))
            logger.info("IN DESIGN DOCS GENERATION...")
        return {"design_documents":response.content}