django-cfg 1.4.74__py3-none-any.whl → 1.4.76__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of django-cfg might be problematic. Click here for more details.

Files changed (54) hide show
  1. django_cfg/__init__.py +1 -1
  2. django_cfg/apps/agents/__init__.py +1 -1
  3. django_cfg/apps/agents/integration/registry.py +1 -1
  4. django_cfg/apps/agents/patterns/content_agents.py +1 -1
  5. django_cfg/apps/api/health/drf_views.py +27 -0
  6. django_cfg/apps/centrifugo/templates/django_cfg_centrifugo/components/testing_tools.html +1 -1
  7. django_cfg/apps/centrifugo/views/dashboard.py +13 -0
  8. django_cfg/apps/centrifugo/views/testing_api.py +74 -15
  9. django_cfg/apps/tasks/views/dashboard.py +4 -4
  10. django_cfg/core/generation/integration_generators/api.py +9 -0
  11. django_cfg/management/commands/check_endpoints.py +1 -1
  12. django_cfg/middleware/authentication.py +27 -0
  13. django_cfg/modules/django_tailwind/templates/django_tailwind/components/navbar.html +2 -2
  14. django_cfg/modules/django_unfold/callbacks/main.py +27 -25
  15. django_cfg/pyproject.toml +1 -1
  16. django_cfg/static/admin/css/constance.css +44 -0
  17. django_cfg/static/admin/css/dashboard.css +6 -170
  18. django_cfg/static/admin/css/layout.css +21 -0
  19. django_cfg/static/admin/css/tabs.css +95 -0
  20. django_cfg/static/admin/css/theme.css +74 -0
  21. django_cfg/static/admin/js/alpine/activity-tracker.js +55 -0
  22. django_cfg/static/admin/js/alpine/chart.js +101 -0
  23. django_cfg/static/admin/js/alpine/command-modal.js +159 -0
  24. django_cfg/static/admin/js/alpine/commands-panel.js +139 -0
  25. django_cfg/static/admin/js/alpine/commands-section.js +260 -0
  26. django_cfg/static/admin/js/alpine/dashboard-tabs.js +46 -0
  27. django_cfg/static/admin/js/alpine/system-metrics.js +20 -0
  28. django_cfg/static/admin/js/alpine/toggle-section.js +28 -0
  29. django_cfg/static/admin/js/utils.js +60 -0
  30. django_cfg/templates/admin/components/modal.html +1 -1
  31. django_cfg/templates/admin/constance/change_list.html +3 -42
  32. django_cfg/templates/admin/index.html +0 -8
  33. django_cfg/templates/admin/layouts/base_dashboard.html +4 -2
  34. django_cfg/templates/admin/layouts/dashboard_with_tabs.html +104 -502
  35. django_cfg/templates/admin/sections/commands_section.html +374 -451
  36. django_cfg/templates/admin/sections/documentation_section.html +13 -33
  37. django_cfg/templates/admin/snippets/components/activity_tracker.html +27 -49
  38. django_cfg/templates/admin/snippets/components/charts_section.html +8 -74
  39. django_cfg/templates/admin/snippets/components/django_commands.html +94 -181
  40. django_cfg/templates/admin/snippets/components/system_metrics.html +18 -10
  41. django_cfg/templates/admin/snippets/tabs/app_stats_tab.html +2 -2
  42. django_cfg/templates/admin/snippets/tabs/commands_tab.html +48 -0
  43. django_cfg/templates/admin/snippets/tabs/documentation_tab.html +1 -190
  44. django_cfg/templates/admin/snippets/tabs/overview_tab.html +1 -1
  45. {django_cfg-1.4.74.dist-info → django_cfg-1.4.76.dist-info}/METADATA +1 -1
  46. {django_cfg-1.4.74.dist-info → django_cfg-1.4.76.dist-info}/RECORD +49 -41
  47. django_cfg/static/admin/js/commands.js +0 -171
  48. django_cfg/static/admin/js/dashboard.js +0 -126
  49. django_cfg/templates/admin/components/management_commands.js +0 -375
  50. django_cfg/templates/admin/snippets/components/CHARTS_GUIDE.md +0 -322
  51. django_cfg/templates/admin/snippets/components/recent_activity.html +0 -35
  52. {django_cfg-1.4.74.dist-info → django_cfg-1.4.76.dist-info}/WHEEL +0 -0
  53. {django_cfg-1.4.74.dist-info → django_cfg-1.4.76.dist-info}/entry_points.txt +0 -0
  54. {django_cfg-1.4.74.dist-info → django_cfg-1.4.76.dist-info}/licenses/LICENSE +0 -0
@@ -1,7 +1,11 @@
1
1
  {% load unfold %}
2
2
 
3
3
  <!-- System Metrics -->
4
- <div class="grid grid-cols-1 md:grid-cols-2 gap-4">
4
+ {% if system_metrics %}
5
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-4" x-data="systemMetrics({{ system_metrics|safe }})">
6
+ {% else %}
7
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-4" x-data="systemMetrics({})">
8
+ {% endif %}
5
9
  {% if system_metrics %}
6
10
  <!-- Database Status -->
7
11
  {% if system_metrics.database %}
@@ -22,7 +26,7 @@
22
26
  <span class="font-semibold">{{ system_metrics.database.health_percentage }}%</span>
23
27
  </div>
24
28
  <div class="w-full bg-green-100 dark:bg-green-900/30 rounded-full h-2">
25
- <div class="bg-green-600 dark:bg-green-500 h-2 rounded-full transition-all duration-300 group-hover:bg-green-700 dark:group-hover:bg-green-400" style="width: {{ system_metrics.database.health_percentage }}%"></div>
29
+ <div class="bg-green-600 dark:bg-green-500 h-2 rounded-full transition-all duration-300 group-hover:bg-green-700 dark:group-hover:bg-green-400" :style="getBarStyle({{ system_metrics.database.health_percentage }})"></div>
26
30
  </div>
27
31
  <p class="text-xs text-gray-500 dark:text-gray-400">{{ system_metrics.database.description }}</p>
28
32
  </div>
@@ -48,7 +52,7 @@
48
52
  <span class="font-semibold">{{ system_metrics.cache.health_percentage }}%</span>
49
53
  </div>
50
54
  <div class="w-full bg-blue-100 dark:bg-blue-900/30 rounded-full h-2">
51
- <div class="bg-blue-600 dark:bg-blue-500 h-2 rounded-full transition-all duration-300 group-hover:bg-blue-700 dark:group-hover:bg-blue-400" style="width: {{ system_metrics.cache.health_percentage }}%"></div>
55
+ <div class="bg-blue-600 dark:bg-blue-500 h-2 rounded-full transition-all duration-300 group-hover:bg-blue-700 dark:group-hover:bg-blue-400" :style="getBarStyle({{ system_metrics.cache.health_percentage }})"></div>
52
56
  </div>
53
57
  <p class="text-xs text-gray-500 dark:text-gray-400">{{ system_metrics.cache.description }}</p>
54
58
  </div>
@@ -74,7 +78,7 @@
74
78
  <span class="font-semibold">{{ system_metrics.storage.health_percentage }}%</span>
75
79
  </div>
76
80
  <div class="w-full bg-amber-100 dark:bg-amber-900/30 rounded-full h-2">
77
- <div class="bg-amber-600 dark:bg-amber-500 h-2 rounded-full transition-all duration-300 group-hover:bg-amber-700 dark:group-hover:bg-amber-400" style="width: {{ system_metrics.storage.health_percentage }}%"></div>
81
+ <div class="bg-amber-600 dark:bg-amber-500 h-2 rounded-full transition-all duration-300 group-hover:bg-amber-700 dark:group-hover:bg-amber-400" :style="getBarStyle({{ system_metrics.storage.health_percentage }})"></div>
78
82
  </div>
79
83
  <p class="text-xs text-gray-500 dark:text-gray-400">{{ system_metrics.storage.description }}</p>
80
84
  </div>
