zrb 1.0.0a21__py3-none-any.whl → 1.0.0b1__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 (132) hide show
  1. zrb/__init__.py +2 -1
  2. zrb/builtin/llm/llm_chat.py +2 -2
  3. zrb/builtin/llm/tool/web.py +1 -1
  4. zrb/builtin/project/add/fastapp/fastapp_task.py +2 -0
  5. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/config.py +4 -1
  6. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_task.py +16 -1
  7. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_util.py +91 -9
  8. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/{my_entity_usecase.py → my_entity_service.py} +7 -13
  9. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/my_entity_service_factory.py +8 -0
  10. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/gateway_subroute.py +37 -0
  11. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/format_task.py +1 -1
  12. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/input.py +13 -0
  13. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_task.py +22 -0
  14. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_util.py +42 -0
  15. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/gateway/subroute/my_module.py +7 -0
  16. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/client/api_client.py +1 -1
  17. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/client/direct_client.py +1 -2
  18. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/client/factory.py +3 -3
  19. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/route.py +10 -10
  20. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task.py +4 -4
  21. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/app.py +42 -5
  22. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/{base_usecase.py → base_service.py} +3 -3
  23. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/view.py +37 -0
  24. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/config.py +24 -0
  25. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/api_client.py +2 -2
  26. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/direct_client.py +2 -2
  27. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/route.py +2 -2
  28. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/{user_usecase.py → user_service.py} +7 -7
  29. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service_factory.py +6 -0
  30. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/route.py +42 -13
  31. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/view.py +74 -0
  32. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/error.html +6 -0
  33. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/homepage.html +6 -0
  34. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/android-chrome-192x192.png +0 -0
  35. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/android-chrome-512x512.png +0 -0
  36. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/favicon-32x32.png +0 -0
  37. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.amber.min.css +4 -0
  38. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.blue.min.css +4 -0
  39. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.cyan.min.css +4 -0
  40. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.fuchsia.min.css +4 -0
  41. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.green.min.css +4 -0
  42. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.grey.min.css +4 -0
  43. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.indigo.min.css +4 -0
  44. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.jade.min.css +4 -0
  45. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.lime.min.css +4 -0
  46. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.min.css +4 -0
  47. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.orange.min.css +4 -0
  48. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.pink.min.css +4 -0
  49. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.pumpkin.min.css +4 -0
  50. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.purple.min.css +4 -0
  51. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.red.min.css +4 -0
  52. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.sand.min.css +4 -0
  53. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.slate.min.css +4 -0
  54. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.violet.min.css +4 -0
  55. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.yellow.min.css +4 -0
  56. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.zinc.min.css +4 -0
  57. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/template/default.html +34 -0
  58. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/requirements.txt +1 -0
  59. zrb/builtin/python.py +1 -1
  60. zrb/content_transformer/any_content_transformer.py +7 -0
  61. zrb/content_transformer/content_transformer.py +6 -0
  62. zrb/runner/cli.py +4 -6
  63. zrb/runner/web_app.py +28 -280
  64. zrb/runner/web_config/config.py +91 -0
  65. zrb/runner/web_config/config_factory.py +26 -0
  66. zrb/runner/web_route/docs_route.py +17 -0
  67. zrb/runner/web_route/error_page/serve_default_404.py +28 -0
  68. zrb/runner/{web_controller/error_page/controller.py → web_route/error_page/show_error_page.py} +2 -2
  69. zrb/runner/{web_controller → web_route}/error_page/view.html +5 -0
  70. zrb/runner/web_route/home_page/home_page_route.py +51 -0
  71. zrb/runner/web_route/login_api_route.py +31 -0
  72. zrb/runner/web_route/login_page/login_page_route.py +39 -0
  73. zrb/runner/web_route/logout_api_route.py +18 -0
  74. zrb/runner/web_route/logout_page/logout_page_route.py +40 -0
  75. zrb/runner/{web_controller/group_info_page/controller.py → web_route/node_page/group/show_group_page.py} +3 -3
  76. zrb/runner/web_route/node_page/node_page_route.py +50 -0
  77. zrb/runner/{web_controller/session_page/controller.py → web_route/node_page/task/show_task_page.py} +3 -3
  78. zrb/runner/web_route/refresh_token_api_route.py +38 -0
  79. zrb/runner/web_route/static/static_route.py +44 -0
  80. zrb/runner/web_route/task_input_api_route.py +47 -0
  81. zrb/runner/web_route/task_session_api_route.py +102 -0
  82. zrb/runner/web_schema/session.py +5 -0
  83. zrb/runner/web_schema/token.py +11 -0
  84. zrb/runner/web_schema/user.py +32 -0
  85. zrb/runner/web_util/cookie.py +29 -0
  86. zrb/runner/{web_util.py → web_util/html.py} +1 -23
  87. zrb/runner/web_util/token.py +68 -0
  88. zrb/runner/web_util/user.py +63 -0
  89. zrb/session/session.py +6 -4
  90. zrb/session_state_logger/{default_session_state_logger.py → session_state_logger_factory.py} +1 -1
  91. zrb/task/base_task.py +29 -4
  92. zrb/task/base_trigger.py +2 -0
  93. zrb/task/cmd_task.py +2 -0
  94. zrb/task/http_check.py +2 -0
  95. zrb/task/llm_task.py +2 -0
  96. zrb/task/make_task.py +2 -0
  97. zrb/task/rsync_task.py +2 -0
  98. zrb/task/scaffolder.py +8 -5
  99. zrb/task/scheduler.py +2 -0
  100. zrb/task/tcp_check.py +2 -0
  101. zrb/task_status/task_status.py +4 -3
  102. {zrb-1.0.0a21.dist-info → zrb-1.0.0b1.dist-info}/METADATA +1 -1
  103. {zrb-1.0.0a21.dist-info → zrb-1.0.0b1.dist-info}/RECORD +125 -81
  104. zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_usecase_factory.py +0 -6
  105. zrb/runner/web_config.py +0 -274
  106. zrb/runner/web_controller/home_page/__init__.py +0 -0
  107. zrb/runner/web_controller/home_page/controller.py +0 -33
  108. zrb/runner/web_controller/login_page/controller.py +0 -25
  109. zrb/runner/web_controller/logout_page/controller.py +0 -26
  110. zrb/runner/web_controller/session_page/__init__.py +0 -0
  111. /zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/{create_column_task.py → add_column_task.py} +0 -0
  112. /zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/repository/{factory.py → my_entity_repository_factory.py} +0 -0
  113. /zrb/runner/{web_controller → web_route}/__init__.py +0 -0
  114. /zrb/runner/{web_controller/group_info_page → web_route/home_page}/__init__.py +0 -0
  115. /zrb/runner/{web_controller → web_route}/home_page/view.html +0 -0
  116. /zrb/runner/{web_controller → web_route}/login_page/view.html +0 -0
  117. /zrb/runner/{web_controller → web_route}/logout_page/view.html +0 -0
  118. /zrb/runner/{web_controller/group_info_page → web_route/node_page/group}/view.html +0 -0
  119. /zrb/runner/{web_controller/session_page → web_route/node_page/task}/partial/input.html +0 -0
  120. /zrb/runner/{web_controller/session_page → web_route/node_page/task}/view.html +0 -0
  121. /zrb/runner/{refresh-token.template.js → web_route/static/refresh-token.template.js} +0 -0
  122. /zrb/runner/{web_controller/static → web_route/static/resources}/common.css +0 -0
  123. /zrb/runner/{web_controller/static → web_route/static/resources}/favicon-32x32.png +0 -0
  124. /zrb/runner/{web_controller/static → web_route/static/resources}/login/event.js +0 -0
  125. /zrb/runner/{web_controller/static → web_route/static/resources}/logout/event.js +0 -0
  126. /zrb/runner/{web_controller/static → web_route/static/resources}/pico.min.css +0 -0
  127. /zrb/runner/{web_controller/static → web_route/static/resources}/session/common-util.js +0 -0
  128. /zrb/runner/{web_controller/static → web_route/static/resources}/session/current-session.js +0 -0
  129. /zrb/runner/{web_controller/static → web_route/static/resources}/session/event.js +0 -0
  130. /zrb/runner/{web_controller/static → web_route/static/resources}/session/past-session.js +0 -0
  131. {zrb-1.0.0a21.dist-info → zrb-1.0.0b1.dist-info}/WHEEL +0 -0
  132. {zrb-1.0.0a21.dist-info → zrb-1.0.0b1.dist-info}/entry_points.txt +0 -0
