django-agent-studio 0.3.2__tar.gz → 0.3.3__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.
Files changed (45) hide show
  1. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/PKG-INFO +2 -1
  2. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/README.md +1 -0
  3. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/django_agent_studio.egg-info/PKG-INFO +2 -1
  4. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/pyproject.toml +1 -1
  5. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/static/agent-frontend/chat-widget.css +6 -1
  6. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/templates/django_agent_studio/base.html +12 -0
  7. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/templates/django_agent_studio/system_test.html +12 -4
  8. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/templates/django_agent_studio/test.html +11 -3
  9. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/urls.py +1 -0
  10. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/views.py +11 -0
  11. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/LICENSE +0 -0
  12. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/__init__.py +0 -0
  13. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/agents/__init__.py +0 -0
  14. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/agents/builder.py +0 -0
  15. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/agents/dynamic.py +0 -0
  16. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/api/__init__.py +0 -0
  17. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/api/permissions.py +0 -0
  18. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/api/serializers.py +0 -0
  19. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/api/urls.py +0 -0
  20. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/api/views.py +0 -0
  21. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/apps.py +0 -0
  22. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/django_agent_studio.egg-info/SOURCES.txt +0 -0
  23. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/django_agent_studio.egg-info/dependency_links.txt +0 -0
  24. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/django_agent_studio.egg-info/requires.txt +0 -0
  25. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/django_agent_studio.egg-info/top_level.txt +0 -0
  26. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/management/__init__.py +0 -0
  27. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/management/commands/__init__.py +0 -0
  28. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/migrations/0001_initial.py +0 -0
  29. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/migrations/__init__.py +0 -0
  30. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/models/__init__.py +0 -0
  31. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/models/permissions.py +0 -0
  32. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/services/__init__.py +0 -0
  33. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/services/permissions.py +0 -0
  34. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/setup.cfg +0 -0
  35. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/static/agent-frontend/chat-widget-markdown.js +0 -0
  36. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/static/agent-frontend/chat-widget.js +0 -0
  37. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/static/django_agent_studio/js/builder.js +0 -0
  38. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/static/django_agent_studio/js/builder.js.map +0 -0
  39. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/static/django_agent_studio/js/style.css +0 -0
  40. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/templates/django_agent_studio/agent_list.html +0 -0
  41. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/templates/django_agent_studio/builder.html +0 -0
  42. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/templates/django_agent_studio/collaborators.html +0 -0
  43. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/templates/django_agent_studio/home.html +0 -0
  44. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/templates/django_agent_studio/system_create.html +0 -0
  45. {django_agent_studio-0.3.2 → django_agent_studio-0.3.3}/templates/django_agent_studio/system_list.html +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: django-agent-studio
3
- Version: 0.3.2
3
+ Version: 0.3.3
4
4
  Summary: Visual agent builder and management studio for Django - build custom GPTs with a two-pane interface
5
5
  Author: Chris Barry
6
6
  License: Business Source License 1.1
@@ -126,6 +126,7 @@ A visual agent builder and management interface for Django applications. Create,
126
126
 
127
127
  | Version | Date | Changes |
128
128
  |---------|------|---------|
129
+ | **0.3.3** | 2026-01-30 | **Logout & Scroll Fixes** - Added logout button to header, fixed embedded chat widget scrolling with proper flex layout |
129
130
  | **0.3.2** | 2026-01-30 | **Multi-User Access Control** - Collaborator management UI, user search autocomplete, supports both email and username-based User models, system creation from homepage, permission inheritance display |
130
131
  | **0.3.1** | 2026-01-30 | **Bug Fixes** - Fixed duplicate message emit in dynamic agents, fixed escapejs encoding in templates, added 800px max-width constraint to system test view |
131
132
  | **0.3.0** | 2026-01-29 | **System Listing & Navigation** - Browse and test multi-agent systems from homepage, fixed URL routing for My Systems/My Agents links, system creation now supports optional entry agent |
@@ -6,6 +6,7 @@ A visual agent builder and management interface for Django applications. Create,
6
6
 
7
7
  | Version | Date | Changes |
8
8
  |---------|------|---------|
