File size: 1,622 Bytes
7042c3c 21cb336 4a6af9d 7042c3c 4a6af9d 21cb336 4a6af9d |
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
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
|