django-cfg 1.4.20__py3-none-any.whl → 1.4.21__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.
@@ -0,0 +1,29 @@
1
+ # Generated by Django 5.2.7 on 2025-10-09 15:24
2
+
3
+ from django.db import migrations, models
4
+
5
+
6
+ class Migration(migrations.Migration):
7
+ dependencies = [
8
+ (
9
+ "django_cfg_knowbase",
10
+ "0002_archiveitem_archiveitemchunk_documentarchive_and_more",
11
+ ),
12
+ ]
13
+
14
+ operations = [
15
+ migrations.AlterField(
16
+ model_name="documentarchive",
17
+ name="archive_type",
18
+ field=models.CharField(
19
+ choices=[
20
+ ("zip", "ZIP"),
21
+ ("tar", "TAR"),
22
+ ("tar.gz", "TAR GZ"),
23
+ ("tar.bz2", "TAR BZ2"),
24
+ ],
25
+ help_text="Archive format",
26
+ max_length=20,
27
+ ),
28
+ ),
29
+ ]
@@ -111,6 +111,9 @@ class ChatSessionViewSet(BaseKnowledgeViewSet):
111
111
  class ChatViewSet(BaseKnowledgeViewSet):
112
112
  """Chat query endpoints."""
113
113
 
114
+ # This ViewSet doesn't use standard CRUD operations
115
+ # It only has custom actions (query, history)
116
+ queryset = ChatSession.objects.none() # Empty queryset since we don't use list/retrieve/etc
114
117
  service_class = ChatService
115
118
  serializer_class = ChatResponseSerializer
116
119
 
@@ -100,7 +100,7 @@ def handle_api_key_deletion(sender, instance: APIKey, **kwargs):
100
100
  logger.warning(f"API key deleted", extra={
101
101
  'api_key_id': str(instance.id),
102
102
  'user_id': instance.user.id,
103
- 'name': instance.name,
103
+ 'key_name': instance.name,
104
104
  'total_requests': instance.total_requests,
105
105
  'deletion_timestamp': timezone.now().isoformat()
106
106
  })
@@ -129,7 +129,7 @@ def _handle_api_key_activated(api_key: APIKey):
129
129
  logger.info(f"API key activated", extra={
130
130
  'api_key_id': str(api_key.id),
131
131
  'user_id': api_key.user.id,
132
- 'name': api_key.name
132
+ 'key_name': api_key.name
133
133
  })
134
134
 
135
135
  # Set activation notification in cache
@@ -153,7 +153,7 @@ def _handle_api_key_deactivated(api_key: APIKey):
153
153
  logger.warning(f"API key deactivated", extra={
154
154
  'api_key_id': str(api_key.id),
155
155
  'user_id': api_key.user.id,
156
- 'name': api_key.name,
156
+ 'key_name': api_key.name,
157
157
  'total_requests': api_key.total_requests
158
158
  })
159
159
 
@@ -12,10 +12,9 @@ from ..serializers import TicketSerializer, MessageSerializer, MessageCreateSeri
12
12
 
13
13
  class TicketViewSet(viewsets.ModelViewSet):
14
14
  """ViewSet for managing support tickets."""
15
-
15
+
16
16
  serializer_class = TicketSerializer
17
17
  permission_classes = [permissions.IsAuthenticated]
18
- pagination_class = None
19
18
  lookup_field = 'uuid'
20
19
  lookup_url_kwarg = 'uuid'
21
20
 
@@ -34,10 +33,9 @@ class TicketViewSet(viewsets.ModelViewSet):
34
33
 
35
34
  class MessageViewSet(viewsets.ModelViewSet):
36
35
  """ViewSet for managing support messages."""
37
-
36
+
38
37
  serializer_class = MessageSerializer
39
38
  permission_classes = [permissions.IsAuthenticated]
40
- pagination_class = None
41
39
  lookup_field = 'uuid'
42
40
  lookup_url_kwarg = 'uuid'
43
41
 
django_cfg/pyproject.toml CHANGED
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "django-cfg"
7
- version = "1.4.20"
7
+ version = "1.4.21"
8
8
  description = "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."
9
9
  readme = "README.md"
10
10
  keywords = [ "django", "configuration", "pydantic", "settings", "type-safety", "pydantic-settings", "django-environ", "startup-validation", "ide-autocomplete", "ai-agents", "enterprise-django", "django-settings", "type-safe-config",]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: django-cfg