@@ -100,7 +104,7 @@
100
104
  <span class="font-semibold">{{ system_metrics.api.health_percentage }}%</span>
101
105
  </div>
102
106
  <div class="w-full bg-purple-100 dark:bg-purple-900/30 rounded-full h-2">
103
- <div class="bg-purple-600 dark:bg-purple-500 h-2 rounded-full transition-all duration-300 group-hover:bg-purple-700 dark:group-hover:bg-purple-400" style="width: {{ system_metrics.api.health_percentage }}%"></div>
107
+ <div class="bg-purple-600 dark:bg-purple-500 h-2 rounded-full transition-all duration-300 group-hover:bg-purple-700 dark:group-hover:bg-purple-400" :style="getBarStyle({{ system_metrics.api.health_percentage }})"></div>
104
108
  </div>
105
109
  <p class="text-xs text-gray-500 dark:text-gray-400">{{ system_metrics.api.description }}</p>
106
110
  </div>
@@ -122,7 +126,7 @@
122
126
  <span class="font-semibold">85%</span>
123
127
  </div>
124
128
  <div class="w-full bg-green-100 dark:bg-green-900/30 rounded-full h-2">
125
- <div class="bg-green-600 dark:bg-green-500 h-2 rounded-full transition-all duration-300 group-hover:bg-green-700 dark:group-hover:bg-green-400" style="width: 85%"></div>
129
+ <div class="bg-green-600 dark:bg-green-500 h-2 rounded-full transition-all duration-300 group-hover:bg-green-700 dark:group-hover:bg-green-400" :style="getBarStyle(85)"></div>
126
130
  </div>
127
131
  <p class="text-xs text-gray-500 dark:text-gray-400">Healthy - 85%</p>
128
132
  </div>
@@ -142,7 +146,7 @@
142
146
  <span class="font-semibold">90%</span>
143
147
  </div>
144
148
  <div class="w-full bg-blue-100 dark:bg-blue-900/30 rounded-full h-2">
145
- <div class="bg-blue-600 dark:bg-blue-500 h-2 rounded-full transition-all duration-300 group-hover:bg-blue-700 dark:group-hover:bg-blue-400" style="width: 90%"></div>
149
+ <div class="bg-blue-600 dark:bg-blue-500 h-2 rounded-full transition-all duration-300 group-hover:bg-blue-700 dark:group-hover:bg-blue-400" :style="getBarStyle(90)"></div>
146
150
  </div>
147
151
  <p class="text-xs text-gray-500 dark:text-gray-400">Optimal - 90%</p>
148
152
  </div>
@@ -162,7 +166,7 @@
162
166
  <span class="font-semibold">67%</span>
163
167
  </div>
164
168
  <div class="w-full bg-amber-100 dark:bg-amber-900/30 rounded-full h-2">
165
- <div class="bg-amber-600 dark:bg-amber-500 h-2 rounded-full transition-all duration-300 group-hover:bg-amber-700 dark:group-hover:bg-amber-400" style="width: 67%"></div>
169
+ <div class="bg-amber-600 dark:bg-amber-500 h-2 rounded-full transition-all duration-300 group-hover:bg-amber-700 dark:group-hover:bg-amber-400" :style="getBarStyle(67)"></div>
166
170
  </div>
167
171
  <p class="text-xs text-gray-500 dark:text-gray-400">67% used (33% free)</p>
168
172
  </div>
@@ -182,10 +186,14 @@
182
186
  <span class="font-semibold">100%</span>
183
187
  </div>
184
188
  <div class="w-full bg-purple-100 dark:bg-purple-900/30 rounded-full h-2">
185
- <div class="bg-purple-600 dark:bg-purple-500 h-2 rounded-full transition-all duration-300 group-hover:bg-purple-700 dark:group-hover:bg-purple-400" style="width: 100%"></div>
189
+ <div class="bg-purple-600 dark:bg-purple-500 h-2 rounded-full transition-all duration-300 group-hover:bg-purple-700 dark:group-hover:bg-purple-400" :style="getBarStyle(100)"></div>
186
190
  </div>
187
191
  <p class="text-xs text-gray-500 dark:text-gray-400">All routes healthy</p>
188
192
  </div>
189
193
  </div>
190
194
  {% endif %}
191
- </div>
195
+ </div>
196
+
197
+ <!-- Load Alpine component -->
198
+ {% load static %}
199
+ <script src="{% static 'admin/js/alpine/system-metrics.js' %}"></script>
@@ -126,9 +126,9 @@
126
126
  {% else %}bg-base-100 dark:bg-base-800 text-font-default-light dark:text-font-default-dark{% endif %}>
127
127
  {{ card.count|default:0 }}
128
128
  </span>
129
- <a href="{% url card.url_name %}"
129
+ <a href="{% url card.url_name %}"
130
130
  class="inline-flex items-center gap-1 px-2 py-1 bg-primary-600 hover:bg-primary-700 dark:bg-primary-500 dark:hover:bg-primary-600 text-white rounded text-xs font-medium transition">
131
- <span class="material-icons text-xs" style="font-size: 12px;">visibility</span>
131
+ <span class="material-icons !text-[12px]">visibility</span>
132
132
  <span class="text-xs">View</span>
133
133
  </a>
134
134
  </div>
@@ -63,4 +63,52 @@
63
63
 
64
64
  <!-- Commands Section -->
65
65
  {% include 'admin/snippets/components/django_commands.html' %}
66
+
67
+ <!-- Documentation Section -->
68
+ <div class="mt-12">
69
+ <div class="flex items-center justify-between mb-6">
70
+ <div>
71
+ <h2 class="text-xl font-bold text-font-important-light dark:text-font-important-dark flex items-center">
72
+ <span class="material-icons text-blue-500 mr-2">menu_book</span>
73
+ Commands Documentation
74
+ </h2>
75
+ <p class="text-font-default-light dark:text-font-default-dark mt-2">
76
+ Complete guide to Django management commands
77
+ </p>
78
+ </div>
79
+ </div>
80
+
81
+ <div class="bg-white dark:bg-base-900 rounded-lg border border-base-200 dark:border-base-700 overflow-hidden shadow-sm">
82
+ <div class="p-6">
83
+ {% if documentation_content %}
84
+ <!-- Rendered Markdown Content -->
85
+ <div class="prose prose-slate dark:prose-invert max-w-none">
86
+ {{ documentation_content|safe }}
87
+ </div>
88
+ {% else %}
89
+ <!-- Fallback: Basic documentation -->
90
+ <div class="prose prose-slate dark:prose-invert max-w-none">
91
+ <h2>Django Management Commands</h2>
92
+ <p>Django management commands provide a command-line interface for administrative tasks.</p>
93
+
94
+ <h3>Common Commands</h3>
95
+ <ul>
96
+ <li><code>migrate</code> - Apply database migrations</li>
97
+ <li><code>makemigrations</code> - Create new migrations</li>
98
+ <li><code>runserver</code> - Start development server</li>
99
+ <li><code>createsuperuser</code> - Create admin user</li>
100
+ <li><code>collectstatic</code> - Collect static files</li>
101
+ </ul>
102
+
103
+ <h3>Getting Help</h3>
104
+ <p>To get help for any command, use:</p>
105
+ <pre class="bg-base-50 dark:bg-base-800 rounded-lg p-4 overflow-x-auto text-sm"><code>python manage.py help &lt;command_name&gt;</code></pre>
106
+
107
+ <h3>Custom Commands</h3>
108
+ <p>You can create custom management commands by adding them to <code>management/commands/</code> directory in your Django app.</p>
109
+ </div>
110
+ {% endif %}
111
+ </div>
112
+ </div>
113
+ </div>
66
114
  </div>
@@ -39,193 +39,4 @@ Please ensure that README.md exists at:
39
39
  </div>
40
40
  </div>
41
41
 