9
+ | **0.3.3** | 2026-01-30 | **Logout & Scroll Fixes** - Added logout button to header, fixed embedded chat widget scrolling with proper flex layout |
9
10
  | **0.3.2** | 2026-01-30 | **Multi-User Access Control** - Collaborator management UI, user search autocomplete, supports both email and username-based User models, system creation from homepage, permission inheritance display |
10
11
  | **0.3.1** | 2026-01-30 | **Bug Fixes** - Fixed duplicate message emit in dynamic agents, fixed escapejs encoding in templates, added 800px max-width constraint to system test view |
11
12
  | **0.3.0** | 2026-01-29 | **System Listing & Navigation** - Browse and test multi-agent systems from homepage, fixed URL routing for My Systems/My Agents links, system creation now supports optional entry agent |
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: django-agent-studio
3
- Version: 0.3.2
3
+ Version: 0.3.3
4
4
  Summary: Visual agent builder and management studio for Django - build custom GPTs with a two-pane interface
5
5
  Author: Chris Barry
6
6
  License: Business Source License 1.1
@@ -126,6 +126,7 @@ A visual agent builder and management interface for Django applications. Create,
126
126
 
127
127
  | Version | Date | Changes |
128
128
  |---------|------|---------|
129
+ | **0.3.3** | 2026-01-30 | **Logout & Scroll Fixes** - Added logout button to header, fixed embedded chat widget scrolling with proper flex layout |
129
130
  | **0.3.2** | 2026-01-30 | **Multi-User Access Control** - Collaborator management UI, user search autocomplete, supports both email and username-based User models, system creation from homepage, permission inheritance display |
130
131
  | **0.3.1** | 2026-01-30 | **Bug Fixes** - Fixed duplicate message emit in dynamic agents, fixed escapejs encoding in templates, added 800px max-width constraint to system test view |
131
132
  | **0.3.0** | 2026-01-29 | **System Listing & Navigation** - Browse and test multi-agent systems from homepage, fixed URL routing for My Systems/My Agents links, system creation now supports optional entry agent |
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "django-agent-studio"
7
- version = "0.3.2"
7
+ version = "0.3.3"
8
8
  description = "Visual agent builder and management studio for Django - build custom GPTs with a two-pane interface"
9
9
  readme = "README.md"
10
10
  license = {file = "LICENSE"}
@@ -976,17 +976,22 @@
976
976
  max-height: none !important;
977
977
  border-radius: 0;
978
978
  box-shadow: none;
979
+ display: flex;
980
+ flex-direction: column;
981
+ overflow: hidden;
979
982
  }
980
983
 
981
984
  /* Embedded widget header can have rounded corners if desired */
982
985
  .cw-widget-embedded .cw-header {
983
986
  border-radius: 0;
987
+ flex-shrink: 0;
984
988
  }
985
989
 
986
- /* Ensure messages area fills available space */
990
+ /* Ensure messages area fills available space and scrolls */
987
991
  .cw-widget-embedded .cw-messages {
988
992
  flex: 1;
989
993
  min-height: 0;
994
+ overflow-y: auto;
990
995
  }
991
996
 
