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 ea4all.src.ea4all_gra.data import (
BusinessCapability,
CapabilityGap,
LandscapeAsIs,
StakeholderList,
Principles,
ListObjective,
ListRequirement,
UserJourney,
)
from ea4all.src.ea4all_gra.state import InputState
# Task-3 Graph State
@dataclass(kw_only=True)
class Task3State(InputState):
"""
Represents the Reference Architecture 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: business demand to be delivered
principles: list of principles to the architecture work
requirement: list of business requirements
intent: business objective, goal
user_journey: list of user journeys
stakeholder: list of stakeholder and their concerns
capability: list of business capabilities to deliver intent and requirements
landscape_asis: list of potential applications to support business query
identified_asis: identified target applications
landscape_gap: list of capabilities not supported by as-is landscape
"""
#messages: Optional[Annotated[Sequence[BaseMessage], operator.add]]
business_query: str
team_members: Optional[List[str]]
landscape_asis: Optional[List[str]]
identified_asis: Optional[LandscapeAsIs]
biz_capability: Optional[BusinessCapability]
landscape_gap: Optional[CapabilityGap]
stakeholder: Optional[StakeholderList]
principles: Optional[Principles]
requirement: Optional[ListRequirement]
intent: Optional[ListObjective]
userjourney: Optional[UserJourney]
vision_target: Optional[str]
architecture_runway: Optional[str]
next: Optional[str]