42
- <style>
43
- /* Markdown/Documentation styling */
44
- .prose {
45
- color: #374151;
46
- }
47
-
48
- .dark .prose {
49
- color: #d1d5db;
50
- }
51
-
52
- .prose h1 {
53
- font-size: 2em;
54
- font-weight: 700;
55
- margin-top: 0;
56
- margin-bottom: 1em;
57
- color: #111827;
58
- border-bottom: 2px solid #e5e7eb;
59
- padding-bottom: 0.5em;
60
- }
61
-
62
- .dark .prose h1 {
63
- color: #f9fafb;
64
- border-bottom-color: #374151;
65
- }
66
-
67
- .prose h2 {
68
- font-size: 1.5em;
69
- font-weight: 600;
70
- margin-top: 2em;
71
- margin-bottom: 1em;
72
- color: #1f2937;
73
- }
74
-
75
- .dark .prose h2 {
76
- color: #e5e7eb;
77
- }
78
-
79
- .prose h3 {
80
- font-size: 1.25em;
81
- font-weight: 600;
82
- margin-top: 1.5em;
83
- margin-bottom: 0.75em;
84
- color: #374151;
85
- }
86
-
87
- .dark .prose h3 {
88
- color: #d1d5db;
89
- }
90
-
91
- .prose h4 {
92
- font-size: 1.1em;
93
- font-weight: 600;
94
- margin-top: 1.25em;
95
- margin-bottom: 0.5em;
96
- color: #4b5563;
97
- }
98
-
99
- .dark .prose h4 {
100
- color: #9ca3af;
101
- }
102
-
103
- .prose p {
104
- margin-top: 1em;
105
- margin-bottom: 1em;
106
- line-height: 1.75;
107
- }
108
-
109
- .prose ul, .prose ol {
110
- margin-top: 1em;
111
- margin-bottom: 1em;
112
- padding-left: 1.5em;
113
- }
114
-
115
- .prose li {
116
- margin-top: 0.5em;
117
- margin-bottom: 0.5em;
118
- }
119
-
120
- .prose code {
121
- background-color: #f3f4f6;
122
- color: #ef4444;
123
- padding: 0.2em 0.4em;
124
- border-radius: 0.25em;
125
- font-size: 0.875em;
126
- font-family: 'Courier New', monospace;
127
- }
128
-
129
- .dark .prose code {
130
- background-color: #374151;
131
- color: #fca5a5;
132
- }
133
-
134
- .prose pre {
135
- background-color: #f9fafb;
136
- border: 1px solid #e5e7eb;
137
- border-radius: 0.5em;
138
- padding: 1em;
139
- overflow-x: auto;
140
- margin-top: 1em;
141
- margin-bottom: 1em;
142
- }
143
-
144
- .dark .prose pre {
145
- background-color: #1f2937;
146
- border-color: #374151;
147
- }
148
-
149
- .prose pre code {
150
- background-color: transparent;
151
- color: #111827;
152
- padding: 0;
153
- border-radius: 0;
154
- }
155
-
156
- .dark .prose pre code {
157
- color: #f9fafb;
158
- }
159
-
160
- .prose a {
161
- color: #2563eb;
162
- text-decoration: none;
163
- font-weight: 500;
164
- }
165
-
166
- .prose a:hover {
167
- text-decoration: underline;
168
- }
169
-
170
- .dark .prose a {
171
- color: #60a5fa;
172
- }
173
-
174
- .prose blockquote {
175
- border-left: 4px solid #e5e7eb;
176
- padding-left: 1em;
177
- font-style: italic;
178
- color: #6b7280;
179
- margin-top: 1em;
180
- margin-bottom: 1em;
181
- }
182
-
183
- .dark .prose blockquote {
184
- border-left-color: #374151;
185
- color: #9ca3af;
186
- }
187
-
188
- .prose table {
189
- width: 100%;
190
- border-collapse: collapse;
191
- margin-top: 1em;
192
- margin-bottom: 1em;
193
- }
194
-
195
- .prose th,
196
- .prose td {
197
- border: 1px solid #e5e7eb;
198
- padding: 0.5em 1em;
199
- text-align: left;
200
- }
201
-
202
- .dark .prose th,
203
- .dark .prose td {
204
- border-color: #374151;
205
- }
206
-
207
- .prose th {
208
- background-color: #f9fafb;
209
- font-weight: 600;
210
- }
211
-
212
- .dark .prose th {
213
- background-color: #1f2937;
214
- }
215
-
216
- .prose hr {
217
- border: 0;
218
- border-top: 1px solid #e5e7eb;
219
- margin-top: 2em;
220
- margin-bottom: 2em;
221
- }
222
-
223
- .dark .prose hr {
224
- border-top-color: #374151;
225
- }
226
-
227
- /* Add emoji support */
228
- .prose :where(p, li, td):not(:where([class~="not-prose"] *)) {
229
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
230
- }
231
- </style>
42
+ <!-- Prose styles loaded from /static/admin/css/prose-unfold.css -->
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </div>
63
63
  <div class="p-6">
64
- {% include 'admin/snippets/components/recent_activity.html' %}
64
+ {% include 'admin/snippets/components/recent_activity_improved.html' %}
65
65
  </div>
66
66
  </div>
67
67
  </div>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: django-cfg
3
- Version: 1.4.74
3
+ Version: 1.4.76
4
4
  Summary: Django AI framework with built-in agents, type-safe Pydantic v2 configuration, and 8 enterprise apps. Replace settings.py, validate at startup, 90% less code. Production-ready AI workflows for Django.
5
5
  Project-URL: Homepage, https://djangocfg.com
6
6
  Project-URL: Documentation, https://djangocfg.com
@@ -1,5 +1,5 @@
1
1
  django_cfg/README.md,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- django_cfg/__init__.py,sha256=mqn8xhYwIioGgQ8BQp4Mon8wEhj7VR91PV9Xku-AqYk,1620
2
+ django_cfg/__init__.py,sha256=JbiOG7OuTlO_1id7SIUEer9ZHvBM2KQWcboVY5oPfXQ,1620
3
3
  django_cfg/apps.py,sha256=72m3uuvyqGiLx6gOfE-BD3P61jddCCERuBOYpxTX518,1605
4
4
  django_cfg/config.py,sha256=y4Z3rnYsHBE0TehpwAIPaxr---mkvyKrZGGsNwYso74,1398
5
5
  django_cfg/apps/__init__.py,sha256=JtDmEYt1OcleWM2ZaeX0LKDnRQzPOavfaXBWG4ECB5Q,26
@@ -59,7 +59,7 @@ django_cfg/apps/accounts/views/otp.py,sha256=PVAQYCEuAKo-kPVAFvgvehjJN5G7PWZP3LH
59
59
  django_cfg/apps/accounts/views/profile.py,sha256=q4tDkl4chB6t1-EbDO0Y0NnkiDMGOzcIBFWT_D0UL8I,5478
60
60
  django_cfg/apps/accounts/views/webhook.py,sha256=F1Xtz_5hQXiMNCdVmwCz11WXwbXuM70dqXWTO6PftXc,10334
61
61
  django_cfg/apps/agents/README.md,sha256=CTK46bM6AgxoV8AkoH_t6HkGI6OUduL0oqrseQTCFeQ,3077
62
- django_cfg/apps/agents/__init__.py,sha256=Mqb2t36qNSvcmWymMkBCOYH3JGTCn3BflihuEWaOo1k,1996
62
+ django_cfg/apps/agents/__init__.py,sha256=GOtWo1RGWMrRmYKdjZFk5VTl5umuPz-kdypDvQML9fc,2003
63
63
  django_cfg/apps/agents/apps.py,sha256=GbV1xhoCDvTAzO7XlqZo6hnduvlgz155SckRFJMIoKk,741
64
64
  django_cfg/apps/agents/urls.py,sha256=HL5G_EQ03Pw1iz4TOftgDpz4-uHO-OVTPPj8qDCWfek,1306
65
65
  django_cfg/apps/agents/urls_admin.py,sha256=E61etVCrwAzWZdPckWWX5yMDPsZzi3cQtAXn_zzZNL4,226
