letschatty 0.4.280__py3-none-any.whl → 0.4.343__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.
Files changed (92) hide show
  1. letschatty/models/ai_microservices/__init__.py +3 -3
  2. letschatty/models/ai_microservices/expected_output.py +35 -1
  3. letschatty/models/ai_microservices/lambda_events.py +85 -45
  4. letschatty/models/ai_microservices/lambda_invokation_types.py +6 -3
  5. letschatty/models/analytics/events/__init__.py +2 -3
  6. letschatty/models/analytics/events/chat_based_events/chat_funnel.py +69 -13
  7. letschatty/models/analytics/events/company_based_events/asset_events.py +9 -2
  8. letschatty/models/analytics/events/event_type_to_classes.py +6 -3
  9. letschatty/models/analytics/events/event_types.py +13 -50
  10. letschatty/models/chat/chat.py +14 -2
  11. letschatty/models/chat/chat_with_assets.py +6 -1
  12. letschatty/models/chat/client.py +0 -2
  13. letschatty/models/chat/continuous_conversation.py +1 -1
  14. letschatty/models/company/CRM/funnel.py +365 -33
  15. letschatty/models/company/__init__.py +3 -1
  16. letschatty/models/company/assets/ai_agents_v2/ai_agent_message_draft.py +58 -0
  17. letschatty/models/company/assets/ai_agents_v2/ai_agents_decision_output.py +1 -1
  18. letschatty/models/company/assets/ai_agents_v2/chain_of_thought_in_chat.py +5 -3
  19. letschatty/models/company/assets/ai_agents_v2/chatty_ai_agent.py +46 -2
  20. letschatty/models/company/assets/ai_agents_v2/chatty_ai_agent_in_chat.py +93 -1
  21. letschatty/models/company/assets/ai_agents_v2/pre_qualify_config.py +111 -0
  22. letschatty/models/company/assets/ai_agents_v2/statuses.py +33 -0
  23. letschatty/models/company/assets/assignment/__init__.py +14 -0
  24. letschatty/models/company/assets/assignment/assignment_assets.py +75 -0
  25. letschatty/models/company/assets/automation.py +10 -19
  26. letschatty/models/company/assets/chat_assets.py +12 -2
  27. letschatty/models/company/assets/company_assets.py +3 -0
  28. letschatty/models/company/assets/launch/__init__.py +12 -0
  29. letschatty/models/company/assets/launch/launch.py +128 -0
  30. letschatty/models/company/assets/launch/scheduled_communication.py +44 -0
  31. letschatty/models/company/assets/launch/subscription.py +63 -0
  32. letschatty/models/company/assets/sale.py +3 -3
  33. letschatty/models/company/assets/users/user.py +5 -1
  34. letschatty/models/company/company_messaging_settgins.py +2 -1
  35. letschatty/models/company/form_field.py +182 -12
  36. letschatty/models/data_base/collection_interface.py +29 -101
  37. letschatty/models/data_base/mongo_connection.py +9 -92
  38. letschatty/models/messages/chatty_messages/schema/chatty_content/content_document.py +4 -2
  39. letschatty/models/messages/chatty_messages/schema/chatty_content/content_media.py +4 -3
  40. letschatty/models/utils/custom_exceptions/custom_exceptions.py +24 -13
  41. letschatty/services/ai_agents/smart_follow_up_service_v2.py +10 -0
  42. letschatty/services/chat/chat_service.py +79 -14
  43. letschatty/services/chatty_assets/__init__.py +0 -12
  44. letschatty/services/chatty_assets/asset_service.py +13 -190
  45. letschatty/services/chatty_assets/base_container.py +2 -3
  46. letschatty/services/chatty_assets/base_container_with_collection.py +26 -35
  47. letschatty/services/continuous_conversation_service/continuous_conversation_helper.py +0 -11
  48. letschatty/services/events/events_manager.py +1 -218
  49. letschatty/services/factories/analytics/events_factory.py +6 -66
  50. letschatty/services/factories/lambda_ai_orchestrartor/lambda_events_factory.py +8 -23
  51. letschatty/services/users/user_factory.py +14 -8
  52. letschatty/services/validators/analytics_validator.py +11 -0
  53. {letschatty-0.4.280.dist-info → letschatty-0.4.343.dist-info}/METADATA +1 -1
  54. {letschatty-0.4.280.dist-info → letschatty-0.4.343.dist-info}/RECORD +56 -83
  55. {letschatty-0.4.280.dist-info → letschatty-0.4.343.dist-info}/WHEEL +1 -1
  56. letschatty/models/analytics/events/chat_based_events/ai_agent_execution_event.py +0 -71
  57. letschatty/services/chatty_assets/assets_collections.py +0 -137
  58. letschatty/services/chatty_assets/collections/__init__.py +0 -38
  59. letschatty/services/chatty_assets/collections/ai_agent_collection.py +0 -19
  60. letschatty/services/chatty_assets/collections/ai_agent_in_chat_collection.py +0 -32
  61. letschatty/services/chatty_assets/collections/ai_component_collection.py +0 -21
  62. letschatty/services/chatty_assets/collections/chain_of_thought_collection.py +0 -30
  63. letschatty/services/chatty_assets/collections/chat_collection.py +0 -21
  64. letschatty/services/chatty_assets/collections/contact_point_collection.py +0 -21
  65. letschatty/services/chatty_assets/collections/fast_answer_collection.py +0 -21
  66. letschatty/services/chatty_assets/collections/filter_criteria_collection.py +0 -18
  67. letschatty/services/chatty_assets/collections/flow_collection.py +0 -20
  68. letschatty/services/chatty_assets/collections/product_collection.py +0 -20
  69. letschatty/services/chatty_assets/collections/sale_collection.py +0 -20
  70. letschatty/services/chatty_assets/collections/source_collection.py +0 -21
  71. letschatty/services/chatty_assets/collections/tag_collection.py +0 -19
  72. letschatty/services/chatty_assets/collections/topic_collection.py +0 -21
  73. letschatty/services/chatty_assets/collections/user_collection.py +0 -20
  74. letschatty/services/chatty_assets/example_usage.py +0 -44
  75. letschatty/services/chatty_assets/services/__init__.py +0 -37
  76. letschatty/services/chatty_assets/services/ai_agent_in_chat_service.py +0 -73
  77. letschatty/services/chatty_assets/services/ai_agent_service.py +0 -23
  78. letschatty/services/chatty_assets/services/chain_of_thought_service.py +0 -70
  79. letschatty/services/chatty_assets/services/chat_service.py +0 -25
  80. letschatty/services/chatty_assets/services/contact_point_service.py +0 -29
  81. letschatty/services/chatty_assets/services/fast_answer_service.py +0 -32
  82. letschatty/services/chatty_assets/services/filter_criteria_service.py +0 -30
  83. letschatty/services/chatty_assets/services/flow_service.py +0 -25
  84. letschatty/services/chatty_assets/services/product_service.py +0 -30
  85. letschatty/services/chatty_assets/services/sale_service.py +0 -25
  86. letschatty/services/chatty_assets/services/source_service.py +0 -28
  87. letschatty/services/chatty_assets/services/tag_service.py +0 -32
  88. letschatty/services/chatty_assets/services/topic_service.py +0 -31
  89. letschatty/services/chatty_assets/services/user_service.py +0 -32
  90. letschatty/services/events/__init__.py +0 -6
  91. letschatty/services/factories/analytics/ai_agent_event_factory.py +0 -161
  92. {letschatty-0.4.280.dist-info → letschatty-0.4.343.dist-info}/LICENSE +0 -0
@@ -1,7 +1,6 @@
1
1
  from typing import Optional, Dict, Any
2
2
  from datetime import datetime
3
3
  from ....models.analytics.events import *
4
- from ....models.analytics.events.chat_based_events.ai_agent_execution_event import AIAgentExecutionEvent
5
4
  from ....models.base_models.chatty_asset_model import ChattyAssetModel
6
5
  from ....models.company.assets.chat_assets import AssignedAssetToChat
7
6
  from ....models.company.empresa import EmpresaModel
@@ -322,7 +321,7 @@ class EventFactory:
322
321
  return events
323
322
 
324
323
  @staticmethod
325
- def funnel_stage_events(chat_with_assets: ChatWithAssets, company_info: EmpresaModel, trace_id: str,executor_type: ExecutorType, executor_id: StrObjectId, chat_funnel: ClientFunnel, funnel_transition: StageTransition, event_type: EventType, time: datetime, company_snapshot: Optional[CompanyChatsSnapshot] = None, agent_snapshot: Optional[AgentChatsSnapshot] = None) -> List[Event]:
324
+ def funnel_stage_events(chat_with_assets: ChatWithAssets, company_info: EmpresaModel, trace_id: str,executor_type: ExecutorType, executor_id: StrObjectId, chat_funnel: ChatFunnel, funnel_transition: StageTransition, event_type: EventType, time: datetime, company_snapshot: Optional[CompanyChatsSnapshot] = None, agent_snapshot: Optional[AgentChatsSnapshot] = None) -> List[Event]:
326
325
  events = []