@@ -1,4 +1,4 @@
1
- zrb/__init__.py,sha256=YY3rfl2gdDLe-t5RMWsvlChSQXv6izw24yv0V1MQ60E,2911
1
+ zrb/__init__.py,sha256=JYLyBeSv-FP2iVKgsXJH8Ae-Cmjp5nmmIiwqayhCOEE,2964
2
2
  zrb/__main__.py,sha256=tCRJm0qtx646ojZP8Rtgu8t_SDdSpply21HbR5poVvk,744
3
3
  zrb/attr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  zrb/attr/type.py,sha256=4TV5gPYMMrKh5V-yB6iRYKCbsXAH_AvGXMsjxKLHcUs,568
@@ -7,88 +7,118 @@ zrb/builtin/base64.py,sha256=1YnSwASp7OEAvQcsnHZGpJEvYoI1Z2zTIJ1bCDHfcPQ,921
7
7
  zrb/builtin/git.py,sha256=xHzg0srhp1uOSXWvwA--Fo8idkt0G9010iJ8uIndzg4,5463
8
8
  zrb/builtin/git_subtree.py,sha256=GwI8befmvXEoX1xyZ4jkeG8nsyCkuRG1lzPiGss3yqw,3493
9
9
  zrb/builtin/group.py,sha256=3xfEx9aEDcq6rDprGKYGqOXN2i0ts4W_RQVErL51o1o,1594
10
- zrb/builtin/llm/llm_chat.py,sha256=ATENrihXUMkQ8IoarhacohUe-I_43yb7c0Tl5f69mAI,1397
10
+ zrb/builtin/llm/llm_chat.py,sha256=S_8CM18fWXkrcRjRcyIfJ1rK3FJ1mp8qBIRtL-Ds048,1399
11
11
  zrb/builtin/llm/tool/cli.py,sha256=n8THj513k1vrXUoZrTcxESmdZzhBOP1-L3Dmup5ZW54,225
12
12
  zrb/builtin/llm/tool/rag.py,sha256=vH4ztOATqpVqFaXEccZ2DkZ5nxioMy3t9yaaUUhAKwI,6831
13
- zrb/builtin/llm/tool/web.py,sha256=cc-3vg8vKRq-uOk-7Z1Xe70Sn1omNqZCvePUcRptEgw,2216
13
+ zrb/builtin/llm/tool/web.py,sha256=N2HYuXbKPUpjVAq_UnQMbUrTIE8u0Ut3TeQadZ7_NJc,2217
14
14
  zrb/builtin/md5.py,sha256=0pNlrfZA0wlZlHvFHLgyqN0JZJWGKQIF5oXxO44_OJk,949
15
15
  zrb/builtin/project/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  zrb/builtin/project/add/fastapp/fastapp_input.py,sha256=fYD6n8-PlrTyz1Kq5GYAt0PQsyUp2qsPKRJ68hINSXE,314
