django-cfg 1.4.46__py3-none-any.whl → 1.5.181__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.
Files changed (1516) hide show
  1. django_cfg/__init__.py +14 -1
  2. django_cfg/apps/api/commands/serializers.py +152 -0
  3. django_cfg/apps/api/commands/views.py +32 -0
  4. django_cfg/apps/api/dashboard/TRANSACTION_FIX.md +73 -0
  5. django_cfg/apps/api/dashboard/__init__.py +8 -0
  6. django_cfg/apps/api/dashboard/apps.py +23 -0
  7. django_cfg/apps/api/dashboard/serializers/__init__.py +73 -0
  8. django_cfg/apps/api/dashboard/serializers/activity.py +38 -0
  9. django_cfg/apps/api/dashboard/serializers/apizones.py +35 -0
  10. django_cfg/apps/api/dashboard/serializers/base.py +16 -0
  11. django_cfg/apps/api/dashboard/serializers/charts.py +44 -0
  12. django_cfg/apps/api/dashboard/serializers/commands.py +85 -0
  13. django_cfg/apps/api/dashboard/serializers/config.py +317 -0
  14. django_cfg/apps/api/dashboard/serializers/metrics.py +66 -0
  15. django_cfg/apps/api/dashboard/serializers/overview.py +59 -0
  16. django_cfg/apps/api/dashboard/serializers/statistics.py +65 -0
  17. django_cfg/apps/api/dashboard/serializers/system.py +58 -0
  18. django_cfg/apps/api/dashboard/services/__init__.py +24 -0
  19. django_cfg/apps/api/dashboard/services/apizones_service.py +137 -0
  20. django_cfg/apps/api/dashboard/services/charts_service.py +267 -0
  21. django_cfg/apps/api/dashboard/services/commands_security.py +228 -0
  22. django_cfg/apps/api/dashboard/services/commands_service.py +361 -0
  23. django_cfg/apps/api/dashboard/services/config_service.py +334 -0
  24. django_cfg/apps/api/dashboard/services/metrics_service.py +262 -0
  25. django_cfg/apps/api/dashboard/services/overview_service.py +205 -0
  26. django_cfg/apps/api/dashboard/services/statistics_service.py +404 -0
  27. django_cfg/apps/api/dashboard/services/system_health_service.py +328 -0
  28. django_cfg/apps/api/dashboard/urls.py +48 -0
  29. django_cfg/apps/api/dashboard/views/__init__.py +27 -0
  30. django_cfg/apps/api/dashboard/views/activity_views.py +81 -0
  31. django_cfg/apps/api/dashboard/views/apizones_views.py +72 -0
  32. django_cfg/apps/api/dashboard/views/charts_views.py +158 -0
  33. django_cfg/apps/api/dashboard/views/commands_views.py +158 -0
  34. django_cfg/apps/api/dashboard/views/config_views.py +69 -0
  35. django_cfg/apps/api/dashboard/views/metrics_views.py +190 -0
  36. django_cfg/apps/api/dashboard/views/overview_views.py +131 -0
  37. django_cfg/apps/api/dashboard/views/statistics_views.py +105 -0
  38. django_cfg/apps/api/dashboard/views/system_views.py +72 -0
  39. django_cfg/apps/api/endpoints/README.md +144 -0
  40. django_cfg/apps/api/endpoints/endpoints_status/__init__.py +13 -0
  41. django_cfg/apps/api/endpoints/endpoints_status/drf_views.py +58 -0
  42. django_cfg/apps/api/endpoints/urls.py +13 -6
  43. django_cfg/apps/api/endpoints/urls_list/__init__.py +10 -0
  44. django_cfg/apps/api/endpoints/urls_list/serializers.py +74 -0
  45. django_cfg/apps/api/endpoints/urls_list/views.py +279 -0
  46. django_cfg/apps/api/health/drf_views.py +36 -0
  47. django_cfg/apps/api/health/serializers.py +7 -0
  48. django_cfg/apps/integrations/centrifugo/__init__.py +74 -0
  49. django_cfg/apps/integrations/centrifugo/_cfg/README_DEPENDENCIES.md +260 -0
  50. django_cfg/apps/integrations/centrifugo/_cfg/__init__.py +25 -0
  51. django_cfg/apps/integrations/centrifugo/_cfg/check_deps.py +34 -0
  52. django_cfg/apps/integrations/centrifugo/_cfg/dependencies.py +309 -0
  53. django_cfg/apps/integrations/centrifugo/admin/__init__.py +13 -0
  54. django_cfg/apps/integrations/centrifugo/admin/centrifugo_log.py +211 -0
  55. django_cfg/apps/integrations/centrifugo/admin/config.py +82 -0
  56. django_cfg/apps/integrations/centrifugo/apps.py +109 -0
  57. django_cfg/apps/integrations/centrifugo/codegen/IMPLEMENTATION_SUMMARY.md +475 -0
  58. django_cfg/apps/integrations/centrifugo/codegen/README.md +242 -0
  59. django_cfg/apps/integrations/centrifugo/codegen/USAGE.md +616 -0
  60. django_cfg/apps/integrations/centrifugo/codegen/__init__.py +24 -0
  61. django_cfg/apps/integrations/centrifugo/codegen/discovery.py +467 -0
  62. django_cfg/apps/integrations/centrifugo/codegen/generators/__init__.py +12 -0
  63. django_cfg/apps/integrations/centrifugo/codegen/generators/go_thin/__init__.py +5 -0
  64. django_cfg/apps/integrations/centrifugo/codegen/generators/go_thin/generator.py +217 -0
  65. django_cfg/apps/integrations/centrifugo/codegen/generators/go_thin/templates/CLAUDE.md.j2 +106 -0
  66. django_cfg/apps/integrations/centrifugo/codegen/generators/go_thin/templates/README.md.j2 +182 -0
  67. django_cfg/apps/integrations/centrifugo/codegen/generators/go_thin/templates/client.go.j2 +64 -0
  68. django_cfg/apps/integrations/centrifugo/codegen/generators/go_thin/templates/go.mod.j2 +10 -0
  69. django_cfg/apps/integrations/centrifugo/codegen/generators/go_thin/templates/rpc_client.go.j2 +300 -0
  70. django_cfg/apps/integrations/centrifugo/codegen/generators/go_thin/templates/rpc_client.go.j2.old +267 -0
  71. django_cfg/apps/integrations/centrifugo/codegen/generators/go_thin/templates/types.go.j2 +16 -0
  72. django_cfg/apps/integrations/centrifugo/codegen/generators/python_thin/__init__.py +7 -0
  73. django_cfg/apps/integrations/centrifugo/codegen/generators/python_thin/generator.py +278 -0
  74. django_cfg/apps/integrations/centrifugo/codegen/generators/python_thin/templates/CLAUDE.md.j2 +100 -0
  75. django_cfg/apps/integrations/centrifugo/codegen/generators/python_thin/templates/README.md.j2 +128 -0
  76. django_cfg/apps/integrations/centrifugo/codegen/generators/python_thin/templates/__init__.py.j2 +22 -0
  77. django_cfg/apps/integrations/centrifugo/codegen/generators/python_thin/templates/client.py.j2 +73 -0
  78. django_cfg/apps/integrations/centrifugo/codegen/generators/python_thin/templates/models.py.j2 +19 -0
  79. django_cfg/apps/integrations/centrifugo/codegen/generators/python_thin/templates/requirements.txt.j2 +8 -0
  80. django_cfg/apps/integrations/centrifugo/codegen/generators/python_thin/templates/rpc_client.py.j2 +193 -0
  81. django_cfg/apps/integrations/centrifugo/codegen/generators/swift_thin/__init__.py +5 -0
  82. django_cfg/apps/integrations/centrifugo/codegen/generators/swift_thin/generator.py +415 -0
  83. django_cfg/apps/integrations/centrifugo/codegen/generators/swift_thin/templates/AnyCodable.swift.j2 +219 -0
  84. django_cfg/apps/integrations/centrifugo/codegen/generators/swift_thin/templates/CLAUDE.md.j2 +364 -0
  85. django_cfg/apps/integrations/centrifugo/codegen/generators/swift_thin/templates/CentrifugoClient.swift.j2 +223 -0
  86. django_cfg/apps/integrations/centrifugo/codegen/generators/swift_thin/templates/Package.swift.j2 +30 -0
  87. django_cfg/apps/integrations/centrifugo/codegen/generators/swift_thin/templates/README.md.j2 +141 -0
  88. django_cfg/apps/integrations/centrifugo/codegen/generators/swift_thin/templates/RPCClient.swift.j2 +465 -0
  89. django_cfg/apps/integrations/centrifugo/codegen/generators/swift_thin/templates/Subscriptions.swift.j2 +59 -0
  90. django_cfg/apps/integrations/centrifugo/codegen/generators/swift_thin/templates/Types.swift.j2 +73 -0
  91. django_cfg/apps/integrations/centrifugo/codegen/generators/typescript_thin/__init__.py +5 -0
  92. django_cfg/apps/integrations/centrifugo/codegen/generators/typescript_thin/generator.py +422 -0
  93. django_cfg/apps/integrations/centrifugo/codegen/generators/typescript_thin/templates/CLAUDE.md.j2 +123 -0
  94. django_cfg/apps/integrations/centrifugo/codegen/generators/typescript_thin/templates/README.md.j2 +38 -0
  95. django_cfg/apps/integrations/centrifugo/codegen/generators/typescript_thin/templates/client.ts.j2 +106 -0
  96. django_cfg/apps/integrations/centrifugo/codegen/generators/typescript_thin/templates/index.ts.j2 +23 -0
  97. django_cfg/apps/integrations/centrifugo/codegen/generators/typescript_thin/templates/package.json.j2 +13 -0
  98. django_cfg/apps/integrations/centrifugo/codegen/generators/typescript_thin/templates/rpc-client.ts.j2 +276 -0
  99. django_cfg/apps/integrations/centrifugo/codegen/generators/typescript_thin/templates/subscriptions.ts.j2 +43 -0
  100. django_cfg/apps/integrations/centrifugo/codegen/generators/typescript_thin/templates/tsconfig.json.j2 +14 -0
  101. django_cfg/apps/integrations/centrifugo/codegen/generators/typescript_thin/templates/types.ts.j2 +19 -0
  102. django_cfg/apps/integrations/centrifugo/codegen/utils/__init__.py +90 -0
  103. django_cfg/apps/integrations/centrifugo/codegen/utils/converters/__init__.py +75 -0
  104. django_cfg/apps/integrations/centrifugo/codegen/utils/converters/base.py +128 -0
  105. django_cfg/apps/integrations/centrifugo/codegen/utils/converters/go.py +157 -0
  106. django_cfg/apps/integrations/centrifugo/codegen/utils/converters/python.py +125 -0
  107. django_cfg/apps/integrations/centrifugo/codegen/utils/converters/swift.py +423 -0
  108. django_cfg/apps/integrations/centrifugo/codegen/utils/converters/typescript.py +286 -0
  109. django_cfg/apps/integrations/centrifugo/codegen/utils/naming.py +287 -0
  110. django_cfg/apps/integrations/centrifugo/codegen/utils/prefix.py +167 -0
  111. django_cfg/apps/integrations/centrifugo/decorators.py +205 -0
  112. django_cfg/apps/integrations/centrifugo/handlers/__init__.py +11 -0
  113. django_cfg/apps/integrations/centrifugo/handlers/system.py +68 -0
  114. django_cfg/apps/integrations/centrifugo/management/__init__.py +1 -0
  115. django_cfg/apps/integrations/centrifugo/management/commands/README.md +131 -0
  116. django_cfg/apps/integrations/centrifugo/management/commands/__init__.py +1 -0
  117. django_cfg/apps/integrations/centrifugo/management/commands/centrifugo_publish.py +147 -0
  118. django_cfg/apps/integrations/centrifugo/management/commands/generate_centrifugo_clients.py +361 -0
  119. django_cfg/apps/integrations/centrifugo/managers/__init__.py +12 -0
  120. django_cfg/apps/integrations/centrifugo/managers/centrifugo_log.py +264 -0
  121. django_cfg/apps/integrations/centrifugo/migrations/0001_initial.py +164 -0
  122. django_cfg/apps/integrations/centrifugo/migrations/__init__.py +3 -0
  123. django_cfg/apps/integrations/centrifugo/models/__init__.py +11 -0
  124. django_cfg/apps/integrations/centrifugo/models/centrifugo_log.py +210 -0
  125. django_cfg/apps/integrations/centrifugo/registry.py +316 -0
  126. django_cfg/apps/integrations/centrifugo/router.py +125 -0
  127. django_cfg/apps/integrations/centrifugo/serializers/__init__.py +48 -0
  128. django_cfg/apps/integrations/centrifugo/serializers/admin_api.py +264 -0
  129. django_cfg/apps/integrations/centrifugo/serializers/channels.py +27 -0
  130. django_cfg/apps/integrations/centrifugo/serializers/health.py +20 -0
  131. django_cfg/apps/integrations/centrifugo/serializers/publishes.py +61 -0
  132. django_cfg/apps/integrations/centrifugo/serializers/stats.py +21 -0
  133. django_cfg/apps/integrations/centrifugo/services/__init__.py +18 -0
  134. django_cfg/apps/integrations/centrifugo/services/channel_validator.py +153 -0
  135. django_cfg/apps/integrations/centrifugo/services/client/__init__.py +34 -0
  136. django_cfg/apps/integrations/centrifugo/services/client/client.py +590 -0
  137. django_cfg/apps/integrations/centrifugo/services/client/config.py +236 -0
  138. django_cfg/apps/integrations/centrifugo/services/client/direct_client.py +296 -0
  139. django_cfg/apps/integrations/centrifugo/services/client/direct_client.py.backup +286 -0
  140. django_cfg/apps/integrations/centrifugo/services/client/exceptions.py +212 -0
  141. django_cfg/apps/integrations/centrifugo/services/config_helper.py +63 -0
  142. django_cfg/apps/integrations/centrifugo/services/dashboard_notifier.py +157 -0
  143. django_cfg/apps/integrations/centrifugo/services/logging.py +753 -0
  144. django_cfg/apps/integrations/centrifugo/services/publisher.py +379 -0
  145. django_cfg/apps/integrations/centrifugo/services/token_generator.py +122 -0
  146. django_cfg/apps/integrations/centrifugo/urls.py +44 -0
  147. django_cfg/apps/integrations/centrifugo/views/__init__.py +15 -0
  148. django_cfg/apps/integrations/centrifugo/views/admin_api.py +374 -0
  149. django_cfg/apps/integrations/centrifugo/views/monitoring.py +385 -0
  150. django_cfg/apps/integrations/centrifugo/views/rpc_proxy.py +199 -0
  151. django_cfg/apps/integrations/centrifugo/views/testing_api.py +406 -0
  152. django_cfg/apps/integrations/centrifugo/views/token_api.py +101 -0
  153. django_cfg/apps/integrations/centrifugo/views/wrapper.py +269 -0
  154. django_cfg/apps/integrations/grpc/__init__.py +9 -0
  155. django_cfg/apps/integrations/grpc/_cfg/README_DEPENDENCIES.md +307 -0
  156. django_cfg/apps/integrations/grpc/_cfg/__init__.py +25 -0
  157. django_cfg/apps/integrations/grpc/_cfg/check_deps.py +34 -0
  158. django_cfg/apps/integrations/grpc/_cfg/dependencies.py +484 -0
  159. django_cfg/apps/integrations/grpc/admin/__init__.py +38 -0
  160. django_cfg/apps/integrations/grpc/admin/config.py +496 -0
  161. django_cfg/apps/integrations/grpc/admin/connection_state.py +257 -0
  162. django_cfg/apps/integrations/grpc/admin/grpc_api_key.py +204 -0
  163. django_cfg/apps/integrations/grpc/admin/grpc_request_log.py +171 -0
  164. django_cfg/apps/integrations/grpc/admin/grpc_server_status.py +211 -0
  165. django_cfg/apps/integrations/grpc/apps.py +108 -0
  166. django_cfg/apps/integrations/grpc/auth/__init__.py +17 -0
  167. django_cfg/apps/integrations/grpc/auth/api_key_auth.py +366 -0
  168. django_cfg/apps/integrations/grpc/configs/__init__.py +90 -0
  169. django_cfg/apps/integrations/grpc/configs/channels.py +324 -0
  170. django_cfg/apps/integrations/grpc/configs/commands.py +126 -0
  171. django_cfg/apps/integrations/grpc/configs/constants.py +403 -0
  172. django_cfg/apps/integrations/grpc/configs/tls.py +297 -0
  173. django_cfg/apps/integrations/grpc/management/__init__.py +1 -0
  174. django_cfg/apps/integrations/grpc/management/commands/compile_proto.py +105 -0
  175. django_cfg/apps/integrations/grpc/management/commands/generate_protos.py +185 -0
  176. django_cfg/apps/integrations/grpc/management/commands/rungrpc.py +844 -0
  177. django_cfg/apps/integrations/grpc/management/commands/test_grpc_integration.py +75 -0
  178. django_cfg/apps/integrations/grpc/management/proto/__init__.py +3 -0
  179. django_cfg/apps/integrations/grpc/management/proto/compiler.py +194 -0
  180. django_cfg/apps/integrations/grpc/managers/__init__.py +26 -0
  181. django_cfg/apps/integrations/grpc/managers/connection_state/__init__.py +22 -0
  182. django_cfg/apps/integrations/grpc/managers/connection_state/event.py +225 -0
  183. django_cfg/apps/integrations/grpc/managers/connection_state/metric.py +235 -0
  184. django_cfg/apps/integrations/grpc/managers/connection_state/state.py +456 -0
  185. django_cfg/apps/integrations/grpc/managers/grpc_api_key.py +186 -0
  186. django_cfg/apps/integrations/grpc/managers/grpc_request_log.py +357 -0
  187. django_cfg/apps/integrations/grpc/managers/grpc_server_status.py +393 -0
  188. django_cfg/apps/integrations/grpc/migrations/0001_initial.py +69 -0
  189. django_cfg/apps/integrations/grpc/migrations/0002_rename_django_cfg__service_4c4a8e_idx_django_cfg__service_584308_idx_and_more.py +38 -0
  190. django_cfg/apps/integrations/grpc/migrations/0003_grpcserverstatus.py +119 -0
  191. django_cfg/apps/integrations/grpc/migrations/0004_grpcserverstatus_registered_services.py +22 -0
  192. django_cfg/apps/integrations/grpc/migrations/0005_grpcapikey.py +143 -0
  193. django_cfg/apps/integrations/grpc/migrations/0006_grpcrequestlog_api_key_and_more.py +34 -0
  194. django_cfg/apps/integrations/grpc/migrations/0007_simplify_grpc_models.py +330 -0
  195. django_cfg/apps/integrations/grpc/migrations/0008_grpcrequestlog_error_details.py +18 -0
  196. django_cfg/apps/integrations/grpc/migrations/0009_grpcagentconnectionstate_grpcagentconnectionmetric_and_more.py +349 -0
  197. django_cfg/apps/integrations/grpc/migrations/0010_grpcapikey_hash_security.py +102 -0
  198. django_cfg/apps/integrations/grpc/migrations/0011_alter_grpcapikey_key.py +27 -0
  199. django_cfg/apps/integrations/grpc/models/__init__.py +23 -0
  200. django_cfg/apps/integrations/grpc/models/connection_state/__init__.py +18 -0
  201. django_cfg/apps/integrations/grpc/models/connection_state/event.py +123 -0
  202. django_cfg/apps/integrations/grpc/models/connection_state/metric.py +200 -0
  203. django_cfg/apps/integrations/grpc/models/connection_state/state.py +275 -0
  204. django_cfg/apps/integrations/grpc/models/grpc_api_key.py +346 -0
  205. django_cfg/apps/integrations/grpc/models/grpc_request_log.py +94 -0
  206. django_cfg/apps/integrations/grpc/models/grpc_server_status.py +136 -0
  207. django_cfg/apps/integrations/grpc/resilience/__init__.py +99 -0
  208. django_cfg/apps/integrations/grpc/resilience/circuit.py +495 -0
  209. django_cfg/apps/integrations/grpc/resilience/config.py +117 -0
  210. django_cfg/apps/integrations/grpc/resilience/logging.py +325 -0
  211. django_cfg/apps/integrations/grpc/resilience/retry.py +273 -0
  212. django_cfg/apps/integrations/grpc/serializers/__init__.py +42 -0
  213. django_cfg/apps/integrations/grpc/serializers/api_keys.py +54 -0
  214. django_cfg/apps/integrations/grpc/serializers/config.py +120 -0
  215. django_cfg/apps/integrations/grpc/serializers/health.py +18 -0
  216. django_cfg/apps/integrations/grpc/serializers/requests.py +24 -0
  217. django_cfg/apps/integrations/grpc/serializers/service_registry.py +271 -0
  218. django_cfg/apps/integrations/grpc/serializers/stats.py +56 -0
  219. django_cfg/apps/integrations/grpc/services/__init__.py +121 -0
  220. django_cfg/apps/integrations/grpc/services/base.py +375 -0
  221. django_cfg/apps/integrations/grpc/services/centrifugo/__init__.py +29 -0
  222. django_cfg/apps/integrations/grpc/services/centrifugo/bridge.py +506 -0
  223. django_cfg/apps/integrations/grpc/services/centrifugo/config.py +167 -0
  224. django_cfg/apps/integrations/grpc/services/centrifugo/demo.py +630 -0
  225. django_cfg/apps/integrations/grpc/services/centrifugo/test_publish.py +229 -0
  226. django_cfg/apps/integrations/grpc/services/centrifugo/transformers.py +89 -0
  227. django_cfg/apps/integrations/grpc/services/client/__init__.py +102 -0
  228. django_cfg/apps/integrations/grpc/services/client/betterproto_client.py +841 -0
  229. django_cfg/apps/integrations/grpc/services/client/client.py +619 -0
  230. django_cfg/apps/integrations/grpc/services/client/pool.py +632 -0
  231. django_cfg/apps/integrations/grpc/services/client/resilient.py +717 -0
  232. django_cfg/apps/integrations/grpc/services/commands/IMPLEMENTATION.md +456 -0
  233. django_cfg/apps/integrations/grpc/services/commands/README.md +252 -0
  234. django_cfg/apps/integrations/grpc/services/commands/__init__.py +114 -0
  235. django_cfg/apps/integrations/grpc/services/commands/base.py +561 -0
  236. django_cfg/apps/integrations/grpc/services/commands/examples/__init__.py +22 -0
  237. django_cfg/apps/integrations/grpc/services/commands/examples/base_client.py +166 -0
  238. django_cfg/apps/integrations/grpc/services/commands/examples/client.py +272 -0
  239. django_cfg/apps/integrations/grpc/services/commands/examples/config.py +177 -0
  240. django_cfg/apps/integrations/grpc/services/commands/examples/start.py +125 -0
  241. django_cfg/apps/integrations/grpc/services/commands/examples/stop.py +101 -0
  242. django_cfg/apps/integrations/grpc/services/commands/helpers/README.md +253 -0
  243. django_cfg/apps/integrations/grpc/services/commands/helpers/__init__.py +43 -0
  244. django_cfg/apps/integrations/grpc/services/commands/helpers/builders.py +114 -0
  245. django_cfg/apps/integrations/grpc/services/commands/helpers/decorators.py +219 -0
  246. django_cfg/apps/integrations/grpc/services/commands/helpers/protocols.py +138 -0
  247. django_cfg/apps/integrations/grpc/services/commands/registry.py +170 -0
  248. django_cfg/apps/integrations/grpc/services/commands/viewset_mixin.py +311 -0
  249. django_cfg/apps/integrations/grpc/services/discovery/__init__.py +70 -0
  250. django_cfg/apps/integrations/grpc/services/discovery/registration.py +127 -0
  251. django_cfg/apps/integrations/grpc/services/discovery/service_discovery.py +274 -0
  252. django_cfg/apps/integrations/grpc/services/discovery/service_registry.py +201 -0
  253. django_cfg/apps/integrations/grpc/services/discovery/statistics.py +215 -0
  254. django_cfg/apps/integrations/grpc/services/discovery/utils.py +166 -0
  255. django_cfg/apps/integrations/grpc/services/interceptors/__init__.py +47 -0
  256. django_cfg/apps/integrations/grpc/services/interceptors/db_logger.py +113 -0
  257. django_cfg/apps/integrations/grpc/services/interceptors/errors.py +248 -0
  258. django_cfg/apps/integrations/grpc/services/interceptors/metrics.py +80 -0
  259. django_cfg/apps/integrations/grpc/services/interceptors/observability.py +578 -0
  260. django_cfg/apps/integrations/grpc/services/interceptors/publishers.py +190 -0
  261. django_cfg/apps/integrations/grpc/services/interceptors/utils.py +107 -0
  262. django_cfg/apps/integrations/grpc/services/interceptors/wrapped_handler.py +29 -0
  263. django_cfg/apps/integrations/grpc/services/management/__init__.py +37 -0
  264. django_cfg/apps/integrations/grpc/services/management/config_helper.py +152 -0
  265. django_cfg/apps/integrations/grpc/services/management/proto_manager.py +268 -0
  266. django_cfg/apps/integrations/grpc/services/monitoring/__init__.py +17 -0
  267. django_cfg/apps/integrations/grpc/services/monitoring/monitoring.py +395 -0
  268. django_cfg/apps/integrations/grpc/services/routing/__init__.py +59 -0
  269. django_cfg/apps/integrations/grpc/services/routing/config.py +83 -0
  270. django_cfg/apps/integrations/grpc/services/routing/router.py +430 -0
  271. django_cfg/apps/integrations/grpc/services/streaming/README.md +463 -0
  272. django_cfg/apps/integrations/grpc/services/streaming/__init__.py +115 -0
  273. django_cfg/apps/integrations/grpc/services/streaming/config.py +487 -0
  274. django_cfg/apps/integrations/grpc/services/streaming/core/__init__.py +21 -0
  275. django_cfg/apps/integrations/grpc/services/streaming/core/connection.py +199 -0
  276. django_cfg/apps/integrations/grpc/services/streaming/core/queue.py +104 -0
  277. django_cfg/apps/integrations/grpc/services/streaming/core/registry.py +299 -0
  278. django_cfg/apps/integrations/grpc/services/streaming/integrations/__init__.py +18 -0
  279. django_cfg/apps/integrations/grpc/services/streaming/integrations/centrifugo.py +228 -0
  280. django_cfg/apps/integrations/grpc/services/streaming/integrations/circuit_breaker.py +247 -0
  281. django_cfg/apps/integrations/grpc/services/streaming/processors/__init__.py +18 -0
  282. django_cfg/apps/integrations/grpc/services/streaming/processors/input.py +390 -0
  283. django_cfg/apps/integrations/grpc/services/streaming/processors/output.py +199 -0
  284. django_cfg/apps/integrations/grpc/services/streaming/service.py +474 -0
  285. django_cfg/apps/integrations/grpc/services/streaming/types.py +316 -0
  286. django_cfg/apps/integrations/grpc/testing/__init__.py +12 -0
  287. django_cfg/apps/integrations/grpc/testing/examples.py +263 -0
  288. django_cfg/apps/integrations/grpc/urls.py +36 -0
  289. django_cfg/apps/integrations/grpc/utils/SERVER_LOGGING.md +164 -0
  290. django_cfg/apps/integrations/grpc/utils/__init__.py +108 -0
  291. django_cfg/apps/integrations/grpc/utils/betterproto_compiler.py +576 -0
  292. django_cfg/apps/integrations/grpc/utils/converters.py +565 -0
  293. django_cfg/apps/integrations/grpc/utils/handlers.py +242 -0
  294. django_cfg/apps/integrations/grpc/utils/integration_test.py +334 -0
  295. django_cfg/apps/integrations/grpc/utils/proto_gen.py +463 -0
  296. django_cfg/apps/integrations/grpc/utils/streaming_logger.py +425 -0
  297. django_cfg/apps/integrations/grpc/views/__init__.py +15 -0
  298. django_cfg/apps/integrations/grpc/views/api_keys.py +235 -0
  299. django_cfg/apps/integrations/grpc/views/config.py +193 -0
  300. django_cfg/apps/integrations/grpc/views/monitoring.py +360 -0
  301. django_cfg/apps/integrations/grpc/views/services.py +298 -0
  302. django_cfg/apps/integrations/rq/__init__.py +9 -0
  303. django_cfg/apps/integrations/rq/_cfg/__init__.py +28 -0
  304. django_cfg/apps/integrations/rq/_cfg/dependencies.py +313 -0
  305. django_cfg/apps/integrations/rq/apps.py +157 -0
  306. django_cfg/apps/integrations/rq/management/__init__.py +1 -0
  307. django_cfg/apps/integrations/rq/management/commands/__init__.py +1 -0
  308. django_cfg/apps/integrations/rq/management/commands/rqscheduler.py +31 -0
  309. django_cfg/apps/integrations/rq/management/commands/rqstats.py +33 -0
  310. django_cfg/apps/integrations/rq/management/commands/rqworker.py +31 -0
  311. django_cfg/apps/integrations/rq/management/commands/rqworker_pool.py +27 -0
  312. django_cfg/apps/integrations/rq/serializers/__init__.py +40 -0
  313. django_cfg/apps/integrations/rq/serializers/health.py +77 -0
  314. django_cfg/apps/integrations/rq/serializers/job.py +104 -0
  315. django_cfg/apps/integrations/rq/serializers/queue.py +80 -0
  316. django_cfg/apps/integrations/rq/serializers/schedule.py +183 -0
  317. django_cfg/apps/integrations/rq/serializers/testing.py +139 -0
  318. django_cfg/apps/integrations/rq/serializers/worker.py +58 -0
  319. django_cfg/apps/integrations/rq/services/__init__.py +25 -0
  320. django_cfg/apps/integrations/rq/services/config_helper.py +323 -0
  321. django_cfg/apps/integrations/rq/services/models/README.md +417 -0
  322. django_cfg/apps/integrations/rq/services/models/__init__.py +30 -0
  323. django_cfg/apps/integrations/rq/services/models/event.py +123 -0
  324. django_cfg/apps/integrations/rq/services/models/job.py +99 -0
  325. django_cfg/apps/integrations/rq/services/models/queue.py +92 -0
  326. django_cfg/apps/integrations/rq/services/models/worker.py +106 -0
  327. django_cfg/apps/integrations/rq/services/rq_converters.py +188 -0
  328. django_cfg/apps/integrations/rq/tasks/__init__.py +21 -0
  329. django_cfg/apps/integrations/rq/tasks/demo_tasks.py +55 -0
  330. django_cfg/apps/integrations/rq/tasks/maintenance.py +259 -0
  331. django_cfg/apps/integrations/rq/urls.py +54 -0
  332. django_cfg/apps/integrations/rq/views/__init__.py +19 -0
  333. django_cfg/apps/integrations/rq/views/jobs.py +900 -0
  334. django_cfg/apps/integrations/rq/views/monitoring.py +248 -0
  335. django_cfg/apps/integrations/rq/views/queues.py +261 -0
  336. django_cfg/apps/integrations/rq/views/schedule.py +408 -0
  337. django_cfg/apps/integrations/rq/views/testing.py +698 -0
  338. django_cfg/apps/integrations/rq/views/workers.py +198 -0
  339. django_cfg/apps/integrations/webpush/__init__.py +18 -0
  340. django_cfg/apps/integrations/webpush/_cfg.py +35 -0
  341. django_cfg/apps/integrations/webpush/admin/__init__.py +13 -0
  342. django_cfg/apps/integrations/webpush/admin/config.py +76 -0
  343. django_cfg/apps/integrations/webpush/admin/push_subscription.py +115 -0
  344. django_cfg/apps/integrations/webpush/apps.py +98 -0
  345. django_cfg/apps/integrations/webpush/management/commands/test_push.py +85 -0
  346. django_cfg/apps/integrations/webpush/migrations/0001_initial.py +73 -0
  347. django_cfg/apps/integrations/webpush/models/__init__.py +5 -0
  348. django_cfg/apps/integrations/webpush/models/push_subscription.py +80 -0
  349. django_cfg/apps/integrations/webpush/serializers/__init__.py +19 -0
  350. django_cfg/apps/integrations/webpush/serializers/subscription.py +78 -0
  351. django_cfg/apps/integrations/webpush/services/__init__.py +33 -0
  352. django_cfg/apps/integrations/webpush/services/exceptions.py +61 -0
  353. django_cfg/apps/integrations/webpush/services/models.py +64 -0
  354. django_cfg/apps/integrations/webpush/services/push_service.py +270 -0
  355. django_cfg/apps/integrations/webpush/urls.py +23 -0
  356. django_cfg/apps/integrations/webpush/views/__init__.py +7 -0
  357. django_cfg/apps/integrations/webpush/views/api.py +175 -0
  358. django_cfg/apps/system/accounts/README.md +333 -0
  359. django_cfg/apps/system/accounts/admin/__init__.py +45 -0
  360. django_cfg/apps/system/accounts/admin/filters.py +128 -0
  361. django_cfg/apps/system/accounts/admin/inlines.py +177 -0
  362. django_cfg/apps/system/accounts/admin/oauth_admin.py +170 -0
  363. django_cfg/apps/system/accounts/admin/resources.py +270 -0
  364. django_cfg/apps/system/accounts/admin/user_admin.py +375 -0
  365. django_cfg/apps/system/accounts/apps.py +19 -0
  366. django_cfg/apps/system/accounts/management/commands/otp_test.py +206 -0
  367. django_cfg/apps/system/accounts/managers/user_manager.py +299 -0
  368. django_cfg/apps/system/accounts/migrations/0001_initial.py +119 -0
  369. django_cfg/apps/system/accounts/migrations/0008_oauth_models.py +180 -0
  370. django_cfg/apps/system/accounts/migrations/0009_delete_twilioresponse.py +22 -0
  371. django_cfg/apps/system/accounts/migrations/0010_twofactorsettings.py +100 -0
  372. django_cfg/apps/system/accounts/migrations/0011_delete_twofactorsettings.py +16 -0
  373. django_cfg/apps/system/accounts/migrations/0012_customuser_is_test_account.py +21 -0
  374. django_cfg/apps/system/accounts/migrations/0013_add_deleted_at.py +22 -0
  375. django_cfg/apps/system/accounts/models/__init__.py +68 -0
  376. django_cfg/apps/system/accounts/models/choices.py +15 -0
  377. django_cfg/apps/system/accounts/models/oauth.py +263 -0
  378. django_cfg/apps/system/accounts/models/settings.py +133 -0
  379. django_cfg/apps/system/accounts/models/user.py +254 -0
  380. django_cfg/apps/system/accounts/serializers/__init__.py +25 -0
  381. django_cfg/apps/system/accounts/serializers/oauth.py +171 -0
  382. django_cfg/apps/system/accounts/serializers/otp.py +171 -0
  383. django_cfg/apps/system/accounts/serializers/profile.py +236 -0
  384. django_cfg/apps/system/accounts/services/github_service.py +418 -0
  385. django_cfg/apps/system/accounts/services/otp_service.py +305 -0
  386. django_cfg/apps/system/accounts/signals.py +162 -0
  387. django_cfg/apps/system/accounts/urls.py +70 -0
  388. django_cfg/apps/system/accounts/utils/notifications.py +346 -0
  389. django_cfg/apps/system/accounts/views/oauth.py +368 -0
  390. django_cfg/apps/system/accounts/views/otp.py +205 -0
  391. django_cfg/apps/system/accounts/views/profile.py +250 -0
  392. django_cfg/apps/system/frontend/JWT_AUTO_INJECTION.md +224 -0
  393. django_cfg/apps/system/frontend/__init__.py +18 -0
  394. django_cfg/apps/system/frontend/apps.py +15 -0
  395. django_cfg/apps/system/frontend/management/commands/download_admin.py +111 -0
  396. django_cfg/apps/system/frontend/setup.py +105 -0
  397. django_cfg/apps/system/frontend/templates/frontend/404.html +23 -0
  398. django_cfg/apps/system/frontend/templates/frontend/route_not_found.html +33 -0
  399. django_cfg/apps/system/frontend/test_routing.py +134 -0
  400. django_cfg/apps/system/frontend/urls.py +12 -0
  401. django_cfg/apps/system/frontend/utils/__init__.py +24 -0
  402. django_cfg/apps/system/frontend/utils/compression.py +75 -0
  403. django_cfg/apps/system/frontend/utils/downloader.py +342 -0
  404. django_cfg/apps/system/frontend/utils/html_link_fixer.py +203 -0
  405. django_cfg/apps/system/frontend/utils/jwt_injection.py +134 -0
  406. django_cfg/apps/system/frontend/utils/spa_path_resolver.py +94 -0
  407. django_cfg/apps/system/frontend/views.py +270 -0
  408. django_cfg/apps/system/totp/README.md +292 -0
  409. django_cfg/apps/system/totp/__init__.py +38 -0
  410. django_cfg/apps/system/totp/admin/__init__.py +22 -0
  411. django_cfg/apps/system/totp/admin/backup_admin.py +44 -0
  412. django_cfg/apps/system/totp/admin/config.py +143 -0
  413. django_cfg/apps/system/totp/admin/device_admin.py +72 -0
  414. django_cfg/apps/system/totp/admin/session_admin.py +58 -0
  415. django_cfg/apps/system/totp/apps.py +20 -0
  416. django_cfg/apps/system/totp/decorators/__init__.py +101 -0
  417. django_cfg/apps/system/totp/middleware/__init__.py +74 -0
  418. django_cfg/apps/system/totp/migrations/0001_initial.py +79 -0
  419. django_cfg/apps/system/totp/migrations/__init__.py +5 -0
  420. django_cfg/apps/system/totp/models/__init__.py +18 -0
  421. django_cfg/apps/system/totp/models/backup_code.py +82 -0
  422. django_cfg/apps/system/totp/models/choices.py +20 -0
  423. django_cfg/apps/system/totp/models/device.py +146 -0
  424. django_cfg/apps/system/totp/models/session.py +172 -0
  425. django_cfg/apps/system/totp/serializers/__init__.py +20 -0
  426. django_cfg/apps/system/totp/serializers/backup.py +51 -0
  427. django_cfg/apps/system/totp/serializers/device.py +66 -0
  428. django_cfg/apps/system/totp/serializers/setup.py +72 -0
  429. django_cfg/apps/system/totp/serializers/verify.py +79 -0
  430. django_cfg/apps/system/totp/services/__init__.py +15 -0
  431. django_cfg/apps/system/totp/services/backup_service.py +181 -0
  432. django_cfg/apps/system/totp/services/session_service.py +267 -0
  433. django_cfg/apps/system/totp/services/totp_service.py +289 -0
  434. django_cfg/apps/system/totp/signals.py +125 -0
  435. django_cfg/apps/system/totp/urls.py +77 -0
  436. django_cfg/apps/system/totp/views/__init__.py +17 -0
  437. django_cfg/apps/system/totp/views/backup.py +134 -0
  438. django_cfg/apps/system/totp/views/device.py +171 -0
  439. django_cfg/apps/system/totp/views/setup.py +171 -0
  440. django_cfg/apps/system/totp/views/verify.py +228 -0
  441. django_cfg/apps/tools/currency/__init__.py +5 -0
  442. django_cfg/apps/tools/currency/admin/__init__.py +23 -0
  443. django_cfg/apps/tools/currency/admin/currency_admin.py +114 -0
  444. django_cfg/apps/tools/currency/admin/currency_rate_admin.py +183 -0
  445. django_cfg/apps/tools/currency/apps.py +37 -0
  446. django_cfg/apps/tools/currency/migrations/0001_initial.py +131 -0
  447. django_cfg/apps/tools/currency/migrations/0002_populate_currencies.py +86 -0
  448. django_cfg/apps/tools/currency/models.py +248 -0
  449. django_cfg/apps/tools/currency/services/__init__.py +36 -0
  450. django_cfg/apps/tools/currency/services/clients/__init__.py +6 -0
  451. django_cfg/apps/tools/currency/services/clients/coinpaprika.py +149 -0
  452. django_cfg/apps/tools/currency/services/clients/hybrid.py +237 -0
  453. django_cfg/apps/tools/currency/services/converter.py +226 -0
  454. django_cfg/apps/tools/currency/services/exceptions.py +21 -0
  455. django_cfg/apps/tools/currency/services/schemas.py +33 -0
  456. django_cfg/apps/tools/currency/services/update.py +166 -0
  457. django_cfg/apps/tools/currency/tasks.py +83 -0
  458. django_cfg/apps/urls.py +65 -119
  459. django_cfg/cli/README.md +2 -2
  460. django_cfg/cli/commands/create_project.py +324 -101
  461. django_cfg/cli/commands/info.py +3 -3
  462. django_cfg/cli/commands/search.py +80 -0
  463. django_cfg/cli/main.py +2 -0
  464. django_cfg/cli/utils.py +1 -3
  465. django_cfg/config.py +60 -5
  466. django_cfg/core/__init__.py +3 -0
  467. django_cfg/core/backends/__init__.py +1 -0
  468. django_cfg/core/backends/smtp.py +69 -0
  469. django_cfg/core/base/config_model.py +310 -270
  470. django_cfg/core/builders/apps_builder.py +58 -88
  471. django_cfg/core/builders/middleware_builder.py +33 -6
  472. django_cfg/core/builders/security_builder.py +404 -16
  473. django_cfg/core/constants.py +8 -0
  474. django_cfg/core/debug/README.md +116 -0
  475. django_cfg/core/debug/__init__.py +7 -0
  476. django_cfg/core/debug/example_config.py +63 -0
  477. django_cfg/core/debug/warnings_helper.py +155 -0
  478. django_cfg/core/decorators/__init__.py +28 -0
  479. django_cfg/core/decorators/cors.py +172 -0
  480. django_cfg/core/decorators/rate_limit.py +525 -0
  481. django_cfg/core/decorators/rate_limit_test.py +188 -0
  482. django_cfg/core/generation/core_generators/settings.py +3 -6
  483. django_cfg/core/generation/core_generators/static.py +7 -2
  484. django_cfg/core/generation/core_generators/templates.py +38 -23
  485. django_cfg/core/generation/data_generators/cache.py +28 -2
  486. django_cfg/core/generation/data_generators/database.py +70 -0
  487. django_cfg/core/generation/integration_generators/__init__.py +7 -3
  488. django_cfg/core/generation/integration_generators/api.py +12 -0
  489. django_cfg/core/generation/integration_generators/django_rq.py +80 -0
  490. django_cfg/core/generation/integration_generators/grpc_generator.py +335 -0
  491. django_cfg/core/generation/integration_generators/oauth.py +64 -0
  492. django_cfg/core/generation/integration_generators/third_party.py +8 -8
  493. django_cfg/core/generation/orchestrator.py +49 -6
  494. django_cfg/core/generation/security_generators/crypto_fields.py +72 -0
  495. django_cfg/core/generation/utility_generators/__init__.py +3 -0
  496. django_cfg/core/generation/utility_generators/i18n.py +1 -1
  497. django_cfg/core/generation/utility_generators/testing.py +79 -0
  498. django_cfg/core/integration/__init__.py +17 -0
  499. django_cfg/core/integration/display/__init__.py +10 -0
  500. django_cfg/core/integration/display/ai_hints.py +182 -0
  501. django_cfg/core/integration/display/banner.py +91 -0
  502. django_cfg/core/integration/display/base.py +73 -0
  503. django_cfg/core/integration/display/grpc_display.py +172 -0
  504. django_cfg/core/integration/display/startup.py +192 -112
  505. django_cfg/core/integration/timing.py +151 -0
  506. django_cfg/core/integration/url_integration.py +123 -9
  507. django_cfg/core/integration/version_checker.py +3 -3
  508. django_cfg/core/middleware/__init__.py +9 -0
  509. django_cfg/core/middleware/noindex.py +71 -0
  510. django_cfg/core/middleware/public_api_cors.py +132 -0
  511. django_cfg/core/utils/__init__.py +5 -0
  512. django_cfg/core/utils/url_helpers.py +73 -0
  513. django_cfg/core/validation.py +4 -6
  514. django_cfg/extensions/__init__.py +80 -0
  515. django_cfg/extensions/configs/__init__.py +9 -0
  516. django_cfg/extensions/configs/apps/__init__.py +39 -0
  517. django_cfg/extensions/configs/apps/agents.py +79 -0
  518. django_cfg/extensions/configs/apps/backup.py +175 -0
  519. django_cfg/extensions/configs/apps/base/__init__.py +18 -0
  520. django_cfg/extensions/configs/apps/base/constants.py +6 -0
  521. django_cfg/extensions/configs/apps/base/navigation.py +57 -0
  522. django_cfg/extensions/configs/apps/base/schedule.py +99 -0
  523. django_cfg/extensions/configs/apps/base/settings.py +208 -0
  524. django_cfg/extensions/configs/apps/currency.py +182 -0
  525. django_cfg/extensions/configs/apps/knowbase.py +103 -0
  526. django_cfg/extensions/configs/apps/leads.py +80 -0
  527. django_cfg/extensions/configs/apps/maintenance.py +68 -0
  528. django_cfg/extensions/configs/apps/newsletter.py +67 -0
  529. django_cfg/extensions/configs/apps/payments.py +138 -0
  530. django_cfg/extensions/configs/apps/support.py +89 -0
  531. django_cfg/extensions/configs/modules/__init__.py +11 -0
  532. django_cfg/extensions/configs/modules/base.py +83 -0
  533. django_cfg/extensions/constance.py +80 -0
  534. django_cfg/extensions/loader.py +284 -0
  535. django_cfg/extensions/manifest.py +57 -0
  536. django_cfg/extensions/mixin.py +157 -0
  537. django_cfg/extensions/module_loader.py +253 -0
  538. django_cfg/extensions/scanner.py +323 -0
  539. django_cfg/extensions/schedules.py +88 -0
  540. django_cfg/extensions/urls.py +214 -0
  541. django_cfg/management/commands/check_endpoints.py +3 -3
  542. django_cfg/management/commands/check_settings.py +3 -10
  543. django_cfg/management/commands/clear_constance.py +3 -10
  544. django_cfg/management/commands/create_token.py +4 -11
  545. django_cfg/management/commands/list_urls.py +6 -72
  546. django_cfg/management/commands/migrate_all.py +22 -103
  547. django_cfg/management/commands/migrator.py +29 -254
  548. django_cfg/management/commands/pool_status.py +153 -0
  549. django_cfg/management/commands/script.py +4 -10
  550. django_cfg/management/commands/show_config.py +8 -16
  551. django_cfg/management/commands/show_urls.py +5 -11
  552. django_cfg/management/commands/superuser.py +4 -43
  553. django_cfg/management/commands/test_db.py +448 -0
  554. django_cfg/management/commands/tree.py +5 -10
  555. django_cfg/management/utils/README.md +402 -0
  556. django_cfg/management/utils/__init__.py +37 -0
  557. django_cfg/management/utils/migration_manager.py +499 -0
  558. django_cfg/management/utils/mixins.py +176 -0
  559. django_cfg/management/utils/postgresql.py +228 -0
  560. django_cfg/middleware/README.md +372 -0
  561. django_cfg/middleware/__init__.py +6 -0
  562. django_cfg/middleware/admin_notifications.py +214 -0
  563. django_cfg/middleware/authentication.py +216 -0
  564. django_cfg/middleware/pagination.py +53 -54
  565. django_cfg/middleware/pool_cleanup.py +261 -0
  566. django_cfg/middleware/public_endpoints.py +0 -1
  567. django_cfg/middleware/user_activity.py +0 -5
  568. django_cfg/mixins/__init__.py +17 -0
  569. django_cfg/mixins/admin_api.py +37 -0
  570. django_cfg/mixins/client_api.py +39 -0
  571. django_cfg/mixins/public_api.py +31 -0
  572. django_cfg/mixins/superadmin_api.py +59 -0
  573. django_cfg/models/__init__.py +30 -2
  574. django_cfg/models/api/__init__.py +10 -0
  575. django_cfg/models/api/config.py +2 -2
  576. django_cfg/models/api/drf/config.py +4 -2
  577. django_cfg/models/api/grpc/__init__.py +75 -0
  578. django_cfg/models/api/grpc/config.py +732 -0
  579. django_cfg/models/api/oauth.py +222 -0
  580. django_cfg/models/api/rate_limiting.py +278 -0
  581. django_cfg/models/api/twofactor.py +110 -0
  582. django_cfg/models/api/webpush/__init__.py +9 -0
  583. django_cfg/models/api/webpush/config.py +68 -0
  584. django_cfg/models/django/__init__.py +7 -0
  585. django_cfg/models/django/axes.py +187 -0
  586. django_cfg/models/django/constance.py +10 -17
  587. django_cfg/models/django/crypto_fields.py +135 -0
  588. django_cfg/models/django/currency.py +69 -0
  589. django_cfg/models/django/django_rq.py +780 -0
  590. django_cfg/models/django/openapi.py +53 -3
  591. django_cfg/models/infrastructure/__init__.py +14 -2
  592. django_cfg/models/infrastructure/backup.py +413 -0
  593. django_cfg/models/infrastructure/database/config.py +16 -0
  594. django_cfg/models/infrastructure/database/converters.py +2 -0
  595. django_cfg/models/ngrok/config.py +7 -6
  596. django_cfg/models/services/email.py +13 -13
  597. django_cfg/modules/base.py +124 -61
  598. django_cfg/modules/django_admin/README.md +1165 -0
  599. django_cfg/modules/django_admin/__init__.py +86 -29
  600. django_cfg/modules/django_admin/apps.py +19 -0
  601. django_cfg/modules/django_admin/base/__init__.py +3 -1
  602. django_cfg/modules/django_admin/base/pydantic_admin/__init__.py +90 -0
  603. django_cfg/modules/django_admin/base/pydantic_admin/actions.py +90 -0
  604. django_cfg/modules/django_admin/base/pydantic_admin/base_class.py +44 -0
  605. django_cfg/modules/django_admin/base/pydantic_admin/display_methods.py +420 -0
  606. django_cfg/modules/django_admin/base/pydantic_admin/import_export.py +111 -0
  607. django_cfg/modules/django_admin/base/pydantic_admin/list_display.py +156 -0
  608. django_cfg/modules/django_admin/base/pydantic_admin/mixin.py +276 -0
  609. django_cfg/modules/django_admin/base/pydantic_admin/views.py +285 -0
  610. django_cfg/modules/django_admin/config/__init__.py +41 -2
  611. django_cfg/modules/django_admin/config/action_config.py +16 -2
  612. django_cfg/modules/django_admin/config/admin_config.py +76 -5
  613. django_cfg/modules/django_admin/config/background_task_config.py +76 -0
  614. django_cfg/modules/django_admin/config/documentation_config.py +529 -0
  615. django_cfg/modules/django_admin/config/field_config/__init__.py +48 -0
  616. django_cfg/modules/django_admin/config/field_config/avatar.py +89 -0
  617. django_cfg/modules/django_admin/config/field_config/badge.py +37 -0
  618. django_cfg/modules/django_admin/config/field_config/base.py +54 -0
  619. django_cfg/modules/django_admin/config/field_config/boolean.py +32 -0
  620. django_cfg/modules/django_admin/config/field_config/counter_badge.py +116 -0
  621. django_cfg/modules/django_admin/config/field_config/currency.py +55 -0
  622. django_cfg/modules/django_admin/config/field_config/datetime.py +34 -0
  623. django_cfg/modules/django_admin/config/field_config/decimal.py +38 -0
  624. django_cfg/modules/django_admin/config/field_config/foreignkey.py +104 -0
  625. django_cfg/modules/django_admin/config/field_config/image.py +66 -0
  626. django_cfg/modules/django_admin/config/field_config/image_preview.py +223 -0
  627. django_cfg/modules/django_admin/config/field_config/link.py +95 -0
  628. django_cfg/modules/django_admin/config/field_config/markdown.py +97 -0
  629. django_cfg/modules/django_admin/config/field_config/money.py +117 -0
  630. django_cfg/modules/django_admin/config/field_config/short_uuid.py +31 -0
  631. django_cfg/modules/django_admin/config/field_config/status_badges.py +151 -0
  632. django_cfg/modules/django_admin/config/field_config/text.py +38 -0
  633. django_cfg/modules/django_admin/config/field_config/user.py +31 -0
  634. django_cfg/modules/django_admin/config/field_config/video.py +84 -0
  635. django_cfg/modules/django_admin/config/fieldset_config.py +24 -0
  636. django_cfg/modules/django_admin/config/resource_config.py +129 -0
  637. django_cfg/modules/django_admin/config/widget_config.py +192 -0
  638. django_cfg/modules/django_admin/models/badge_models.py +16 -2
  639. django_cfg/modules/django_admin/models/display_models.py +1 -0
  640. django_cfg/modules/django_admin/static/django_admin/css/documentation-modal.css +349 -0
  641. django_cfg/modules/django_admin/static/django_admin/css/image_preview.css +129 -0
  642. django_cfg/modules/django_admin/static/django_admin/css/json_editor_theme.css +100 -0
  643. django_cfg/modules/django_admin/templates/django_admin/change_form_docs.html +11 -0
  644. django_cfg/modules/django_admin/templates/django_admin/change_list_docs.html +11 -0
  645. django_cfg/modules/django_admin/templates/django_admin/documentation_block.html +15 -0
  646. django_cfg/modules/django_admin/templates/django_admin/documentation_modal.html +317 -0
  647. django_cfg/modules/django_admin/templates/django_admin/documentation_tree_node.html +124 -0
  648. django_cfg/modules/django_admin/templates/django_admin/markdown_docs_block.html +37 -0
  649. django_cfg/modules/django_admin/templates/django_admin/widgets/avatar_display.html +56 -0
  650. django_cfg/modules/django_admin/templates/django_admin/widgets/counter_badge_display.html +21 -0
  651. django_cfg/modules/django_admin/templates/django_admin/widgets/encrypted_field.html +80 -0
  652. django_cfg/modules/django_admin/templates/django_admin/widgets/encrypted_password.html +62 -0
  653. django_cfg/modules/django_admin/templates/django_admin/widgets/image_display.html +14 -0
  654. django_cfg/modules/django_admin/templates/django_admin/widgets/image_preview.html +340 -0
  655. django_cfg/modules/django_admin/templates/django_admin/widgets/image_preview_card.html +70 -0
  656. django_cfg/modules/django_admin/templates/django_admin/widgets/image_preview_modal.html +286 -0
  657. django_cfg/modules/django_admin/templates/django_admin/widgets/image_preview_thumbnail.html +38 -0
  658. django_cfg/modules/django_admin/templates/django_admin/widgets/json_display.html +17 -0
  659. django_cfg/modules/django_admin/templates/django_admin/widgets/json_editor.html +153 -0
  660. django_cfg/modules/django_admin/templates/django_admin/widgets/link_display.html +29 -0
  661. django_cfg/modules/django_admin/templates/django_admin/widgets/money_field_input.html +157 -0
  662. django_cfg/modules/django_admin/templates/django_admin/widgets/short_uuid_display.html +13 -0
  663. django_cfg/modules/django_admin/templates/django_admin/widgets/status_badges_display.html +21 -0
  664. django_cfg/modules/django_admin/templates/django_admin/widgets/video_display.html +69 -0
  665. django_cfg/modules/django_admin/utils/__init__.py +70 -3
  666. django_cfg/modules/django_admin/utils/badges/__init__.py +13 -0
  667. django_cfg/modules/django_admin/utils/badges/status_badges.py +179 -0
  668. django_cfg/modules/django_admin/utils/decorators.py +30 -4
  669. django_cfg/modules/django_admin/utils/displays/__init__.py +34 -0
  670. django_cfg/modules/django_admin/utils/displays/avatar_display.py +158 -0
  671. django_cfg/modules/django_admin/utils/displays/counter_badge_display.py +138 -0
  672. django_cfg/modules/django_admin/utils/displays/data_displays.py +316 -0
  673. django_cfg/modules/django_admin/utils/displays/image_display.py +124 -0
  674. django_cfg/modules/django_admin/utils/displays/image_preview.py +225 -0
  675. django_cfg/modules/django_admin/utils/displays/json_display.py +155 -0
  676. django_cfg/modules/django_admin/utils/displays/link_display.py +133 -0
  677. django_cfg/modules/django_admin/utils/displays/short_uuid_display.py +95 -0
  678. django_cfg/modules/django_admin/utils/displays/status_badges_display.py +118 -0
  679. django_cfg/modules/django_admin/utils/displays/text_display.py +136 -0
  680. django_cfg/modules/django_admin/utils/displays/video_display.py +149 -0
  681. django_cfg/modules/django_admin/utils/html/__init__.py +26 -0
  682. django_cfg/modules/django_admin/utils/html/badges.py +55 -0
  683. django_cfg/modules/django_admin/utils/html/base.py +198 -0
  684. django_cfg/modules/django_admin/utils/html/code.py +87 -0
  685. django_cfg/modules/django_admin/utils/html/composition.py +265 -0
  686. django_cfg/modules/django_admin/utils/html/formatting.py +274 -0
  687. django_cfg/modules/django_admin/utils/html/keyvalue.py +219 -0
  688. django_cfg/modules/django_admin/utils/html/markdown_integration.py +108 -0
  689. django_cfg/modules/django_admin/utils/html/progress.py +127 -0
  690. django_cfg/modules/django_admin/utils/html_builder.py +58 -194
  691. django_cfg/modules/django_admin/utils/markdown/__init__.py +21 -0
  692. django_cfg/modules/django_admin/utils/markdown/mermaid_plugin.py +277 -0
  693. django_cfg/modules/django_admin/utils/markdown/renderer.py +366 -0
  694. django_cfg/modules/django_admin/widgets/README.md +148 -0
  695. django_cfg/modules/django_admin/widgets/__init__.py +38 -0
  696. django_cfg/modules/django_admin/widgets/encrypted_field_widget.py +66 -0
  697. django_cfg/modules/django_admin/widgets/image_preview_widget.py +131 -0
  698. django_cfg/modules/django_admin/widgets/json_editor_widget.py +91 -0
  699. django_cfg/modules/django_admin/widgets/money_widget.py +452 -0
  700. django_cfg/modules/django_admin/widgets/registry.py +144 -9
  701. django_cfg/modules/django_ai/__init__.py +50 -0
  702. django_cfg/modules/django_ai/client.py +237 -0
  703. django_cfg/modules/django_client/core/__init__.py +19 -7
  704. django_cfg/modules/django_client/core/archiver/manager.py +148 -0
  705. django_cfg/modules/django_client/core/config/config.py +8 -0
  706. django_cfg/modules/django_client/core/config/service.py +1 -1
  707. django_cfg/modules/django_client/core/external/__init__.py +131 -0
  708. django_cfg/modules/django_client/core/external/base.py +388 -0
  709. django_cfg/modules/django_client/core/external/go.py +179 -0
  710. django_cfg/modules/django_client/core/external/python.py +244 -0
  711. django_cfg/modules/django_client/core/external/swift.py +158 -0
  712. django_cfg/modules/django_client/core/generator/__init__.py +120 -2
  713. django_cfg/modules/django_client/core/generator/base.py +3 -0
  714. django_cfg/modules/django_client/core/generator/claude_generator.py +345 -0
  715. django_cfg/modules/django_client/core/generator/go/__init__.py +14 -0
  716. django_cfg/modules/django_client/core/generator/go/client_generator.py +124 -0
  717. django_cfg/modules/django_client/core/generator/go/files_generator.py +133 -0
  718. django_cfg/modules/django_client/core/generator/go/generator.py +207 -0
  719. django_cfg/modules/django_client/core/generator/go/models_generator.py +304 -0
  720. django_cfg/modules/django_client/core/generator/go/naming.py +193 -0
  721. django_cfg/modules/django_client/core/generator/go/operations_generator.py +134 -0
  722. django_cfg/modules/django_client/core/generator/go/templates/Makefile.j2 +38 -0
  723. django_cfg/modules/django_client/core/generator/go/templates/README.md.j2 +55 -0
  724. django_cfg/modules/django_client/core/generator/go/templates/_header.jinja +1 -0
  725. django_cfg/modules/django_client/core/generator/go/templates/client.go.j2 +122 -0
  726. django_cfg/modules/django_client/core/generator/go/templates/enums.go.j2 +49 -0
  727. django_cfg/modules/django_client/core/generator/go/templates/errors.go.j2 +182 -0
  728. django_cfg/modules/django_client/core/generator/go/templates/go.mod.j2 +6 -0
  729. django_cfg/modules/django_client/core/generator/go/templates/main_client.go.j2 +60 -0
  730. django_cfg/modules/django_client/core/generator/go/templates/middleware.go.j2 +388 -0
  731. django_cfg/modules/django_client/core/generator/go/templates/models.go.j2 +28 -0
  732. django_cfg/modules/django_client/core/generator/go/templates/operations_client.go.j2 +142 -0
  733. django_cfg/modules/django_client/core/generator/go/templates/validation.go.j2 +217 -0
  734. django_cfg/modules/django_client/core/generator/go/type_mapper.py +380 -0
  735. django_cfg/modules/django_client/core/generator/proto/ENUM_NAMING_FIX.md +149 -0
  736. django_cfg/modules/django_client/core/generator/proto/__init__.py +19 -0
  737. django_cfg/modules/django_client/core/generator/proto/generator.py +511 -0
  738. django_cfg/modules/django_client/core/generator/proto/messages_generator.py +326 -0
  739. django_cfg/modules/django_client/core/generator/proto/naming.py +216 -0
  740. django_cfg/modules/django_client/core/generator/proto/services_generator.py +299 -0
  741. django_cfg/modules/django_client/core/generator/proto/test_proto_generator.py +262 -0
  742. django_cfg/modules/django_client/core/generator/proto/type_mapper.py +154 -0
  743. django_cfg/modules/django_client/core/generator/python/files_generator.py +5 -13
  744. django_cfg/modules/django_client/core/generator/python/generator.py +34 -1
  745. django_cfg/modules/django_client/core/generator/python/models_generator.py +76 -50
  746. django_cfg/modules/django_client/core/generator/python/operations_generator.py +6 -8
  747. django_cfg/modules/django_client/core/generator/python/templates/__init__.py.jinja +2 -0
  748. django_cfg/modules/django_client/core/generator/python/templates/_header.jinja +1 -0
  749. django_cfg/modules/django_client/core/generator/python/templates/api_wrapper.py.jinja +18 -4
  750. django_cfg/modules/django_client/core/generator/python/templates/app_init.py.jinja +2 -0
  751. django_cfg/modules/django_client/core/generator/python/templates/client/main_client.py.jinja +0 -2
  752. django_cfg/modules/django_client/core/generator/python/templates/client/sync_main_client.py.jinja +0 -1
  753. django_cfg/modules/django_client/core/generator/python/templates/client_file.py.jinja +2 -0
  754. django_cfg/modules/django_client/core/generator/python/templates/main_init.py.jinja +6 -4
  755. django_cfg/modules/django_client/core/generator/python/templates/models/app_models.py.jinja +2 -0
  756. django_cfg/modules/django_client/core/generator/python/templates/models/enums.py.jinja +9 -1
  757. django_cfg/modules/django_client/core/generator/python/templates/models/models.py.jinja +2 -0
  758. django_cfg/modules/django_client/core/generator/python/templates/models/schema_class.py.jinja +1 -1
  759. django_cfg/modules/django_client/core/generator/python/templates/pyproject.toml.jinja +2 -0
  760. django_cfg/modules/django_client/core/generator/python/templates/utils/logger.py.jinja +2 -0
  761. django_cfg/modules/django_client/core/generator/python/templates/utils/retry.py.jinja +2 -0
  762. django_cfg/modules/django_client/core/generator/python/templates/utils/schema.py.jinja +2 -0
  763. django_cfg/modules/django_client/core/generator/swift_codable/__init__.py +30 -0
  764. django_cfg/modules/django_client/core/generator/swift_codable/endpoints_generator.py +284 -0
  765. django_cfg/modules/django_client/core/generator/swift_codable/generator.py +398 -0
  766. django_cfg/modules/django_client/core/generator/swift_codable/models_generator.py +299 -0
  767. django_cfg/modules/django_client/core/generator/swift_codable/naming.py +114 -0
  768. django_cfg/modules/django_client/core/generator/swift_codable/type_mapper.py +120 -0
  769. django_cfg/modules/django_client/core/generator/typescript/client_generator.py +36 -2
  770. django_cfg/modules/django_client/core/generator/typescript/fetchers_generator.py +11 -1
  771. django_cfg/modules/django_client/core/generator/typescript/files_generator.py +18 -5
  772. django_cfg/modules/django_client/core/generator/typescript/generator.py +43 -0
  773. django_cfg/modules/django_client/core/generator/typescript/hooks_generator.py +7 -1
  774. django_cfg/modules/django_client/core/generator/typescript/models_generator.py +16 -0
  775. django_cfg/modules/django_client/core/generator/typescript/naming.py +6 -4
  776. django_cfg/modules/django_client/core/generator/typescript/operations_generator.py +169 -6
  777. django_cfg/modules/django_client/core/generator/typescript/schemas_generator.py +41 -7
  778. django_cfg/modules/django_client/core/generator/typescript/templates/_header.jinja +1 -0
  779. django_cfg/modules/django_client/core/generator/typescript/templates/api_instance.ts.jinja +63 -13
  780. django_cfg/modules/django_client/core/generator/typescript/templates/app_index.ts.jinja +2 -0
  781. django_cfg/modules/django_client/core/generator/typescript/templates/client/client.ts.jinja +284 -25
  782. django_cfg/modules/django_client/core/generator/typescript/templates/client/flat_client.ts.jinja +10 -3
  783. django_cfg/modules/django_client/core/generator/typescript/templates/client_file.ts.jinja +2 -0
  784. django_cfg/modules/django_client/core/generator/typescript/templates/fetchers/fetchers.ts.jinja +3 -1
  785. django_cfg/modules/django_client/core/generator/typescript/templates/fetchers/function.ts.jinja +45 -2
  786. django_cfg/modules/django_client/core/generator/typescript/templates/fetchers/index.ts.jinja +2 -0
  787. django_cfg/modules/django_client/core/generator/typescript/templates/hooks/hooks.ts.jinja +8 -0
  788. django_cfg/modules/django_client/core/generator/typescript/templates/hooks/index.ts.jinja +4 -0
  789. django_cfg/modules/django_client/core/generator/typescript/templates/index.ts.jinja +2 -0
  790. django_cfg/modules/django_client/core/generator/typescript/templates/main_index.ts.jinja +36 -22
  791. django_cfg/modules/django_client/core/generator/typescript/templates/models/app_models.ts.jinja +9 -1
  792. django_cfg/modules/django_client/core/generator/typescript/templates/models/enums.ts.jinja +2 -0
  793. django_cfg/modules/django_client/core/generator/typescript/templates/models/models.ts.jinja +2 -0
  794. django_cfg/modules/django_client/core/generator/typescript/templates/package.json.jinja +5 -1
  795. django_cfg/modules/django_client/core/generator/typescript/templates/schemas/index.ts.jinja +2 -0
  796. django_cfg/modules/django_client/core/generator/typescript/templates/utils/errors.ts.jinja +2 -0
  797. django_cfg/modules/django_client/core/generator/typescript/templates/utils/http.ts.jinja +18 -5
  798. django_cfg/modules/django_client/core/generator/typescript/templates/utils/logger.ts.jinja +2 -0
  799. django_cfg/modules/django_client/core/generator/typescript/templates/utils/retry.ts.jinja +2 -0
  800. django_cfg/modules/django_client/core/generator/typescript/templates/utils/schema.ts.jinja +2 -0
  801. django_cfg/modules/django_client/core/generator/typescript/templates/utils/storage.ts.jinja +5 -0
  802. django_cfg/modules/django_client/core/generator/typescript/templates/utils/validation-events.ts.jinja +135 -0
  803. django_cfg/modules/django_client/core/groups/manager.py +113 -22
  804. django_cfg/modules/django_client/core/ir/context.py +14 -0
  805. django_cfg/modules/django_client/core/ir/schema.py +81 -2
  806. django_cfg/modules/django_client/core/parser/base.py +249 -15
  807. django_cfg/modules/django_client/core/parser/openapi30.py +26 -1
  808. django_cfg/modules/django_client/core/parser/openapi31.py +26 -1
  809. django_cfg/modules/django_client/core/validation/checker.py +23 -1
  810. django_cfg/modules/django_client/core/validation/rules/__init__.py +2 -0
  811. django_cfg/modules/django_client/core/validation/rules/dict_field.py +283 -0
  812. django_cfg/modules/django_client/core/validation/safety.py +4 -4
  813. django_cfg/modules/django_client/generate_client/__init__.py +52 -0
  814. django_cfg/modules/django_client/generate_client/config.py +120 -0
  815. django_cfg/modules/django_client/generate_client/generators/__init__.py +12 -0
  816. django_cfg/modules/django_client/generate_client/generators/external.py +246 -0
  817. django_cfg/modules/django_client/generate_client/generators/internal.py +200 -0
  818. django_cfg/modules/django_client/generate_client/orchestrator.py +566 -0
  819. django_cfg/modules/django_client/generate_client/utils/__init__.py +9 -0
  820. django_cfg/modules/django_client/generate_client/utils/nextjs.py +214 -0
  821. django_cfg/modules/django_client/generate_client/utils/schema.py +97 -0
  822. django_cfg/modules/django_client/generate_client/utils/typescript.py +104 -0
  823. django_cfg/modules/django_client/management/commands/generate_client.py +164 -291
  824. django_cfg/modules/django_client/management/commands/validate_openapi.py +5 -2
  825. django_cfg/modules/django_client/urls.py +38 -5
  826. django_cfg/modules/django_currency/__init__.py +8 -102
  827. django_cfg/modules/django_currency/admin.py +97 -0
  828. django_cfg/modules/django_currency/fields.py +145 -0
  829. django_cfg/modules/django_email/__init__.py +9 -1
  830. django_cfg/modules/django_email/management/commands/test_email.py +4 -10
  831. django_cfg/modules/django_email/service.py +117 -54
  832. django_cfg/modules/django_email/utils.py +167 -1
  833. django_cfg/modules/django_health/service.py +2 -1
  834. django_cfg/modules/django_import_export/README.md +19 -1
  835. django_cfg/modules/django_import_export/__init__.py +8 -0
  836. django_cfg/modules/django_import_export/apps.py +16 -0
  837. django_cfg/modules/django_import_export/templates/admin/import_export/change_list_export.html +6 -0
  838. django_cfg/modules/django_import_export/templates/admin/import_export/change_list_export_item.html +7 -0
  839. django_cfg/modules/django_import_export/templates/admin/import_export/change_list_import.html +6 -0
  840. django_cfg/modules/django_import_export/templates/admin/import_export/change_list_import_export.html +39 -0
  841. django_cfg/modules/django_import_export/templates/admin/import_export/change_list_import_item.html +7 -0
  842. django_cfg/modules/django_llm/llm/__init__.py +33 -2
  843. django_cfg/modules/django_llm/llm/cache_dirs.py +119 -0
  844. django_cfg/modules/django_llm/llm/client.py +8 -0
  845. django_cfg/modules/django_llm/llm/models_cache.py +5 -22
  846. django_cfg/modules/django_llm/llm/vision/__init__.py +21 -0
  847. django_cfg/modules/django_llm/llm/vision/client.py +572 -0
  848. django_cfg/modules/django_llm/llm/vision/image_encoder.py +198 -0
  849. django_cfg/modules/django_llm/llm/vision/models.py +103 -0
  850. django_cfg/modules/django_llm/llm/vision/vision_models.py +370 -0
  851. django_cfg/modules/django_llm_monitoring/README.md +872 -0
  852. django_cfg/modules/django_llm_monitoring/__init__.py +24 -0
  853. django_cfg/modules/django_llm_monitoring/apps.py +11 -0
  854. django_cfg/modules/django_llm_monitoring/balance_checker.py +90 -0
  855. django_cfg/modules/django_llm_monitoring/management/__init__.py +1 -0
  856. django_cfg/modules/django_llm_monitoring/management/commands/__init__.py +1 -0
  857. django_cfg/modules/django_llm_monitoring/management/commands/check_llm_balance.py +143 -0
  858. django_cfg/modules/django_llm_monitoring/models.py +64 -0
  859. django_cfg/modules/django_llm_monitoring/notifier.py +285 -0
  860. django_cfg/modules/django_llm_monitoring/providers/__init__.py +15 -0
  861. django_cfg/modules/django_llm_monitoring/providers/base.py +109 -0
  862. django_cfg/modules/django_llm_monitoring/providers/openai.py +126 -0
  863. django_cfg/modules/django_llm_monitoring/providers/openrouter.py +128 -0
  864. django_cfg/modules/django_logging/__init__.py +2 -0
  865. django_cfg/modules/django_logging/django_logger.py +238 -58
  866. django_cfg/modules/django_ngrok/management/commands/runserver_ngrok.py +17 -14
  867. django_cfg/modules/django_tailwind/templates/django_tailwind/base.html +26 -11
  868. django_cfg/modules/django_tailwind/templates/django_tailwind/components/navbar.html +2 -2
  869. django_cfg/modules/django_tailwind/templates/django_tailwind/simple.html +10 -4
  870. django_cfg/modules/django_telegram/__init__.py +2 -0
  871. django_cfg/modules/django_telegram/management/commands/test_telegram.py +4 -11
  872. django_cfg/modules/django_telegram/service.py +289 -42
  873. django_cfg/modules/django_unfold/__init__.py +5 -24
  874. django_cfg/modules/django_unfold/forms/EXAMPLE.md +48 -0
  875. django_cfg/modules/django_unfold/forms/__init__.py +5 -0
  876. django_cfg/modules/django_unfold/forms/auth.py +48 -0
  877. django_cfg/modules/django_unfold/models/__init__.py +0 -23
  878. django_cfg/modules/django_unfold/models/config.py +149 -136
  879. django_cfg/modules/django_unfold/models/navigation.py +1 -1
  880. django_cfg/modules/django_unfold/navigation.py +338 -0
  881. django_cfg/modules/django_unfold/tailwind.py +29 -79
  882. django_cfg/modules/nextjs_admin/__init__.py +12 -0
  883. django_cfg/modules/nextjs_admin/apps.py +12 -0
  884. django_cfg/modules/nextjs_admin/models/__init__.py +5 -0
  885. django_cfg/modules/nextjs_admin/models/config.py +191 -0
  886. django_cfg/modules/nextjs_admin/templatetags/__init__.py +1 -0
  887. django_cfg/modules/nextjs_admin/templatetags/nextjs_admin.py +164 -0
  888. django_cfg/modules/nextjs_admin/urls.py +19 -0
  889. django_cfg/modules/nextjs_admin/views.py +283 -0
  890. django_cfg/pyproject.toml +394 -41
  891. django_cfg/registry/core.py +26 -3
  892. django_cfg/registry/modules.py +19 -2
  893. django_cfg/registry/services.py +10 -6
  894. django_cfg/registry/third_party.py +0 -9
  895. django_cfg/requirements.txt +52 -0
  896. django_cfg/routing/callbacks.py +1 -43
  897. django_cfg/static/admin/css/constance.css +44 -0
  898. django_cfg/static/admin/css/dashboard.css +6 -170
  899. django_cfg/static/admin/css/layout.css +21 -0
  900. django_cfg/static/admin/css/tabs.css +95 -0
  901. django_cfg/static/admin/css/theme.css +110 -0
  902. django_cfg/templates/TAILWIND.md +170 -0
  903. django_cfg/templates/admin/DUAL_TAB_ARCHITECTURE.md +561 -0
  904. django_cfg/templates/admin/base_site.html +8 -0
  905. django_cfg/templates/admin/constance/includes/results_list.html +68 -11
  906. django_cfg/templates/admin/index.html +813 -61
  907. django_cfg/templates/unfold/layouts/skeleton.html +27 -0
  908. django_cfg/templatetags/django_cfg.py +380 -0
  909. django_cfg/testing/README.md +278 -0
  910. django_cfg/testing/SMART_MIGRATION_MANAGER.md +396 -0
  911. django_cfg/testing/TEST_DB_COMMAND.md +331 -0
  912. django_cfg/testing/__init__.py +14 -0
  913. django_cfg/testing/runners.py +320 -0
  914. django_cfg/utils/__init__.py +5 -1
  915. django_cfg/utils/pool_monitor.py +320 -0
  916. django_cfg/utils/smart_defaults.py +235 -9
  917. django_cfg-1.5.181.dist-info/METADATA +388 -0
  918. django_cfg-1.5.181.dist-info/RECORD +1182 -0
  919. django_cfg-1.5.181.dist-info/WHEEL +4 -0
  920. django_cfg/apps/accounts/README.md +0 -333
  921. django_cfg/apps/accounts/__models.py +0 -286
  922. django_cfg/apps/accounts/admin/__init__.py +0 -45
  923. django_cfg/apps/accounts/admin/filters.py +0 -175
  924. django_cfg/apps/accounts/admin/inlines.py +0 -177
  925. django_cfg/apps/accounts/admin/resources.py +0 -376
  926. django_cfg/apps/accounts/admin/twilio_admin.py +0 -270
  927. django_cfg/apps/accounts/admin/user_admin.py +0 -308
  928. django_cfg/apps/accounts/apps.py +0 -19
  929. django_cfg/apps/accounts/management/commands/otp_test.py +0 -203
  930. django_cfg/apps/accounts/managers/user_manager.py +0 -299
  931. django_cfg/apps/accounts/migrations/0001_initial.py +0 -119
  932. django_cfg/apps/accounts/models/__init__.py +0 -67
  933. django_cfg/apps/accounts/models/choices.py +0 -32
  934. django_cfg/apps/accounts/models/integrations.py +0 -75
  935. django_cfg/apps/accounts/models/user.py +0 -81
  936. django_cfg/apps/accounts/serializers/__init__.py +0 -20
  937. django_cfg/apps/accounts/serializers/otp.py +0 -134
  938. django_cfg/apps/accounts/serializers/profile.py +0 -169
  939. django_cfg/apps/accounts/serializers/webhook.py +0 -94
  940. django_cfg/apps/accounts/services/otp_service.py +0 -205
  941. django_cfg/apps/accounts/signals.py +0 -147
  942. django_cfg/apps/accounts/urls.py +0 -49
  943. django_cfg/apps/accounts/utils/notifications.py +0 -381
  944. django_cfg/apps/accounts/views/otp.py +0 -168
  945. django_cfg/apps/accounts/views/profile.py +0 -165
  946. django_cfg/apps/accounts/views/webhook.py +0 -263
  947. django_cfg/apps/agents/README.md +0 -129
  948. django_cfg/apps/agents/__init__.py +0 -68
  949. django_cfg/apps/agents/admin/__init__.py +0 -29
  950. django_cfg/apps/agents/admin/execution_admin.py +0 -692
  951. django_cfg/apps/agents/admin/registry_admin.py +0 -462
  952. django_cfg/apps/agents/admin/toolsets_admin.py +0 -633
  953. django_cfg/apps/agents/apps.py +0 -29
  954. django_cfg/apps/agents/core/__init__.py +0 -20
  955. django_cfg/apps/agents/core/dependencies.py +0 -155
  956. django_cfg/apps/agents/core/django_agent.py +0 -223
  957. django_cfg/apps/agents/core/exceptions.py +0 -80
  958. django_cfg/apps/agents/core/models.py +0 -107
  959. django_cfg/apps/agents/core/orchestrator.py +0 -406
  960. django_cfg/apps/agents/examples/__init__.py +0 -3
  961. django_cfg/apps/agents/examples/simple_example.py +0 -166
  962. django_cfg/apps/agents/integration/__init__.py +0 -14
  963. django_cfg/apps/agents/integration/middleware.py +0 -81
  964. django_cfg/apps/agents/integration/registry.py +0 -348
  965. django_cfg/apps/agents/integration/signals.py +0 -50
  966. django_cfg/apps/agents/management/__init__.py +0 -3
  967. django_cfg/apps/agents/management/commands/__init__.py +0 -3
  968. django_cfg/apps/agents/management/commands/create_agent.py +0 -366
  969. django_cfg/apps/agents/management/commands/orchestrator_status.py +0 -192
  970. django_cfg/apps/agents/managers/__init__.py +0 -28
  971. django_cfg/apps/agents/managers/execution.py +0 -237
  972. django_cfg/apps/agents/managers/registry.py +0 -255
  973. django_cfg/apps/agents/managers/toolsets.py +0 -497
  974. django_cfg/apps/agents/migrations/0001_initial.py +0 -287
  975. django_cfg/apps/agents/migrations/__init__.py +0 -5
  976. django_cfg/apps/agents/models/__init__.py +0 -15
  977. django_cfg/apps/agents/models/execution.py +0 -216
  978. django_cfg/apps/agents/models/registry.py +0 -221
  979. django_cfg/apps/agents/models/toolsets.py +0 -306
  980. django_cfg/apps/agents/patterns/__init__.py +0 -24
  981. django_cfg/apps/agents/patterns/content_agents.py +0 -235
  982. django_cfg/apps/agents/toolsets/__init__.py +0 -15
  983. django_cfg/apps/agents/toolsets/cache_toolset.py +0 -286
  984. django_cfg/apps/agents/toolsets/django_toolset.py +0 -221
  985. django_cfg/apps/agents/toolsets/file_toolset.py +0 -325
  986. django_cfg/apps/agents/toolsets/orm_toolset.py +0 -320
  987. django_cfg/apps/agents/urls.py +0 -47
  988. django_cfg/apps/agents/urls_admin.py +0 -12
  989. django_cfg/apps/api/endpoints/drf_views.py +0 -55
  990. django_cfg/apps/ipc/README.md +0 -346
  991. django_cfg/apps/ipc/__init__.py +0 -51
  992. django_cfg/apps/ipc/apps.py +0 -28
  993. django_cfg/apps/ipc/serializers/__init__.py +0 -19
  994. django_cfg/apps/ipc/serializers/serializers.py +0 -229
  995. django_cfg/apps/ipc/services/__init__.py +0 -7
  996. django_cfg/apps/ipc/services/client/__init__.py +0 -23
  997. django_cfg/apps/ipc/services/client/client.py +0 -542
  998. django_cfg/apps/ipc/services/client/config.py +0 -214
  999. django_cfg/apps/ipc/services/client/exceptions.py +0 -201
  1000. django_cfg/apps/ipc/services/monitor.py +0 -464
  1001. django_cfg/apps/ipc/static/django_cfg_ipc/js/dashboard.mjs +0 -441
  1002. django_cfg/apps/ipc/templates/django_cfg_ipc/base.html +0 -71
  1003. django_cfg/apps/ipc/templates/django_cfg_ipc/dashboard.html +0 -202
  1004. django_cfg/apps/ipc/urls.py +0 -21
  1005. django_cfg/apps/ipc/urls_admin.py +0 -20
  1006. django_cfg/apps/ipc/views/__init__.py +0 -8
  1007. django_cfg/apps/ipc/views/dashboard.py +0 -15
  1008. django_cfg/apps/ipc/views/viewsets.py +0 -245
  1009. django_cfg/apps/knowbase/README.md +0 -150
  1010. django_cfg/apps/knowbase/__init__.py +0 -27
  1011. django_cfg/apps/knowbase/admin/__init__.py +0 -37
  1012. django_cfg/apps/knowbase/admin/archive_admin.py +0 -767
  1013. django_cfg/apps/knowbase/admin/chat_admin.py +0 -604
  1014. django_cfg/apps/knowbase/admin/document_admin.py +0 -699
  1015. django_cfg/apps/knowbase/admin/external_data_admin.py +0 -543
  1016. django_cfg/apps/knowbase/apps.py +0 -81
  1017. django_cfg/apps/knowbase/config/README.md +0 -176
  1018. django_cfg/apps/knowbase/config/__init__.py +0 -52
  1019. django_cfg/apps/knowbase/config/constance_fields.py +0 -188
  1020. django_cfg/apps/knowbase/config/constance_settings.py +0 -201
  1021. django_cfg/apps/knowbase/config/settings.py +0 -468
  1022. django_cfg/apps/knowbase/examples/__init__.py +0 -3
  1023. django_cfg/apps/knowbase/examples/external_data_usage.py +0 -194
  1024. django_cfg/apps/knowbase/management/commands/knowbase_stats.py +0 -159
  1025. django_cfg/apps/knowbase/management/commands/setup_knowbase.py +0 -57
  1026. django_cfg/apps/knowbase/managers/__init__.py +0 -22
  1027. django_cfg/apps/knowbase/managers/archive.py +0 -427
  1028. django_cfg/apps/knowbase/managers/base.py +0 -32
  1029. django_cfg/apps/knowbase/managers/chat.py +0 -142
  1030. django_cfg/apps/knowbase/managers/document.py +0 -203
  1031. django_cfg/apps/knowbase/managers/external_data.py +0 -472
  1032. django_cfg/apps/knowbase/migrations/0001_initial.py +0 -428
  1033. django_cfg/apps/knowbase/migrations/0002_archiveitem_archiveitemchunk_documentarchive_and_more.py +0 -435
  1034. django_cfg/apps/knowbase/migrations/0003_alter_documentarchive_archive_type.py +0 -29
  1035. django_cfg/apps/knowbase/migrations/__init__.py +0 -5
  1036. django_cfg/apps/knowbase/mixins/__init__.py +0 -32
  1037. django_cfg/apps/knowbase/mixins/config/__init__.py +0 -14
  1038. django_cfg/apps/knowbase/mixins/config/defaults.py +0 -75
  1039. django_cfg/apps/knowbase/mixins/config/meta_config.py +0 -120
  1040. django_cfg/apps/knowbase/mixins/config.py +0 -109
  1041. django_cfg/apps/knowbase/mixins/creator.py +0 -81
  1042. django_cfg/apps/knowbase/mixins/examples/vehicle_model_example.py +0 -200
  1043. django_cfg/apps/knowbase/mixins/external_data_mixin.py +0 -516
  1044. django_cfg/apps/knowbase/mixins/generators/__init__.py +0 -16
  1045. django_cfg/apps/knowbase/mixins/generators/content_generator.py +0 -218
  1046. django_cfg/apps/knowbase/mixins/generators/field_analyzer.py +0 -76
  1047. django_cfg/apps/knowbase/mixins/generators/metadata_generator.py +0 -124
  1048. django_cfg/apps/knowbase/mixins/service.py +0 -364
  1049. django_cfg/apps/knowbase/models/__init__.py +0 -41
  1050. django_cfg/apps/knowbase/models/archive.py +0 -599
  1051. django_cfg/apps/knowbase/models/base.py +0 -57
  1052. django_cfg/apps/knowbase/models/chat.py +0 -158
  1053. django_cfg/apps/knowbase/models/document.py +0 -269
  1054. django_cfg/apps/knowbase/models/external_data.py +0 -370
  1055. django_cfg/apps/knowbase/serializers/__init__.py +0 -68
  1056. django_cfg/apps/knowbase/serializers/archive_serializers.py +0 -394
  1057. django_cfg/apps/knowbase/serializers/chat_serializers.py +0 -138
  1058. django_cfg/apps/knowbase/serializers/document_serializers.py +0 -95
  1059. django_cfg/apps/knowbase/serializers/external_data_serializers.py +0 -256
  1060. django_cfg/apps/knowbase/serializers/public_serializers.py +0 -75
  1061. django_cfg/apps/knowbase/services/__init__.py +0 -40
  1062. django_cfg/apps/knowbase/services/archive/__init__.py +0 -43
  1063. django_cfg/apps/knowbase/services/archive/analyzers/__init__.py +0 -17
  1064. django_cfg/apps/knowbase/services/archive/analyzers/complexity_analyzer.py +0 -33
  1065. django_cfg/apps/knowbase/services/archive/analyzers/purpose_detector.py +0 -36
  1066. django_cfg/apps/knowbase/services/archive/analyzers/quality_analyzer.py +0 -39
  1067. django_cfg/apps/knowbase/services/archive/analyzers/tag_generator.py +0 -103
  1068. django_cfg/apps/knowbase/services/archive/archive_service.py +0 -538
  1069. django_cfg/apps/knowbase/services/archive/chunking/__init__.py +0 -19
  1070. django_cfg/apps/knowbase/services/archive/chunking/base.py +0 -82
  1071. django_cfg/apps/knowbase/services/archive/chunking/json_chunker.py +0 -63
  1072. django_cfg/apps/knowbase/services/archive/chunking/markdown_chunker.py +0 -108
  1073. django_cfg/apps/knowbase/services/archive/chunking/python_chunker.py +0 -249
  1074. django_cfg/apps/knowbase/services/archive/chunking/text_chunker.py +0 -71
  1075. django_cfg/apps/knowbase/services/archive/chunking_service.py +0 -168
  1076. django_cfg/apps/knowbase/services/archive/context/__init__.py +0 -14
  1077. django_cfg/apps/knowbase/services/archive/context/builders.py +0 -221
  1078. django_cfg/apps/knowbase/services/archive/context/models.py +0 -39
  1079. django_cfg/apps/knowbase/services/archive/exceptions.py +0 -52
  1080. django_cfg/apps/knowbase/services/archive/extraction_service.py +0 -509
  1081. django_cfg/apps/knowbase/services/archive/vectorization_service.py +0 -365
  1082. django_cfg/apps/knowbase/services/base.py +0 -55
  1083. django_cfg/apps/knowbase/services/chat_service.py +0 -240
  1084. django_cfg/apps/knowbase/services/document_service.py +0 -145
  1085. django_cfg/apps/knowbase/services/embedding/__init__.py +0 -43
  1086. django_cfg/apps/knowbase/services/embedding/async_processor.py +0 -242
  1087. django_cfg/apps/knowbase/services/embedding/batch_processor.py +0 -253
  1088. django_cfg/apps/knowbase/services/embedding/batch_result.py +0 -62
  1089. django_cfg/apps/knowbase/services/embedding/models.py +0 -234
  1090. django_cfg/apps/knowbase/services/embedding/processors.py +0 -152
  1091. django_cfg/apps/knowbase/services/embedding/utils.py +0 -176
  1092. django_cfg/apps/knowbase/services/prompt_builder.py +0 -192
  1093. django_cfg/apps/knowbase/services/search_service.py +0 -374
  1094. django_cfg/apps/knowbase/signals/__init__.py +0 -18
  1095. django_cfg/apps/knowbase/signals/archive_signals.py +0 -212
  1096. django_cfg/apps/knowbase/signals/chat_signals.py +0 -38
  1097. django_cfg/apps/knowbase/signals/document_signals.py +0 -143
  1098. django_cfg/apps/knowbase/signals/external_data_signals.py +0 -157
  1099. django_cfg/apps/knowbase/tasks/__init__.py +0 -38
  1100. django_cfg/apps/knowbase/tasks/archive_tasks.py +0 -316
  1101. django_cfg/apps/knowbase/tasks/document_processing.py +0 -354
  1102. django_cfg/apps/knowbase/tasks/external_data_tasks.py +0 -343
  1103. django_cfg/apps/knowbase/tasks/maintenance.py +0 -197
  1104. django_cfg/apps/knowbase/urls.py +0 -23
  1105. django_cfg/apps/knowbase/urls_admin.py +0 -26
  1106. django_cfg/apps/knowbase/urls_system.py +0 -25
  1107. django_cfg/apps/knowbase/utils/__init__.py +0 -12
  1108. django_cfg/apps/knowbase/utils/chunk_settings.py +0 -263
  1109. django_cfg/apps/knowbase/utils/text_processing.py +0 -376
  1110. django_cfg/apps/knowbase/utils/validation.py +0 -99
  1111. django_cfg/apps/knowbase/views/__init__.py +0 -28
  1112. django_cfg/apps/knowbase/views/archive_views.py +0 -472
  1113. django_cfg/apps/knowbase/views/base.py +0 -46
  1114. django_cfg/apps/knowbase/views/chat_views.py +0 -197
  1115. django_cfg/apps/knowbase/views/document_views.py +0 -183
  1116. django_cfg/apps/knowbase/views/public_views.py +0 -129
  1117. django_cfg/apps/leads/README.md +0 -113
  1118. django_cfg/apps/leads/admin/__init__.py +0 -11
  1119. django_cfg/apps/leads/admin/actions.py +0 -29
  1120. django_cfg/apps/leads/admin/leads_admin.py +0 -255
  1121. django_cfg/apps/leads/admin/resources.py +0 -119
  1122. django_cfg/apps/leads/admin.py +0 -68
  1123. django_cfg/apps/leads/apps.py +0 -16
  1124. django_cfg/apps/leads/migrations/0001_initial.py +0 -127
  1125. django_cfg/apps/leads/models.py +0 -86
  1126. django_cfg/apps/leads/serializers.py +0 -48
  1127. django_cfg/apps/leads/signals.py +0 -67
  1128. django_cfg/apps/leads/tests.py +0 -271
  1129. django_cfg/apps/leads/urls.py +0 -19
  1130. django_cfg/apps/leads/urls_admin.py +0 -12
  1131. django_cfg/apps/leads/views.py +0 -91
  1132. django_cfg/apps/maintenance/__init__.py +0 -56
  1133. django_cfg/apps/maintenance/admin/__init__.py +0 -17
  1134. django_cfg/apps/maintenance/admin/actions.py +0 -159
  1135. django_cfg/apps/maintenance/admin/api_key_admin.py +0 -211
  1136. django_cfg/apps/maintenance/admin/log_admin.py +0 -208
  1137. django_cfg/apps/maintenance/admin/scheduled_admin.py +0 -226
  1138. django_cfg/apps/maintenance/admin/site_admin.py +0 -286
  1139. django_cfg/apps/maintenance/apps.py +0 -18
  1140. django_cfg/apps/maintenance/management/commands/maintenance.py +0 -262
  1141. django_cfg/apps/maintenance/management/commands/process_scheduled_maintenance.py +0 -241
  1142. django_cfg/apps/maintenance/management/commands/sync_cloudflare.py +0 -209
  1143. django_cfg/apps/maintenance/managers/__init__.py +0 -15
  1144. django_cfg/apps/maintenance/managers/cloudflare_site_manager.py +0 -193
  1145. django_cfg/apps/maintenance/managers/maintenance_log_manager.py +0 -152
  1146. django_cfg/apps/maintenance/migrations/0001_initial.py +0 -380
  1147. django_cfg/apps/maintenance/migrations/0002_cloudflaresite_maintenance_url.py +0 -21
  1148. django_cfg/apps/maintenance/migrations/0003_cloudflaresite_include_subdomains_and_more.py +0 -27
  1149. django_cfg/apps/maintenance/models/__init__.py +0 -29
  1150. django_cfg/apps/maintenance/models/cloudflare_api_key.py +0 -109
  1151. django_cfg/apps/maintenance/models/cloudflare_site.py +0 -168
  1152. django_cfg/apps/maintenance/models/maintenance_log.py +0 -132
  1153. django_cfg/apps/maintenance/models/scheduled_maintenance.py +0 -308
  1154. django_cfg/apps/maintenance/services/__init__.py +0 -42
  1155. django_cfg/apps/maintenance/services/bulk_operations_service.py +0 -400
  1156. django_cfg/apps/maintenance/services/maintenance_service.py +0 -320
  1157. django_cfg/apps/maintenance/services/scheduled_maintenance_service.py +0 -381
  1158. django_cfg/apps/maintenance/services/site_sync_service.py +0 -434
  1159. django_cfg/apps/maintenance/urls.py +0 -12
  1160. django_cfg/apps/maintenance/urls_admin.py +0 -12
  1161. django_cfg/apps/maintenance/utils/__init__.py +0 -12
  1162. django_cfg/apps/maintenance/utils/retry_utils.py +0 -109
  1163. django_cfg/apps/newsletter/README.md +0 -92
  1164. django_cfg/apps/newsletter/admin/__init__.py +0 -35
  1165. django_cfg/apps/newsletter/admin/filters.py +0 -124
  1166. django_cfg/apps/newsletter/admin/newsletter_admin.py +0 -814
  1167. django_cfg/apps/newsletter/admin/resources.py +0 -241
  1168. django_cfg/apps/newsletter/admin.py +0 -241
  1169. django_cfg/apps/newsletter/admin_filters.py +0 -124
  1170. django_cfg/apps/newsletter/apps.py +0 -22
  1171. django_cfg/apps/newsletter/management/commands/test_newsletter.py +0 -139
  1172. django_cfg/apps/newsletter/managers/README.md +0 -120
  1173. django_cfg/apps/newsletter/managers/__init__.py +0 -1
  1174. django_cfg/apps/newsletter/migrations/0001_initial.py +0 -100
  1175. django_cfg/apps/newsletter/migrations/__init__.py +0 -0
  1176. django_cfg/apps/newsletter/models.py +0 -260
  1177. django_cfg/apps/newsletter/serializers.py +0 -154
  1178. django_cfg/apps/newsletter/services/email_service.py +0 -392
  1179. django_cfg/apps/newsletter/signals.py +0 -76
  1180. django_cfg/apps/newsletter/urls.py +0 -41
  1181. django_cfg/apps/newsletter/urls_admin.py +0 -12
  1182. django_cfg/apps/newsletter/utils/__init__.py +0 -1
  1183. django_cfg/apps/newsletter/views/__init__.py +0 -42
  1184. django_cfg/apps/newsletter/views/campaigns.py +0 -138
  1185. django_cfg/apps/newsletter/views/emails.py +0 -129
  1186. django_cfg/apps/newsletter/views/newsletters.py +0 -44
  1187. django_cfg/apps/newsletter/views/subscriptions.py +0 -146
  1188. django_cfg/apps/newsletter/views/tracking.py +0 -75
  1189. django_cfg/apps/payments/CONFIGURATION.md +0 -280
  1190. django_cfg/apps/payments/__init__.py +0 -14
  1191. django_cfg/apps/payments/admin/__init__.py +0 -35
  1192. django_cfg/apps/payments/admin/actions.py +0 -17
  1193. django_cfg/apps/payments/admin/balance_actions.py +0 -18
  1194. django_cfg/apps/payments/admin/balance_admin.py +0 -385
  1195. django_cfg/apps/payments/admin/currency_admin.py +0 -130
  1196. django_cfg/apps/payments/admin/filters.py +0 -196
  1197. django_cfg/apps/payments/admin/payment_actions.py +0 -65
  1198. django_cfg/apps/payments/admin/payment_admin.py +0 -313
  1199. django_cfg/apps/payments/admin/withdrawal_actions.py +0 -61
  1200. django_cfg/apps/payments/admin/withdrawal_admin.py +0 -355
  1201. django_cfg/apps/payments/api/__init__.py +0 -5
  1202. django_cfg/apps/payments/api/serializers.py +0 -223
  1203. django_cfg/apps/payments/api/urls.py +0 -38
  1204. django_cfg/apps/payments/api/views.py +0 -397
  1205. django_cfg/apps/payments/apps.py +0 -23
  1206. django_cfg/apps/payments/config.py +0 -104
  1207. django_cfg/apps/payments/management/README.md +0 -375
  1208. django_cfg/apps/payments/management/__init__.py +0 -0
  1209. django_cfg/apps/payments/management/commands/__init__.py +0 -0
  1210. django_cfg/apps/payments/management/commands/check_payment_status.py +0 -290
  1211. django_cfg/apps/payments/management/commands/create_payment.py +0 -346
  1212. django_cfg/apps/payments/management/commands/sync_currencies.py +0 -254
  1213. django_cfg/apps/payments/migrations/0001_initial.py +0 -159
  1214. django_cfg/apps/payments/migrations/__init__.py +0 -0
  1215. django_cfg/apps/payments/models/__init__.py +0 -23
  1216. django_cfg/apps/payments/models/balance.py +0 -255
  1217. django_cfg/apps/payments/models/base.py +0 -84
  1218. django_cfg/apps/payments/models/currency.py +0 -123
  1219. django_cfg/apps/payments/models/managers/__init__.py +0 -25
  1220. django_cfg/apps/payments/models/managers/balance_managers.py +0 -421
  1221. django_cfg/apps/payments/models/managers/payment_managers.py +0 -412
  1222. django_cfg/apps/payments/models/payment.py +0 -362
  1223. django_cfg/apps/payments/models/withdrawal.py +0 -331
  1224. django_cfg/apps/payments/services/__init__.py +0 -41
  1225. django_cfg/apps/payments/services/balance_service.py +0 -214
  1226. django_cfg/apps/payments/services/payment_service.py +0 -514
  1227. django_cfg/apps/payments/services/providers/__init__.py +0 -17
  1228. django_cfg/apps/payments/services/providers/models.py +0 -86
  1229. django_cfg/apps/payments/services/providers/nowpayments/__init__.py +0 -16
  1230. django_cfg/apps/payments/services/providers/nowpayments/config.py +0 -135
  1231. django_cfg/apps/payments/services/providers/nowpayments/parser.py +0 -206
  1232. django_cfg/apps/payments/services/providers/nowpayments/provider.py +0 -347
  1233. django_cfg/apps/payments/urls.py +0 -14
  1234. django_cfg/apps/support/__init__.py +0 -0
  1235. django_cfg/apps/support/admin/__init__.py +0 -19
  1236. django_cfg/apps/support/admin/actions.py +0 -35
  1237. django_cfg/apps/support/admin/filters.py +0 -71
  1238. django_cfg/apps/support/admin/resources.py +0 -183
  1239. django_cfg/apps/support/admin/support_admin.py +0 -396
  1240. django_cfg/apps/support/admin.py +0 -197
  1241. django_cfg/apps/support/admin_filters.py +0 -71
  1242. django_cfg/apps/support/apps.py +0 -11
  1243. django_cfg/apps/support/managers/message_manager.py +0 -34
  1244. django_cfg/apps/support/managers/ticket_manager.py +0 -68
  1245. django_cfg/apps/support/migrations/0001_initial.py +0 -94
  1246. django_cfg/apps/support/migrations/0002_alter_message_ticket.py +0 -23
  1247. django_cfg/apps/support/migrations/__init__.py +0 -0
  1248. django_cfg/apps/support/models.py +0 -68
  1249. django_cfg/apps/support/serializers.py +0 -43
  1250. django_cfg/apps/support/signals.py +0 -86
  1251. django_cfg/apps/support/templates/support/chat/access_denied.html +0 -21
  1252. django_cfg/apps/support/templates/support/chat/ticket_chat.html +0 -210
  1253. django_cfg/apps/support/urls.py +0 -24
  1254. django_cfg/apps/support/urls_admin.py +0 -12
  1255. django_cfg/apps/support/utils/__init__.py +0 -0
  1256. django_cfg/apps/support/utils/support_email_service.py +0 -124
  1257. django_cfg/apps/support/views/__init__.py +0 -20
  1258. django_cfg/apps/support/views/admin.py +0 -50
  1259. django_cfg/apps/support/views/api.py +0 -169
  1260. django_cfg/apps/support/views/chat.py +0 -108
  1261. django_cfg/apps/tasks/__init__.py +0 -5
  1262. django_cfg/apps/tasks/admin/__init__.py +0 -11
  1263. django_cfg/apps/tasks/admin/actions.py +0 -29
  1264. django_cfg/apps/tasks/admin/tasks_admin.py +0 -154
  1265. django_cfg/apps/tasks/apps.py +0 -17
  1266. django_cfg/apps/tasks/serializers.py +0 -82
  1267. django_cfg/apps/tasks/static/tasks/css/dashboard.css +0 -120
  1268. django_cfg/apps/tasks/static/tasks/js/api.js +0 -100
  1269. django_cfg/apps/tasks/static/tasks/js/components/DataManager.js +0 -24
  1270. django_cfg/apps/tasks/static/tasks/js/components/TabManager.js +0 -85
  1271. django_cfg/apps/tasks/static/tasks/js/components/TaskRenderer.js +0 -216
  1272. django_cfg/apps/tasks/static/tasks/js/dashboard/main.mjs +0 -269
  1273. django_cfg/apps/tasks/static/tasks/js/dashboard/overview.mjs +0 -125
  1274. django_cfg/apps/tasks/static/tasks/js/dashboard/queues.mjs +0 -122
  1275. django_cfg/apps/tasks/static/tasks/js/dashboard/tasks.mjs +0 -352
  1276. django_cfg/apps/tasks/static/tasks/js/dashboard/workers.mjs +0 -171
  1277. django_cfg/apps/tasks/tasks/__init__.py +0 -10
  1278. django_cfg/apps/tasks/tasks/demo_tasks.py +0 -134
  1279. django_cfg/apps/tasks/templates/tasks/components/management_actions.html +0 -50
  1280. django_cfg/apps/tasks/templates/tasks/components/overview_content.html +0 -69
  1281. django_cfg/apps/tasks/templates/tasks/components/queues_content.html +0 -19
  1282. django_cfg/apps/tasks/templates/tasks/components/tab_navigation.html +0 -33
  1283. django_cfg/apps/tasks/templates/tasks/components/tasks_content.html +0 -51
  1284. django_cfg/apps/tasks/templates/tasks/components/tasks_mjs_integration.html +0 -269
  1285. django_cfg/apps/tasks/templates/tasks/components/workers_content.html +0 -30
  1286. django_cfg/apps/tasks/templates/tasks/layout/base.html +0 -22
  1287. django_cfg/apps/tasks/templates/tasks/pages/dashboard-improved.html +0 -168
  1288. django_cfg/apps/tasks/templates/tasks/pages/dashboard.html +0 -101
  1289. django_cfg/apps/tasks/templates/tasks/partials/task_row_template.html +0 -40
  1290. django_cfg/apps/tasks/templates/tasks/widgets/task_filters.html +0 -37
  1291. django_cfg/apps/tasks/templates/tasks/widgets/task_footer.html +0 -41
  1292. django_cfg/apps/tasks/templates/tasks/widgets/task_table.html +0 -50
  1293. django_cfg/apps/tasks/urls.py +0 -22
  1294. django_cfg/apps/tasks/urls_admin.py +0 -15
  1295. django_cfg/apps/tasks/utils/__init__.py +0 -1
  1296. django_cfg/apps/tasks/utils/simulator.py +0 -353
  1297. django_cfg/apps/tasks/views/__init__.py +0 -16
  1298. django_cfg/apps/tasks/views/api.py +0 -571
  1299. django_cfg/apps/tasks/views/dashboard.py +0 -89
  1300. django_cfg/core/generation/integration_generators/tasks.py +0 -92
  1301. django_cfg/management/commands/rundramatiq.py +0 -24
  1302. django_cfg/management/commands/rundramatiq_simulator.py +0 -22
  1303. django_cfg/management/commands/task_clear.py +0 -25
  1304. django_cfg/management/commands/task_status.py +0 -24
  1305. django_cfg/management/commands/test_twilio.py +0 -24
  1306. django_cfg/models/django/revolution_legacy.py +0 -223
  1307. django_cfg/models/tasks/__init__.py +0 -51
  1308. django_cfg/models/tasks/backends.py +0 -251
  1309. django_cfg/models/tasks/config.py +0 -316
  1310. django_cfg/models/tasks/utils.py +0 -174
  1311. django_cfg/modules/django_admin/base/pydantic_admin.py +0 -274
  1312. django_cfg/modules/django_admin/config/field_config.py +0 -197
  1313. django_cfg/modules/django_admin/utils/badges.py +0 -171
  1314. django_cfg/modules/django_admin/utils/displays.py +0 -203
  1315. django_cfg/modules/django_client/core/archive/manager.py +0 -134
  1316. django_cfg/modules/django_client/system/__init__.py +0 -24
  1317. django_cfg/modules/django_client/system/base_generator.py +0 -123
  1318. django_cfg/modules/django_client/system/generate_mjs_clients.py +0 -174
  1319. django_cfg/modules/django_client/system/mjs_generator.py +0 -219
  1320. django_cfg/modules/django_client/system/schema_parser.py +0 -195
  1321. django_cfg/modules/django_client/system/templates/api_client.js.j2 +0 -87
  1322. django_cfg/modules/django_client/system/templates/app_index.js.j2 +0 -13
  1323. django_cfg/modules/django_client/system/templates/base_client.js.j2 +0 -166
  1324. django_cfg/modules/django_client/system/templates/main_index.js.j2 +0 -80
  1325. django_cfg/modules/django_client/system/templates/types.js.j2 +0 -24
  1326. django_cfg/modules/django_currency/README.md +0 -169
  1327. django_cfg/modules/django_currency/clients/__init__.py +0 -11
  1328. django_cfg/modules/django_currency/clients/coinpaprika_client.py +0 -289
  1329. django_cfg/modules/django_currency/clients/hybrid_client.py +0 -588
  1330. django_cfg/modules/django_currency/core/__init__.py +0 -30
  1331. django_cfg/modules/django_currency/core/converter.py +0 -165
  1332. django_cfg/modules/django_currency/core/exceptions.py +0 -28
  1333. django_cfg/modules/django_currency/core/models.py +0 -166
  1334. django_cfg/modules/django_currency/database/__init__.py +0 -25
  1335. django_cfg/modules/django_currency/database/database_loader.py +0 -438
  1336. django_cfg/modules/django_currency/examples/__init__.py +0 -3
  1337. django_cfg/modules/django_currency/examples/example_database_usage.py +0 -145
  1338. django_cfg/modules/django_currency/utils/__init__.py +0 -9
  1339. django_cfg/modules/django_currency/utils/cache.py +0 -91
  1340. django_cfg/modules/django_dashboard/__init__.py +0 -23
  1341. django_cfg/modules/django_dashboard/components.py +0 -312
  1342. django_cfg/modules/django_dashboard/debug.py +0 -174
  1343. django_cfg/modules/django_dashboard/management/__init__.py +0 -0
  1344. django_cfg/modules/django_dashboard/management/commands/__init__.py +0 -0
  1345. django_cfg/modules/django_dashboard/management/commands/debug_dashboard.py +0 -109
  1346. django_cfg/modules/django_dashboard/sections/__init__.py +0 -1
  1347. django_cfg/modules/django_dashboard/sections/base.py +0 -129
  1348. django_cfg/modules/django_dashboard/sections/commands.py +0 -33
  1349. django_cfg/modules/django_dashboard/sections/documentation.py +0 -393
  1350. django_cfg/modules/django_dashboard/sections/overview.py +0 -398
  1351. django_cfg/modules/django_dashboard/sections/stats.py +0 -48
  1352. django_cfg/modules/django_dashboard/sections/system.py +0 -74
  1353. django_cfg/modules/django_logging/FIXES_SUMMARY.md +0 -276
  1354. django_cfg/modules/django_logging/LOGGING_GUIDE.md +0 -504
  1355. django_cfg/modules/django_tasks/__init__.py +0 -29
  1356. django_cfg/modules/django_tasks/dramatiq_setup.py +0 -20
  1357. django_cfg/modules/django_tasks/factory.py +0 -127
  1358. django_cfg/modules/django_tasks/management/__init__.py +0 -0
  1359. django_cfg/modules/django_tasks/management/commands/__init__.py +0 -0
  1360. django_cfg/modules/django_tasks/management/commands/rundramatiq.py +0 -253
  1361. django_cfg/modules/django_tasks/management/commands/rundramatiq_simulator.py +0 -436
  1362. django_cfg/modules/django_tasks/management/commands/task_clear.py +0 -226
  1363. django_cfg/modules/django_tasks/management/commands/task_status.py +0 -257
  1364. django_cfg/modules/django_tasks/service.py +0 -281
  1365. django_cfg/modules/django_tasks/settings.py +0 -107
  1366. django_cfg/modules/django_twilio/README.md +0 -501
  1367. django_cfg/modules/django_twilio/__init__.py +0 -92
  1368. django_cfg/modules/django_twilio/_imports.py +0 -30
  1369. django_cfg/modules/django_twilio/base.py +0 -196
  1370. django_cfg/modules/django_twilio/email_otp.py +0 -228
  1371. django_cfg/modules/django_twilio/exceptions.py +0 -337
  1372. django_cfg/modules/django_twilio/management/__init__.py +0 -0
  1373. django_cfg/modules/django_twilio/management/commands/__init__.py +0 -0
  1374. django_cfg/modules/django_twilio/management/commands/test_twilio.py +0 -111
  1375. django_cfg/modules/django_twilio/models.py +0 -409
  1376. django_cfg/modules/django_twilio/sendgrid_service.py +0 -502
  1377. django_cfg/modules/django_twilio/simple_service.py +0 -290
  1378. django_cfg/modules/django_twilio/sms.py +0 -95
  1379. django_cfg/modules/django_twilio/templates/guide.md +0 -266
  1380. django_cfg/modules/django_twilio/templates/sendgrid_otp_email.html +0 -213
  1381. django_cfg/modules/django_twilio/templates/sendgrid_test_data.json +0 -14
  1382. django_cfg/modules/django_twilio/twilio_service.py +0 -544
  1383. django_cfg/modules/django_twilio/unified.py +0 -311
  1384. django_cfg/modules/django_twilio/utils.py +0 -189
  1385. django_cfg/modules/django_twilio/whatsapp.py +0 -138
  1386. django_cfg/modules/django_unfold/callbacks/__init__.py +0 -9
  1387. django_cfg/modules/django_unfold/callbacks/actions.py +0 -51
  1388. django_cfg/modules/django_unfold/callbacks/apizones.py +0 -122
  1389. django_cfg/modules/django_unfold/callbacks/base.py +0 -290
  1390. django_cfg/modules/django_unfold/callbacks/charts.py +0 -223
  1391. django_cfg/modules/django_unfold/callbacks/commands.py +0 -40
  1392. django_cfg/modules/django_unfold/callbacks/main.py +0 -294
  1393. django_cfg/modules/django_unfold/callbacks/statistics.py +0 -240
  1394. django_cfg/modules/django_unfold/callbacks/system.py +0 -180
  1395. django_cfg/modules/django_unfold/callbacks/users.py +0 -65
  1396. django_cfg/modules/django_unfold/dashboard.py +0 -338
  1397. django_cfg/modules/django_unfold/models/dashboard.py +0 -207
  1398. django_cfg/modules/django_unfold/models/tabs.py +0 -26
  1399. django_cfg/modules/django_unfold/models.py +0 -98
  1400. django_cfg/modules/django_unfold/templates/unfold/helpers/app_list.html +0 -102
  1401. django_cfg/static/admin/js/commands.js +0 -171
  1402. django_cfg/static/admin/js/dashboard.js +0 -126
  1403. django_cfg/static/js/api/accounts/client.mjs +0 -69
  1404. django_cfg/static/js/api/accounts/index.mjs +0 -13
  1405. django_cfg/static/js/api/base.mjs +0 -166
  1406. django_cfg/static/js/api/index.mjs +0 -100
  1407. django_cfg/static/js/api/ipc/client.mjs +0 -74
  1408. django_cfg/static/js/api/ipc/index.mjs +0 -13
  1409. django_cfg/static/js/api/leads/client.mjs +0 -71
  1410. django_cfg/static/js/api/leads/index.mjs +0 -13
  1411. django_cfg/static/js/api/newsletter/client.mjs +0 -109
  1412. django_cfg/static/js/api/newsletter/index.mjs +0 -13
  1413. django_cfg/static/js/api/payments/client.mjs +0 -1264
  1414. django_cfg/static/js/api/payments/index.mjs +0 -13
  1415. django_cfg/static/js/api/support/client.mjs +0 -84
  1416. django_cfg/static/js/api/support/index.mjs +0 -13
  1417. django_cfg/static/js/api/tasks/client.mjs +0 -74
  1418. django_cfg/static/js/api/tasks/index.mjs +0 -13
  1419. django_cfg/static/js/api/types.mjs +0 -729
  1420. django_cfg/static/js/api-loader.mjs +0 -169
  1421. django_cfg/templates/admin/components/action_grid.html +0 -49
  1422. django_cfg/templates/admin/components/card.html +0 -50
  1423. django_cfg/templates/admin/components/data_table.html +0 -67
  1424. django_cfg/templates/admin/components/management_commands.js +0 -375
  1425. django_cfg/templates/admin/components/metric_card.html +0 -39
  1426. django_cfg/templates/admin/components/modal.html +0 -58
  1427. django_cfg/templates/admin/components/progress_bar.html +0 -20
  1428. django_cfg/templates/admin/components/section_header.html +0 -26
  1429. django_cfg/templates/admin/components/stat_item.html +0 -32
  1430. django_cfg/templates/admin/components/stats_grid.html +0 -72
  1431. django_cfg/templates/admin/components/status_badge.html +0 -28
  1432. django_cfg/templates/admin/components/user_avatar.html +0 -27
  1433. django_cfg/templates/admin/constance/change_list.html +0 -113
  1434. django_cfg/templates/admin/constance/includes/default_value.html +0 -24
  1435. django_cfg/templates/admin/constance/includes/fieldset_header.html +0 -15
  1436. django_cfg/templates/admin/constance/includes/setting_row.html +0 -50
  1437. django_cfg/templates/admin/constance/includes/table_headers.html +0 -10
  1438. django_cfg/templates/admin/examples/component_class_example.html +0 -156
  1439. django_cfg/templates/admin/import_export/change_list_export.html +0 -24
  1440. django_cfg/templates/admin/import_export/change_list_import.html +0 -24
  1441. django_cfg/templates/admin/import_export/change_list_import_export.html +0 -34
  1442. django_cfg/templates/admin/index_new.html +0 -119
  1443. django_cfg/templates/admin/layouts/base_dashboard.html +0 -60
  1444. django_cfg/templates/admin/layouts/dashboard_with_tabs.html +0 -565
  1445. django_cfg/templates/admin/sections/commands_section.html +0 -626
  1446. django_cfg/templates/admin/sections/documentation_section.html +0 -172
  1447. django_cfg/templates/admin/sections/overview_section.html +0 -112
  1448. django_cfg/templates/admin/sections/stats_section.html +0 -35
  1449. django_cfg/templates/admin/sections/system_section.html +0 -99
  1450. django_cfg/templates/admin/snippets/components/CHARTS_GUIDE.md +0 -322
  1451. django_cfg/templates/admin/snippets/components/activity_tracker.html +0 -92
  1452. django_cfg/templates/admin/snippets/components/charts_section.html +0 -179
  1453. django_cfg/templates/admin/snippets/components/django_commands.html +0 -357
  1454. django_cfg/templates/admin/snippets/components/quick_actions.html +0 -66
  1455. django_cfg/templates/admin/snippets/components/recent_activity.html +0 -35
  1456. django_cfg/templates/admin/snippets/components/recent_activity_improved.html +0 -25
  1457. django_cfg/templates/admin/snippets/components/recent_users_table.html +0 -102
  1458. django_cfg/templates/admin/snippets/components/stats_cards.html +0 -4
  1459. django_cfg/templates/admin/snippets/components/stats_tiles.html +0 -92
  1460. django_cfg/templates/admin/snippets/components/system_health.html +0 -22
  1461. django_cfg/templates/admin/snippets/components/system_metrics.html +0 -191
  1462. django_cfg/templates/admin/snippets/components/user_permissions.html +0 -57
  1463. django_cfg/templates/admin/snippets/tabs/app_stats_tab.html +0 -201
  1464. django_cfg/templates/admin/snippets/tabs/commands_tab.html +0 -66
  1465. django_cfg/templates/admin/snippets/tabs/documentation_tab.html +0 -231
  1466. django_cfg/templates/admin/snippets/tabs/overview_tab.html +0 -116
  1467. django_cfg/templates/admin/snippets/tabs/stats_tab.html +0 -89
  1468. django_cfg/templates/admin/snippets/tabs/users_tab.html +0 -51
  1469. django_cfg/templates/admin/snippets/zones/zones_table.html +0 -176
  1470. django_cfg-1.4.46.dist-info/METADATA +0 -533
  1471. django_cfg-1.4.46.dist-info/RECORD +0 -1000
  1472. django_cfg-1.4.46.dist-info/WHEEL +0 -4
  1473. /django_cfg/apps/api/endpoints/{checker.py → endpoints_status/checker.py} +0 -0
  1474. /django_cfg/apps/api/endpoints/{serializers.py → endpoints_status/serializers.py} +0 -0
  1475. /django_cfg/apps/api/endpoints/{tests.py → endpoints_status/tests.py} +0 -0
  1476. /django_cfg/apps/api/endpoints/{views.py → endpoints_status/views.py} +0 -0
  1477. /django_cfg/apps/{accounts/migrations → integrations}/__init__.py +0 -0
  1478. /django_cfg/apps/{knowbase/management → integrations/grpc/management/commands}/__init__.py +0 -0
  1479. /django_cfg/apps/{knowbase/management/commands → integrations/grpc/migrations}/__init__.py +0 -0
  1480. /django_cfg/apps/{leads → integrations/webpush/management}/__init__.py +0 -0
  1481. /django_cfg/apps/{leads/migrations → integrations/webpush/management/commands}/__init__.py +0 -0
  1482. /django_cfg/apps/{maintenance/management → integrations/webpush/migrations}/__init__.py +0 -0
  1483. /django_cfg/apps/{maintenance/management/commands → system}/__init__.py +0 -0
  1484. /django_cfg/apps/{accounts → system/accounts}/__init__.py +0 -0
  1485. /django_cfg/apps/{accounts → system/accounts}/admin/activity_admin.py +0 -0
  1486. /django_cfg/apps/{accounts → system/accounts}/admin/group_admin.py +0 -0
  1487. /django_cfg/apps/{accounts → system/accounts}/admin/otp_admin.py +0 -0
  1488. /django_cfg/apps/{accounts → system/accounts}/admin/registration_admin.py +0 -0
  1489. /django_cfg/apps/{accounts → system/accounts}/managers/__init__.py +0 -0
  1490. /django_cfg/apps/{accounts → system/accounts}/migrations/0002_add_phone_otp_clean.py +0 -0
  1491. /django_cfg/apps/{accounts → system/accounts}/migrations/0003_twilioresponse.py +0 -0
  1492. /django_cfg/apps/{accounts → system/accounts}/migrations/0004_delete_twilioresponse.py +0 -0
  1493. /django_cfg/apps/{accounts → system/accounts}/migrations/0005_twilioresponse.py +0 -0
  1494. /django_cfg/apps/{accounts → system/accounts}/migrations/0006_remove_twilioresponse_otp_secret_and_more.py +0 -0
  1495. /django_cfg/apps/{accounts → system/accounts}/migrations/0007_twilioresponse.py +0 -0
  1496. /django_cfg/apps/{maintenance → system/accounts}/migrations/__init__.py +0 -0
  1497. /django_cfg/apps/{accounts → system/accounts}/models/activity.py +0 -0
  1498. /django_cfg/apps/{accounts → system/accounts}/models/auth.py +0 -0
  1499. /django_cfg/apps/{accounts → system/accounts}/models/base.py +0 -0
  1500. /django_cfg/apps/{accounts → system/accounts}/models/registration.py +0 -0
  1501. /django_cfg/apps/{accounts → system/accounts}/services/__init__.py +0 -0
  1502. /django_cfg/apps/{accounts → system/accounts}/services/activity_service.py +0 -0
  1503. /django_cfg/apps/{accounts → system/accounts}/templates/emails/base_email.html +0 -0
  1504. /django_cfg/apps/{accounts → system/accounts}/templates/emails/base_email.txt +0 -0
  1505. /django_cfg/apps/{accounts → system/accounts}/templates/emails/otp_email.html +0 -0
  1506. /django_cfg/apps/{accounts → system/accounts}/templates/emails/otp_email.txt +0 -0
  1507. /django_cfg/apps/{accounts → system/accounts}/templates/emails/welcome_email.html +0 -0
  1508. /django_cfg/apps/{accounts → system/accounts}/templates/emails/welcome_email.txt +0 -0
  1509. /django_cfg/apps/{accounts → system/accounts}/urls_admin.py +0 -0
  1510. /django_cfg/apps/{accounts → system/accounts}/views/__init__.py +0 -0
  1511. /django_cfg/apps/{newsletter → system/frontend/management}/__init__.py +0 -0
  1512. /django_cfg/apps/{newsletter/management → system/frontend/management/commands}/__init__.py +0 -0
  1513. /django_cfg/apps/{newsletter/management/commands → tools/currency/migrations}/__init__.py +0 -0
  1514. /django_cfg/modules/django_client/core/{archive → archiver}/__init__.py +0 -0
  1515. {django_cfg-1.4.46.dist-info → django_cfg-1.5.181.dist-info}/entry_points.txt +0 -0
  1516. {django_cfg-1.4.46.dist-info → django_cfg-1.5.181.dist-info}/licenses/LICENSE +0 -0
