django-lucy-assist 1.0.7__tar.gz → 1.0.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 (53) hide show
  1. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/PKG-INFO +3 -2
  2. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/django_lucy_assist.egg-info/PKG-INFO +3 -2
  3. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/__init__.py +1 -1
  4. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/static/lucy_assist/css/lucy-assist.css +254 -0
  5. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/pyproject.toml +3 -2
  6. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/MANIFEST.in +0 -0
  7. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/README.md +0 -0
  8. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/django_lucy_assist.egg-info/SOURCES.txt +0 -0
  9. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/django_lucy_assist.egg-info/dependency_links.txt +0 -0
  10. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/django_lucy_assist.egg-info/requires.txt +0 -0
  11. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/django_lucy_assist.egg-info/top_level.txt +0 -0
  12. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/admin.py +0 -0
  13. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/apps.py +0 -0
  14. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/conf.py +0 -0
  15. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/constantes.py +0 -0
  16. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/context_processors.py +0 -0
  17. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/migrations/0001_initial.py +0 -0
  18. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/migrations/0002_configurationlucyassist_prompt_complementaire.py +0 -0
  19. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/migrations/0003_configurationlucyassist_crud_views_mapping.py +0 -0
  20. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/migrations/__init__.py +0 -0
  21. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/models/__init__.py +0 -0
  22. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/models/base.py +0 -0
  23. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/models/configuration.py +0 -0
  24. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/models/conversation.py +0 -0
  25. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/models/message.py +0 -0
  26. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/models/project_context_cache.py +0 -0
  27. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/services/__init__.py +0 -0
  28. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/services/bug_notification_service.py +0 -0
  29. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/services/claude_service.py +0 -0
  30. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/services/context_service.py +0 -0
  31. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/services/crud_service.py +0 -0
  32. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/services/gitlab_service.py +0 -0
  33. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/services/project_context_service.py +0 -0
  34. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/services/tool_executor_service.py +0 -0
  35. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/services/tools_definition.py +0 -0
  36. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/services/view_discovery_service.py +0 -0
  37. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/signals.py +0 -0
  38. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/static/lucy_assist/image/icon-lucy.png +0 -0
  39. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/static/lucy_assist/js/lucy-assist.js +0 -0
  40. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/templates/lucy_assist/chatbot_sidebar.html +0 -0
  41. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/templates/lucy_assist/partials/documentation_content.html +0 -0
  42. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/tests/__init__.py +0 -0
  43. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/tests/factories/__init__.py +0 -0
  44. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/tests/factories/lucy_assist_factories.py +0 -0
  45. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/tests/test_lucy_assist.py +0 -0
  46. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/urls.py +0 -0
  47. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/utils/__init__.py +0 -0
  48. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/utils/log_utils.py +0 -0
  49. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/utils/message_utils.py +0 -0
  50. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/utils/token_utils.py +0 -0
  51. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/views/__init__.py +0 -0
  52. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/lucy_assist/views/api_views.py +0 -0
  53. {django_lucy_assist-1.0.7 → django_lucy_assist-1.0.9}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: django-lucy-assist
3
- Version: 1.0.7
3
+ Version: 1.0.9
4
4
  Summary: Assistant IA intelligent Revolucy pour outil métier
5
5
  Author-email: Revolucy <hello@revolucy.fr>
6
6
  Maintainer-email: Maxence <hello@revolucy.fr>
@@ -21,12 +21,13 @@ Classifier: License :: OSI Approved :: MIT License
21
21
  Classifier: Operating System :: OS Independent
22
22
  Classifier: Programming Language :: Python
23
23
  Classifier: Programming Language :: Python :: 3
24
+ Classifier: Programming Language :: Python :: 3.9
24
25
  Classifier: Programming Language :: Python :: 3.10
25
26
  Classifier: Programming Language :: Python :: 3.11
26
27
  Classifier: Programming Language :: Python :: 3.12