17
- zrb/builtin/project/add/fastapp/fastapp_task.py,sha256=WawXyXDM_cmpnd6_1P6_8IipkA3oHkrcY9z5TOrVDig,2567
17
+ zrb/builtin/project/add/fastapp/fastapp_task.py,sha256=XuyQVuaaNRPQftisSpWMFmKFXpEi4HngKW62aRgz3KQ,2644
18
18
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.flake8,sha256=fgvHmuskgYiCvHZHaFtiyOWW0zasVrs0P-sFHOq3W5U,56
19
19
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.gitignore,sha256=1BMFpr_M5OyTs-weCZZlVlf85sWikzdbvmKu86YD7G0,28
20
20
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/README.md,sha256=MAo7ZFbg7LLiAfQbXcippMgjJ2-VXMKtiTDEZ3I4AAg,221
21
21
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/create_column_task.py,sha256=0sPR_pe_oYUevWu0FvMvxTu6lwefsw4YH01vkCBBZsg,391
23
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/config.py,sha256=PZw_cL9OQr6s2f1wMt4QC3hBk1JP7DtXBWFKNhJZE6o,547
24
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_task.py,sha256=eK2-o-CfqNqPNLRv2PzAe4q5Xo6-luBLLn_uP5UtzfI,4462
25
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_util.py,sha256=8G7Shz7H7oDC9Jp8XIMPKi-lagqKJN4vv9vPm09oFNY,7507
22
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_task.py,sha256=0sPR_pe_oYUevWu0FvMvxTu6lwefsw4YH01vkCBBZsg,391
23
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/config.py,sha256=u83FKFN1m_Sdk2hf5XM66VPPOb8xQNRUEWHZsk9GNfU,585
24
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_task.py,sha256=sQ-zMTKNcqHlOkQs9jlhTG9IrbGQnNQURO7ClT8Assg,5126
25
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_util.py,sha256=VOeqpXq5kptK2O7Unc5R_Vt6macsUBBWmRWhVzt6RQY,10695
26
26
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/any_client_method.py,sha256=KH9h_QDf3nfagdfes3qLrnqlQrcjDngxslAxapAk0mc,603
27
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/my_entity_usecase.py,sha256=SiawcR924z9Jpu7GRFgtIIhfDOm5eH2PPmhX4NMai_k,2339
28
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/repository/factory.py,sha256=chQpEflbwV_m_ptvw_CVFik_9dh74iwnCO16AdmDkXo,509
27
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/my_entity_service.py,sha256=bnEsfdDdiT-ZtZ_P7VdXpxFY4SODQKT2O9AcK038g6A,2150
28
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/my_entity_service_factory.py,sha256=_vYr5tpjffyztZ9ybRrWfsjlSW-aDnLmeczk5S_SEFg,311
29
29
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/repository/my_entity_db_repository.py,sha256=rEGj0fj0Al_YXmbNJGkqLOsaG8GHgJeo7mDbiqX1akw,1081
30
30
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/repository/my_entity_repository.py,sha256=Qgc65PUDHRXuHjRluq7R4lGyizm-A3BzjHkIH-xUn-0,908
31
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/repository/my_entity_repository_factory.py,sha256=chQpEflbwV_m_ptvw_CVFik_9dh74iwnCO16AdmDkXo,509
31
32
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/schema/my_entity.py,sha256=O98QJ0mH2obF_rY0dFopSEWrZ9PWm78ns2ESrjKBMgc,666
32
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/format_task.py,sha256=BsZ61XWMUDWFBwuZvhbeOgHDEiZNZQFgcM0GvnyUtzs,434
33
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/gateway_subroute.py,sha256=yeDqxt430vK0XFP8-5EUCmXOUGihlu1HIFMuQsunZXc,1665
34
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/format_task.py,sha256=8YykCthDgjXT8MFvTrPSWYUXsfhafmoSMG9LH2ZiaD0,431
33
35
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/group.py,sha256=S0sKnnABSGy3YzaExH40xJjm4UsEX6AyDE1u94ewk6A,648
34
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/input.py,sha256=Yr6lL4na7Jt0k7J8Eji3vruVNHpOow-bTotpC5259FE,1058
35
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_task.py,sha256=B4-IBrYbWxdvvWRoQal0sBuKyM6IIUMwjindOuZReqs,2758
36
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_util.py,sha256=__xzKTE1cEAqFPadtBoTUYIvrO90s1WfxPAvF0aHPwA,5490
37
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/gateway/subroute/my_module.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/input.py,sha256=PYbPwO5odaQDzRIgKkLmLEKOOYs9gQw3q7L-Fakw90Q,1349
37
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_task.py,sha256=0M9wRWI9qRTtWebV5pIsoSD902_1h7ovEAV2AWQvB9U,3633
38
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_util.py,sha256=2totrFEzt0sEA4U0HHMy5GAsNM-X6uLv9eq8rsrA9XU,7145
39
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/gateway/subroute/my_module.py,sha256=Ks-TtmuhzFy1H5BGQt7FU09ZHBTWwsSVhHFzOXpnSQg,120
38
40
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/alembic.ini,sha256=mgQyBAIwdkZZJWLu_FQWPx1FkyaARCNp6-rLqSVvMbA,3723
39
41
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/client/any_client.py,sha256=6ZI13OocD7BDF6z6RdIUL6Rk9oDzT5L55bkaN1HjmZE,104
40
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/client/api_client.py,sha256=CklisdLfv5cc8nDmDieh50e7f9j-ewjJjVKjGScCXu0,168
41
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/client/direct_client.py,sha256=qcSA4MFPIun6ppDYalCH2rU-kIj_QgOX90h_6gkn2xM,198
42
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/client/factory.py,sha256=SNFX-8RtX4Y41uuKyfsCxFSGbZZzI0-5QzClWZAMfaE,423
42
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/client/api_client.py,sha256=EFgEryZqHb63FUzNZZw2UIoWIXX-IMRvWTz3DyNGacw,162
43
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/client/direct_client.py,sha256=KI_sZErBJBq18-0A_Rd0Na6uH38pWWLi2ndGhYAaICs,111
44
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/client/factory.py,sha256=I0zAkwOUdhGwuRB-YJpjkALruQZE6WnV_D8ye6fSjLA,405
43
45
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration/README,sha256=MVlc9TYmr57RbhXET6QxgyCcwWP7w-vLkEsirENqiIQ,38
44
46
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration/env.py,sha256=v0VH_EyDu6yzYuw_Y5_68cVnGh6014PbzFKQPayFW-k,3353
45
47
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration/script.py.mako,sha256=U9DYBoBRd_ooogMfRydCUGEjIDZ-aV8OsjBiBrdTvy4,680
46
48
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration/versions/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
47
49
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/migration_metadata.py,sha256=NbIb5ncy6x5RrFD2TZMDwxBK_wDTyJEIvieMRmNpf9M,55
48
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/route.py,sha256=q3bZx8mE2JMWDmuJo-TYMlLz9gFt3fOGL7cX9F1rXcw,948
50
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/route.py,sha256=FjxydR9RCQebAyKsZrQq5nvJR3Jr51m6cbu5vYCFXPM,952
49
51
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
52
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/module_task_definition.py,sha256=uWeBptdMZfX-PZ2OdB_4DnUpIc-AZcZqb9wAehBdx7w,927
51
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task.py,sha256=0bDyPAmuUcYwRCTjokHMKHYiDzlCXKjlkLVo3CBb-g4,4565
53
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task.py,sha256=xP11wT5Q1P96vmcojwwPTfk7DmMUife04pOTBHJ8gPc,4566
52
54
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/util.py,sha256=i9RQBy5UPW_wpLj4HSRXXjtUpMAsOeBVPBxn56qwKhw,3323
53
55
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/venv_task.py,sha256=ZLS3YnF-bz1AOjMCMHypzjNGX2UHXG-axdYngznC1mk,472
54
56
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/app.py,sha256=DIcVCMzBnsFp4Op-sL-BmgSoiVnH-ZILGs45I3W-KJU,478
57
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/app.py,sha256=wK7HHI_4bK-MV4JYjKuJLBExtHvwPdzZY1bRqnaTbpE,1498
56
58
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/base_db_repository.py,sha256=e7c7clq5myjC8tkhaieeWCSBtx-zdYlaB83Chlm65YY,6018
57
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/base_usecase.py,sha256=3zVrV_DeTWQmDYf0RisjOyCyUbzJI0v1AP65_gC_9Sc,10030
59
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/base_service.py,sha256=dmY_NWVJ_dIiHRWUQCHWl2lQx3gdkNzRLYgAijU19hE,10030
58
60
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/db_engine.py,sha256=cfNvlvx8Wiku0uePQOWjf7tudZutnRYjlkca3Z-iTSo,184
59
61
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/error.py,sha256=hgRvoCH3C7t_iZuLThiqJVs20zUasQWbH_8jDceF8nk,243
60
62
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/schema.py,sha256=dbRryeP5u7ObGX3GjF9ZID00yXffOp-AxyXu8oVJP0I,82
61
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/config.py,sha256=FRhDQ6ZTvvdYu-I6nRhc9wxA3nYaYMpkl8q-FeZZcdA,1024
63
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/view.py,sha256=vrNAr90GMZnu37EMvi2BnTgWoAOpQwJxWCFkZAtFeFA,1161
64
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/config.py,sha256=THXcnSyoxhWTb6nVnybcsozzSkuZ40gSDxQjv4n-8jo,1945
62
65
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/main.py,sha256=B77GOA3qDOvU9d3aFKFZOdBs61QCPQea1x76FRa24tY,208
63
66
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/migrate.py,sha256=K20Seket9IlZVaZpHSrpR0Ijndv71Mtqwiujzunx98w,87
64
67
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
65
68
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/alembic.ini,sha256=mgQyBAIwdkZZJWLu_FQWPx1FkyaARCNp6-rLqSVvMbA,3723
66
69
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/any_client.py,sha256=jJLY951xnDQoLdRrKQTE0aan73gw2a7Zb_4QCu6qCu4,767
67
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/api_client.py,sha256=qgjykg69zgrVz8V2wN8bBY0ptGwkPp3Ae5G5IZVkhs4,291
68
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/direct_client.py,sha256=OIoUcTsYoTFmnzIazSZhQM9-l-7lsG-Fe54rrMpRSp0,222
70
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/api_client.py,sha256=MKUZz5_pN5I--gbVRSIBRagznSWY52BP7Cgjry_93Bw,291
71
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/direct_client.py,sha256=8jvTbC0pUxFBS-d39v3BqjIRRr7BH62afpGiXnj5pp8,222
69
72
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/client/factory.py,sha256=3Z-PStpA-7D_LiVO50CRchOY5m77rRhQrWcxq3fBLF4,390
70
73
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/README,sha256=MVlc9TYmr57RbhXET6QxgyCcwWP7w-vLkEsirENqiIQ,38
71
74
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/env.py,sha256=rtUFa4Gaoz3wmq7YfQ-lY8vYA5aWguwe2yvQQ1OLCL8,3343
72
75
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/script.py.mako,sha256=U9DYBoBRd_ooogMfRydCUGEjIDZ-aV8OsjBiBrdTvy4,680
73
76
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration/versions/3093c7336477_add_user_table.py,sha256=j4tkh9NaTKNMefcy1dUdgRI5CzydUidli7i0Q6Ap-7Q,1021
74
77
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/migration_metadata.py,sha256=ZO-6D7V-KyESQ_e7LjiWRovsSNP5E3KS_oVo77xdFh8,157
75
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/route.py,sha256=TdQ38QeVGvqJdLH3Ixdg_R6emcV6pLtX8CFln1lrE5o,1097
78
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/route.py,sha256=rSD22r8WToV9ZutQy7Jax__Fl2r999fXM_C9VSqb7es,1097
76
79
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
77
80
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
81
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_db_repository.py,sha256=4nz9-PBjm_Jr06nUoHXLj90Ygwm4qgT1Gy5MOMdoRfU,1583
79
82
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository.py,sha256=titxurh5C0sMZ49OTb53EG32QGYzKfZhvHqpyCxlVag,961
80
83
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository_factory.py,sha256=-tpEF53042tyorTLvWXpf_ti-w8W8wsvPzOOi_FsqZM,449
81
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_usecase.py,sha256=LxnjFXxpnCKnpv7BqYukdP_W06Ax1NTfGujLAR1RENo,1862
82
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_usecase_factory.py,sha256=R5mK1_XGUnog0AmbNnPiuPfWAWdPanxSeI8v3NJ601E,244
84
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service.py,sha256=y988DbWLJprGn0Ro5yiiMgbmqas6HICVzUdQkhJa7Ks,1862
85
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service_factory.py,sha256=7-7STWOxInqYpU4GFvMyy0WnK2uPgajlbJQe5LSnYAQ,244
83
86
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/alembic.ini,sha256=mgQyBAIwdkZZJWLu_FQWPx1FkyaARCNp6-rLqSVvMbA,3723
84
87
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/README,sha256=MVlc9TYmr57RbhXET6QxgyCcwWP7w-vLkEsirENqiIQ,38
85
88
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/env.py,sha256=xQ4UYy6aaHhE0NssPZ6QkeNFlC1KBd07EhDR0NNzj20,3349
86
89
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/script.py.mako,sha256=U9DYBoBRd_ooogMfRydCUGEjIDZ-aV8OsjBiBrdTvy4,680
87
90
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/versions/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
88
91
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration_metadata.py,sha256=NbIb5ncy6x5RrFD2TZMDwxBK_wDTyJEIvieMRmNpf9M,55
89
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/route.py,sha256=O_ZAxrvwQesXRv2Fpy0rEVhWpU5HKoFESlXxrVVCifE,1084
92
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/route.py,sha256=p8mc3hfVlDWjFYmwEZduJxVEKpEZ-eb50z2F4NPBKQU,2007
90
93
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/subroute/auth.py,sha256=VWSyJw-Ou96a5EENn1poa-GlthJZ3Js-Pbn9sY8bndI,1813
91
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/requirements.txt,sha256=B8CigKAHjauuEyQaKQ-U9g3pAbe70femEScpZgblNbI,90
94
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/view.py,sha256=T_jXObeLA0iZqPAzC_LytB_52Ey0vkYq7Zy6pIewNro,2112
95
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/error.html,sha256=K8jJFW99ORUrJqdybmWf191NK7tCFNoc5VmmNAcWqeo,133
96
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/homepage.html,sha256=Q8jEwRraYJmn0rJIT1Ct4Dz2NB4S-NWJ1ZrU46oZkkw,126
97
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/android-chrome-192x192.png,sha256=4NN-TGVL3y3MVbms7kCgD-Udp5XmQ6cwmWqRFYib0qw,12463
98
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/android-chrome-512x512.png,sha256=PE5DCXqmMtNvwDWfHxVoRIy36mrTmq4IDv-YPgz4mvg,34025
99
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/favicon-32x32.png,sha256=KHE2CBnJAxS81xzoPxdfYA17nJxvoOf6yM2UPaKIT7E,1402
100
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.amber.min.css,sha256=8cF9dTD4aYLVLn_GdHe5iwl7FBVWEX3AyViuf_A9PNc,82218
101
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.blue.min.css,sha256=rZaP3bJyScz6-0dUInIdIyc6qP4ScZkBBxX2LCXV4e4,82210
102
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.cyan.min.css,sha256=zN4eQ0n5b2ooiMup_P4F2tUNf8JvlnZnUUvhXnwBkHA,82200
103
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.fuchsia.min.css,sha256=ecP3r5jfzqjzZBSG53v3LJLAqz5Z0UWuMg2BsXD33YI,82209
104
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.green.min.css,sha256=wKuyGRehVqkh9KJYevU6UYK7vrW2AZdjehVRBhiy26o,82194
105
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.grey.min.css,sha256=U3q94w27RRMQ0C4o-LMspRG2zx68FFxi42eQxDc78yw,82236
106
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.indigo.min.css,sha256=gt0vz3JYANwfviNyiC9cQ8PsOJTwFzZ1zoQhT9z8GPU,82211
107
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.jade.min.css,sha256=huFPPU__cOeh4IiJoTqR0gDhnj0LUG7eYMUV65fHo-w,82193
108
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.lime.min.css,sha256=D-VyV6nPNG1Jdb8yBxUzwUE0bwuenzqhiCJqQQKZQs8,82217
109
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.min.css,sha256=3V_VWRr9ge4h3MEXrYXAFNw_HxncLXt9EB6grMKSdMI,82194
110
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.orange.min.css,sha256=Ndbf_RoTxhDNVaofJp6_GUGtdB-8XImJ4GS1oCYPVFY,82200
111
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.pink.min.css,sha256=LqX5Qd7UFQ2GPLmyMToQFfuxx-7qXvY5g5C6g-Dh3t4,82208
112
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.pumpkin.min.css,sha256=XYaffJhxOX5Q1ZRkQKQpecNkRUFgqU3rlw0hGGp46PQ,82217
113
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.purple.min.css,sha256=ugBx_XOtOaCtXQegW1KMk_Rwd4fRqresbggF_wMwCGQ,82211
114
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.red.min.css,sha256=PhRN54GQjJwiSeMiLZVOWAxbT5aOhCc8VNchTuZg5KI,82200
115
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.sand.min.css,sha256=gsmvJ3u7_wNZ1kvJKiISWBpxMVMFV32tXOzoIGg6RUY,82235
116
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.slate.min.css,sha256=VbzLFd2cYK9nvJ3yDYaSJdtU_VbSXWo-4BYXbgew9js,82211
117
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.violet.min.css,sha256=z8fP6YMWH12oq-NPDVG2OXdza2K0K7k4RYWuxHCqzH8,82211
118
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.yellow.min.css,sha256=mOkvNiE272UAgO8cVewJjU9BYidLxDZ97IcYodW--Ik,82218
119
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.zinc.min.css,sha256=s8SdVQv4fX3W0LbfKDgUDczWcCyUfRbZhpyYtLdASC0,82212
120
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/template/default.html,sha256=kSQFOLj1urKRbMwVX5S2AHmHUxF1SVjw3NWbt32pYRg,1137
121
+ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/requirements.txt,sha256=5OD-rBYYFYEJTcU5i9GZVSbTssqp58RPasufCfTS84Y,104
92
122
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
93
123
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/permission.py,sha256=vK8Qb5dDd_b5Y9gpehUr5OMSKggp1NlkWSz8ePAa0No,769
94
124
  zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/role.py,sha256=LoMpPZtdR6RvtmR7tOA-z-8gzOeNXOyUaawvLoBzlIM,703