@@ -4,7 +4,9 @@ Django CFG URL integration utilities.
4
4
  Provides automatic URL registration for django_cfg endpoints and integrations.
5
5
  """
6
6
 
7
- from typing import List
7
+ import importlib
8
+ import sys
9
+ from typing import List, Set
8
10
 
9
11
  from django.conf import settings
10
12
  from django.conf.urls.static import static
@@ -12,6 +14,86 @@ from django.urls import URLPattern, include, path
12
14
  from django.views.static import serve
13
15
 
14
16
 
17
+ def _get_openapi_group_urls() -> List[URLPattern]:
18
+ """
19
+ Automatically generate URL patterns from OpenAPI groups.
20
+
21
+ For each OpenAPI group defined in config:
22
+ 1. Get the group from OpenAPI service
23
+ 2. Get the apps for that group
24
+ 3. For each app with urls.py, include it
25
+ 4. Add path("{api_prefix}/{app_basename}/", include("{app}.urls"))
26
+
27
+ Returns:
28
+ List of URL patterns for OpenAPI groups
29
+ """
30
+ patterns = []
31
+
32
+ try:
33
+ from django_cfg.modules.django_client.core import get_openapi_service
34
+
35
+ service = get_openapi_service()
36
+
37
+ # Check if OpenAPI client is configured and enabled
38
+ if not service.config or not service.is_enabled():
39
+ return patterns
40
+
41
+ # Get API prefix from config (default: "api")
42
+ api_prefix = getattr(service.config, 'api_prefix', 'api') or 'api'
43
+ api_prefix = api_prefix.rstrip('/') # Remove trailing slash
44
+
45
+ # Track already added apps to avoid duplicates
46
+ added_apps: Set[str] = set()
47
+
48
+ # Get all groups from config
49
+ for group_config in service.config.groups:
50
+ group_name = group_config.name
51
+
52
+ # Skip the internal "cfg" group - it's handled separately
53
+ if group_name == "cfg":
54
+ continue
55
+
56
+ # Get apps for this group
57
+ apps = group_config.apps
58
+
59
+ # Process each app in the group
60
+ for app_name in apps:
61
+ # Skip if already added
62
+ if app_name in added_apps:
63
+ continue
64
+
65
+ # Check if the app has a urls.py module
66
+ try:
67
+ urls_module = f"{app_name}.urls"
68
+ importlib.import_module(urls_module)
69
+
70
+ # Get the app basename (last part of the app path)
71
+ # e.g., "apps.workspaces" -> "workspaces"
72
+ app_basename = app_name.split('.')[-1]
73
+
74
+ # Add URL pattern for this app
75
+ url_pattern = f"{api_prefix}/{app_basename}/"
76
+ patterns.append(path(url_pattern, include(urls_module)))
77
+ added_apps.add(app_name)
78
+
79
+ # Log successful auto-registration
80
+ sys.stderr.write(f"✅ Auto-registered URL: /{url_pattern} -> {urls_module}\n")
81
+ sys.stderr.flush()
82
+
83
+ except ImportError as e:
84
+ # App doesn't have urls.py - skip it
85
+ sys.stderr.write(f"⚠️ Skipping {app_name}: {e}\n")
86
+ sys.stderr.flush()
87
+ continue
88
+
89
+ except Exception as e:
90
+ # Don't break if OpenAPI config is not available
91
+ sys.stderr.write(f"❌ ERROR: Could not auto-add OpenAPI group URLs: {e}\n")
92
+ sys.stderr.flush()
93
+
94
+ return patterns
95
+
96
+
15
97
  def add_django_cfg_urls(urlpatterns: List[URLPattern]) -> List[URLPattern]:
16
98
  """