@@ -80,7 +80,7 @@ django_cfg/apps/agents/examples/__init__.py,sha256=c4EcvvgKS0KP53VDDdYkLzXmTxADw
80
80
  django_cfg/apps/agents/examples/simple_example.py,sha256=4NT1pNypziAvGlF_mDdfWcX2cGOpMqu_udktJ0MdOLQ,4590
81
81
  django_cfg/apps/agents/integration/__init__.py,sha256=kkcCXzwU9n6WyTsAGG4imvjwOb9pG6LWKZIDTUPoW_w,310
82
82
  django_cfg/apps/agents/integration/middleware.py,sha256=88bkn72XQvbXDxkalskpmIaQNNLfp6Y8G_KCgBddzqU,2794
83
- django_cfg/apps/agents/integration/registry.py,sha256=DnAlgwxTuvAng2XXN6IGEzJPhU2dKjItNGXZgvu965o,10914
83
+ django_cfg/apps/agents/integration/registry.py,sha256=FPcytdWB-05CwzU5Wa0EIq9WRGwt6Rh_8vLbdRsyW_g,10921
84
84
  django_cfg/apps/agents/integration/signals.py,sha256=_hbS8nauRqcc-VHo9Geb6zksIMKwhlJkgWabmk4q1lM,1662
85
85
  django_cfg/apps/agents/management/__init__.py,sha256=1IP-JV-t0b-7GI-E3NtDs3owWF7XXdZ5anVj7w0gG8k,53
86
86
  django_cfg/apps/agents/management/commands/__init__.py,sha256=rtYMem-u47ayXdeIss9qyDcg8z13rKMlARsq0YumNT8,53
@@ -97,7 +97,7 @@ django_cfg/apps/agents/models/execution.py,sha256=z_d315-CZlgWOpX5lDVVgoziNpBX1J
97
97
  django_cfg/apps/agents/models/registry.py,sha256=_UYBI7Y9aTFEDG3pNa_JobZ08DkAGCFiP-DvobrEt8c,7794
98
98
  django_cfg/apps/agents/models/toolsets.py,sha256=NSXA7PALi4zipYsVCvPY-gynGaVAMih6btXDJ-Tk2KI,10061
99
99
  django_cfg/apps/agents/patterns/__init__.py,sha256=t7niKBZvwVcUrNauoKNdqIGgL2InpkOLZ1Y-8mjkMus,631
100
- django_cfg/apps/agents/patterns/content_agents.py,sha256=XyRLtRfs80lKRMvy5CJn-X9nvPWlPOyNx3P4GYolONg,8070
100
+ django_cfg/apps/agents/patterns/content_agents.py,sha256=3EmIAO3kB0LKKX6ydytslefx_2iyiK5XqaE7PxsyASw,8077
101
101
  django_cfg/apps/agents/toolsets/__init__.py,sha256=A-UfFhTJrw5DzHbYWFZ_c6scPKo3ct2eEzkY6_b8Zwo,308
102
102
  django_cfg/apps/agents/toolsets/cache_toolset.py,sha256=n_2yPeCYOWQGnIvuT3o2QfoFZ2ZqEOv3U5NxyoPgiGA,9696
103
103
  django_cfg/apps/agents/toolsets/django_toolset.py,sha256=j0YHd1J-EokzWc4BdmKSw4-XAtophd1sJ1rlItq9ubQ,7230
@@ -120,7 +120,7 @@ django_cfg/apps/api/endpoints/urls_list/__init__.py,sha256=aspLNziW0Ys4v-Bbf0lu_
120
120
  django_cfg/apps/api/endpoints/urls_list/serializers.py,sha256=hhtAM-PkskoJI9JLF7VKMczkJIaz2IkRMAI3r9Lyoks,1955
121
121
  django_cfg/apps/api/endpoints/urls_list/views.py,sha256=Z3ULXsv1Vl8m0kpL6JxTTainMD1ZQIAVOX-3FOWjqKQ,7502
122
122
  django_cfg/apps/api/health/__init__.py,sha256=ypFUiCo0I9VJpaZ_KqEPPX3-ma_MhRm5U1XYWahUaFI,93
123
- django_cfg/apps/api/health/drf_views.py,sha256=wW8f611YtQnarN6_x8JZwNn4zkOpp0k2JBz_OCk6qEw,9270
123
+ django_cfg/apps/api/health/drf_views.py,sha256=oaKaF5ZPR_lCMH_GyKcNOHX5blbW6nbE8VgpPQS27vA,10237
124
124
  django_cfg/apps/api/health/serializers.py,sha256=JuFgWBRsycXsAZjZST33QO5li1z3S19l4xsLJ-ahWP8,1381
125
125
  django_cfg/apps/api/health/urls.py,sha256=eCTzgB4rv_H2W0NrixPO6qsh0pT2oUePrYAT5D35QIY,550
126
126
  django_cfg/apps/api/health/views.py,sha256=65oA6O3gaz2ECY2SiXlT3n4JpORt0nDufa_10um0nRw,8194
@@ -204,7 +204,7 @@ django_cfg/apps/centrifugo/templates/django_cfg_centrifugo/components/publishes_
204
204
  django_cfg/apps/centrifugo/templates/django_cfg_centrifugo/components/stat_cards.html,sha256=q33i0HZxajFE41h-5NYfQghGHko18LEqS3IynfLlZas,2871
205
205
  django_cfg/apps/centrifugo/templates/django_cfg_centrifugo/components/system_status.html,sha256=Bfecgi3oUASzXlhkAYdJGzx_yeQM3qycG8CiULcqTZM,4077
206
206
  django_cfg/apps/centrifugo/templates/django_cfg_centrifugo/components/tab_navigation.html,sha256=pHwRN-NBp8pQf6rMUMI_b6U9mueyoH6-MbdDQ4le-ac,2438
207
- django_cfg/apps/centrifugo/templates/django_cfg_centrifugo/components/testing_tools.html,sha256=QyyeCVJ1UyqMWPUlrxyxEiwBZjhTYRlPB2gPOMqLwgE,22707
207
+ django_cfg/apps/centrifugo/templates/django_cfg_centrifugo/components/testing_tools.html,sha256=ovfXLUZqpn6IK8dH412mPyl4SCPldnqgphXuJNo65L4,22704
208
208
  django_cfg/apps/centrifugo/templates/django_cfg_centrifugo/layout/base.html,sha256=5Cr13EQiT5sHsMEeT8jf3yxRRvBaKqtjQg9qMBsvbLI,3303
209
209
  django_cfg/apps/centrifugo/templates/django_cfg_centrifugo/pages/dashboard.html,sha256=rtr0FD41F3Rv37EASRjeUXdtBZ7SjO95RgQx-AQGG64,2420
210
210
  django_cfg/apps/centrifugo/templates/django_cfg_centrifugo/tags/connection_script.html,sha256=X4diYyBEmDZzwk43DoHmqOMmC9oJ5qm_GuGdyQodnv8,1621
@@ -212,9 +212,9 @@ django_cfg/apps/centrifugo/templatetags/__init__.py,sha256=W0mT4SMe7uZ3wInk88xVw
212
212
  django_cfg/apps/centrifugo/templatetags/centrifugo_tags.py,sha256=0t9cZjxBgKJ3JDh9moRwnPEFkaXwB7gnk2LLwofLgmE,1873
213
213
  django_cfg/apps/centrifugo/views/__init__.py,sha256=k4gAQehwJOF6RE-wqgEISdtTRjT4iMw9NoLqh4AeNqk,364
214
214
  django_cfg/apps/centrifugo/views/admin_api.py,sha256=N6rJx2cXo6IxkLdo2C9bpOGjTg-9ZQ7TaGLfJITVa6I,13968
215
- django_cfg/apps/centrifugo/views/dashboard.py,sha256=Xl8wseEy_NfdKl8ITe9AFOJSCpLxqEY70mouUGywgDI,423
215
+ django_cfg/apps/centrifugo/views/dashboard.py,sha256=9FTZDJu-4RsAyc2G5udpsK-ffn3uBlxY3z_TSPfUB4E,757
216
216
  django_cfg/apps/centrifugo/views/monitoring.py,sha256=YVDMB-zsTgznijloxpRBZoyixTZZ99y5q003klo_y3A,10006