@@ -99,7 +129,7 @@ zrb/builtin/project/create/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJ
99
129
  zrb/builtin/project/create/project-template/README.md,sha256=BHeWF_txdTDzKewWdWfGhO3YOTiW8E3YwTMnd0T1LVA,39
100
130
  zrb/builtin/project/create/project-template/zrb_init.py,sha256=kY0x5MrkIVl3l1GtN2ROrYGNpsfN2dgRT84LCcSrGUs,44
101
131
  zrb/builtin/project/create/project_task.py,sha256=B6ao8sd26mtLAkxwqjqiHy47PuACslYQtwAGcutgq7I,1140
102
- zrb/builtin/python.py,sha256=x1TEcs_2TrS8AillDHocXov46_btH57iZrHB9gMmX8c,352
132
+ zrb/builtin/python.py,sha256=e-yyVWovwlxCBLyXGsd9Ek3IAL_X-Q_hpNNOPoRjOgk,349
103
133
  zrb/builtin/setup/asdf/asdf.py,sha256=n_dWoyYa7vZ9tBCy8hgxmSWZ-XHltC1R70mIVZQhnXY,2419
104
134
  zrb/builtin/setup/asdf/asdf_helper.py,sha256=6jARtyIAE1H82HKVQ84D25RrMAsAip_gD28X9ZlaTCk,1205
105
135
  zrb/builtin/setup/common_input.py,sha256=M8q9Unt7dCfBHTHqV3__Mxk9YC2Pl3DDtxat2BanZCQ,870
@@ -122,8 +152,8 @@ zrb/cmd/cmd_result.py,sha256=L8bQJzWCpcYexIxHBNsXj2pT3BtLmWex0iJSMkvimOA,597
122
152
  zrb/cmd/cmd_val.py,sha256=hr8Ge0FRe7FZStvkDYnd1MUOOiJW2lDOQqBv338Ymas,963
123
153
  zrb/config.py,sha256=vZHW6ydp-o27FhMkz6aUYwH1UfEPbKacT55hb_GuSMk,3832
124
154
  zrb/content_transformer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