17
99
  Automatically add django_cfg URLs and all integrations to the main URL configuration.
@@ -49,6 +131,21 @@ def add_django_cfg_urls(urlpatterns: List[URLPattern]) -> List[URLPattern]:
49
131
  path("", include("django_cfg.apps.urls")),
50
132
  ]
51
133
 
134
+ # Automatically add OpenAPI group URLs from config
135
+ openapi_urls = _get_openapi_group_urls()
136
+ if openapi_urls:
137
+ new_patterns += openapi_urls
138
+
139
+ # Automatically add extension URLs (from extensions/ folder)
140
+ try:
141
+ from django_cfg.extensions.urls import get_extension_url_patterns
142
+ extension_urls = get_extension_url_patterns(url_prefix="cfg")
143
+ if extension_urls:
144
+ new_patterns += extension_urls
145
+ except Exception as e:
146
+ sys.stderr.write(f"❌ ERROR: Could not auto-add extension URLs: {e}\n")
147
+ sys.stderr.flush()
148
+
52
149
  # Add django-browser-reload URLs in development (if installed)
53
150
  if settings.DEBUG:
54
151
  try:
@@ -66,12 +163,29 @@ def add_django_cfg_urls(urlpatterns: List[URLPattern]) -> List[URLPattern]:
66
163
 