992
997
  /* ============================================================================
@@ -100,6 +100,14 @@
100
100
  height: 100% !important;
101
101
  max-height: none !important;
102
102
  border-radius: 0.5rem !important;
103
+ display: flex !important;
104
+ flex-direction: column !important;
105
+ overflow: hidden !important;
106
+ }
107
+ .embedded-chat .cw-messages {
108
+ flex: 1 !important;
109
+ min-height: 0 !important;
110
+ overflow-y: auto !important;
103
111
  }
104
112
  </style>
105
113
 
@@ -119,6 +127,10 @@
119
127
  <div class="flex items-center space-x-4">
120
128
  {% if request.user.is_authenticated %}
121
129
  <span class="text-sm text-gray-600">{{ request.user.email|default:request.user }}</span>
130
+ <form method="post" action="{% url 'agent_studio:logout' %}" class="inline">
131
+ {% csrf_token %}
132
+ <button type="submit" class="text-sm text-gray-500 hover:text-gray-700">Logout</button>
133
+ </form>
122
134
  {% endif %}
123
135
  </div>
124
136
  </header>
@@ -19,7 +19,7 @@
19
19
  display: flex;
20
20
  justify-content: center;
21
21
  }
22
-
22
+
23
23
  #fullscreen-chat-container .cw-container {
24
24
  position: relative !important;
25
25
  width: 100% !important;
@@ -28,11 +28,11 @@
28
28
  border-radius: 0 !important;
29
29
  box-shadow: 0 0 20px rgba(0,0,0,0.1) !important;
30
30
  }
31
-
31
+
32
32
  #fullscreen-chat-container .cw-toggle-btn {
33
33
  display: none !important;
34
34
  }
35
-
35
+
36
36
  #fullscreen-chat-container .cw-widget {
37
37
  position: relative !important;
38
38
  width: 100% !important;
@@ -40,6 +40,14 @@
40
40
  max-height: none !important;
41
41
  border-radius: 0 !important;
42
42
  display: flex !important;
43
+ flex-direction: column !important;
44
+ overflow: hidden !important;
45
+ }
46
+
47
+ #fullscreen-chat-container .cw-messages {
48
+ flex: 1 !important;
49
+ min-height: 0 !important;
50
+ overflow-y: auto !important;
43
51
  }
44
52
  </style>
45
53
  {% endblock %}
@@ -77,7 +85,7 @@
77
85
  </div>
78
86
 
79
87
  <!-- Full Screen Chat -->
80
- <div class="flex-1 relative bg-gray-100 flex justify-center">
88
+ <div class="flex-1 min-h-0 relative bg-gray-100 flex justify-center">
81
89
  <div id="fullscreen-chat-container" class="relative w-full max-w-[800px] h-full"></div>
82
90
  </div>
83
91
  </div>
@@ -27,11 +27,11 @@
27
27
  border-radius: 0 !important;
28
28
  box-shadow: none !important;
29
29
  }
30
-
30
+
31
31
  #fullscreen-chat-container .cw-toggle-btn {
32
32
  display: none !important;
33
33
  }
34
-
34
+
35
35
  #fullscreen-chat-container .cw-widget {
36
36
  position: absolute !important;
37
37
  top: 0;
@@ -43,6 +43,14 @@
43
43
  max-height: none !important;
44
44
  border-radius: 0 !important;
45
45
  display: flex !important;
46
+ flex-direction: column !important;
47
+ overflow: hidden !important;
48
+ }
49
+
50
+ #fullscreen-chat-container .cw-messages {
51
+ flex: 1 !important;
52
+ min-height: 0 !important;
53
+ overflow-y: auto !important;
46
54
  }
47
55
  </style>
48
56
  {% endblock %}
@@ -76,7 +84,7 @@
76
84
  </div>
77
85
 
78
86
  <!-- Full Screen Chat -->
79
- <div class="flex-1 relative bg-gray-100">
87
+ <div class="flex-1 min-h-0 relative bg-gray-100">
80
88
  <div id="fullscreen-chat-container" class="absolute inset-0"></div>
81
89
  </div>
82
90
  </div>
@@ -12,6 +12,7 @@ app_name = "agent_studio"
12
12
  urlpatterns = [
13
13
  # Main studio interface
14
14
  path("", views.StudioHomeView.as_view(), name="home"),
15
+ path("logout/", views.LogoutView.as_view(), name="logout"),
15
16
 
16
17
  # Systems (multi-agent systems)
17
18
  path("systems/", views.SystemListView.as_view(), name="system_list"),
@@ -2,7 +2,10 @@
2
2
  Views for django_agent_studio.
3
3
  """
4
4
 
5
+ from django.contrib.auth import logout
5
6
  from django.db.models import Q
7
+ from django.shortcuts import redirect
8
+ from django.views import View
6
9
  from django.views.generic import TemplateView, ListView
7
10
  from django.contrib.auth.mixins import LoginRequiredMixin
8
11
 
@@ -452,3 +455,11 @@ class SystemCollaboratorsView(LoginRequiredMixin, SystemAccessMixin, TemplateVie
452
455
 
453
456
  return context
454
457
 
458
+
459
+ class LogoutView(View):
460
+ """Simple logout view that works with any auth backend."""
461
+
462
+ def post(self, request):
463
+ logout(request)
464
+ return redirect('/')
465
+