django-agent-studio 0.2.8__tar.gz → 0.2.9__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 (42) hide show
  1. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/PKG-INFO +1 -1
  2. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/django_agent_studio.egg-info/PKG-INFO +1 -1
  3. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/pyproject.toml +1 -1
  4. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/static/agent-frontend/chat-widget.css +286 -0
  5. django_agent_studio-0.2.9/static/agent-frontend/chat-widget.js +591 -0
  6. django_agent_studio-0.2.8/static/agent-frontend/chat-widget.js +0 -481
  7. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/LICENSE +0 -0
  8. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/README.md +0 -0
  9. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/__init__.py +0 -0
  10. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/agents/__init__.py +0 -0
  11. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/agents/builder.py +0 -0
  12. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/agents/dynamic.py +0 -0
  13. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/api/__init__.py +0 -0
  14. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/api/permissions.py +0 -0
  15. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/api/serializers.py +0 -0
  16. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/api/urls.py +0 -0
  17. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/api/views.py +0 -0
  18. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/apps.py +0 -0
  19. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/django_agent_studio.egg-info/SOURCES.txt +0 -0
  20. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/django_agent_studio.egg-info/dependency_links.txt +0 -0
  21. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/django_agent_studio.egg-info/requires.txt +0 -0
  22. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/django_agent_studio.egg-info/top_level.txt +0 -0
  23. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/management/__init__.py +0 -0
  24. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/management/commands/__init__.py +0 -0
  25. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/migrations/0001_initial.py +0 -0
  26. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/migrations/__init__.py +0 -0
  27. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/models/__init__.py +0 -0
  28. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/models/permissions.py +0 -0
  29. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/services/__init__.py +0 -0
  30. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/services/permissions.py +0 -0
  31. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/setup.cfg +0 -0
  32. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/static/agent-frontend/chat-widget-markdown.js +0 -0
  33. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/static/django_agent_studio/js/builder.js +0 -0
  34. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/static/django_agent_studio/js/builder.js.map +0 -0
  35. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/static/django_agent_studio/js/style.css +0 -0
  36. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/templates/django_agent_studio/agent_list.html +0 -0
  37. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/templates/django_agent_studio/base.html +0 -0
  38. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/templates/django_agent_studio/builder.html +0 -0
  39. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/templates/django_agent_studio/home.html +0 -0
  40. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/templates/django_agent_studio/test.html +0 -0
  41. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/urls.py +0 -0
  42. {django_agent_studio-0.2.8 → django_agent_studio-0.2.9}/views.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: django-agent-studio
3
- Version: 0.2.8
3
+ Version: 0.2.9
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: django-agent-studio
3
- Version: 0.2.8
3
+ Version: 0.2.9
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
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "django-agent-studio"
7
- version = "0.2.8"
7
+ version = "0.2.9"
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"}
@@ -1819,3 +1819,289 @@
1819
1819
  opacity: 0.5;
1820
1820
  cursor: not-allowed;
1821
1821
  }