67
164
  # Add media files serving (both dev and prod)
68
165
  # Using serve view for consistent behavior across environments
69
- if hasattr(settings, 'MEDIA_URL') and hasattr(settings, 'MEDIA_ROOT'):
70
- # Remove leading slash from MEDIA_URL for path()
71
- media_prefix = settings.MEDIA_URL.lstrip('/')
72
- new_patterns += [
73
- path(f"{media_prefix}<path:path>", serve, {"document_root": settings.MEDIA_ROOT}),
74
- ]
166
+ # Django will serve media files when MEDIA_ROOT is set
167
+ # If using external CDN, requests won't reach Django anyway
168
+ media_root = getattr(settings, 'MEDIA_ROOT', None)
169
+ media_url = getattr(settings, 'MEDIA_URL', None)
170
+
171
+ if media_root and media_url:
172
+ from django.urls import re_path
173
+ from urllib.parse import urlparse
174
+
175
+ # Extract path prefix from media_url
176
+ if media_url.startswith(('http://', 'https://', '//')):
177
+ # Absolute URL - extract path part
178
+ # e.g., "https://api.example.com/media/" -> "media/"
179
+ parsed = urlparse(media_url)
180
+ media_prefix = parsed.path.strip('/')
181
+ else:
182
+ # Relative URL - use directly
183
+ media_prefix = media_url.strip('/')
184
+
185
+ if media_prefix:
186
+ new_patterns += [
187
+ re_path(rf'^{media_prefix}/(?P<path>.*)$', serve, {'document_root': media_root}),
188
+ ]
75
189
 
