|
from pydantic import Field |
|
from typing_extensions import ( |
|
Annotated |
|
) |
|
import operator |
|
from typing import ( |
|
Optional, |
|
Annotated, |
|
Sequence, |
|
List |
|
) |
|
from dataclasses import dataclass |
|
from typing import Optional |
|
|
|
from langchain_core.messages import ( |
|
BaseMessage, |
|
) |
|
|
|
from ea4all.src.ea4all_gra.data import ( |
|
ListRequirement, |
|
ListObjective, |
|
UserJourney, |
|
StakeholderList, |
|
BusinessCapability, |
|
) |
|
|
|
from ea4all.src.ea4all_gra.state import InputState |
|
|
|
|
|
@dataclass(kw_only=True) |
|
class Task1State(InputState): |
|
""" |
|
Represents the BusinessOutput 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 |
|
requirement: list of business requirements |
|
intent: business objective, goal |
|
userjourney: list of user journeys |
|
stakeholder: list of stakeholder and their concerns |
|
capability: list of business capabilities to deliver intent and requirements |
|
""" |
|
|
|
|
|
business_query: str |
|
team_members: Optional[List[str]] |
|
requirement: Optional[ListRequirement] |
|
intent: Optional[ListObjective] |
|
userjourney: Optional[UserJourney] |
|
stakeholder: Optional[StakeholderList] |
|
biz_capability: Optional[BusinessCapability] |
|
next: Optional[str] |
|
|