letschatty 0.4.552__tar.gz → 0.4.554__tar.gz
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.
- {letschatty-0.4.552 → letschatty-0.4.554}/PKG-INFO +1 -1
- {letschatty-0.4.552 → letschatty-0.4.554}/pyproject.toml +1 -1
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/chat/chat.py +7 -2
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/chat/query_builder.py +11 -1
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/chat_assets.py +24 -3
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/product.py +9 -1
- letschatty-0.4.554/src/letschatty/models/company/assets/sale.py +553 -0
- letschatty-0.4.554/src/letschatty/models/company/assets/sin_producto.py +16 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/base/message_base.py +6 -1
- letschatty-0.4.554/src/letschatty/models/utils/types/message_status_types.py +63 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chat/chat_service.py +23 -15
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/collections/chat_collection.py +17 -6
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/services/chat_service.py +5 -3
- letschatty-0.4.552/src/letschatty/models/company/assets/sale.py +0 -185
- letschatty-0.4.552/src/letschatty/models/utils/types/message_status_types.py +0 -13
- {letschatty-0.4.552 → letschatty-0.4.554}/LICENSE +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/README.md +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/ai_microservices/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/ai_microservices/expected_output.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/ai_microservices/lambda_events.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/ai_microservices/lambda_invokation_types.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/ai_microservices/n8n_ai_agents_payload.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/ai_microservices/openai_payloads.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/base.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/chat_based_events/ai_agent_chat.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/chat_based_events/ai_agent_escalate_event.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/chat_based_events/ai_agent_execution_event.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/chat_based_events/business_area.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/chat_based_events/chat_based_event.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/chat_based_events/chat_client.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/chat_based_events/chat_context.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/chat_based_events/chat_funnel.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/chat_based_events/chat_reset.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/chat_based_events/chat_status.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/chat_based_events/contact_point.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/chat_based_events/continuous_conversation.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/chat_based_events/highlight.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/chat_based_events/inferred_ad.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/chat_based_events/message.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/chat_based_events/messages_intent_context.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/chat_based_events/product_chat.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/chat_based_events/quality_scoring.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/chat_based_events/sale.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/chat_based_events/tag_chat.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/chat_based_events/workflow.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/company_based_events/asset_events.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/company_based_events/company_events.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/company_based_events/user_events.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/event_type_to_classes.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/event_types.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/user_notification_intent/HOW-TO-ADD.md +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/user_notification_intent/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/user_notification_intent/builders.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/user_notification_intent/event.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/events/user_notification_intent/metadata.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/metrics/__init_.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/metrics/daily_contact_points.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/metrics/daily_new_chats.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/metrics/daily_sent_templates_grouped.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/metrics/sales_roadmap.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/metrics/sent_templates.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/smart_messages/friendly_code_for_source.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/smart_messages/topic.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/smart_messages/topic_message.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/sources/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/sources/ad_creative.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/sources/coexistence_echo_source.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/sources/contact_import_source.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/sources/google_ad_utm_source.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/sources/helpers.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/sources/meta_ad_inferred.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/sources/meta_post.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/sources/other_source.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/sources/pure_ad.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/sources/pure_ad_utm_source.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/sources/source_base.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/sources/template_source.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/sources/topic_default_source.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/sources/utm_source.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/sources/utms/pixel_attribution.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/sources/utms/referer_info.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/sources/utms/utm_query_params.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/analytics/sources/whatsapp_default_source.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/auth/jwt.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/base_models/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/base_models/ai_agent_component.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/base_models/chatty_asset_model.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/base_models/helpers.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/base_models/related_asset_usage_example.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/base_models/singleton.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/base_models/update_model_interface.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/base_models/validate_timestamps_and_id.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/cache/README.md +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/cache/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/cache/cache_protocol.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/cache/no_cache.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/cache/redis_cache.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/cache/redis_connection.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/channels/channel.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/chat/assets_assigned_to_chat.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/chat/chat_status_modifications.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/chat/chat_with_assets.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/chat/client.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/chat/coexistence_import_sync.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/chat/continuous_conversation.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/chat/executive_followup.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/chat/filter_parameters.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/chat/flow_link_state.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/chat/group_participant.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/chat/highlight.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/chat/preview.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/chat/quality_scoring.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/chat/scheduled_messages.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/chat/seguimiento.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/chat/temporary_chat.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/chat/time_left.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/CRM/business_area.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/CRM/funnel.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/CINTIA/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/CINTIA/cintia_execution.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/CINTIA/events/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/CINTIA/events/cintia_event_type.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/CINTIA/models/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/CINTIA/models/chat_vector.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/CINTIA/models/chatty_asset_embedding.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/CINTIA/models/chatty_trigger.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/CINTIA/models/cintia_feedback.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/CINTIA/models/cintia_trigger.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/CINTIA/models/lambda_trigger_events.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/CINTIA/models/outputs/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/CINTIA/models/outputs/cintia_assistant_output.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/CINTIA/models/outputs/cintia_audio_transcriber_output.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/CINTIA/models/outputs/cintia_customer_success_output.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/CINTIA/models/outputs/cintia_decision_output.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/CINTIA/models/outputs/cintia_human_capture_output.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/CINTIA/models/outputs/cintia_responder_output.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/CINTIA/models/outputs/cintia_smart_follow_output.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/CINTIA/models/outputs/cintia_tagger_output.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/CINTIA/models/outputs/executive_decision_output.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/ai_agents_v2/ai_agent_message_draft.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/ai_agents_v2/ai_agents_decision_output.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/ai_agents_v2/ai_specific_instruction.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/ai_agents_v2/chain_of_thought_in_chat.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/ai_agents_v2/chat_example.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/ai_agents_v2/chat_example_test.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/ai_agents_v2/chatty_ai_agent.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/ai_agents_v2/chatty_ai_agent_config_for_automation.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/ai_agents_v2/chatty_ai_agent_in_chat.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/ai_agents_v2/chatty_ai_mode.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/ai_agents_v2/context_item.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/ai_agents_v2/cs_scenario.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/ai_agents_v2/data_collection_config.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/ai_agents_v2/faq.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/ai_agents_v2/fast_answer_reference.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/ai_agents_v2/follow_up_strategy.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/ai_agents_v2/get_chat_with_prompt_response.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/ai_agents_v2/instruction.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/ai_agents_v2/knowleadge_base_components.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/ai_agents_v2/n8n_agents_info.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/ai_agents_v2/n8n_schema_incoming_message_output.json +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/ai_agents_v2/n8n_schema_smart_follow_up_output.json +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/ai_agents_v2/pre_qualify_config.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/ai_agents_v2/tag_reference.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/asset_model_registry.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/assignment/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/assignment/assignment_assets.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/automation.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/chatty_fast_answers/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/chatty_fast_answers/chatty_fast_answer.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/company_assets.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/contact_point.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/embeddable.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/filter_criteria.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/flow.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/inferred_attribution.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/launch/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/launch/launch.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/launch/scheduled_communication.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/launch/subscription.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/media/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/media/file.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/media/media_asset.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/motivo.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/notification.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/product_parameter_embed_config.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/recepcion.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/recordatorio.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/recordatorio_categoria.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/tag.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/users/agent_chats_snapshot.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/users/permissions.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/users/user.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/users/user_asset_permission.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/workflow_execution.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/company_chats_snapshot.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/company_messaging_settgins.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/conversation_topic.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/empresa.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/form_field.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/insight.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/integrations/product_sync_status.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/integrations/shopify/company_shopify_integration.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/integrations/shopify/shopify_product_sync_status.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/integrations/shopify/shopify_webhook_topics.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/integrations/sync_status_enum.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/integrations/tienda_nube/company_tienda_nube_integration.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/integrations/tienda_nube/tienda_nube_product_sync_status.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/integrations/tienda_nube/tienda_nube_webhook_topics.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/notifications/notification.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/copilot/links.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/data_base/README.md +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/data_base/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/data_base/collection_interface.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/data_base/mongo_connection.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/execution/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/execution/execution.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/execution/executor.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/forms/company/auth0_company_registration_form.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/forms/company/meta_register.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/audio.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/base/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/base/chatty_message_json.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/base/message_draft.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/button.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/central_notification.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/contact.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/document.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/image.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/interactive.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/location.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/reaction.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/schema/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/schema/chatty_content/content_audio.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/schema/chatty_content/content_button.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/schema/chatty_content/content_central.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/schema/chatty_content/content_contacts.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/schema/chatty_content/content_document.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/schema/chatty_content/content_image.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/schema/chatty_content/content_interactive.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/schema/chatty_content/content_location.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/schema/chatty_content/content_media.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/schema/chatty_content/content_reaction.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/schema/chatty_content/content_sticker.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/schema/chatty_content/content_text.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/schema/chatty_content/content_video.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/schema/chatty_context/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/schema/chatty_context/chatty_context.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/schema/chatty_referal/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/schema/chatty_referal/chatty_referal.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/sticker.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/text.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/chatty_messages/video.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/message_templates/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/message_templates/chatty_template_campaign.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/message_templates/filled_data_from_frontend.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/message_templates/header_media.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/message_templates/meta_template.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/message_templates/payload_for_sending_template.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/message_templates/raw_meta_template.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/message_templates/recipient_of_template_campaign.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/message_templates/required_for_frontend_templates.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/meta_message_model/meta_base_notification_json.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/meta_message_model/meta_echo_json.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/meta_message_model/meta_error_json.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/meta_message_model/meta_group_json.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/meta_message_model/meta_history_json.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/meta_message_model/meta_inexistent_json.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/meta_message_model/meta_message_json.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/meta_message_model/meta_state_sync_json.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/meta_message_model/meta_status_json.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/meta_message_model/meta_template_webhook_json.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/meta_message_model/meta_unknown_json.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/meta_message_model/schema/content_messages/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/meta_message_model/schema/content_messages/button_content.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/meta_message_model/schema/content_messages/contacts_content.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/meta_message_model/schema/content_messages/interactive_content.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/meta_message_model/schema/content_messages/location_content.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/meta_message_model/schema/content_messages/multimedia_content.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/meta_message_model/schema/content_messages/order_content.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/meta_message_model/schema/content_messages/reaction_content.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/meta_message_model/schema/content_messages/system_content.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/meta_message_model/schema/content_messages/text_content.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/meta_message_model/schema/values/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/meta_message_model/schema/values/value_errors.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/meta_message_model/schema/values/value_messages.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/messages/meta_message_model/schema/values/value_statuses.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/push_notifications/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/push_notifications/enums.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/push_notifications/user_device.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/utils/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/utils/custom_exceptions/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/utils/custom_exceptions/custom_exceptions.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/utils/definitions.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/utils/types/CRUD_operations.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/utils/types/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/utils/types/channel_types.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/utils/types/chats_actions.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/utils/types/country.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/utils/types/deletion_type.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/utils/types/executor_types.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/utils/types/identifier.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/utils/types/message_types.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/utils/types/phone_number.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/utils/types/serializer_type.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/utils/types/source_types.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/utils/types/typealiases.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/ai_agents/context_builder_v2.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/ai_agents/cot_follow_up_examples.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/ai_agents/followup_schema.json +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/ai_agents/smart_follow_up_context_builder_v2.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/ai_agents/smart_follow_up_service_v2.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/ai_agents/tool_descriptions/assign_chat_to_ai_agent_itself.json +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/ai_agents/tool_descriptions/human_handover.json +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/ai_agents/tool_descriptions.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/ai_components_service.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chat/chat_extractors.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chat/client_service.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chat/conversation_topics_service.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chat/whatsapp_apb_mode_service.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/asset_service.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/assets_collections.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/base_container_with_collection.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/collections/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/collections/ai_agent_collection.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/collections/ai_agent_in_chat_collection.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/collections/ai_component_collection.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/collections/chain_of_thought_collection.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/collections/contact_point_collection.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/collections/fast_answer_collection.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/collections/filter_criteria_collection.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/collections/flow_collection.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/collections/form_field_collection.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/collections/media_asset_collection.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/collections/product_collection.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/collections/sale_collection.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/collections/source_collection.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/collections/tag_collection.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/collections/topic_collection.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/collections/user_collection.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/documentation_diagram.png +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/example_usage.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/readme.md +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/services/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/services/ai_agent_in_chat_service.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/services/ai_agent_service.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/services/chain_of_thought_service.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/services/contact_point_service.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/services/fast_answer_service.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/services/filter_criteria_service.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/services/flow_service.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/services/product_service.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/services/sale_service.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/services/source_service.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/services/tag_service.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/services/topic_service.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/chatty_assets/services/user_service.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/concurrent/concurrent.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/contact_points/contact_point_service.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/continuous_conversation_service/continuous_conversation_helper.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/events/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/events/events_manager.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/factories/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/factories/analytics/ai_agent_event_factory.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/factories/analytics/contact_point_factory.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/factories/analytics/events_factory.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/factories/analytics/smart_messages/topics_factory.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/factories/analytics/sources/helpers.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/factories/analytics/sources/source_factory.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/factories/chats/chat_factory.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/factories/chatty_fast_answers/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/factories/chatty_fast_answers/chatty_fast_answers_factory.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/factories/clients/client_factory.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/factories/company/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/factories/company/empresa_factory.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/factories/lambda_ai_orchestrartor/lambda_events_factory.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/factories/messages/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/factories/messages/central_notification_factory.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/factories/messages/chatty_message_factory.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/factories/messages/child_db_message_factory.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/factories/messages/child_request_message.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/factories/messages/from_template_hot_fix.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/factories/messages/message_templates/component_builders.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/factories/messages/message_templates/template_factory.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/factories/messages/message_templates/test.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/factories/meta_notifications/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/factories/meta_notifications/meta_notification_factory.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/factories/product_factory.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/filter_criteria_service.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/messages_helpers/__init__.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/messages_helpers/get_caption_or_body_or_preview.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/scheduled_messages_service/scheduled_messages_helpers.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/template_campaigns/template_campaign_service.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/users/agent_service.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/users/user_factory.py +0 -0
- {letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/services/validators/analytics_validator.py +0 -0
|
@@ -279,8 +279,13 @@ class Chat(CompanyAssetModel):
|
|
|
279
279
|
|
|
280
280
|
@property
|
|
281
281
|
def bought_product_ids(self) -> List[StrObjectId]:
|
|
282
|
-
"""
|
|
283
|
-
|
|
282
|
+
"""Los productos que compró el cliente: todos los de cada venta, sin las ventas sin productos.
|
|
283
|
+
|
|
284
|
+
Una entrada por producto y por venta (dos ventas del mismo producto lo repiten), como
|
|
285
|
+
siempre. Antes de las líneas había un producto por venta; ahora una venta aporta
|
|
286
|
+
todos los suyos.
|
|
287
|
+
"""
|
|
288
|
+
return [product_id for sale in self.sales for product_id in sale.productos_vendidos()]
|
|
284
289
|
|
|
285
290
|
@property
|
|
286
291
|
def products(self) -> List[AssignedAssetToChat]:
|
|
@@ -134,7 +134,17 @@ class QueryBuilder:
|
|
|
134
134
|
query["client.sales.0"] = {"$exists": True}
|
|
135
135
|
|
|
136
136
|
if filters.sales_products:
|
|
137
|
-
|
|
137
|
+
# Una venta nueva lista todos sus productos en `product_ids`; las referencias
|
|
138
|
+
# guardadas antes de las líneas sólo tienen `product_id`. Se pregunta por los
|
|
139
|
+
# dos dentro de la misma venta, así no hay que migrar los chats (que no se barren).
|
|
140
|
+
query["client.sales"] = {
|
|
141
|
+
"$elemMatch": {
|
|
142
|
+
"$or": [
|
|
143
|
+
{"product_id": {"$in": filters.sales_products}},
|
|
144
|
+
{"product_ids": {"$in": filters.sales_products}},
|
|
145
|
+
]
|
|
146
|
+
}
|
|
147
|
+
}
|
|
138
148
|
|
|
139
149
|
if filters.sales_date_range:
|
|
140
150
|
query["client.sales.assigned_at"] = {
|
{letschatty-0.4.552 → letschatty-0.4.554}/src/letschatty/models/company/assets/chat_assets.py
RENAMED
|
@@ -9,9 +9,10 @@ from datetime import datetime
|
|
|
9
9
|
from zoneinfo import ZoneInfo
|
|
10
10
|
from bson import ObjectId
|
|
11
11
|
import json
|
|
12
|
-
from typing import Dict, Any, Optional, TYPE_CHECKING
|
|
12
|
+
from typing import Dict, Any, List, Optional, TYPE_CHECKING
|
|
13
13
|
from letschatty.models.utils.types.serializer_type import SerializerType
|
|
14
14
|
from letschatty.models.company.assets.ai_agents_v2.chatty_ai_mode import ChattyAIMode
|
|
15
|
+
from letschatty.models.company.assets.sin_producto import SIN_PRODUCTO
|
|
15
16
|
|
|
16
17
|
if TYPE_CHECKING:
|
|
17
18
|
from letschatty.models.company.assets.sale import Sale
|
|
@@ -88,10 +89,20 @@ class SaleAssignedToChat(AssignedAssetToChat):
|
|
|
88
89
|
arman las IAs con `client.sales`. Hasta que existió `sold_at` las dos fechas eran la
|
|
89
90
|
misma, así que las referencias ya guardadas cumplen esto sin migrar nada.
|
|
90
91
|
|
|
92
|
+
`product_id` es el de la primera línea de la venta, o `SIN_PRODUCTO` si no tiene
|
|
93
|
+
productos: nunca `null`, porque 35 servicios reconstruyen el chat con una versión del
|
|
94
|
+
paquete donde es obligatorio (ver `sin_producto.py`). `product_ids` lista todos los
|
|
95
|
+
productos de la venta; las referencias guardadas antes no lo tienen, y por eso quien
|
|
96
|
+
pregunta por productos mira los dos campos (`productos_vendidos`).
|
|
97
|
+
|
|
91
98
|
Se construye y se re-sincroniza siempre desde la venta (`from_sale`, `synced_with`):
|
|
92
|
-
la fecha y
|
|
99
|
+
la fecha y los productos de la referencia no se escriben a mano.
|
|
93
100
|
"""
|
|
94
101
|
product_id: StrObjectId = Field(frozen=True)
|
|
102
|
+
product_ids: List[StrObjectId] = Field(
|
|
103
|
+
default_factory=list, frozen=True,
|
|
104
|
+
description="Todos los productos de la venta. Vacío en las referencias guardadas antes de las líneas.",
|
|
105
|
+
)
|
|
95
106
|
|
|
96
107
|
@classmethod
|
|
97
108
|
def from_sale(cls, sale: "Sale", assigned_by: StrObjectId) -> "SaleAssignedToChat":
|
|
@@ -101,8 +112,14 @@ class SaleAssignedToChat(AssignedAssetToChat):
|
|
|
101
112
|
assigned_at=sale.sold_at,
|
|
102
113
|
assigned_by=assigned_by,
|
|
103
114
|
product_id=sale.product_id,
|
|
115
|
+
product_ids=sale.ids_de_productos(),
|
|
104
116
|
)
|
|
105
117
|
|
|
118
|
+
def productos_vendidos(self) -> List[StrObjectId]:
|
|
119
|
+
"""Los productos reales de la venta, venga la referencia de antes o de después de las líneas."""
|
|
120
|
+
ids = self.product_ids or [self.product_id]
|
|
121
|
+
return [product_id for product_id in ids if product_id != SIN_PRODUCTO]
|
|
122
|
+
|
|
106
123
|
def synced_with(self, sale: "Sale", previous: "Sale") -> "SaleAssignedToChat":
|
|
107
124
|
"""La misma referencia (id, quién la cargó) al día con `sale`, la venta ya editada.
|
|
108
125
|
|
|
@@ -110,11 +127,15 @@ class SaleAssignedToChat(AssignedAssetToChat):
|
|
|
110
127
|
de editar). Hay referencias viejas cuya fecha no coincide con el registro de su venta
|
|
111
128
|
—medido en prod: 12 de 299, corridas exactamente 3 horas por un bug de 2024 que guardó
|
|
112
129
|
hora local como UTC— y una edición que no toca la fecha no tiene por qué moverla.
|
|
130
|
+
Lo mismo `product_ids`: una referencia vieja no lo tiene, y editar el monto de su
|
|
131
|
+
venta no es razón para reescribirla.
|
|
113
132
|
|
|
114
133
|
Devuelve una copia en vez de asignar porque los campos son frozen: la referencia es
|
|
115
134
|
un valor, y un valor que cambia se reemplaza.
|
|
116
135
|
"""
|
|
117
|
-
cambios = {"product_id": sale.product_id}
|
|
136
|
+
cambios: Dict[str, Any] = {"product_id": sale.product_id}
|
|
137
|
+
if sale.ids_de_productos() != previous.ids_de_productos():
|
|
138
|
+
cambios["product_ids"] = sale.ids_de_productos()
|
|
118
139
|
if sale.sold_at != previous.sold_at:
|
|
119
140
|
cambios["assigned_at"] = sale.sold_at
|
|
120
141
|
return self.model_copy(update=cambios)
|
|
@@ -6,11 +6,12 @@ from .product_parameter_embed_config import (
|
|
|
6
6
|
ProductParameterEmbedFormat,
|
|
7
7
|
)
|
|
8
8
|
from typing import Dict, Any, Optional, ClassVar
|
|
9
|
-
from pydantic import Field, field_validator, BaseModel
|
|
9
|
+
from pydantic import Field, field_validator, model_validator, BaseModel
|
|
10
10
|
import pycountry
|
|
11
11
|
from datetime import datetime
|
|
12
12
|
from zoneinfo import ZoneInfo
|
|
13
13
|
import json
|
|
14
|
+
from .sin_producto import SIN_PRODUCTO
|
|
14
15
|
|
|
15
16
|
class ProductPreview(ChattyAssetPreview):
|
|
16
17
|
color: str = Field(default="#000000")
|
|
@@ -43,6 +44,13 @@ class Product(CompanyAssetModel):
|
|
|
43
44
|
preview_class: ClassVar[type[ProductPreview]] = ProductPreview
|
|
44
45
|
color: str = Field(default="#000000")
|
|
45
46
|
|
|
47
|
+
@model_validator(mode='after')
|
|
48
|
+
def _no_usa_el_id_de_las_ventas_sin_productos(self) -> 'Product':
|
|
49
|
+
"""`SIN_PRODUCTO` es el `product_id` de una venta sin productos: no puede ser un producto."""
|
|
50
|
+
if self.id == SIN_PRODUCTO:
|
|
51
|
+
raise ValueError(f"El id {SIN_PRODUCTO} está reservado para las ventas sin productos")
|
|
52
|
+
return self
|
|
53
|
+
|
|
46
54
|
@field_validator('price', mode='before')
|
|
47
55
|
def validate_price(cls, v: Dict[str, float]):
|
|
48
56
|
if v is None:
|