125
- zrb/content_transformer/any_content_transformer.py,sha256=3XHM6ZdsJFXxRD7YlUkv0Gn7-mexsH8c8zdHt3C0x8k,741
126
- zrb/content_transformer/content_transformer.py,sha256=vNR8Z_fS7dG2A42O7scDG96JYKBz6IDuFa_B4zMVzZY,2012
155
+ zrb/content_transformer/any_content_transformer.py,sha256=v8ZUbcix1GGeDQwB6OKX_1TjpY__ksxWVeqibwa_iZA,850
156
+ zrb/content_transformer/content_transformer.py,sha256=YU6Xr3G_IaCWKQGsf9z9YlCclbiwcJ7ytQv3wKpPIiI,2125
127
157
  zrb/context/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
128
158
  zrb/context/any_context.py,sha256=itd_lCyaPbZvcB_8XDEbvde9yQ7YPRHlOQCxE4hniB4,6251
129
159
  zrb/context/any_shared_context.py,sha256=p1i9af_CUDz5Mf1h1kBZMAa2AEhf17I3O5IgAcjRLoY,1768
@@ -150,62 +180,76 @@ zrb/input/password_input.py,sha256=C2alr0hgO_YLWf9MDF2H8w0NIIf_DZlDJSdKQwEyM0E,1
150
180
  zrb/input/str_input.py,sha256=NevZHX9rf1g8eMatPyy-kUX3DglrVAQpzvVpKAzf7bA,81
151
181
  zrb/input/text_input.py,sha256=7i0lvWYw79ILp0NEOBn-Twwnv7sBEgxJsqVaai6LzAA,3033
152
182
  zrb/runner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
153
- zrb/runner/cli.py,sha256=ycus4N2T4sTdvLSxocyqjK3Atacm2vGRwpZuPhk9dDA,6573
183
+ zrb/runner/cli.py,sha256=M1KNpEXdyxmSWEpyqEnWsCEq9H2e_xm7cmzSLRWLibE,6571
154
184
  zrb/runner/common_util.py,sha256=JYBgNPSGyJHZo0X-Qp9sDi4B14NdcTi20n1fJP4SW3M,1298
