zrb 1.0.0a2__py3-none-any.whl → 1.0.0a3__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/__init__.py +48 -39
- zrb/__main__.py +3 -3
- zrb/attr/type.py +2 -1
- zrb/builtin/__init__.py +40 -2
- zrb/builtin/base64.py +32 -0
- zrb/builtin/git.py +156 -0
- zrb/builtin/git_subtree.py +88 -0
- zrb/builtin/group.py +34 -0
- zrb/builtin/llm.py +31 -0
- zrb/builtin/md5.py +34 -0
- zrb/builtin/project/__init__.py +0 -0
- zrb/builtin/project/add/__init__.py +0 -0
- zrb/builtin/project/add/fastapp.py +72 -0
- zrb/builtin/project/add/fastapp_template/.gitignore +4 -0
- zrb/builtin/project/add/fastapp_template/README.md +7 -0
- zrb/builtin/project/add/fastapp_template/__init__.py +0 -0
- zrb/builtin/project/add/fastapp_template/_zrb/config.py +17 -0
- zrb/builtin/project/add/fastapp_template/_zrb/group.py +16 -0
- zrb/builtin/project/add/fastapp_template/_zrb/helper.py +97 -0
- zrb/builtin/project/add/fastapp_template/_zrb/main.py +132 -0
- zrb/builtin/project/add/fastapp_template/_zrb/venv_task.py +22 -0
- zrb/builtin/project/add/fastapp_template/common/__init__.py +0 -0
- zrb/builtin/project/add/fastapp_template/common/app.py +18 -0
- zrb/builtin/project/add/fastapp_template/common/db_engine.py +5 -0
- zrb/builtin/project/add/fastapp_template/common/db_repository.py +134 -0
- zrb/builtin/project/add/fastapp_template/common/error.py +8 -0
- zrb/builtin/project/add/fastapp_template/common/schema.py +5 -0
- zrb/builtin/project/add/fastapp_template/common/usecase.py +232 -0
- zrb/builtin/project/add/fastapp_template/config.py +29 -0
- zrb/builtin/project/add/fastapp_template/main.py +7 -0
- zrb/builtin/project/add/fastapp_template/migrate.py +3 -0
- zrb/builtin/project/add/fastapp_template/module/__init__.py +0 -0
- zrb/builtin/project/add/fastapp_template/module/auth/alembic.ini +117 -0
- zrb/builtin/project/add/fastapp_template/module/auth/client/api_client.py +7 -0
- zrb/builtin/project/add/fastapp_template/module/auth/client/base_client.py +27 -0
- zrb/builtin/project/add/fastapp_template/module/auth/client/direct_client.py +6 -0
- zrb/builtin/project/add/fastapp_template/module/auth/client/factory.py +9 -0
- zrb/builtin/project/add/fastapp_template/module/auth/migration/README +1 -0
- zrb/builtin/project/add/fastapp_template/module/auth/migration/env.py +108 -0
- zrb/builtin/project/add/fastapp_template/module/auth/migration/script.py.mako +26 -0
- zrb/builtin/project/add/fastapp_template/module/auth/migration/versions/3093c7336477_add_user_table.py +37 -0
- zrb/builtin/project/add/fastapp_template/module/auth/migration_metadata.py +6 -0
- zrb/builtin/project/add/fastapp_template/module/auth/route.py +22 -0
- zrb/builtin/project/add/fastapp_template/module/auth/service/__init__.py +0 -0
- zrb/builtin/project/add/fastapp_template/module/auth/service/user/__init__.py +0 -0
- zrb/builtin/project/add/fastapp_template/module/auth/service/user/repository/__init__.py +0 -0
- zrb/builtin/project/add/fastapp_template/module/auth/service/user/repository/db_repository.py +39 -0
- zrb/builtin/project/add/fastapp_template/module/auth/service/user/repository/factory.py +13 -0
- zrb/builtin/project/add/fastapp_template/module/auth/service/user/repository/repository.py +34 -0
- zrb/builtin/project/add/fastapp_template/module/auth/service/user/usecase.py +45 -0
- zrb/builtin/project/add/fastapp_template/module/gateway/alembic.ini +117 -0
- zrb/builtin/project/add/fastapp_template/module/gateway/migration/README +1 -0
- zrb/builtin/project/add/fastapp_template/module/gateway/migration/env.py +108 -0
- zrb/builtin/project/add/fastapp_template/module/gateway/migration/script.py.mako +26 -0
- zrb/builtin/project/add/fastapp_template/module/gateway/migration/versions/.gitkeep +0 -0
- zrb/builtin/project/add/fastapp_template/module/gateway/migration_metadata.py +3 -0
- zrb/builtin/project/add/fastapp_template/module/gateway/route.py +27 -0
- zrb/builtin/project/add/fastapp_template/requirements.txt +6 -0
- zrb/builtin/project/add/fastapp_template/schema/__init__.py +0 -0
- zrb/builtin/project/add/fastapp_template/schema/role.py +31 -0
- zrb/builtin/project/add/fastapp_template/schema/user.py +31 -0
- zrb/builtin/project/add/fastapp_template/template.env +2 -0
- zrb/builtin/project/create/__init__.py +0 -0
- zrb/builtin/project/create/create.py +41 -0
- zrb/builtin/project/create/project-template/README.md +3 -0
- zrb/builtin/project/create/project-template/zrb_init.py +7 -0
- zrb/builtin/python.py +11 -0
- zrb/builtin/shell/__init__.py +0 -5
- zrb/builtin/shell/autocomplete/__init__.py +0 -9
- zrb/builtin/shell/autocomplete/bash.py +5 -6
- zrb/builtin/shell/autocomplete/subcmd.py +7 -8
- zrb/builtin/shell/autocomplete/zsh.py +5 -6
- zrb/builtin/todo.py +186 -0
- zrb/callback/any_callback.py +1 -1
- zrb/callback/callback.py +5 -5
- zrb/cmd/cmd_val.py +2 -2
- zrb/config.py +4 -1
- zrb/content_transformer/any_content_transformer.py +1 -1
- zrb/content_transformer/content_transformer.py +2 -2
- zrb/context/any_context.py +1 -1
- zrb/context/any_shared_context.py +3 -3
- zrb/context/context.py +10 -8
- zrb/context/shared_context.py +9 -8
- zrb/env/__init__.py +0 -3
- zrb/env/any_env.py +1 -1
- zrb/env/env.py +3 -4
- zrb/env/env_file.py +4 -4
- zrb/env/env_map.py +2 -2
- zrb/group/__init__.py +0 -3
- zrb/group/any_group.py +3 -3
- zrb/group/group.py +7 -6
- zrb/input/any_input.py +1 -1
- zrb/input/base_input.py +4 -4
- zrb/input/bool_input.py +5 -5
- zrb/input/float_input.py +3 -3
- zrb/input/int_input.py +3 -3
- zrb/input/option_input.py +51 -0
- zrb/input/password_input.py +2 -2
- zrb/input/str_input.py +1 -1
- zrb/input/text_input.py +12 -10
- zrb/runner/cli.py +79 -45
- zrb/runner/web_app/group_info_ui/controller.py +7 -8
- zrb/runner/web_app/group_info_ui/view.html +2 -2
- zrb/runner/web_app/home_page/controller.py +7 -6
- zrb/runner/web_app/home_page/view.html +2 -2
- zrb/runner/web_app/task_ui/controller.py +8 -12
- zrb/runner/web_app/task_ui/view.html +2 -2
- zrb/runner/web_server.py +137 -211
- zrb/runner/web_util.py +5 -35
- zrb/session/any_session.py +13 -7
- zrb/session/session.py +78 -40
- zrb/session_state_log/session_state_log.py +7 -5
- zrb/session_state_logger/any_session_state_logger.py +1 -1
- zrb/session_state_logger/default_session_state_logger.py +2 -2
- zrb/session_state_logger/file_session_state_logger.py +19 -27
- zrb/task/any_task.py +4 -4
- zrb/task/base_task.py +33 -23
- zrb/task/base_trigger.py +11 -12
- zrb/task/cmd_task.py +48 -39
- zrb/task/http_check.py +8 -8
- zrb/task/llm_task.py +160 -0
- zrb/task/make_task.py +9 -9
- zrb/task/rsync_task.py +7 -7
- zrb/task/scaffolder.py +14 -11
- zrb/task/scheduler.py +6 -7
- zrb/task/task.py +1 -1
- zrb/task/tcp_check.py +8 -8
- zrb/util/attr.py +19 -3
- zrb/util/cli/style.py +71 -2
- zrb/util/cli/subcommand.py +2 -2
- zrb/util/codemod/__init__.py +0 -0
- zrb/util/codemod/add_code_to_class.py +35 -0
- zrb/util/codemod/add_code_to_function.py +36 -0
- zrb/util/codemod/add_code_to_method.py +55 -0
- zrb/util/codemod/add_key_to_dict.py +51 -0
- zrb/util/codemod/add_param_to_function_call.py +39 -0
- zrb/util/codemod/add_property_to_class.py +55 -0
- zrb/util/git.py +156 -0
- zrb/util/git_subtree.py +94 -0
- zrb/util/group.py +2 -2
- zrb/util/llm/tool.py +63 -0
- zrb/util/string/conversion.py +7 -0
- zrb/util/todo.py +135 -0
- {zrb-1.0.0a2.dist-info → zrb-1.0.0a3.dist-info}/METADATA +8 -5
- zrb-1.0.0a3.dist-info/RECORD +194 -0
- zrb/builtin/shell/_group.py +0 -9
- zrb/builtin/shell/autocomplete/_group.py +0 -6
- zrb/runner/web_app/any_request_handler.py +0 -24
- zrb-1.0.0a2.dist-info/RECORD +0 -120
- {zrb-1.0.0a2.dist-info → zrb-1.0.0a3.dist-info}/WHEEL +0 -0
- {zrb-1.0.0a2.dist-info → zrb-1.0.0a3.dist-info}/entry_points.txt +0 -0
zrb/util/git_subtree.py
ADDED
@@ -0,0 +1,94 @@
|
|
1
|
+
import os
|
2
|
+
import subprocess
|
3
|
+
|
4
|
+
from pydantic import BaseModel
|
5
|
+
|
6
|
+
from zrb.util.git import get_repo_dir
|
7
|
+
|
8
|
+
|
9
|
+
class SingleSubTreeConfig(BaseModel):
|
10
|
+
repo_url: str
|
11
|
+
branch: str
|
12
|
+
prefix: str
|
13
|
+
|
14
|
+
|
15
|
+
class SubTreeConfig(BaseModel):
|
16
|
+
data: dict[str, SingleSubTreeConfig]
|
17
|
+
|
18
|
+
|
19
|
+
def load_config() -> SubTreeConfig:
|
20
|
+
file_path = os.path.join(get_repo_dir(), "subtrees.json")
|
21
|
+
if not os.path.exists(file_path):
|
22
|
+
return SubTreeConfig(data={})
|
23
|
+
with open(file_path, "r") as f:
|
24
|
+
return SubTreeConfig.model_validate_json(f.read())
|
25
|
+
|
26
|
+
|
27
|
+
def save_config(config: SubTreeConfig):
|
28
|
+
file_path = os.path.join(get_repo_dir(), "subtrees.json")
|
29
|
+
with open(file_path, "w") as f:
|
30
|
+
f.write(config.model_dump_json(indent=2))
|
31
|
+
|
32
|
+
|
33
|
+
def add_subtree(name: str, repo_url: str, branch: str, prefix: str):
|
34
|
+
config = load_config()
|
35
|
+
if os.path.isdir(prefix):
|
36
|
+
raise ValueError(f"Directory exists: {prefix}")
|
37
|
+
if name in config.data:
|
38
|
+
raise ValueError(f"Subtree config already exists: {name}")
|
39
|
+
try:
|
40
|
+
subprocess.run(
|
41
|
+
["git", "subtree", "add", "--prefix", prefix, repo_url, branch],
|
42
|
+
stdout=subprocess.PIPE,
|
43
|
+
stderr=subprocess.PIPE,
|
44
|
+
text=True,
|
45
|
+
check=True,
|
46
|
+
)
|
47
|
+
except subprocess.CalledProcessError as e:
|
48
|
+
raise Exception(e.stderr or e.stdout)
|
49
|
+
config.data[name] = SingleSubTreeConfig(
|
50
|
+
repo_url=repo_url, branch=branch, prefix=prefix
|
51
|
+
)
|
52
|
+
save_config(config)
|
53
|
+
|
54
|
+
|
55
|
+
def pull_subtree(prefix: str, repo_url: str, branch: str):
|
56
|
+
try:
|
57
|
+
subprocess.run(
|
58
|
+
[
|
59
|
+
"git",
|
60
|
+
"subtree",
|
61
|
+
"pull",
|
62
|
+
"--prefix",
|
63
|
+
prefix,
|
64
|
+
repo_url,
|
65
|
+
branch,
|
66
|
+
],
|
67
|
+
stdout=subprocess.PIPE,
|
68
|
+
stderr=subprocess.PIPE,
|
69
|
+
text=True,
|
70
|
+
check=True,
|
71
|
+
)
|
72
|
+
except subprocess.CalledProcessError as e:
|
73
|
+
raise Exception(e.stderr or e.stdout)
|
74
|
+
|
75
|
+
|
76
|
+
def push_subtree(prefix: str, repo_url: str, branch: str):
|
77
|
+
try:
|
78
|
+
subprocess.run(
|
79
|
+
[
|
80
|
+
"git",
|
81
|
+
"subtree",
|
82
|
+
"push",
|
83
|
+
"--prefix",
|
84
|
+
prefix,
|
85
|
+
repo_url,
|
86
|
+
branch,
|
87
|
+
],
|
88
|
+
stdout=subprocess.PIPE,
|
89
|
+
stderr=subprocess.PIPE,
|
90
|
+
text=True,
|
91
|
+
check=True,
|
92
|
+
)
|
93
|
+
except subprocess.CalledProcessError as e:
|
94
|
+
raise Exception(e.stderr or e.stdout)
|
zrb/util/group.py
CHANGED
zrb/util/llm/tool.py
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
import inspect
|
2
|
+
from collections.abc import Callable
|
3
|
+
from typing import Any, get_type_hints
|
4
|
+
|
5
|
+
|
6
|
+
def callable_to_tool_schema(
|
7
|
+
callable_obj: Callable, name: str | None = None, description: str | None = None
|
8
|
+
) -> dict[str, Any]:
|
9
|
+
"""
|
10
|
+
Convert a callable into a tool schema dictionary by deriving the parameter schema.
|
11
|
+
|
12
|
+
:param callable_obj: The callable object (e.g., a function).
|
13
|
+
:param name: The name to assign to the function in the schema.
|
14
|
+
:param description: A description of the function.
|
15
|
+
:return: A dictionary representing the tool schema.
|
16
|
+
"""
|
17
|
+
if not callable(callable_obj):
|
18
|
+
raise ValueError("Provided object is not callable")
|
19
|
+
# Derive name and description
|
20
|
+
name = name or callable_obj.__name__
|
21
|
+
description = description or (callable_obj.__doc__ or "").strip()
|
22
|
+
# Get function signature
|
23
|
+
sig = inspect.signature(callable_obj)
|
24
|
+
hints = get_type_hints(callable_obj)
|
25
|
+
# Build parameter schema
|
26
|
+
param_schema = {"type": "object", "properties": {}, "required": []}
|
27
|
+
for param_name, param in sig.parameters.items():
|
28
|
+
param_type = hints.get(param_name, str) # Default type is string
|
29
|
+
param_schema["properties"][param_name] = {
|
30
|
+
"type": _python_type_to_json_type(param_type)
|
31
|
+
}
|
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 _python_type_to_json_type(py_type):
|
45
|
+
"""
|
46
|
+
Map Python types to JSON Schema types.
|
47
|
+
"""
|
48
|
+
if py_type is str:
|
49
|
+
return "string"
|
50
|
+
elif py_type is int:
|
51
|
+
return "integer"
|
52
|
+
elif py_type is float:
|
53
|
+
return "number"
|
54
|
+
elif py_type is bool:
|
55
|
+
return "boolean"
|
56
|
+
elif py_type is list:
|
57
|
+
return "array"
|
58
|
+
elif py_type is dict:
|
59
|
+
return "object"
|
60
|
+
elif py_type in {None, type(None)}:
|
61
|
+
return "null"
|
62
|
+
else:
|
63
|
+
return "string" # Default to string for unsupported types
|
zrb/util/string/conversion.py
CHANGED
@@ -5,6 +5,13 @@ TRUE_STRS = ["true", "1", "yes", "y", "active", "on"]
|
|
5
5
|
FALSE_STRS = ["false", "0", "no", "n", "inactive", "off"]
|
6
6
|
|
7
7
|
|
8
|
+
def double_quote(input_string: str) -> str:
|
9
|
+
# Escape necessary characters: backslashes and double quotes
|
10
|
+
escaped_string = re.sub(r'([\\"])', r"\\\1", input_string)
|
11
|
+
# Wrap in double quotes
|
12
|
+
return f'"{escaped_string}"'
|
13
|
+
|
14
|
+
|
8
15
|
def to_boolean(text: str) -> bool:
|
9
16
|
if text.lower() in TRUE_STRS:
|
10
17
|
return True
|
zrb/util/todo.py
ADDED
@@ -0,0 +1,135 @@
|
|
1
|
+
import datetime
|
2
|
+
import re
|
3
|
+
|
4
|
+
from pydantic import BaseModel, Field, model_validator
|
5
|
+
|
6
|
+
|
7
|
+
class TodoTask(BaseModel):
|
8
|
+
priority: str | None = Field("D", pattern=r"^[A-Z]$") # Priority like A, B, ...
|
9
|
+
completed: bool = False # True if completed, False otherwise
|
10
|
+
description: str # Main task description
|
11
|
+
projects: list[str] = [] # List of projects (e.g., +Project)
|
12
|
+
contexts: list[str] = [] # List of contexts (e.g., @Context)
|
13
|
+
keyval: dict[str, str] = {} # Special key (e.g., due:2016-05-30)
|
14
|
+
creation_date: datetime.date | None = None # Creation date
|
15
|
+
completion_date: datetime.date | None = None # Completion date
|
16
|
+
|
17
|
+
@model_validator(mode="before")
|
18
|
+
def validate_dates(cls, values):
|
19
|
+
completion_date = values.get("completion_date")
|
20
|
+
creation_date = values.get("creation_date")
|
21
|
+
if completion_date and not creation_date:
|
22
|
+
raise ValueError(
|
23
|
+
"creation_date must be specified if completion_date is set."
|
24
|
+
)
|
25
|
+
return values
|
26
|
+
|
27
|
+
|
28
|
+
TODO_TXT_PATTERN = re.compile(
|
29
|
+
r"^(?P<status>x)?\s*" # Optional completion mark ('x')
|
30
|
+
r"(?:\((?P<priority>[A-Z])\)\s+)?" # Optional priority (e.g., '(A)')
|
31
|
+
r"(?P<date1>\d{4}-\d{2}-\d{2})?\s*" # Optional first date
|
32
|
+
r"(?P<date2>\d{4}-\d{2}-\d{2})?\s*" # Optional second date
|
33
|
+
r"(?P<description>.*?)$" # Main description
|
34
|
+
)
|
35
|
+
|
36
|
+
|
37
|
+
def read_todo_from_file(todo_file_path: str) -> list[TodoTask]:
|
38
|
+
with open(todo_file_path, "r") as f:
|
39
|
+
todo_lines = f.read().strip().split("\n")
|
40
|
+
todo_tasks: list[TodoTask] = []
|
41
|
+
for todo_line in todo_lines:
|
42
|
+
todo_line = todo_line.strip()
|
43
|
+
if todo_line == "":
|
44
|
+
continue
|
45
|
+
todo_tasks.append(parse_todo_line(todo_line))
|
46
|
+
todo_tasks.sort(
|
47
|
+
key=lambda task: (
|
48
|
+
task.completed,
|
49
|
+
task.priority if task.priority else "Z",
|
50
|
+
task.projects[0] if task.projects else "zzz",
|
51
|
+
task.creation_date if task.creation_date else datetime.date.max,
|
52
|
+
)
|
53
|
+
)
|
54
|
+
return todo_tasks
|
55
|
+
|
56
|
+
|
57
|
+
def write_todo_to_file(todo_file_path: str, todo_task_list: list[TodoTask]):
|
58
|
+
with open(todo_file_path, "w") as f:
|
59
|
+
for todo_task in todo_task_list:
|
60
|
+
f.write(todo_task_to_line(todo_task))
|
61
|
+
|
62
|
+
|
63
|
+
def parse_todo_line(line: str) -> TodoTask:
|
64
|
+
"""Parses a single todo.txt line into a TodoTask model."""
|
65
|
+
match = TODO_TXT_PATTERN.match(line)
|
66
|
+
if not match:
|
67
|
+
raise ValueError(f"Invalid todo.txt line: {line}")
|
68
|
+
groups = match.groupdict()
|
69
|
+
# Extract completion status
|
70
|
+
is_completed = groups["status"] == "x"
|
71
|
+
# Extract dates
|
72
|
+
date1 = parse_date(groups["date1"])
|
73
|
+
date2 = parse_date(groups["date2"])
|
74
|
+
# Determine creation_date and completion_date
|
75
|
+
completion_date, creation_date = None, None
|
76
|
+
if date2 is None:
|
77
|
+
creation_date = date1
|
78
|
+
else:
|
79
|
+
completion_date = date1
|
80
|
+
creation_date = date2
|
81
|
+
# Extract and clean description
|
82
|
+
raw_description = groups["description"] or ""
|
83
|
+
projects = re.findall(r"\+(\S+)", raw_description)
|
84
|
+
contexts = re.findall(r"@(\S+)", raw_description)
|
85
|
+
keyval = {}
|
86
|
+
for keyval_str in re.findall(r"(\S+:\S+)", raw_description):
|
87
|
+
key, val = keyval_str.split(":", 1)
|
88
|
+
keyval[key] = val
|
89
|
+
description = re.sub(r"\s*\+\S+|\s*@\S+|\s*\S+:\S+", "", raw_description).strip()
|
90
|
+
return TodoTask(
|
91
|
+
priority=groups["priority"],
|
92
|
+
completed=is_completed,
|
93
|
+
description=description,
|
94
|
+
projects=projects,
|
95
|
+
contexts=contexts,
|
96
|
+
keyval=keyval,
|
97
|
+
creation_date=creation_date,
|
98
|
+
completion_date=completion_date,
|
99
|
+
)
|
100
|
+
|
101
|
+
|
102
|
+
def parse_date(date_str: str | None) -> datetime.date | None:
|
103
|
+
"""Parses a date string in the format YYYY-MM-DD."""
|
104
|
+
if date_str:
|
105
|
+
return datetime.date.fromisoformat(date_str)
|
106
|
+
return None
|
107
|
+
|
108
|
+
|
109
|
+
def todo_task_to_line(task: TodoTask) -> str:
|
110
|
+
"""Converts a TodoTask instance back into a todo.txt formatted line."""
|
111
|
+
parts = []
|
112
|
+
# Add completion mark if task is completed
|
113
|
+
if task.completed:
|
114
|
+
parts.append("x")
|
115
|
+
# Add priority if present
|
116
|
+
if task.priority:
|
117
|
+
parts.append(f"({task.priority})")
|
118
|
+
# Add completion and creation dates if present
|
119
|
+
if task.completion_date:
|
120
|
+
parts.append(task.completion_date.isoformat())
|
121
|
+
if task.creation_date:
|
122
|
+
parts.append(task.creation_date.isoformat())
|
123
|
+
# Add description
|
124
|
+
parts.append(task.description)
|
125
|
+
# Append projects
|
126
|
+
for project in task.projects:
|
127
|
+
parts.append(f"+{project}")
|
128
|
+
# Append contexts
|
129
|
+
for context in task.contexts:
|
130
|
+
parts.append(f"@{context}")
|
131
|
+
# Append keyval
|
132
|
+
for key, val in task.keyval.items():
|
133
|
+
parts.append(f"{key}:{val}")
|
134
|
+
# Join all parts with a space
|
135
|
+
return " ".join(parts)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: zrb
|
3
|
-
Version: 1.0.
|
4
|
-
Summary:
|
3
|
+
Version: 1.0.0a3
|
4
|
+
Summary: Your Automation Powerhouse
|
5
5
|
Home-page: https://github.com/state-alchemists/zrb
|
6
6
|
License: AGPL-3.0-or-later
|
7
7
|
Keywords: Automation,Task Runner,Code Generator,Monorepo,Low Code
|
@@ -13,10 +13,13 @@ Classifier: Programming Language :: Python :: 3
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.10
|
14
14
|
Classifier: Programming Language :: Python :: 3.11
|
15
15
|
Classifier: Programming Language :: Python :: 3.12
|
16
|
-
Requires-Dist: autopep8 (>=2.0.4,<
|
17
|
-
Requires-Dist:
|
16
|
+
Requires-Dist: autopep8 (>=2.0.4,<3.0.0)
|
17
|
+
Requires-Dist: black (>=24.10.0,<24.11.0)
|
18
|
+
Requires-Dist: isort (>=5.13.2,<5.14.0)
|
19
|
+
Requires-Dist: libcst (>=1.5.0,<2.0.0)
|
20
|
+
Requires-Dist: litellm (>=1.52.12,<2.0.0)
|
21
|
+
Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
|
18
22
|
Requires-Dist: requests (>=2.32.3,<3.0.0)
|
19
|
-
Requires-Dist: tomlkit (>=0.12.4,<0.13.0)
|
20
23
|
Project-URL: Documentation, https://github.com/state-alchemists/zrb
|
21
24
|
Project-URL: Repository, https://github.com/state-alchemists/zrb
|
22
25
|
Description-Content-Type: text/markdown
|
@@ -0,0 +1,194 @@
|
|
1
|
+
zrb/__init__.py,sha256=Bds-I0ml_IAJ8PccXvy3NInpmi3hfUKDv-GP0ZEQecE,2781
|
2
|
+
zrb/__main__.py,sha256=1OjiBTPCdoBDPTZwSVQ-mnNI9cXZ-71sD25ctHpztY4,280
|
3
|
+
zrb/attr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
4
|
+
zrb/attr/type.py,sha256=4TV5gPYMMrKh5V-yB6iRYKCbsXAH_AvGXMsjxKLHcUs,568
|
5
|
+
zrb/builtin/__init__.py,sha256=UUg9Bt5usQ-mcjFoEnLL1baze9IncKe-PAjTNVMDhTc,1276
|
6
|
+
zrb/builtin/base64.py,sha256=lYA8CU-BXUKUFZ17JvyuBCinByK8SvxXRypZAIDRfoQ,898
|
7
|
+
zrb/builtin/git.py,sha256=m3uFadPTQvnwH4hxZVoU52znY5G3OST0-Xh_GplN0Ms,4351
|
8
|
+
zrb/builtin/git_subtree.py,sha256=5SndE5zdjBGERJjOg30W5pIvti3dlGakAFvY6NXXSmE,2603
|
9
|
+
zrb/builtin/group.py,sha256=FQnBUlHN2JFtVXTBQj0FYJDMMC-BJXoj74NFlsARwNU,1415
|
10
|
+
zrb/builtin/llm.py,sha256=PYnFSzvkPc9AlASfTG8U3m4peExA3SW09nWdjYQlLcs,968
|
11
|
+
zrb/builtin/md5.py,sha256=8gLL_V9dRBnwX-p0BhPhs0DChcbs1zwR52Y8lwH6X_c,925
|
12
|
+
zrb/builtin/project/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
13
|
+
zrb/builtin/project/add/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
14
|
+
zrb/builtin/project/add/fastapp.py,sha256=NsUycl9OMKHEXd52c0owoZlaXAYri_SjGei_LsIKypk,2336
|
15
|
+
zrb/builtin/project/add/fastapp_template/.gitignore,sha256=1BMFpr_M5OyTs-weCZZlVlf85sWikzdbvmKu86YD7G0,28
|
16
|
+
zrb/builtin/project/add/fastapp_template/README.md,sha256=MAo7ZFbg7LLiAfQbXcippMgjJ2-VXMKtiTDEZ3I4AAg,221
|
17
|
+
zrb/builtin/project/add/fastapp_template/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
18
|
+
zrb/builtin/project/add/fastapp_template/_zrb/config.py,sha256=UyfX4XeecKo5goVGjFzWaQN-AZL_FriwHkI5x5btgG0,536
|
19
|
+
zrb/builtin/project/add/fastapp_template/_zrb/group.py,sha256=fXrIk8TRwiX5aQ-FQW6xSOo2uDfm6Ef7IXkGVBKDXgw,487
|
20
|
+
zrb/builtin/project/add/fastapp_template/_zrb/helper.py,sha256=2lxr2J94WixZgOC2431BPltHpqAEON5l3auYX0UL3Rg,2857
|
21
|
+
zrb/builtin/project/add/fastapp_template/_zrb/main.py,sha256=V2WbwGs6hKCXeoE2JlUTaA4r3sh7TBDZxr-NvZ2kDUc,4114
|
22
|
+
zrb/builtin/project/add/fastapp_template/_zrb/venv_task.py,sha256=hJaPGXeAjljA-sDq5RYF35diKFQLGY8sp81DHPo8bYU,571
|
23
|
+
zrb/builtin/project/add/fastapp_template/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
24
|
+
zrb/builtin/project/add/fastapp_template/common/app.py,sha256=GX3_HVcpT2KvnETTslffUzWzyVoOCpaQGGjsTNobL0I,474
|
25
|
+
zrb/builtin/project/add/fastapp_template/common/db_engine.py,sha256=8uDn6eLloVnw58Z2gA77-K8cWE0G6DGzDVEvyIqt41M,189
|
26
|
+
zrb/builtin/project/add/fastapp_template/common/db_repository.py,sha256=tyE5ZKapKtRrjbAww2kG8eSXGhfREas0vtwd3XjD37k,6023
|
27
|
+
zrb/builtin/project/add/fastapp_template/common/error.py,sha256=hgRvoCH3C7t_iZuLThiqJVs20zUasQWbH_8jDceF8nk,243
|
28
|
+
zrb/builtin/project/add/fastapp_template/common/schema.py,sha256=dbRryeP5u7ObGX3GjF9ZID00yXffOp-AxyXu8oVJP0I,82
|
29
|
+
zrb/builtin/project/add/fastapp_template/common/usecase.py,sha256=j-FBqrFAAfFbfTN8jAIctwXOIFf75S7T8gn9iLmBsC8,9275
|
30
|
+
zrb/builtin/project/add/fastapp_template/config.py,sha256=R_InkY0f2tMNgtoDlc1JuobrGwhvITsetRpWC223npo,933
|
31
|
+
zrb/builtin/project/add/fastapp_template/main.py,sha256=npRXgrPmAN32rjbykKP--Lth3PGKoaj51wTVjcl0k-w,223
|
32
|
+
zrb/builtin/project/add/fastapp_template/migrate.py,sha256=bpIKOHZ0sV3sJrUznhKt72tKXe-Uoq9dJ7f2Uh7E0g8,92
|
33
|
+
zrb/builtin/project/add/fastapp_template/module/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
34
|
+
zrb/builtin/project/add/fastapp_template/module/auth/alembic.ini,sha256=mgQyBAIwdkZZJWLu_FQWPx1FkyaARCNp6-rLqSVvMbA,3723
|
35
|
+
zrb/builtin/project/add/fastapp_template/module/auth/client/api_client.py,sha256=rsfS8_2FjSpZrqYEr8Jxu6VgJbIXso1USRyPDuTp-dY,296
|
36
|
+
zrb/builtin/project/add/fastapp_template/module/auth/client/base_client.py,sha256=sczw_a8fgxypgBmXwEU4YJkvYxqEE0ueVdbzrncfOAc,697
|
37
|
+
zrb/builtin/project/add/fastapp_template/module/auth/client/direct_client.py,sha256=RJ57_1EK4jG6fPOQ2sHAjfAOe47Ill-ovG5cFfZV3T8,222
|
38
|
+
zrb/builtin/project/add/fastapp_template/module/auth/client/factory.py,sha256=UoWSTOiYMQHGPfERyebKtKLKU30d5G95M3sfBFYuLIs,414
|
39
|
+
zrb/builtin/project/add/fastapp_template/module/auth/migration/README,sha256=MVlc9TYmr57RbhXET6QxgyCcwWP7w-vLkEsirENqiIQ,38
|
40
|
+
zrb/builtin/project/add/fastapp_template/module/auth/migration/env.py,sha256=66zA_MPR6CCEe3yYKDibtv4eRZx4p6ZX-8waFxmzQZE,3489
|
41
|
+
zrb/builtin/project/add/fastapp_template/module/auth/migration/script.py.mako,sha256=MEqL-2qATlST9TAOeYgscMn1uy6HUS9NFvDgl93dMj8,635
|
42
|
+
zrb/builtin/project/add/fastapp_template/module/auth/migration/versions/3093c7336477_add_user_table.py,sha256=j4tkh9NaTKNMefcy1dUdgRI5CzydUidli7i0Q6Ap-7Q,1021
|
43
|
+
zrb/builtin/project/add/fastapp_template/module/auth/migration_metadata.py,sha256=ONHEUZn4EDxKKiOt0UD9_8g7-XujRaXX0zU_PsjHZ0c,162
|
44
|
+
zrb/builtin/project/add/fastapp_template/module/auth/route.py,sha256=peU-HfXeyTRRNXJYhNhwwEkHE7_PTc_DxW7z5CVq8mA,793
|
45
|
+
zrb/builtin/project/add/fastapp_template/module/auth/service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
46
|
+
zrb/builtin/project/add/fastapp_template/module/auth/service/user/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
47
|
+
zrb/builtin/project/add/fastapp_template/module/auth/service/user/repository/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
48
|
+
zrb/builtin/project/add/fastapp_template/module/auth/service/user/repository/db_repository.py,sha256=lIPvHj5I09U8A0hjyTHSaO-sE7ruGugQb74NhmtL1VM,1513
|
49
|
+
zrb/builtin/project/add/fastapp_template/module/auth/service/user/repository/factory.py,sha256=45S_u8yyTx__DzAq_5ioMeQr6r_K91n1bTEAczovvDE,459
|
50
|
+
zrb/builtin/project/add/fastapp_template/module/auth/service/user/repository/repository.py,sha256=vq_1EtjC3Oosu0V9NVhzSLeazFI4PaH3na83XyQz5Wk,849
|
51
|
+
zrb/builtin/project/add/fastapp_template/module/auth/service/user/usecase.py,sha256=12EneEK0vj24KO8WVdC_7MiUa76xcKSptOW7Y4x86w4,1624
|
52
|
+
zrb/builtin/project/add/fastapp_template/module/gateway/alembic.ini,sha256=mgQyBAIwdkZZJWLu_FQWPx1FkyaARCNp6-rLqSVvMbA,3723
|
53
|
+
zrb/builtin/project/add/fastapp_template/module/gateway/migration/README,sha256=MVlc9TYmr57RbhXET6QxgyCcwWP7w-vLkEsirENqiIQ,38
|
54
|
+
zrb/builtin/project/add/fastapp_template/module/gateway/migration/env.py,sha256=q7KtNXDlHgO8DATx--CesiUHDcDM-oYtCyw75E7ILvs,3495
|
55
|
+
zrb/builtin/project/add/fastapp_template/module/gateway/migration/script.py.mako,sha256=MEqL-2qATlST9TAOeYgscMn1uy6HUS9NFvDgl93dMj8,635
|
56
|
+
zrb/builtin/project/add/fastapp_template/module/gateway/migration/versions/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
57
|
+
zrb/builtin/project/add/fastapp_template/module/gateway/migration_metadata.py,sha256=NbIb5ncy6x5RrFD2TZMDwxBK_wDTyJEIvieMRmNpf9M,55
|
58
|
+
zrb/builtin/project/add/fastapp_template/module/gateway/route.py,sha256=pClO2mBmiDMps3PJEk75icnbak-nrPAt6eN-1WlC9QA,1176
|
59
|
+
zrb/builtin/project/add/fastapp_template/requirements.txt,sha256=J5qXx0sBagP-u-pdXsDnkPg66Gg-0ty4Mvz0WZXLAZY,108
|
60
|
+
zrb/builtin/project/add/fastapp_template/schema/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
61
|
+
zrb/builtin/project/add/fastapp_template/schema/role.py,sha256=tbpF67NsX3K7WNsxtx-3b0ClRnOo7pkTxdNs5UEn8oo,581
|
62
|
+
zrb/builtin/project/add/fastapp_template/schema/user.py,sha256=5yiBVTuf9FcU7i_nM4sRRFztMhXCg0W1YAjnVlPgVRE,556
|
63
|
+
zrb/builtin/project/add/fastapp_template/template.env,sha256=OZeV5cn9I7Wm6yJakyQ4lq5wVqGHuShYc_t3LqQK1Xk,55
|
64
|
+
zrb/builtin/project/create/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
65
|
+
zrb/builtin/project/create/create.py,sha256=AY-Yje7otYXiwS99-baQBFeWW90ee43zEj5Q-Omlo6k,1161
|
66
|
+
zrb/builtin/project/create/project-template/README.md,sha256=BHeWF_txdTDzKewWdWfGhO3YOTiW8E3YwTMnd0T1LVA,39
|
67
|
+
zrb/builtin/project/create/project-template/zrb_init.py,sha256=cbPl2xZbr1LXBGd296yCvfullzmryG5nTZ8mcBmu_vU,89
|
68
|
+
zrb/builtin/python.py,sha256=herHFZl5wHsMFcqHhpisg9Ql3pQXqoCuTTwzNUTXzkw,281
|
69
|
+
zrb/builtin/shell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
70
|
+
zrb/builtin/shell/autocomplete/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
71
|
+
zrb/builtin/shell/autocomplete/bash.py,sha256=-7YDVV7txgJH9mAYSYN0jmvUEeDIzWFvVNY-cY0myF8,1181
|
72
|
+
zrb/builtin/shell/autocomplete/subcmd.py,sha256=WZI6cGWJcn80zSyxOHG7sCMO3Ucix3mZf4xm_xyB_Y0,606
|
73
|
+
zrb/builtin/shell/autocomplete/zsh.py,sha256=9hlq0Wt3fhRz326mAQTypEd4_4lZdrbBx_3A-Ti3mvw,1022
|
74
|
+
zrb/builtin/todo.py,sha256=_jcXtU5wIX_O2L8gOdItqEQTj7yDFq6JXMGB4L5lgzE,5872
|
75
|
+
zrb/callback/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
76
|
+
zrb/callback/any_callback.py,sha256=Yhdv5UWHAZSVzj5K2JdxcVQx8x8VX8aZJEivj3NTfZc,247
|
77
|
+
zrb/callback/callback.py,sha256=IQ7r9EnXYHHcNXKBJAk4WFqCqj7WDvflAuCyu5y-27I,849
|
78
|
+
zrb/cmd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
79
|
+
zrb/cmd/cmd_result.py,sha256=L8bQJzWCpcYexIxHBNsXj2pT3BtLmWex0iJSMkvimOA,597
|
80
|
+
zrb/cmd/cmd_val.py,sha256=LGuE85zQt0KSjpmW7bwIE5dnfIq-ULB8V2CDAiQ-SFk,960
|
81
|
+
zrb/config.py,sha256=XMJEin-Y0bbcZodnnNOHEzsP6nD05y2rHfDa_vt8h7o,2465
|
82
|
+
zrb/content_transformer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
83
|
+
zrb/content_transformer/any_content_transformer.py,sha256=3XHM6ZdsJFXxRD7YlUkv0Gn7-mexsH8c8zdHt3C0x8k,741
|
84
|
+
zrb/content_transformer/content_transformer.py,sha256=8luyLZZneBIBAMgGZvydy0TTjhI-TWFgEiQbuCxCAbk,1640
|
85
|
+
zrb/context/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
86
|
+
zrb/context/any_context.py,sha256=KZy6NtX9cg7r9FCY-wHMTx5RNoDqH5077Rjv56Wdp4M,6245
|
87
|
+
zrb/context/any_shared_context.py,sha256=p1i9af_CUDz5Mf1h1kBZMAa2AEhf17I3O5IgAcjRLoY,1768
|
88
|
+
zrb/context/context.py,sha256=au1PLgAkx1wg5BudjxNfY_UbcGaZ1zzfHKSm3fNZ7tk,6246
|
89
|
+
zrb/context/shared_context.py,sha256=47Tnnor1ttpwpe_N07rMNM1jgIYPY9abMe1Q5igkMtE,2735
|
90
|
+
zrb/dot_dict/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
91
|
+
zrb/dot_dict/dot_dict.py,sha256=ubw_x8I7AOJ59xxtFVJ00VGmq_IYdZP3mUhNlO4nEK0,556
|
92
|
+
zrb/env/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
93
|
+
zrb/env/any_env.py,sha256=_Xd56VO09mPeogkWcZ7H8mQkWU7dmZP7ImKfxPfvlLQ,211
|
94
|
+
zrb/env/env.py,sha256=zT-xj0l5G_lp_ginV_InuBr5qTqZMcGaMKE_p5FoqlU,1061
|
95
|
+
zrb/env/env_file.py,sha256=dccsR_cjXp1Q_qz692YPaZSny3Xa049V5NAZ-WLDDEQ,746
|
96
|
+
zrb/env/env_map.py,sha256=CKMmXUbuvf6h2rgFWj-WvW_xLZNgG3TtWdfrqHDe4qk,1253
|
97
|
+
zrb/group/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
98
|
+
zrb/group/any_group.py,sha256=1rNcsi5eu_86JAx_6Jy46SK4BTeppcb89MORynJd-4o,1115
|
99
|
+
zrb/group/group.py,sha256=KVaBZQ9Evihm84JCg5ZayWMbbA6iNTUiLmMgCk4OTcc,1862
|
100
|
+
zrb/input/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
101
|
+
zrb/input/any_input.py,sha256=07KgoPusxLMOwBHRjiImL955J33qC-24qGf_3My6fCE,701
|
102
|
+
zrb/input/base_input.py,sha256=zW2X2H-s4snu_xthgHwEsbBlqDwFbSKMxt4F1PaZW7w,2572
|
103
|
+
zrb/input/bool_input.py,sha256=Pgr34bpVpXkR3rrxnF_rsST-yGv_XvCWra9z9589Iyo,1383
|
104
|
+
zrb/input/float_input.py,sha256=YOPxMq6iOQXc0C3fS1k03fBSzToPV-gK5IFeuyMtlmQ,1004
|
105
|
+
zrb/input/int_input.py,sha256=DmzgGjaxgq3uLUtjI8VVvYDAwol3lu2InPBcltR_BLE,1005
|
106
|
+
zrb/input/option_input.py,sha256=KE2gJqxYT0I1M60KQf9eJ14xOscBla42FxUWdw3UvsQ,1940
|
107
|
+
zrb/input/password_input.py,sha256=SNZZv3YCfX5MAgVSiM69IMdRyH4Kd6QovXEBC48HVHA,1312
|
108
|
+
zrb/input/str_input.py,sha256=NevZHX9rf1g8eMatPyy-kUX3DglrVAQpzvVpKAzf7bA,81
|
109
|
+
zrb/input/text_input.py,sha256=te86xFpzIZnWb9xOeKHykNKTbY3pe1CdoaRCKr7UUQM,3054
|
110
|
+
zrb/runner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
111
|
+
zrb/runner/cli.py,sha256=bEdtpaWrDE5hQSRk6pQKQ0qcArzVTp8YvUav9U9R5f0,6969
|
112
|
+
zrb/runner/web_app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
113
|
+
zrb/runner/web_app/group_info_ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
114
|
+
zrb/runner/web_app/group_info_ui/controller.py,sha256=a-wql4Labw5uYqfhyZ8Dsr1_NWfaP2MF6hO2wxs6Eg4,2827
|
115
|
+
zrb/runner/web_app/group_info_ui/partial/group_info.html,sha256=njcPd6_imhPiUy3eGqtDpY_oX2R9nEh2dJQsh5PAl3M,35
|
116
|
+
zrb/runner/web_app/group_info_ui/partial/group_li.html,sha256=n9d_EBEMUg1rGmNhkYloCwc1jHmwovw3ScxEB_fNL-w,61
|
117
|
+
zrb/runner/web_app/group_info_ui/partial/task_info.html,sha256=dKHHuLIXi37XBbq0Xv2mYFcmJ3oAmz5vH1yKgpunfdE,34
|
118
|
+
zrb/runner/web_app/group_info_ui/partial/task_li.html,sha256=x5Pqa_iN0IyUvzojseGUrHm2Y-xUeO8OFb7Zagui2g0,62
|
119
|
+
zrb/runner/web_app/group_info_ui/view.html,sha256=7yIMx0yxSsmdmwPvXkm8tLgbmw7iqW068xzfFROmh9Y,836
|
120
|
+
zrb/runner/web_app/home_page/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
121
|
+
zrb/runner/web_app/home_page/controller.py,sha256=id-h4tW1YqfEMiXyj53UPxMrvB3jHkeIAaoOZCGUXVw,2242
|
122
|
+
zrb/runner/web_app/home_page/partial/group_info.html,sha256=njcPd6_imhPiUy3eGqtDpY_oX2R9nEh2dJQsh5PAl3M,35
|
123
|
+
zrb/runner/web_app/home_page/partial/group_li.html,sha256=gHF-RP8LG2ur8_mo1JwPXAZWvPM8BevAsdYrsv0uN6U,60
|
124
|
+
zrb/runner/web_app/home_page/partial/task_info.html,sha256=dKHHuLIXi37XBbq0Xv2mYFcmJ3oAmz5vH1yKgpunfdE,34
|
125
|
+
zrb/runner/web_app/home_page/partial/task_li.html,sha256=m-fs4VhbX27fZKgxBA0_Gv_Utntq5aaXD4sFk3zNMlk,61
|
126
|
+
zrb/runner/web_app/home_page/view.html,sha256=RuYx2V52_kTzb4Fkjpc2H97ZpSvlSB8ElbMng2uMDUI,606
|
127
|
+
zrb/runner/web_app/static/favicon-32x32.png,sha256=yu9AIU4k_qD4YHpul6XwJgOxIbmu0thv9ymm2QOsrAk,1456
|
128
|
+
zrb/runner/web_app/static/pico.min.css,sha256=3V_VWRr9ge4h3MEXrYXAFNw_HxncLXt9EB6grMKSdMI,82194
|
129
|
+
zrb/runner/web_app/task_ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
130
|
+
zrb/runner/web_app/task_ui/controller.py,sha256=l7d41waA4vhBHJt1A2TRoH-krA7KxnZj9Qi9GpiuvGc,2477
|
131
|
+
zrb/runner/web_app/task_ui/partial/common-util.js,sha256=Un5HxlFMzNa16UBJZEWvEldFJaZpt6O3Qddd9Zlw0Io,931
|
132
|
+
zrb/runner/web_app/task_ui/partial/input.html,sha256=DDOCdHfwrU8ZF1SSNb0KDaQzbhzn-gipEGaa_ZH5k9I,154
|
133
|
+
zrb/runner/web_app/task_ui/partial/main.js,sha256=3rjahRpypoQ6U2FwDTg21Zx7qt9zfbgzSxk6b6mNOQY,6514
|
134
|
+
zrb/runner/web_app/task_ui/partial/show-existing-session.js,sha256=o5J-O5poWMIL1ujBXparwA4YalFuGXyA8S_wFw8obsM,3637
|
135
|
+
zrb/runner/web_app/task_ui/partial/visualize-history.js,sha256=xKFmE-eXy9PXTWXhG_aQZ15DWStSGRrA8xzHntO-rmY,3916
|
136
|
+
zrb/runner/web_app/task_ui/view.html,sha256=SARL-Dt03ar8IT9RJt7ULJLsjRm5u8K_F4VFwQwhxAs,2668
|
137
|
+
zrb/runner/web_server.py,sha256=gYZAVG_UaJ6XvlXkjHLLZwjsxOj50RdJO4y_6IpDP9w,6171
|
138
|
+
zrb/runner/web_util.py,sha256=FBMnS7qMp31ogm0pCZBObNjrlopIwzYM7UuZjCX1n8Q,428
|
139
|
+
zrb/session/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
140
|
+
zrb/session/any_session.py,sha256=x57mS15E-AfUjdVxwOWEzCBjW32zjer7WoeBw0guoDc,5266
|
141
|
+
zrb/session/session.py,sha256=s3rIcpddCAW79tuAcCNKuEWsHvgl-gwhL5usYeT8TQ8,9763
|
142
|
+
zrb/session_state_log/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
143
|
+
zrb/session_state_log/session_state_log.py,sha256=VVghDMU72PbrvnzQ7MJuc-KTJ5P5fX0FYuCh3Rlwd9M,709
|
144
|
+
zrb/session_state_logger/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
145
|
+
zrb/session_state_logger/any_session_state_logger.py,sha256=W_G1fCw9ZVj4LRTplTpBZlXR-wNueGtc26jF5Gzmh74,611
|
146
|
+
zrb/session_state_logger/default_session_state_logger.py,sha256=w_cAaNUg1ZmJk-ge1kh3xtag3SApC3ZdB3VbxUvU5Ro,197
|
147
|
+
zrb/session_state_logger/file_session_state_logger.py,sha256=0lMtx7Othu4-jhL_iDHFbZWF_5HX84StU134QNCVgeQ,3753
|
148
|
+
zrb/task/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
149
|
+
zrb/task/any_task.py,sha256=QCuFCDXmfzvS09SWN1uFGUHheJlkKkii5oZDjO3s9tA,3896
|
150
|
+
zrb/task/base_task.py,sha256=pXFhZ0aJNdGXBBnOLSNiAXQ9MCRIpuqjB-Yfn_t8MB8,16293
|
151
|
+
zrb/task/base_trigger.py,sha256=milE5BNeIeq8jGCP38qTfstSvrc0CkSnO2sV-vlhzsM,4491
|
152
|
+
zrb/task/cmd_task.py,sha256=Aw1zCwe5Cv6A96QmfJA1pfDV5zd1J-exXl5e-ONL33Y,10431
|
153
|
+
zrb/task/http_check.py,sha256=I3x1uDfVnJgf1TnEPbJ-tjMuv-ABb2niKBDW0-Gidw8,2486
|
154
|
+
zrb/task/llm_task.py,sha256=ormrfEYPNOcfZ4Qv-4pqrRYhp0UHfCN8w7qVXwUyEPc,6318
|
155
|
+
zrb/task/make_task.py,sha256=ldXRfe3rA8utJrEPjWrie-_tg6NM2G8sFnZ0UNqzT08,2179
|
156
|
+
zrb/task/rsync_task.py,sha256=bmCZz9MdmdWVt8OtouaP0YqMrdnOqWBfdNECujgmC18,6377
|
157
|
+
zrb/task/scaffolder.py,sha256=hND89i-E3uAf-HWxFq6VTqHtlWP-1wObC7CiV-a0cIg,6250
|
158
|
+
zrb/task/scheduler.py,sha256=kggRClk_RrAa5fAHfkqM6c-e2tUQiFSeyeLuFT26UZ4,3047
|
159
|
+
zrb/task/task.py,sha256=KCrCaWYOQQvv1RJsYtHDeo9RBFmlXQ28oKyEFU4Q7pA,73
|
160
|
+
zrb/task/tcp_check.py,sha256=XrKQ_lWYa4QhXkfC7reYpFrzbHS13hrvA8TJrMPowMM,2462
|
161
|
+
zrb/task_status/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
162
|
+
zrb/task_status/task_status.py,sha256=aRygkj0DKrOYWgz2eF5wNmYcpVbLeklxL521BqIQN4A,3005
|
163
|
+
zrb/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
164
|
+
zrb/util/attr.py,sha256=HkXd2N-eUXw2o4WWWJpo2q8N0kS7k08jsMLXpK_3zq0,2353
|
165
|
+
zrb/util/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
166
|
+
zrb/util/cli/style.py,sha256=Pbqzu_fuhMDYDRjAH6Wl-oUW4-68tEOmv_ugJ3xH8qI,3671
|
167
|
+
zrb/util/cli/subcommand.py,sha256=gYr-CzVeKFQhY43s_FDstPwn8r-ypUz1Q2Rv_l2r-ck,1027
|
168
|
+
zrb/util/cmd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
169
|
+
zrb/util/cmd/remote.py,sha256=VklVORobTmE7FqdtYsVLq9xkSYTR2W5r2Zou0-soidw,710
|
170
|
+
zrb/util/codemod/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
171
|
+
zrb/util/codemod/add_code_to_class.py,sha256=jg-ISD3sHCecOJ1CCJGR9quizRgvzddKH9GZ33-IQ1A,1358
|
172
|
+
zrb/util/codemod/add_code_to_function.py,sha256=iJT-cDxS_H72j3ec03Lqmm4YPe-6svB2314ooJljtvQ,1482
|
173
|
+
zrb/util/codemod/add_code_to_method.py,sha256=TiYj9N0eMi3dutwQw_y4gnu1G6PW_-fZDqHatvZxJDo,2359
|
174
|
+
zrb/util/codemod/add_key_to_dict.py,sha256=ROw7Ds73gP5G5vOYlSqcHGUQQmJP_6Vb2jPnV2kZPQM,2110
|
175
|
+
zrb/util/codemod/add_param_to_function_call.py,sha256=cNC16uYbkjl33QEZ7i3pYvifGJXSXEoyfyCYx96S8ZI,1567
|
176
|
+
zrb/util/codemod/add_property_to_class.py,sha256=43ll7b7SUWHPDpIoMp8Zp_I71wG1eAvnW_acp-HVF_4,2075
|
177
|
+
zrb/util/cron.py,sha256=9fTGatUMYCRgmDFGg-z6_XerT4U5Vq72nD05NnEVUm4,2852
|
178
|
+
zrb/util/git.py,sha256=4HJk15tpFmsBcnU1iapv6osx250SPAtWOo99e6mpwfY,4457
|
179
|
+
zrb/util/git_subtree.py,sha256=7hxiLWw7el77amT1hrXMHrPyi76KMp11jciEfvfKXHk,2509
|
180
|
+
zrb/util/group.py,sha256=Bg7HrSycoK110U5s_Tca6-uUQuZ5CMgb8wxZSrvDQ98,2790
|
181
|
+
zrb/util/llm/tool.py,sha256=9ezbPEAyMKLWABgeqAimJ82KBFl7ciWNFVGhtllXg6s,2106
|
182
|
+
zrb/util/load.py,sha256=VMScnycP8blLFOGXjFAKShbV-yvPXwRA_J2vt96T-wc,1552
|
183
|
+
zrb/util/run.py,sha256=DGHUP9x1Q8V8UF3FbpmjLGuhVVCCLfjTH2teT8qXlNI,207
|
184
|
+
zrb/util/string/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
185
|
+
zrb/util/string/conversion.py,sha256=utfzaCLS2LTWMr9YbjXt2Z0a_pgzOjq76ZEPUh2UKCc,2876
|
186
|
+
zrb/util/string/format.py,sha256=LuKznDICnnbMOjM7_CEY0drlIlpdNqbBL-n6M4yEUVI,306
|
187
|
+
zrb/util/string/name.py,sha256=8picJfUBXNpdh64GNaHv3om23QHhUZux7DguFLrXHp8,1163
|
188
|
+
zrb/util/todo.py,sha256=cSBkQyXsoh4bGspoP-YjhOTAXGgVKMq8UVGiPn5Zyhk,4765
|
189
|
+
zrb/xcom/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
190
|
+
zrb/xcom/xcom.py,sha256=P4aYHdE3FRsTsNrXGyW8N44IWZjw-vG_qys1Ymn3aBg,1572
|
191
|
+
zrb-1.0.0a3.dist-info/METADATA,sha256=NDUzYWu_ZluLJfFrml-9gG7z-j8-LsgmZFLtw8RsQX4,3862
|
192
|
+
zrb-1.0.0a3.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
193
|
+
zrb-1.0.0a3.dist-info/entry_points.txt,sha256=-Pg3ElWPfnaSM-XvXqCxEAa-wfVI6BEgcs386s8C8v8,46
|
194
|
+
zrb-1.0.0a3.dist-info/RECORD,,
|
zrb/builtin/shell/_group.py
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
from abc import ABC, abstractmethod
|
2
|
-
from typing import Any
|
3
|
-
|
4
|
-
|
5
|
-
class AnyRequestHandler(ABC):
|
6
|
-
@abstractmethod
|
7
|
-
def send_json_response(self, data: Any, http_status: int = 200):
|
8
|
-
pass
|
9
|
-
|
10
|
-
@abstractmethod
|
11
|
-
def send_html_response(self, html: str, http_status: int = 200):
|
12
|
-
pass
|
13
|
-
|
14
|
-
@abstractmethod
|
15
|
-
def read_json_request(self) -> Any:
|
16
|
-
pass
|
17
|
-
|
18
|
-
@abstractmethod
|
19
|
-
def send_css_response(self, css_path: str):
|
20
|
-
pass
|
21
|
-
|
22
|
-
@abstractmethod
|
23
|
-
def send_image_response(self, image_path: str):
|
24
|
-
pass
|