|
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 |
|
|
|
|
|
@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 |
|
""" |
|
|
|
|
|
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 |
|
|
|
|