avfranco's picture
ea4all-mcp-lgs-sync-UAT-passed
4a6af9d
from typing_extensions import (
Annotated
)
import operator
from typing import (
Optional,
Annotated,
Sequence,
List
)
from dataclasses import dataclass
from langchain_core.messages import (
BaseMessage
)
from langchain_core.documents import Document
from langgraph.managed.is_last_step import RemainingSteps
from ea4all.src.ea4all_gra.data import (
BusinessCapability,
CapabilityGap,
LandscapeAsIs,
)
from ea4all.src.ea4all_gra.state import InputState
# Task-2 Graph State
@dataclass(kw_only=True)
class Task2State(InputState):
"""
Represents the landscape assessement state of our graph.
Attributes:
message: a message is added after each team member finishes
team_members: the team members are tracked so they are aware of the others' skill-sets
next: used to route work. The supervisor calls a function that will update this every time it makes a decision
business_query: identified business capabilities
landscape_asis: list of applications
identified_asis: LLM generation
capability: list of business capabilities required to support intent and requirements
landscape_gap: business capability support gap
"""
#messages: Optional[Annotated[Sequence[BaseMessage], operator.add]]
business_query: str
team_members: Optional[List[str]]
landscape_asis: Optional[List[Document]]
identified_asis: Optional[LandscapeAsIs]
biz_capability: Optional[BusinessCapability]
landscape_gap: Optional[CapabilityGap]
next: Optional[str]
remaining_steps: RemainingSteps