django-agent-studio 0.3.0__py3-none-any.whl → 0.3.1__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.
- django_agent_studio/agents/dynamic.py +2 -3
- django_agent_studio/templates/django_agent_studio/builder.html +2 -2
- django_agent_studio/templates/django_agent_studio/system_test.html +12 -15
- django_agent_studio/templates/django_agent_studio/test.html +2 -2
- {django_agent_studio-0.3.0.dist-info → django_agent_studio-0.3.1.dist-info}/METADATA +2 -1
- {django_agent_studio-0.3.0.dist-info → django_agent_studio-0.3.1.dist-info}/RECORD +9 -9
- {django_agent_studio-0.3.0.dist-info → django_agent_studio-0.3.1.dist-info}/WHEEL +0 -0
- {django_agent_studio-0.3.0.dist-info → django_agent_studio-0.3.1.dist-info}/licenses/LICENSE +0 -0
- {django_agent_studio-0.3.0.dist-info → django_agent_studio-0.3.1.dist-info}/top_level.txt +0 -0
|
@@ -266,9 +266,8 @@ class DynamicAgentRuntime(AgentRuntime):
|
|
|
266
266
|
**model_settings,
|
|
267
267
|
)
|
|
268
268
|
|
|
269
|
-
#
|
|
270
|
-
|
|
271
|
-
await ctx.emit(EventType.ASSISTANT_MESSAGE, {"content": result.final_content})
|
|
269
|
+
# Note: run_agentic_loop already emits ASSISTANT_MESSAGE events,
|
|
270
|
+
# so we don't emit here to avoid duplicate messages in the UI.
|
|
272
271
|
|
|
273
272
|
return RunResult(
|
|
274
273
|
final_output={"response": result.final_content},
|
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
<script>
|
|
26
26
|
// Configuration passed from Django
|
|
27
27
|
window.STUDIO_CONFIG = {
|
|
28
|
-
agentId: {% if agent %}"{{ agent.id }}"{% else %}null{% endif %},
|
|
28
|
+
agentId: {% if agent %}"{{ agent.id|escapejs }}"{% else %}null{% endif %},
|
|
29
29
|
csrfToken: "{{ csrf_token }}",
|
|
30
|
-
builderAgentKey: "{{ builder_agent_key }}",
|
|
30
|
+
builderAgentKey: "{{ builder_agent_key|escapejs }}",
|
|
31
31
|
};
|
|
32
32
|
</script>
|
|
33
33
|
|
|
@@ -15,17 +15,18 @@
|
|
|
15
15
|
|
|
16
16
|
{% block extra_head %}
|
|
17
17
|
<style>
|
|
18
|
+
#fullscreen-chat-container {
|
|
19
|
+
display: flex;
|
|
20
|
+
justify-content: center;
|
|
21
|
+
}
|
|
22
|
+
|
|
18
23
|
#fullscreen-chat-container .cw-container {
|
|
19
|
-
position:
|
|
20
|
-
top: 0;
|
|
21
|
-
left: 0;
|
|
22
|
-
right: 0;
|
|
23
|
-
bottom: 0;
|
|
24
|
+
position: relative !important;
|
|
24
25
|
width: 100% !important;
|
|
25
26
|
height: 100% !important;
|
|
26
27
|
max-height: none !important;
|
|
27
28
|
border-radius: 0 !important;
|
|
28
|
-
box-shadow:
|
|
29
|
+
box-shadow: 0 0 20px rgba(0,0,0,0.1) !important;
|
|
29
30
|
}
|
|
30
31
|
|
|
31
32
|
#fullscreen-chat-container .cw-toggle-btn {
|
|
@@ -33,11 +34,7 @@
|
|
|
33
34
|
}
|
|
34
35
|
|
|
35
36
|
#fullscreen-chat-container .cw-widget {
|
|
36
|
-
position:
|
|
37
|
-
top: 0;
|
|
38
|
-
left: 0;
|
|
39
|
-
right: 0;
|
|
40
|
-
bottom: 0;
|
|
37
|
+
position: relative !important;
|
|
41
38
|
width: 100% !important;
|
|
42
39
|
height: 100% !important;
|
|
43
40
|
max-height: none !important;
|
|
@@ -75,8 +72,8 @@
|
|
|
75
72
|
</div>
|
|
76
73
|
|
|
77
74
|
<!-- Full Screen Chat -->
|
|
78
|
-
<div class="flex-1 relative bg-gray-100">
|
|
79
|
-
<div id="fullscreen-chat-container" class="
|
|
75
|
+
<div class="flex-1 relative bg-gray-100 flex justify-center">
|
|
76
|
+
<div id="fullscreen-chat-container" class="relative w-full max-w-[800px] h-full"></div>
|
|
80
77
|
</div>
|
|
81
78
|
</div>
|
|
82
79
|
{% endblock %}
|
|
@@ -86,7 +83,7 @@
|
|
|
86
83
|
const { createApp } = Vue;
|
|
87
84
|
|
|
88
85
|
// Use the entry agent's slug for the chat
|
|
89
|
-
const agentSlug = "{{ agent.slug }}";
|
|
86
|
+
const agentSlug = "{{ agent.slug|escapejs }}";
|
|
90
87
|
const backendUrl = window.location.origin;
|
|
91
88
|
|
|
92
89
|
function initChat() {
|
|
@@ -98,7 +95,7 @@ function initChat() {
|
|
|
98
95
|
containerId: 'fullscreen-chat-container',
|
|
99
96
|
backendUrl: backendUrl,
|
|
100
97
|
agentKey: agentSlug,
|
|
101
|
-
title: '{{ system.name }}',
|
|
98
|
+
title: '{{ system.name|escapejs }}',
|
|
102
99
|
primaryColor: '#3b82f6',
|
|
103
100
|
showClearButton: true,
|
|
104
101
|
showDebugButton: true,
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
<script>
|
|
82
82
|
const { createApp } = Vue;
|
|
83
83
|
|
|
84
|
-
const agentSlug = "{{ agent.slug }}";
|
|
84
|
+
const agentSlug = "{{ agent.slug|escapejs }}";
|
|
85
85
|
const backendUrl = window.location.origin;
|
|
86
86
|
|
|
87
87
|
function initChat() {
|
|
@@ -93,7 +93,7 @@ function initChat() {
|
|
|
93
93
|
containerId: 'fullscreen-chat-container',
|
|
94
94
|
backendUrl: backendUrl,
|
|
95
95
|
agentKey: agentSlug,
|
|
96
|
-
title: '{{ agent.name }}',
|
|
96
|
+
title: '{{ agent.name|escapejs }}',
|
|
97
97
|
primaryColor: '#3b82f6',
|
|
98
98
|
showClearButton: true,
|
|
99
99
|
showDebugButton: true,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: django-agent-studio
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.1
|
|
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.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 |
|
|
129
130
|
| **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 |
|
|
130
131
|
| **0.2.0** | 2026-01-28 | **Multi-Agent Systems** - System management UI, shared memory configuration, memory privacy controls, builder tools for managing agent systems |
|
|
131
132
|
| **0.1.9** | 2026-01-27 | Spec documents migration, improved builder agent |
|
|
@@ -4,7 +4,7 @@ django_agent_studio/urls.py,sha256=4Lge5RtvBNZlpt4UWvKvJgQdgX2_6jRyCrfy8GzIjnY,9
|
|
|
4
4
|
django_agent_studio/views.py,sha256=K1fBnGgplJneNBZxQm5zfVz0NLC_OkaJ4jqWT3NqSPI,5327
|
|
5
5
|
django_agent_studio/agents/__init__.py,sha256=VYL_ato0DtggIo4BGRkyiz9cm1ARPXhhTQFzoG__NVM,800
|
|
6
6
|
django_agent_studio/agents/builder.py,sha256=dRPQk5-AhUsTBOFxv8H4Uk2X2PfK631jjVJZ1w13GtM,146777
|
|
7
|
-
django_agent_studio/agents/dynamic.py,sha256=
|
|
7
|
+
django_agent_studio/agents/dynamic.py,sha256=b2bwvwF9DOjEds4c0748mjKzCWbymcSlR4B9nP9Bk4Q,25367
|
|
8
8
|
django_agent_studio/api/__init__.py,sha256=vtBwuvBENyFFhFqCWyFsI6cYu4N9ZGqSMmHIRhr9a_U,45
|
|
9
9
|
django_agent_studio/api/permissions.py,sha256=MutmA8TxZb4ZwGfeEoolK-QI04Gbcxs7DPNzkXe_Bss,5302
|
|
10
10
|
django_agent_studio/api/serializers.py,sha256=0JJ7J-Rx_iDiZRZF8ja_kiUyRDcpDhRp-O-i1ifw9Zk,18870
|
|
@@ -26,13 +26,13 @@ django_agent_studio/static/django_agent_studio/js/builder.js.map,sha256=sVkeGyZs
|
|
|
26
26
|
django_agent_studio/static/django_agent_studio/js/style.css,sha256=rigQJy_oHIhgb1_7DwAQ_8G002gQnT0AXUtwxImWj1o,1626515
|
|
27
27
|
django_agent_studio/templates/django_agent_studio/agent_list.html,sha256=Qw2Jz39qrde69mI4EjhfWyc5elyKcpFYhicrLqOJZzU,4521
|
|
28
28
|
django_agent_studio/templates/django_agent_studio/base.html,sha256=wSgwaqK1DAIIyYeZWsVvPlpAZyZHBEx3_NGtdRo0J3A,6019
|
|
29
|
-
django_agent_studio/templates/django_agent_studio/builder.html,sha256=
|
|
29
|
+
django_agent_studio/templates/django_agent_studio/builder.html,sha256=yPzb0Pdp0d7Sp7gVkJd7OouDq-toKCA8i7OJLU9x6Z8,1542
|
|
30
30
|
django_agent_studio/templates/django_agent_studio/home.html,sha256=2YQXJww0JzSRakVt2uMKeSOcAXsF7QT3ef0U14pa-50,6470
|
|
31
31
|
django_agent_studio/templates/django_agent_studio/system_list.html,sha256=IRWVQHsqtolfSDDPpOSKQNd6a1u9U9iQvTzFJWbm8DE,4026
|
|
32
|
-
django_agent_studio/templates/django_agent_studio/system_test.html,sha256=
|
|
33
|
-
django_agent_studio/templates/django_agent_studio/test.html,sha256=
|
|
34
|
-
django_agent_studio-0.3.
|
|
35
|
-
django_agent_studio-0.3.
|
|
36
|
-
django_agent_studio-0.3.
|
|
37
|
-
django_agent_studio-0.3.
|
|
38
|
-
django_agent_studio-0.3.
|
|
32
|
+
django_agent_studio/templates/django_agent_studio/system_test.html,sha256=kQAgUTMqAXjYFIcelxq34J2YXmFANWmd4Bz0UoU3fPs,3945
|
|
33
|
+
django_agent_studio/templates/django_agent_studio/test.html,sha256=C4qxjrG8USjO_NBpVnyaDibsxJ9A6kwUHEAKYXN7Jh0,3797
|
|
34
|
+
django_agent_studio-0.3.1.dist-info/licenses/LICENSE,sha256=WIh21lpD7d7xCUtLysKK-kbfW4SG7GNPf_k7_Xm_sZg,3851
|
|
35
|
+
django_agent_studio-0.3.1.dist-info/METADATA,sha256=p7UkoDYVrWfniMIG9O23Ds_GmzWlz_a5fXDkd6mjYF8,16670
|
|
36
|
+
django_agent_studio-0.3.1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
37
|
+
django_agent_studio-0.3.1.dist-info/top_level.txt,sha256=O1kqZzXPOsJlqnPSAcB2fH5WpJNY8ZNfHEJzX9_SZ0A,20
|
|
38
|
+
django_agent_studio-0.3.1.dist-info/RECORD,,
|
|
File without changes
|
{django_agent_studio-0.3.0.dist-info → django_agent_studio-0.3.1.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
|
File without changes
|