letschatty 0.4.485__tar.gz → 0.4.487__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.485 → letschatty-0.4.487}/PKG-INFO +1 -1
- {letschatty-0.4.485 → letschatty-0.4.487}/pyproject.toml +1 -1
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/chat/chat.py +1 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/chat/preview.py +1 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/media/__init__.py +1 -1
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/media/media_asset.py +28 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/meta_message_model/schema/values/value_errors.py +22 -4
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/utils/custom_exceptions/custom_exceptions.py +9 -1
- {letschatty-0.4.485 → letschatty-0.4.487}/LICENSE +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/README.md +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/ai_microservices/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/ai_microservices/expected_output.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/ai_microservices/lambda_events.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/ai_microservices/lambda_invokation_types.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/ai_microservices/n8n_ai_agents_payload.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/ai_microservices/openai_payloads.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/base.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/chat_based_events/ai_agent_chat.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/chat_based_events/ai_agent_escalate_event.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/chat_based_events/ai_agent_execution_event.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/chat_based_events/business_area.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/chat_based_events/chat_based_event.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/chat_based_events/chat_client.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/chat_based_events/chat_context.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/chat_based_events/chat_funnel.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/chat_based_events/chat_reset.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/chat_based_events/chat_status.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/chat_based_events/contact_point.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/chat_based_events/continuous_conversation.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/chat_based_events/highlight.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/chat_based_events/message.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/chat_based_events/messages_intent_context.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/chat_based_events/product_chat.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/chat_based_events/quality_scoring.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/chat_based_events/sale.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/chat_based_events/tag_chat.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/chat_based_events/workflow.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/company_based_events/asset_events.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/company_based_events/company_events.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/company_based_events/user_events.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/event_type_to_classes.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/event_types.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/user_notification_intent/HOW-TO-ADD.md +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/user_notification_intent/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/user_notification_intent/builders.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/user_notification_intent/event.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/user_notification_intent/metadata.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/metrics/__init_.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/metrics/daily_contact_points.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/metrics/daily_new_chats.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/metrics/daily_sent_templates_grouped.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/metrics/sales_roadmap.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/metrics/sent_templates.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/smart_messages/friendly_code_for_source.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/smart_messages/topic.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/smart_messages/topic_message.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/sources/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/sources/coexistence_echo_source.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/sources/contact_import_source.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/sources/google_ad_utm_source.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/sources/helpers.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/sources/meta_post.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/sources/other_source.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/sources/pure_ad.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/sources/pure_ad_utm_source.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/sources/source_base.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/sources/template_source.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/sources/topic_default_source.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/sources/utm_source.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/sources/utms/pixel_attribution.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/sources/utms/referer_info.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/sources/utms/utm_query_params.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/sources/whatsapp_default_source.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/auth/jwt.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/base_models/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/base_models/ai_agent_component.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/base_models/chatty_asset_model.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/base_models/helpers.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/base_models/related_asset_usage_example.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/base_models/singleton.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/base_models/update_model_interface.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/base_models/validate_timestamps_and_id.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/cache/README.md +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/cache/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/cache/cache_protocol.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/cache/no_cache.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/cache/redis_cache.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/cache/redis_connection.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/channels/channel.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/chat/assets_assigned_to_chat.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/chat/chat_status_modifications.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/chat/chat_with_assets.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/chat/client.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/chat/coexistence_import_sync.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/chat/continuous_conversation.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/chat/executive_followup.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/chat/filter_parameters.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/chat/flow_link_state.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/chat/highlight.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/chat/quality_scoring.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/chat/scheduled_messages.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/chat/temporary_chat.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/chat/time_left.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/CRM/business_area.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/CRM/funnel.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/CINTIA/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/CINTIA/cintia_execution.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/CINTIA/events/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/CINTIA/events/cintia_event_type.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/CINTIA/models/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/CINTIA/models/chat_vector.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/CINTIA/models/chatty_asset_embedding.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/CINTIA/models/chatty_trigger.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/CINTIA/models/cintia_feedback.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/CINTIA/models/cintia_trigger.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/CINTIA/models/lambda_trigger_events.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/CINTIA/models/outputs/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/CINTIA/models/outputs/cintia_assistant_output.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/CINTIA/models/outputs/cintia_audio_transcriber_output.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/CINTIA/models/outputs/cintia_customer_success_output.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/CINTIA/models/outputs/cintia_decision_output.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/CINTIA/models/outputs/cintia_human_capture_output.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/CINTIA/models/outputs/cintia_responder_output.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/CINTIA/models/outputs/cintia_smart_follow_output.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/CINTIA/models/outputs/cintia_tagger_output.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/CINTIA/models/outputs/executive_decision_output.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/ai_agents_v2/ai_agent_message_draft.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/ai_agents_v2/ai_agents_decision_output.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/ai_agents_v2/ai_specific_instruction.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/ai_agents_v2/chain_of_thought_in_chat.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/ai_agents_v2/chat_example.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/ai_agents_v2/chat_example_test.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/ai_agents_v2/chatty_ai_agent.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/ai_agents_v2/chatty_ai_agent_config_for_automation.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/ai_agents_v2/chatty_ai_agent_in_chat.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/ai_agents_v2/chatty_ai_mode.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/ai_agents_v2/context_item.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/ai_agents_v2/cs_scenario.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/ai_agents_v2/data_collection_config.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/ai_agents_v2/faq.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/ai_agents_v2/fast_answer_reference.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/ai_agents_v2/follow_up_strategy.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/ai_agents_v2/get_chat_with_prompt_response.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/ai_agents_v2/instruction.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/ai_agents_v2/knowleadge_base_components.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/ai_agents_v2/n8n_agents_info.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/ai_agents_v2/n8n_schema_incoming_message_output.json +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/ai_agents_v2/n8n_schema_smart_follow_up_output.json +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/ai_agents_v2/pre_qualify_config.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/ai_agents_v2/tag_reference.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/asset_model_registry.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/assignment/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/assignment/assignment_assets.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/automation.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/chat_assets.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/chatty_fast_answers/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/chatty_fast_answers/chatty_fast_answer.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/company_assets.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/contact_point.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/embeddable.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/filter_criteria.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/flow.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/launch/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/launch/launch.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/launch/scheduled_communication.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/launch/subscription.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/media/file.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/notification.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/product.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/product_parameter_embed_config.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/recordatorio.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/sale.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/tag.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/users/agent_chats_snapshot.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/users/permissions.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/users/user.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/users/user_asset_permission.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/workflow_execution.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/company_chats_snapshot.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/company_messaging_settgins.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/conversation_topic.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/empresa.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/form_field.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/insight.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/integrations/product_sync_status.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/integrations/shopify/company_shopify_integration.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/integrations/shopify/shopify_product_sync_status.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/integrations/shopify/shopify_webhook_topics.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/integrations/sync_status_enum.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/integrations/tienda_nube/company_tienda_nube_integration.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/integrations/tienda_nube/tienda_nube_product_sync_status.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/integrations/tienda_nube/tienda_nube_webhook_topics.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/notifications/notification.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/copilot/links.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/data_base/README.md +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/data_base/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/data_base/collection_interface.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/data_base/mongo_connection.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/execution/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/execution/execution.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/execution/executor.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/forms/company/auth0_company_registration_form.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/forms/company/meta_register.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/audio.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/base/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/base/chatty_message_json.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/base/message_base.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/base/message_draft.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/button.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/central_notification.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/contact.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/document.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/image.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/interactive.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/location.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/reaction.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/schema/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/schema/chatty_content/content_audio.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/schema/chatty_content/content_button.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/schema/chatty_content/content_central.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/schema/chatty_content/content_contacts.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/schema/chatty_content/content_document.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/schema/chatty_content/content_image.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/schema/chatty_content/content_interactive.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/schema/chatty_content/content_location.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/schema/chatty_content/content_media.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/schema/chatty_content/content_reaction.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/schema/chatty_content/content_sticker.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/schema/chatty_content/content_text.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/schema/chatty_content/content_video.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/schema/chatty_context/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/schema/chatty_context/chatty_context.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/schema/chatty_referal/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/schema/chatty_referal/chatty_referal.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/sticker.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/text.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/chatty_messages/video.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/message_templates/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/message_templates/chatty_template_campaign.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/message_templates/filled_data_from_frontend.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/message_templates/meta_template.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/message_templates/payload_for_sending_template.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/message_templates/raw_meta_template.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/message_templates/recipient_of_template_campaign.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/message_templates/required_for_frontend_templates.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/meta_message_model/meta_base_notification_json.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/meta_message_model/meta_echo_json.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/meta_message_model/meta_error_json.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/meta_message_model/meta_history_json.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/meta_message_model/meta_inexistent_json.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/meta_message_model/meta_message_json.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/meta_message_model/meta_state_sync_json.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/meta_message_model/meta_status_json.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/meta_message_model/meta_template_webhook_json.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/meta_message_model/meta_unknown_json.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/meta_message_model/schema/content_messages/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/meta_message_model/schema/content_messages/button_content.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/meta_message_model/schema/content_messages/contacts_content.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/meta_message_model/schema/content_messages/interactive_content.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/meta_message_model/schema/content_messages/location_content.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/meta_message_model/schema/content_messages/multimedia_content.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/meta_message_model/schema/content_messages/order_content.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/meta_message_model/schema/content_messages/reaction_content.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/meta_message_model/schema/content_messages/system_content.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/meta_message_model/schema/content_messages/text_content.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/meta_message_model/schema/values/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/meta_message_model/schema/values/value_messages.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/messages/meta_message_model/schema/values/value_statuses.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/push_notifications/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/push_notifications/enums.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/push_notifications/user_device.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/utils/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/utils/custom_exceptions/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/utils/definitions.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/utils/types/CRUD_operations.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/utils/types/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/utils/types/channel_types.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/utils/types/chats_actions.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/utils/types/country.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/utils/types/deletion_type.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/utils/types/executor_types.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/utils/types/identifier.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/utils/types/message_status_types.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/utils/types/message_types.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/utils/types/phone_number.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/utils/types/serializer_type.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/utils/types/source_types.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/utils/types/typealiases.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/ai_agents/context_builder_v2.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/ai_agents/cot_follow_up_examples.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/ai_agents/followup_schema.json +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/ai_agents/smart_follow_up_context_builder_v2.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/ai_agents/smart_follow_up_service_v2.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/ai_agents/tool_descriptions/assign_chat_to_ai_agent_itself.json +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/ai_agents/tool_descriptions/human_handover.json +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/ai_agents/tool_descriptions.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/ai_components_service.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chat/chat_extractors.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chat/chat_service.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chat/client_service.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chat/conversation_topics_service.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chat/whatsapp_apb_mode_service.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/asset_service.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/assets_collections.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/base_container_with_collection.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/collections/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/collections/ai_agent_collection.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/collections/ai_agent_in_chat_collection.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/collections/ai_component_collection.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/collections/chain_of_thought_collection.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/collections/chat_collection.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/collections/contact_point_collection.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/collections/fast_answer_collection.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/collections/filter_criteria_collection.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/collections/flow_collection.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/collections/form_field_collection.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/collections/media_asset_collection.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/collections/product_collection.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/collections/sale_collection.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/collections/source_collection.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/collections/tag_collection.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/collections/topic_collection.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/collections/user_collection.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/documentation_diagram.png +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/example_usage.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/readme.md +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/services/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/services/ai_agent_in_chat_service.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/services/ai_agent_service.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/services/chain_of_thought_service.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/services/chat_service.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/services/contact_point_service.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/services/fast_answer_service.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/services/filter_criteria_service.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/services/flow_service.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/services/product_service.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/services/sale_service.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/services/source_service.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/services/tag_service.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/services/topic_service.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/chatty_assets/services/user_service.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/concurrent/concurrent.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/contact_points/contact_point_service.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/continuous_conversation_service/continuous_conversation_helper.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/events/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/events/events_manager.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/factories/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/factories/analytics/ai_agent_event_factory.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/factories/analytics/contact_point_factory.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/factories/analytics/events_factory.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/factories/analytics/smart_messages/topics_factory.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/factories/analytics/sources/helpers.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/factories/analytics/sources/source_factory.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/factories/chats/chat_factory.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/factories/chatty_fast_answers/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/factories/chatty_fast_answers/chatty_fast_answers_factory.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/factories/clients/client_factory.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/factories/company/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/factories/company/empresa_factory.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/factories/lambda_ai_orchestrartor/lambda_events_factory.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/factories/messages/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/factories/messages/central_notification_factory.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/factories/messages/chatty_message_factory.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/factories/messages/child_db_message_factory.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/factories/messages/child_request_message.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/factories/messages/from_template_hot_fix.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/factories/messages/message_templates/template_factory.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/factories/messages/message_templates/test.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/factories/meta_notifications/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/factories/meta_notifications/meta_notification_factory.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/factories/product_factory.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/filter_criteria_service.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/messages_helpers/__init__.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/messages_helpers/get_caption_or_body_or_preview.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/scheduled_messages_service/scheduled_messages_helpers.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/template_campaigns/template_campaign_service.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/users/agent_service.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/users/user_factory.py +0 -0
- {letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/services/validators/analytics_validator.py +0 -0
|
@@ -50,6 +50,7 @@ class Chat(CompanyAssetModel):
|
|
|
50
50
|
suggested_messages: List[MessageDraft] = Field(default_factory=list)
|
|
51
51
|
topics_timeline: List[TopicTimelineEntry] = Field(default_factory=list, description="Timeline of conversation topics throughout the conversation")
|
|
52
52
|
active_funnel: Optional[ActiveFunnel] = Field(default=None, description="Current active funnel for this chat")
|
|
53
|
+
proximo_recordatorio_at: Optional[datetime] = Field(default=None, frozen=True, description="FROZEN A PROPOSITO: lo escribe SOLO el $set del recalculo, nunca un save del chat. Sin frozen, cualquier guardado de documento completo (`update` mergea {**actuales, **entrantes}) lo pisaria con el valor que tuviera en memoria ese flujo, que puede ser anterior al recalculo — el badge desapareceria sin que nadie toque un recordatorio. Vencimiento del recordatorio SIN RESOLVER mas cercano de este chat, o None si no hay ninguno. Espejo del minimo sobre la coleccion `recordatorios`, para que la bandeja pueda mostrar el badge, filtrar y ordenar sin un join contra otra coleccion. Es una FECHA y no un booleano a proposito: 'vencido' se evalua al momento de la query (`<= ahora`), asi que el que se mueve es el reloj y no el dato, y no hace falta ningun barrido que lo actualice.")
|
|
53
54
|
model_config = ConfigDict(extra="ignore")
|
|
54
55
|
|
|
55
56
|
@property
|
|
@@ -68,6 +68,7 @@ class ChatPreview(BaseModel):
|
|
|
68
68
|
scheduled_message : Optional[ScheduledMessageStatus] = Field(default=None)
|
|
69
69
|
tags : Optional[List[TagPreview]] = Field(default=[])
|
|
70
70
|
chatty_ai_agent_in_chat_status: Optional[ChattyAiAgentStatusPreview] = Field(default=None)
|
|
71
|
+
proximo_recordatorio_at: Optional[datetime] = Field(default=None, description="Vencimiento del recordatorio sin resolver mas cercano del chat. El frontend compara contra su propio reloj para decidir si va badge y de que color: el backend no decide que es hoy, porque el huso que importa es el del agente.")
|
|
71
72
|
@property
|
|
72
73
|
def assigned_agent_id(self) -> Optional[StrObjectId]:
|
|
73
74
|
if self.area_status != Area.WITH_AGENT:
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/media/__init__.py
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
from .file import MediaFile, MediaType
|
|
2
|
-
from .media_asset import MediaAsset, MediaAssetPreview, MediaOrigin
|
|
2
|
+
from .media_asset import MediaAsset, MediaAssetPreview, MediaOrigin, MetaCompatStatus
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/media/media_asset.py
RENAMED
|
@@ -20,6 +20,18 @@ class MediaOrigin(StrEnum):
|
|
|
20
20
|
SYSTEM = "system" # reserved (logos, avatars)
|
|
21
21
|
|
|
22
22
|
|
|
23
|
+
class MetaCompatStatus(StrEnum):
|
|
24
|
+
"""Whether this asset is known to satisfy Meta's media constraints.
|
|
25
|
+
|
|
26
|
+
Only videos are ever normalized, so this stays None for every other type — and
|
|
27
|
+
for every row written before the normalizer shipped. None means "not checked",
|
|
28
|
+
NOT "incompatible": the send path re-probes anything that isn't OK.
|
|
29
|
+
"""
|
|
30
|
+
OK = "ok" # probed and compliant (either natively or after normalization)
|
|
31
|
+
OPTIMIZING = "optimizing" # handed off to the video-normalizer lambda; not sendable yet
|
|
32
|
+
FAILED = "failed" # normalization could not produce a compliant file
|
|
33
|
+
|
|
34
|
+
|
|
23
35
|
class MediaAssetPreview(ChattyAssetPreview):
|
|
24
36
|
type: MediaType
|
|
25
37
|
url: str
|
|
@@ -28,6 +40,8 @@ class MediaAssetPreview(ChattyAssetPreview):
|
|
|
28
40
|
is_starred: bool = False
|
|
29
41
|
width: Optional[int] = None
|
|
30
42
|
height: Optional[int] = None
|
|
43
|
+
# The picker needs this to grey out a video that is still being normalized.
|
|
44
|
+
meta_compat: Optional["MetaCompatStatus"] = None
|
|
31
45
|
|
|
32
46
|
@classmethod
|
|
33
47
|
def get_projection(cls) -> dict[str, Any]:
|
|
@@ -39,6 +53,7 @@ class MediaAssetPreview(ChattyAssetPreview):
|
|
|
39
53
|
"is_starred": 1,
|
|
40
54
|
"width": 1,
|
|
41
55
|
"height": 1,
|
|
56
|
+
"meta_compat": 1,
|
|
42
57
|
}
|
|
43
58
|
|
|
44
59
|
@classmethod
|
|
@@ -57,6 +72,7 @@ class MediaAssetPreview(ChattyAssetPreview):
|
|
|
57
72
|
is_starred=asset.is_starred,
|
|
58
73
|
width=asset.width,
|
|
59
74
|
height=asset.height,
|
|
75
|
+
meta_compat=asset.meta_compat,
|
|
60
76
|
)
|
|
61
77
|
|
|
62
78
|
|
|
@@ -83,6 +99,18 @@ class MediaAsset(CompanyAssetModel):
|
|
|
83
99
|
height: Optional[int] = None
|
|
84
100
|
duration_ms: Optional[int] = None
|
|
85
101
|
|
|
102
|
+
# Meta compatibility — videos only (see MetaCompatStatus). None on every other
|
|
103
|
+
# type and on every row predating the normalizer.
|
|
104
|
+
meta_compat: Optional[MetaCompatStatus] = None
|
|
105
|
+
meta_compat_started_at: Optional[datetime] = Field(
|
|
106
|
+
default=None,
|
|
107
|
+
description=(
|
|
108
|
+
"When OPTIMIZING was stamped. The lambda can die without ever calling back, "
|
|
109
|
+
"so readers treat a row stuck here past the lambda timeout as FAILED rather "
|
|
110
|
+
"than waiting forever."
|
|
111
|
+
),
|
|
112
|
+
)
|
|
113
|
+
|
|
86
114
|
# provenance
|
|
87
115
|
origin: MediaOrigin = MediaOrigin.UPLOADED
|
|
88
116
|
uploaded_by: Optional[str] = Field(default=None, description="user_id of uploader/promoter; None for seeded rows")
|
|
@@ -52,6 +52,11 @@ def get_error_details(code: int) -> Optional[Dict[str, str]]:
|
|
|
52
52
|
FRIENDLY_AGENT_TEXT_ES: Dict[int, str] = {
|
|
53
53
|
131047: "El cliente no escribió en las últimas 24 hs. Enviá una plantilla para retomar la conversación.",
|
|
54
54
|
131051: "Tipo de mensaje no soportado para este envío.",
|
|
55
|
+
# Media (/media endpoint). Without these two, EVERY media rejection — bad codec,
|
|
56
|
+
# oversized, corrupt — collapsed into the generic _FRIENDLY_DEFAULT, which is why
|
|
57
|
+
# video failures were misdiagnosed as a size problem for months.
|
|
58
|
+
131052: "WhatsApp no pudo descargar el archivo. Volvé a subirlo.",
|
|
59
|
+
131053: "WhatsApp rechazó el archivo por su formato. Los videos tienen que ser MP4 con video H.264 y audio AAC.",
|
|
55
60
|
131026: "El número no puede recibir mensajes de WhatsApp.",
|
|
56
61
|
131021: "No se puede enviar un mensaje a este número.",
|
|
57
62
|
131049: "WhatsApp no entregó el mensaje por políticas de Meta.",
|
|
@@ -68,6 +73,10 @@ FRIENDLY_AGENT_TEXT_ES: Dict[int, str] = {
|
|
|
68
73
|
}
|
|
69
74
|
|
|
70
75
|
_FRIENDLY_DEFAULT = "No se pudo enviar el mensaje."
|
|
76
|
+
_FRIENDLY_MEDIA_REJECTED = (
|
|
77
|
+
"WhatsApp rechazó el archivo. Los videos tienen que ser MP4 con video H.264 y audio AAC, "
|
|
78
|
+
"y pesar menos de 16 MB."
|
|
79
|
+
)
|
|
71
80
|
_FRIENDLY_AUTH = "La conexión con WhatsApp expiró. Reconectá la cuenta."
|
|
72
81
|
_FRIENDLY_TRANSIENT = "Error temporal de WhatsApp. Se reintentó sin éxito, probá de nuevo en unos minutos."
|
|
73
82
|
_FRIENDLY_4XX = "WhatsApp rechazó el mensaje."
|
|
@@ -75,15 +84,24 @@ _FRIENDLY_4XX = "WhatsApp rechazó el mensaje."
|
|
|
75
84
|
|
|
76
85
|
def friendly_failure_reason(*, meta_code: Optional[int] = None,
|
|
77
86
|
http_status: Optional[int] = None,
|
|
78
|
-
transient: bool = False
|
|
87
|
+
transient: bool = False,
|
|
88
|
+
media_upload: bool = False,
|
|
89
|
+
meta_message: Optional[str] = None) -> str:
|
|
79
90
|
"""Map a failed outbound send to a short, agent-facing Spanish reason.
|
|
80
91
|
|
|
81
|
-
Precedence: a known Meta error code wins; then
|
|
82
|
-
then transient/5xx; then any other 4xx; else a generic fallback.
|
|
83
|
-
no side effects — safe to call anywhere and trivial to unit-test.
|
|
92
|
+
Precedence: a known Meta error code wins; then a refused media upload; then HTTP 401
|
|
93
|
+
(auth/expired token); then transient/5xx; then any other 4xx; else a generic fallback.
|
|
94
|
+
Pure function, no side effects — safe to call anywhere and trivial to unit-test.
|
|
84
95
|
"""
|
|
85
96
|
if meta_code is not None and meta_code in FRIENDLY_AGENT_TEXT_ES:
|
|
86
97
|
return FRIENDLY_AGENT_TEXT_ES[meta_code]
|
|
98
|
+
if media_upload:
|
|
99
|
+
# A file Meta refused. It answers /media with generic codes far more often than
|
|
100
|
+
# the documented 131052/131053, so keying only on the code would drop the agent
|
|
101
|
+
# back to "WhatsApp rechazó el mensaje." — which is exactly the blind spot that
|
|
102
|
+
# made video failures unreadable. Say it was the file, and quote Meta verbatim.
|
|
103
|
+
base = _FRIENDLY_MEDIA_REJECTED
|
|
104
|
+
return f"{base} (WhatsApp: {meta_message})" if meta_message else base
|
|
87
105
|
if http_status == 401 or meta_code == 190:
|
|
88
106
|
return _FRIENDLY_AUTH
|
|
89
107
|
if transient or (http_status is not None and 500 <= http_status < 600):
|
|
@@ -52,13 +52,21 @@ class UnauthorizedOrigin(CustomException):
|
|
|
52
52
|
super().__init__(message, status_code=status_code, **context_data)
|
|
53
53
|
|
|
54
54
|
class WhatsAppAPIError(CustomException):
|
|
55
|
-
def __init__(self, message="WhatsApp API error", status_code=400, meta_code: Optional[int] = None, transient: bool = False, **context_data):
|
|
55
|
+
def __init__(self, message="WhatsApp API error", status_code=400, meta_code: Optional[int] = None, transient: bool = False, media_upload: bool = False, meta_message: Optional[str] = None, **context_data):
|
|
56
56
|
super().__init__(message, status_code=status_code, **context_data)
|
|
57
57
|
# meta_code: Meta's numeric error code parsed from the response body (when present).
|
|
58
58
|
# transient: True for retryable transport failures (clean 5xx). Both default-safe so
|
|
59
59
|
# existing call sites that don't pass them keep working.
|
|
60
60
|
self.meta_code = meta_code
|
|
61
61
|
self.transient = transient
|
|
62
|
+
# media_upload: the failure came from POST /media (the file itself was refused),
|
|
63
|
+
# not from POST /messages. Meta answers those with generic codes (100 "Invalid
|
|
64
|
+
# parameter") much more often than the 131052/131053 the async webhook uses, so
|
|
65
|
+
# the code alone cannot tell an agent the FILE was the problem — this flag can.
|
|
66
|
+
self.media_upload = media_upload
|
|
67
|
+
# meta_message: Meta's own explanation, kept verbatim. friendly_failure_reason
|
|
68
|
+
# only maps known codes, so without this the specific text was always discarded.
|
|
69
|
+
self.meta_message = meta_message
|
|
62
70
|
|
|
63
71
|
class WhatsAppPayloadValidationError(Exception):
|
|
64
72
|
def __init__(self, message="WhatsApp payload validation error", status_code=400, **context_data):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/ai_microservices/__init__.py
RENAMED
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/ai_microservices/expected_output.py
RENAMED
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/ai_microservices/lambda_events.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/ai_microservices/openai_payloads.py
RENAMED
|
File without changes
|
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/events/event_types.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/metrics/__init_.py
RENAMED
|
File without changes
|
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/metrics/daily_new_chats.py
RENAMED
|
File without changes
|
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/metrics/sales_roadmap.py
RENAMED
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/metrics/sent_templates.py
RENAMED
|
File without changes
|
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/smart_messages/topic.py
RENAMED
|
File without changes
|
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/sources/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/sources/helpers.py
RENAMED
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/sources/meta_post.py
RENAMED
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/sources/other_source.py
RENAMED
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/sources/pure_ad.py
RENAMED
|
File without changes
|
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/sources/source_base.py
RENAMED
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/sources/template_source.py
RENAMED
|
File without changes
|
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/analytics/sources/utm_source.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/base_models/ai_agent_component.py
RENAMED
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/base_models/chatty_asset_model.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/chat/assets_assigned_to_chat.py
RENAMED
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/chat/chat_status_modifications.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/chat/coexistence_import_sync.py
RENAMED
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/chat/continuous_conversation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/CRM/business_area.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/CINTIA/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/ai_agents_v2/faq.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/automation.py
RENAMED
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/chat_assets.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{letschatty-0.4.485 → letschatty-0.4.487}/src/letschatty/models/company/assets/company_assets.py
RENAMED
|
File without changes
|