django-cfg 1.2.6__tar.gz → 1.2.8__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_cfg-1.2.6 → django_cfg-1.2.8}/PKG-INFO +2 -1
- {django_cfg-1.2.6 → django_cfg-1.2.8}/pyproject.toml +7 -4
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/__init__.py +1 -1
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/admin/execution_admin.py +9 -2
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/admin/registry_admin.py +10 -2
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/admin/toolsets_admin.py +14 -3
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/admin/archive_admin.py +3 -2
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/admin/chat_admin.py +3 -2
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/admin/document_admin.py +11 -2
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/admin/external_data_admin.py +2 -1
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/urls.py +2 -2
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_import_export/__init__.py +12 -5
- django_cfg-1.2.8/src/django_cfg/modules/django_unfold/callbacks/__init__.py +9 -0
- django_cfg-1.2.8/src/django_cfg/modules/django_unfold/callbacks/actions.py +50 -0
- django_cfg-1.2.8/src/django_cfg/modules/django_unfold/callbacks/base.py +98 -0
- django_cfg-1.2.8/src/django_cfg/modules/django_unfold/callbacks/charts.py +224 -0
- django_cfg-1.2.8/src/django_cfg/modules/django_unfold/callbacks/commands.py +40 -0
- django_cfg-1.2.8/src/django_cfg/modules/django_unfold/callbacks/main.py +191 -0
- django_cfg-1.2.8/src/django_cfg/modules/django_unfold/callbacks/revolution.py +76 -0
- django_cfg-1.2.8/src/django_cfg/modules/django_unfold/callbacks/statistics.py +240 -0
- django_cfg-1.2.8/src/django_cfg/modules/django_unfold/callbacks/system.py +180 -0
- django_cfg-1.2.8/src/django_cfg/modules/django_unfold/callbacks/users.py +65 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_unfold/models/config.py +10 -3
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_unfold/tailwind.py +68 -0
- django_cfg-1.2.8/src/django_cfg/templates/admin/components/action_grid.html +49 -0
- django_cfg-1.2.8/src/django_cfg/templates/admin/components/card.html +50 -0
- django_cfg-1.2.8/src/django_cfg/templates/admin/components/data_table.html +67 -0
- django_cfg-1.2.8/src/django_cfg/templates/admin/components/metric_card.html +39 -0
- django_cfg-1.2.8/src/django_cfg/templates/admin/components/modal.html +58 -0
- django_cfg-1.2.8/src/django_cfg/templates/admin/components/progress_bar.html +25 -0
- django_cfg-1.2.8/src/django_cfg/templates/admin/components/section_header.html +26 -0
- django_cfg-1.2.8/src/django_cfg/templates/admin/components/stat_item.html +32 -0
- django_cfg-1.2.8/src/django_cfg/templates/admin/components/stats_grid.html +72 -0
- django_cfg-1.2.8/src/django_cfg/templates/admin/components/status_badge.html +28 -0
- django_cfg-1.2.8/src/django_cfg/templates/admin/components/user_avatar.html +27 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/templates/admin/layouts/dashboard_with_tabs.html +7 -7
- django_cfg-1.2.8/src/django_cfg/templates/admin/snippets/components/activity_tracker.html +54 -0
- django_cfg-1.2.8/src/django_cfg/templates/admin/snippets/components/charts_section.html +89 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/templates/admin/snippets/components/django_commands.html +18 -18
- django_cfg-1.2.8/src/django_cfg/templates/admin/snippets/components/quick_actions.html +66 -0
- django_cfg-1.2.8/src/django_cfg/templates/admin/snippets/components/recent_activity.html +35 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/templates/admin/snippets/components/recent_users_table.html +22 -53
- django_cfg-1.2.8/src/django_cfg/templates/admin/snippets/components/stats_cards.html +4 -0
- django_cfg-1.2.8/src/django_cfg/templates/admin/snippets/components/system_health.html +22 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/templates/admin/snippets/components/system_metrics.html +8 -25
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/templates/admin/snippets/tabs/commands_tab.html +1 -1
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/templates/admin/snippets/tabs/overview_tab.html +4 -4
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/templates/admin/snippets/zones/zones_table.html +12 -33
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/templatetags/django_cfg.py +2 -1
- django_cfg-1.2.6/src/django_cfg/modules/django_unfold/callbacks.py +0 -795
- django_cfg-1.2.6/src/django_cfg/templates/admin/snippets/components/activity_tracker.html +0 -17
- django_cfg-1.2.6/src/django_cfg/templates/admin/snippets/components/charts_section.html +0 -39
- django_cfg-1.2.6/src/django_cfg/templates/admin/snippets/components/quick_actions.html +0 -110
- django_cfg-1.2.6/src/django_cfg/templates/admin/snippets/components/recent_activity.html +0 -45
- django_cfg-1.2.6/src/django_cfg/templates/admin/snippets/components/stats_cards.html +0 -68
- django_cfg-1.2.6/src/django_cfg/templates/admin/snippets/components/system_health.html +0 -72
- {django_cfg-1.2.6 → django_cfg-1.2.8}/.gitignore +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/LICENSE +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/MANIFEST.in +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/README.md +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/requirements-dev.txt +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/requirements-test.txt +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/requirements.txt +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/README.md +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/README.md +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/admin/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/admin/activity.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/admin/filters.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/admin/group.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/admin/inlines.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/admin/otp.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/admin/registration_source.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/admin/resources.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/admin/twilio_response.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/admin/user.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/apps.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/management/commands/test_otp.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/managers/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/managers/user_manager.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/migrations/0001_initial.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/migrations/0002_add_phone_otp_clean.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/migrations/0003_twilioresponse.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/migrations/0004_delete_twilioresponse.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/migrations/0005_twilioresponse.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/migrations/0006_remove_twilioresponse_otp_secret_and_more.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/migrations/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/models.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/serializers/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/serializers/otp.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/serializers/profile.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/serializers/webhook.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/services/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/services/activity_service.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/services/otp_service.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/signals.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/templates/emails/base_email.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/templates/emails/base_email.txt +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/templates/emails/otp_email.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/templates/emails/otp_email.txt +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/templates/emails/welcome_email.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/templates/emails/welcome_email.txt +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/urls.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/utils/auth_email_service.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/utils/notifications.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/views/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/views/otp.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/views/profile.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/accounts/views/webhook.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/README.md +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/admin/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/apps.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/core/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/core/agent.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/core/dependencies.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/core/exceptions.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/core/models.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/core/orchestrator.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/examples/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/examples/simple_example.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/integration/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/integration/middleware.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/integration/registry.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/integration/signals.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/management/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/management/commands/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/management/commands/create_agent.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/management/commands/orchestrator_status.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/managers/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/managers/execution.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/managers/registry.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/managers/toolsets.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/migrations/0001_initial.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/migrations/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/models/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/models/execution.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/models/registry.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/models/toolsets.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/patterns/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/patterns/content_agents.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/toolsets/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/toolsets/cache_toolset.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/toolsets/django_toolset.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/toolsets/file_toolset.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/toolsets/orm_toolset.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/agents/urls.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/api/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/api/commands/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/api/commands/urls.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/api/commands/views.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/api/health/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/api/health/urls.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/api/health/views.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/README.md +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/admin/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/apps.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/config/README.md +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/config/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/config/constance_fields.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/config/constance_settings.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/config/settings.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/examples/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/examples/external_data_usage.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/management/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/management/commands/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/management/commands/knowbase_stats.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/management/commands/setup_knowbase.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/managers/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/managers/archive.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/managers/base.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/managers/chat.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/managers/document.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/managers/external_data.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/migrations/0001_initial.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/migrations/0002_archiveitem_archiveitemchunk_documentarchive_and_more.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/migrations/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/mixins/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/mixins/config.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/mixins/creator.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/mixins/examples/vehicle_model_example.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/mixins/external_data_mixin.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/mixins/service.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/models/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/models/archive.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/models/base.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/models/chat.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/models/document.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/models/external_data.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/serializers/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/serializers/archive_serializers.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/serializers/chat_serializers.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/serializers/document_serializers.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/serializers/external_data_serializers.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/serializers/public_serializers.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/services/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/services/archive/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/services/archive/archive_service.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/services/archive/chunking_service.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/services/archive/exceptions.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/services/archive/extraction_service.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/services/archive/vectorization_service.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/services/base.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/services/chat_service.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/services/document_service.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/services/embedding/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/services/embedding/async_processor.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/services/embedding/batch_processor.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/services/embedding/batch_result.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/services/embedding/models.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/services/embedding/processors.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/services/embedding/utils.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/services/prompt_builder.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/services/search_service.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/signals/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/signals/archive_signals.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/signals/chat_signals.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/signals/document_signals.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/signals/external_data_signals.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/tasks/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/tasks/archive_tasks.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/tasks/document_processing.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/tasks/external_data_tasks.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/tasks/maintenance.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/urls.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/utils/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/utils/chunk_settings.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/utils/text_processing.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/utils/validation.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/views/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/views/archive_views.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/views/base.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/views/chat_views.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/views/document_views.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/views/public_views.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/leads/README.md +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/leads/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/leads/admin/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/leads/admin/leads_admin.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/leads/admin/resources.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/leads/admin.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/leads/apps.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/leads/migrations/0001_initial.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/leads/migrations/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/leads/models.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/leads/serializers.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/leads/signals.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/leads/tests.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/leads/urls.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/leads/views.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/newsletter/README.md +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/newsletter/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/newsletter/admin/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/newsletter/admin/filters.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/newsletter/admin/newsletter_admin.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/newsletter/admin/resources.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/newsletter/admin.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/newsletter/admin_filters.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/newsletter/apps.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/newsletter/management/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/newsletter/management/commands/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/newsletter/management/commands/test_newsletter.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/newsletter/managers/README.md +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/newsletter/managers/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/newsletter/migrations/0001_initial.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/newsletter/migrations/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/newsletter/models.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/newsletter/serializers.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/newsletter/services/email_service.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/newsletter/signals.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/newsletter/urls.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/newsletter/utils/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/newsletter/views/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/newsletter/views/campaigns.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/newsletter/views/emails.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/newsletter/views/newsletters.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/newsletter/views/subscriptions.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/newsletter/views/tracking.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/support/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/support/admin/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/support/admin/filters.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/support/admin/resources.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/support/admin/support_admin.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/support/admin.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/support/admin_filters.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/support/apps.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/support/managers/message_manager.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/support/managers/ticket_manager.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/support/migrations/0001_initial.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/support/migrations/0002_alter_message_ticket.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/support/migrations/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/support/models.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/support/serializers.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/support/signals.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/support/templates/support/chat/access_denied.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/support/templates/support/chat/ticket_chat.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/support/urls.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/support/utils/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/support/utils/support_email_service.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/support/views/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/support/views/admin.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/support/views/api.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/support/views/chat.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/tasks/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/tasks/admin.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/tasks/apps.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/tasks/serializers.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/tasks/static/tasks/css/dashboard.css +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/tasks/static/tasks/js/api.js +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/tasks/static/tasks/js/dashboard.js +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/tasks/static/tasks/js/modals.js +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/tasks/static/tasks/js/notifications.js +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/tasks/static/tasks/js/task-monitor.js +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/tasks/static/tasks/js/theme.js +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/tasks/templates/tasks/base.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/tasks/templates/tasks/components/info_cards.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/tasks/templates/tasks/components/management_actions.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/tasks/templates/tasks/components/overview_tab.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/tasks/templates/tasks/components/queues_tab.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/tasks/templates/tasks/components/status_cards.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/tasks/templates/tasks/components/tab_navigation.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/tasks/templates/tasks/components/task_details_modal.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/tasks/templates/tasks/components/tasks_tab.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/tasks/templates/tasks/components/workers_tab.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/tasks/templates/tasks/dashboard.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/tasks/urls.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/tasks/views.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/cli/README.md +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/cli/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/cli/commands/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/cli/commands/create_project.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/cli/commands/info.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/cli/main.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/cli/utils.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/config.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/core/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/core/config.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/core/environment.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/core/exceptions.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/core/generation.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/core/integration.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/core/validation.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/management/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/management/commands/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/management/commands/auto_generate.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/management/commands/check_settings.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/management/commands/clear_constance.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/management/commands/create_token.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/management/commands/generate.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/management/commands/list_urls.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/management/commands/migrate_all.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/management/commands/migrator.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/management/commands/rundramatiq.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/management/commands/runserver_ngrok.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/management/commands/script.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/management/commands/show_config.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/management/commands/show_urls.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/management/commands/superuser.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/management/commands/task_clear.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/management/commands/task_status.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/management/commands/test_email.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/management/commands/test_telegram.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/management/commands/test_twilio.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/management/commands/tree.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/management/commands/validate_config.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/middleware/README.md +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/middleware/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/middleware/public_endpoints.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/middleware/user_activity.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/models/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/models/api.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/models/base.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/models/cache.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/models/cfg.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/models/constance.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/models/cors.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/models/database.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/models/drf.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/models/email.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/models/environment.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/models/jwt.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/models/limits.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/models/logging.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/models/ngrok.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/models/revolution.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/models/security.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/models/services.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/models/tasks.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/base.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_currency/README.md +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_currency/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_currency/cache.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_currency/converter.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_currency/service.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_email.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_health.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_import_export/README.md +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_llm/README.md +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_llm/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_llm/example.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_llm/llm/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_llm/llm/cache.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_llm/llm/client.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_llm/llm/costs.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_llm/llm/extractor.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_llm/llm/models.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_llm/llm/models_cache.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_llm/llm/tokenizer.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_llm/translator/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_llm/translator/cache.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_llm/translator/translator.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_logger.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_ngrok.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_tasks.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_telegram.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_twilio/README.md +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_twilio/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_twilio/exceptions.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_twilio/models.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_twilio/sendgrid_service.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_twilio/service.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_twilio/simple_service.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_twilio/templates/guide.md +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_twilio/templates/sendgrid_otp_email.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_twilio/templates/sendgrid_test_data.json +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_twilio/twilio_service.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_unfold/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_unfold/dashboard.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_unfold/icons/README.md +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_unfold/icons/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_unfold/icons/constants.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_unfold/icons/generate_icons.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_unfold/models/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_unfold/models/dashboard.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_unfold/models/dropdown.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_unfold/models/navigation.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_unfold/models/tabs.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_unfold/models.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_unfold/system_monitor.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_unfold/utils.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/dramatiq_setup.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/logger.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/registry/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/registry/core.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/registry/exceptions.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/registry/modules.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/registry/services.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/registry/third_party.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/routing/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/routing/callbacks.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/routing/routers.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/templates/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/templates/admin/constance/change_list.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/templates/admin/constance/includes/default_value.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/templates/admin/constance/includes/fieldset_header.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/templates/admin/constance/includes/results_list.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/templates/admin/constance/includes/setting_row.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/templates/admin/constance/includes/table_headers.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/templates/admin/import_export/change_list_export.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/templates/admin/import_export/change_list_import.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/templates/admin/import_export/change_list_import_export.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/templates/admin/index.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/templates/admin/snippets/components/stats_tiles.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/templates/admin/snippets/components/user_permissions.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/templates/admin/snippets/tabs/app_stats_tab.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/templates/admin/snippets/tabs/stats_tab.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/templates/admin/snippets/tabs/users_tab.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/templates/emails/base_email.html +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/templatetags/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/urls.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/utils/__init__.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/utils/path_resolution.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/utils/smart_defaults.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/utils/toolkit.py +0 -0
- {django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/utils/version_check.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: django-cfg
|
3
|
-
Version: 1.2.
|
3
|
+
Version: 1.2.8
|
4
4
|
Summary: 🚀 Next-gen Django configuration: type-safety, AI features, blazing-fast setup, and automated best practices — all in one.
|
5
5
|
Project-URL: Homepage, https://django-cfg.com
|
6
6
|
Project-URL: Documentation, https://django-cfg.com
|
@@ -110,6 +110,7 @@ Requires-Dist: pymdown-extensions<11.0,>=10.16; extra == 'docs'
|
|
110
110
|
Provides-Extra: full
|
111
111
|
Requires-Dist: django<6.0,>=5.2; extra == 'full'
|
112
112
|
Requires-Dist: redis<7.0,>=6.4.0; extra == 'full'
|
113
|
+
Provides-Extra: local
|
113
114
|
Provides-Extra: tasks
|
114
115
|
Requires-Dist: redis<7.0,>=6.4.0; extra == 'tasks'
|
115
116
|
Provides-Extra: test
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
4
4
|
|
5
5
|
[project]
|
6
6
|
name = "django-cfg"
|
7
|
-
version = "1.2.
|
7
|
+
version = "1.2.8"
|
8
8
|
description = "🚀 Next-gen Django configuration: type-safety, AI features, blazing-fast setup, and automated best practices — all in one."
|
9
9
|
readme = "README.md"
|
10
10
|
license = {text = "MIT"}
|
@@ -121,11 +121,14 @@ dependencies = [
|
|
121
121
|
"django-revolution>=1.0.43,<2.0",
|
122
122
|
]
|
123
123
|
|
124
|
-
# Local development dependencies
|
125
|
-
# django-revolution = {path = "../django-revolution", develop = true}
|
126
|
-
|
127
124
|
[project.optional-dependencies]
|
128
125
|
|
126
|
+
# Local development dependencies group
|
127
|
+
local = [
|
128
|
+
# Uncomment to use local django-revolution development version
|
129
|
+
# "django-revolution @ file://../django-revolution"
|
130
|
+
]
|
131
|
+
|
129
132
|
# Django compatibility - users should install one of these (minimum 5.2)
|
130
133
|
django52 = ["django>=5.2,<6.0"]
|
131
134
|
|
@@ -17,6 +17,7 @@ from unfold.decorators import display, action
|
|
17
17
|
from unfold.enums import ActionVariant
|
18
18
|
from unfold.contrib.filters.admin import AutocompleteSelectFilter, AutocompleteSelectMultipleFilter
|
19
19
|
from unfold.contrib.forms.widgets import WysiwygWidget
|
20
|
+
from django_cfg import ExportMixin, ExportForm
|
20
21
|
|
21
22
|
from ..models.execution import AgentExecution, WorkflowExecution
|
22
23
|
|
@@ -90,9 +91,12 @@ class AgentExecutionInlineForWorkflow(TabularInline):
|
|
90
91
|
|
91
92
|
|
92
93
|
@admin.register(AgentExecution)
|
93
|
-
class AgentExecutionAdmin(ModelAdmin):
|
94
|
+
class AgentExecutionAdmin(ModelAdmin, ExportMixin):
|
94
95
|
"""Admin interface for AgentExecution with Unfold styling."""
|
95
96
|
|
97
|
+
# Export-only configuration
|
98
|
+
export_form_class = ExportForm
|
99
|
+
|
96
100
|
list_display = [
|
97
101
|
'id_display', 'agent_name_display', 'status_badge', 'user',
|
98
102
|
'execution_metrics', 'cost_display', 'cached_badge', 'created_at'
|
@@ -261,9 +265,12 @@ class AgentExecutionAdmin(ModelAdmin):
|
|
261
265
|
|
262
266
|
|
263
267
|
@admin.register(WorkflowExecution)
|
264
|
-
class WorkflowExecutionAdmin(ModelAdmin):
|
268
|
+
class WorkflowExecutionAdmin(ModelAdmin, ExportMixin):
|
265
269
|
"""Admin interface for WorkflowExecution with Unfold styling."""
|
266
270
|
|
271
|
+
# Export-only configuration
|
272
|
+
export_form_class = ExportForm
|
273
|
+
|
267
274
|
list_display = [
|
268
275
|
'id_display', 'name_display', 'pattern_badge', 'status_badge', 'user',
|
269
276
|
'progress_display', 'metrics_display', 'cost_display', 'created_at'
|
@@ -17,6 +17,7 @@ from unfold.decorators import display, action
|
|
17
17
|
from unfold.enums import ActionVariant
|
18
18
|
from unfold.contrib.filters.admin import AutocompleteSelectFilter, AutocompleteSelectMultipleFilter
|
19
19
|
from unfold.contrib.forms.widgets import WysiwygWidget
|
20
|
+
from django_cfg import ImportExportModelAdmin, ExportMixin, ImportForm, ExportForm
|
20
21
|
|
21
22
|
from ..models.registry import AgentDefinition, AgentTemplate
|
22
23
|
from ..models.execution import AgentExecution
|
@@ -91,9 +92,13 @@ class AgentExecutionInline(TabularInline):
|
|
91
92
|
|
92
93
|
|
93
94
|
@admin.register(AgentDefinition)
|
94
|
-
class AgentDefinitionAdmin(ModelAdmin):
|
95
|
+
class AgentDefinitionAdmin(ModelAdmin, ImportExportModelAdmin):
|
95
96
|
"""Admin interface for AgentDefinition with Unfold styling."""
|
96
97
|
|
98
|
+
# Import/Export configuration
|
99
|
+
import_form_class = ImportForm
|
100
|
+
export_form_class = ExportForm
|
101
|
+
|
97
102
|
list_display = [
|
98
103
|
'name_display', 'display_name', 'category_badge', 'status_badges',
|
99
104
|
'usage_stats', 'performance_indicator', 'created_by', 'created_at'
|
@@ -271,9 +276,12 @@ class AgentDefinitionAdmin(ModelAdmin):
|
|
271
276
|
|
272
277
|
|
273
278
|
@admin.register(AgentTemplate)
|
274
|
-
class AgentTemplateAdmin(ModelAdmin):
|
279
|
+
class AgentTemplateAdmin(ModelAdmin, ExportMixin):
|
275
280
|
"""Admin interface for AgentTemplate with Unfold styling."""
|
276
281
|
|
282
|
+
# Export-only configuration
|
283
|
+
export_form_class = ExportForm
|
284
|
+
|
277
285
|
list_display = ['name_display', 'category_badge', 'status_badge', 'use_cases_preview', 'created_by', 'created_at']
|
278
286
|
ordering = ['-created_at']
|
279
287
|
list_filter = [
|
@@ -17,14 +17,18 @@ from unfold.decorators import display, action
|
|
17
17
|
from unfold.enums import ActionVariant
|
18
18
|
from unfold.contrib.filters.admin import AutocompleteSelectFilter, AutocompleteSelectMultipleFilter
|
19
19
|
from unfold.contrib.forms.widgets import WysiwygWidget
|
20
|
+
from django_cfg import ExportMixin, ImportExportModelAdmin, ImportForm, ExportForm
|
20
21
|
|
21
22
|
from ..models.toolsets import ToolExecution, ApprovalLog, ToolsetConfiguration
|
22
23
|
|
23
24
|
|
24
25
|
@admin.register(ToolExecution)
|
25
|
-
class ToolExecutionAdmin(ModelAdmin):
|
26
|
+
class ToolExecutionAdmin(ModelAdmin, ExportMixin):
|
26
27
|
"""Admin interface for ToolExecution with Unfold styling."""
|
27
28
|
|
29
|
+
# Export-only configuration
|
30
|
+
export_form_class = ExportForm
|
31
|
+
|
28
32
|
list_display = [
|
29
33
|
'id_display', 'tool_name_display', 'toolset_badge', 'status_badge', 'user',
|
30
34
|
'execution_metrics', 'retry_badge', 'created_at'
|
@@ -197,9 +201,12 @@ class ToolExecutionAdmin(ModelAdmin):
|
|
197
201
|
|
198
202
|
|
199
203
|
@admin.register(ApprovalLog)
|
200
|
-
class ApprovalLogAdmin(ModelAdmin):
|
204
|
+
class ApprovalLogAdmin(ModelAdmin, ExportMixin):
|
201
205
|
"""Admin interface for ApprovalLog with Unfold styling."""
|
202
206
|
|
207
|
+
# Export-only configuration
|
208
|
+
export_form_class = ExportForm
|
209
|
+
|
203
210
|
list_display = [
|
204
211
|
'approval_id_display', 'tool_name_display', 'status_badge', 'user',
|
205
212
|
'decision_info', 'time_metrics', 'expiry_status', 'requested_at'
|
@@ -371,9 +378,13 @@ class ApprovalLogAdmin(ModelAdmin):
|
|
371
378
|
|
372
379
|
|
373
380
|
@admin.register(ToolsetConfiguration)
|
374
|
-
class ToolsetConfigurationAdmin(ModelAdmin):
|
381
|
+
class ToolsetConfigurationAdmin(ModelAdmin, ImportExportModelAdmin):
|
375
382
|
"""Admin interface for ToolsetConfiguration with Unfold styling."""
|
376
383
|
|
384
|
+
# Import/Export configuration
|
385
|
+
import_form_class = ImportForm
|
386
|
+
export_form_class = ExportForm
|
387
|
+
|
377
388
|
list_display = [
|
378
389
|
'name_display', 'toolset_class_badge', 'status_badge', 'usage_info', 'created_by', 'created_at'
|
379
390
|
]
|
@@ -18,6 +18,7 @@ from unfold.decorators import display, action
|
|
18
18
|
from unfold.enums import ActionVariant
|
19
19
|
from unfold.contrib.filters.admin import AutocompleteSelectFilter
|
20
20
|
from unfold.contrib.forms.widgets import WysiwygWidget
|
21
|
+
from django_cfg import ExportMixin
|
21
22
|
|
22
23
|
from ..models.archive import DocumentArchive, ArchiveItem, ArchiveItemChunk
|
23
24
|
|
@@ -76,7 +77,7 @@ class ArchiveItemInline(TabularInline):
|
|
76
77
|
|
77
78
|
|
78
79
|
@admin.register(DocumentArchive)
|
79
|
-
class DocumentArchiveAdmin(ModelAdmin):
|
80
|
+
class DocumentArchiveAdmin(ExportMixin, ModelAdmin):
|
80
81
|
"""Admin interface for DocumentArchive."""
|
81
82
|
|
82
83
|
list_display = [
|
@@ -483,7 +484,7 @@ class DocumentArchiveAdmin(ModelAdmin):
|
|
483
484
|
|
484
485
|
|
485
486
|
@admin.register(ArchiveItem)
|
486
|
-
class ArchiveItemAdmin(ModelAdmin):
|
487
|
+
class ArchiveItemAdmin(ExportMixin, ModelAdmin):
|
487
488
|
"""Admin interface for ArchiveItem."""
|
488
489
|
|
489
490
|
list_display = [
|
@@ -10,6 +10,7 @@ from django.db.models import Count, Sum, Avg, Q
|
|
10
10
|
from unfold.admin import ModelAdmin, TabularInline
|
11
11
|
from unfold.decorators import display
|
12
12
|
from unfold.contrib.filters.admin import AutocompleteSelectFilter
|
13
|
+
from django_cfg import ExportMixin
|
13
14
|
|
14
15
|
from ..models import ChatSession, ChatMessage
|
15
16
|
|
@@ -99,7 +100,7 @@ class ChatMessageInline(TabularInline):
|
|
99
100
|
|
100
101
|
|
101
102
|
@admin.register(ChatSession)
|
102
|
-
class ChatSessionAdmin(ModelAdmin):
|
103
|
+
class ChatSessionAdmin(ModelAdmin, ExportMixin):
|
103
104
|
"""Admin interface for ChatSession model with Unfold styling."""
|
104
105
|
|
105
106
|
list_display = [
|
@@ -224,7 +225,7 @@ class ChatSessionAdmin(ModelAdmin):
|
|
224
225
|
|
225
226
|
|
226
227
|
@admin.register(ChatMessage)
|
227
|
-
class ChatMessageAdmin(ModelAdmin):
|
228
|
+
class ChatMessageAdmin(ModelAdmin, ExportMixin):
|
228
229
|
"""Admin interface for ChatMessage model with Unfold styling."""
|
229
230
|
|
230
231
|
list_display = [
|
@@ -15,6 +15,7 @@ from unfold.admin import ModelAdmin, TabularInline
|
|
15
15
|
from unfold.decorators import display
|
16
16
|
from unfold.contrib.filters.admin import AutocompleteSelectFilter, AutocompleteSelectMultipleFilter
|
17
17
|
from unfold.contrib.forms.widgets import WysiwygWidget
|
18
|
+
from django_cfg import ImportExportModelAdmin, ExportMixin, ImportForm, ExportForm
|
18
19
|
|
19
20
|
from ..models import Document, DocumentChunk, DocumentCategory
|
20
21
|
|
@@ -77,9 +78,13 @@ class DocumentChunkInline(TabularInline):
|
|
77
78
|
|
78
79
|
|
79
80
|
@admin.register(Document)
|
80
|
-
class DocumentAdmin(ModelAdmin):
|
81
|
+
class DocumentAdmin(ModelAdmin, ImportExportModelAdmin):
|
81
82
|
"""Admin interface for Document model with Unfold styling."""
|
82
83
|
|
84
|
+
# Import/Export configuration
|
85
|
+
import_form_class = ImportForm
|
86
|
+
export_form_class = ExportForm
|
87
|
+
|
83
88
|
list_display = [
|
84
89
|
'title_display', 'categories_display', 'user',
|
85
90
|
'visibility_badge', 'status_badge', 'chunks_count_display', 'vectorization_progress', 'tokens_display', 'cost_display', 'created_at'
|
@@ -568,9 +573,13 @@ class DocumentChunkAdmin(ModelAdmin):
|
|
568
573
|
|
569
574
|
|
570
575
|
@admin.register(DocumentCategory)
|
571
|
-
class DocumentCategoryAdmin(ModelAdmin):
|
576
|
+
class DocumentCategoryAdmin(ModelAdmin, ImportExportModelAdmin):
|
572
577
|
"""Admin interface for DocumentCategory model with Unfold styling."""
|
573
578
|
|
579
|
+
# Import/Export configuration
|
580
|
+
import_form_class = ImportForm
|
581
|
+
export_form_class = ExportForm
|
582
|
+
|
574
583
|
list_display = [
|
575
584
|
'short_uuid', 'name', 'visibility_badge', 'document_count', 'created_at'
|
576
585
|
]
|
{django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/apps/knowbase/admin/external_data_admin.py
RENAMED
@@ -18,6 +18,7 @@ from unfold.decorators import display, action
|
|
18
18
|
from unfold.enums import ActionVariant
|
19
19
|
from unfold.contrib.filters.admin import AutocompleteSelectFilter, AutocompleteSelectMultipleFilter
|
20
20
|
from unfold.contrib.forms.widgets import WysiwygWidget
|
21
|
+
from django_cfg import ExportMixin
|
21
22
|
|
22
23
|
from ..models.external_data import ExternalData, ExternalDataChunk, ExternalDataType, ExternalDataStatus
|
23
24
|
|
@@ -80,7 +81,7 @@ class ExternalDataChunkInline(TabularInline):
|
|
80
81
|
|
81
82
|
|
82
83
|
@admin.register(ExternalData)
|
83
|
-
class ExternalDataAdmin(ModelAdmin):
|
84
|
+
class ExternalDataAdmin(ModelAdmin, ExportMixin):
|
84
85
|
"""Admin interface for ExternalData model with Unfold styling."""
|
85
86
|
|
86
87
|
list_display = [
|
@@ -45,8 +45,8 @@ def get_django_cfg_urlpatterns() -> List[URLPattern]:
|
|
45
45
|
# patterns.append(path('leads/', include('django_cfg.apps.leads.urls')))
|
46
46
|
|
47
47
|
# Tasks app - enabled when knowbase or agents are enabled
|
48
|
-
if base_module.is_tasks_enabled():
|
49
|
-
|
48
|
+
# if base_module.is_tasks_enabled():
|
49
|
+
# patterns.append(path('tasks/', include('django_cfg.apps.tasks.urls')))
|
50
50
|
|
51
51
|
except Exception:
|
52
52
|
# Fallback: include all URLs if config is not available
|
{django_cfg-1.2.6 → django_cfg-1.2.8}/src/django_cfg/modules/django_import_export/__init__.py
RENAMED
@@ -8,27 +8,34 @@ Provides seamless integration without unnecessary wrappers.
|
|
8
8
|
# Re-export original classes through django-cfg registry
|
9
9
|
from import_export.admin import ImportExportMixin as BaseImportExportMixin, ImportExportModelAdmin as BaseImportExportModelAdmin, ExportMixin as BaseExportMixin, ImportMixin as BaseImportMixin
|
10
10
|
from import_export.resources import ModelResource as BaseResource
|
11
|
-
|
11
|
+
# Use Unfold styled forms instead of default ones
|
12
|
+
from unfold.contrib.import_export.forms import ImportForm, ExportForm, SelectableFieldsExportForm
|
12
13
|
|
13
14
|
|
14
15
|
class ImportExportMixin(BaseImportExportMixin):
|
15
|
-
"""Django-CFG enhanced ImportExportMixin with custom templates."""
|
16
|
+
"""Django-CFG enhanced ImportExportMixin with custom templates and Unfold forms."""
|
16
17
|
change_list_template = 'admin/import_export/change_list_import_export.html'
|
18
|
+
import_form_class = ImportForm
|
19
|
+
export_form_class = ExportForm
|
17
20
|
|
18
21
|
|
19
22
|
class ImportExportModelAdmin(BaseImportExportModelAdmin):
|
20
|
-
"""Django-CFG enhanced ImportExportModelAdmin with custom templates."""
|
23
|
+
"""Django-CFG enhanced ImportExportModelAdmin with custom templates and Unfold forms."""
|
21
24
|
change_list_template = 'admin/import_export/change_list_import_export.html'
|
25
|
+
import_form_class = ImportForm
|
26
|
+
export_form_class = ExportForm
|
22
27
|
|
23
28
|
|
24
29
|
class ExportMixin(BaseExportMixin):
|
25
|
-
"""Django-CFG enhanced ExportMixin with custom templates."""
|
30
|
+
"""Django-CFG enhanced ExportMixin with custom templates and Unfold forms."""
|
26
31
|
change_list_template = 'admin/import_export/change_list_export.html'
|
32
|
+
export_form_class = ExportForm
|
27
33
|
|
28
34
|
|
29
35
|
class ImportMixin(BaseImportMixin):
|
30
|
-
"""Django-CFG enhanced ImportMixin with custom templates."""
|
36
|
+
"""Django-CFG enhanced ImportMixin with custom templates and Unfold forms."""
|
31
37
|
change_list_template = 'admin/import_export/change_list_import.html'
|
38
|
+
import_form_class = ImportForm
|
32
39
|
|
33
40
|
|
34
41
|
__all__ = [
|
@@ -0,0 +1,50 @@
|
|
1
|
+
"""
|
2
|
+
Quick actions callbacks.
|
3
|
+
"""
|
4
|
+
|
5
|
+
import logging
|
6
|
+
from typing import List
|
7
|
+
|
8
|
+
from ..models.dashboard import QuickAction
|
9
|
+
from ..icons import Icons
|
10
|
+
from .base import get_user_admin_urls
|
11
|
+
|
12
|
+
logger = logging.getLogger(__name__)
|
13
|
+
|
14
|
+
|
15
|
+
class ActionsCallbacks:
|
16
|
+
"""Quick actions callbacks."""
|
17
|
+
|
18
|
+
def get_quick_actions(self) -> List[QuickAction]:
|
19
|
+
"""Get quick action buttons as Pydantic models."""
|
20
|
+
# Get user admin URLs dynamically based on AUTH_USER_MODEL
|
21
|
+
user_admin_urls = get_user_admin_urls()
|
22
|
+
|
23
|
+
actions = [
|
24
|
+
QuickAction(
|
25
|
+
title="Add User",
|
26
|
+
description="Create new user account",
|
27
|
+
icon=Icons.PERSON_ADD,
|
28
|
+
link=user_admin_urls["add"],
|
29
|
+
color="primary",
|
30
|
+
category="admin",
|
31
|
+
),
|
32
|
+
QuickAction(
|
33
|
+
title="Support Tickets",
|
34
|
+
description="Manage support tickets",
|
35
|
+
icon=Icons.SUPPORT_AGENT,
|
36
|
+
link="admin:django_cfg_support_ticket_changelist",
|
37
|
+
color="primary",
|
38
|
+
category="support",
|
39
|
+
),
|
40
|
+
QuickAction(
|
41
|
+
title="Health Check",
|
42
|
+
description="System health status",
|
43
|
+
icon=Icons.HEALTH_AND_SAFETY,
|
44
|
+
link="/cfg/health/",
|
45
|
+
color="success",
|
46
|
+
category="system",
|
47
|
+
),
|
48
|
+
]
|
49
|
+
|
50
|
+
return actions
|
@@ -0,0 +1,98 @@
|
|
1
|
+
"""
|
2
|
+
Base utilities and helper functions for callbacks.
|
3
|
+
"""
|
4
|
+
|
5
|
+
import logging
|
6
|
+
from typing import Dict, Any, List
|
7
|
+
from django.contrib.auth import get_user_model
|
8
|
+
from django.core.management import get_commands
|
9
|
+
import importlib
|
10
|
+
|
11
|
+
logger = logging.getLogger(__name__)
|
12
|
+
|
13
|
+
|
14
|
+
def get_available_commands():
|
15
|
+
"""Get all available Django management commands."""
|
16
|
+
commands_dict = get_commands()
|
17
|
+
commands_list = []
|
18
|
+
|
19
|
+
for command_name, app_name in commands_dict.items():
|
20
|
+
try:
|
21
|
+
# Try to get command description
|
22
|
+
if app_name == 'django_cfg':
|
23
|
+
module_path = f'django_cfg.management.commands.{command_name}'
|
24
|
+
else:
|
25
|
+
module_path = f'{app_name}.management.commands.{command_name}'
|
26
|
+
|
27
|
+
try:
|
28
|
+
command_module = importlib.import_module(module_path)
|
29
|
+
if hasattr(command_module, 'Command'):
|
30
|
+
command_class = command_module.Command
|
31
|
+
description = getattr(command_class, 'help', f'{command_name} command')
|
32
|
+
else:
|
33
|
+
description = f'{command_name} command'
|
34
|
+
except ImportError:
|
35
|
+
description = f'{command_name} command'
|
36
|
+
|
37
|
+
commands_list.append({
|
38
|
+
'name': command_name,
|
39
|
+
'app': app_name,
|
40
|
+
'description': description,
|
41
|
+
'is_core': app_name.startswith('django.'),
|
42
|
+
'is_custom': app_name == 'django_cfg',
|
43
|
+
})
|
44
|
+
except Exception:
|
45
|
+
# Skip problematic commands
|
46
|
+
continue
|
47
|
+
|
48
|
+
return commands_list
|
49
|
+
|
50
|
+
|
51
|
+
def get_commands_by_category():
|
52
|
+
"""Get commands categorized by type."""
|
53
|
+
commands = get_available_commands()
|
54
|
+
|
55
|
+
categorized = {
|
56
|
+
'django_cfg': [],
|
57
|
+
'django_core': [],
|
58
|
+
'third_party': [],
|
59
|
+
'project': [],
|
60
|
+
}
|
61
|
+
|
62
|
+
for cmd in commands:
|
63
|
+
if cmd['app'] == 'django_cfg':
|
64
|
+
categorized['django_cfg'].append(cmd)
|
65
|
+
elif cmd['app'].startswith('django.'):
|
66
|
+
categorized['django_core'].append(cmd)
|
67
|
+
elif cmd['app'].startswith(('src.', 'api.', 'accounts.')):
|
68
|
+
categorized['project'].append(cmd)
|
69
|
+
else:
|
70
|
+
categorized['third_party'].append(cmd)
|
71
|
+
|
72
|
+
return categorized
|
73
|
+
|
74
|
+
|
75
|
+
def get_user_admin_urls():
|
76
|
+
"""Get admin URLs for user model."""
|
77
|
+
try:
|
78
|
+
User = get_user_model()
|
79
|
+
|
80
|
+
app_label = User._meta.app_label
|
81
|
+
model_name = User._meta.model_name
|
82
|
+
|
83
|
+
return {
|
84
|
+
'changelist': f'admin:{app_label}_{model_name}_changelist',
|
85
|
+
'add': f'admin:{app_label}_{model_name}_add',
|
86
|
+
'change': f'admin:{app_label}_{model_name}_change/{{id}}/',
|
87
|
+
'delete': f'admin:{app_label}_{model_name}_delete/{{id}}/',
|
88
|
+
'view': f'admin:{app_label}_{model_name}_view/{{id}}/',
|
89
|
+
}
|
90
|
+
except Exception:
|
91
|
+
# Universal fallback - return admin index for all actions
|
92
|
+
return {
|
93
|
+
'changelist': 'admin:index',
|
94
|
+
'add': 'admin:index',
|
95
|
+
'change': 'admin:index',
|
96
|
+
'delete': 'admin:index',
|
97
|
+
'view': 'admin:index',
|
98
|
+
}
|