217
- django_cfg/apps/centrifugo/views/testing_api.py,sha256=Z-UquKBdtXO8jFsTVB-tVCrViYy9UTG3tdiSOR2bzRs,14865
217
+ django_cfg/apps/centrifugo/views/testing_api.py,sha256=rhceDkaXrp2L_xHpkb4TmxTP-jBzJK8VS6S4CYIsJAE,16952
218
218
  django_cfg/apps/knowbase/README.md,sha256=HXt_J6WCN-LsMhA7p9mdvih07_vp_r_hkPdmqHhNEeo,3965
219
219
  django_cfg/apps/knowbase/__init__.py,sha256=cfGnxDQwjajPhUoleKkgvdabJcB0LdXEglnsBojKkPo,1045
220
220
  django_cfg/apps/knowbase/apps.py,sha256=GAYw98_rQdGHoak58xN-0vjdDcRNpJuND3kV-FfM1II,3290
@@ -520,7 +520,7 @@ django_cfg/apps/tasks/utils/__init__.py,sha256=42NlvFq4SYQ5ZEWUVvyU3A1_bQfYEn-m7
520
520
  django_cfg/apps/tasks/utils/simulator.py,sha256=p-wcVDyI-EfqdjkNAHv8j06uXCoi5xc5s5wThtO9Dhk,13046
521
521
  django_cfg/apps/tasks/views/__init__.py,sha256=hQrAc5ZnJCxr3vSzF-txnpS3FDeaX-4bBVI-I21fCHw,344
522
522
  django_cfg/apps/tasks/views/api.py,sha256=hd6ficsmljDMrEtWyCMJIP2Op-RdMaRNyesEo-HWwB4,21870
523
- django_cfg/apps/tasks/views/dashboard.py,sha256=cnppbvgsb9HBsIvM8GsEX1hwtnewNEOjLvJqze3Dtas,2464
523
+ django_cfg/apps/tasks/views/dashboard.py,sha256=WmmbRMxpEw8-67tDWQv-Vy7vipm0FX1eIVGzuZ6FxMo,2474
524
524
  django_cfg/cli/README.md,sha256=-fZmNv8OUc1OAwwiDnhkUmhTVhEEXX7CXwJQlSRwgQ8,2118
525
525
  django_cfg/cli/__init__.py,sha256=i3ksFngCqZCBvaimQcBD1P2_gr5PiM--4efLScCjvvU,152
526
526
  django_cfg/cli/main.py,sha256=GOmMubPoMpcA0XcRJn4VG2cX9tuhE0i_ioy_d3ujzRQ,883
@@ -555,7 +555,7 @@ django_cfg/core/generation/data_generators/__init__.py,sha256=O7cmt_k34hWRgrdaAz
555
555
  django_cfg/core/generation/data_generators/cache.py,sha256=bdcbnaDarl_8UQ18gk7bIKrQ9PDZOhpDAVjCEgYVeUU,3840
556
556
  django_cfg/core/generation/data_generators/database.py,sha256=mYR2mBvqWU93YP9XUUVlcZaQJtSNeAQ7Dk4Vj6Tu95k,3481
557
557
  django_cfg/core/generation/integration_generators/__init__.py,sha256=-H4xlNAp_3yytmAnh7HuGJCloLL7C_WWlEJw3KZt4VY,599
558
- django_cfg/core/generation/integration_generators/api.py,sha256=6uCk2x7GZExpRu6NNMeD37af6tHBcPfMSy678U58LcU,10704
558
+ django_cfg/core/generation/integration_generators/api.py,sha256=Xsyu3mYyq9mje8QGNSU0Yp4tLbtF0ckq4lEf_Rj5pLc,11062
559
559
  django_cfg/core/generation/integration_generators/sessions.py,sha256=GbRC72Gny4dzj7oTIrbuhYyvhCQBoWI-0GxB8ZHTrEU,1644
560
560
  django_cfg/core/generation/integration_generators/tailwind.py,sha256=YgiV5c-l0DDJnMKx6mWcUtH5zyMdewAJXjLDwmHrSuc,1208
561
561
  django_cfg/core/generation/integration_generators/tasks.py,sha256=B-oeneUUdvjiE6N5MVC98imptlj4dkAxeoxfv50sbkM,2514
@@ -590,7 +590,7 @@ django_cfg/core/utils/__init__.py,sha256=_570HJFQrt60fSx4_0FlnAIKD2DLFe_uZJORq6S
590
590
  django_cfg/core/utils/url_helpers.py,sha256=Of8z5YXygu5UB52TPwSlEfpe3d3YBmZmWUXsLyo3FVg,2143
591
591
  django_cfg/management/__init__.py,sha256=NrLAhiS59hqjy-bipOC1abNuRiNm5BpKXmjN05VzKbM,28
592
592
  django_cfg/management/commands/__init__.py,sha256=GqJDbjiwRa9Y9uvf695EZ-Y42vQIMHp5YkjhMoeAM9I,417
593
- django_cfg/management/commands/check_endpoints.py,sha256=f3Hp4EgCxfmWP0z2fZAjwH2VFgkNvO5VdiXYosNMMcM,6275
593
+ django_cfg/management/commands/check_endpoints.py,sha256=Jvs361hvMVAoxYrV9uv5xSJldeSnAhJClHirGAuJrlA,6292
594
594
  django_cfg/management/commands/check_settings.py,sha256=TBHR-bMgyW2sqrXSTEIrPm5ivON9NkvM2JAEZ73lH2o,15354
595
595
  django_cfg/management/commands/clear_constance.py,sha256=dMY9P65Tq7yjVsZ3yulPMPp0MH0JXociOerXqbYEMn8,7982
596
596
  django_cfg/management/commands/create_token.py,sha256=RbYZ7MG0ncXRGGpL6ZLOQGygwgUjbumK-oR-OhiXSlg,11685
@@ -615,7 +615,7 @@ django_cfg/management/commands/validate_openapi.py,sha256=CdcoMhtxQhjTL6nCifAYkn
615
615
  django_cfg/middleware/README.md,sha256=M-SvjLUygS6t_flzG4mcKSCSzU1xAVGvm9Lr3Qbsvn8,13089
616
616
  django_cfg/middleware/__init__.py,sha256=EVah9AYIWT3R8inTqPY20oB4xb-KejhwqngM1Z4UrD8,465
617
617
  django_cfg/middleware/admin_notifications.py,sha256=EVoXjSLaDz4r-lL5hy6V9sC1BpNF0rKsa-s6L31foRQ,6856
618
- django_cfg/middleware/authentication.py,sha256=Gi9oEdu2XKbYUSDtCo3Uw5Os8sBBzbyuSc9voffH6pA,5224
618
+ django_cfg/middleware/authentication.py,sha256=1deekm3lyAMJ2pK7Usd5q1FtUN1aDq_CGJuZrJuHZtE,6139
619
619
  django_cfg/middleware/pagination.py,sha256=xnaFH1olDH_m4ecwpTTUyFWV6jKoF6IxJvagSZSJR0E,8603
620
620
  django_cfg/middleware/public_endpoints.py,sha256=p-VCjeu0k7B4OuQIe2OVUx7Onh9gsM2HweWcYNxEaRA,6775
621
621
  django_cfg/middleware/user_activity.py,sha256=bgftHXXeGBS-jCa8mLzTx4Gcz2fHTaQz_nbRCR5Yqio,5980
@@ -954,7 +954,7 @@ django_cfg/modules/django_tailwind/apps.py,sha256=CKNd0xDoLaQpe7SEfay0ZtWkjLUVRg
954
954
  django_cfg/modules/django_tailwind/templates/django_tailwind/app.html,sha256=eHgk1N5A3gFZnpuMmg-Ae5fBlOe0I8P9kYrYZPCQHcc,356