3
- Version: 1.4.20
3
+ Version: 1.4.21
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
@@ -150,6 +150,7 @@ django_cfg/apps/knowbase/managers/document.py,sha256=Cj-e5r53jyZyNMXkygfVZERf7PV
150
150
  django_cfg/apps/knowbase/managers/external_data.py,sha256=8Suu-_BXet08i8g7-2shZGL9XV6brrYKkzwHvDqV8bM,16111
151
151
  django_cfg/apps/knowbase/migrations/0001_initial.py,sha256=SPL3_xB7uqmG3QRef24tPbfV4K-78bPRK7tD-f6i-ys,15817
152
152
  django_cfg/apps/knowbase/migrations/0002_archiveitem_archiveitemchunk_documentarchive_and_more.py,sha256=memHiuUFiRVCri897eo-9_4X5S_wChR_xmTPvF-ys88,25960
153
+ django_cfg/apps/knowbase/migrations/0003_alter_documentarchive_archive_type.py,sha256=zadldeSIpEoSXSb5aIrh6fzMgeDuwsfQ0_3FPNYV_QU,760
153
154
  django_cfg/apps/knowbase/migrations/__init__.py,sha256=IDW4uBY-1QLUKzBPzhiMkwg4K4YR79dwe9u_5vWFAdc,91
154
155
  django_cfg/apps/knowbase/mixins/__init__.py,sha256=23W6yOJhnI64ZwojTRTfl2Nv1Ry86ucBTusfRRhxdOk,778
155
156
  django_cfg/apps/knowbase/mixins/config.py,sha256=Lptwhneyg2sNv15BS2EO9d2Syrz0spC9rspzUGsmt-c,2960
@@ -226,7 +227,7 @@ django_cfg/apps/knowbase/utils/validation.py,sha256=VYU91B3S3np-GzeY6yRH9ElHfsqR
226
227
  django_cfg/apps/knowbase/views/__init__.py,sha256=9Ra0MqUmcqClN58BJkrXchgX5dvLToVfeWN23kYGjXc,505
227
228
  django_cfg/apps/knowbase/views/archive_views.py,sha256=38pwzop2T3irr2yiApjpvNaRoT7H5-Tx5ye7-WquDG4,17575
228
229
  django_cfg/apps/knowbase/views/base.py,sha256=qkzq_ugpCqpcEWGCCpDnllPP4SoWiyXbVYgEZfUiLps,1709
229
- django_cfg/apps/knowbase/views/chat_views.py,sha256=E3RKDV-E0djyFxWqYKPLtX1H1yPVvA7evehM9KKLV1M,6243
230
+ django_cfg/apps/knowbase/views/chat_views.py,sha256=jD5RpzS8LNsWzmRSKrmDovAAnJVuuLXbbCrjRfYJhv4,6446
230
231
  django_cfg/apps/knowbase/views/document_views.py,sha256=zg0zzGvQtr7bWpieF37rSu9XP1Z5nhWLxninEQFz-vw,6392
231
232
  django_cfg/apps/knowbase/views/public_views.py,sha256=eNiDodCxzyl6NdPjnYxj8M0jsJ0NkqAmp5wt1pJuIoE,4506
232
233
  django_cfg/apps/leads/README.md,sha256=QjYHj_33zQyKzOtPeUqbkTy0fvLgIexKH7JxnzxEKTY,3444
@@ -436,7 +437,7 @@ django_cfg/apps/payments/services/types/requests.py,sha256=WLZgPz07lSq-qTeQAThm9
436
437
  django_cfg/apps/payments/services/types/responses.py,sha256=3FdyNOGQEoI8uZNjBPhhw1XtXqs-2lo02qZ5TQg-CqY,7947
437
438
  django_cfg/apps/payments/services/types/webhooks.py,sha256=y7R1CoAZBRn71y9Mc8k6VVj5rjpbQ1ZHJkNHD1ZyK3M,10095
438
439
  django_cfg/apps/payments/signals/__init__.py,sha256=Lg8kfwNWqRQN8p_CxdsdsAIfhX39ieB9jK1dn3n7N_A,934
439
- django_cfg/apps/payments/signals/api_key_signals.py,sha256=lvd-tQFs-w0Vr7Y0vNEU2a-JcUzchiLip-iTkcnXRPw,8588
440
+ django_cfg/apps/payments/signals/api_key_signals.py,sha256=_24HixaZmq-d4_WB5O-VSIMAFnqAKycwUViB8W0pVd8,8600
440
441
  django_cfg/apps/payments/signals/balance_signals.py,sha256=jOaWrsC0KMHbJiZ3HU_MbRkEcsVb-wkgQyRUSj0G_-Q,6258