1822
+
1823
+ /* =============================================================================
1824
+ TABS
1825
+ ============================================================================= */
1826
+
1827
+ .cw-tabs {
1828
+ display: flex;
1829
+ border-bottom: 1px solid var(--cw-border);
1830
+ background: var(--cw-bg);
1831
+ flex-shrink: 0;
1832
+ }
1833
+
1834
+ .cw-tab {
1835
+ flex: 1;
1836
+ padding: 10px 16px;
1837
+ border: none;
1838
+ background: transparent;
1839
+ color: var(--cw-text-muted);
1840
+ font-size: 13px;
1841
+ font-weight: 500;
1842
+ cursor: pointer;
1843
+ transition: all 0.2s ease;
1844
+ position: relative;
1845
+ display: flex;
1846
+ align-items: center;
1847
+ justify-content: center;
1848
+ gap: 6px;
1849
+ }
1850
+
1851
+ .cw-tab:hover {
1852
+ color: var(--cw-text);
1853
+ background: var(--cw-bg-muted);
1854
+ }
1855
+
1856
+ .cw-tab-active {
1857
+ color: var(--cw-primary);
1858
+ }
1859
+
1860
+ .cw-tab-active::after {
1861
+ content: '';
1862
+ position: absolute;
1863
+ bottom: -1px;
1864
+ left: 0;
1865
+ right: 0;
1866
+ height: 2px;
1867
+ background: var(--cw-primary);
1868
+ }
1869
+
1870
+ .cw-tab-badge {
1871
+ font-size: 11px;
1872
+ padding: 2px 6px;
1873
+ background: var(--cw-bg-muted);
1874
+ border-radius: 10px;
1875
+ color: var(--cw-text-muted);
1876
+ }
1877
+
1878
+ .cw-tab-active .cw-tab-badge {
1879
+ background: var(--cw-primary);
1880
+ color: white;
1881
+ }
1882
+
1883
+ /* =============================================================================
1884
+ TASK LIST
1885
+ ============================================================================= */
1886
+
1887
+ .cw-tasks-container {
1888
+ flex: 1;
1889
+ display: flex;
1890
+ flex-direction: column;
1891
+ overflow: hidden;
1892
+ background: var(--cw-bg);
1893
+ }
1894
+
1895
+ .cw-tasks-header {
1896
+ display: flex;
1897
+ align-items: center;
1898
+ justify-content: space-between;
1899
+ padding: 12px 16px;
1900
+ border-bottom: 1px solid var(--cw-border);
1901
+ background: var(--cw-bg-muted);
1902
+ }
1903
+
1904
+ .cw-tasks-progress {
1905
+ display: flex;
1906
+ align-items: center;
1907
+ gap: 10px;
1908
+ flex: 1;
1909
+ }
1910
+
1911
+ .cw-tasks-progress-text {
1912
+ font-size: 12px;
1913
+ color: var(--cw-text-muted);
1914
+ white-space: nowrap;
1915
+ }
1916
+
1917
+ .cw-tasks-progress-bar {
1918
+ flex: 1;
1919
+ height: 6px;
1920
+ background: var(--cw-border);
1921
+ border-radius: 3px;
1922
+ overflow: hidden;
1923
+ max-width: 120px;
1924
+ }
1925
+
1926
+ .cw-tasks-progress-fill {
1927
+ height: 100%;
1928
+ background: var(--cw-primary);
1929
+ border-radius: 3px;
1930
+ transition: width 0.3s ease;
1931
+ }
1932
+
1933
+ .cw-tasks-actions {
1934
+ display: flex;
1935
+ gap: 4px;
1936
+ }
1937
+
1938
+ .cw-tasks-action-btn {
1939
+ width: 28px;
1940
+ height: 28px;
1941
+ border: none;
1942
+ background: transparent;
1943
+ color: var(--cw-text-muted);
1944
+ cursor: pointer;
1945
+ border-radius: var(--cw-radius-sm);
1946
+ display: flex;
1947
+ align-items: center;
1948
+ justify-content: center;
1949
+ font-size: 14px;
1950
+ transition: all 0.2s ease;
1951
+ }
1952
+
1953
+ .cw-tasks-action-btn:hover {
1954
+ background: var(--cw-bg);
1955
+ color: var(--cw-text);
1956
+ }
1957
+
1958
+ .cw-tasks-error {
1959
+ padding: 8px 16px;
1960
+ background: #fee2e2;
1961
+ color: #dc2626;
1962
+ font-size: 12px;
1963
+ }
1964
+
1965
+ .cw-tasks-list {
1966
+ flex: 1;
1967
+ overflow-y: auto;
1968
+ padding: 8px 0;
1969
+ }
1970
+
1971
+ .cw-tasks-empty {
1972
+ display: flex;
1973
+ flex-direction: column;
1974
+ align-items: center;
1975
+ justify-content: center;
1976
+ padding: 40px 20px;
1977
+ text-align: center;
1978
+ color: var(--cw-text-muted);
1979
+ }
1980
+
1981
+ .cw-tasks-empty p {
1982
+ margin: 0;
1983
+ }
1984
+
1985
+ .cw-tasks-empty-hint {
1986
+ font-size: 12px;
1987
+ margin-top: 8px !important;
1988
+ opacity: 0.7;
1989
+ }
1990
+
1991
+ .cw-tasks-loading {
1992
+ display: flex;
1993
+ align-items: center;
1994
+ justify-content: center;
1995
+ padding: 40px 20px;
1996
+ color: var(--cw-text-muted);
1997
+ }
1998
+
1999
+ /* Task Item */
2000
+ .cw-task-item {
2001
+ display: flex;
2002
+ align-items: center;
2003
+ gap: 8px;
2004
+ padding: 8px 12px;
2005
+ transition: background 0.15s ease;
2006
+ }
2007
+
2008
+ .cw-task-item:hover {
2009
+ background: var(--cw-bg-muted);
2010
+ }
2011
+
2012
+ .cw-task-state-btn {
2013
+ width: 20px;
2014
+ height: 20px;
2015
+ border: none;
2016
+ background: transparent;
2017
+ cursor: pointer;
2018
+ font-size: 14px;
2019
+ padding: 0;
2020
+ display: flex;
2021
+ align-items: center;
2022
+ justify-content: center;
2023
+ color: var(--cw-text-muted);
2024
+ flex-shrink: 0;
2025
+ transition: transform 0.15s ease;
2026
+ }
2027
+
2028
+ .cw-task-state-btn:hover {
2029
+ transform: scale(1.2);
2030
+ }
2031
+
2032
+ .cw-task-state-not-started .cw-task-state-btn {
2033
+ color: var(--cw-text-muted);
2034
+ }
2035
+
2036
+ .cw-task-state-in-progress .cw-task-state-btn {
2037
+ color: #f59e0b;
2038
+ }
2039
+
2040
+ .cw-task-state-complete .cw-task-state-btn {
2041
+ color: #10b981;
2042
+ }
2043
+
2044
+ .cw-task-state-cancelled .cw-task-state-btn {
2045
+ color: #ef4444;
2046
+ }
2047
+
2048
+ .cw-task-name {
2049
+ flex: 1;
2050
+ font-size: 13px;
2051
+ color: var(--cw-text);
2052
+ cursor: text;
2053
+ padding: 2px 4px;
2054
+ border-radius: 4px;
2055
+ transition: background 0.15s ease;
2056
+ }
2057
+
2058
+ .cw-task-name:hover {
2059
+ background: var(--cw-bg);
2060
+ }
2061
+
2062
+ .cw-task-state-complete .cw-task-name {
2063
+ text-decoration: line-through;
2064
+ color: var(--cw-text-muted);
2065
+ }
2066
+
2067
+ .cw-task-state-cancelled .cw-task-name {
2068
+ text-decoration: line-through;
2069
+ color: var(--cw-text-muted);
2070
+ opacity: 0.6;
2071
+ }
2072
+
2073
+ .cw-task-edit-input {
2074
+ flex: 1;
2075
+ font-size: 13px;
2076
+ padding: 4px 8px;
2077
+ border: 1px solid var(--cw-primary);
2078
+ border-radius: 4px;
2079
+ outline: none;
2080
+ background: var(--cw-bg);
2081
+ color: var(--cw-text);
2082
+ }
2083
+
2084
+ .cw-task-remove-btn {
2085
+ width: 20px;
2086
+ height: 20px;
2087
+ border: none;
2088
+ background: transparent;
2089
+ cursor: pointer;
2090
+ font-size: 16px;
2091
+ padding: 0;
2092
+ display: flex;
2093
+ align-items: center;
2094
+ justify-content: center;
2095
+ color: var(--cw-text-muted);
2096
+ opacity: 0;
2097
+ transition: all 0.15s ease;
2098
+ flex-shrink: 0;
2099
+ }
2100
+
2101
+ .cw-task-item:hover .cw-task-remove-btn {
2102
+ opacity: 1;
2103
+ }
2104
+
2105
+ .cw-task-remove-btn:hover {
2106
+ color: #ef4444;
2107
+ }