155
- zrb/runner/refresh-token.template.js,sha256=v_nF7nU1AXp-KtsHNNzamhciEi7NCSTPEDT5hCxn29g,735
156
- zrb/runner/web_app.py,sha256=OjLYX3tRw1PiLkQdrmZkZ_cykknw4W9L8NFODL3tUGA,12866
157
- zrb/runner/web_config.py,sha256=pF6PE92fSAwsG1IobFbW4TGJY3Z4TUnlRzX1qxLFyqY,9428
158
- zrb/runner/web_controller/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
159
- zrb/runner/web_controller/error_page/controller.py,sha256=Dh2vanfPMvc5aAW0rLYOd2WwUrcO1fGdNVk80-8Qzzs,857
160
- zrb/runner/web_controller/error_page/view.html,sha256=VI-q18Rffyn3T_EQptvn7tZ4qIYLVxj82YbazbXnYfY,1156
161
- zrb/runner/web_controller/group_info_page/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
162
- zrb/runner/web_controller/group_info_page/controller.py,sha256=PBPCyVXILa7gCIC8d-0Exip7EAnTm3ch5GWe1Fs3WxI,1311
163
- zrb/runner/web_controller/group_info_page/view.html,sha256=wISun627ciFZcvGpxANG0pr1zgUtSd1m1rNhCAYjRQw,1280
164
- zrb/runner/web_controller/home_page/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
165
- zrb/runner/web_controller/home_page/controller.py,sha256=2e_Oarts9nnau7ZSdBDiqqvsw7qd7jsIB14BXAsu4FI,1008
166
- zrb/runner/web_controller/home_page/view.html,sha256=ee0O1bgoZO0qYVqaa67ad7wX_Zawqsy6F-ioxbjEQGk,1070
167
- zrb/runner/web_controller/login_page/controller.py,sha256=vCRGgp8mW5JnYt-sPzWdJLLqlaARQO2zTOHAcPzkqrw,733
168
- zrb/runner/web_controller/login_page/view.html,sha256=-MeHcSb3r0ouUhs-4aFgrlPjV_V7iz2a6PkobVpk77c,1761
169
- zrb/runner/web_controller/logout_page/controller.py,sha256=0mX3wyY5jNtI1Jnxfl_7N8fHtLfBwPE81x9yh2zO_u4,764
170
- zrb/runner/web_controller/logout_page/view.html,sha256=O17ow4-KMbxTkwaQgR880Rlt1B9pnHrRTlgu5nsM4LA,1324
171
- zrb/runner/web_controller/session_page/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
172
- zrb/runner/web_controller/session_page/controller.py,sha256=q7O8BeytX9kWyU24CMPXVW2cjkN5BQG5tAkr_kuUOXY,2632
173
- zrb/runner/web_controller/session_page/partial/input.html,sha256=X2jy0q7TLQGP853exZMed0lqPezL3gzn6mnhB5QKfkc,178
174
- zrb/runner/web_controller/session_page/view.html,sha256=CwrIiPJAwHEEIVNp_wkTzW7kQJjTh41FSDamCswI3S8,3593
175
- zrb/runner/web_controller/static/common.css,sha256=u5rGLsPx2943z324iQ2X81krM3z-kc-8e1SkBdYAvKU,157
176
- zrb/runner/web_controller/static/favicon-32x32.png,sha256=yu9AIU4k_qD4YHpul6XwJgOxIbmu0thv9ymm2QOsrAk,1456
177
- zrb/runner/web_controller/static/login/event.js,sha256=1-NxaUwU-X7Tu2RAwVkzU7gngS0OdooH7Ple4_KDrh4,1135
178
- zrb/runner/web_controller/static/logout/event.js,sha256=MfZxrTa2yL49Lbh7cCZDdqsIcf9e1q3W8-WjmZXV5pA,692
179
- zrb/runner/web_controller/static/pico.min.css,sha256=_Esfkjs_U_igYn-tXBUaK3AEKb7d4l9DlmaOiw9bXfI,82214
180
- zrb/runner/web_controller/static/session/common-util.js,sha256=t7_s5DXgMyZlT8L8LYZTkzOT6vWVeZvmCKjt-bflQY0,2117
181
- zrb/runner/web_controller/static/session/current-session.js,sha256=JV0VRFeizFigPqQiXIeW3By36FDDZhkRM_a8UI4mh-E,6509
182
- zrb/runner/web_controller/static/session/event.js,sha256=Bd3iW_XqWDlD6gJtSvFju-eT8vQzpkLHOcQU85quCWk,4154
183
- zrb/runner/web_controller/static/session/past-session.js,sha256=RwGJYKSp75K8NZ-iZP58XppWgdzkiKFaiC5wgcMLxDo,5470
184
- zrb/runner/web_util.py,sha256=9zAH9FkPM7anVNjRcwTjHyfFocfwpksaWQVYth_nuBc,2464
185
+ zrb/runner/web_app.py,sha256=Ji2AWeFpJu5guXmur7mAAbjMToyjgmPDdfYu8047FFI,2616
186
+ zrb/runner/web_config/config.py,sha256=0wR58KreAmawGGfamm0GLZY344HaXs7qfDgHLavBDwo,3125
187
+ zrb/runner/web_config/config_factory.py,sha256=GNByKviNhQF5qG2ypmC_mV2xglzWHLVQC0x2SQJjrbA,894
188
+ zrb/runner/web_route/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
189
+ zrb/runner/web_route/docs_route.py,sha256=06QfDITvXTRphZWI0qlxbDfnB-44_eZpE-xotwKsvY8,514
190
+ zrb/runner/web_route/error_page/serve_default_404.py,sha256=y2gVZPPjGp5J9uRH6JpoboaFI3DMP-WmCjH6fWx5UBM,1056
191
+ zrb/runner/web_route/error_page/show_error_page.py,sha256=rlzQzwm5rEXpM63qpbHxQrdeHXsWRLTNptUZJmW-3kE,867
192
+ zrb/runner/web_route/error_page/view.html,sha256=h58zKnB170h2BTczBtD8CoECEEdXpojWMBbL_KwS4yU,1204
193
+ zrb/runner/web_route/home_page/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
194
+ zrb/runner/web_route/home_page/home_page_route.py,sha256=hMTziWF25RnKzrVNna2hOcOUpeOinvwBExMqdk4OqNc,1765
195
+ zrb/runner/web_route/home_page/view.html,sha256=ee0O1bgoZO0qYVqaa67ad7wX_Zawqsy6F-ioxbjEQGk,1070
196
+ zrb/runner/web_route/login_api_route.py,sha256=AAK6DmQQrFi1Rg_Y5qF_ss11tzDMnziPXYILEb-vlb4,1125
197
+ zrb/runner/web_route/login_page/login_page_route.py,sha256=mm2zM8Y0_uZYmmgbwNOzO319sJ9QXiWwzzx19MXMPso,1301
198
+ zrb/runner/web_route/login_page/view.html,sha256=-MeHcSb3r0ouUhs-4aFgrlPjV_V7iz2a6PkobVpk77c,1761
199
+ zrb/runner/web_route/logout_api_route.py,sha256=ZlP1fi1RoNajLrm5ojo2o905TaE8OCB2soGhbLJ-2OE,612
200
+ zrb/runner/web_route/logout_page/logout_page_route.py,sha256=j8oW0PIKobyu1O8D1zCv6kybzRkbty1wlvAD0_87Icw,1338
201
+ zrb/runner/web_route/logout_page/view.html,sha256=O17ow4-KMbxTkwaQgR880Rlt1B9pnHrRTlgu5nsM4LA,1324
202
+ zrb/runner/web_route/node_page/group/show_group_page.py,sha256=98gp3UCmQhrvkLbO075x_Qy3_LGdxrDP2fFAf9UzAMQ,1316
203
+ zrb/runner/web_route/node_page/group/view.html,sha256=wISun627ciFZcvGpxANG0pr1zgUtSd1m1rNhCAYjRQw,1280
204
+ zrb/runner/web_route/node_page/node_page_route.py,sha256=LYi60eZ5ZGgykTIeSQk5Hn9OYjh3ocYgBIAue7Bznvw,2268
205
+ zrb/runner/web_route/node_page/task/partial/input.html,sha256=X2jy0q7TLQGP853exZMed0lqPezL3gzn6mnhB5QKfkc,178
206
+ zrb/runner/web_route/node_page/task/show_task_page.py,sha256=0HIFEuy5DLOKqff4Wib5WaMe5Om0B4C7BH63pPIA-OU,2639
207
+ zrb/runner/web_route/node_page/task/view.html,sha256=CwrIiPJAwHEEIVNp_wkTzW7kQJjTh41FSDamCswI3S8,3593
208
+ zrb/runner/web_route/refresh_token_api_route.py,sha256=JOuzhQUtRA62w3l27mq-jXgpaV7Rbj20jzxpQacssio,1478
209
+ zrb/runner/web_route/static/refresh-token.template.js,sha256=v_nF7nU1AXp-KtsHNNzamhciEi7NCSTPEDT5hCxn29g,735
210
+ zrb/runner/web_route/static/resources/common.css,sha256=u5rGLsPx2943z324iQ2X81krM3z-kc-8e1SkBdYAvKU,157
211
+ zrb/runner/web_route/static/resources/favicon-32x32.png,sha256=yu9AIU4k_qD4YHpul6XwJgOxIbmu0thv9ymm2QOsrAk,1456
212
+ zrb/runner/web_route/static/resources/login/event.js,sha256=1-NxaUwU-X7Tu2RAwVkzU7gngS0OdooH7Ple4_KDrh4,1135
213
+ zrb/runner/web_route/static/resources/logout/event.js,sha256=MfZxrTa2yL49Lbh7cCZDdqsIcf9e1q3W8-WjmZXV5pA,692
214
+ zrb/runner/web_route/static/resources/pico.min.css,sha256=_Esfkjs_U_igYn-tXBUaK3AEKb7d4l9DlmaOiw9bXfI,82214
215
+ zrb/runner/web_route/static/resources/session/common-util.js,sha256=t7_s5DXgMyZlT8L8LYZTkzOT6vWVeZvmCKjt-bflQY0,2117
216
+ zrb/runner/web_route/static/resources/session/current-session.js,sha256=JV0VRFeizFigPqQiXIeW3By36FDDZhkRM_a8UI4mh-E,6509
217
+ zrb/runner/web_route/static/resources/session/event.js,sha256=Bd3iW_XqWDlD6gJtSvFju-eT8vQzpkLHOcQU85quCWk,4154
218
+ zrb/runner/web_route/static/resources/session/past-session.js,sha256=RwGJYKSp75K8NZ-iZP58XppWgdzkiKFaiC5wgcMLxDo,5470
219
+ zrb/runner/web_route/static/static_route.py,sha256=7x069VfACZLkLykY0vLL5t13jIQPgkeEJtkpbfNQfLg,1540
220
+ zrb/runner/web_route/task_input_api_route.py,sha256=xkZ36vmHXMPj0ekp6ocUysO0QUgl1PLaSHt3YL_OfK8,1749
221
+ zrb/runner/web_route/task_session_api_route.py,sha256=yBwB0MmzX54iz8B4OtWGTjk7_5pnlRiPmNr6v3iMBFg,4370
222
+ zrb/runner/web_schema/session.py,sha256=NwbuS2Sv-CXO52nU-EZv8OMlD4vgCQWNeLC_dT0FK7I,92
223
+ zrb/runner/web_schema/token.py,sha256=Y7XCPS4WzrxslTDtHeLcPTTUpmWhPOkRcl4b99zrC7c,185
224
+ zrb/runner/web_schema/user.py,sha256=Kp10amg4i-f8Y-4czogv1YN7rwy0HdbePFiuovYu1ts,1018
225
+ zrb/runner/web_util/cookie.py,sha256=h0Ux94GxZgSF7mth1mMv2acxaYkU8iVhu6TICFLYxdE,1054
226
+ zrb/runner/web_util/html.py,sha256=TuUHjX3eKCBzoa7TYdMt8dfWWy06idauyCaG66X4Ygc,1838
227
+ zrb/runner/web_util/token.py,sha256=nkDKmcbJp3t9yTzVPpkzrpU4BlSNH5emKVzGkhX20cI,2522
228
+ zrb/runner/web_util/user.py,sha256=XupVVe-IybL10bUKfEg1SfSf1mTIc4Wv2PoJCn-NNAc,1967
185
229
  zrb/session/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
186
230
  zrb/session/any_session.py,sha256=x57mS15E-AfUjdVxwOWEzCBjW32zjer7WoeBw0guoDc,5266
187
- zrb/session/session.py,sha256=b89UdwPs0U9XXmTHNhCXFmcYXxuRVhNr94Dp_bVO3n4,9827
231
+ zrb/session/session.py,sha256=aDaLV1tuE7PhcC17LMk6c7KiSs7yX7QXI9O-Z4MMZO8,9967
188
232
  zrb/session_state_log/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
189
233
  zrb/session_state_log/session_state_log.py,sha256=VVghDMU72PbrvnzQ7MJuc-KTJ5P5fX0FYuCh3Rlwd9M,709
190
234
  zrb/session_state_logger/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
191
235
  zrb/session_state_logger/any_session_state_logger.py,sha256=OEP7RQD6sPSJP0OY8oDKRZcoqQ9oKMOjBswanMj6OaE,610
192
- zrb/session_state_logger/default_session_state_logger.py,sha256=w_cAaNUg1ZmJk-ge1kh3xtag3SApC3ZdB3VbxUvU5Ro,197
193
236
  zrb/session_state_logger/file_session_state_logger.py,sha256=1ue7-Bcwg4wlLn2G_7ARR4Rij2zUISj_Y56VBQsCaMQ,3666
237
+ zrb/session_state_logger/session_state_logger_factory.py,sha256=wXf2DVmeRmx399MFYYty6uNcPZMcf7iayHBYCLGlhfc,189
194
238
  zrb/task/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