76
190
  # Show startup info based on config
77
191
  try:
@@ -91,7 +205,7 @@ def get_django_cfg_urls_info() -> dict:
91
205
  Dictionary with complete URL integration info
92
206
  """
93
207
  from django_cfg.config import (
94
- LIB_DOCS_URL,
208
+ LIB_SITE_URL,
95
209
  LIB_GITHUB_URL,
96
210
  LIB_HEALTH_URL,
97
211
  LIB_NAME,
@@ -120,7 +234,7 @@ def get_django_cfg_urls_info() -> dict:
120
234
  "prefix": "cfg/",
121
235
  "description": LIB_NAME,
122
236
  "site_url": LIB_SITE_URL,
123
- "docs_url": LIB_DOCS_URL,
237
+ "docs_url": LIB_SITE_URL,
124
238
  "github_url": LIB_GITHUB_URL,
125
239
  "support_url": LIB_SUPPORT_URL,
126
240
  "health_url": LIB_HEALTH_URL,
@@ -13,11 +13,11 @@ from cachetools import TTLCache
13
13
 
14
14
  class VersionChecker:
15
15
  """
16
- Checks for library updates on PyPI with 24-hour caching using cachetools.
16
+ Checks for library updates on PyPI with 1-hour caching using cachetools.
17
17
  """
18
18
 
19
- # Cache for 24 hours (86400 seconds)
20
- CACHE_TTL = 86400
19
+ # Cache for 1 hour (3600 seconds)
20
+ CACHE_TTL = 3600
21
21
 
22
22
  def __init__(self):
23
23
  """Initialize version checker with TTL cache."""
@@ -0,0 +1,9 @@
1
+ """
2
+ Django-CFG Middleware.
3
+
4
+ Custom middleware for Django-CFG applications.
5
+ """
6
+
7
+ from .public_api_cors import PublicAPICORSMiddleware
8
+
9
+ __all__ = ["PublicAPICORSMiddleware"]
@@ -0,0 +1,71 @@
1
+ """
2
+ Django-CFG Middleware: Prevent Search Engine Indexing
3
+
4
+ Universal middleware that adds X-Robots-Tag header to prevent search engines
5
+ from indexing the entire Django project.
6
+
7
+ This ensures that your Django application (admin panels, APIs, internal tools, etc.)
8
+ is not exposed in search engine results.
9
+ """
10
+
11
+ from django.http import HttpRequest, HttpResponse
12
+ from typing import Callable
13
+
14
+
15
+ class NoIndexMiddleware:
16
+ """
17
+ Universal middleware to prevent search engine indexing of entire Django project.
18
+
19
+ Adds X-Robots-Tag: noindex, nofollow header to ALL responses.
20
+ Adds Cache-Control headers to sensitive paths (/cfg/, /admin/).
21
+
22
+ Usage:
23
+ Add to MIDDLEWARE in settings.py:
24
+ ```python
25
+ MIDDLEWARE = [
26
+ ...
27
+ 'django_cfg.core.middleware.noindex.NoIndexMiddleware',
28
+ ...
29
+ ]
30
+ ```
31
+
32
+ Headers Added:
33
+ - X-Robots-Tag: noindex, nofollow (ALL responses)
34
+ - Cache-Control: no-cache, no-store, must-revalidate (for /cfg/* and /admin/* paths)
35
+
36
+ Example Response:
37
+ HTTP/1.1 200 OK
38
+ X-Robots-Tag: noindex, nofollow
39
+ Cache-Control: no-cache, no-store, must-revalidate
40
+ """
41
+
42
+ def __init__(self, get_response: Callable[[HttpRequest], HttpResponse]):
43
+ """
44
+ Initialize middleware.
45
+
46
+ Args:
47
+ get_response: Next middleware or view in chain
48
+ """
49
+ self.get_response = get_response
50
+
51
+ def __call__(self, request: HttpRequest) -> HttpResponse:
52
+ """
53
+ Process request and add noindex header to ALL responses.
54
+
55
+ Args:
56
+ request: HTTP request
57
+
58
+ Returns:
59
+ HTTP response with X-Robots-Tag header on all responses
60
+ """
61
+ # Get response from next middleware/view
62
+ response = self.get_response(request)
63
+
64
+ # Add X-Robots-Tag header to ALL responses to prevent indexing
65
+ response['X-Robots-Tag'] = 'noindex, nofollow'
66
+
67
+ # Add Cache-Control to prevent caching for sensitive paths (security best practice)
68
+ if request.path.startswith('/cfg/') or request.path.startswith('/admin/'):
69
+ response['Cache-Control'] = 'no-cache, no-store, must-revalidate'
70
+
71
+ return response
@@ -0,0 +1,132 @@
1
+ """
2
+ Public API CORS Middleware.
3
+
4
+ Handles CORS for public API endpoints BEFORE django-cors-headers middleware.
5
+ This allows truly public endpoints (like lead submission) to accept requests
6
+ from any origin while keeping the rest of the app secured.
7
+
8
+ IMPORTANT: This middleware MUST be placed BEFORE 'corsheaders.middleware.CorsMiddleware'
9
+ in MIDDLEWARE settings for it to work correctly.
10
+ """
11
+
12
+ import re
13
+ from typing import Callable, List, Optional
14
+
15
+ from django.conf import settings
16
+ from django.http import HttpRequest, HttpResponse
17
+
18
+
19
+ class PublicAPICORSMiddleware:
20
+ """
21
+ Middleware that handles CORS for public API endpoints.
22
+
23
+ Public API endpoints can be configured via:
24
+ - PUBLIC_API_CORS_PATHS: List of path prefixes (e.g., ['/cfg/leads/', '/api/public/'])
25
+ - PUBLIC_API_CORS_REGEX: Regex pattern for matching paths
26
+
27
+ All matching paths will have open CORS (Access-Control-Allow-Origin: *).
28
+
29
+ Example settings.py:
30
+ PUBLIC_API_CORS_PATHS = [
31
+ '/cfg/leads/',
32
+ '/api/webhooks/',
33
+ ]
34
+
35
+ Or using regex:
36
+ PUBLIC_API_CORS_REGEX = r'^/(cfg/leads|api/webhooks)/'
37
+
38
+ Usage in MIDDLEWARE (must be BEFORE corsheaders):
39
+ MIDDLEWARE = [
40
+ 'django_cfg.core.middleware.PublicAPICORSMiddleware', # FIRST!
41
+ 'corsheaders.middleware.CorsMiddleware',
42
+ ...
43
+ ]
44
+ """
45
+
46
+ # Default CORS headers for public APIs
47
+ CORS_HEADERS = {
48
+ "Access-Control-Allow-Methods": "GET, POST, PUT, PATCH, DELETE, OPTIONS",
49
+ "Access-Control-Allow-Headers": (
50
+ "Content-Type, Authorization, X-Requested-With, Accept, Origin, "
51
+ "X-CSRFToken, X-Forwarded-For, User-Agent, Referer, "
52
+ "sec-ch-ua, sec-ch-ua-mobile, sec-ch-ua-platform"
53
+ ),
54
+ "Access-Control-Max-Age": "86400",
55
+ }
56
+
57
+ def __init__(self, get_response: Callable[[HttpRequest], HttpResponse]):
58
+ self.get_response = get_response
59
+
60
+ # Get configuration from settings
61
+ self.public_paths: List[str] = getattr(
62
+ settings, "PUBLIC_API_CORS_PATHS", ["/cfg/leads/"]
63
+ )
64
+ self.public_regex: Optional[str] = getattr(
65
+ settings, "PUBLIC_API_CORS_REGEX", None
66
+ )
67
+
68
+ # Compile regex if provided
69
+ self._compiled_regex = None
70
+ if self.public_regex:
71
+ self._compiled_regex = re.compile(self.public_regex)
72
+
73
+ def __call__(self, request: HttpRequest) -> HttpResponse:
74
+ """Process request and add CORS headers for public API paths."""
75
+
76
+ # Check if this is a public API path
77
+ if not self._is_public_api_path(request.path):
78
+ return self.get_response(request)
79
+
80
+ # Handle OPTIONS preflight request
81
+ if request.method == "OPTIONS":
82
+ response = HttpResponse(status=200)
83
+ self._add_cors_headers(response, request)
84
+ return response
85
+
86
+ # Process request and add CORS headers to response
87
+ response = self.get_response(request)
88
+ self._add_cors_headers(response, request)
89
+
90
+ return response
91
+
92
+ def _is_public_api_path(self, path: str) -> bool:
93
+ """
94
+ Check if the request path is a public API endpoint.
95
+
96
+ Args:
97
+ path: Request path (e.g., '/cfg/leads/submit/')
98
+
99
+ Returns:
100
+ True if path matches public API configuration
101
+ """
102
+ # Check path prefixes
103
+ for public_path in self.public_paths:
104
+ if path.startswith(public_path):
105
+ return True
106
+
107
+ # Check regex pattern
108
+ if self._compiled_regex and self._compiled_regex.match(path):
109
+ return True
110
+
111
+ return False
112
+
113
+ def _add_cors_headers(self, response: HttpResponse, request: HttpRequest) -> None:
114
+ """
115
+ Add CORS headers to response.
116
+
117
+ For public APIs we allow ANY origin without restrictions.
118
+ Always echo back the Origin header if present, or use * as fallback.
119
+ """
120
+ # Get origin from request, default to * for universal access
121
+ origin = request.META.get("HTTP_ORIGIN", "*")
122
+
123
+ # Always allow the requesting origin
124
+ response["Access-Control-Allow-Origin"] = origin
125
+ response["Access-Control-Allow-Methods"] = self.CORS_HEADERS["Access-Control-Allow-Methods"]
126
+ response["Access-Control-Allow-Headers"] = self.CORS_HEADERS["Access-Control-Allow-Headers"]
127
+ response["Access-Control-Max-Age"] = self.CORS_HEADERS["Access-Control-Max-Age"]
128
+
129
+ # Only set credentials when we have specific origin (not wildcard)
130
+ # This is required by CORS spec: can't use credentials with '*'
131
+ if origin != "*":
132
+ response["Access-Control-Allow-Credentials"] = "true"
@@ -0,0 +1,5 @@
1
+ """Core utilities for django-cfg."""
2
+
3
+ from .url_helpers import get_otp_url, get_ticket_url
4
+
5
+ __all__ = ["get_ticket_url", "get_otp_url"]
@@ -0,0 +1,73 @@
1
+ """
2
+ URL generation utilities for django-cfg.
3
+
4
+ Provides helper functions to generate URLs dynamically from site_url configuration.
5
+ """
6
+
7
+ import logging
8
+ from typing import Optional
9
+
10
+ logger = logging.getLogger(__name__)
11
+
12
+
13
+ def get_ticket_url(ticket_uuid: str, fallback: str = "#ticket") -> str:
14
+ """
15
+ Generate support ticket URL on the fly from site_url.
16
+
17
+ Args:
18
+ ticket_uuid: UUID of the support ticket
19
+ fallback: Fallback URL if config is not available (default: "#ticket")
20
+
21
+ Returns:
22
+ Complete URL to the ticket
23
+
24
+ Example:
25
+ >>> get_ticket_url("abc-123-def")
26
+ "https://yoursite.com/support/ticket/abc-123-def"
27
+ """
28
+ try:
29
+ from django_cfg.core.state import get_current_config
30
+ config = get_current_config()
31
+
32
+ if config and hasattr(config, 'site_url'):
33
+ return f"{config.site_url}/support/ticket/{ticket_uuid}"
34
+ else:
35
+ logger.warning("Config or site_url not available for ticket URL generation")
36
+ return f"{fallback}-{ticket_uuid}"
37
+
38
+ except Exception as e:
39
+ logger.warning(f"Could not generate ticket URL: {e}")
40
+ return f"{fallback}-{ticket_uuid}"
41
+
42
+
43
+ def get_otp_url(otp_code: str, fallback: str = "#otp") -> str:
44
+ """
45
+ Generate OTP verification URL on the fly from site_url.
46
+
47
+ Args:
48
+ otp_code: OTP verification code
49
+ fallback: Fallback URL if config is not available (default: "#otp")
50
+
51
+ Returns:
52
+ Complete URL to the OTP verification page
53
+
54
+ Example:
55
+ >>> get_otp_url("123456")
56
+ "https://yoursite.com/auth/?otp=123456"
57
+ """
58
+ try:
59
+ from django_cfg.core.state import get_current_config
60
+ config = get_current_config()
61
+
62
+ if config and hasattr(config, 'site_url'):
63
+ return f"{config.site_url}/auth/?otp={otp_code}"
64
+ else:
65
+ logger.warning("Config or site_url not available for OTP URL generation")
66
+ return f"{fallback}-{otp_code}"
67
+
68
+ except Exception as e:
69
+ logger.warning(f"Could not generate OTP URL: {e}")
70
+ return f"{fallback}-{otp_code}"
71
+
72
+
73
+ __all__ = ["get_ticket_url", "get_otp_url"]
@@ -78,7 +78,7 @@ class ConfigurationValidator:
78
78
  errors.append("SECRET_KEY must be at least 50 characters long")
79
79
  else:
80
80
  # Check for insecure patterns in production
81
- if config.env_mode == 'production':
81
+ if config.is_production:
82
82
  insecure_patterns = [
83
83
  'django-insecure',
84
84
  'change-me',
@@ -107,7 +107,7 @@ class ConfigurationValidator:
107
107
  errors.append(f"Invalid hostname in ALLOWED_HOSTS[{i}]: '{host}'")
108
108
 
109
109
  # Production-specific validation
110
- if config.env_mode == 'production' and '*' in allowed_hosts:
110
+ if config.is_production and '*' in allowed_hosts:
111
111
  errors.append("Wildcard '*' in ALLOWED_HOSTS is not recommended for production")
112
112
 
113
113
  return errors
@@ -140,7 +140,7 @@ class ConfigurationValidator:
140
140
  errors = []
141
141
 
142
142
  # Environment-specific security validation
143
- if config.env_mode == 'production':
143
+ if config.is_production:
144
144
  # Allow DEBUG=True in production for development purposes
145
145
  pass
146
146
 
@@ -158,9 +158,7 @@ class ConfigurationValidator:
158
158
  """Validate environment-specific consistency."""
159
159
  errors = []
160
160
 
161
- environment = config.env_mode
162
-
163
- if environment == 'production':
161
+ if config.is_production:
164
162
  # Production requirements - allow DEBUG=True for development
165
163
  pass
166
164
 
@@ -0,0 +1,80 @@
1
+ """
2
+ Django-CFG Extensions System
3
+
4
+ Auto-discovers and loads extensions from the user's project.
5
+ Extensions are placed in extensions/ folder and work as-is.
6
+
7
+ Usage:
8
+ # In your extension's __cfg__.py:
9
+ from django_cfg.extensions.configs.apps.leads import BaseLeadsSettings
10
+
11
+ class LeadsSettings(BaseLeadsSettings):
12
+ telegram_enabled: bool = False # override defaults
13
+
14
+ settings = LeadsSettings()
15
+
16
+ Project Structure:
17
+ your_project/
18
+ └── extensions/
19
+ ├── apps/ # Django apps with models
20
+ │ └── leads/
21
+ │ ├── __cfg__.py # Required: settings = LeadsSettings()
22
+ │ ├── apps.py
23
+ │ ├── models.py
24
+ │ ├── admin.py
25
+ │ ├── urls.py # Main API: /cfg/leads/
26
+ │ ├── urls_admin.py # Admin API: /cfg/leads/admin/
27
+ │ └── ...
28
+ └── modules/ # Utility modules (no models)
29
+ └── analytics/
30
+
31
+ URL Convention:
32
+ - urls.py -> /cfg/{prefix}/ (main API)
33
+ - urls_admin.py -> /cfg/{prefix}/admin/ (admin API)
34
+ - urls_system.py -> /cfg/{prefix}/system/ (system API)
35
+ - urls_<name>.py -> /cfg/{prefix}/<name>/ (custom suffix)
36
+ """
37
+
38
+ from .configs.apps.base import (
39
+ BaseExtensionSettings,
40
+ NavigationItem,
41
+ NavigationSection,
42
+ )
43
+ from .configs.apps import BaseCurrencySettings
44
+ from .configs.modules import BaseModuleSettings
45
+ from .scanner import DiscoveredExtension, ExtensionScanner
46
+ from .loader import ExtensionLoader, get_extension_loader
47
+ from .module_loader import ModuleLoader, get_module_loader, requires_module
48
+ from .mixin import ExtensionMixin, get_extension_helper
49
+ from .urls import discover_url_modules, get_extension_url_patterns
50
+ from .constance import get_extension_constance_fields
51
+ from .schedules import get_extension_schedules
52
+
53
+ __all__ = [
54
+ # Base settings for apps
55
+ "BaseExtensionSettings",
56
+ "NavigationItem",
57
+ "NavigationSection",
58
+ # Base settings for modules
59
+ "BaseModuleSettings",
60
+ "BaseCurrencySettings",
61
+ # App Discovery
62
+ "ExtensionScanner",
63
+ "DiscoveredExtension",
64
+ "ExtensionLoader",
65
+ "get_extension_loader",
66
+ # Module Discovery
67
+ "ModuleLoader",
68
+ "get_module_loader",
69
+ "requires_module",
70
+ # URL discovery
71
+ "discover_url_modules",
72
+ "get_extension_url_patterns",
73
+ # Constance fields discovery
74
+ "get_extension_constance_fields",
75
+ # RQ schedules discovery
76
+ "get_extension_schedules",
77
+ # Mixin for BaseCfgModule
78
+ "ExtensionMixin",
79
+ "get_extension_helper",
80
+ ]
@@ -0,0 +1,9 @@
1
+ """
2
+ Extension configuration base classes.
3
+
4
+ Provides typed Pydantic configuration classes for extensions.
5
+ Users extend these base classes in their extension's config.py.
6
+ """
7
+
8
+ from .apps import * # noqa: F401, F403
9
+ from .modules import * # noqa: F401, F403
@@ -0,0 +1,39 @@
1
+ """
2
+ Base configuration classes for extension apps.
3
+
4
+ Each app extension has a corresponding base settings class here.
5
+ """
6
+
7
+ from .base import (
8
+ APP_LABEL_PREFIX,
9
+ BaseExtensionSettings,
10
+ ExtensionScheduleConfig,
11
+ NavigationItem,
12
+ NavigationSection,
13
+ )
14
+ from .agents import BaseAgentsSettings
15
+ from .backup import BaseBackupSettings
16
+ from .currency import BaseCurrencySettings
17
+ from .knowbase import BaseKnowbaseSettings
18
+ from .leads import BaseLeadsSettings
19
+ from .maintenance import BaseMaintenanceSettings
20
+ from .newsletter import BaseNewsletterSettings
21
+ from .payments import BasePaymentsSettings
22
+ from .support import BaseSupportSettings
23
+
24
+ __all__ = [
25
+ "APP_LABEL_PREFIX",
26
+ "BaseExtensionSettings",
27
+ "ExtensionScheduleConfig",
28
+ "NavigationItem",
29
+ "NavigationSection",
30
+ "BaseAgentsSettings",
31
+ "BaseBackupSettings",
32
+ "BaseCurrencySettings",
33
+ "BaseKnowbaseSettings",
34
+ "BaseLeadsSettings",
35
+ "BaseMaintenanceSettings",
36
+ "BaseNewsletterSettings",
37
+ "BasePaymentsSettings",
38
+ "BaseSupportSettings",
39
+ ]