django-unicom 25.2.32.dev0__tar.gz → 25.2.32.dev2__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.
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/PKG-INFO +1 -1
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/django_unicom.egg-info/PKG-INFO +1 -1
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unibot/services/llm_handler.py +3 -3
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/_version.py +2 -2
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/models/tool_call.py +7 -9
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/llm/tool_calls.py +2 -1
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/.cursor/rules/match_codebase_style.mdc +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/.cursor/rules/preserve_comments_and_irrelevant_code.mdc +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/.cursor/rules/require_context_before_changes.mdc +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/Dockerfile +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/MANIFEST.in +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/Makefile +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/README.md +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/conftest.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/data/definitions/bots/__init__.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/data/definitions/tools/__init__.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/django_unicom.egg-info/SOURCES.txt +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/django_unicom.egg-info/dependency_links.txt +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/django_unicom.egg-info/requires.txt +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/django_unicom.egg-info/top_level.txt +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/docker-compose.yaml +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/entrypoint.sh +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/manage.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/pyproject.toml +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/pytest.ini +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/requirements.txt +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/send_test_buttons.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/setup.cfg +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/setup.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/test_comprehensive_buttons.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/test_dkim_security.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/tests/__init__.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/tests/test_email_authentication.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/tests/test_email_live.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/tests/test_email_request_processing.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/tests/test_telegram_live.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/tests/utils.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unibot/__init__.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unibot/admin.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unibot/apps.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unibot/migrations/0001_initial.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unibot/migrations/0002_tool_bot_tools.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unibot/migrations/0003_encryptedcredential.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unibot/migrations/0004_credentialfielddefinition_and_more.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unibot/migrations/0005_alter_credentialfielddefinition_key.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unibot/migrations/__init__.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unibot/models.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unibot/services/__init__.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unibot/services/credentials.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unibot/services/tool_result_handler.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unibot/tests.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unibot/urls.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unibot/views.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/__init__.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/admin/__init__.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/admin/account_admin.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/admin/channel_admin.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/admin/chat_admin.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/admin/draft_message_admin.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/admin/email_inline_image_admin.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/admin/filters.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/admin/member_admin.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/admin/message_admin.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/admin/message_template_admin.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/admin/request_admin.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/apps.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/management/__init__.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/management/commands/__init__.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/management/commands/mail_inbox_listen.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/management/commands/run_as_llm_chat.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/management/commands/send_scheduled_messages.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/management/commands/start_imap_listeners.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/migrations/0001_initial.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/migrations/0002_emailinlineimage.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/migrations/0003_alter_emailinlineimage_email_message.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/migrations/0004_messagetemplateinlineimage.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/migrations/0005_emailinlineimage_hash_and_more.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/migrations/0006_channel_created_at_channel_created_by_and_more.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/migrations/0007_message_imap_uid.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/migrations/0008_add_all_members_group.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/migrations/0009_add_tool_call_types.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/migrations/0010_request_initial_request_request_llm_calls_count_and_more.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/migrations/0011_toolcall_add_message_reference.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/migrations/0012_message_response_to_tool_call_and_more.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/migrations/0013_callbackexecution.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/migrations/0014_rename_authorized_user_to_intended_account.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/migrations/0015_simplify_callback_execution.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/migrations/0016_callbackexecution_tool_call.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/migrations/__init__.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/models/__init__.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/models/account.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/models/account_chat.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/models/callback_execution.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/models/channel.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/models/chat.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/models/constants.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/models/draft_message.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/models/fields.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/models/member.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/models/member_group.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/models/message.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/models/message_template.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/models/request.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/models/request_category.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/models/update.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/__init__.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/chat_summary.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/crossplatform/__init__.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/crossplatform/reply_to_message.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/crossplatform/scheduler.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/crossplatform/send_message.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/decode_base64_image.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/email/IMAP_thread_manager.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/email/__init__.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/email/email_tracking.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/email/listen_to_IMAP.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/email/quote_filter.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/email/replace_cid_images_with_base64.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/email/save_email_message.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/email/send_email_message.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/email/validate_email_config.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/get_public_origin.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/html_inline_images.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/internal/__init__.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/internal/generate_text_message_data.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/internal/save_internal_message.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/internal/send_internal_message.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/llm/README.md +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/llm/__init__.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/telegram/__init__.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/telegram/answer_callback_query.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/telegram/create_inline_keyboard.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/telegram/download_file.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/telegram/edit_telegram_message.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/telegram/escape_markdown.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/telegram/get_file_path.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/telegram/handle_telegram_callback.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/telegram/save_telegram_message.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/telegram/send_telegram_message.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/telegram/set_telegram_webhook.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/telegram/start_typing_in_telegram.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/telegram/stop_typing_in_telegram.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/whatsapp/__init__.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/whatsapp/get_template.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/whatsapp/save_whatsapp_message.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/whatsapp/save_whatsapp_message_status.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/whatsapp/send_whatsapp_message.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/signals.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/static/unicom/css/bootstrap_scoped.css +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/static/unicom/css/draft_message_mobile.css +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/static/unicom/js/channel_config.js +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/static/unicom/js/tinymce_ai_template.js +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/static/unicom/js/tinymce_init.js +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/templates/admin/unicom/chat/change_list.html +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/templates/admin/unicom/chat/compose.html +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/templates/admin/unicom/chat_history.html +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/templates/admin/unicom/forms/email_message_form.html +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/templates/admin/unicom/forms/text_message_form.html +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/templates/admin/unicom/includes/ai_template_modal.html +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/templates/admin/unicom/includes/loading_indicators.html +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/templates/admin/unicom/includes/message_actions_menu.html +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/templates/admin/unicom/messagetemplate/change_form.html +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/templates/code_templates/category_processor.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/urls.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/views/__init__.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/views/chat_history_view.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/views/compose_view.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/views/email_tracking.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/views/inline_image.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/views/message_template.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/views/telegram_webhook.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/views/whatsapp_webhook.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom_project/__init__.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom_project/apps.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom_project/asgi.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom_project/callback_handlers.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom_project/definitions/__init__.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom_project/definitions/bots/__init__.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom_project/definitions/bots/assistant_bot.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom_project/definitions/tools/__init__.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom_project/definitions/tools/interactive_menu.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom_project/definitions/tools/interval_alarm.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom_project/definitions/tools/ip_lookup.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom_project/definitions/tools/simple_timer.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom_project/definitions/tools/system_info.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom_project/settings.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom_project/test_button_handlers.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom_project/urls.py +0 -0
- {django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom_project/wsgi.py +0 -0
|
@@ -256,11 +256,11 @@ def run_llm_handler(
|
|
|
256
256
|
# Execute tool with tool_call in context
|
|
257
257
|
result = tool_map_with_context[fname](**fargs)
|
|
258
258
|
|
|
259
|
-
# If tool returns None, it handles its own response - mark as
|
|
259
|
+
# If tool returns None, it handles its own response - mark as ACTIVE
|
|
260
260
|
if result is None:
|
|
261
|
-
tool_call_instance.
|
|
261
|
+
tool_call_instance.mark_active()
|
|
262
262
|
if debug:
|
|
263
|
-
print(f"[DEBUG] {fname} returned None - tool
|
|
263
|
+
print(f"[DEBUG] {fname} returned None - tool is now ACTIVE and waiting for async response")
|
|
264
264
|
continue
|
|
265
265
|
|
|
266
266
|
# Handle file results (existing code)
|
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '25.2.32.
|
|
32
|
-
__version_tuple__ = version_tuple = (25, 2, 32, '
|
|
31
|
+
__version__ = version = '25.2.32.dev2'
|
|
32
|
+
__version_tuple__ = version_tuple = (25, 2, 32, 'dev2')
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|
|
@@ -106,11 +106,12 @@ class ToolCall(models.Model):
|
|
|
106
106
|
|
|
107
107
|
Behavior:
|
|
108
108
|
- For PENDING status: Marks as COMPLETED, creates child request if final
|
|
109
|
+
- For IN_PROGRESS status: Marks as COMPLETED, creates child request if final
|
|
109
110
|
- For ACTIVE status: Logs response but keeps ACTIVE, no child request
|
|
110
111
|
- For other statuses: Raises ValueError
|
|
111
112
|
"""
|
|
112
113
|
# Validate current status
|
|
113
|
-
if self.status not in ['PENDING', 'ACTIVE']:
|
|
114
|
+
if self.status not in ['PENDING', 'IN_PROGRESS', 'ACTIVE']:
|
|
114
115
|
raise ValueError(f"Cannot respond to tool call with status: {self.status}")
|
|
115
116
|
|
|
116
117
|
# Create tool response message for LLM context - reply to the tool call message
|
|
@@ -119,15 +120,12 @@ class ToolCall(models.Model):
|
|
|
119
120
|
)
|
|
120
121
|
|
|
121
122
|
# Handle response based on current status
|
|
122
|
-
if self.status == 'ACTIVE':
|
|
123
|
-
# Periodic response - just log, don't change status or create child
|
|
124
|
-
return tool_response_msg, None
|
|
125
|
-
|
|
126
|
-
# PENDING status - mark as completed and check for final response
|
|
127
123
|
with transaction.atomic():
|
|
128
|
-
|
|
129
|
-
self.
|
|
130
|
-
|
|
124
|
+
# Only mark as completed if not ACTIVE (ACTIVE stays active for reusable buttons)
|
|
125
|
+
if self.status != 'ACTIVE':
|
|
126
|
+
self.status = 'COMPLETED'
|
|
127
|
+
self.completed_at = timezone.now()
|
|
128
|
+
self.save(update_fields=['status', 'completed_at'])
|
|
131
129
|
|
|
132
130
|
# Check if this is the final response (all PENDING tool calls now COMPLETED)
|
|
133
131
|
pending_calls = self.request.tool_calls.filter(status='PENDING').count()
|
|
@@ -104,8 +104,9 @@ def save_tool_response(chat, call_id, result, tool_name, user=None, reply_to_mes
|
|
|
104
104
|
result_summary = result_summary[:97] + "..."
|
|
105
105
|
|
|
106
106
|
# Create the tool response message
|
|
107
|
+
timestamp = int(timezone.now().timestamp() * 1000)
|
|
107
108
|
message = Message.objects.create(
|
|
108
|
-
id=f"tool_response_{chat.id}_{call_id}",
|
|
109
|
+
id=f"tool_response_{chat.id}_{call_id}_{timestamp}",
|
|
109
110
|
channel=chat.channel,
|
|
110
111
|
platform=chat.platform,
|
|
111
112
|
sender=system_account,
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/.cursor/rules/match_codebase_style.mdc
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
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/data/definitions/tools/__init__.py
RENAMED
|
File without changes
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/django_unicom.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/django_unicom.egg-info/requires.txt
RENAMED
|
File without changes
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/django_unicom.egg-info/top_level.txt
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
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/tests/test_email_authentication.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/tests/test_email_request_processing.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unibot/migrations/0002_tool_bot_tools.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
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unibot/services/tool_result_handler.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
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/admin/draft_message_admin.py
RENAMED
|
File without changes
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/admin/email_inline_image_admin.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/admin/message_template_admin.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/management/commands/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/migrations/0002_emailinlineimage.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/migrations/0007_message_imap_uid.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
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/models/callback_execution.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
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/crossplatform/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/crossplatform/scheduler.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/decode_base64_image.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/email/email_tracking.py
RENAMED
|
File without changes
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/email/listen_to_IMAP.py
RENAMED
|
File without changes
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/email/quote_filter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/get_public_origin.py
RENAMED
|
File without changes
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/html_inline_images.py
RENAMED
|
File without changes
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/internal/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/telegram/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/telegram/download_file.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/telegram/get_file_path.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/whatsapp/__init__.py
RENAMED
|
File without changes
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/services/whatsapp/get_template.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/static/unicom/js/channel_config.js
RENAMED
|
File without changes
|
|
File without changes
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom/static/unicom/js/tinymce_init.js
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
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom_project/callback_handlers.py
RENAMED
|
File without changes
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom_project/definitions/__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
|
{django_unicom-25.2.32.dev0 → django_unicom-25.2.32.dev2}/unicom_project/test_button_handlers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|