zrb 1.0.0b10__py3-none-any.whl → 1.2.0__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.
- zrb/builtin/git.py +8 -8
- zrb/builtin/llm/llm_chat.py +3 -3
- zrb/builtin/project/add/fastapp/fastapp_input.py +1 -1
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_task.py +99 -55
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_util.py +301 -0
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_task.py +24 -1
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_util.py +61 -1
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/gateway/view/content/my-module/my-entity.html +297 -0
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/gateway_subroute.py +24 -0
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/navigation_config_file.py +8 -0
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/input.py +3 -3
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_task.py +8 -0
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_util.py +40 -1
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/gateway/subroute/my_module.py +2 -0
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/navigation_config_file.py +6 -0
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/parser.py +2 -2
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/view.py +1 -1
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/config.py +18 -8
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/config/navigation.py +39 -0
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/route.py +52 -11
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/schema/navigation.py +95 -0
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/subroute/auth.py +91 -8
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/auth.py +9 -0
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/view.py +33 -8
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/permission.html +311 -0
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/role.html +0 -0
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/user.html +0 -0
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/error.html +4 -1
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/login.html +67 -0
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/logout.html +49 -0
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/common/util.js +160 -0
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/style.css +14 -0
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/util.js +94 -0
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/pico-style.css +23 -0
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/script.js +44 -0
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/style.css +102 -0
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/template/default.html +73 -18
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/requirements.txt +1 -1
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_homepage.py +2 -4
- zrb/builtin/project/create/project_task.py +2 -2
- zrb/builtin/random.py +3 -3
- zrb/builtin/setup/common_input.py +5 -5
- zrb/builtin/setup/tmux/tmux.py +1 -1
- zrb/builtin/setup/zsh/zsh.py +1 -1
- zrb/builtin/todo.py +4 -4
- zrb/input/base_input.py +17 -12
- zrb/input/bool_input.py +12 -5
- zrb/input/float_input.py +12 -5
- zrb/input/int_input.py +12 -5
- zrb/input/option_input.py +5 -5
- zrb/input/password_input.py +5 -5
- zrb/input/text_input.py +4 -4
- zrb/runner/web_route/refresh_token_api_route.py +1 -1
- zrb/runner/web_route/static/refresh-token.template.js +9 -0
- zrb/runner/web_route/static/static_route.py +1 -1
- zrb/util/load.py +13 -7
- {zrb-1.0.0b10.dist-info → zrb-1.2.0.dist-info}/METADATA +2 -2
- {zrb-1.0.0b10.dist-info → zrb-1.2.0.dist-info}/RECORD +60 -44
- zrb/util/llm/tool.py +0 -87
- {zrb-1.0.0b10.dist-info → zrb-1.2.0.dist-info}/WHEEL +0 -0
- {zrb-1.0.0b10.dist-info → zrb-1.2.0.dist-info}/entry_points.txt +0 -0
zrb/input/float_input.py
CHANGED
@@ -1,6 +1,7 @@
|
|
1
|
-
from zrb.attr.type import
|
1
|
+
from zrb.attr.type import FloatAttr
|
2
2
|
from zrb.context.any_shared_context import AnySharedContext
|
3
3
|
from zrb.input.base_input import BaseInput
|
4
|
+
from zrb.util.attr import get_float_attr
|
4
5
|
|
5
6
|
|
6
7
|
class FloatInput(BaseInput):
|
@@ -9,7 +10,7 @@ class FloatInput(BaseInput):
|
|
9
10
|
name: str,
|
10
11
|
description: str | None = None,
|
11
12
|
prompt: str | None = None,
|
12
|
-
|
13
|
+
default: FloatAttr = 0.0,
|
13
14
|
auto_render: bool = True,
|
14
15
|
allow_empty: bool = False,
|
15
16
|
allow_positional_parsing: bool = True,
|
@@ -18,17 +19,23 @@ class FloatInput(BaseInput):
|
|
18
19
|
name=name,
|
19
20
|
description=description,
|
20
21
|
prompt=prompt,
|
21
|
-
|
22
|
+
default=default,
|
22
23
|
auto_render=auto_render,
|
23
24
|
allow_empty=allow_empty,
|
24
25
|
allow_positional_parsing=allow_positional_parsing,
|
25
26
|
)
|
26
27
|
|
27
|
-
def to_html(self,
|
28
|
+
def to_html(self, shared_ctx: AnySharedContext) -> str:
|
28
29
|
name = self.name
|
29
30
|
description = self.description
|
30
|
-
default = self.get_default_str(
|
31
|
+
default = self.get_default_str(shared_ctx)
|
31
32
|
return f'<input type="number" name="{name}" placeholder="{description}" value="{default}" step="any" />' # noqa
|
32
33
|
|
34
|
+
def get_default_str(self, shared_ctx: AnySharedContext) -> str:
|
35
|
+
default_value = get_float_attr(
|
36
|
+
shared_ctx, self._default_value, auto_render=self._auto_render
|
37
|
+
)
|
38
|
+
return f"{default_value}"
|
39
|
+
|
33
40
|
def _parse_str_value(self, str_value: str) -> float:
|
34
41
|
return float(str_value)
|
zrb/input/int_input.py
CHANGED
@@ -1,6 +1,7 @@
|
|
1
|
-
from zrb.attr.type import
|
1
|
+
from zrb.attr.type import IntAttr
|
2
2
|
from zrb.context.any_shared_context import AnySharedContext
|
3
3
|
from zrb.input.base_input import BaseInput
|
4
|
+
from zrb.util.attr import get_int_attr
|
4
5
|
|
5
6
|
|
6
7
|
class IntInput(BaseInput):
|
@@ -9,7 +10,7 @@ class IntInput(BaseInput):
|
|
9
10
|
name: str,
|
10
11
|
description: str | None = None,
|
11
12
|
prompt: str | None = None,
|
12
|
-
|
13
|
+
default: IntAttr = 0,
|
13
14
|
auto_render: bool = True,
|
14
15
|
allow_empty: bool = False,
|
15
16
|
allow_positional_parsing: bool = True,
|
@@ -18,17 +19,23 @@ class IntInput(BaseInput):
|
|
18
19
|
name=name,
|
19
20
|
description=description,
|
20
21
|
prompt=prompt,
|
21
|
-
|
22
|
+
default=default,
|
22
23
|
auto_render=auto_render,
|
23
24
|
allow_empty=allow_empty,
|
24
25
|
allow_positional_parsing=allow_positional_parsing,
|
25
26
|
)
|
26
27
|
|
27
|
-
def to_html(self,
|
28
|
+
def to_html(self, shared_ctx: AnySharedContext) -> str:
|
28
29
|
name = self.name
|
29
30
|
description = self.description
|
30
|
-
default = self.get_default_str(
|
31
|
+
default = self.get_default_str(shared_ctx)
|
31
32
|
return f'<input type="number" step="1" name="{name}" placeholder="{description}" value="{default}" />' # noqa
|
32
33
|
|
33
34
|
def _parse_str_value(self, str_value: str) -> int:
|
34
35
|
return int(str_value)
|
36
|
+
|
37
|
+
def get_default_str(self, shared_ctx: AnySharedContext) -> str:
|
38
|
+
default_value = get_int_attr(
|
39
|
+
shared_ctx, self._default_value, auto_render=self._auto_render
|
40
|
+
)
|
41
|
+
return f"{default_value}"
|
zrb/input/option_input.py
CHANGED
@@ -11,7 +11,7 @@ class OptionInput(BaseInput):
|
|
11
11
|
description: str | None = None,
|
12
12
|
prompt: str | None = None,
|
13
13
|
options: StrListAttr = [],
|
14
|
-
|
14
|
+
default: StrAttr = "",
|
15
15
|
auto_render: bool = True,
|
16
16
|
allow_empty: bool = False,
|
17
17
|
allow_positional_parsing: bool = True,
|
@@ -20,19 +20,19 @@ class OptionInput(BaseInput):
|
|
20
20
|
name=name,
|
21
21
|
description=description,
|
22
22
|
prompt=prompt,
|
23
|
-
|
23
|
+
default=default,
|
24
24
|
auto_render=auto_render,
|
25
25
|
allow_empty=allow_empty,
|
26
26
|
allow_positional_parsing=allow_positional_parsing,
|
27
27
|
)
|
28
28
|
self._options = options
|
29
29
|
|
30
|
-
def to_html(self,
|
30
|
+
def to_html(self, shared_ctx: AnySharedContext) -> str:
|
31
31
|
name = self.name
|
32
32
|
description = self.description
|
33
|
-
default = self.get_default_str(
|
33
|
+
default = self.get_default_str(shared_ctx)
|
34
34
|
html = [f'<select name="{name}" placeholder="{description}">']
|
35
|
-
for value in get_str_list_attr(
|
35
|
+
for value in get_str_list_attr(shared_ctx, self._options, self._auto_render):
|
36
36
|
selected = "selected" if value == default else ""
|
37
37
|
html.append(f'<option value="{value}" {selected}>{value}</option>')
|
38
38
|
html.append("</select>")
|
zrb/input/password_input.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import getpass
|
2
|
-
from collections.abc import Callable
|
3
2
|
|
3
|
+
from zrb.attr.type import StrAttr
|
4
4
|
from zrb.context.any_shared_context import AnySharedContext
|
5
5
|
from zrb.input.base_input import BaseInput
|
6
6
|
|
@@ -11,7 +11,7 @@ class PasswordInput(BaseInput):
|
|
11
11
|
name: str,
|
12
12
|
description: str | None = None,
|
13
13
|
prompt: str | None = None,
|
14
|
-
|
14
|
+
default: StrAttr = "",
|
15
15
|
auto_render: bool = True,
|
16
16
|
allow_empty: bool = False,
|
17
17
|
allow_positional_parsing: bool = True,
|
@@ -20,17 +20,17 @@ class PasswordInput(BaseInput):
|
|
20
20
|
name=name,
|
21
21
|
description=description,
|
22
22
|
prompt=prompt,
|
23
|
-
|
23
|
+
default=default,
|
24
24
|
auto_render=auto_render,
|
25
25
|
allow_empty=allow_empty,
|
26
26
|
allow_positional_parsing=allow_positional_parsing,
|
27
27
|
)
|
28
28
|
self._is_secret = True
|
29
29
|
|
30
|
-
def to_html(self,
|
30
|
+
def to_html(self, shared_ctx: AnySharedContext) -> str:
|
31
31
|
name = self.name
|
32
32
|
description = self.description
|
33
|
-
default = self.get_default_str(
|
33
|
+
default = self.get_default_str(shared_ctx)
|
34
34
|
return f'<input type="password" name="{name}" placeholder="{description}" value="{default}" />' # noqa
|
35
35
|
|
36
36
|
def _prompt_cli_str(self, shared_ctx: AnySharedContext) -> str:
|
zrb/input/text_input.py
CHANGED
@@ -15,7 +15,7 @@ class TextInput(BaseInput):
|
|
15
15
|
name: str,
|
16
16
|
description: str | None = None,
|
17
17
|
prompt: str | None = None,
|
18
|
-
|
18
|
+
default: str | Callable[[AnySharedContext], str] = "",
|
19
19
|
auto_render: bool = True,
|
20
20
|
allow_empty: bool = False,
|
21
21
|
allow_positional_parsing: bool = True,
|
@@ -28,7 +28,7 @@ class TextInput(BaseInput):
|
|
28
28
|
name=name,
|
29
29
|
description=description,
|
30
30
|
prompt=prompt,
|
31
|
-
|
31
|
+
default=default,
|
32
32
|
auto_render=auto_render,
|
33
33
|
allow_empty=allow_empty,
|
34
34
|
allow_positional_parsing=allow_positional_parsing,
|
@@ -56,10 +56,10 @@ class TextInput(BaseInput):
|
|
56
56
|
return " -->"
|
57
57
|
return ""
|
58
58
|
|
59
|
-
def to_html(self,
|
59
|
+
def to_html(self, shared_ctx: AnySharedContext) -> str:
|
60
60
|
name = self.name
|
61
61
|
description = self.description
|
62
|
-
default = self.get_default_str(
|
62
|
+
default = self.get_default_str(shared_ctx)
|
63
63
|
return "\n".join(
|
64
64
|
[
|
65
65
|
f'<textarea name="{name}" placeholder="{description}">',
|
@@ -30,7 +30,7 @@ def serve_refresh_token_api(app: "FastAPI", web_config: WebConfig) -> None:
|
|
30
30
|
# If we still don't have a refresh token, raise an exception
|
31
31
|
if not refresh_token:
|
32
32
|
return JSONResponse(
|
33
|
-
content={"detail": "Refresh token not provided"}, status_code=
|
33
|
+
content={"detail": "Refresh token not provided"}, status_code=401
|
34
34
|
)
|
35
35
|
# Get token
|
36
36
|
new_token = regenerate_tokens(web_config, refresh_token)
|
@@ -1,6 +1,10 @@
|
|
1
1
|
function refreshAuthToken(){
|
2
2
|
const refreshUrl = "/api/v1/refresh-token";
|
3
|
+
let shouldRefresh = true;
|
3
4
|
async function refresh() {
|
5
|
+
if (!shouldRefresh) {
|
6
|
+
return;
|
7
|
+
}
|
4
8
|
try {
|
5
9
|
const response = await fetch(refreshUrl, {
|
6
10
|
method: "POST",
|
@@ -9,6 +13,11 @@ function refreshAuthToken(){
|
|
9
13
|
});
|
10
14
|
|
11
15
|
if (!response.ok) {
|
16
|
+
if (response.status === 401 || response.status === 403) {
|
17
|
+
console.warn("Skipping token refresh, authentication required.");
|
18
|
+
shouldRefresh = false;
|
19
|
+
return;
|
20
|
+
}
|
12
21
|
throw new Error(`HTTP error! Status: ${response.status}`);
|
13
22
|
}
|
14
23
|
console.log("Token refreshed successfully");
|
@@ -30,7 +30,7 @@ def serve_static_resources(app: "FastAPI", web_config: WebConfig) -> None:
|
|
30
30
|
async def refresh_token_js():
|
31
31
|
return PlainTextResponse(
|
32
32
|
content=_get_refresh_token_js(
|
33
|
-
60 * web_config.
|
33
|
+
60 * web_config.access_token_expire_minutes / 3
|
34
34
|
),
|
35
35
|
media_type="application/javascript",
|
36
36
|
)
|
zrb/util/load.py
CHANGED
@@ -12,13 +12,17 @@ pattern = re.compile("[^a-zA-Z0-9]")
|
|
12
12
|
def load_zrb_init(dir_path: str | None = None) -> Any | None:
|
13
13
|
if dir_path is None:
|
14
14
|
dir_path = os.getcwd()
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
15
|
+
# get path list from current path to the absolute root
|
16
|
+
current_path = os.path.abspath(dir_path)
|
17
|
+
path_list = [current_path]
|
18
|
+
while current_path != os.path.dirname(current_path): # Stop at root
|
19
|
+
current_path = os.path.dirname(current_path)
|
20
|
+
path_list.append(current_path)
|
21
|
+
# loop from root to current path to load zrb_init
|
22
|
+
for current_path in path_list[::-1]:
|
23
|
+
script_path = os.path.join(current_path, "zrb_init.py")
|
24
|
+
if os.path.isfile(script_path):
|
25
|
+
load_file(script_path)
|
22
26
|
|
23
27
|
|
24
28
|
@lru_cache
|
@@ -29,6 +33,8 @@ def load_file(script_path: str, sys_path_index: int = 0) -> Any | None:
|
|
29
33
|
# Append script dir path
|
30
34
|
script_dir_path = os.path.dirname(script_path)
|
31
35
|
if script_dir_path not in sys.path:
|
36
|
+
if sys_path_index == -1:
|
37
|
+
sys_path_index = len(sys.path)
|
32
38
|
sys.path.insert(sys_path_index, script_dir_path)
|
33
39
|
# Add script dir path to Python path
|
34
40
|
os.environ["PYTHONPATH"] = _get_new_python_path(script_dir_path)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: zrb
|
3
|
-
Version: 1.0
|
3
|
+
Version: 1.2.0
|
4
4
|
Summary: Your Automation Powerhouse
|
5
5
|
Home-page: https://github.com/state-alchemists/zrb
|
6
6
|
License: AGPL-3.0-or-later
|
@@ -26,7 +26,7 @@ Requires-Dist: pdfplumber (>=0.11.4,<0.12.0) ; extra == "rag"
|
|
26
26
|
Requires-Dist: psutil (>=6.1.1,<7.0.0)
|
27
27
|
Requires-Dist: pydantic-ai (>=0.0.19,<0.0.20)
|
28
28
|
Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
|
29
|
-
Requires-Dist: python-jose[cryptography] (>=3.
|
29
|
+
Requires-Dist: python-jose[cryptography] (>=3.4.0,<4.0.0)
|
30
30
|
Requires-Dist: requests (>=2.32.3,<3.0.0)
|
31
31
|
Requires-Dist: ulid-py (>=1.1.0,<2.0.0)
|
32
32
|
Project-URL: Documentation, https://github.com/state-alchemists/zrb
|
@@ -4,10 +4,10 @@ zrb/attr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
4
|
zrb/attr/type.py,sha256=4TV5gPYMMrKh5V-yB6iRYKCbsXAH_AvGXMsjxKLHcUs,568
|
5
5
|
zrb/builtin/__init__.py,sha256=oXG4Zm_rIp3G81Y7hiSe38jeS2sGZAnADoP_yxxhYEc,1926
|
6
6
|
zrb/builtin/base64.py,sha256=1YnSwASp7OEAvQcsnHZGpJEvYoI1Z2zTIJ1bCDHfcPQ,921
|
7
|
-
zrb/builtin/git.py,sha256=
|
7
|
+
zrb/builtin/git.py,sha256=8_qVE_2lVQEVXQ9vhiw8Tn4Prj1VZB78ZjEJJS5Ab3M,5461
|
8
8
|
zrb/builtin/git_subtree.py,sha256=7BKwOkVTWDrR0DXXQ4iJyHqeR6sV5VYRt8y_rEB0EHg,3505
|
9
9
|
zrb/builtin/group.py,sha256=-phJfVpTX3_gUwS1u8-RbZUHe-X41kxDBSmrVh4rq8E,1682
|
10
|
-
zrb/builtin/llm/llm_chat.py,sha256=
|
10
|
+
zrb/builtin/llm/llm_chat.py,sha256=UVhfJR0APXRC3tEv5i5vYbEANWqi04QD_WsAiARJ7j4,4494
|
11
11
|
zrb/builtin/llm/previous-session.js,sha256=xMKZvJoAbrwiyHS0OoPrWuaKxWYLoyR5sguePIoCjTY,816
|
12
12
|
zrb/builtin/llm/tool/api.py,sha256=yQ3XV8O7Fx7hHssLSOcmiHDnevPhz9ktWi44HK7zTls,801
|
13
13
|
zrb/builtin/llm/tool/cli.py,sha256=to_IjkfrMGs6eLfG0cpVN9oyADWYsJQCtyluUhUdBww,253
|
@@ -15,17 +15,19 @@ zrb/builtin/llm/tool/rag.py,sha256=PawaLZL-ThctxtBtsQuP3XsgTxQKyCGFqrudCANPJKk,5
|
|
15
15
|
zrb/builtin/llm/tool/web.py,sha256=N2HYuXbKPUpjVAq_UnQMbUrTIE8u0Ut3TeQadZ7_NJc,2217
|
16
16
|
zrb/builtin/md5.py,sha256=0pNlrfZA0wlZlHvFHLgyqN0JZJWGKQIF5oXxO44_OJk,949
|
17
17
|
zrb/builtin/project/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
18
|
-
zrb/builtin/project/add/fastapp/fastapp_input.py,sha256=
|
18
|
+
zrb/builtin/project/add/fastapp/fastapp_input.py,sha256=MKlWR_LxWhM_DcULCtLfL_IjTxpDnDBkn9KIqNmajFs,310
|
19
19
|
zrb/builtin/project/add/fastapp/fastapp_task.py,sha256=mUMZjC413DhZSKqA6donPTxVbd_DnDFqSV_ZTqQnSHs,2697
|
20
20
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.coveragerc,sha256=MsTf0Vlt_pxV-j4mNh-TxSo7sTI_GaVS_oM4tksIykE,181
|
21
21
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.flake8,sha256=fgvHmuskgYiCvHZHaFtiyOWW0zasVrs0P-sFHOq3W5U,56
|
22
22
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.gitignore,sha256=D-ISOzaKlN_VzeZP5f8aznDSJX4p8PCtaK2JWM5yY1c,61
|
23
23
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/README.md,sha256=MAo7ZFbg7LLiAfQbXcippMgjJ2-VXMKtiTDEZ3I4AAg,221
|
24
24
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
25
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_task.py,sha256=
|
25
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_task.py,sha256=Q7Ami5JsyoJUms9yeQVTgEA642dzqRrAG8Mnzv1Xb7o,3566
|
26
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_util.py,sha256=GESC0cWFgRZXr6u2tDhO_WEP18GiQK-PEoNOyzlq3q4,10420
|
26
27
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/config.py,sha256=uviB4q2iZjoU9_fA1O4VrjpuVAqx2gj5hjospJ0Xzeg,885
|
27
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_task.py,sha256=
|
28
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_util.py,sha256=
|
28
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_task.py,sha256=W0ziCIhSwUbu8vBABEcTvLrTAegJmRbqui6TzG1xqlo,11183
|
29
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_util.py,sha256=6ltaoHBrEiSi7whOodcbqcgUaY93jV7wBeLw9F13umY,16120
|
30
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/gateway/view/content/my-module/my-entity.html,sha256=lAXQWT5I2kzyWDHX4Rrp6F-y0Ck5xbMDJsDQChKgDpo,10910
|
29
31
|
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=PgwTsHMHRiFS7JQeAe6wWmIHk6s-OfIybx_mJfuT_G4,3918
|
30
32
|
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=lnhhpc_AflWnCQbLkYORrshiqIA5wy4SdxDuUxmn7Ts,372
|
31
33
|
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=GrMxMb98-XD7Rue1v14jBu6HRb8Gy5DywBSKnMhN0iY,770
|
@@ -37,13 +39,14 @@ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/templat
|
|
37
39
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/test/my_module/my_entity/test_read_my_entity.py,sha256=2a6uikwnEldW6_lxIMIu8A2HYPcBjSsrE0ynGpiTbE0,2337
|
38
40
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/test/my_module/my_entity/test_update_my_entity.py,sha256=qaktWwjGUL1C06L7Rf0ZUg9y0lYOHGlVe7bMNBAcAfE,2148
|
39
41
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/client_method.py,sha256=0Bwn1lamv3o6ti68gk35gPiKxbKUQRysNAnHOlVz9TY,1311
|
40
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/gateway_subroute.py,sha256=
|
42
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/gateway_subroute.py,sha256=OklfwqgpOBu7Je9C_INGEYU5VRq-gx_syDgjrdCu18s,4724
|
43
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/navigation_config_file.py,sha256=8dYj8GyvhTIr0lny_3aZec2BTHMBFTVRGLLH4OoWvCo,186
|
41
44
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/format_task.py,sha256=8YykCthDgjXT8MFvTrPSWYUXsfhafmoSMG9LH2ZiaD0,431
|
42
45
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/group.py,sha256=S0sKnnABSGy3YzaExH40xJjm4UsEX6AyDE1u94ewk6A,648
|
43
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/input.py,sha256=
|
44
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_task.py,sha256=
|
45
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_util.py,sha256=
|
46
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/gateway/subroute/my_module.py,sha256=
|
46
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/input.py,sha256=_LagLs2R9Eao4xJ1d2i_Yj1ELu7uZGNJnK90ruvY0O8,1511
|
47
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_task.py,sha256=_1sJd91bViSfEbpxNgqeCE7gBHP7yH9i7uJbPu9OvtY,4058
|
48
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/add_module_util.py,sha256=NtQX3F9vVGJAPkzt6VffXGru8ULh4gYWeDxNk1Qepek,8293
|
49
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/gateway/subroute/my_module.py,sha256=_5EgmEeATL5ZSX5MSJixkDgRQKGNTPG6watEuzv3eQI,418
|
47
50
|
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
|
48
51
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/client/my_module_api_client.py,sha256=7Ffk0eF4HX1RLfmacqHvuhNlfWkWAtunUBdF_N-Gq38,186
|
49
52
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/client/my_module_client.py,sha256=VIkqW4-PKKGJqpwMzEX_kmN6H31m-W11FzdPK9pNNdU,109
|
@@ -57,6 +60,7 @@ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/templat
|
|
57
60
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/app_template/module/my_module/route.py,sha256=PbWya4KW4OyoJl-5OpZm1gJMLeWOBvyHLlez9r5baOk,960
|
58
61
|
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
|
59
62
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/module_task_definition.py,sha256=KaI2CiMLdzZH-_C_ckHiQpX4NZFefBCWxEQBIeuSgJ8,1024
|
63
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/module/template/navigation_config_file.py,sha256=sebiaffLdmAGZrs5BaFhROD_GJNh1urpW9JkiugmnJ0,129
|
60
64
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task.py,sha256=SgAcqsmJ2bCHWywzFdZRxkl5D_wvKXJH1tcIeOhPjUw,5675
|
61
65
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/task_util.py,sha256=n2CgAoTC4213sj5m1E1UHvoG3opIZoSuG94uxQPecrE,3077
|
62
66
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/util.py,sha256=cyesVckwI4y2IXuvBCI_PNBpXKX07Z-8K-T22SMZDeY,1937
|
@@ -71,10 +75,10 @@ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/logger_facto
|
|
71
75
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/parser_factory.py,sha256=0dsYhxDec4EBDngkLyyPztDOhNUEyDue8DjIPUd5XvM,238
|
72
76
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/schema.py,sha256=dbRryeP5u7ObGX3GjF9ZID00yXffOp-AxyXu8oVJP0I,82
|
73
77
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/app.py,sha256=AeLoeMwQBqCLVUw9DaeOfAabKQxa7bT82QPo-1naiA0,1546
|
74
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/parser.py,sha256=
|
78
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/parser.py,sha256=tyoTfQv1723KZjU4xjbj1GIwrVc9YDp9KB8Rj6IjypY,4038
|
75
79
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/user_agent.py,sha256=eOFJ9gnz0iw7XE-1vc53bx-uPST6m5K3cpR_f61T544,1669
|
76
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/view.py,sha256=
|
77
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/config.py,sha256=
|
80
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/common/util/view.py,sha256=bgAdkyz2sRWyBptyMBCcNPbjMSV2F6sALZvQcgaQYKY,1168
|
81
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/config.py,sha256=595LtFUWtCXvVuNKmI_sfvfC90glCFVo1S3sSSea6q8,3449
|
78
82
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/main.py,sha256=ouA4P7f7GDuB-0iPJsOjqh_DGlZaOBnMgBgkUy9Os5A,216
|
79
83
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
80
84
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/alembic.ini,sha256=mgQyBAIwdkZZJWLu_FQWPx1FkyaARCNp6-rLqSVvMbA,3723
|
@@ -109,17 +113,30 @@ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service
|
|
109
113
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service.py,sha256=JigJLQ4zYpNGdoPtSNs0Hf-QYTgCCYGuM58nclUEAfs,12652
|
110
114
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service_factory.py,sha256=TFqm7_wcU6zDiyV7DSCYc1Q47ppZaIDxlK_R9PmpDI4,1239
|
111
115
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/alembic.ini,sha256=mgQyBAIwdkZZJWLu_FQWPx1FkyaARCNp6-rLqSVvMbA,3723
|
116
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/config/navigation.py,sha256=veY3xU8kt1p_CU-zOYvgIRUP4HqOOW2kOLauqBgiG88,797
|
112
117
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/README,sha256=MVlc9TYmr57RbhXET6QxgyCcwWP7w-vLkEsirENqiIQ,38
|
113
118
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/env.py,sha256=xQ4UYy6aaHhE0NssPZ6QkeNFlC1KBd07EhDR0NNzj20,3349
|
114
119
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/script.py.mako,sha256=U9DYBoBRd_ooogMfRydCUGEjIDZ-aV8OsjBiBrdTvy4,680
|
115
120
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration/versions/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
116
121
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/migration_metadata.py,sha256=NbIb5ncy6x5RrFD2TZMDwxBK_wDTyJEIvieMRmNpf9M,55
|
117
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/route.py,sha256=
|
118
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/
|
119
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/
|
120
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/
|
121
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view
|
122
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/route.py,sha256=QlyPrpmBXOi_oEBOMTnY_KYBQoqU2fFbC_T1HvoxMaE,3655
|
123
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/schema/navigation.py,sha256=uhZ_liiX6YzV-haGcAZRGi490XiiYLCcmRRVqQqdLs0,2711
|
124
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/subroute/auth.py,sha256=KXwia0eexjoxa7OK_VT7NuUL6snxxtOpMIgSjRRbBD0,17678
|
125
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/auth.py,sha256=zThjspTe-pu0r73vXwNb9Se4vCbX2HquTZKg2h9AMY0,2643
|
126
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/view.py,sha256=7C0KlvpUwlQ27p_zyFFxVZZNaQnZ9k2i3yit1cNZHoo,3192
|
127
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/permission.html,sha256=9cTHiTHpC9hfuMCtMYGqzXKpQIWMg_v7tD4E-jsziR8,11486
|
128
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/role.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
129
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/user.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
130
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/error.html,sha256=FISZNhjhfIuoBWI0GR-c5XQxLniy0euWOjKgbtnVlt8,239
|
122
131
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/homepage.html,sha256=Q8jEwRraYJmn0rJIT1Ct4Dz2NB4S-NWJ1ZrU46oZkkw,126
|
132
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/login.html,sha256=OanTVSQG5T03AX4eformFN69qeSMh5jiWERNth1EAMw,2301
|
133
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/logout.html,sha256=HQnUPE_I9l-aF8LqpKuHCp6zsjYplTfbLfKbxn4hdXo,1571
|
134
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/common/util.js,sha256=0B9fgNfqwLtwNKqzewP52IazJwUCVt7BhNJU4mIWjN0,5885
|
135
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/style.css,sha256=UzmYDiz4dlxKPPKXwTjybK1nrwkk-3DmFEmlpWnnqfo,206
|
136
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/util.js,sha256=weIDwC8dzXlP4an4ijx7gJKplP6Y2QDKywu5hKPO9HI,4394
|
137
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/pico-style.css,sha256=7VEhpZWXz8pcKtTULorjQlWX1fMs7Bcbn1QBDJiJZfY,233
|
138
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/script.js,sha256=JhuxTn6Qs3AkHULEfnL8tG1UHU1YZTPY5gYRi5o1H9I,1357
|
139
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/style.css,sha256=tS7UIUO1AcRgaRJpN7OCTrKvQqDNa3NyAVd7SGtfvJE,1813
|
123
140
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/android-chrome-192x192.png,sha256=4NN-TGVL3y3MVbms7kCgD-Udp5XmQ6cwmWqRFYib0qw,12463
|
124
141
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/android-chrome-512x512.png,sha256=PE5DCXqmMtNvwDWfHxVoRIy36mrTmq4IDv-YPgz4mvg,34025
|
125
142
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/images/favicon-32x32.png,sha256=KHE2CBnJAxS81xzoPxdfYA17nJxvoOf6yM2UPaKIT7E,1402
|
@@ -143,8 +160,8 @@ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view
|
|
143
160
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.violet.min.css,sha256=z8fP6YMWH12oq-NPDVG2OXdza2K0K7k4RYWuxHCqzH8,82211
|
144
161
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.yellow.min.css,sha256=mOkvNiE272UAgO8cVewJjU9BYidLxDZ97IcYodW--Ik,82218
|
145
162
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/pico-css/pico.zinc.min.css,sha256=s8SdVQv4fX3W0LbfKDgUDczWcCyUfRbZhpyYtLdASC0,82212
|
146
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/template/default.html,sha256=
|
147
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/requirements.txt,sha256=
|
163
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/template/default.html,sha256=Lg4vONCLOx8PSORFitg8JZa-4dp-pyUvKSVzCJEFsB8,4048
|
164
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/requirements.txt,sha256=VqHI89r0E8sU5vp3h-AXrZy30vGWVP2E8MYsvVxQ_Wg,194
|
148
165
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
149
166
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/permission.py,sha256=95L7B4g5T6a5mgoXGgK2Fb5h2ugRzb5QIbXyRRh9tmE,1385
|
150
167
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/role.py,sha256=UKXijAUY0ryXJFv74lCzH5ArYGbeuakX0cUbP7ToAQU,3167
|
@@ -157,25 +174,25 @@ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permissio
|
|
157
174
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_update_permission.py,sha256=AHTUIX7cdR5tKkbxs6JVrp5uoeiwIvqaBrhLFGOYoFg,2498
|
158
175
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/test_user_session.py,sha256=RITk3KohVSEzdvyoOefzrx2eabHEhAx3eS3opjZwU5k,7096
|
159
176
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_health_and_readiness.py,sha256=nqbRJtGQdaHsj3MqiFrUPpQteRBRPiyHp9dpdUZcMg0,823
|
160
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_homepage.py,sha256=
|
177
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_homepage.py,sha256=fJGnHGXe893idQ94-0Yd50YfxQRQZq3bLTd2Rgq2d-A,498
|
161
178
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/test_not_found_error.py,sha256=SBqFRgGUldUtIz-uMf9a5DeWDPFeKbhvnvwiYr-jjns,502
|
162
179
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test.sh,sha256=QIwe6InrlEkmxdtj6NTO9JozeECYN0O4vx-x-qid6go,148
|
163
180
|
zrb/builtin/project/add/fastapp/fastapp_util.py,sha256=UVzKfljUDLvlassnKy8pKH4hBP23ZUwEK5Ouh-fr87w,1463
|
164
181
|
zrb/builtin/project/create/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
165
182
|
zrb/builtin/project/create/project-template/README.md,sha256=BHeWF_txdTDzKewWdWfGhO3YOTiW8E3YwTMnd0T1LVA,39
|
166
183
|
zrb/builtin/project/create/project-template/zrb_init.py,sha256=kY0x5MrkIVl3l1GtN2ROrYGNpsfN2dgRT84LCcSrGUs,44
|
167
|
-
zrb/builtin/project/create/project_task.py,sha256=
|
184
|
+
zrb/builtin/project/create/project_task.py,sha256=az-yd2FRDmGZ_7qxslmW11ryTeI3yttRmXtlFnZhF00,1132
|
168
185
|
zrb/builtin/python.py,sha256=e-yyVWovwlxCBLyXGsd9Ek3IAL_X-Q_hpNNOPoRjOgk,349
|
169
|
-
zrb/builtin/random.py,sha256=
|
186
|
+
zrb/builtin/random.py,sha256=p9kCvosSiSJyuGQrlrXuIQT8TRDGxXhfiUbsm3GFPd0,1793
|
170
187
|
zrb/builtin/setup/asdf/asdf.py,sha256=n_dWoyYa7vZ9tBCy8hgxmSWZ-XHltC1R70mIVZQhnXY,2419
|
171
188
|
zrb/builtin/setup/asdf/asdf_helper.py,sha256=6jARtyIAE1H82HKVQ84D25RrMAsAip_gD28X9ZlaTCk,1205
|
172
|
-
zrb/builtin/setup/common_input.py,sha256=
|
189
|
+
zrb/builtin/setup/common_input.py,sha256=zIVVsZsNlSoV2Fw8kyt7g5B8XAU8cWBsT865NPoddwo,848
|
173
190
|
zrb/builtin/setup/latex/ubuntu.py,sha256=er9wJAT4CpmghIaiIPFb3FvgqAn1aqU5UgX7GHL3FjA,577
|
174
|
-
zrb/builtin/setup/tmux/tmux.py,sha256=
|
191
|
+
zrb/builtin/setup/tmux/tmux.py,sha256=YaiZKQODsBDip2ya5pA02c2-lfLDU8VKGbeHwFWI43s,1403
|
175
192
|
zrb/builtin/setup/tmux/tmux_config.sh,sha256=wQCb4Q-mNkxIPOcvpN84X9RUWkGY16u3Vd-pOhVidgg,416
|
176
193
|
zrb/builtin/setup/tmux/tmux_helper.py,sha256=M03l0wfL25TzGGp6lnVfX40ayT_x7N2lz-nz2chO7PU,396
|
177
194
|
zrb/builtin/setup/ubuntu.py,sha256=oOSN7Eq7arEpY2i0vWHPR2owio6dqqOvceteYrgmbYw,1019
|
178
|
-
zrb/builtin/setup/zsh/zsh.py,sha256=
|
195
|
+
zrb/builtin/setup/zsh/zsh.py,sha256=b9_UDSJpOT246RiL5BNr6N1jqNHzoUQircZ_u6dkU5g,1820
|
179
196
|
zrb/builtin/setup/zsh/zsh_config.sh,sha256=SRkcXvVT3tdfS1UDT0-dSj2PKXPLohhyakY6tUEQPjc,4764
|
180
197
|
zrb/builtin/setup/zsh/zsh_helper.py,sha256=1zF1FH0oEPVAVhMA20tsdk1H0RPMCkLusYX8twsTbGI,393
|
181
198
|
zrb/builtin/shell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -183,7 +200,7 @@ zrb/builtin/shell/autocomplete/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5
|
|
183
200
|
zrb/builtin/shell/autocomplete/bash.py,sha256=-7YDVV7txgJH9mAYSYN0jmvUEeDIzWFvVNY-cY0myF8,1181
|
184
201
|
zrb/builtin/shell/autocomplete/subcmd.py,sha256=WZI6cGWJcn80zSyxOHG7sCMO3Ucix3mZf4xm_xyB_Y0,606
|
185
202
|
zrb/builtin/shell/autocomplete/zsh.py,sha256=9hlq0Wt3fhRz326mAQTypEd4_4lZdrbBx_3A-Ti3mvw,1022
|
186
|
-
zrb/builtin/todo.py,sha256=
|
203
|
+
zrb/builtin/todo.py,sha256=zlMJhnlnhKhJ2v9arrakEfbqVrMsAPW3vMwiBKEeoZk,10824
|
187
204
|
zrb/callback/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
188
205
|
zrb/callback/any_callback.py,sha256=Yhdv5UWHAZSVzj5K2JdxcVQx8x8VX8aZJEivj3NTfZc,247
|
189
206
|
zrb/callback/callback.py,sha256=hKefB_Jd1XGjPSLQdMKDsGLHPzEGO2dqrIArLl_EmD0,848
|
@@ -211,14 +228,14 @@ zrb/group/any_group.py,sha256=1rNcsi5eu_86JAx_6Jy46SK4BTeppcb89MORynJd-4o,1115
|
|
211
228
|
zrb/group/group.py,sha256=JFmWVEQ9PVy2WCf5pUG74iwL2xcGxXaAjT-NArAeloM,1861
|
212
229
|
zrb/input/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
213
230
|
zrb/input/any_input.py,sha256=tvls3uJBVPLW5Oawxof9qWCX-lH1h_RErxjYNu1bwtY,899
|
214
|
-
zrb/input/base_input.py,sha256=
|
215
|
-
zrb/input/bool_input.py,sha256=
|
216
|
-
zrb/input/float_input.py,sha256=
|
217
|
-
zrb/input/int_input.py,sha256=
|
218
|
-
zrb/input/option_input.py,sha256=
|
219
|
-
zrb/input/password_input.py,sha256=
|
231
|
+
zrb/input/base_input.py,sha256=J1lvo96YieaceFeReNoon2N4bOgRK7lBrDfRoINLu9g,3599
|
232
|
+
zrb/input/bool_input.py,sha256=bxX2-T8XTlz5zq4gkk3LMHX8S93gdvTUsZ0I6DH56VU,1762
|
233
|
+
zrb/input/float_input.py,sha256=Mfl8CygKMkRFv1l6jM28FqQ6SIIB2ZpbaYoM-JMNyXU,1398
|
234
|
+
zrb/input/int_input.py,sha256=w5ewSxstUYv5LBAzvX_E0jIueXXdmnY2ehoQMTtg-EA,1380
|
235
|
+
zrb/input/option_input.py,sha256=IrpF0XvFbH5G-IEAnoQ4QOvq7gn2wyT4jKwAdMKwV0s,2058
|
236
|
+
zrb/input/password_input.py,sha256=Tu8TZx95717YsHICZ0zBzTUPKPf-K9vGlvRyaOTrFEM,1388
|
220
237
|
zrb/input/str_input.py,sha256=NevZHX9rf1g8eMatPyy-kUX3DglrVAQpzvVpKAzf7bA,81
|
221
|
-
zrb/input/text_input.py,sha256=
|
238
|
+
zrb/input/text_input.py,sha256=wSNiYAx2xYPtl09Dfh_uHws9WG2dRqkS0Jnlm9HvD3s,3145
|
222
239
|
zrb/runner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
223
240
|
zrb/runner/cli.py,sha256=G_ILZCFzpV-kRE3dm1kq6BorB51TLJ34Qmhgy5SIMlU,6734
|
224
241
|
zrb/runner/common_util.py,sha256=mjEBSmfdY2Sun2U5-8y8gGwF82OiRM8sgiYDOdW9NA4,1338
|
@@ -245,8 +262,8 @@ zrb/runner/web_route/node_page/node_page_route.py,sha256=LYi60eZ5ZGgykTIeSQk5Hn9
|
|
245
262
|
zrb/runner/web_route/node_page/task/partial/input.html,sha256=X2jy0q7TLQGP853exZMed0lqPezL3gzn6mnhB5QKfkc,178
|
246
263
|
zrb/runner/web_route/node_page/task/show_task_page.py,sha256=0HIFEuy5DLOKqff4Wib5WaMe5Om0B4C7BH63pPIA-OU,2639
|
247
264
|
zrb/runner/web_route/node_page/task/view.html,sha256=T6kXNYKGhHsY5A74vQt_tj68WrULmPRaSuMqI1ygD1o,3605
|
248
|
-
zrb/runner/web_route/refresh_token_api_route.py,sha256=
|
249
|
-
zrb/runner/web_route/static/refresh-token.template.js,sha256=
|
265
|
+
zrb/runner/web_route/refresh_token_api_route.py,sha256=QGulCGN2vhDXuf-U4bPSJjbTcz40ixP8937hSOiy_Mo,1478
|
266
|
+
zrb/runner/web_route/static/refresh-token.template.js,sha256=AWXhdxTMyuzBZoMftH7BjlU2CMIafwqWcbkZoiUEE50,1074
|
250
267
|
zrb/runner/web_route/static/resources/common.css,sha256=u5rGLsPx2943z324iQ2X81krM3z-kc-8e1SkBdYAvKU,157
|
251
268
|
zrb/runner/web_route/static/resources/favicon-32x32.png,sha256=yu9AIU4k_qD4YHpul6XwJgOxIbmu0thv9ymm2QOsrAk,1456
|
252
269
|
zrb/runner/web_route/static/resources/login/event.js,sha256=1-NxaUwU-X7Tu2RAwVkzU7gngS0OdooH7Ple4_KDrh4,1135
|
@@ -256,7 +273,7 @@ zrb/runner/web_route/static/resources/session/common-util.js,sha256=t7_s5DXgMyZl
|
|
256
273
|
zrb/runner/web_route/static/resources/session/current-session.js,sha256=kAYHoSVjtQ4XA5yfXocKFVjOmYihQoIHTW0pHx22sPg,7010
|
257
274
|
zrb/runner/web_route/static/resources/session/event.js,sha256=X5OlSHefK0SDB9VkFCRyBKE_Pb7mqM319mW9jRGoDOk,4716
|
258
275
|
zrb/runner/web_route/static/resources/session/past-session.js,sha256=RwGJYKSp75K8NZ-iZP58XppWgdzkiKFaiC5wgcMLxDo,5470
|
259
|
-
zrb/runner/web_route/static/static_route.py,sha256=
|
276
|
+
zrb/runner/web_route/static/static_route.py,sha256=BxFXIhKqkPtSBVkuf6Uho8yLph_EqDTLTVB0KG2-Pbo,1539
|
260
277
|
zrb/runner/web_route/task_input_api_route.py,sha256=xkZ36vmHXMPj0ekp6ocUysO0QUgl1PLaSHt3YL_OfK8,1749
|
261
278
|
zrb/runner/web_route/task_session_api_route.py,sha256=RJJ_GVH3RkGrVe906ZIMaucXI-eTPdn2blI9zgs2JR0,5945
|
262
279
|
zrb/runner/web_schema/session.py,sha256=NwbuS2Sv-CXO52nU-EZv8OMlD4vgCQWNeLC_dT0FK7I,92
|
@@ -313,8 +330,7 @@ zrb/util/file.py,sha256=mgNobIKCr0eIQUlg6W2Yg1fvg943VyuOUF8WMFpJA5A,859
|
|
313
330
|
zrb/util/git.py,sha256=TShnMxPAk20Tglp25d_XPVZX-q0mvKeqdprVMeXQ5f0,4787
|
314
331
|
zrb/util/git_subtree.py,sha256=zyWl0aUEZJyUJKjfw1uglozB4R1kF9pWtfKjhu8DN44,2658
|
315
332
|
zrb/util/group.py,sha256=Bg7HrSycoK110U5s_Tca6-uUQuZ5CMgb8wxZSrvDQ98,2790
|
316
|
-
zrb/util/
|
317
|
-
zrb/util/load.py,sha256=i8_83ApWJXlZlbFMNfEptrOzfXdvtaIhAErsd6tU9y8,1649
|
333
|
+
zrb/util/load.py,sha256=m0e5DVLV7_RON6AZdjkquPym6BBrvYBbDMrllV44Y_k,1993
|
318
334
|
zrb/util/run.py,sha256=DGHUP9x1Q8V8UF3FbpmjLGuhVVCCLfjTH2teT8qXlNI,207
|
319
335
|
zrb/util/string/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
320
336
|
zrb/util/string/conversion.py,sha256=636sfF1a3_bpzXNw5bdSzbJzwakyAoo70KT3_ItgZEo,4333
|
@@ -323,7 +339,7 @@ zrb/util/string/name.py,sha256=8picJfUBXNpdh64GNaHv3om23QHhUZux7DguFLrXHp8,1163
|
|
323
339
|
zrb/util/todo.py,sha256=1nDdwPc22oFoK_1ZTXyf3638Bg6sqE2yp_U4_-frHoc,16015
|
324
340
|
zrb/xcom/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
325
341
|
zrb/xcom/xcom.py,sha256=o79rxR9wphnShrcIushA0Qt71d_p3ZTxjNf7x9hJB78,1571
|
326
|
-
zrb-1.0.
|
327
|
-
zrb-1.0.
|
328
|
-
zrb-1.0.
|
329
|
-
zrb-1.0.
|
342
|
+
zrb-1.2.0.dist-info/METADATA,sha256=DlgVxKkUzjjMmqfdqv1h2jqlZGprsQGYraHstWCkEU4,4307
|
343
|
+
zrb-1.2.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
344
|
+
zrb-1.2.0.dist-info/entry_points.txt,sha256=-Pg3ElWPfnaSM-XvXqCxEAa-wfVI6BEgcs386s8C8v8,46
|
345
|
+
zrb-1.2.0.dist-info/RECORD,,
|
zrb/util/llm/tool.py
DELETED
@@ -1,87 +0,0 @@
|
|
1
|
-
import inspect
|
2
|
-
from collections.abc import Callable
|
3
|
-
from typing import Annotated, Any, Literal, get_type_hints
|
4
|
-
|
5
|
-
|
6
|
-
def callable_to_tool_schema(callable_obj: Callable) -> dict[str, Any]:
|
7
|
-
"""
|
8
|
-
Convert a callable into a tool schema dictionary by deriving the parameter schema.
|
9
|
-
|
10
|
-
:param callable_obj: The callable object (e.g., a function).
|
11
|
-
:return: A dictionary representing the tool schema.
|
12
|
-
"""
|
13
|
-
if not callable(callable_obj):
|
14
|
-
raise ValueError("Provided object is not callable")
|
15
|
-
# Derive name and description
|
16
|
-
name = callable_obj.__name__
|
17
|
-
description = (callable_obj.__doc__ or "").strip()
|
18
|
-
# Get function signature
|
19
|
-
sig = inspect.signature(callable_obj)
|
20
|
-
hints = get_type_hints(callable_obj)
|
21
|
-
# Build parameter schema
|
22
|
-
param_schema = {"type": "object", "properties": {}, "required": []}
|
23
|
-
for param_name, param in sig.parameters.items():
|
24
|
-
# Get the type hint or default to str
|
25
|
-
param_type = hints.get(param_name, str)
|
26
|
-
|
27
|
-
# Handle annotated types (e.g., Annotated[str, "description"])
|
28
|
-
json_type, param_metadata = _process_type_annotation(param_type)
|
29
|
-
param_schema["properties"][param_name] = param_metadata
|
30
|
-
|
31
|
-
# Mark required parameters
|
32
|
-
if param.default is inspect.Parameter.empty:
|
33
|
-
param_schema["required"].append(param_name)
|
34
|
-
return {
|
35
|
-
"type": "function",
|
36
|
-
"function": {
|
37
|
-
"name": name,
|
38
|
-
"description": description,
|
39
|
-
"parameters": param_schema,
|
40
|
-
},
|
41
|
-
}
|
42
|
-
|
43
|
-
|
44
|
-
def _process_type_annotation(py_type: Any) -> tuple[str, dict]:
|
45
|
-
"""
|
46
|
-
Process type annotations and return the JSON Schema type and metadata.
|
47
|
-
|
48
|
-
:param py_type: The type annotation.
|
49
|
-
:return: A tuple of (JSON type, parameter metadata).
|
50
|
-
"""
|
51
|
-
if hasattr(py_type, "__origin__") and py_type.__origin__ is Literal:
|
52
|
-
# Handle Literal (enum)
|
53
|
-
enum_values = list(py_type.__args__)
|
54
|
-
return "string", {"type": "string", "enum": enum_values}
|
55
|
-
|
56
|
-
if hasattr(py_type, "__origin__") and py_type.__origin__ is Annotated:
|
57
|
-
# Handle Annotated types
|
58
|
-
base_type = py_type.__args__[0]
|
59
|
-
description = py_type.__args__[1]
|
60
|
-
json_type = _python_type_to_json_type(base_type)
|
61
|
-
return json_type, {"type": json_type, "description": description}
|
62
|
-
|
63
|
-
# Fallback to basic type conversion
|
64
|
-
json_type = _python_type_to_json_type(py_type)
|
65
|
-
return json_type, {"type": json_type}
|
66
|
-
|
67
|
-
|
68
|
-
def _python_type_to_json_type(py_type):
|
69
|
-
"""
|
70
|
-
Map Python types to JSON Schema types.
|
71
|
-
"""
|
72
|
-
if py_type is str:
|
73
|
-
return "string"
|
74
|
-
elif py_type is int:
|
75
|
-
return "integer"
|
76
|
-
elif py_type is float:
|
77
|
-
return "number"
|
78
|
-
elif py_type is bool:
|
79
|
-
return "boolean"
|
80
|
-
elif py_type is list:
|
81
|
-
return "array"
|
82
|
-
elif py_type is dict:
|
83
|
-
return "object"
|
84
|
-
elif py_type in {None, type(None)}:
|
85
|
-
return "null"
|
86
|
-
else:
|
87
|
-
return "string" # Default to string for unsupported types
|