27
28
  Classifier: Topic :: Internet :: WWW/HTTP
28
29
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
29
- Requires-Python: >=3.10
30
+ Requires-Python: >=3.9
30
31
  Description-Content-Type: text/markdown
31
32
  Requires-Dist: Django>=4.0
32
33
  Requires-Dist: anthropic>=0.20.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: django-lucy-assist
3
- Version: 1.0.7
3
+ Version: 1.0.9
4
4
  Summary: Assistant IA intelligent Revolucy pour outil métier
5
5
  Author-email: Revolucy <hello@revolucy.fr>
6
6
  Maintainer-email: Maxence <hello@revolucy.fr>
@@ -21,12 +21,13 @@ Classifier: License :: OSI Approved :: MIT License
21
21
  Classifier: Operating System :: OS Independent
22
22
  Classifier: Programming Language :: Python
23
23
  Classifier: Programming Language :: Python :: 3
24
+ Classifier: Programming Language :: Python :: 3.9
24
25
  Classifier: Programming Language :: Python :: 3.10
25
26
  Classifier: Programming Language :: Python :: 3.11
26
27
  Classifier: Programming Language :: Python :: 3.12
27
28
  Classifier: Topic :: Internet :: WWW/HTTP
28
29
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
29
- Requires-Python: >=3.10
30
+ Requires-Python: >=3.9
30
31
  Description-Content-Type: text/markdown
31
32
  Requires-Dist: Django>=4.0
32
33
  Requires-Dist: anthropic>=0.20.0
@@ -5,7 +5,7 @@ Un chatbot IA basé sur Claude d'Anthropic, intégrable dans n'importe quelle
5
5
  application Django pour fournir une assistance contextuelle aux utilisateurs.