955
955
  django_cfg/modules/django_tailwind/templates/django_tailwind/base.html,sha256=GfwM6_ZqkjHAG8QIrqGeOiXvuOZ7_Ahk3PWt_YQKRso,3570
956
956
  django_cfg/modules/django_tailwind/templates/django_tailwind/simple.html,sha256=SsIKwbVBvKoNCHRzdCZDLR4rdlGAKfCSuTbjwZ_crXM,1702
957
- django_cfg/modules/django_tailwind/templates/django_tailwind/components/navbar.html,sha256=UDv6H00kN8AzDl8fpuLeWlahuAPBQ-imydcqgIRwAf0,5216
957
+ django_cfg/modules/django_tailwind/templates/django_tailwind/components/navbar.html,sha256=F0du3IbpDkngnlRLefIW82GFHMEJryvXWc957_vvU2I,5260
958
958
  django_cfg/modules/django_tailwind/templates/django_tailwind/components/theme_toggle.html,sha256=WFGiE-CynfooGlvaInC6V3dEWet-BBxgyRn2jbhKerk,3277
959
959
  django_cfg/modules/django_tailwind/templates/django_tailwind/components/user_menu.html,sha256=uMr8QDfSJ_48CGjvSCbyclVxEBBwLhh7knFlQ_9vz-E,5704
960
960
  django_cfg/modules/django_tailwind/templatetags/__init__.py,sha256=LC6UNzB7KcoLsTIUMaiwb-D1tMCnTBYr3Ppmg9Cho7c,44
@@ -1008,7 +1008,7 @@ django_cfg/modules/django_unfold/callbacks/apizones.py,sha256=SHHlMGoCxBxijafdUp
1008
1008
  django_cfg/modules/django_unfold/callbacks/base.py,sha256=1qVfK7aIWs9DzFWsCjP6QBF8UD48A3G1cwvIegQXcEA,9990
1009
1009
  django_cfg/modules/django_unfold/callbacks/charts.py,sha256=OhqT_w7qV5XBqQaEBXKl1IkclhCcjdI2I8phYBO0W1Y,7965
1010
1010
  django_cfg/modules/django_unfold/callbacks/commands.py,sha256=qQ8z3oeaieyJDJHKd_VZ38jksZ1NmJM-mMptNI1IV7c,1281
1011
- django_cfg/modules/django_unfold/callbacks/main.py,sha256=qDUiAzl0Keh1zl2s0awbPmBMUoRpSOkhpX1sjCgnJ04,13366
1011
+ django_cfg/modules/django_unfold/callbacks/main.py,sha256=ouiK4b0Y9mp4oYakDgp2R47Dy9CH57O0ldF48iw5sn8,13449
1012
1012
  django_cfg/modules/django_unfold/callbacks/statistics.py,sha256=f6yDLywGqAgDyoEv1CzWEGVsqIrT6o-bTv4CgfeTmMo,8746
1013
1013
  django_cfg/modules/django_unfold/callbacks/system.py,sha256=7YWC_-Db6bvDxArxMNfRoTRuRq9reF67UJn8IpWel8c,6078
1014
1014
  django_cfg/modules/django_unfold/callbacks/users.py,sha256=5UHPLZyG1GWTKSO6FZyWJloWJ-fnTpCYNAgyADab7aQ,2070
@@ -1028,10 +1028,21 @@ django_cfg/registry/third_party.py,sha256=IaEPKQHq-MTpcYDJ7sq3GpSmKjUUUk9WQCjLuP
1028
1028
  django_cfg/routing/__init__.py,sha256=94No0CWltLJJvKDwqFfKU5CHo_S1OynghWqpx7PsyBY,272
1029
1029
  django_cfg/routing/callbacks.py,sha256=ChTw7H8QPgBpKqAbJNOFj8fLbI1rEWnyjFuAstqAPK0,5931
1030
1030
  django_cfg/routing/routers.py,sha256=0zunPT9TO64ZTKC2-i0ZPEXwvGYZU33WTihGxwZlTb8,2094
1031
- django_cfg/static/admin/css/dashboard.css,sha256=O7KXnPRfhW1Y5JrwAqHae8Q_a6qyWyq-Y7UC0RtlV6s,6262
1031
+ django_cfg/static/admin/css/constance.css,sha256=ZXwru9IgiyC1M9Egzn2ZdupIonjtU2vaK7DcVP-ufhk,945
1032
+ django_cfg/static/admin/css/dashboard.css,sha256=z_v-U2TkoW5Bv5ItXr2xU6N267UI_ed1r4AnwBIYjME,2064
1033
+ django_cfg/static/admin/css/layout.css,sha256=wez0CsUijtLSKsxW5MvIbl7ft6SDwnkIdFcqGBxevZE,414
1032
1034
  django_cfg/static/admin/css/prose-unfold.css,sha256=9bCkGbjS7BtrGsMfvbDK3a_Soxe-6nR_8YiPrB1PZ5Q,16237
1033
- django_cfg/static/admin/js/commands.js,sha256=o_t5gFGsVsL3ApFFyokDNk3oUip5hPn0tuU9pHYiJeY,6433
1034
- django_cfg/static/admin/js/dashboard.js,sha256=uCcu6mnG0HNiHI_HVyYMc5c1YGg727PzutZU8JNR9Es,4176
1035
+ django_cfg/static/admin/css/tabs.css,sha256=l-2EWqN5SD4HAonXrJ9l3hBVvGmnwuVim744ObElMdI,1917
1036
+ django_cfg/static/admin/css/theme.css,sha256=OO6rfBxRiRUIgMS0Q1XLbE-FvHf99-HJ7THBIY020lY,1815
1037
+ django_cfg/static/admin/js/utils.js,sha256=rJcKYZELRidh0pknt8tbhgN5z3_3vZeZ2675Z-QpNKM,1884
1038
+ django_cfg/static/admin/js/alpine/activity-tracker.js,sha256=wbMkdzLsxlGxVTRJlP0OlLAjJxQeDBpGDimK5v-Q2dQ,1530
1039
+ django_cfg/static/admin/js/alpine/chart.js,sha256=u7IuFoTz2I39JXIBMepsUJnIQGlBmK978_hU5X1T-UI,2961
1040
+ django_cfg/static/admin/js/alpine/command-modal.js,sha256=fnG5NuXmeyGsdV2bI3aBVnA0ITnXN9MA_1S7ckpHRNw,6551
1041
+ django_cfg/static/admin/js/alpine/commands-panel.js,sha256=0r3zwsFa8n60ZtzIfdHc8PBS9Lx144CzPgSAWKwPZg8,5018
1042
+ django_cfg/static/admin/js/alpine/commands-section.js,sha256=8z2MQNwZF9Tx_2EK1AYwbTPomcND8PkxxM_KsN724is,9000
1043
+ django_cfg/static/admin/js/alpine/dashboard-tabs.js,sha256=ob8Q_I9lFLDv_hFERXgTyvqMDBspAGfzCxI_7slRur4,1354
1044
+ django_cfg/static/admin/js/alpine/system-metrics.js,sha256=m-Fg55K_vpHXToD46PXL9twl4OBF_V9MONvbSWbQqDw,440
1045
+ django_cfg/static/admin/js/alpine/toggle-section.js,sha256=T141NFmy0fRJyGGuuaCJRjJXwPam-xxtQNW1hi8BJbc,672
1035
1046
  django_cfg/static/js/api-loader.mjs,sha256=boGqqRGnFR-Mzo_RQOjhAzNvsb7QxZddSwMKROzkk9Q,5163
1036
1047
  django_cfg/static/js/api/base.mjs,sha256=Qjngf8783y47FnQ0ZOvtdFTSF6t-vYqvJaFPJmaTY40,4524
1037
1048
  django_cfg/static/js/api/index.mjs,sha256=_-Q04jjHcgwi4CGfiaLyiOR6NW7Yu1HBhJWp2J1cjpc,2538
