agi-med-common 1.5.0__py3-none-any.whl → 2.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- __version__ = "1.5.0"
1
+ __version__ = "2.0.0"
2
2
 
3
3
  from .logger import LogLevelEnum, logger_init
4
4
  from .models import (
@@ -1,10 +1,31 @@
1
- from pydantic import Field
1
+ from datetime import datetime
2
+
3
+ from pydantic import Field, field_validator, field_serializer
2
4
 
3
5
  from .. import _Base
4
6
 
7
+ _TIME_FORMAT: str = "%Y-%m-%d-%H-%M-%S"
8
+ _EXAMPLE_DATETIME: datetime = datetime(1970, 1, 1, 0, 0, 0)
9
+
5
10
 
6
11
  class ReplicaItem(_Base):
7
12
  body: str = Field("", alias="Body", examples=["Привет"])
8
13
  role: bool = Field(False, alias="Role", description="True = ai, False = client", examples=[False])
9
- date_time: str = Field("1970-01-01-00-00-00", alias="DateTime", examples=["2024-12-10-18-03-46"])
14
+ date_time: datetime = Field(
15
+ _EXAMPLE_DATETIME,
16
+ alias="DateTime",
17
+ examples=[_EXAMPLE_DATETIME.strftime(_TIME_FORMAT)],
18
+ description=f"Format: {_TIME_FORMAT}",
19
+ )
10
20
  previous_score: float | None = Field(None, alias="PreviousScore", exclude=True, deprecated=True)
21
+
22
+ @field_validator("date_time", mode="before")
23
+ @classmethod
24
+ def convert_date_time(cls, timestamp: str | datetime) -> datetime:
25
+ if isinstance(timestamp, datetime):
26
+ return timestamp
27
+ return datetime.strptime(timestamp, _TIME_FORMAT)
28
+
29
+ @field_serializer("date_time")
30
+ def serialize_date_time(self, timestamp: datetime) -> str:
31
+ return timestamp.strftime(_TIME_FORMAT)
@@ -8,14 +8,22 @@ class StatesEnum(StrEnum):
8
8
 
9
9
  BEGIN = auto()
10
10
  START = auto()
11
- NOT_MEDICAL = auto()
11
+
12
12
  IS_CHILD = auto()
13
13
  IS_ABSURD = auto()
14
14
  CRITICAL = auto()
15
15
  WHAT_COMPLAINTS = auto()
16
- ANALYSIS_CONSULTATION = auto()
17
- COMMON_CONSULTATION = auto()
16
+ NOT_MEDICAL = auto()
17
+
18
+ ERROR_STATE = auto()
19
+
20
+ CONSULTATION_TRANSIT = auto()
21
+ NOT_MEDICAL_DOC = auto()
22
+ CONSULTATION = auto()
23
+
18
24
  INFO_COLLECTION = auto()
19
25
  MAKE_DIAGNOSIS = auto()
20
- COMMENT_DIAGNOSIS = auto()
21
- EXIT_INNER_CYCLE = auto()
26
+
27
+ SUMMARIZATION = auto()
28
+
29
+ ANALYSIS_CONSULTATION = auto()
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: agi_med_common
3
- Version: 1.5.0
3
+ Version: 2.0.0
4
4
  Summary: Сommon for agi-med team
5
5
  Author: AGI-MED-TEAM
6
6
  Requires-Python: >=3.13
@@ -1,4 +1,4 @@
1
- agi_med_common/__init__.py,sha256=nJzhnz1BvLLyFjKRZMXZg8eQeAb174cb5uLRhCLsfZw,385
1
+ agi_med_common/__init__.py,sha256=0GJulrzkBDkB17nr_utQW7ghrK5yCMq30GZKK9aV3wY,385
2
2
  agi_med_common/utils.py,sha256=4GV1yNZiRG3KYOh859dvOZI899z7_s_YN3aXzthMgwU,399
3
3
  agi_med_common/validators.py,sha256=R678gjPp-5XbnocRuEtdOQgJyCCOurxwaOe2nT04kSg,705
4
4
  agi_med_common/logger/__init__.py,sha256=RW_0VZtbeJ4RsLqUXZUQWl5CtV9g840rU7qRlf5u49E,96
@@ -12,15 +12,15 @@ agi_med_common/models/chat_item/__init__.py,sha256=MoZFnZQV-tWJTHmH1OhRBRkrc5cGW
12
12
  agi_med_common/models/chat_item/chat_item.py,sha256=aCRR4OwL-YS6hvVSNkIg7FNpfvEGo8BESCY8BhiAlNk,255
13
13
  agi_med_common/models/chat_item/inner_context_item.py,sha256=s17frAcwyi8WcHnBt-5LF8nUJeO-hnu7YMobYQO5a-c,166
14
14
  agi_med_common/models/chat_item/outer_context_item.py,sha256=IprCIh8ki3PUueFwdmPw-MYn0-prx_G523Y-IXN62ZY,792
15
- agi_med_common/models/chat_item/replica_item.py,sha256=cv6eeLjKwuITeFbkjTcAfh90Dzf2b47YaE0UeVxdZf8,450
15
+ agi_med_common/models/chat_item/replica_item.py,sha256=_OvnGmbP-wzxi16c6FGz-_Y-QtudV1Pi6I-zCJ7aQfA,1131
16
16
  agi_med_common/models/chat_item_with_state/__init__.py,sha256=KrXgsvJnLzS1kSi9_Y1z6_egxIqKL7epY1r-PIyrnno,156
17
17
  agi_med_common/models/chat_item_with_state/chat_with_state.py,sha256=IgZh0CRoar56eM8QOblPx8tsIm9NPO5tOj0mVC8yj40,205
18
18
  agi_med_common/models/chat_item_with_state/inner_context_with_state.py,sha256=qIwqCHn-JuQemcVQqLDzkpuaPRNCjIL_-h1wm1Jv5WU,212
19
19
  agi_med_common/models/chat_item_with_state/replica_with_state.py,sha256=YvUcCo1HTfxYUEwZ5T7UqLW2WkZ8SFvVNQZf-5mK5Dg,192
20
20
  agi_med_common/models/enums/__init__.py,sha256=yHUFI7n5r-LY5y4CbliZlXDrmr38bsz8dh4iyNo5Ti8,75
21
- agi_med_common/models/enums/states_enum.py,sha256=_aX8IVB8PeXjw_HgFVivRyqWgghTud7lspLCSalbrKM,490
21
+ agi_med_common/models/enums/states_enum.py,sha256=IerXA4uaCNnE0zt4JF4bveqwL1wpUUBMXMh6kqFV_XM,543
22
22
  agi_med_common/models/enums/track_id_enum.py,sha256=fHGQz9AACIS6SfTFCrSau1HKee70r2bap-OcBxD3YRE,423
23
- agi_med_common-1.5.0.dist-info/METADATA,sha256=eQ59D8d3hH8sX0YFHZ65dzU66PA6UjDcwXpGnpYE_ZY,520
24
- agi_med_common-1.5.0.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
25
- agi_med_common-1.5.0.dist-info/top_level.txt,sha256=26o565jF_7wYQj7-YJfTedtT9yDxDcf8RNikOYuPq78,15
26
- agi_med_common-1.5.0.dist-info/RECORD,,
23
+ agi_med_common-2.0.0.dist-info/METADATA,sha256=VTyClWQ9zBYJdascshkCrq_hXlMsvCFyU3qxY8nz4Sg,520
24
+ agi_med_common-2.0.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
25
+ agi_med_common-2.0.0.dist-info/top_level.txt,sha256=26o565jF_7wYQj7-YJfTedtT9yDxDcf8RNikOYuPq78,15
26
+ agi_med_common-2.0.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.6.0)
2
+ Generator: setuptools (75.8.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5