441
442
  django_cfg/apps/payments/signals/payment_signals.py,sha256=j5k8lZ3v8Ko47s-xQKPTUfffwzIk-IxhD7hweR8xOBs,6788
442
443
  django_cfg/apps/payments/signals/subscription_signals.py,sha256=x_gk6E5G7KvWf58mF8lAljAh6Cob-au9M3LnrYk7pQQ,9062
@@ -503,7 +504,7 @@ django_cfg/apps/support/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5N
503
504
  django_cfg/apps/support/utils/support_email_service.py,sha256=Zq37yEeHYICsvHF4kkYIA3mZDi2iOSWaHv7vaO-AHUE,5569
504
505
  django_cfg/apps/support/views/__init__.py,sha256=E-Iqiy888SncfBTiSyXyGCjaNrMa5Klvapzb3ItYPXc,448
505
506
  django_cfg/apps/support/views/admin.py,sha256=dEKJsvuSWEtBOQF5Nat0uJosZ0cMAqk0NNcy2nyIDhI,1623
506
- django_cfg/apps/support/views/api.py,sha256=ULepTrLvMcAt50-71J8K4rbpupI4izsz0e8csUQ4E_w,5404
507
+ django_cfg/apps/support/views/api.py,sha256=JkJzgJgD-gVKUNXATu8mE0rSrV6WwngJAGiVvhU4r2s,5340
507
508
  django_cfg/apps/support/views/chat.py,sha256=pDSVDxndArqQ6cp1GeAXgIz4QKsItJ8eX6kq0V47UH0,3369
508
509
  django_cfg/apps/tasks/__init__.py,sha256=nY0Mp7b64LfuMB1Pbv_C6SBEdueMIYdfFvbORM81OQM,85
509
510
  django_cfg/apps/tasks/apps.py,sha256=WXQvQjFVBuiO7s1ikd4Sf15YKRTvruVzMTo82uNXY08,383
@@ -1102,9 +1103,9 @@ django_cfg/utils/version_check.py,sha256=jI4v3YMdQriUEeb_TvRl511sDghy6I75iKRDUaN
1102
1103
  django_cfg/CHANGELOG.md,sha256=jtT3EprqEJkqSUh7IraP73vQ8PmKUMdRtznQsEnqDZk,2052
1103
1104
  django_cfg/CONTRIBUTING.md,sha256=DU2kyQ6PU0Z24ob7O_OqKWEYHcZmJDgzw-lQCmu6uBg,3041
1104
1105
  django_cfg/LICENSE,sha256=xHuytiUkSZCRG3N11nk1X6q1_EGQtv6aL5O9cqNRhKE,1071
1105
- django_cfg/pyproject.toml,sha256=nbORroIo8szkSqBsezUyoTy51R_ggBBDmb5C-iSIO3w,8210
1106
- django_cfg-1.4.20.dist-info/METADATA,sha256=qxG77CBP_ISz9wRdUM9AzZe4bm7xHILFwZkwSO3xdRI,22533
1107
- django_cfg-1.4.20.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
1108
- django_cfg-1.4.20.dist-info/entry_points.txt,sha256=Ucmde4Z2wEzgb4AggxxZ0zaYDb9HpyE5blM3uJ0_VNg,56
1109
- django_cfg-1.4.20.dist-info/licenses/LICENSE,sha256=xHuytiUkSZCRG3N11nk1X6q1_EGQtv6aL5O9cqNRhKE,1071
1110
- django_cfg-1.4.20.dist-info/RECORD,,
1106
+ django_cfg/pyproject.toml,sha256=j1l8H5W_LuQyzUF6eJPq42OTdpvk9QQfwniyOUAJuXQ,8210
1107
+ django_cfg-1.4.21.dist-info/METADATA,sha256=S5uhOrdaGJxz1XPOkJRPfJ4pjKv4DAEknWemC3Ht4J8,22533
1108
+ django_cfg-1.4.21.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
1109
+ django_cfg-1.4.21.dist-info/entry_points.txt,sha256=Ucmde4Z2wEzgb4AggxxZ0zaYDb9HpyE5blM3uJ0_VNg,56
1110
+ django_cfg-1.4.21.dist-info/licenses/LICENSE,sha256=xHuytiUkSZCRG3N11nk1X6q1_EGQtv6aL5O9cqNRhKE,1071
1111
+ django_cfg-1.4.21.dist-info/RECORD,,