@@ -1053,21 +1064,20 @@ django_cfg/static/js/api/support/index.mjs,sha256=oPA3iGkUWYyKQuJlI5-tSxD3AOhwlA
1053
1064
  django_cfg/static/js/api/tasks/client.mjs,sha256=tIy8K-finXzTUL9kOo_L4Q1kchDaHyuzjwS4VymiWPM,3579
1054
1065
  django_cfg/static/js/api/tasks/index.mjs,sha256=yCY1GzdD-RtFZ3pAfk1l0msgO1epyo0lsGCjH0g1Afc,294
1055
1066
  django_cfg/templates/__init__.py,sha256=IzLjt-a7VIJ0OutmAE1_-w0_LpL2u0MgGpnIabjZuW8,19
1056
- django_cfg/templates/admin/index.html,sha256=bbGe7QgEkbmc8m01uOcZ_ytYtRPULBkp95yxVns4i6Y,2366
1067
+ django_cfg/templates/admin/index.html,sha256=RX8ouWATqSDY4rlTS8H8rQYYB0hzME1hXZfYbWNLUok,2146
1057
1068
  django_cfg/templates/admin/index_new.html,sha256=B5nC6TMjHCvbyX-SG7kIyLbFyGUNm-86Uo694EdfUZQ,4262
1058
1069
  django_cfg/templates/admin/components/action_grid.html,sha256=Ol6UqHR6CQkrLzOIqIWeBk-fu3dYu2x1xxjaL6HnXRQ,2840
1059
1070
  django_cfg/templates/admin/components/card.html,sha256=gOW8MBvRiWPQdoSYg_MH7KQ8o_WTRC5anyefRcPtRjM,2167
1060
1071
  django_cfg/templates/admin/components/data_table.html,sha256=zD8B_zv2VQh-cikyLGPTzzmtmnB97MDItK38P3po6OE,2799
1061
- django_cfg/templates/admin/components/management_commands.js,sha256=I4oNa-8_vF1isDqx2GbBdr6yjvSr8tZ3ZIa1FkJDlFs,14096
1062
1072
  django_cfg/templates/admin/components/metric_card.html,sha256=w7I7U-WCBIawe28Tieg9pvUJrWreCvbB-UfwoABrtRU,1664
1063
- django_cfg/templates/admin/components/modal.html,sha256=9xBmA7W0eqkqU23dYu5VfJySyINTXQW_LK7bhh2v_uA,2849
1073
+ django_cfg/templates/admin/components/modal.html,sha256=UPZA5XbQtQJUDRXVzQqV9fv84_Vce7W74rzQmHm-T9I,2841
1064
1074
  django_cfg/templates/admin/components/progress_bar.html,sha256=0RyPxo_JaqYBNkNK2lGgVMVdyaipECfjzdkcg3vtU1U,612
1065
1075
  django_cfg/templates/admin/components/section_header.html,sha256=l_skppG1YPhlroRaejySDcUcdWpCarn1VyD0GJW35zQ,933
1066
1076
  django_cfg/templates/admin/components/stat_item.html,sha256=XCxgUumBxNWJvWVyZD-XPz6tNimZMFGr-C8-ezOGLH0,1754
1067
1077
  django_cfg/templates/admin/components/stats_grid.html,sha256=4Mt2OgDjmSeEXdPZ8YnnvvLDuIc74m6E5ZivrDhmqcs,3745
1068
1078
  django_cfg/templates/admin/components/status_badge.html,sha256=UysFQzIwmg6Lufl1F-IIcRVEb-iKiOzuAZ7tkcVH6OU,1587
1069
1079
  django_cfg/templates/admin/components/user_avatar.html,sha256=ChID6GB9iyHnYsqkbNLRmXKXZOn_u8GVa1dd_HZzQH8,1280
1070
- django_cfg/templates/admin/constance/change_list.html,sha256=A6VN_gOQPzNvWvsOzfNFMXh-2qgfyWt4urmX95MIUuk,4820
1080
+ django_cfg/templates/admin/constance/change_list.html,sha256=MgiCPM6bORykEsayIuT9uxH3NhnmfDbk6hyzcD_zWBQ,3704
1071
1081
  django_cfg/templates/admin/constance/includes/default_value.html,sha256=dHu28vMi0OOn4KmRseMwWiWq51fz7EFdz4RZB6_4jrk,1301
1072
1082
  django_cfg/templates/admin/constance/includes/fieldset_header.html,sha256=kAyS0jbWNwk7aBcI7G4rx-kvVw315m21kxzSDii-qig,838
1073
1083
  django_cfg/templates/admin/constance/includes/results_list.html,sha256=OqWyyTuM7iWNjLc1yVp3YHFJk3APxk_Qto0JtssMX2Q,558
@@ -1077,31 +1087,29 @@ django_cfg/templates/admin/examples/component_class_example.html,sha256=srpDyHdw
1077
1087
  django_cfg/templates/admin/import_export/change_list_export.html,sha256=oFBsnpgZ24gV4--UpPRLAqr_kU6-Y3MAudpHQKigKQY,1241
1078
1088
  django_cfg/templates/admin/import_export/change_list_import.html,sha256=jL7Dhjcbx8IfzY-ltlxoWLvF97tD9B77moj8Mh6sRjY,1214
1079
1089
  django_cfg/templates/admin/import_export/change_list_import_export.html,sha256=KWnPbkv_kP5TlAKBRutbk_eFTqPXDt6_SmxXULE94iE,1840
1080
- django_cfg/templates/admin/layouts/base_dashboard.html,sha256=GziX02ldpFNvnuIxUl2FrWBEs97A4DuvE_BOZaDkyLU,1935
1081
- django_cfg/templates/admin/layouts/dashboard_with_tabs.html,sha256=BrpQldcMjFm6ZnQxUwWk6U13ucb05vog9juOaDP_hAw,20589
1082
- django_cfg/templates/admin/sections/commands_section.html,sha256=I6PsDeQtQWc9xBxbIVa39jfZ7WAu4U3Q8Cii4hsIBCE,28948
1083
- django_cfg/templates/admin/sections/documentation_section.html,sha256=aIJ8nAd0Ifw5-Zfl-HLDx_x5KxF9InWyqrI2sJf9Dks,10451
1090
+ django_cfg/templates/admin/layouts/base_dashboard.html,sha256=8d5WmgT8JzfwxODflLjgsw3cAoW50ikyGwPEHoO4u20,2019
1091
+ django_cfg/templates/admin/layouts/dashboard_with_tabs.html,sha256=G2UvfWDG8KJfuDDRlbV9cBhHjG5VfOXzgbxppGDYn_o,6884
1092
+ django_cfg/templates/admin/sections/commands_section.html,sha256=yiY9OqoQHS6DZUcnuJv_rlsAMs6cmwlXEecbQDC1rE8,29498
1093
+ django_cfg/templates/admin/sections/documentation_section.html,sha256=gRZveCEaE8bnNCvEqXWhl5RefWEKDZJAd_Li2y-rlVY,9791
1084
1094
  django_cfg/templates/admin/sections/overview_section.html,sha256=gfhjBzQBtZQAj1DnjhFE6efgXFWb4GotIgW6kyRVE-g,4726
1085
1095
  django_cfg/templates/admin/sections/stats_section.html,sha256=iUF-ILAkHBHMb7p2pZXsn_ILYd68mmyr7uFH4He2TKg,1524
1086
1096
  django_cfg/templates/admin/sections/system_section.html,sha256=jcbLoIF-EIodppWFrf8zs85zxdAfFpjdcNuiGIwmjNE,4766
1087
1097
  django_cfg/templates/admin/sections/widgets_section.html,sha256=xgRF-M1iuN4E4QNuiyrem1XHs7UKzdPribeWu91_J5w,6444