195
239
  zrb/task/any_task.py,sha256=9rCdKe-Sayr34Han9AsbhRxFpkbk6Rteg1DOyETulwQ,4917
196
- zrb/task/base_task.py,sha256=Vn_MTR5aa3jIEWmh5LXpzezh-JwaEXPbjGKptx-Q-U8,19161
197
- zrb/task/base_trigger.py,sha256=hto1xI6SIdywAmIV4Z0fBd6lL-86oLUrg9D9UB2jPJ0,4490
198
- zrb/task/cmd_task.py,sha256=P8V0RUtzrI4qFdQbgJo_hoRV1E5nDwFdZhCh6BHkTkg,10184
199
- zrb/task/http_check.py,sha256=TwQCql3589a4-H2c7hgS1HayyU-NdBAdJ4qQNTvjXHM,2474
200
- zrb/task/llm_task.py,sha256=1jWkGcbeY_zmpKObowInsX0JJ-xLrIO1AkseOSRQqDw,8542
201
- zrb/task/make_task.py,sha256=1eVfaq8gbrlCRgwDgce9xcha-WZ1iVBbrrFdSJr9sE8,2178
202
- zrb/task/rsync_task.py,sha256=vENITMBXShKgj-NNgjM8eUK2ujU3wD8MUvyS_69ePEA,6227
203
- zrb/task/scaffolder.py,sha256=UZ25QKBejeSd2sTGF99OvG9Vz_9xYpLrCJ0HJFWf2XE,6646
204
- zrb/task/scheduler.py,sha256=V4krEPojWAOqAsdLwLH97j97zI1lID5q9KCLTmlPWdM,3046
240
+ zrb/task/base_task.py,sha256=220eaW80ToGE0Ofv45guTRn3c8Lf4i8CiVY37XLW2bU,20355
241
+ zrb/task/base_trigger.py,sha256=jC722rDvodaBLeNaFghkTyv1u0QXrK6BLZUUqcmBJ7Q,4581
242
+ zrb/task/cmd_task.py,sha256=romQfJWBPRKEcFVCa0rWSwOkWVnkCtMAWZdi1O6catc,10275
243
+ zrb/task/http_check.py,sha256=Gf5rOB2Se2EdizuN9rp65HpGmfZkGc-clIAlHmPVehs,2565
244
+ zrb/task/llm_task.py,sha256=PiwlKAaClCRFeETBp5uHmoJQyKz1kNXDAuhkbYWrT1I,8633
245
+ zrb/task/make_task.py,sha256=PD3b_aYazthS8LHeJsLAhwKDEgdurQZpymJDKeN60u0,2265
246
+ zrb/task/rsync_task.py,sha256=pVVslZ46qgcpU_EKhyTQEQie8kUOMuTsVQdbQG2L-yk,6318
247
+ zrb/task/scaffolder.py,sha256=rME18w1HJUHXgi9eTYXx_T2G4JdqDYzBoNOkdOOo5-o,6806
248
+ zrb/task/scheduler.py,sha256=aSDF_WtDbmwrYXaVo3BesCG8w21UNV8XLtn-5x9GWzY,3137
205
249
  zrb/task/task.py,sha256=KCrCaWYOQQvv1RJsYtHDeo9RBFmlXQ28oKyEFU4Q7pA,73
206
- zrb/task/tcp_check.py,sha256=UQ3rMrwDwhuvz-lf1qx6Z3D4mWPqdJIjxqcIKCOKVes,2420
250
+ zrb/task/tcp_check.py,sha256=P_QgGqwd5dXDaud3oQRxe_WuxyxG4s7CTY2wDk9Qcu0,2511
207
251
  zrb/task_status/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
208
- zrb/task_status/task_status.py,sha256=aRygkj0DKrOYWgz2eF5wNmYcpVbLeklxL521BqIQN4A,3005
252
+ zrb/task_status/task_status.py,sha256=blZ8dxg9g_8MuViq-t7yJRLoE7yGUf5srgHf-PCsXNc,3069
209
253
  zrb/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
210
254
  zrb/util/attr.py,sha256=HkXd2N-eUXw2o4WWWJpo2q8N0kS7k08jsMLXpK_3zq0,2353
211
255
  zrb/util/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -238,7 +282,7 @@ zrb/util/string/name.py,sha256=8picJfUBXNpdh64GNaHv3om23QHhUZux7DguFLrXHp8,1163
238
282
  zrb/util/todo.py,sha256=1nDdwPc22oFoK_1ZTXyf3638Bg6sqE2yp_U4_-frHoc,16015
239
283
  zrb/xcom/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
240
284
  zrb/xcom/xcom.py,sha256=o79rxR9wphnShrcIushA0Qt71d_p3ZTxjNf7x9hJB78,1571