327
326
  base_data = EventFactory._create_base_customer_event_data(
328
327
  chat_with_assets=chat_with_assets,
@@ -335,8 +334,10 @@ class EventFactory:
335
334
  funnel_data = FunnelEventData(
336
335
  **base_data.model_dump(),
337
336
  funnel_id=chat_funnel.funnel_id,
338
- funnel_stage_transition=funnel_transition,
339
- time_in_funnel_seconds=chat_funnel.time_in_funnel_seconds
337
+ chat_funnel_id=chat_funnel.id,
338
+ stage_transition=funnel_transition,
339
+ time_in_funnel_seconds=chat_funnel.time_in_funnel_seconds,
340
+ time_in_last_stage_seconds=chat_funnel.time_in_current_stage_seconds
340
341
  )
341
342
  event = ChatFunnelEvent(
342
343
  specversion=EventFactory.package_version(),
@@ -612,65 +613,4 @@ class EventFactory:
612
613
  trace_id=trace_id
613
614
  )
614
615
  events.append(event)
615
- return events
616
-
617
- @staticmethod
618
- def ai_agent_execution_event(
619
- event_type: EventType,
620
- chat_id: StrObjectId,
621
- company_id: StrObjectId,
622
- frozen_company_name: str,
623
- ai_agent_id: StrObjectId,
624
- chain_of_thought_id: StrObjectId,
625
- trigger: str,
626
- source: str = "chatty.api",
627
- decision_type: Optional[str] = None,
628
- error_message: Optional[str] = None,
629
- duration_ms: Optional[int] = None,
630
- user_rating: Optional[int] = None,
631
- metadata: Optional[Dict[str, Any]] = None,
632
- trace_id: Optional[str] = None
633
- ) -> AIAgentExecutionEvent:
634
- """
635
- Create an AI agent execution event using the modularized AIAgentEventFactory.
636
-
637
- This method delegates to AIAgentEventFactory to maintain modularity while
638
- keeping event creation centralized through EventsFactory.
639
-
640
- Args:
641
- event_type: The type of event (from EventType enum)
642
- chat_id: ID of the chat where the event occurred
643
- company_id: ID of the company
644
- frozen_company_name: Company name snapshot for analytics
645
- ai_agent_id: ID of the AI agent asset
646
- chain_of_thought_id: ID of the chain of thought execution
647
- trigger: What triggered the execution (USER_MESSAGE, FOLLOW_UP, etc.)
648
- source: Event source (e.g., 'chatty.api', 'chatty.lambda')
649
- decision_type: Type of decision if applicable
650
- error_message: Error message if this is an error event
651
- duration_ms: Duration of the operation in milliseconds
652
- user_rating: User rating (1-5 stars) if applicable
653
- metadata: Additional event-specific data
654
- trace_id: Trace ID for tracking event flows
655
-
656
- Returns:
657
- AIAgentExecutionEvent ready to be queued to EventBridge
658
- """
659
- from .ai_agent_event_factory import AIAgentEventFactory
660
-
661
- return AIAgentEventFactory.create_event(
662
- event_type=event_type,
663
- chat_id=chat_id,
664
- company_id=company_id,
665
- frozen_company_name=frozen_company_name,
666
- ai_agent_id=ai_agent_id,
667
- chain_of_thought_id=chain_of_thought_id,
668
- trigger=trigger,
669
- source=source,
670
- decision_type=decision_type,
671
- error_message=error_message,
672
- duration_ms=duration_ms,
673
- user_rating=user_rating,
674
- metadata=metadata,
675
- trace_id=trace_id
676
- )
616
+ return events
@@ -1,8 +1,8 @@
1
1
 
2
2
  from letschatty.models import StrObjectId
3
- from letschatty.models.ai_microservices.lambda_events import DoubleCheckerForIncomingMessagesAnswerCallbackEvent, DoubleCheckerForIncomingMessagesAnswerEvent, FixBuggedAiAgentsCallsInChatsEvent, GetChainOfThoughtsByChatIdEvent, GetChatWithPromptForFollowUpEvent, GetChatWithPromptForIncomingMessageEvent, QualityTestEventData, QualityTestsForUpdatedAIComponentEvent, QualityTestsForUpdatedAIComponentEventData, ManualTriggerEvent, CancelExecutionEvent, AssignAIAgentToChatEvent, RemoveAIAgentFromChatEvent, UpdateAIAgentModeInChatEvent, EscalateAIAgentInChatEvent, UnescalateAIAgentInChatEvent
3
+ from letschatty.models.ai_microservices.lambda_events import DoubleCheckerForIncomingMessagesAnswerCallbackEvent, DoubleCheckerForIncomingMessagesAnswerEvent, FixBuggedAiAgentsCallsInChatsEvent, QualityTestEventData, QualityTestsForUpdatedAIComponentEvent, QualityTestsForUpdatedAIComponentEventData
4
4
  from letschatty.models.ai_microservices.lambda_invokation_types import InvokationType
5
- from letschatty.models.ai_microservices import AllQualityTestEvent, AllQualityTestEventData, QualityTestEvent, QualityTestInteractionCallbackEvent, SmartTaggingCallbackEvent, QualityTestCallbackEvent, LambdaAiEvent, SmartTaggingEvent, SmartTaggingPromptEvent
5
+ from letschatty.models.ai_microservices import AllQualityTestEvent, AllQualityTestEventData, FollowUpEvent, IncomingMessageEvent, QualityTestEvent, QualityTestInteractionCallbackEvent, SmartTaggingCallbackEvent, IncomingMessageCallbackEvent, QualityTestCallbackEvent, LambdaAiEvent, SmartTaggingEvent, SmartTaggingPromptEvent
6
6
  from letschatty.models.base_models.ai_agent_component import AiAgentComponent
7
7
  from letschatty.models.company.assets.ai_agents_v2.chat_example import ChatExample
8
8
  from letschatty.models.company.assets.ai_agents_v2.chat_example_test import ChatExampleTestCase
@@ -19,10 +19,16 @@ class LambdaEventFactory:
19
19
  return SmartTaggingEvent(**event_data)
20
20
  case InvokationType.SMART_TAGGING_CALLBACK:
21
21
  return SmartTaggingCallbackEvent(**event_data)
22
+ case InvokationType.INCOMING_MESSAGE:
23
+ return IncomingMessageEvent(**event_data)
22
24
  case InvokationType.SINGLE_QUALITY_TEST:
23
25
  return QualityTestEvent(**event_data)
24
26
  case InvokationType.ALL_QUALITY_TEST:
25
27
  return AllQualityTestEvent(**event_data)
28
+ case InvokationType.INCOMING_MESSAGE_CALLBACK:
29
+ return IncomingMessageCallbackEvent(**event_data)
30
+ case InvokationType.FOLLOW_UP:
31
+ return FollowUpEvent(**event_data)
26
32
  case InvokationType.SINGLE_QUALITY_TEST_CALLBACK:
27
33
  return QualityTestCallbackEvent(**event_data)
28
34
  case InvokationType.SMART_TAGGING_PROMPT:
@@ -35,27 +41,6 @@ class LambdaEventFactory:
35
41
  return DoubleCheckerForIncomingMessagesAnswerEvent(**event_data)
36
42
  case InvokationType.DOUBLE_CHECKER_FOR_INCOMING_MESSAGES_ANSWER_CALLBACK:
37
43
  return DoubleCheckerForIncomingMessagesAnswerCallbackEvent(**event_data)
38
- case InvokationType.GET_CHAT_WITH_PROMPT_INCOMING_MESSAGE:
39
- return GetChatWithPromptForIncomingMessageEvent(**event_data)
40
- case InvokationType.GET_CHAT_WITH_PROMPT_FOLLOW_UP:
41
- return GetChatWithPromptForFollowUpEvent(**event_data)
42
- case InvokationType.MANUAL_TRIGGER:
43
- return ManualTriggerEvent(**event_data)
44
- case InvokationType.CANCEL_EXECUTION:
45
- return CancelExecutionEvent(**event_data)
46
- case InvokationType.ASSIGN_AI_AGENT_TO_CHAT:
47
- return AssignAIAgentToChatEvent(**event_data)
48
- case InvokationType.REMOVE_AI_AGENT_FROM_CHAT:
49
- return RemoveAIAgentFromChatEvent(**event_data)
50
- case InvokationType.UPDATE_AI_AGENT_MODE_IN_CHAT:
51
- return UpdateAIAgentModeInChatEvent(**event_data)
52
- case InvokationType.ESCALATE_AI_AGENT_IN_CHAT:
53
- return EscalateAIAgentInChatEvent(**event_data)
54
- case InvokationType.UNESCALATE_AI_AGENT_IN_CHAT:
55
- return UnescalateAIAgentInChatEvent(**event_data)
56
- case InvokationType.GET_CHAIN_OF_THOUGHTS_BY_CHAT_ID:
57
- return GetChainOfThoughtsByChatIdEvent(**event_data)
58
-
59
44
  case _:
60
45
  raise ValueError(f"Invalid event type: {event_type}")
61
46
 
@@ -129,11 +129,17 @@ class UserFactory:
129
129
 
130
130
  @staticmethod
131
131
  def create_updated_user(user: User, user_update_info: UserUpdateInfo) -> User:
132
- user_copy = User(**user.model_dump_json())
133
- user_copy.name = user_update_info.name if user_update_info.name else user.name
134
- user_copy.email = user_update_info.email if user_update_info.email else user.email
135
- user_copy.phone_number = user_update_info.phone_number if user_update_info.phone_number else user.phone_number
136
- user_copy.photo_url = user_update_info.photo_url if user_update_info.photo_url else user.photo_url
137
- user_copy.notifications = user_update_info.notifications if user_update_info.notifications else user.notifications
138
- user_copy.auto_assign_chats = user_update_info.auto_assign_chats if user_update_info.auto_assign_chats is not None else user.auto_assign_chats
139
- return user_copy
132
+ update_data = {}
133
+ if user_update_info.name:
134
+ update_data['name'] = user_update_info.name
135
+ if user_update_info.email:
136
+ update_data['email'] = user_update_info.email
137
+ if user_update_info.phone_number:
138
+ update_data['phone_number'] = user_update_info.phone_number
139
+ if user_update_info.photo_url:
140
+ update_data['photo_url'] = user_update_info.photo_url
141
+ if user_update_info.notifications:
142
+ update_data['notifications'] = user_update_info.notifications
143
+ if user_update_info.auto_assign_chats is not None:
144
+ update_data['auto_assign_chats'] = user_update_info.auto_assign_chats
145
+ return user.update_from_dict(**update_data)
@@ -10,6 +10,10 @@ if TYPE_CHECKING:
10
10
 
11
11
  class SourcesAndTopicsValidator:
12
12
  """This class provides methods to validate sources and topics."""
13
+ @staticmethod
14
+ def normalize_source_name(name: str) -> str:
15
+ return name.strip().lower()
16
+
13
17
  @staticmethod
14
18
  def source_validation_check(sources : Dict[str,Source], topics : Dict[str,Topic], source : Source, existing_source_id : str | None = None) -> None:
15
19
  """Checks validation of a source against other sources and topics."""
@@ -28,9 +32,16 @@ class SourcesAndTopicsValidator:
28
32
  """This method checks that no duplicated source is created.
29
33
  For Pure Ads, it checks that the ad_id is unique and doesn't exist already.
30
34
  For Other Sources, it checks that exact trigger doesn't exist already. """
35
+ normalized_name = SourcesAndTopicsValidator.normalize_source_name(source.name)
36
+ existing_source_name = None
37
+ if existing_source_id and existing_source_id in sources:
38
+ existing_source_name = SourcesAndTopicsValidator.normalize_source_name(sources[existing_source_id].name)
39
+ should_check_name = existing_source_name is None or normalized_name != existing_source_name
31
40
  for source_id, source_to_check in sources.items():
32
41
  if source_id == existing_source_id:
33
42
  continue
43
+ if should_check_name and SourcesAndTopicsValidator.normalize_source_name(source_to_check.name) == normalized_name:
44
+ raise ConflictedSource(f":warning: *Conflict while adding source: Name already exists* \n New source '{source.name}' \n- Id {source.id} \n Existing source '{source_to_check.name}' \n- Id {source_to_check.id}", conflicting_source_id=source_to_check.id)
34
45
  if source == source_to_check: #type: ignore
35
46
  if isinstance(source, OtherSource):
36
47
  raise ConflictedSource(f":warning: *Conflict while adding source: Trigger already exists* \n New source '{source.name}' \n- Id {source.id} \n- Trigger {source.trigger[:30]} \n Existing source '{source_to_check.name}' \n- Id {source_to_check.id} \n- Trigger '{source_to_check.trigger[:30]}'", conflicting_source_id=source_to_check.id)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: letschatty
3
- Version: 0.4.280
3
+ Version: 0.4.343
4
4
  Summary: Models and custom classes to work across the Chattyverse
5
5
  License: MIT
6
6
  Author: Axel
@@ -1,20 +1,19 @@
1
1
  letschatty/__init__.py,sha256=6dGYdy5edB1dHdgvpqUpENZ347CpIyWgR1CsGYwPSk8,45
2
2
  letschatty/models/__init__.py,sha256=obWHa796C-O1mqo_lk22KhUC2ODVvG7cICY3Lo-AqJg,126
3
- letschatty/models/ai_microservices/__init__.py,sha256=Ijt8hsCpqZoAlUNPfj8O2gE4zCwEGshio4THxdMT06c,601
4
- letschatty/models/ai_microservices/expected_output.py,sha256=vpvzYZne05v49u1bGNlsmvK3rt5PLdpwVdYNS9RmOes,7625
5
- letschatty/models/ai_microservices/lambda_events.py,sha256=mid_GT_efRuBeupI258xqWxJpUgLmq6FZK6xrjoJHeM,13583
6
- letschatty/models/ai_microservices/lambda_invokation_types.py,sha256=arcHFWsKz_kWsAXPZHU2CeniYxnZUDJL-vyDrBLkS4U,1847
3
+ letschatty/models/ai_microservices/__init__.py,sha256=h0xLiuU1wfHpDl1oKCzVKUef3ROYU7qIyVxBsdcdZe0,641
4
+ letschatty/models/ai_microservices/expected_output.py,sha256=PWXvmGiOhqAuOVCZHhfvUMzb8BwSnAoys4CReJ9dIK4,9441
5
+ letschatty/models/ai_microservices/lambda_events.py,sha256=ELIjD95MM4t1EdeHUTxCT8qkUWJFwqu9Q9dwGnQQxWE,14626
6
+ letschatty/models/ai_microservices/lambda_invokation_types.py,sha256=KWvXFvHhwYMaAIHbGpdW8AYE0eqrfCgZ_28jIyGXoME,1918
7
7
  letschatty/models/ai_microservices/n8n_ai_agents_payload.py,sha256=E5tu2UcSJCybMSvxfZG3JIxSxHbTBbjdRE74cnRtlGY,696
8
8
  letschatty/models/ai_microservices/openai_payloads.py,sha256=HauUGf4c37khJJsKyH4ikxzHKboGWnerjDQgDOnMFrY,271
9
9
  letschatty/models/analytics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
- letschatty/models/analytics/events/__init__.py,sha256=5tfg-EiGLV1wzUFcIGbE32Er1wsie0lBwTV-z-aQqn0,2189
10
+ letschatty/models/analytics/events/__init__.py,sha256=LtbKa54_Um7LFKyn-nQ30efHuR4et-aOVFTg3K0Ova4,2096
11
11
  letschatty/models/analytics/events/base.py,sha256=vmRnowUYot4OjYyqVjevGY9kF3Kb47IDkMJgJRwvcfU,1793
12
12
  letschatty/models/analytics/events/chat_based_events/ai_agent_chat.py,sha256=Ac6Llg2IFM0lftCkAErThjd283f_AEYqg76OkNnihuM,1681
13
- letschatty/models/analytics/events/chat_based_events/ai_agent_execution_event.py,sha256=Rr8LoVNANDLJJeki3CiD7gOVOlruh-Kjt3L5xBKbST0,2888
14
13
  letschatty/models/analytics/events/chat_based_events/business_area.py,sha256=YZgIejCzbryySxolMSgvCFMuRggMcwBJ-jeQKdEshvM,904
15
14
  letschatty/models/analytics/events/chat_based_events/chat_based_event.py,sha256=YDXzX78jZgxuPFkTqipXFAo6G0-ajl_RkJISsjM9YJU,1469
16
15
  letschatty/models/analytics/events/chat_based_events/chat_context.py,sha256=Y6VfYorrKurbUgWtIPOsfNMbGQbuTPR5wQQLrbBxD9Q,2226
17
- letschatty/models/analytics/events/chat_based_events/chat_funnel.py,sha256=HmasWF9auAZPvwQRuYyHZvGG8jmqx9TXgiRGD71-m3Y,1699
16
+ letschatty/models/analytics/events/chat_based_events/chat_funnel.py,sha256=LX_lcOn1R2VhdffdZeuc7S87PcoHBhEuppWaBXFP6tY,4184
18
17
  letschatty/models/analytics/events/chat_based_events/chat_status.py,sha256=9vt8GP6QnMrUuJF-AbUQm68Nkc0Zgexmnb-T1k8tsD4,2222
19
18
  letschatty/models/analytics/events/chat_based_events/contact_point.py,sha256=IIzf0EkgxUJKr7vqnv95LHEy0wQA9sVchHZA7Yi0H88,1944
20
19
  letschatty/models/analytics/events/chat_based_events/continuous_conversation.py,sha256=4Tbv83Zk5RIoUu6pKYpQdWMtxz9XZi26V-j5OSBP91U,2305
@@ -26,11 +25,11 @@ letschatty/models/analytics/events/chat_based_events/quality_scoring.py,sha256=f
26
25
  letschatty/models/analytics/events/chat_based_events/sale.py,sha256=WqpFp10h8yZwa5S5T4NCWCRLcBgkAAAME_CKmCv6K7M,1738
27
26
  letschatty/models/analytics/events/chat_based_events/tag_chat.py,sha256=7f1MaNdst-KN8-aIzgzyc6oBES-y8kkH5jVrsOOcxBs,1418
28
27
  letschatty/models/analytics/events/chat_based_events/workflow.py,sha256=BZQN2JDIgCVr2VbdcLg3O0J69SL_yPqGgMXzzNCId4E,1399
29
- letschatty/models/analytics/events/company_based_events/asset_events.py,sha256=eY5x3fvEzvvxZZdfTz6dvABcbU629Nx-9xwYLslbZ4U,3151
28
+ letschatty/models/analytics/events/company_based_events/asset_events.py,sha256=EtVhl_W3wxkJhflbyk4NQraxAdpLeuesc9IfyOC5QV8,3490
30
29
  letschatty/models/analytics/events/company_based_events/company_events.py,sha256=PZAiw2imo706iM0EaCxnIaiFchMKivbwjKd7gsozA8k,1673
31
30
  letschatty/models/analytics/events/company_based_events/user_events.py,sha256=ZUoBaS60s63SoTUOUunLpojP1BQ9Cdl4sl_KdgY6NGI,2466
32
- letschatty/models/analytics/events/event_type_to_classes.py,sha256=qgagTKKm9cccQAYnC5g5ilOHdV9dG5J384fzZPoSTUU,4188
33
- letschatty/models/analytics/events/event_types.py,sha256=DrDGk2zWETj-Kj9ZzNah-bols1y9_t_7_gA5dEYTPDQ,8115
31
+ letschatty/models/analytics/events/event_type_to_classes.py,sha256=mjE45PLLNAuXIoCuIQaOMSxu-Z3NkIhQYk5y5NOOdOw,4331
32
+ letschatty/models/analytics/events/event_types.py,sha256=kubeWq3ICqFnrM6rm1UNJJIveQy8lfb0KpM2o1aY6Wk,5471
34
33
  letschatty/models/analytics/metrics/__init_.py,sha256=DnGDYvEn9S1sSMe56e7mwE5r013nO-Fsf0pgBnf9RjI,276
35
34
  letschatty/models/analytics/metrics/daily_contact_points.py,sha256=eWwUmhFpL-Xn5sWQWCcACrulb4xwjMY80jDSAWsTMb4,1524
36
35
  letschatty/models/analytics/metrics/daily_new_chats.py,sha256=kTsQFDFwavTq3u7HcHx3RqZ_O517HqTrOD-k8q4JQz0,322
@@ -64,11 +63,11 @@ letschatty/models/base_models/update_model_interface.py,sha256=80YuvkEM5Rd3Ycysq
64
63
  letschatty/models/base_models/validate_timestamps_and_id.py,sha256=WRtaoW2EYtItgZjnNOYAffxy9K7M_NMNJ5imRN8Iu80,1971
65
64
  letschatty/models/channels/channel.py,sha256=Mgqigm-3uRDozxBIZZYj62PQwtnB0rAKoY2JS4477n8,2029
66
65
  letschatty/models/chat/assets_assigned_to_chat.py,sha256=nAdSzRvUSWa8-Plw6KZKnpUxxjCdWs_grml0bhskSis,192
67
- letschatty/models/chat/chat.py,sha256=RWapi0JPMSGGB_ZZSwVi47Fzp_TAh3MWhRHF5AS-1R4,16062
66
+ letschatty/models/chat/chat.py,sha256=P6c8JGutMsk5GF526s0RxnT_F6oBclofPtTzjcnNUrc,16749
68
67
  letschatty/models/chat/chat_status_modifications.py,sha256=LcwXNl4WRllPI_ZYKcg5ANRjmSk4Cykkra0naayMAt4,317
69
- letschatty/models/chat/chat_with_assets.py,sha256=AvpcKz5zyiIxfnLjyVx8JSX9c0UQFhVKoACnyW0bu4Q,574
70
- letschatty/models/chat/client.py,sha256=qMaa-s65lBHMXOpSO2XRtKYeEki7Rr3E79ocKI5kcC4,2299
71
- letschatty/models/chat/continuous_conversation.py,sha256=IgYrvY9ckFzC7DoljdE9ynvJWqH3iAwyGnHvOn03EQ0,4513
68
+ letschatty/models/chat/chat_with_assets.py,sha256=K4UUwdfLw_Q0ZNHdeoqavqyHkZwisAQOi1OPMBYszOU,814
69
+ letschatty/models/chat/client.py,sha256=oa7PM76V-OiBJL4T-IMytPW0WZdtvh9vFZhNtRQvt6Q,2196
70
+ letschatty/models/chat/continuous_conversation.py,sha256=hoRYOMd_vfYglTGVw30yKS5Ogt5mLcsgDySrfHEli6o,4529
72
71
  letschatty/models/chat/filter_parameters.py,sha256=X1IHBYCJr_1y4R8syQYEwKhintdUZc-ZiB_8kSnjiYw,4489
73
72
  letschatty/models/chat/flow_link_state.py,sha256=RblDBp6uD-P0ZtaQn1-HzL1EpEgtVhN1rT3iBhO0gMw,5458
74
73
  letschatty/models/chat/highlight.py,sha256=bUpXSMvwoTKiDa6AWDRKfMYxv5d6sax7soNtc8rAtpo,555
@@ -78,16 +77,17 @@ letschatty/models/chat/scheduled_messages.py,sha256=6z9XXgXUV6lPW8BalAZ4-MsmT8Zn
78
77
  letschatty/models/chat/temporary_chat.py,sha256=MR68vYrNvoyf40cLs2p5NnI8BNeN1VGTMAcuQw8j9RA,2303
79
78
  letschatty/models/chat/time_left.py,sha256=2uA9dS_0QAVnWn7Q2wIwGe4tMrlYBP9qySC7M8I0jb8,3307
80
79
  letschatty/models/company/CRM/business_area.py,sha256=U0F_7Rbq-e5tMSj_MugPqMHm2-IHxbAKbN0PWZ_93-o,296
81
- letschatty/models/company/CRM/funnel.py,sha256=Sn39LUJsrGLAhUFOdhHk5E3yblI1-RDlyCG_VRpOwxo,2510
82
- letschatty/models/company/__init__.py,sha256=4EVrxV-ynrP1TTkSKMHioghq1aWa2uOheuxvhhPx3r0,55
80
+ letschatty/models/company/CRM/funnel.py,sha256=gBGZhud060sK5QFI5y9NgmFuhLCOAtzK81TKBhK2gxE,15820
81
+ letschatty/models/company/__init__.py,sha256=N_I-kRMHrtnp00c_bbFSiYYM47HJRS-d5slgtbexsl4,229
83
82
  letschatty/models/company/assets/__init__.py,sha256=z0xN_lt1D76bXt8DXVdbH3GkofUPQPZU9NioRSLt_lI,244
84
- letschatty/models/company/assets/ai_agents_v2/ai_agents_decision_output.py,sha256=Bgca167vDr9TNP56nTJykj6I8uLB70D6TcgCchByahA,5866
85
- letschatty/models/company/assets/ai_agents_v2/chain_of_thought_in_chat.py,sha256=LJqtSl1A1V0frPLYwW-5cMZxaGx7-0x1HvujRXsZsNU,5877
83
+ letschatty/models/company/assets/ai_agents_v2/ai_agent_message_draft.py,sha256=xbshA34RSjHm2g8J7hW2FkWo-Qm8MH2HTbcRcoYmyvc,2076
84
+ letschatty/models/company/assets/ai_agents_v2/ai_agents_decision_output.py,sha256=aEKZCOsGiFFPSx23fkS5Khfsxo-r8JGk3O0sxiGs8T0,5876
85
+ letschatty/models/company/assets/ai_agents_v2/chain_of_thought_in_chat.py,sha256=xK7IbM_sEN7_-SZXcgiRyALq6IjYaJ-ivq9BE8B8Bdg,6129
86
86
  letschatty/models/company/assets/ai_agents_v2/chat_example.py,sha256=yCKt6ifNYch3C78zAvj8To0_Sb9CPAZ8sC-hyoBPa4s,1816
87
87
  letschatty/models/company/assets/ai_agents_v2/chat_example_test.py,sha256=vChD-TkX1ORRD9LMbd2HlpbK4QyrsfhDiJd-LDjIqlk,4618
88
- letschatty/models/company/assets/ai_agents_v2/chatty_ai_agent.py,sha256=uEV0DK7HUDUf5JmkhXL2dxkms8YNF0R30bvhVEaKrS8,6590
88
+ letschatty/models/company/assets/ai_agents_v2/chatty_ai_agent.py,sha256=R2rCANri8ZiqnmPP10PWoanGddMImCMxrl78Y6d-194,8204
89
89
  letschatty/models/company/assets/ai_agents_v2/chatty_ai_agent_config_for_automation.py,sha256=W8orpgp-yG8OHNWGQ16jMv-VgM_Z-Hk0q8PtC0KT2KU,388
90
- letschatty/models/company/assets/ai_agents_v2/chatty_ai_agent_in_chat.py,sha256=LiQDqyxQQxlwl0aN_MrD5k1zfBGT2_vSVdJCrUOh8cs,10631
90
+ letschatty/models/company/assets/ai_agents_v2/chatty_ai_agent_in_chat.py,sha256=akCa10TtiJ1wsL33z4uxSwhZyyinnJZmdlYJ9csLak8,14470
91
91
  letschatty/models/company/assets/ai_agents_v2/chatty_ai_mode.py,sha256=CKlKI3t_D5eWJPn6hRvN4_V8Wu6W8c0x_EFQlpA50F4,2521
92
92
  letschatty/models/company/assets/ai_agents_v2/context_item.py,sha256=9629_sJ4vjfF6--KR44E6lqVpc0uOGSlcorKS5ooSXU,438
93
93
  letschatty/models/company/assets/ai_agents_v2/faq.py,sha256=qL-sr17ALvJ9PEzpaXpYL91-bQ9Np3C4jCYe-zfot6o,457
@@ -97,34 +97,42 @@ letschatty/models/company/assets/ai_agents_v2/knowleadge_base_components.py,sha2
97
97
  letschatty/models/company/assets/ai_agents_v2/n8n_agents_info.py,sha256=UNsYXznXr2yj9J_zylZTMPrU5hjkkVgHAaIP2etpZRM,383
98
98
  letschatty/models/company/assets/ai_agents_v2/n8n_schema_incoming_message_output.json,sha256=_NERM9gJ4Ry8NFVb8mHxRmdv0GfBrHdtmKxVJWmTUrY,2102
99
99
  letschatty/models/company/assets/ai_agents_v2/n8n_schema_smart_follow_up_output.json,sha256=QAPRJXin-sE9NxQBHmmErSYHL6dQzmu4i0HEFSSXOi4,2350
100
- letschatty/models/company/assets/automation.py,sha256=QDMCHm--85tEGUwddjWGeUSxmCT27HiH8lRm4w4DJLE,1871
101
- letschatty/models/company/assets/chat_assets.py,sha256=OV33LPOBOaK02Va0yH7rCH5ufmEyOploQPTEefjlsdk,7524
100
+ letschatty/models/company/assets/ai_agents_v2/pre_qualify_config.py,sha256=o9kKywbnm1lEliTTV0G7oSCFroyqp_w0GkypL--sSk4,4181
101
+ letschatty/models/company/assets/ai_agents_v2/statuses.py,sha256=nhIGfeKednLNFZCIMavbZptT_9L-HDDVshAyCLdwPe8,1109
102
+ letschatty/models/company/assets/assignment/__init__.py,sha256=eWYZfaDQde5OJNIDed8D-LNRXOa5O_O4mGMToNFtaW8,239
103
+ letschatty/models/company/assets/assignment/assignment_assets.py,sha256=phIJqNh4UGTU-Hux_kaOYhJm2GCqv37AnCGePSDVKmM,2245
104
+ letschatty/models/company/assets/automation.py,sha256=RQFOvM-lipBdalfsRSZ8K5opytVgq_GS6YSR0Mz5Qs8,1639
105
+ letschatty/models/company/assets/chat_assets.py,sha256=kUnV1ngN1OA7AgED85ue91TOiFT1Fmf3LDOPbHAf460,8016
102
106
  letschatty/models/company/assets/chatty_fast_answers/__init__.py,sha256=tbgWS0n1i0nVi9f79U44GPRnrW25NKcjl6Port92alk,48
103
107
  letschatty/models/company/assets/chatty_fast_answers/chatty_fast_answer.py,sha256=PxW3eStHXo0BY7Z9hMDqBTHmgO7XcwtOvEpwXi-rA5g,1076
104
- letschatty/models/company/assets/company_assets.py,sha256=7qVzxYMWNHEePkCd3F0ID1Hc9nrqdAL1nD_6hbopb0Y,694
108
+ letschatty/models/company/assets/company_assets.py,sha256=9Or3hdUsWO0YCLqlwUb0Zcm_c5OerJqDx7rrrUK4_-E,800
105
109
  letschatty/models/company/assets/contact_point.py,sha256=2-C00CwQTAQkofQ4ufr5_nJPoxauOXZSDtyL-nj-hF8,2916
106
110
  letschatty/models/company/assets/filter_criteria.py,sha256=5hYhHWz5hoMyIURHML2XPZo_Bl66Cyvbh8caVPgdAvE,2283
107
111
  letschatty/models/company/assets/flow.py,sha256=mYKB6DG_DHSJymoTpeXm15OWsWI1OP4rkzvMg8AeYzY,1198
112
+ letschatty/models/company/assets/launch/__init__.py,sha256=s-6nkVMZIXlA5DHzpR2TztCiinQvlByaJC9iEeH6Pyc,321
113
+ letschatty/models/company/assets/launch/launch.py,sha256=eETyJzqJPJ2Mb2T83IrEl8LQRqroEt2ZMGbYpf4fxIg,5047
114
+ letschatty/models/company/assets/launch/scheduled_communication.py,sha256=EfsTVl8NnSdGQdane8oWVruIFyjJ4loQQ2HFZ_rZA08,1598
115
+ letschatty/models/company/assets/launch/subscription.py,sha256=BnZuNK0jMOzn0s9zgS8FAVuwDEb4xKnK_Mvum4SIcYQ,2204
108
116
  letschatty/models/company/assets/media/__init__.py,sha256=o22MHvoqGBUeG1P383KfBfsu-Fg0YdVh9FYeNB1j14s,38
109
117
  letschatty/models/company/assets/media/file.py,sha256=MFhTNe8zsgjR1zMm2UIAznp4vtD4U12UMfu7mjFIGfE,1902
110
118
  letschatty/models/company/assets/product.py,sha256=02eAZlE74nRzwOPAmbCHkQj7czVNgEtJQNzWxSBPP_w,2406
111
- letschatty/models/company/assets/sale.py,sha256=OG9tGesyajvhXNyjSgOPc8EMcAVlqoaqAVflMKBzWa4,1078
119
+ letschatty/models/company/assets/sale.py,sha256=8YiZoRHA0l6-JHX4N0jDe8PDu5Kkw1O2tZLDNOGL8p8,1143
112
120
  letschatty/models/company/assets/tag.py,sha256=P1jRAvaebEtdAUs-07sRbCK25vmS6Q5NNtH7UX7bK-0,1008
113
121
  letschatty/models/company/assets/users/agent_chats_snapshot.py,sha256=CTNRN8p9HE57bvxI8MbO2krg8KD3yIo3PmFjIV0iVWg,568
114
- letschatty/models/company/assets/users/user.py,sha256=dt2dWflnpotyUGOjcAlbyqSn8M4ePWXwy4cwiWYIpm0,8833
122
+ letschatty/models/company/assets/users/user.py,sha256=JWABDnvc9qhFnFcqBWSH2OAmVny37pUMBxo2CJGOMtA,9019
115
123
  letschatty/models/company/assets/users/user_asset_permission.py,sha256=wZ8MJhFohSXrQKfOwBu30zlEGKXuWmaD-uvovJIjxBg,3355
116
124
  letschatty/models/company/assets/workflow_execution.py,sha256=CKlT9JTryKC8kNniRXOHOgfF3Id-Cr0ufx5daQH-j58,3081
117
125
  letschatty/models/company/company_chats_snapshot.py,sha256=Mg9Wmu3pfE-t5Sf57FCj-psvc5TkDkFfma-hdh6nE0Q,668
118
- letschatty/models/company/company_messaging_settgins.py,sha256=OCX_LTAhN6isG8hHLvt9B9Gh5TgJXSNKrdV-mXu0ziY,817
126
+ letschatty/models/company/company_messaging_settgins.py,sha256=7isXt7gmqw-FKSUSZwdctdXDFMfPi2OyPuWqB7WpC6c,957
119
127
  letschatty/models/company/conversation_topic.py,sha256=__IinJ3YcUsiApF4Em5uAgd01ydRUrlCVxaat-pCCRg,1704
120
128
  letschatty/models/company/empresa.py,sha256=2INPC8YSZJcT10Gny_zXV_PujeqUGccsZHV31ZSywyw,5961
121
- letschatty/models/company/form_field.py,sha256=y_TPbWkIDeG2LOzPkhkMkwlyQ34g-svFYnPCD8ON4DQ,3653
129
+ letschatty/models/company/form_field.py,sha256=LGyMLybwvfEPG3hMmwsoP_4wnMaPJbVFpG6c1HdVC8E,9802
122
130
  letschatty/models/company/insight.py,sha256=B7BL07E4Z1b9aJHi3PXC1atln4-7fSo9JeqgQoeB_ao,7459
123
131
  letschatty/models/company/notifications/notification.py,sha256=wE7rIi21nZno6jjIxajMz4e7OJbzrDHjH1KdkNzJiF8,1907
124
132
  letschatty/models/copilot/links.py,sha256=mcddNR6WdWOoOr3NgDl_FElxF15SiZZXw9wmIV08HRw,185
125
133
  letschatty/models/data_base/__init__.py,sha256=cUTj-TBUYJn1iAofztCr3VUJFF9qg1vmaQlOuoKb1MM,45
126
- letschatty/models/data_base/collection_interface.py,sha256=CpmP2cZzJomHNQjS00Gq8GvHe6ac1ycRaiVecVxrchc,8768
127
- letschatty/models/data_base/mongo_connection.py,sha256=Uj70b8ad2ngRWh5Ju4X77n_d5QSdyhXlMbppGvJ1yW0,5066
134
+ letschatty/models/data_base/collection_interface.py,sha256=CeRx8T5spSdbEh3rD15yWesggbFFosuaCE5FFwObOZs,5962
135
+ letschatty/models/data_base/mongo_connection.py,sha256=M1Qhk3AYCBiTV9tp-P6Ef92n7_ZundMIXzdC0GYTrk0,1302
128
136
  letschatty/models/execution/__init__.py,sha256=-XMgns_gpDuqibgcpsBU63oiLfzf4Ms0xMOyiAJoMLg,70
129
137
  letschatty/models/execution/execution.py,sha256=L4kwZfXaGHTb8j6qPNWMVQFNbaoG0dMCg1THvsBRmJM,4049
130
138
  letschatty/models/execution/executor.py,sha256=KarlbDFgv6DpG4nQMGB8Yuogh2_ZCznBhpWv8baiaTA,1188
@@ -150,11 +158,11 @@ letschatty/models/messages/chatty_messages/schema/chatty_content/content_audio.p
150
158
  letschatty/models/messages/chatty_messages/schema/chatty_content/content_button.py,sha256=jdk9QFBN-SaAV6_fnBqkXwl0AFXJLbBNatikhUXLobo,181
151
159
  letschatty/models/messages/chatty_messages/schema/chatty_content/content_central.py,sha256=k7J1G4GlfRX5J4ZJIoviOHiekioaLbAc-76In_ZfiIo,712
152
160
  letschatty/models/messages/chatty_messages/schema/chatty_content/content_contacts.py,sha256=I1f_NNaT7QYriruMJdWT6K_8JjaU7XVaTSXctNB-_9o,985
153
- letschatty/models/messages/chatty_messages/schema/chatty_content/content_document.py,sha256=cxQXOFFZ_kCPs5M7QBAye8_HIPReWgNZPPxayHCCSGY,508
161
+ letschatty/models/messages/chatty_messages/schema/chatty_content/content_document.py,sha256=sy25r2a2eVxHoJoy_4ZiGSBXz7gYxErXvsq-JWSMLL0,604
154
162
  letschatty/models/messages/chatty_messages/schema/chatty_content/content_image.py,sha256=AmILz3zm1HFUh5hjSxjBxLg4AR2DoY9NrBU9NIjjjvk,102
155
163
  letschatty/models/messages/chatty_messages/schema/chatty_content/content_interactive.py,sha256=zIdk_-RlTQIAGh9AifnY7Yqs3C7ukyX2RPb-VyhIJ0w,164
156
164
  letschatty/models/messages/chatty_messages/schema/chatty_content/content_location.py,sha256=GLk7-QtkksY7G53swRKRiZo481GuhBXA-bsCEBf3B3A,217
157
- letschatty/models/messages/chatty_messages/schema/chatty_content/content_media.py,sha256=-K10IU5Snt9TMU9qiuR9uRrLhF0HUEZ0vZRHP25jKSo,775
165
+ letschatty/models/messages/chatty_messages/schema/chatty_content/content_media.py,sha256=Y_jm1HkGFORZAr3uxz-cNo4nGGuwdHS6cC0KHu5-9e0,865
158
166
  letschatty/models/messages/chatty_messages/schema/chatty_content/content_reaction.py,sha256=ZRCrWXJxUYCnpMikPO6JGj1eeZvQGcj8nKMQkVXw0KA,155
159
167
  letschatty/models/messages/chatty_messages/schema/chatty_content/content_sticker.py,sha256=hmV6LQZXorn3iM-tzVk_kxA9BxW4jEiopRjNFY9xcFA,254
160
168
  letschatty/models/messages/chatty_messages/schema/chatty_content/content_text.py,sha256=A_gw5WNCcStpSzHC_jzszDvxtv-ChVOJA2po5EHnccs,416
@@ -195,7 +203,7 @@ letschatty/models/messages/meta_message_model/schema/values/value_messages.py,sh
195
203
  letschatty/models/messages/meta_message_model/schema/values/value_statuses.py,sha256=SGibpHxdWy6DbzGfJjlrHIxrviqxXbRj54k4rz-fDQM,1966
196
204
  letschatty/models/utils/__init__.py,sha256=ziz1DfISJPfq5dE9xjNiwBlwsscHfOks1s0BWD7c1cI,20
197
205
  letschatty/models/utils/custom_exceptions/__init__.py,sha256=FrZBwS0o2TuTJcJFRnreRT5v_tv8EY2_EhKL2cAr7PI,32
198
- letschatty/models/utils/custom_exceptions/custom_exceptions.py,sha256=C0MgSv8Duv3ElImXpo0zqvc2U5STz2bpSNHA_Phm8W0,11422
206
+ letschatty/models/utils/custom_exceptions/custom_exceptions.py,sha256=mX7AGWsl3qj76lub3wpe8HCUgZEOwnKDYPOw0_3YYOY,11665
199
207
  letschatty/models/utils/definitions.py,sha256=ylyTOyDVYpE6UcViTSpxnzoxic4VzPVHE45k2Vc1U6A,826
200
208
  letschatty/models/utils/types/CRUD_operations.py,sha256=bRagXYtzeIzM4JSY8mD-4tTaqviUmq_0tY9H74nSS5I,139
201
209
  letschatty/models/utils/types/__init__.py,sha256=2z69a0c4s5fWiA9I3thv4P_SbehlvF3e-t757L0vcK4,419
@@ -216,63 +224,28 @@ letschatty/services/ai_agents/context_builder_v2.py,sha256=WoUZj5NASARBmweSkKU-T
216
224
  letschatty/services/ai_agents/cot_follow_up_examples.py,sha256=_syeGIUdpZZ9yfmARc6-Rjgdp6xDaImVZwNpvMPOkaU,10702
217
225
  letschatty/services/ai_agents/followup_schema.json,sha256=H0NaPmfjsiQGE8jcdkVZbHNmRSTnq7GXJm49SXBMe18,2932
218
226
  letschatty/services/ai_agents/smart_follow_up_context_builder_v2.py,sha256=ULh1THzcMdlpbncshD54ZkE3atxoPmA1aao5JabV3ig,11245
219
- letschatty/services/ai_agents/smart_follow_up_service_v2.py,sha256=7htSgfDqlKjzNSgMZOPBa5TGAlpPJjCH2hIDtE88Iko,6913
227
+ letschatty/services/ai_agents/smart_follow_up_service_v2.py,sha256=GqOmEKoomSUvduTAjl9Dmj7_XItItTQpzjT73JMywGw,7982
220
228
  letschatty/services/ai_agents/tool_descriptions/assign_chat_to_ai_agent_itself.json,sha256=Nc24Z-cHenadv-8C_tufKeZMOwIanDJ-j1ffW8z_GI0,802
221
229
  letschatty/services/ai_agents/tool_descriptions/human_handover.json,sha256=-b3l_SyFARq4XHZx26SU63bl0aul_g4Q7vet4E8GqAM,995
222
230
  letschatty/services/ai_agents/tool_descriptions.py,sha256=MMFhcgEl6Z7k8BUv3Yx1pCxHzIjc8HD93S0uM5OPj8Y,105
223
231
  letschatty/services/ai_components_service.py,sha256=QUb-NdzHj4nPmnceVSQ9Pe3swFWUrkUFKzDZeuP0b5o,3762
224
232
  letschatty/services/chat/chat_extractors.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
225
- letschatty/services/chat/chat_service.py,sha256=5HE-dHl0J4miDoxpBoHcW6MesT3l3TYl04rVxXff7LY,47321
233
+ letschatty/services/chat/chat_service.py,sha256=UKmFpLJaoK7SHC2neNgGFnP9PYjUa03H2cVkplfSI9A,50209
226
234
  letschatty/services/chat/client_service.py,sha256=TtlG0GJDqx6YemfueiJzAtMNk_udnPhg0MJG0bKwnk8,1097
227
235
  letschatty/services/chat/conversation_topics_service.py,sha256=jvIkpHTCz0JKXui3n_BRs6UQ-TB3x7DrQsnX2zUVFVw,2461
228
- letschatty/services/chatty_assets/__init__.py,sha256=yNe0X8N86OBgrUagYVexX8u8wxoqeepNiCSUwa0OnNo,375
229
- letschatty/services/chatty_assets/asset_service.py,sha256=8fcPAvH2c5sNBmQruiRXtGSoZYiP69GIlKFVj6RkR1A,12226
230
- letschatty/services/chatty_assets/assets_collections.py,sha256=QcoDSnBIinDaw1TqiYkWA-3QowEhK0eI7tzSMhE-JCo,5103
231
- letschatty/services/chatty_assets/base_container.py,sha256=IXOQ9ttlIk0U8ghzwGR3DpjF4_6pd4-FZiyTqxK-Cpo,5815
232
- letschatty/services/chatty_assets/base_container_with_collection.py,sha256=3n145X8UuJAeyMn_jc6Z853_bLXYCbYB0R7QdMWe9_E,16360
233
- letschatty/services/chatty_assets/collections/__init__.py,sha256=tIPckK4mVZkGx6ZUO7NnGbbBj5040ifnztbcac60Gwg,1292
234
- letschatty/services/chatty_assets/collections/ai_agent_collection.py,sha256=nmufhb_DDJ1HC2AxN19eu9DYYyyTqPMVzL6Z_D8v5jo,751
235
- letschatty/services/chatty_assets/collections/ai_agent_in_chat_collection.py,sha256=UwCiOkoGxizxKfXLZ3s8__Ep-W0fgrk284NB8oQMFRI,1360
236
- letschatty/services/chatty_assets/collections/ai_component_collection.py,sha256=zB3GGmUNyfyrJ83VUCU4sfwqL_cM4XENc0Iv2NAMujU,863
237
- letschatty/services/chatty_assets/collections/chain_of_thought_collection.py,sha256=FIQMGFmENNZ9KKU11hSrh0rfvCpqrnDx2wnRtboJTIc,1470
238
- letschatty/services/chatty_assets/collections/chat_collection.py,sha256=DZgBPah83i6D5Ni5vleTtbpdY58fkhY8wZRqZjgPf44,728
239
- letschatty/services/chatty_assets/collections/contact_point_collection.py,sha256=KTiJ2ZrzWxlyNPxY4MG2bkpB2rhcy5u3ndHAmdSA8SI,859
240
- letschatty/services/chatty_assets/collections/fast_answer_collection.py,sha256=jlbEu8I_F4dLnPD14ZkhadXB-zmPL6RCUosdCjLmUw8,858
241
- letschatty/services/chatty_assets/collections/filter_criteria_collection.py,sha256=Jt2Llvg_JRFrx4D98RpgEnTj0gG-6m6p6Crpc_uGpAo,779
242
- letschatty/services/chatty_assets/collections/flow_collection.py,sha256=qHlDzO0tzddhkdGoywdu_XGQ-NtwfZiy1oOPcpcyKus,714
243
- letschatty/services/chatty_assets/collections/product_collection.py,sha256=_1ag0MNF0Qsugqmnu3663MJg5afnfXU1kwaFsS3_wGQ,741
244
- letschatty/services/chatty_assets/collections/sale_collection.py,sha256=ct-qF5nsQeZUEo7JJG1CRqAgyh7nbGPgO-oiFYF-eT4,686
245
- letschatty/services/chatty_assets/collections/source_collection.py,sha256=-NvseN4Y0PN9iSsiwpAy4ffeMh5a4yX44ghnZPJ4DbU,791
246
- letschatty/services/chatty_assets/collections/tag_collection.py,sha256=dCnudX0cPFbXrMpBBiKOw5r6JjxNGhFWG3fTpRzm7rk,632
247
- letschatty/services/chatty_assets/collections/topic_collection.py,sha256=D4xcVlmuAFL_5yufkPB78lEbwmZ84uMEsI1u7bHysv8,792
248
- letschatty/services/chatty_assets/collections/user_collection.py,sha256=zQI2yLCwYY5upYT5gveOWJz7xiu2yCVVGp4de_dD9eI,700
236
+ letschatty/services/chatty_assets/__init__.py,sha256=quOXMGvcDVRkbeaGfCQliFfZzis5m1wrfJkHqDkWRx8,132
237
+ letschatty/services/chatty_assets/asset_service.py,sha256=9EbtqSjTdil9kz7GZMmGYOkF3m4vZpAxyDPt4t-8zhc,3675
238
+ letschatty/services/chatty_assets/base_container.py,sha256=p1fdwBEJZpE-Y_NRNSKH4as4KvU8tl8hUouVUP-U_W0,5781
239
+ letschatty/services/chatty_assets/base_container_with_collection.py,sha256=0fF7uadzVCm3Rc9M-vH44twTpuOpOx9kRNvu-uggZi4,15836
249
240
  letschatty/services/chatty_assets/documentation_diagram.png,sha256=JrmxqqZ5S93kIA-1A1_ipXTnA-TG6ZM1cpR1aCoAR4g,252644
250
- letschatty/services/chatty_assets/example_usage.py,sha256=5ixfxBQp11s4TQb2-DCcLPyVCJ3P5cH_7rPwl0ExX5A,1606
251
241
  letschatty/services/chatty_assets/readme.md,sha256=X-bXFaB7MH5E0bVMiDH7qY0-yDBG71K-iLsPykYPkL4,1638
252
- letschatty/services/chatty_assets/services/__init__.py,sha256=DlEH-RMWpV3R4DoWPbFGUHDDccr3fsh2b29xvG8VdIc,1086
253
- letschatty/services/chatty_assets/services/ai_agent_in_chat_service.py,sha256=xgBMNrEwi66nhqnD_YTECbZp0XnswiXtNvEgM3L-eH4,3138
254
- letschatty/services/chatty_assets/services/ai_agent_service.py,sha256=HDJ2feazeqZFMqDf4LrV7B29pmUC9yYpIMqJqFLwwq8,909
255
- letschatty/services/chatty_assets/services/chain_of_thought_service.py,sha256=uxh6sZg1EUzOotdy2gGR8P_safViE5a2VPgIHKBzpdU,2903
256
- letschatty/services/chatty_assets/services/chat_service.py,sha256=Ws4ruj7mKOa7T4T-LjPqN29OOeJ-ijgA24dhnjgxABs,848
257
- letschatty/services/chatty_assets/services/contact_point_service.py,sha256=U07F1EPpm0uiRdsmxfDoM2P5YNsWuB0-DHfXJTdxicw,1118
258
- letschatty/services/chatty_assets/services/fast_answer_service.py,sha256=QoVAoJ6n7KLHgjFPDzNVHFsSv5ferqg7aswPLUHRf4Y,1375
259
- letschatty/services/chatty_assets/services/filter_criteria_service.py,sha256=r9f5T2-pjNGtvEMKH4N94EcydtKwl_HQfgX_Qm0W8Jo,1311
260
- letschatty/services/chatty_assets/services/flow_service.py,sha256=ppPl9HIxq9TM4EHJ_r5U7SScPXfu0emmxaz8kBPOBjQ,897
261
- letschatty/services/chatty_assets/services/product_service.py,sha256=uoktDFNNV7StCHrrPpplo770-oKSnxb8_Ugb-RjWKPM,1199
262
- letschatty/services/chatty_assets/services/sale_service.py,sha256=cP6smx6cFVN0naytMW4kNxHZoVuaspGsbBGtoITqpmk,863
263
- letschatty/services/chatty_assets/services/source_service.py,sha256=N1wWK5gqHD4A0itqYw9R20fTZi64VQtobHXFovAMTkY,1133
264
- letschatty/services/chatty_assets/services/tag_service.py,sha256=HOee-8GEU4y6Rxa5T1j53epAx3EtF4xTixvrZc4R_CY,1229
265
- letschatty/services/chatty_assets/services/topic_service.py,sha256=tRsWVURtvNYZwJZX4scvyQJ3L4CJ5hySnA-wju6NR-I,1241
266
- letschatty/services/chatty_assets/services/user_service.py,sha256=C1HbBBqfR2sFL8lCy1ufAbBnCVybGX-WVji-tC5IvWQ,1276
267
242
  letschatty/services/concurrent/concurrent.py,sha256=ZLNeCENCKlR3_CGMthggklOplNkJB7YX9IcD9H-aU1A,2868
268
243
  letschatty/services/contact_points/contact_point_service.py,sha256=bNkZWFSHVSV8tR84OdUYMvoIA74-NkBckmrFerXnwDI,7623
269
- letschatty/services/continuous_conversation_service/continuous_conversation_helper.py,sha256=ynYW1Whqw6IGoPifCvyyXh0BYdcIP3HvYKNZONp4Lpc,17574
270
- letschatty/services/events/__init__.py,sha256=vdSYpBO19Z9GmbXueOcjZ9pv2E0HOqpHObGYl8xkNxw,140
271
- letschatty/services/events/events_manager.py,sha256=bfSmNSV2UqQ3pXQFariXOsXrSiSlc-pI1zfB-xg6Blo,9080
244
+ letschatty/services/continuous_conversation_service/continuous_conversation_helper.py,sha256=Tnd_1wSjW6moufmrR51gdGrPDDSxR-qcYmVoz1DXPL8,16734
245
+ letschatty/services/events/events_manager.py,sha256=z2CAc-TqpXkyX9pPHImFXMIDRipLp7e-mN1gRvaM04E,67
272
246
  letschatty/services/factories/__init__.py,sha256=cDAQ_0M5xKqZAui5ijHvbtHxn3jFFM4kBcXIXc_Bv38,161
273
- letschatty/services/factories/analytics/ai_agent_event_factory.py,sha256=m4apDnq0Oy9f2LId8f0ytHofQOwDVN09sqZFZ1MO_Wk,7356
274
247
  letschatty/services/factories/analytics/contact_point_factory.py,sha256=5YXkoIwd43gtoYpFUACIXJGCJYyUEqS97XxpR_dBrt4,441
275
- letschatty/services/factories/analytics/events_factory.py,sha256=In0IgLrJHzEINohLvli9pRE81I9iN1pl1L7oAm_FcN8,37858
248
+ letschatty/services/factories/analytics/events_factory.py,sha256=o_ojRvzM5X8U3zSzbWqqA2bAWk6TP0YH3CZzPzxC7lY,35384
276
249
  letschatty/services/factories/analytics/smart_messages/topics_factory.py,sha256=nJRlOtQFiosafXakZoJj8UCVoiNovjDiOoO52vIh4ok,682
277
250
  letschatty/services/factories/analytics/sources/helpers.py,sha256=_2lsaTEhNFqr2ZyO8clMCD-t3MCPTQMyVoSUo5Fio_Y,868
278
251
  letschatty/services/factories/analytics/sources/source_factory.py,sha256=kvpS9dLoCsIVnV_wMQzBpFXoN3AyjyphX-IFRg5sO5c,7877
@@ -282,7 +255,7 @@ letschatty/services/factories/chatty_fast_answers/chatty_fast_answers_factory.py
282
255
  letschatty/services/factories/clients/client_factory.py,sha256=WIFUksJlnMSSLeHEVTAorpelEvpJMQg_mxg66wZfLcQ,1567
283
256
  letschatty/services/factories/company/__init__.py,sha256=Zd3Zo21bQ1Lk9mQNpNaaTZ5EyjttWXi9AthgV5GnSb4,43
284
257
  letschatty/services/factories/company/empresa_factory.py,sha256=tJ5Y9WhvYTEvPZXzREGHi2X-aNnW1_B49K12fAo290w,1710
285
- letschatty/services/factories/lambda_ai_orchestrartor/lambda_events_factory.py,sha256=Z8l5SaQ067a2ggP7qIw41YlSh8YMkYTigdq03nBTcjs,5627
258
+ letschatty/services/factories/lambda_ai_orchestrartor/lambda_events_factory.py,sha256=AtEAjgmix9mlW1Tn-4wacfwBCoqDCcf0aZyXegL73e4,4475
286
259
  letschatty/services/factories/messages/__init__.py,sha256=Qm02DTwopP5WKXt4hMB5j-Y2ytfAUfMqztX5_pPJnxI,122
287
260
  letschatty/services/factories/messages/central_notification_factory.py,sha256=P8rrBw-Ew0AMqL31YsHH9dXAMQALiLzh6BH618eX_EU,2815
288
261
  letschatty/services/factories/messages/chatty_message_factory.py,sha256=kFYkkrZ1x-njavcqcSkRY30DIj5cFHLCo5Iixd63JR4,2234
@@ -300,9 +273,9 @@ letschatty/services/messages_helpers/get_caption_or_body_or_preview.py,sha256=Bd
300
273
  letschatty/services/scheduled_messages_service/scheduled_messages_helpers.py,sha256=RM_lx_RZvxkEscvpYsWOqWpNCXg4ar_6TI8q-BaX92M,13042
301
274
  letschatty/services/template_campaigns/template_campaign_service.py,sha256=jORgDncuXJ5ZV4fr_KsfKBHOz_lypIy6lcNMWMw8OPw,4038
302
275
  letschatty/services/users/agent_service.py,sha256=hIkUUJ1SpkKbh5_uo4i2CeqGtuMTjU7tSV8k5J7WPG4,279
303
- letschatty/services/users/user_factory.py,sha256=KHrnUlOUbJogKIPjkLsy93v27A7IG6jo8WSoGtzKqj8,6698
304
- letschatty/services/validators/analytics_validator.py,sha256=-QBR6XIqEv2qw3stcBQehkwui1EcfWUM6M9DRQODykY,6335
305
- letschatty-0.4.280.dist-info/LICENSE,sha256=EClLu_bO2HBLDcThowIwfaIg5EOwIYhpRsBJjVEk92A,1197
306
- letschatty-0.4.280.dist-info/METADATA,sha256=MftZSUCfqE-_Zd713PXAj15C-LfpoNv-61BNNX8E4sk,3283
307
- letschatty-0.4.280.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
308
- letschatty-0.4.280.dist-info/RECORD,,
276
+ letschatty/services/users/user_factory.py,sha256=FCB9uiAfjMeYfh4kMdx5h8VDHJ8MCsD-uaxW3X3KaWM,6681
277
+ letschatty/services/validators/analytics_validator.py,sha256=6ejecLcif2i1C5trUo1qQgp8vKr9WchdljFZ5GzB2i4,7239
278
+ letschatty-0.4.343.dist-info/LICENSE,sha256=EClLu_bO2HBLDcThowIwfaIg5EOwIYhpRsBJjVEk92A,1197
279
+ letschatty-0.4.343.dist-info/METADATA,sha256=Ul2_TJ2f4qOuipT6V_xt1OK6Vymb5sh1S4pRXyfJIwo,3283
280
+ letschatty-0.4.343.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
281
+ letschatty-0.4.343.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.1.2
2
+ Generator: poetry-core 2.1.1
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -1,71 +0,0 @@
1
- """AI Agent Execution Events - Track AI agent lifecycle and decision-making"""
2
-
3
- from ..base import Event, EventData
4
- from ..event_types import EventType
5
- from .chat_based_event import CustomerEventData
6
- from typing import ClassVar, Optional, Dict, Any
7
- from ....utils.types.identifier import StrObjectId
8
-
9
-
10
- class AIAgentExecutionEventData(CustomerEventData):
11
- """Data for AI agent execution events"""
12
- ai_agent_id: StrObjectId
13
- chain_of_thought_id: StrObjectId
14
- trigger: str # USER_MESSAGE, FOLLOW_UP, MANUAL_TRIGGER, RETRY
15
- decision_type: Optional[str] = None # send, suggest, escalate, skip
16
- error_message: Optional[str] = None
17
- duration_ms: Optional[int] = None
18
- user_rating: Optional[int] = None # 1-5 stars
19
- metadata: Optional[Dict[str, Any]] = None
20
-
21
-
22
- class AIAgentExecutionEvent(Event):
23
- """
24
- Events for AI agent execution lifecycle.
25
-
26
- This event type covers the entire AI agent decision-making process,
27
- from trigger to final decision, including all intermediate steps.
28
- """
29
- data: AIAgentExecutionEventData
30
-
31
- VALID_TYPES: ClassVar[set] = {
32
- # Trigger events
33
- EventType.CHATTY_AI_AGENT_IN_CHAT_TRIGGER_USER_MESSAGE,
34
- EventType.CHATTY_AI_AGENT_IN_CHAT_TRIGGER_FOLLOW_UP,
35
- EventType.CHATTY_AI_AGENT_IN_CHAT_TRIGGER_MANUAL,
36
- EventType.CHATTY_AI_AGENT_IN_CHAT_TRIGGER_RETRY,
37
-
38
- # State events
39
- EventType.CHATTY_AI_AGENT_IN_CHAT_STATE_PROCESSING_STARTED,
40
- EventType.CHATTY_AI_AGENT_IN_CHAT_STATE_CALL_STARTED,
41
- EventType.CHATTY_AI_AGENT_IN_CHAT_STATE_ESCALATED,
42
- EventType.CHATTY_AI_AGENT_IN_CHAT_STATE_UNESCALATED,
43
-
44
- # Call events
45
- EventType.CHATTY_AI_AGENT_IN_CHAT_CALL_GET_CHAT_WITH_PROMPT,
46
- EventType.CHATTY_AI_AGENT_IN_CHAT_CALL_TAGGER,
47
- EventType.CHATTY_AI_AGENT_IN_CHAT_CALL_DOUBLE_CHECKER,
48
- EventType.CHATTY_AI_AGENT_IN_CHAT_CALL_DEBUGGER,
49
-
50
- # Callback events
51
- EventType.CHATTY_AI_AGENT_IN_CHAT_CALLBACK_GET_CHAT_WITH_PROMPT,
52
- EventType.CHATTY_AI_AGENT_IN_CHAT_CALLBACK_TAGGER,
53
- EventType.CHATTY_AI_AGENT_IN_CHAT_CALLBACK_DOUBLE_CHECKER,
54
- EventType.CHATTY_AI_AGENT_IN_CHAT_CALLBACK_OUTPUT_RECEIVED,
55
-
56
- # Decision events
57
- EventType.CHATTY_AI_AGENT_IN_CHAT_DECISION_SEND,
58
- EventType.CHATTY_AI_AGENT_IN_CHAT_DECISION_SUGGEST,
59
- EventType.CHATTY_AI_AGENT_IN_CHAT_DECISION_ESCALATE,
60
- EventType.CHATTY_AI_AGENT_IN_CHAT_DECISION_SKIP,
61
- EventType.CHATTY_AI_AGENT_IN_CHAT_DECISION_SENT_TO_API,
62
- EventType.CHATTY_AI_AGENT_IN_CHAT_DECISION_COMPLETED,
63
-
64
- # Error events
65
- EventType.CHATTY_AI_AGENT_IN_CHAT_ERROR_CALL_FAILED,
66
- EventType.CHATTY_AI_AGENT_IN_CHAT_ERROR_CALL_CANCELLED,
67
- EventType.CHATTY_AI_AGENT_IN_CHAT_ERROR_VALIDATION_FAILED,
68
-
69
- # Rating events
70
- EventType.CHATTY_AI_AGENT_IN_CHAT_RATING_RECEIVED,
71
- }