1088
- django_cfg/templates/admin/snippets/components/CHARTS_GUIDE.md,sha256=SM0gO0bchhgTZdLXfZxv7Zq0Bbt0C0cfFqceUcL4JCU,8923
1089
- django_cfg/templates/admin/snippets/components/activity_tracker.html,sha256=y9PsU_XKBPxiOm762UL7ZAw0Lqh5D4lUTgFnLeCso3w,4359
1090
- django_cfg/templates/admin/snippets/components/charts_section.html,sha256=eIJFFuy3vAz0pYRAVEgJ7Nzc3BbNGIqrEWT4SitoMrQ,9808
1091
- django_cfg/templates/admin/snippets/components/django_commands.html,sha256=l0YE5D3uRtDqEXCPviqBq9hn6yVJxT55jcLyRYEo73w,20261
1098
+ django_cfg/templates/admin/snippets/components/activity_tracker.html,sha256=3PDcrh75eYCIcK9EBx3f32vsfPlmsouUTGkDEKH0omc,3251
1099
+ django_cfg/templates/admin/snippets/components/charts_section.html,sha256=BOyuftWPWLC7dnk2howye2b0X0-6ESEORaWUz2m1aQc,6512
1100
+ django_cfg/templates/admin/snippets/components/django_commands.html,sha256=lsxI3pEPJfCTb-uvXOZOhb9T7NAZJcJ7nk2VpO74k4Y,17382
1092
1101
  django_cfg/templates/admin/snippets/components/quick_actions.html,sha256=XLSh1MpUryOb9khy-EfCGuHdxwXKIOt8uZlf75GC4Ww,3942
1093
- django_cfg/templates/admin/snippets/components/recent_activity.html,sha256=eWFII320pZL3S6hxCcdWKCwWjjn7bEERotjvVqGDAYU,1713
1094
1102
  django_cfg/templates/admin/snippets/components/recent_activity_improved.html,sha256=Gab8lyRiQGE6yiiF6Z4Y5lAuzj7L4ZSvRCpoAMLsuQM,1000
1095
1103
  django_cfg/templates/admin/snippets/components/recent_users_table.html,sha256=TRXnI88LprGgwDRslT8JAAnvVgV7CviAs5uVS_Bxi98,6550
1096
1104
  django_cfg/templates/admin/snippets/components/stats_cards.html,sha256=8RAtDTIcq7OBcdk_TWVovJ_Hk8UIlj5teuqnO2w0TAs,181
1097
1105
  django_cfg/templates/admin/snippets/components/stats_tiles.html,sha256=ELPz7ujZqZ55ejMIRLZt29dOn4k50L9F0u8cHgvMWPo,8206
1098
1106
  django_cfg/templates/admin/snippets/components/system_health.html,sha256=3zsx3g1pu64lO0BdlpIIUo8bR4LiG1mtBPqtrAzMOcA,1563
1099
- django_cfg/templates/admin/snippets/components/system_metrics.html,sha256=MAfTt72hFkCp5m7lLrEz9GnZodpMllLjaSkM1N9O91k,12937
1107
+ django_cfg/templates/admin/snippets/components/system_metrics.html,sha256=_otvxSAiBjIfZcCR_X3QaAvLaDzbwpfdXr1-LgADlY0,13284
1100
1108
  django_cfg/templates/admin/snippets/components/user_permissions.html,sha256=ZFunUwWV7LRmtctn4m6kSirWZ5voIY4haJljENQ24eo,3830
1101
- django_cfg/templates/admin/snippets/tabs/app_stats_tab.html,sha256=aW7kLfBF9Ch4YeBGgPNJAmPs90RSEfNs66-DpX-O6aY,14390
1102
- django_cfg/templates/admin/snippets/tabs/commands_tab.html,sha256=Df4RXR2n_kg9110OEAQU_fJ5NW496wEeoBIcZ6gngFc,3439
1103
- django_cfg/templates/admin/snippets/tabs/documentation_tab.html,sha256=3SGpqsIslnALYb9qzG_c8aw4o6uJaax0-XFublYp8T8,4810
1104
- django_cfg/templates/admin/snippets/tabs/overview_tab.html,sha256=mX8C9EQmpwW-uYN5i0hjpn-q-LXtjenGWNI3BmsJsaI,3918
1109
+ django_cfg/templates/admin/snippets/tabs/app_stats_tab.html,sha256=Cx9Hd7aoeMCpBPtZ1BAB35dkyzDSNSVy53z6Kf0Zc8s,14369
1110
+ django_cfg/templates/admin/snippets/tabs/commands_tab.html,sha256=B7CS5H_rO9Uu5p48F4J0kx-CPXCB6zQXJzlpOcq-7i8,5952
1111
+ django_cfg/templates/admin/snippets/tabs/documentation_tab.html,sha256=XOSiMIrlk477KO27_I3Vv-Z2jWyT_TxpfCyWYsjGil0,1811
1112
+ django_cfg/templates/admin/snippets/tabs/overview_tab.html,sha256=uJTQ2HGtIesBcxBk7WAdBJO1VMK_KZH91ckp5DgEvQ0,3927
1105
1113
  django_cfg/templates/admin/snippets/tabs/stats_tab.html,sha256=jIqSnp4WTo2jAzzMqo9As6z5PykWsO_V1VwBEpTzZ5E,5170
1106
1114
  django_cfg/templates/admin/snippets/tabs/users_tab.html,sha256=04D05VSeidn2qJnQmktVI7TNlm7tNcXYXJAsk32U5hY,2813
1107
1115
  django_cfg/templates/admin/snippets/tabs/widgets_tab.html,sha256=1TxvLPjydcOQRVdaEzGaIq8QZD_CmGY58X9wcqNrtpM,1699
@@ -1116,9 +1124,9 @@ django_cfg/utils/version_check.py,sha256=WO51J2m2e-wVqWCRwbultEwu3q1lQasV67Mw2aa
1116
1124
  django_cfg/CHANGELOG.md,sha256=jtT3EprqEJkqSUh7IraP73vQ8PmKUMdRtznQsEnqDZk,2052
1117
1125
  django_cfg/CONTRIBUTING.md,sha256=DU2kyQ6PU0Z24ob7O_OqKWEYHcZmJDgzw-lQCmu6uBg,3041
1118
1126
  django_cfg/LICENSE,sha256=xHuytiUkSZCRG3N11nk1X6q1_EGQtv6aL5O9cqNRhKE,1071
1119
- django_cfg/pyproject.toml,sha256=M4jxEC0_B7R_qqnCxUJMxjZaCyRx2wEAGtZ36qNROCA,8164
1120
- django_cfg-1.4.74.dist-info/METADATA,sha256=0IuecNQP4vRHY57KvrtWxrpgPROJqP4OUiYonlLJDvY,22624
1121
- django_cfg-1.4.74.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
1122
- django_cfg-1.4.74.dist-info/entry_points.txt,sha256=Ucmde4Z2wEzgb4AggxxZ0zaYDb9HpyE5blM3uJ0_VNg,56
1123
- django_cfg-1.4.74.dist-info/licenses/LICENSE,sha256=xHuytiUkSZCRG3N11nk1X6q1_EGQtv6aL5O9cqNRhKE,1071
1124
- django_cfg-1.4.74.dist-info/RECORD,,
1127
+ django_cfg/pyproject.toml,sha256=ogTAGQXS8RxaV4SqRqcoQkoM9XqemgCy-AUOStNK7jk,8164
1128
+ django_cfg-1.4.76.dist-info/METADATA,sha256=hrqor9BC-JbvtBtQ8y9JY7OPx4Y33ZTxLVgJZXvdENk,22624
1129
+ django_cfg-1.4.76.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
1130
+ django_cfg-1.4.76.dist-info/entry_points.txt,sha256=Ucmde4Z2wEzgb4AggxxZ0zaYDb9HpyE5blM3uJ0_VNg,56
1131
+ django_cfg-1.4.76.dist-info/licenses/LICENSE,sha256=xHuytiUkSZCRG3N11nk1X6q1_EGQtv6aL5O9cqNRhKE,1071
1132
+ django_cfg-1.4.76.dist-info/RECORD,,