241
- zrb-1.0.0a21.dist-info/METADATA,sha256=GzXMD38Yc32hIwuW55Pe1tMFB3_2j56o8Iz11qJtQOo,4185
242
- zrb-1.0.0a21.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
243
- zrb-1.0.0a21.dist-info/entry_points.txt,sha256=-Pg3ElWPfnaSM-XvXqCxEAa-wfVI6BEgcs386s8C8v8,46
244
- zrb-1.0.0a21.dist-info/RECORD,,
285
+ zrb-1.0.0b1.dist-info/METADATA,sha256=2PPlcjRN6iqdKmnuKcCjOJzT1isHnLQOXL-T2NC4cxU,4184
286
+ zrb-1.0.0b1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
287
+ zrb-1.0.0b1.dist-info/entry_points.txt,sha256=-Pg3ElWPfnaSM-XvXqCxEAa-wfVI6BEgcs386s8C8v8,46
288
+ zrb-1.0.0b1.dist-info/RECORD,,
@@ -1,6 +0,0 @@
1
- from my_app_name.module.auth.service.user.repository.user_repository_factory import (
2
- user_repository,
3
- )
4
- from my_app_name.module.auth.service.user.user_usecase import UserUsecase
5
-
6
- user_usecase = UserUsecase(user_repository=user_repository)
zrb/runner/web_config.py DELETED
@@ -1,274 +0,0 @@
1
- from datetime import datetime, timedelta
2
- from typing import TYPE_CHECKING, Callable
3
-
4
- from pydantic import BaseModel, ConfigDict
5
-
6
- from zrb.config import (
7
- WEB_ACCESS_TOKEN_COOKIE_NAME,
8
- WEB_AUTH_ACCESS_TOKEN_EXPIRE_MINUTES,
9
- WEB_AUTH_REFRESH_TOKEN_EXPIRE_MINUTES,
10
- WEB_ENABLE_AUTH,
11
- WEB_GUEST_USERNAME,
12
- WEB_HTTP_PORT,
13
- WEB_REFRESH_TOKEN_COOKIE_NAME,
14
- WEB_SECRET_KEY,
15
- WEB_SUPER_ADMIN_PASSWORD,
16
- WEB_SUPER_ADMIN_USERNAME,
17
- )
18
- from zrb.group.any_group import AnyGroup
19
- from zrb.task.any_task import AnyTask
20
- from zrb.util.group import get_all_subtasks
21
-
22
- if TYPE_CHECKING:
23
- # Import Request only for type checking to reduce runtime dependencies
24
- from fastapi import Request
25
-
26
-
27
- class NewSessionResponse(BaseModel):
28
- session_name: str
29
-
30
-
31
- class RefreshTokenRequest(BaseModel):
32
- refresh_token: str
33
-
34
-
35
- class User(BaseModel):
36
- model_config = ConfigDict(arbitrary_types_allowed=True)
37
- username: str
38
- password: str = ""
39
- is_super_admin: bool = False
40
- is_guest: bool = False
41
- accessible_tasks: list[AnyTask | str] = []
42
-
43
- def is_password_match(self, password: str) -> bool:
44
- return self.password == password
45
-
46
- def can_access_group(self, group: AnyGroup) -> bool:
47
- if self.is_super_admin:
48
- return True
49
- all_tasks = get_all_subtasks(group, web_only=True)
50
- if any(self.can_access_task(task) for task in all_tasks):
51
- return True
52
- return False
53
-
54
- def can_access_task(self, task: AnyTask) -> bool:
55
- if self.is_super_admin:
56
- return True
57
- if task.name in self.accessible_tasks or task in self.accessible_tasks:
58
- return True
59
- return False
60
-
61
-
62
- class Token(BaseModel):
63
- access_token: str
64
- refresh_token: str
65
- token_type: str
66
-
67
-
68
- class WebConfig:
69
- def __init__(
70
- self,
71
- port: int,
72
- secret_key: str,
73
- access_token_expire_minutes: int,
74
- refresh_token_expire_minutes: int,
75
- access_token_cookie_name: str,
76
- refresh_token_cookie_name: str,
77
- enable_auth: bool,
78
- super_admin_username: str,
79
- super_admin_password: str,
80
- guest_username: str,
81
- guest_accessible_tasks: list[AnyTask | str] = [],
82
- find_user_by_username: Callable[[str], User | None] | None = None,
83
- ):
84
- self.secret_key = secret_key
85
- self.access_token_expire_minutes = access_token_expire_minutes
86
- self.refresh_token_expire_minutes = refresh_token_expire_minutes
87
- self.access_token_cookie_name = access_token_cookie_name
88
- self.refresh_token_cookie_name = refresh_token_cookie_name
89
- self.enable_auth = enable_auth
90
- self.port = port
91
- self._user_list = []
92
- self.super_admin_username = super_admin_username
93
- self.super_admin_password = super_admin_password
94
- self.guest_username = guest_username
95
- self.guest_accessible_tasks = guest_accessible_tasks
96
- self._find_user_by_username = find_user_by_username
97
-
98
- @property
99
- def default_user(self) -> User:
100
- if self.enable_auth:
101
- return User(
102
- username=self.guest_username,
103
- password="",
104
- is_guest=True,
105
- accessible_tasks=self.guest_accessible_tasks,
106
- )
107
- return User(
108
- username=self.guest_username,
109
- password="",
110
- is_guest=True,
111
- is_super_admin=True,
112
- )
113
-
114
- @property
115
- def super_admin(self) -> User:
116
- return User(
117
- username=self.super_admin_username,
118
- password=self.super_admin_password,
119
- is_super_admin=True,
120
- )
121
-
122
- @property
123
- def user_list(self) -> list[User]:
124
- if not self.enable_auth:
125
- return [self.default_user]
126
- return self._user_list + [self.super_admin, self.default_user]
127
-
128
- def set_guest_accessible_tasks(self, tasks: list[AnyTask | str]):
129
- self.guest_accessible_tasks = tasks
130
-
131
- def set_find_user_by_username(
132
- self, find_user_by_username: Callable[[str], User | None]
133
- ):
134
- self._find_user_by_username = find_user_by_username
135
-
136
- def append_user(self, user: User):
137
- duplicates = [
138
- existing_user
139
- for existing_user in self.user_list
140
- if existing_user.username == user.username
141
- ]
142
- if len(duplicates) > 0:
143
- raise ValueError(f"User already exists {user.username}")
144
- self._user_list.append(user)
145
-
146
- def find_user_by_username(self, username: str) -> User | None:
147
- user = None
148
- if self._find_user_by_username is not None:
149
- user = self._find_user_by_username(username)
150
- if user is None:
151
- user = next((u for u in self.user_list if u.username == username), None)
152
- return user
153
-
154
- async def get_user_from_request(self, request: "Request") -> User | None:
155
- from fastapi.security import OAuth2PasswordBearer
156
-
157
- if not self.enable_auth:
158
- return self.default_user
159
- # Normally we use "Depends"
160
- get_bearer_token = OAuth2PasswordBearer(
161
- tokenUrl="/api/v1/login", auto_error=False
162
- )
163
- bearer_token = await get_bearer_token(request)
164
- token_user = self._get_user_from_token(bearer_token)
165
- if token_user is not None:
166
- return token_user
167
- cookie_user = self._get_user_from_cookie(request)
168
- if cookie_user is not None:
169
- return cookie_user
170
- return self.default_user
171
-
172
- def _get_user_from_token(self, token: str) -> User | None:
173
- try:
174
- from jose import jwt
175
-
176
- payload = jwt.decode(
177
- token,
178
- self.secret_key,
179
- options={"require_sub": True, "require_exp": True},
180
- )
181
- username: str = payload.get("sub")
182
- if username is None:
183
- return None
184
- user = self.find_user_by_username(username)
185
- if user is None:
186
- return None
187
- return user
188
- except Exception:
189
- return None
190
-
191
- def _get_user_from_cookie(self, request: "Request") -> User | None:
192
- token = request.cookies.get(self.access_token_cookie_name)
193
- if token:
194
- return self._get_user_from_token(token)
195
- return None
196
-
197
- def get_user_by_credentials(self, username: str, password: str) -> User | None:
198
- user = self.find_user_by_username(username)
199
- if user is None or not user.is_password_match(password):
200
- return None
201
- return user
202
-
203
- def generate_tokens_by_credentials(
204
- self, username: str, password: str
205
- ) -> Token | None:
206
- if not self.enable_auth:
207
- user = self.default_user
208
- else:
209
- user = self.get_user_by_credentials(username, password)
210
- if user is None:
211
- return None
212
- access_token = self._generate_access_token(user.username)
213
- refresh_token = self._generate_refresh_token(user.username)
214
- return Token(
215
- access_token=access_token, refresh_token=refresh_token, token_type="bearer"
216
- )
217
-
218
- def _generate_access_token(self, username: str) -> str:
219
- from jose import jwt
220
-
221
- expire = datetime.now() + timedelta(minutes=self.access_token_expire_minutes)
222
- to_encode = {"sub": username, "exp": expire, "type": "access"}
223
- return jwt.encode(to_encode, self.secret_key)
224
-
225
- def _generate_refresh_token(self, username: str) -> str:
226
- from jose import jwt
227
-
228
- expire = datetime.now() + timedelta(minutes=self.refresh_token_expire_minutes)
229
- to_encode = {"sub": username, "exp": expire, "type": "refresh"}
230
- return jwt.encode(to_encode, self.secret_key)
231
-
232
- def regenerate_tokens(self, refresh_token: str) -> Token:
233
- from fastapi import HTTPException
234
- from jose import jwt
235
-
236
- # Decode and validate token
237
- try:
238
- payload = jwt.decode(
239
- refresh_token,
240
- self.secret_key,
241
- options={"require_exp": True, "require_sub": True},
242
- )
243
- except Exception:
244
- raise HTTPException(status_code=401, detail="Invalid JWT token")
245
- if payload.get("type") != "refresh":
246
- raise HTTPException(status_code=401, detail="Invalid token type")
247
- username: str = payload.get("sub")
248
- if username is None:
249
- raise HTTPException(status_code=401, detail="Invalid refresh token")
250
- user = self.find_user_by_username(username)
251
- if user is None:
252
- raise HTTPException(status_code=401, detail="User not found")
253
- # Create new token
254
- new_access_token = self._generate_access_token(username)
255
- new_refresh_token = self._generate_refresh_token(username)
256
- return Token(
257
- access_token=new_access_token,
258
- refresh_token=new_refresh_token,
259
- token_type="bearer",
260
- )
261
-
262
-
263
- web_config = WebConfig(
264
- port=WEB_HTTP_PORT,
265
- secret_key=WEB_SECRET_KEY,
266
- access_token_expire_minutes=WEB_AUTH_ACCESS_TOKEN_EXPIRE_MINUTES,
267
- refresh_token_expire_minutes=WEB_AUTH_REFRESH_TOKEN_EXPIRE_MINUTES,
268
- access_token_cookie_name=WEB_ACCESS_TOKEN_COOKIE_NAME,
269
- refresh_token_cookie_name=WEB_REFRESH_TOKEN_COOKIE_NAME,
270
- enable_auth=WEB_ENABLE_AUTH,
271
- super_admin_username=WEB_SUPER_ADMIN_USERNAME,
272
- super_admin_password=WEB_SUPER_ADMIN_PASSWORD,
273
- guest_username=WEB_GUEST_USERNAME,
274
- )
File without changes