6
6
  """
7
7
 
8
- __version__ = '1.0.7'
8
+ __version__ = '1.0.9'
9
9
  __author__ = 'Revolucy'
10
10
 
11
11
  default_app_config = 'lucy_assist.apps.LucyAssistConfig'
@@ -909,6 +909,260 @@
909
909
  text-decoration: underline;
910
910
  }
911
911
 
912
+ /* ========================================
913
+ DOCUMENTATION - COLLAPSE/ACCORDION
914
+ ======================================== */
915
+ .lucy-doc .collapse {
916
+ border-radius: 0.5rem;
917
+ overflow: hidden;
918
+ }
919
+
920
+ .lucy-doc .collapse-arrow {
921
+ position: relative;
922
+ }
923
+
924
+ .lucy-doc .collapse-arrow .collapse-title::after {
925
+ content: '';
926
+ position: absolute;
927
+ right: 1rem;
928
+ top: 50%;
929
+ transform: translateY(-50%) rotate(45deg);
930
+ width: 0.5rem;
931
+ height: 0.5rem;
932
+ border-right: 2px solid currentColor;
933
+ border-bottom: 2px solid currentColor;
934
+ transition: transform 0.2s ease;
935
+ }
936
+
937
+ .lucy-doc .collapse input[type="checkbox"] {
938
+ position: absolute;
939
+ opacity: 0;
940
+ width: 100%;
941
+ height: 100%;
942
+ cursor: pointer;
943
+ z-index: 1;
944
+ top: 0;
945
+ left: 0;
946
+ }
947
+
948
+ .lucy-doc .collapse-title {
949
+ position: relative;
950
+ display: flex;
951
+ align-items: center;
952
+ padding: 0.75rem 2.5rem 0.75rem 1rem;
953
+ font-weight: 500;
954
+ cursor: pointer;
955
+ color: var(--lucy-text);
956
+ }
957
+
958
+ .lucy-doc .collapse-content {
959
+ padding: 0 1rem;
960
+ max-height: 0;
961
+ overflow: hidden;
962
+ transition: max-height 0.2s ease, padding 0.2s ease;
963
+ }
964
+
965
+ .lucy-doc .collapse input[type="checkbox"]:checked ~ .collapse-content {
966
+ max-height: 500px;
967
+ padding: 0 1rem 1rem 1rem;
968
+ }
969
+
970
+ .lucy-doc .collapse input[type="checkbox"]:checked ~ .collapse-title::after,
971
+ .lucy-doc .collapse-arrow input[type="checkbox"]:checked ~ .collapse-title::after {
972
+ transform: translateY(-50%) rotate(-135deg);
973
+ }
974
+
975
+ .lucy-doc .bg-base-200 {
976
+ background: var(--lucy-bg-dark);
977
+ }
978
+
979
+ /* ========================================
980
+ DOCUMENTATION - STATS
981
+ ======================================== */
982
+ .lucy-doc .stats {
983
+ display: flex;
984
+ flex-direction: column;
985
+ background: var(--lucy-bg-dark);
986
+ border-radius: 0.5rem;
987
+ overflow: hidden;
988
+ }
989
+
990
+ .lucy-doc .stats-vertical {
991
+ flex-direction: column;
992
+ }
993
+
994
+ .lucy-doc .stat {
995
+ padding: 1rem;
996
+ border-bottom: 1px solid var(--lucy-border);
997
+ }
998
+
999
+ .lucy-doc .stat:last-child {
1000
+ border-bottom: none;
1001
+ }
1002
+
1003
+ .lucy-doc .stat-title {
1004
+ font-size: 0.75rem;
1005
+ color: var(--lucy-text-muted);
1006
+ margin-bottom: 0.25rem;
1007
+ }
1008
+
1009
+ .lucy-doc .stat-value {
1010
+ font-size: 1.5rem;
1011
+ font-weight: 700;
1012
+ }
1013
+
1014
+ .lucy-doc .stat-value.text-primary {
1015
+ color: var(--lucy-primary);
1016
+ }
1017
+
1018
+ .lucy-doc .stat-value.text-secondary {
1019
+ color: var(--lucy-secondary);
1020
+ }
1021
+
1022
+ .lucy-doc .stat-value.text-accent {
1023
+ color: #10b981;
1024
+ }
1025
+
1026
+ .lucy-doc .stat-desc {
1027
+ font-size: 0.75rem;
1028
+ color: var(--lucy-text-muted);
1029
+ margin-top: 0.25rem;
1030
+ }
1031
+
1032
+ /* ========================================
1033
+ DOCUMENTATION - ALERT
1034
+ ======================================== */
1035
+ .lucy-doc .alert {
1036
+ display: flex;
1037
+ align-items: flex-start;
1038
+ gap: 0.75rem;
1039
+ padding: 1rem;
1040
+ border-radius: 0.5rem;
1041
+ }
1042
+
1043
+ .lucy-doc .alert-info {
1044
+ background: rgba(59, 130, 246, 0.1);
1045
+ color: var(--lucy-info);
1046
+ }
1047
+
1048
+ /* ========================================
1049
+ DOCUMENTATION - DIVIDER
1050
+ ======================================== */
1051
+ .lucy-doc .divider {
1052
+ height: 1px;
1053
+ background: var(--lucy-border);
1054
+ margin: 1rem 0;
1055
+ }
1056
+
1057
+ /* ========================================
1058
+ DOCUMENTATION - KBD
1059
+ ======================================== */
1060
+ .lucy-doc .kbd {
1061
+ display: inline-block;
1062
+ padding: 0.125rem 0.5rem;
1063
+ background: var(--lucy-bg-darker);
1064
+ border: 1px solid var(--lucy-border);
1065
+ border-radius: 0.25rem;
1066
+ font-size: 0.75rem;
1067
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
1068
+ }
1069
+
1070
+ /* ========================================
1071
+ DOCUMENTATION - PROSE
1072
+ ======================================== */
1073
+ .lucy-doc .prose h3 {
1074
+ font-size: 1.125rem;
1075
+ font-weight: 700;
1076
+ margin-bottom: 1rem;
1077
+ color: var(--lucy-text);
1078
+ }
1079
+
1080
+ .lucy-doc .prose h4 {
1081
+ font-size: 1rem;
1082
+ font-weight: 700;
1083
+ margin-bottom: 0.5rem;
1084
+ color: var(--lucy-text);
1085
+ }
1086
+
1087
+ .lucy-doc .prose p {
1088
+ color: var(--lucy-text);
1089
+ line-height: 1.6;
1090
+ }
1091
+
1092
+ .lucy-doc .text-primary {
1093
+ color: var(--lucy-primary);
1094
+ }
1095
+
1096
+ .lucy-doc .text-warning {
1097
+ color: var(--lucy-warning);
1098
+ }
1099
+
1100
+ .lucy-doc .shadow {
1101
+ box-shadow: var(--lucy-shadow);
1102
+ }
1103
+
1104
+ .lucy-doc .w-full {
1105
+ width: 100%;
1106
+ }
1107
+
1108
+ .lucy-doc .mb-2 {
1109
+ margin-bottom: 0.5rem;
1110
+ }
1111
+
1112
+ .lucy-doc .mb-4 {
1113
+ margin-bottom: 1rem;
1114
+ }
1115
+
1116
+ .lucy-doc .mt-2 {
1117
+ margin-top: 0.5rem;
1118
+ }
1119
+
1120
+ .lucy-doc .mt-4 {
1121
+ margin-top: 1rem;
1122
+ }
1123
+
1124
+ .lucy-doc .mr-2 {
1125
+ margin-right: 0.5rem;
1126
+ }
1127
+
1128
+ .lucy-doc .ml-2 {
1129
+ margin-left: 0.5rem;
1130
+ }
1131
+
1132
+ .lucy-doc .text-xs {
1133
+ font-size: 0.75rem;
1134
+ }
1135
+
1136
+ .lucy-doc .text-sm {
1137
+ font-size: 0.875rem;
1138
+ }
1139
+
1140
+ .lucy-doc .text-lg {
1141
+ font-size: 1.125rem;
1142
+ }
1143
+
1144
+ .lucy-doc .font-bold {
1145
+ font-weight: 700;
1146
+ }
1147
+
1148
+ .lucy-doc .font-medium {
1149
+ font-weight: 500;
1150
+ }
1151
+
1152
+ .lucy-doc .list-none {
1153
+ list-style: none;
1154
+ padding-left: 0;
1155
+ }
1156
+
1157
+ .lucy-doc .space-y-2 > * + * {
1158
+ margin-top: 0.5rem;
1159
+ }
1160
+
1161
+ .lucy-doc .kbd-sm {
1162
+ font-size: 0.75rem;
1163
+ padding: 0.125rem 0.375rem;
1164
+ }
1165
+
912
1166
  /* ========================================
913
1167
  PRINT STYLES
914
1168
  ======================================== */
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "django-lucy-assist"
7
- version = "1.0.7"
7
+ version = "1.0.9"
8
8
  description = "Assistant IA intelligent Revolucy pour outil métier"
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
@@ -35,13 +35,14 @@ classifiers = [
35
35
  "Operating System :: OS Independent",
36
36
  "Programming Language :: Python",
37
37
  "Programming Language :: Python :: 3",
38
+ "Programming Language :: Python :: 3.9",
38
39
  "Programming Language :: Python :: 3.10",
39
40
  "Programming Language :: Python :: 3.11",
40
41
  "Programming Language :: Python :: 3.12",
41
42
  "Topic :: Internet :: WWW/HTTP",
42
43
  "Topic :: Scientific/Engineering :: Artificial Intelligence",
43
44
  ]
44
- requires-python = ">=3.10"
45
+ requires-python = ">=3.9"
45
46
  dependencies = [
46
47
  "Django>=4.0",
47
48
  "anthropic>=0.20.0",