amsdal 0.5.8__cp311-cp311-macosx_10_9_universal2.whl → 0.5.10__cp311-cp311-macosx_10_9_universal2.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 (59) hide show
  1. amsdal/__about__.py +1 -1
  2. amsdal/__migrations__/0003_update_class_file.py +1 -1
  3. amsdal/cloud/__init__.cpython-311-darwin.so +0 -0
  4. amsdal/cloud/client.cpython-311-darwin.so +0 -0
  5. amsdal/cloud/constants.cpython-311-darwin.so +0 -0
  6. amsdal/cloud/enums.cpython-311-darwin.so +0 -0
  7. amsdal/cloud/models/__init__.cpython-311-darwin.so +0 -0
  8. amsdal/cloud/models/base.cpython-311-darwin.so +0 -0
  9. amsdal/cloud/services/__init__.cpython-311-darwin.so +0 -0
  10. amsdal/cloud/services/actions/__init__.cpython-311-darwin.so +0 -0
  11. amsdal/cloud/services/actions/add_allowlist_ip.cpython-311-darwin.so +0 -0
  12. amsdal/cloud/services/actions/add_basic_auth.cpython-311-darwin.so +0 -0
  13. amsdal/cloud/services/actions/add_dependency.cpython-311-darwin.so +0 -0
  14. amsdal/cloud/services/actions/add_secret.cpython-311-darwin.so +0 -0
  15. amsdal/cloud/services/actions/base.cpython-311-darwin.so +0 -0
  16. amsdal/cloud/services/actions/create_deploy.cpython-311-darwin.so +0 -0
  17. amsdal/cloud/services/actions/create_env.cpython-311-darwin.so +0 -0
  18. amsdal/cloud/services/actions/create_session.cpython-311-darwin.so +0 -0
  19. amsdal/cloud/services/actions/delete_allowlist_ip.cpython-311-darwin.so +0 -0
  20. amsdal/cloud/services/actions/delete_basic_auth.cpython-311-darwin.so +0 -0
  21. amsdal/cloud/services/actions/delete_dependency.cpython-311-darwin.so +0 -0
  22. amsdal/cloud/services/actions/delete_env.cpython-311-darwin.so +0 -0
  23. amsdal/cloud/services/actions/delete_secret.cpython-311-darwin.so +0 -0
  24. amsdal/cloud/services/actions/destroy_deploy.cpython-311-darwin.so +0 -0
  25. amsdal/cloud/services/actions/expose_db.cpython-311-darwin.so +0 -0
  26. amsdal/cloud/services/actions/get_basic_auth_credentials.cpython-311-darwin.so +0 -0
  27. amsdal/cloud/services/actions/get_monitoring_info.cpython-311-darwin.so +0 -0
  28. amsdal/cloud/services/actions/list_dependencies.cpython-311-darwin.so +0 -0
  29. amsdal/cloud/services/actions/list_deploys.cpython-311-darwin.so +0 -0
  30. amsdal/cloud/services/actions/list_envs.cpython-311-darwin.so +0 -0
  31. amsdal/cloud/services/actions/list_secrets.cpython-311-darwin.so +0 -0
  32. amsdal/cloud/services/actions/manager.cpython-311-darwin.so +0 -0
  33. amsdal/cloud/services/actions/signup_action.cpython-311-darwin.so +0 -0
  34. amsdal/cloud/services/actions/update_deploy.cpython-311-darwin.so +0 -0
  35. amsdal/cloud/services/auth/__init__.cpython-311-darwin.so +0 -0
  36. amsdal/cloud/services/auth/base.cpython-311-darwin.so +0 -0
  37. amsdal/cloud/services/auth/credentials.cpython-311-darwin.so +0 -0
  38. amsdal/cloud/services/auth/manager.cpython-311-darwin.so +0 -0
  39. amsdal/cloud/services/auth/signup_service.cpython-311-darwin.so +0 -0
  40. amsdal/cloud/services/auth/token.cpython-311-darwin.so +0 -0
  41. amsdal/contrib/__init__.cpython-311-darwin.so +0 -0
  42. amsdal/contrib/frontend_configs/migrations/0001_update_frontend_control_config.py +245 -0
  43. amsdal/contrib/frontend_configs/models/frontend_control_config.py +57 -46
  44. amsdal/fixtures/__init__.cpython-311-darwin.so +0 -0
  45. amsdal/fixtures/manager.cpython-311-darwin.so +0 -0
  46. amsdal/fixtures/utils.cpython-311-darwin.so +0 -0
  47. amsdal/manager.cpython-311-darwin.so +0 -0
  48. amsdal/mixins/__init__.cpython-311-darwin.so +0 -0
  49. amsdal/mixins/class_versions_mixin.cpython-311-darwin.so +0 -0
  50. amsdal/models/core/file.py +1 -6
  51. amsdal/schemas/manager.cpython-311-darwin.so +0 -0
  52. amsdal/services/__init__.cpython-311-darwin.so +0 -0
  53. amsdal/services/transaction_execution.cpython-311-darwin.so +0 -0
  54. amsdal/utils/tests/migrations.py +0 -1
  55. {amsdal-0.5.8.dist-info → amsdal-0.5.10.dist-info}/METADATA +1 -1
  56. {amsdal-0.5.8.dist-info → amsdal-0.5.10.dist-info}/RECORD +59 -58
  57. {amsdal-0.5.8.dist-info → amsdal-0.5.10.dist-info}/WHEEL +0 -0
  58. {amsdal-0.5.8.dist-info → amsdal-0.5.10.dist-info}/licenses/LICENSE.txt +0 -0
  59. {amsdal-0.5.8.dist-info → amsdal-0.5.10.dist-info}/top_level.txt +0 -0
amsdal/__about__.py CHANGED
@@ -1,4 +1,4 @@
1
1
  # SPDX-FileCopyrightText: 2023-present
2
2
  #
3
3
  # SPDX-License-Identifier: AMSDAL End User License Agreement
4
- __version__ = '0.5.8'
4
+ __version__ = '0.5.10'
@@ -32,7 +32,7 @@ class Migration(migrations.Migration):
32
32
  "size": {"type": "number", "title": "Size"},
33
33
  "storage_address": {"type": "anything", "title": "Storage Reference"},
34
34
  },
35
- "custom_code": 'import base64\nimport io\nfrom contextlib import suppress\nfrom inspect import isawaitable\nfrom pathlib import Path\nfrom typing import IO\nfrom typing import Any\nfrom typing import BinaryIO\n\nfrom amsdal_models.storage.backends.db import DBStorage\nfrom amsdal_models.storage.base import Storage\nfrom pydantic import model_validator\n\n\n@classmethod\ndef data_base64_decode(cls, data: Any) -> bytes:\n if isinstance(data, str):\n data = data.encode(\'utf-8\')\n is_base64: bool = False\n with suppress(Exception):\n is_base64 = base64.b64encode(base64.b64decode(data)) == data\n if is_base64:\n return base64.b64decode(data)\n return data\n\n@classmethod\ndef from_bytes(cls, filename: str, data: bytes) -> \'File\':\n """\n Creates a `File` object from a byte string.\n\n Args:\n filename (str): The filename of the file.\n data (bytes): The byte string containing the file data.:\n\n Returns:\n File: The created `File` object.\n """\n obj = cls(filename=filename, data=data, size=len(data))\n obj._needs_persist = True\n return obj\n\n@classmethod\ndef from_file(cls, file_or_path: Path | BinaryIO) -> \'File\':\n """\n Creates a `File` object from a file path or a binary file object.\n\n Args:\n file_or_path (Path | BinaryIO): The file path or binary file object.\n\n Returns:\n File: The created `File` object.\n\n Raises:\n ValueError: If the provided path is a directory.\n """\n f: BinaryIO | io.BufferedReader\n if isinstance(file_or_path, Path):\n if file_or_path.is_dir():\n msg = f\'{file_or_path} is a directory\'\n raise ValueError(msg)\n f = file_or_path.open(\'rb\')\n filename = file_or_path.name\n size = file_or_path.stat().st_size\n else:\n f = file_or_path\n filename = Path(getattr(f, \'name\', \'unnamed\')).name\n try:\n if f.seekable():\n f.seek(0, io.SEEK_END)\n size = f.tell()\n f.seek(0)\n else:\n size = None\n except (OSError, AttributeError):\n size = None\n obj = cls(filename=filename, size=size)\n obj._source = f\n obj._needs_persist = True\n return obj\n\n@model_validator(mode=\'before\')\n@classmethod\ndef validate_model_data(cls, data: Any) -> Any:\n if isinstance(data, dict):\n if \'data\' in data:\n if data[\'data\']:\n data[\'data\'] = cls.data_base64_decode(data[\'data\'])\n data[\'size\'] = len(data[\'data\'])\n else:\n data[\'size\'] = 0\n return data\n\n@property\ndef mimetype(self) -> str | None:\n """\n Returns the MIME type of the file based on its filename.\n\n This method uses the `mimetypes` module to guess the MIME type of the file.\n\n Returns:\n str | None: The guessed MIME type of the file, or None if it cannot be determined.\n """\n import mimetypes\n return mimetypes.guess_type(self.filename)[0]\n\n@property\ndef storage(self) -> Storage:\n from amsdal.storages import default_storage\n if self._storage:\n return self._storage\n if self.storage_address:\n return Storage.from_storage_spec({\'storage_class\': self.storage_address.ref.resource})\n return default_storage()\n\nasync def aopen(self, mode: str=\'rb\') -> Any:\n """\n Async variant of open().\n\n Uses the resolved storage to call aopen(); if the backend does not implement\n async, falls back to the sync open().\n """\n try:\n return await self.storage.aopen(self, mode)\n except NotImplementedError:\n return self.storage.open(self, mode)\n\nasync def apre_create(self) -> None:\n if self._needs_persist:\n from amsdal_models.storage.persistence import apersist_file\n await apersist_file(self, storage=self.storage)\n\nasync def apre_update(self) -> None:\n if self._needs_persist:\n from amsdal_models.storage.persistence import apersist_file\n await apersist_file(self, storage=self.storage)\n\nasync def aread_bytes(self) -> bytes:\n async with await self.aopen() as f:\n data = f.read()\n if isawaitable(data):\n return await data\n return data\n\nasync def aurl(self) -> str:\n """\n Async variant of url().\n\n Uses the resolved storage to call aurl(); if the backend does not implement\n async, falls back to the sync url().\n """\n try:\n return await self.storage.aurl(self)\n except NotImplementedError:\n return self.storage.url(self)\n\ndef __repr__(self) -> str:\n return f"File<{self.filename}>({self.size or len(self.data or \'\') or 0} bytes)"\n\ndef __str__(self) -> str:\n return repr(self)\n\ndef open(self, mode: str=\'rb\') -> IO[Any]:\n """\n Open a binary stream for reading (or other modes if supported) using storage_address.\n\n Raises StateError if storage_address is missing.\n """\n return self.storage.open(self, mode)\n\ndef pre_create(self) -> None:\n if self._needs_persist:\n from amsdal_models.storage.persistence import persist_file\n persist_file(self, storage=self.storage)\n\ndef pre_update(self) -> None:\n if self._needs_persist:\n from amsdal_models.storage.persistence import persist_file\n persist_file(self, storage=self.storage)\n\ndef read_bytes(self) -> bytes:\n with self.open() as f:\n return f.read()\n\ndef set_data(self, data: bytes | str) -> None:\n if not isinstance(self.storage, DBStorage):\n msg = \'Cannot set data on a file that is not stored in a database. Use `File.from_bytes` instead.\'\n raise ValueError(msg)\n self.data = self.data_base64_decode(data)\n self.size = len(self.data)\n self._needs_persist = True\n\ndef to_file(self, file_or_path: Path | BinaryIO) -> None:\n """\n Writes the object\'s data to a file path or a binary file object.\n\n Args:\n file_or_path (Path | BinaryIO): The file path or binary file object where the data will be written.\n\n Returns:\n None\n\n Raises:\n ValueError: If the provided path is a directory.\n """\n with self.open() as f:\n if isinstance(file_or_path, Path):\n if file_or_path.is_dir():\n file_or_path = file_or_path / self.name\n file_or_path.write_bytes(f.read())\n else:\n file_or_path.write(f.read())\n file_or_path.seek(0)\n\ndef url(self) -> str:\n """\n Return a URL for this file using its storage_address.\n\n Raises StateError if storage_address is missing.\n """\n return self.storage.url(self)',
35
+ "custom_code": 'import base64\nimport io\nfrom contextlib import suppress\nfrom pathlib import Path\nfrom typing import IO\nfrom typing import Any\nfrom typing import BinaryIO\n\nfrom amsdal_models.storage.backends.db import DBStorage\nfrom amsdal_models.storage.base import Storage\nfrom pydantic import model_validator\n\n\n@classmethod\ndef data_base64_decode(cls, data: Any) -> bytes:\n if isinstance(data, str):\n data = data.encode(\'utf-8\')\n is_base64: bool = False\n with suppress(Exception):\n is_base64 = base64.b64encode(base64.b64decode(data)) == data\n if is_base64:\n return base64.b64decode(data)\n return data\n\n@classmethod\ndef from_bytes(cls, filename: str, data: bytes) -> \'File\':\n """\n Creates a `File` object from a byte string.\n\n Args:\n filename (str): The filename of the file.\n data (bytes): The byte string containing the file data.:\n\n Returns:\n File: The created `File` object.\n """\n obj = cls(filename=filename, data=data, size=len(data))\n obj._needs_persist = True\n return obj\n\n@classmethod\ndef from_file(cls, file_or_path: Path | BinaryIO) -> \'File\':\n """\n Creates a `File` object from a file path or a binary file object.\n\n Args:\n file_or_path (Path | BinaryIO): The file path or binary file object.\n\n Returns:\n File: The created `File` object.\n\n Raises:\n ValueError: If the provided path is a directory.\n """\n f: BinaryIO | io.BufferedReader\n if isinstance(file_or_path, Path):\n if file_or_path.is_dir():\n msg = f\'{file_or_path} is a directory\'\n raise ValueError(msg)\n f = file_or_path.open(\'rb\')\n filename = file_or_path.name\n size = file_or_path.stat().st_size\n else:\n f = file_or_path\n filename = Path(getattr(f, \'name\', \'unnamed\')).name\n try:\n if f.seekable():\n f.seek(0, io.SEEK_END)\n size = f.tell()\n f.seek(0)\n else:\n size = None\n except (OSError, AttributeError):\n size = None\n obj = cls(filename=filename, size=size)\n obj._source = f\n obj._needs_persist = True\n return obj\n\n@model_validator(mode=\'before\')\n@classmethod\ndef validate_model_data(cls, data: Any) -> Any:\n if isinstance(data, dict):\n if \'data\' in data:\n if data[\'data\']:\n data[\'data\'] = cls.data_base64_decode(data[\'data\'])\n data[\'size\'] = len(data[\'data\'])\n else:\n data[\'size\'] = 0\n return data\n\n@property\ndef mimetype(self) -> str | None:\n """\n Returns the MIME type of the file based on its filename.\n\n This method uses the `mimetypes` module to guess the MIME type of the file.\n\n Returns:\n str | None: The guessed MIME type of the file, or None if it cannot be determined.\n """\n import mimetypes\n return mimetypes.guess_type(self.filename)[0]\n\n@property\ndef storage(self) -> Storage:\n from amsdal.storages import default_storage\n if self._storage:\n return self._storage\n if self.storage_address:\n return Storage.from_storage_spec({\'storage_class\': self.storage_address.ref.resource})\n return default_storage()\n\nasync def aopen(self, mode: str=\'rb\') -> Any:\n """\n Async variant of open().\n\n Uses the resolved storage to call aopen(); if the backend does not implement\n async, falls back to the sync open().\n """\n try:\n return await self.storage.aopen(self, mode)\n except NotImplementedError:\n return self.storage.open(self, mode)\n\nasync def apre_create(self) -> None:\n if self._needs_persist:\n from amsdal_models.storage.persistence import apersist_file\n await apersist_file(self, storage=self.storage)\n\nasync def apre_update(self) -> None:\n if self._needs_persist:\n from amsdal_models.storage.persistence import apersist_file\n await apersist_file(self, storage=self.storage)\n\nasync def aread_bytes(self) -> bytes:\n async with await self.aopen() as f:\n return await f.read()\n\nasync def aurl(self) -> str:\n """\n Async variant of url().\n\n Uses the resolved storage to call aurl(); if the backend does not implement\n async, falls back to the sync url().\n """\n try:\n return await self.storage.aurl(self)\n except NotImplementedError:\n return self.storage.url(self)\n\ndef __repr__(self) -> str:\n return f"File<{self.filename}>({self.size or len(self.data or \'\') or 0} bytes)"\n\ndef __str__(self) -> str:\n return repr(self)\n\ndef open(self, mode: str=\'rb\') -> IO[Any]:\n """\n Open a binary stream for reading (or other modes if supported) using storage_address.\n\n Raises StateError if storage_address is missing.\n """\n return self.storage.open(self, mode)\n\ndef pre_create(self) -> None:\n if self._needs_persist:\n from amsdal_models.storage.persistence import persist_file\n persist_file(self, storage=self.storage)\n\ndef pre_update(self) -> None:\n if self._needs_persist:\n from amsdal_models.storage.persistence import persist_file\n persist_file(self, storage=self.storage)\n\ndef read_bytes(self) -> bytes:\n with self.open() as f:\n return f.read()\n\ndef set_data(self, data: bytes | str) -> None:\n if not isinstance(self.storage, DBStorage):\n msg = \'Cannot set data on a file that is not stored in a database. Use `File.from_bytes` instead.\'\n raise ValueError(msg)\n self.data = self.data_base64_decode(data)\n self.size = len(self.data)\n self._needs_persist = True\n\ndef to_file(self, file_or_path: Path | BinaryIO) -> None:\n """\n Writes the object\'s data to a file path or a binary file object.\n\n Args:\n file_or_path (Path | BinaryIO): The file path or binary file object where the data will be written.\n\n Returns:\n None\n\n Raises:\n ValueError: If the provided path is a directory.\n """\n with self.open() as f:\n if isinstance(file_or_path, Path):\n if file_or_path.is_dir():\n file_or_path = file_or_path / self.name\n file_or_path.write_bytes(f.read())\n else:\n file_or_path.write(f.read())\n file_or_path.seek(0)\n\ndef url(self) -> str:\n """\n Return a URL for this file using its storage_address.\n\n Raises StateError if storage_address is missing.\n """\n return self.storage.url(self)',
36
36
  "storage_metadata": {
37
37
  "table_name": "File",
38
38
  "db_fields": {},
Binary file
Binary file
Binary file
@@ -0,0 +1,245 @@
1
+ from amsdal_models.migration import migrations
2
+ from amsdal_utils.models.enums import ModuleType
3
+
4
+
5
+ class Migration(migrations.Migration):
6
+ operations: list[migrations.Operation] = [
7
+ migrations.CreateClass(
8
+ module_type=ModuleType.CONTRIB,
9
+ class_name="Condition",
10
+ new_schema={
11
+ "title": "Condition",
12
+ "type": "FrontendConfigSkipNoneBase",
13
+ "required": ["operation", "conditions"],
14
+ "properties": {
15
+ "operation": {
16
+ "type": "string",
17
+ "options": [
18
+ {"key": "and", "value": "and"},
19
+ {"key": "or", "value": "or"},
20
+ {"key": "not", "value": "not"},
21
+ ],
22
+ "title": "Operation",
23
+ "enum": ["and", "or", "not"],
24
+ },
25
+ "conditions": {
26
+ "type": "array",
27
+ "items": {"type": "ConditionItem", "title": "ConditionItem"},
28
+ "title": "Conditions",
29
+ },
30
+ },
31
+ "meta_class": "TypeMeta",
32
+ "custom_code": "from typing import Any\n\nfrom amsdal.contrib.frontend_configs.models.frontend_activator_config import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_async_validator import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_control_action import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_option import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_skip_none_base import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_slider_option import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_text_mask import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_validator import *\n\n\ndef model_dump(self, **kwargs: Any) -> dict[str, Any]:\n kwargs['exclude_none'] = True\n return super().model_dump(**kwargs)\n\ndef model_dump_json(self, **kwargs: Any) -> str:\n kwargs['exclude_none'] = True\n return super().model_dump_json(**kwargs)",
33
+ "storage_metadata": {"table_name": "Condition", "db_fields": {}, "foreign_keys": {}},
34
+ },
35
+ ),
36
+ migrations.CreateClass(
37
+ module_type=ModuleType.CONTRIB,
38
+ class_name="ConditionItem",
39
+ new_schema={
40
+ "title": "ConditionItem",
41
+ "type": "FrontendConfigSkipNoneBase",
42
+ "required": ["path", "condition"],
43
+ "properties": {
44
+ "path": {"type": "string", "title": "Path"},
45
+ "condition": {"type": "string", "title": "Condition"},
46
+ "value": {"type": "anything", "title": "Value"},
47
+ },
48
+ "meta_class": "TypeMeta",
49
+ "custom_code": "from typing import Any\n\nfrom amsdal.contrib.frontend_configs.models.frontend_activator_config import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_async_validator import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_control_action import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_option import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_skip_none_base import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_slider_option import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_text_mask import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_validator import *\n\n\ndef model_dump(self, **kwargs: Any) -> dict[str, Any]:\n kwargs['exclude_none'] = True\n return super().model_dump(**kwargs)\n\ndef model_dump_json(self, **kwargs: Any) -> str:\n kwargs['exclude_none'] = True\n return super().model_dump_json(**kwargs)",
50
+ "storage_metadata": {"table_name": "ConditionItem", "db_fields": {}, "foreign_keys": {}},
51
+ },
52
+ ),
53
+ migrations.UpdateClass(
54
+ module_type=ModuleType.CONTRIB,
55
+ class_name="FrontendControlConfig",
56
+ old_schema={
57
+ "title": "FrontendControlConfig",
58
+ "type": "FrontendConfigSkipNoneBase",
59
+ "required": ["type", "name"],
60
+ "properties": {
61
+ "type": {"type": "string", "title": "Type"},
62
+ "name": {"type": "string", "title": "Name"},
63
+ "label": {"type": "string", "title": "Label"},
64
+ "required": {"type": "boolean", "title": "Required"},
65
+ "hideLabel": {"type": "boolean", "title": "Hide Label"},
66
+ "actions": {
67
+ "type": "array",
68
+ "items": {"type": "FrontendConfigControlAction", "title": "FrontendConfigControlAction"},
69
+ "title": "Actions",
70
+ },
71
+ "validators": {
72
+ "type": "array",
73
+ "items": {"type": "FrontendConfigValidator", "title": "FrontendConfigValidator"},
74
+ "title": "Validators",
75
+ },
76
+ "asyncValidators": {
77
+ "type": "array",
78
+ "items": {"type": "FrontendConfigAsyncValidator", "title": "FrontendConfigAsyncValidator"},
79
+ "title": "Async Validators",
80
+ },
81
+ "activators": {
82
+ "type": "array",
83
+ "items": {"type": "FrontendActivatorConfig", "title": "FrontendActivatorConfig"},
84
+ "title": "Activators",
85
+ },
86
+ "additionalText": {"type": "string", "title": "Additional Text"},
87
+ "value": {"type": "anything", "title": "Value"},
88
+ "placeholder": {"type": "string", "title": "Placeholder"},
89
+ "options": {
90
+ "type": "array",
91
+ "items": {"type": "FrontendConfigOption", "title": "FrontendConfigOption"},
92
+ "title": "Options",
93
+ },
94
+ "mask": {"type": "FrontendConfigTextMask", "title": "Mask"},
95
+ "controls": {
96
+ "type": "array",
97
+ "items": {"type": "FrontendControlConfig", "title": "FrontendControlConfig"},
98
+ "title": "Controls",
99
+ },
100
+ "showSearch": {"type": "boolean", "title": "Show Search"},
101
+ "sliderOptions": {"type": "FrontendConfigSliderOption", "title": "Slider Option"},
102
+ "customLabel": {"type": "array", "items": {"type": "string"}, "title": "Custom Label"},
103
+ "control": {"type": "FrontendControlConfig", "title": "Control"},
104
+ "entityType": {"type": "string", "title": "Entity Type"},
105
+ },
106
+ "meta_class": "TypeMeta",
107
+ "custom_code": "from typing import Any\n\nfrom amsdal_models.builder.validators.options_validators import validate_options\nfrom pydantic.functional_validators import field_validator\n\nfrom amsdal.contrib.frontend_configs.models.frontend_activator_config import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_async_validator import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_control_action import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_option import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_skip_none_base import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_slider_option import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_text_mask import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_validator import *\n\n\n@field_validator('type')\n@classmethod\ndef validate_value_in_options_type(cls: type, value: Any) -> Any:\n return validate_options(value, options=['Bytes', 'array', 'checkbox', 'date', 'dateTriplet', 'datetime', 'dict', 'dropzone', 'email', 'file', 'group', 'group_switch', 'group_toggle', 'info-group', 'infoscreen', 'multiselect', 'number', 'number-operations', 'number-slider', 'number_equals', 'number_initial', 'number_minus', 'number_plus', 'object', 'object_group', 'object_latest', 'password', 'phone', 'radio', 'select', 'text', 'textarea', 'time', 'toggle'])\n\ndef model_dump(self, **kwargs: Any) -> dict[str, Any]:\n kwargs['exclude_none'] = True\n return super().model_dump(**kwargs)\n\ndef model_dump_json(self, **kwargs: Any) -> str:\n kwargs['exclude_none'] = True\n return super().model_dump_json(**kwargs)",
108
+ "storage_metadata": {"table_name": "FrontendControlConfig", "db_fields": {}, "foreign_keys": {}},
109
+ },
110
+ new_schema={
111
+ "title": "FrontendControlConfig",
112
+ "type": "FrontendConfigSkipNoneBase",
113
+ "required": ["type", "name"],
114
+ "properties": {
115
+ "type": {
116
+ "type": "string",
117
+ "options": [
118
+ {"key": "Bytes", "value": "Bytes"},
119
+ {"key": "array", "value": "array"},
120
+ {"key": "checkbox", "value": "checkbox"},
121
+ {"key": "date", "value": "date"},
122
+ {"key": "dateTriplet", "value": "dateTriplet"},
123
+ {"key": "datetime", "value": "datetime"},
124
+ {"key": "dict", "value": "dict"},
125
+ {"key": "dropzone", "value": "dropzone"},
126
+ {"key": "email", "value": "email"},
127
+ {"key": "file", "value": "file"},
128
+ {"key": "group", "value": "group"},
129
+ {"key": "group_switch", "value": "group_switch"},
130
+ {"key": "group_toggle", "value": "group_toggle"},
131
+ {"key": "info-group", "value": "info-group"},
132
+ {"key": "infoscreen", "value": "infoscreen"},
133
+ {"key": "multiselect", "value": "multiselect"},
134
+ {"key": "number", "value": "number"},
135
+ {"key": "number-operations", "value": "number-operations"},
136
+ {"key": "number-slider", "value": "number-slider"},
137
+ {"key": "number_equals", "value": "number_equals"},
138
+ {"key": "number_initial", "value": "number_initial"},
139
+ {"key": "number_minus", "value": "number_minus"},
140
+ {"key": "number_plus", "value": "number_plus"},
141
+ {"key": "object", "value": "object"},
142
+ {"key": "object_group", "value": "object_group"},
143
+ {"key": "object_latest", "value": "object_latest"},
144
+ {"key": "password", "value": "password"},
145
+ {"key": "phone", "value": "phone"},
146
+ {"key": "radio", "value": "radio"},
147
+ {"key": "select", "value": "select"},
148
+ {"key": "text", "value": "text"},
149
+ {"key": "textarea", "value": "textarea"},
150
+ {"key": "time", "value": "time"},
151
+ {"key": "toggle", "value": "toggle"},
152
+ {"key": "sections", "value": "sections"},
153
+ {"key": "section", "value": "section"},
154
+ ],
155
+ "title": "Type",
156
+ "enum": [
157
+ "Bytes",
158
+ "array",
159
+ "checkbox",
160
+ "date",
161
+ "dateTriplet",
162
+ "datetime",
163
+ "dict",
164
+ "dropzone",
165
+ "email",
166
+ "file",
167
+ "group",
168
+ "group_switch",
169
+ "group_toggle",
170
+ "info-group",
171
+ "infoscreen",
172
+ "multiselect",
173
+ "number",
174
+ "number-operations",
175
+ "number-slider",
176
+ "number_equals",
177
+ "number_initial",
178
+ "number_minus",
179
+ "number_plus",
180
+ "object",
181
+ "object_group",
182
+ "object_latest",
183
+ "password",
184
+ "phone",
185
+ "radio",
186
+ "select",
187
+ "text",
188
+ "textarea",
189
+ "time",
190
+ "toggle",
191
+ "sections",
192
+ "section",
193
+ ],
194
+ },
195
+ "name": {"type": "string", "title": "Name"},
196
+ "label": {"type": "string", "title": "Label"},
197
+ "required": {"type": "boolean", "title": "Required"},
198
+ "hideLabel": {"type": "boolean", "title": "Hide Label"},
199
+ "actions": {
200
+ "type": "array",
201
+ "items": {"type": "FrontendConfigControlAction", "title": "FrontendConfigControlAction"},
202
+ "title": "Actions",
203
+ },
204
+ "validators": {
205
+ "type": "array",
206
+ "items": {"type": "FrontendConfigValidator", "title": "FrontendConfigValidator"},
207
+ "title": "Validators",
208
+ },
209
+ "asyncValidators": {
210
+ "type": "array",
211
+ "items": {"type": "FrontendConfigAsyncValidator", "title": "FrontendConfigAsyncValidator"},
212
+ "title": "Async Validators",
213
+ },
214
+ "activators": {
215
+ "type": "array",
216
+ "items": {"type": "FrontendActivatorConfig", "title": "FrontendActivatorConfig"},
217
+ "title": "Activators",
218
+ },
219
+ "additionalText": {"type": "string", "title": "Additional Text"},
220
+ "value": {"type": "anything", "title": "Value"},
221
+ "placeholder": {"type": "string", "title": "Placeholder"},
222
+ "options": {
223
+ "type": "array",
224
+ "items": {"type": "FrontendConfigOption", "title": "FrontendConfigOption"},
225
+ "title": "Options",
226
+ },
227
+ "mask": {"type": "FrontendConfigTextMask", "title": "Mask"},
228
+ "controls": {
229
+ "type": "array",
230
+ "items": {"type": "FrontendControlConfig", "title": "FrontendControlConfig"},
231
+ "title": "Controls",
232
+ },
233
+ "showSearch": {"type": "boolean", "title": "Show Search"},
234
+ "sliderOptions": {"type": "FrontendConfigSliderOption", "title": "Slider Option"},
235
+ "customLabel": {"type": "array", "items": {"type": "string"}, "title": "Custom Label"},
236
+ "control": {"type": "FrontendControlConfig", "title": "Control"},
237
+ "entityType": {"type": "string", "title": "Entity Type"},
238
+ "condition": {"type": "Condition", "title": "Condition"},
239
+ },
240
+ "meta_class": "TypeMeta",
241
+ "custom_code": "from typing import Any\n\nfrom amsdal.contrib.frontend_configs.models.frontend_activator_config import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_async_validator import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_control_action import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_option import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_skip_none_base import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_slider_option import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_text_mask import *\nfrom amsdal.contrib.frontend_configs.models.frontend_config_validator import *\n\n\ndef model_dump(self, **kwargs: Any) -> dict[str, Any]:\n kwargs['exclude_none'] = True\n return super().model_dump(**kwargs)\n\ndef model_dump_json(self, **kwargs: Any) -> str:\n kwargs['exclude_none'] = True\n return super().model_dump_json(**kwargs)",
242
+ "storage_metadata": {"table_name": "FrontendControlConfig", "db_fields": {}, "foreign_keys": {}},
243
+ },
244
+ ),
245
+ ]
@@ -1,11 +1,10 @@
1
1
  from typing import Any
2
2
  from typing import ClassVar
3
+ from typing import Literal
3
4
  from typing import Optional
4
5
 
5
- from amsdal_models.builder.validators.options_validators import validate_options
6
6
  from amsdal_utils.models.enums import ModuleType
7
7
  from pydantic.fields import Field
8
- from pydantic.functional_validators import field_validator
9
8
 
10
9
  from amsdal.contrib.frontend_configs.models.frontend_activator_config import * # noqa: F403
11
10
  from amsdal.contrib.frontend_configs.models.frontend_config_async_validator import * # noqa: F403
@@ -16,10 +15,64 @@ from amsdal.contrib.frontend_configs.models.frontend_config_slider_option import
16
15
  from amsdal.contrib.frontend_configs.models.frontend_config_text_mask import * # noqa: F403
17
16
  from amsdal.contrib.frontend_configs.models.frontend_config_validator import * # noqa: F403
18
17
 
18
+ ConfigType = Literal[
19
+ 'Bytes',
20
+ 'array',
21
+ 'checkbox',
22
+ 'date',
23
+ 'dateTriplet',
24
+ 'datetime',
25
+ 'dict',
26
+ 'dropzone',
27
+ 'email',
28
+ 'file',
29
+ 'group',
30
+ 'group_switch',
31
+ 'group_toggle',
32
+ 'info-group',
33
+ 'infoscreen',
34
+ 'multiselect',
35
+ 'number',
36
+ 'number-operations',
37
+ 'number-slider',
38
+ 'number_equals',
39
+ 'number_initial',
40
+ 'number_minus',
41
+ 'number_plus',
42
+ 'object',
43
+ 'object_group',
44
+ 'object_latest',
45
+ 'password',
46
+ 'phone',
47
+ 'radio',
48
+ 'select',
49
+ 'text',
50
+ 'textarea',
51
+ 'time',
52
+ 'toggle',
53
+ 'sections',
54
+ 'section',
55
+ ]
56
+
57
+
58
+ class ConditionItem(FrontendConfigSkipNoneBase): # noqa: F405
59
+ path: str = Field(title='Path')
60
+ condition: str = Field(title='Condition')
61
+ value: Any = Field(default=None, title='Value')
62
+
63
+
64
+ class Condition(FrontendConfigSkipNoneBase): # noqa: F405
65
+ __module_type__: ClassVar[ModuleType] = ModuleType.CONTRIB
66
+ operation: Literal['and', 'or', 'not'] = Field(title='Operation')
67
+ conditions: list[ConditionItem] = Field(title='Conditions') # noqa: F405
68
+
69
+
70
+ Condition.model_rebuild()
71
+
19
72
 
20
73
  class FrontendControlConfig(FrontendConfigSkipNoneBase): # noqa: F405
21
74
  __module_type__: ClassVar[ModuleType] = ModuleType.CONTRIB
22
- type: str = Field(title='Type')
75
+ type: ConfigType = Field(title='Type')
23
76
  name: str = Field(title='Name')
24
77
  label: str | None = Field(None, title='Label')
25
78
  required: bool | None = Field(None, title='Required')
@@ -42,46 +95,4 @@ class FrontendControlConfig(FrontendConfigSkipNoneBase): # noqa: F405
42
95
  customLabel: list[str] | None = Field(None, title='Custom Label') # noqa: N815
43
96
  control: Optional['FrontendControlConfig'] = Field(None, title='Control')
44
97
  entityType: str | None = Field(None, title='Entity Type') # noqa: N815
45
-
46
- @field_validator('type')
47
- @classmethod
48
- def validate_value_in_options_type(cls: type, value: Any) -> Any: # type: ignore # noqa: A003
49
- return validate_options(
50
- value,
51
- options=[
52
- 'Bytes',
53
- 'array',
54
- 'checkbox',
55
- 'date',
56
- 'dateTriplet',
57
- 'datetime',
58
- 'dict',
59
- 'dropzone',
60
- 'email',
61
- 'file',
62
- 'group',
63
- 'group_switch',
64
- 'group_toggle',
65
- 'info-group',
66
- 'infoscreen',
67
- 'multiselect',
68
- 'number',
69
- 'number-operations',
70
- 'number-slider',
71
- 'number_equals',
72
- 'number_initial',
73
- 'number_minus',
74
- 'number_plus',
75
- 'object',
76
- 'object_group',
77
- 'object_latest',
78
- 'password',
79
- 'phone',
80
- 'radio',
81
- 'select',
82
- 'text',
83
- 'textarea',
84
- 'time',
85
- 'toggle',
86
- ],
87
- )
98
+ condition: Condition | None = Field(None, title='Condition') # noqa: F405
Binary file
Binary file
@@ -1,7 +1,6 @@
1
1
  import base64
2
2
  import io
3
3
  from contextlib import suppress
4
- from inspect import isawaitable
5
4
  from pathlib import Path
6
5
  from typing import IO
7
6
  from typing import Any
@@ -239,11 +238,7 @@ class File(Model):
239
238
 
240
239
  async def aread_bytes(self) -> bytes:
241
240
  async with await self.aopen() as f:
242
- data = f.read()
243
-
244
- if isawaitable(data):
245
- return await data
246
- return data
241
+ return await f.read()
247
242
 
248
243
  def set_data(self, data: bytes | str) -> None:
249
244
  if not isinstance(self.storage, DBStorage):
@@ -131,7 +131,6 @@ async def async_migrate() -> None:
131
131
  new_schema=_operation_data.new_schema.model_dump(),
132
132
  )
133
133
 
134
- _operation.forward(executor)
135
134
  forward_result = _operation.forward(executor)
136
135
 
137
136
  if iscoroutine(forward_result):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: amsdal
3
- Version: 0.5.8
3
+ Version: 0.5.10
4
4
  Summary: AMSDAL
5
5
  License: AMSDAL End User License Agreement
6
6
 
@@ -1,14 +1,9 @@
1
- amsdal-0.5.8.dist-info/RECORD,,
2
- amsdal-0.5.8.dist-info/WHEEL,sha256=EOGtw-LpzLQPCSF3QP-yT4xdfA0v97p09Et-l29cEBs,114
3
- amsdal-0.5.8.dist-info/top_level.txt,sha256=VPQLnOP3mf7q0JuQ_vPZYQyPNGKd_uc6ouz-hZRkhSk,7
4
- amsdal-0.5.8.dist-info/METADATA,sha256=84ax7aRyOkNLGcTEmx219EbhyN2t77Y-9RH1agS9B1Q,57622
5
- amsdal-0.5.8.dist-info/licenses/LICENSE.txt,sha256=hG-541PFYfNJi9WRZi_hno91UyqNg7YLK8LR3vLblZA,27355
6
1
  amsdal/manager.pyi,sha256=aRX-FO3KIozgaoJg3_pAVJjPAW9PL8hMiYvaTJ_kp5E,9466
7
2
  amsdal/__init__.pyi,sha256=4FIq7rQKQXoDNIzrDxtklKrbPcE2qqKU8W0jp8Mld6Q,741
8
3
  amsdal/__init__.py,sha256=eg_kMNcJSTvb8Q32AstCARJURBhrlIVmE12Dgq0nOUk,742
9
- amsdal/manager.cpython-311-darwin.so,sha256=dzaqJR3BIeFDv1GNaxrYuN40wcoRoRSHxTY0eeNg4pc,518288
4
+ amsdal/manager.cpython-311-darwin.so,sha256=_uktHdCtuYi-mK1RBARlWGBgLdUnE1rHeKjC4ivIPzU,518288
10
5
  amsdal/Third-Party Materials - AMSDAL Dependencies - License Notices.md,sha256=3YRsqickIvSW7EmjlC-yk5h-YW_GMzAz7wsT9ZPIiaM,74780
11
- amsdal/__about__.py,sha256=JGF3XlJObn428GEyZLeDPPWqGJueIxTc_Bg3msQ3gts,124
6
+ amsdal/__about__.py,sha256=2PfW0mPI4DYZrdult5d2mMRHPOJDirOQvIzkUq-Vwks,125
12
7
  amsdal/errors.pyi,sha256=mcuGsQMWaIUmC9GJDIkf99dQMMsCfBy6OI_UB3NSNmc,597
13
8
  amsdal/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
9
  amsdal/errors.py,sha256=pZZKIklaDkh8jdFSAfX81TbiylvbaE70nttRjTcTSBk,616
@@ -23,8 +18,8 @@ amsdal/context/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
18
  amsdal/context/manager.py,sha256=CKGY75P2y-TCnZvK5p9NJsDgHo8KXHSE0Eg5AGRjnfk,1850
24
19
  amsdal/mixins/class_versions_mixin.pyi,sha256=oSXjkTsN35d-3YgCckclhk7xRkljKHLYtN8a8gJgj2o,548
25
20
  amsdal/mixins/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
- amsdal/mixins/__init__.cpython-311-darwin.so,sha256=nRKdaCCDQ0qTAXBk_0ucH5Ave3F0xPGSxklfjwsCvS4,120656
27
- amsdal/mixins/class_versions_mixin.cpython-311-darwin.so,sha256=4xzZ0e60s6aVAEuvOZh5uZbK1fwoVSwfXXqKRPpUyR8,180576
21
+ amsdal/mixins/__init__.cpython-311-darwin.so,sha256=xAplfAwqAyTUYB3QBAJluup__JmucfdXSqEV66MV8hA,120656
22
+ amsdal/mixins/class_versions_mixin.cpython-311-darwin.so,sha256=6GJ6VRQrnexAzm8znOA-vxumbZg1oyf9sFyCoLqIkEQ,180576
28
23
  amsdal/utils/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
24
  amsdal/utils/contrib_paths.py,sha256=9BpNegbPofuvaQ4bE4E5cO4IV415ZZJkTqSLHUruJ3k,787
30
25
  amsdal/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -32,7 +27,7 @@ amsdal/utils/contrib_paths.pyi,sha256=Ngb_2wCTCPJ9NSIqKiP254Ww9xrQzAV1-AiqUkVmiu
32
27
  amsdal/utils/tests/enums.py,sha256=-zp_up9rlxAHR3znVKgWSDPmFKfxoHHOhb4ghtyltuU,302
33
28
  amsdal/utils/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
29
  amsdal/utils/tests/factories.py,sha256=SAnMjkDHg2dXgnDfxQGTvZX5MLuRmdskq7Cjbf6swVk,1926
35
- amsdal/utils/tests/migrations.py,sha256=CBT2kI2Av4b4Hrl_08-uO4ZCVghlZiaIOih8EYbdt0g,6460
30
+ amsdal/utils/tests/migrations.py,sha256=dsqHxeQU0xeO0COS9QgU0rwlMyznUxZ2EBdzcA7dsOM,6419
36
31
  amsdal/utils/tests/helpers.py,sha256=0PbdKK76lyXozLK7UbLU1-G6yo5Bd-CLY1aXzfT25XI,12597
37
32
  amsdal/utils/rollback/__init__.pyi,sha256=oA1_VJjK3k13nUp8H1wXjJs6LrlqEtAethPRQ7P8mLc,1106
38
33
  amsdal/utils/rollback/__init__.py,sha256=NBIvidqj0nKRa30mWon5onpHBPQidb0DFJGcZbkKrY8,16832
@@ -45,12 +40,12 @@ amsdal/models/core/fixture.py,sha256=V4SS1rAYD6mtRjwZ5tEaGgZL3fgRuP2KJ4x7R3AkBWo
45
40
  amsdal/models/core/option.py,sha256=W2w9tmNrdmOF6x5QohJghRrnUY-RFCQ0YFULhVGdDzw,326
46
41
  amsdal/models/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
47
42
  amsdal/models/core/storage_metadata.py,sha256=q-IOcsIpZHf_bt7v2NTtXAfV2i8fip3F_wtes16WY78,716
48
- amsdal/models/core/file.py,sha256=jX9oPJd5Ht7PsSKsixk8YVI6VGU0HQRV7PQeX0IFP8c,8040
43
+ amsdal/models/core/file.py,sha256=j-i70o8NeOIlw35xysuFsuIkehf2Q67lOiO4SJN5MTc,7921
49
44
  amsdal/models/core/class_property.py,sha256=HFIMb0DE8bhmRf_l45VeJJD_tE85eUZ---IPSBdld7I,1098
50
45
  amsdal/models/core/class_object.py,sha256=Y5sdatrNZK1jkMImyeRFTxeUonuzJaDCKZzULZvJIHw,1487
51
46
  amsdal/contrib/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
52
47
  amsdal/contrib/app_config.pyi,sha256=j3MYfBcn9MzhTagEczGWfVH9N5jrfiKmUhxZMoakojw,149
53
- amsdal/contrib/__init__.cpython-311-darwin.so,sha256=8NQOYfZVxhKe5FJZe11sUMoAP2q-d9jpTjYEegUMBPM,120656
48
+ amsdal/contrib/__init__.cpython-311-darwin.so,sha256=hsnr5AKCEnkk9kHgbGYatqmZGT7uL5BdGXVwDtLwpA8,120656
54
49
  amsdal/contrib/app_config.py,sha256=RT3RAEE49XtzuFTXYNVuaqU9V4YIl0ZWZijtXgV-SC4,131
55
50
  amsdal/contrib/auth/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
56
51
  amsdal/contrib/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -81,6 +76,7 @@ amsdal/contrib/frontend_configs/app.pyi,sha256=Bxdz0kmOF-Poaf2wmoJdgWYmHaStFyOFY
81
76
  amsdal/contrib/frontend_configs/utils.py,sha256=IruaUNl4xkOr2IIFzlvrmi06vEu3CWx49GzLBsrCFU0,1103
82
77
  amsdal/contrib/frontend_configs/app.py,sha256=fY4GukBM6GKSZExT0EgddTamLfUJHwQZS8tOwVQyeSY,836
83
78
  amsdal/contrib/frontend_configs/migrations/0000_initial.py,sha256=-Vg5u__gvbOaz3tMOVVj_V086nb_D6IoC1Ji6ClkUoE,18952
79
+ amsdal/contrib/frontend_configs/migrations/0001_update_frontend_control_config.py,sha256=4mvgb2IyOWfi3cT4tnrM8lFVmoT3qR064anHpcUz028,17229
84
80
  amsdal/contrib/frontend_configs/lifecycle/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
85
81
  amsdal/contrib/frontend_configs/lifecycle/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
86
82
  amsdal/contrib/frontend_configs/lifecycle/consumer.pyi,sha256=kRNenTrKfswS8Y3UY6XYQ03WlCuo9LFk8WIJxm--cAk,4168
@@ -89,7 +85,7 @@ amsdal/contrib/frontend_configs/models/frontend_config_control_action.py,sha256=
89
85
  amsdal/contrib/frontend_configs/models/frontend_config_option.py,sha256=n4ZcI7RDwNCpeT5gGLuNJeHzJlhqyf7U5BD4V4wbUv4,448
90
86
  amsdal/contrib/frontend_configs/models/frontend_model_config.py,sha256=UTvp-RvPnci4F7RdRj60hZXgEjSqvNhkfwdbw7ju_sU,517
91
87
  amsdal/contrib/frontend_configs/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
92
- amsdal/contrib/frontend_configs/models/frontend_control_config.py,sha256=ePkGaRMssOqO5NjWs2xA1ZK95hl40WAKg7Fp2QZMda4,4014
88
+ amsdal/contrib/frontend_configs/models/frontend_control_config.py,sha256=2gKp5C2CnK13PMhy0-7F_6ZneYdvgm4NxV1f9ZCHDwI,3889
93
89
  amsdal/contrib/frontend_configs/models/frontend_config_group_validator.py,sha256=vJ36_Xmweygi5UXAL6wOXLi6sGe2rkUcsmT7WzgXuAU,974
94
90
  amsdal/contrib/frontend_configs/models/frontend_config_slider_option.py,sha256=bixZRd4x4zcxykMXC3obYDp8DHORRR3BEBcqaZGcHHo,510
95
91
  amsdal/contrib/frontend_configs/models/frontend_config_text_mask.py,sha256=EEonXV4HyxiVq4AkvIxKtzXhiDYeplexMWzNSQeYpoc,583
@@ -107,7 +103,7 @@ amsdal/schemas/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
103
  amsdal/schemas/repository.pyi,sha256=e6YUXO248WmhWkkXWt828JrFzIJ9alTPqjXqbktjeWw,1443
108
104
  amsdal/schemas/interfaces.pyi,sha256=jUXLEKIa_af9Qrv9a4UvfRmsUV78N921i4dDXKHPaQk,725
109
105
  amsdal/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
110
- amsdal/schemas/manager.cpython-311-darwin.so,sha256=DPRu9IKeJNA3MMJdUvqugfTkSj_srTKWLJNG2Zurq-w,120656
106
+ amsdal/schemas/manager.cpython-311-darwin.so,sha256=9xIzCjsV67muT7_OKnQUhs8uidSNaBTWVoYFn38OWzM,120656
111
107
  amsdal/schemas/utils.pyi,sha256=UbeISOxetojP6HlzhiJWeaAVyYZUrnGAS5niTQ0m6n0,437
112
108
  amsdal/schemas/utils.py,sha256=t8k7QYYR6SsCPpBhp7s585eSYKVIF895EKRMK1w1y1Q,492
113
109
  amsdal/schemas/repository.py,sha256=PbskgDr8JMabQm2uf8Kfj5bBSPlPkx4cDGXn-jfIsPM,3249
@@ -148,7 +144,7 @@ amsdal/queryset/__init__.py,sha256=CzNaFx6yHvePtd3JY1ZGF3QLfE-e_ll5iSnaCVWdKHI,6
148
144
  amsdal/__migrations__/0002_create_class_file.py,sha256=Aq72H968urji4D5aEMCsEol6gaXp1SGylmhua-hxBec,9360
149
145
  amsdal/__migrations__/0000_initial.py,sha256=USn8u2uhHy9yFtONsTec-LMdCl3f7GQ_AgSL-yQZmO4,1874
150
146
  amsdal/__migrations__/0001_create_class_file.py,sha256=ujBYnCvk-UhswWlSIsiQqMbgSrXBsdWDFNaFLlc0Trc,3762
151
- amsdal/__migrations__/0003_update_class_file.py,sha256=TwlcPO072Vt3XVpmo2iu2XIYtxEbcLUOnVD_n0_Owy8,16228
147
+ amsdal/__migrations__/0003_update_class_file.py,sha256=sKzNB9Lc5w6mGIYfyN0jI7wLgkHQVVybdCkJIqw0UYk,16118
152
148
  amsdal/transactions/__init__.pyi,sha256=tK1CNKSx7gEFephi0mw04j-xxl1Z2af3iFbykFqov6I,340
153
149
  amsdal/transactions/__init__.py,sha256=XQF1Ipr2Ao0TDhyNlZPAF8TNkpl75PalOZrzRVzQn1g,429
154
150
  amsdal/configs/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -157,89 +153,94 @@ amsdal/configs/constants.py,sha256=faghdS6r3on1WKrp782WmgONd1fMf4X73LJzAwMO1po,9
157
153
  amsdal/configs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
158
154
  amsdal/configs/main.pyi,sha256=2pCKNMnSdnggHNGj37VSDhAxegrzXqVerz0HLtx7Ni4,6937
159
155
  amsdal/configs/main.py,sha256=9iwtIPIy3Dbpenkhq2rSl2ar1nuJjGv4PRQeEv4z71A,9756
160
- amsdal/cloud/client.cpython-311-darwin.so,sha256=sKd5q6U_UsiJeuY_vavMVuYuICqNnTWLLa_xDgDA0Lk,216208
156
+ amsdal/cloud/client.cpython-311-darwin.so,sha256=HZOqGPlAhL_eAhJV4Tj_jsqlONEmSwc3qGeAHKRtoo4,216208
161
157
  amsdal/cloud/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
162
158
  amsdal/cloud/constants.pyi,sha256=0qWxDqjQkETwUtgco5kV83fPHhQ4jRdJe_YPPNTnSIY,327
163
159
  amsdal/cloud/client.pyi,sha256=3VjPRtJrbUU29u_wswETrMorN0iUb4GFAXmMc73bUf4,2247
164
- amsdal/cloud/enums.cpython-311-darwin.so,sha256=O34gX8e5K0TXG3UXV1W_9ZvNmkolozmQzD6L1DwdMzM,158064
165
- amsdal/cloud/constants.cpython-311-darwin.so,sha256=jPaMAc4NPG6JONg5A3xp9Zrsq5XqxGe1chS5-sOXmak,158688
166
- amsdal/cloud/__init__.cpython-311-darwin.so,sha256=MsVXGFE7kwv98_j1rO7qSN6lFO701ImTN0fc5Hrgv5s,120656
160
+ amsdal/cloud/enums.cpython-311-darwin.so,sha256=y7mx0pgTCb4EfzEAom3w6A8DHV66hAd9wWAVFXQrvG0,158064
161
+ amsdal/cloud/constants.cpython-311-darwin.so,sha256=WZDxt4ZfO6mYnWo6ddB3oXoj8zpljcaDdLyrU-pbtU8,158688
162
+ amsdal/cloud/__init__.cpython-311-darwin.so,sha256=LBDQdG-D5qfIigVJTu_VZUh_q-I3oPUhjf7xmkirtRo,120656
167
163
  amsdal/cloud/enums.pyi,sha256=mX5O1FPc3aNnN108aOJT66Nn9KlcyrRTj9B23sFdDfw,1757
168
- amsdal/cloud/models/base.cpython-311-darwin.so,sha256=oUN1Eg2JdZX2yogfd5JUjRtGq5yNKOw-W49cZoukaLk,211632
164
+ amsdal/cloud/models/base.cpython-311-darwin.so,sha256=IhS46mcusxPlcqKa6lO2FWs08LqnZwgmqGXezNOSe-A,211632
169
165
  amsdal/cloud/models/base.pyi,sha256=avwAj4uS4NHrXvmSKBxokFKFWSaBPXtJPl1Ig1CD6sg,7727
170
166
  amsdal/cloud/models/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
171
- amsdal/cloud/models/__init__.cpython-311-darwin.so,sha256=lSjkPtLD0rGvvV2mks9aCSEdM8NjH49W21ENncg-ObM,120688
167
+ amsdal/cloud/models/__init__.cpython-311-darwin.so,sha256=0AA4TKCVhZyyF77Erz25xJHNgUJKJjyp5ULR4gtcPDc,120688
172
168
  amsdal/cloud/services/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
173
- amsdal/cloud/services/__init__.cpython-311-darwin.so,sha256=-VTGq81HhOnUvAm-EUbxSpNL4KkSoVhmweLyrdOwmJA,120688
174
- amsdal/cloud/services/auth/base.cpython-311-darwin.so,sha256=ebMYGVvedxEHEoKMt1Mg3gxgLiz7_7Os2a0NY719zN0,163104
169
+ amsdal/cloud/services/__init__.cpython-311-darwin.so,sha256=PueO2NWOhEAWg27RWetdHbpNSHTVYqB4f7sLb-YTC3U,120688
170
+ amsdal/cloud/services/auth/base.cpython-311-darwin.so,sha256=86fyxngq8D5jEoazvm14wa8BurPKOw4dnIOq4yNSBXk,163104
175
171
  amsdal/cloud/services/auth/base.pyi,sha256=oj_tgwWhf02g-FzCLcNOEZjYDxfcrrDssING4jsUMb8,167
176
172
  amsdal/cloud/services/auth/manager.pyi,sha256=AhKllHgraztP3JSKta9MmQjTNRAbQbwqZg2EpQZSwhI,1243
177
173
  amsdal/cloud/services/auth/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
178
174
  amsdal/cloud/services/auth/signup_service.pyi,sha256=SfSN1tLIwrzGi9JbMgoLuKKH1u5uoh_MOFJ4n_NHcBY,1145
179
- amsdal/cloud/services/auth/token.cpython-311-darwin.so,sha256=Joq43N8vzzRXI8iNlpR01edL9hRohMzfG6zoeCpaMuQ,251536
180
- amsdal/cloud/services/auth/manager.cpython-311-darwin.so,sha256=67ucYFYa0R3foYOQUa5mVpYuLqiMAXiNrZzkU_V-oGA,214128
175
+ amsdal/cloud/services/auth/token.cpython-311-darwin.so,sha256=_kKVsk_XLDUzLAPRiu_uKHEJN5uD9IQmcWCG7BkQAJk,251536
176
+ amsdal/cloud/services/auth/manager.cpython-311-darwin.so,sha256=vzo15toyAuagjt9c_9Hv8mFZEqQ_qP--HIaBNKfK_6w,214128
181
177
  amsdal/cloud/services/auth/token.pyi,sha256=v9QDleIytAZGlYHHaO-W1fTr5d2OLGWsh5g6HDeuk90,1042
182
- amsdal/cloud/services/auth/signup_service.cpython-311-darwin.so,sha256=xeQ19QVmRWR54y7UYrsBsWx5aG5yAJ_bNvxwqK1p_Ys,216216
183
- amsdal/cloud/services/auth/__init__.cpython-311-darwin.so,sha256=X9FxWyYV88LXnIN4hAZc8d-hw0-iQ2JCUOBduf505FA,120704
184
- amsdal/cloud/services/auth/credentials.cpython-311-darwin.so,sha256=td0rQvCg3x6Q219nrvx4AFn7u9-uVx8-PcV-3dleCsI,304408
178
+ amsdal/cloud/services/auth/signup_service.cpython-311-darwin.so,sha256=iEaNwIoWU4i6R0gX46J9ueg6ACylX5jgwTmFmKrZ2OI,216216
179
+ amsdal/cloud/services/auth/__init__.cpython-311-darwin.so,sha256=e_-dqewk40NCF7dtk4t5xs5puX-DaNdYg67peCqg6vs,120704
180
+ amsdal/cloud/services/auth/credentials.cpython-311-darwin.so,sha256=qYvh5WzkeBANP6LM7QFFGlAGFRXG99RHgdU-L2MoVv4,304408
185
181
  amsdal/cloud/services/auth/credentials.pyi,sha256=ghp3r8rDq5l5xxx7UKFkCASyQJbWChkF2PQDJrQmeW4,1417
186
- amsdal/cloud/services/actions/get_basic_auth_credentials.cpython-311-darwin.so,sha256=V3TaUvnvMaYg9szQqAKk2MZ8LXBNbsfuop3QCdxKGwE,181112
187
- amsdal/cloud/services/actions/base.cpython-311-darwin.so,sha256=DUCvFasduFoyNEJlfVZIB0K5XkPA5CaxijKNMxfQYfQ,323552
182
+ amsdal/cloud/services/actions/get_basic_auth_credentials.cpython-311-darwin.so,sha256=1aWl4GtVYos61sB5WUk3rNly4u8oP2LVcKWzZfghWWE,181112
183
+ amsdal/cloud/services/actions/base.cpython-311-darwin.so,sha256=dsfPgImaj9EImxGOi5ZAOwqL8PrmUWb0QfS1JaYcVcE,323552
188
184
  amsdal/cloud/services/actions/list_envs.pyi,sha256=7PylFRd1Jb6nkTt8q8iy27rLj-Q5qcwfqW02_OlfDZs,878
189
- amsdal/cloud/services/actions/delete_basic_auth.cpython-311-darwin.so,sha256=rHOmeuuiTKbckkorou-Qv2kmEDV5-V704hW6tgce_pc,180744
185
+ amsdal/cloud/services/actions/delete_basic_auth.cpython-311-darwin.so,sha256=4EAn14trQ55lf5w9XI4LW0XIRKW_xMjWRNQbr_d2CFg,180744
190
186
  amsdal/cloud/services/actions/base.pyi,sha256=J98igdu3E9-mled_kbxerja4DTLM0OAW8cHtsVOQ_fc,5880
191
- amsdal/cloud/services/actions/add_allowlist_ip.cpython-311-darwin.so,sha256=8rr4tNX-moCCafzpEMBIXJKwMCGrsCBQp0aa8G_2kSA,180776
192
- amsdal/cloud/services/actions/signup_action.cpython-311-darwin.so,sha256=oJCWHK_5KcJEs0rexTmIgJJ5aQ78OuGpQCt9in-ageQ,180584
187
+ amsdal/cloud/services/actions/add_allowlist_ip.cpython-311-darwin.so,sha256=DNrhKxu2jUKFRfiL7UjFyBJgcjTUmA8XjHMiwSdcHLQ,180776
188
+ amsdal/cloud/services/actions/signup_action.cpython-311-darwin.so,sha256=lCGrKENmLjHjYVOdg-OhLpyA-hfJm6B_CfagdfDjKFI,180584
193
189
  amsdal/cloud/services/actions/manager.pyi,sha256=Tal5u1nMhi7MeuJ9lBIPYPLgKoIB6DUXPU2AokrusHI,15441
194
- amsdal/cloud/services/actions/delete_dependency.cpython-311-darwin.so,sha256=zQL66bosrfPg33venilm8kbHBugrQyRn5Ved2_Umrhc,180760
195
- amsdal/cloud/services/actions/expose_db.cpython-311-darwin.so,sha256=ZK2F9wOf7Se4iAmJOyrwKEmR-NnizbxDAyhVVHdj4Zs,181184
190
+ amsdal/cloud/services/actions/delete_dependency.cpython-311-darwin.so,sha256=9d9Wdi5x0Dg0x7S65xD7g8mRPjkHYInnpv8Pu_aIRnI,180760
191
+ amsdal/cloud/services/actions/expose_db.cpython-311-darwin.so,sha256=nYAIaB1orF4nQ4GnKvdejEIZ8eepsK7mAsoFVtwlldY,181184
196
192
  amsdal/cloud/services/actions/delete_allowlist_ip.pyi,sha256=W5zVq7YKL_OVigZl58bqau3rvAzsLdItAZaqDO1HGJw,933
197
- amsdal/cloud/services/actions/add_secret.cpython-311-darwin.so,sha256=_dfsN_eMl-9_Blc7BUuvAIhS12faCyOSlmYA6e4oHC8,180632
193
+ amsdal/cloud/services/actions/add_secret.cpython-311-darwin.so,sha256=E-k5bvGZHwq5btEoZIWQiv7zI4_Rzt53hqkCR0zlZtI,180632
198
194
  amsdal/cloud/services/actions/add_basic_auth.pyi,sha256=4tyTci_k_xlJrkBd71sY0ivRr8alo3Bq0KCkjIfacu4,1106
199
195
  amsdal/cloud/services/actions/list_secrets.pyi,sha256=vF-EikAy7WHdkvkGikD_oDFDIgE1GEr8nxAQKYAs9rY,1079
200
- amsdal/cloud/services/actions/list_secrets.cpython-311-darwin.so,sha256=6I-uizN6cWexTgT3RjtcqghGHtfg_Cy3l7J-hN2UMRA,181304
196
+ amsdal/cloud/services/actions/list_secrets.cpython-311-darwin.so,sha256=XV0VOPNiuFKk0RZ72M5Nt1YliseA-fDo3a9Ax1Fds7Q,181304
201
197
  amsdal/cloud/services/actions/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
202
198
  amsdal/cloud/services/actions/get_basic_auth_credentials.pyi,sha256=1FU8BtDRaGTx8fSqdhmotQK-rR7gKr4Qav_E-T_23rc,1071
203
- amsdal/cloud/services/actions/list_deploys.cpython-311-darwin.so,sha256=NdxqKgOCO_rDcXYzFL31EeVrQW14bv_4yQwIE-PGUt0,181080
204
- amsdal/cloud/services/actions/list_envs.cpython-311-darwin.so,sha256=4efvU815cXnij50d2E2YcCZ5rlAkbPiQJ1LirGWw7Co,180752
205
- amsdal/cloud/services/actions/list_dependencies.cpython-311-darwin.so,sha256=4piUO6vNOB--DJJCSTnawAuA1DO-t3Lkrbq9Hl6cwBI,181304
206
- amsdal/cloud/services/actions/destroy_deploy.cpython-311-darwin.so,sha256=07YX6TjEPR_eCuy0kdQV2NloFryoKxTNFqcSftgB92o,180536
207
- amsdal/cloud/services/actions/create_session.cpython-311-darwin.so,sha256=C6l-yl7hQ51KXLd5mY2ICRvH9s8kBRcCRW9AWNs4sGc,180984
208
- amsdal/cloud/services/actions/create_deploy.cpython-311-darwin.so,sha256=EmS3bMWrgzhdjhw0fTTinMSCLGuykP7cmxBPEK9XWX0,269240
199
+ amsdal/cloud/services/actions/list_deploys.cpython-311-darwin.so,sha256=pZuPxGJQzQk2zyknX9daXhS_yJe-ZmMDXgSqu4u1eVQ,181080
200
+ amsdal/cloud/services/actions/list_envs.cpython-311-darwin.so,sha256=GU5pRlvijL5WXaiVbPNxYbV130ay7BNZ-bPwpDY1QyU,180752
201
+ amsdal/cloud/services/actions/list_dependencies.cpython-311-darwin.so,sha256=0Y3YvbNyPAwYeH08sRHnbue-NTQa3sNtjoP8QL8PE14,181304
202
+ amsdal/cloud/services/actions/destroy_deploy.cpython-311-darwin.so,sha256=eTyrkrMM2Sblebc-0I-qD8gVTcaJYt_oTtgRuKBxcQg,180536
203
+ amsdal/cloud/services/actions/create_session.cpython-311-darwin.so,sha256=VQU1NTXS1QFT0OgDz3RbdBcHh1XOMVn7Zp8wkALUvQk,180984
204
+ amsdal/cloud/services/actions/create_deploy.cpython-311-darwin.so,sha256=Ptgi8hWv2NiuaZsDg9JPuo2UpfHKIWv7wncZh4NKz0o,269240
209
205
  amsdal/cloud/services/actions/delete_secret.pyi,sha256=gZi17MivNYBIfdPU2GjoJ2I2lWiefdvLuXTcxDss1P4,953
210
206
  amsdal/cloud/services/actions/delete_env.pyi,sha256=uyBHMOp_AprbpSfv6y6QfYW5FvK1-8jb2NxK_FmuPHE,969
211
- amsdal/cloud/services/actions/manager.cpython-311-darwin.so,sha256=a7oXFJNFWKHULaKhikvA4klUNbShPtaDqIlRy9aQzqU,371312
207
+ amsdal/cloud/services/actions/manager.cpython-311-darwin.so,sha256=P2X_Sw2JiB6lF4mPZg7HoNv9v_QwoUApDIEQLtwKnzg,371312
212
208
  amsdal/cloud/services/actions/delete_dependency.pyi,sha256=VuT1w2qOpjR7I9mBi9tPXMXDPEeU8tG0vi9TXV82Frg,1021
213
- amsdal/cloud/services/actions/add_dependency.cpython-311-darwin.so,sha256=wY1RExSaL9cd9msPWU43pV56fuRNB-iheC_kp32A1UA,180712
209
+ amsdal/cloud/services/actions/add_dependency.cpython-311-darwin.so,sha256=xVcEAH3pH557M_o11TwCkiqqpIHdOuVkkb_touGn_Eo,180712
214
210
  amsdal/cloud/services/actions/create_session.pyi,sha256=KUvx_vkhLQfGp_DM1ZvgszyT_G8LB28KoI1XpjNR7YY,674
215
- amsdal/cloud/services/actions/delete_allowlist_ip.cpython-311-darwin.so,sha256=Ep_ErgLCDm4aiT4J5ytEdR_LWUZmY1w5kdCeMQsXBcM,180832
211
+ amsdal/cloud/services/actions/delete_allowlist_ip.cpython-311-darwin.so,sha256=zdPn-oZ868ImpQ6_rj-SKiqraUvsZdGW7amVS9L-7fM,180832
216
212
  amsdal/cloud/services/actions/list_deploys.pyi,sha256=Q8da3PDPxICLP2V7L-A7p-9_a3qNKrARqgHhu0CA0nA,724
217
- amsdal/cloud/services/actions/add_basic_auth.cpython-311-darwin.so,sha256=F4VpLXE4KYyTeubgnFrtK9tbgSrSmtNrRf4O2hKwmLs,181112
213
+ amsdal/cloud/services/actions/add_basic_auth.cpython-311-darwin.so,sha256=kKz9EFdKKOyvG4kaX4aNS2a_HomSo92l8XSqHYKdNlU,181112
218
214
  amsdal/cloud/services/actions/add_allowlist_ip.pyi,sha256=gB2NQVz8NcSsgXYiym2Suh1RPI8eHKIAFE13RmeTHkA,883
219
215
  amsdal/cloud/services/actions/get_monitoring_info.pyi,sha256=uvtBgWvtWf-Mq4vZq_q-q8Z8hJh5voAY61KRJQPGWFk,1045
220
216
  amsdal/cloud/services/actions/add_dependency.pyi,sha256=uVEIhvDa4GRS0Lg6TkcYdOwezKcxrzL7A_Lh8BxcAeU,837
221
- amsdal/cloud/services/actions/get_monitoring_info.cpython-311-darwin.so,sha256=2nGCfyQpqiYjAFGSwggjYz4LzLWH6armLDo2J3afZWI,180976
222
- amsdal/cloud/services/actions/update_deploy.cpython-311-darwin.so,sha256=ARpuhXD8tuuy9-Fe-fGSCkK9mAOlIDCdDnkRtXFCTCs,181064
217
+ amsdal/cloud/services/actions/get_monitoring_info.cpython-311-darwin.so,sha256=SuJkOlooqHdFlxBLTgBl-tuGmBzjtkILP5-tdr4X75A,180976
218
+ amsdal/cloud/services/actions/update_deploy.cpython-311-darwin.so,sha256=t8bb1Yh3oAbccRjUrOJfmO3b5KUeAmt943qkaplc3Ec,181064
223
219
  amsdal/cloud/services/actions/signup_action.pyi,sha256=VswHjhxw2eHYqXwc---F2LpwlD7GlIuL_Ev2DmA96_4,808
224
- amsdal/cloud/services/actions/create_env.cpython-311-darwin.so,sha256=ouyVsLMxHodwiuMBxjv2EjpibgCb_RuOQNvtja2M800,180824
220
+ amsdal/cloud/services/actions/create_env.cpython-311-darwin.so,sha256=bvpwUUzGlckUs_jbf0Ll7RnFcpepxHja5FBG8VtyKvo,180824
225
221
  amsdal/cloud/services/actions/add_secret.pyi,sha256=H6rS3PRwiktMfnoY8qwtmTplN9gG2yZgQKKCX8S8Q6c,890
226
- amsdal/cloud/services/actions/delete_env.cpython-311-darwin.so,sha256=jGzTbk650T2OPi-Kv_jteF9icPWm7gt4QSo98AMrq-Q,180824
227
- amsdal/cloud/services/actions/__init__.cpython-311-darwin.so,sha256=5OVUeGGdlzFBz0f3bwyfPXHsEjinH2yvu4UIWX14CwI,120720
222
+ amsdal/cloud/services/actions/delete_env.cpython-311-darwin.so,sha256=mpxDnijRbHZLh9kyqhFXpSWkjSPkHxJOmbjD5EEMhqo,180824
223
+ amsdal/cloud/services/actions/__init__.cpython-311-darwin.so,sha256=tCpnWH7ERzTMku6Pq7CzS34CASXhhRjqMLEoxx2FoZ8,120720
228
224
  amsdal/cloud/services/actions/destroy_deploy.pyi,sha256=VNb0J71B3gk4SVJwxlB9XTj4vCG-37ucojcGzsvKwe8,609
229
225
  amsdal/cloud/services/actions/update_deploy.pyi,sha256=alM1nquQZ5O8PYlDIqDdSuiyuc_aj9fkd01bL9KANEI,766
230
226
  amsdal/cloud/services/actions/create_deploy.pyi,sha256=VmVMYJQmjPZce6Cm8sMQ27HomhfdzZc_0X57ZWZmCt0,1988
231
227
  amsdal/cloud/services/actions/delete_basic_auth.pyi,sha256=-I1YoOMFi0LaRsZL2JBGH_sg18PZoUL1PP9YetboDJA,915
232
228
  amsdal/cloud/services/actions/list_dependencies.pyi,sha256=C37VamSyRT-uNLuwQJ0OrHKavs8Jt0bfPbAsE5BQEvE,1035
233
229
  amsdal/cloud/services/actions/create_env.pyi,sha256=ITvyLrvwt6H36JNYURHZ_PbmGZquc5Fm07dVo7H6ll0,910
234
- amsdal/cloud/services/actions/delete_secret.cpython-311-darwin.so,sha256=U6U9AuksMvWKXNzTKDxjQRHEXGncrXB2OnYMcKyGSAc,180680
230
+ amsdal/cloud/services/actions/delete_secret.cpython-311-darwin.so,sha256=D5IJu_JpoFOO6f6ASumxDSom2HvbbLclnEUY6I-VGK0,180680
235
231
  amsdal/cloud/services/actions/expose_db.pyi,sha256=uk2zuz1SiXwjDFxtKF-yyWGNEONOgfm7EcrEyVT0cMM,1049
236
232
  amsdal/fixtures/manager.pyi,sha256=fMl3nNa2A9jiZanZ_7tnUGaPigk_03KMmdcUGPoX9kI,7077
237
233
  amsdal/fixtures/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
238
- amsdal/fixtures/manager.cpython-311-darwin.so,sha256=-AWVBXmjzaBgVy-biMZdp70sS7w0hd07OU06YpcsoU8,622896
234
+ amsdal/fixtures/manager.cpython-311-darwin.so,sha256=ZaHUTm1DDMdELyvMPlmaLzsX_4TvoWYrNAUwrjP601M,622896
239
235
  amsdal/fixtures/utils.pyi,sha256=OnFn7opJscOydj-rlcXQIdDodlIKGCt79TRy5zAUkqg,457
240
- amsdal/fixtures/utils.cpython-311-darwin.so,sha256=Hi4bdPqRrUgvH9GbHCw8fzEbT6bQV9vscpqLiFwlIy0,306720
241
- amsdal/fixtures/__init__.cpython-311-darwin.so,sha256=Wv1yTq5wwCMVQ0_k18RFT9zouIl7MqN87KPiXfo3H0U,120672
236
+ amsdal/fixtures/utils.cpython-311-darwin.so,sha256=bOThqZDvTY5RQzuT0RWC2383n2Tg3Ejo-yA8n39b9tg,306720
237
+ amsdal/fixtures/__init__.cpython-311-darwin.so,sha256=WHw9tePz9wBSsp4K1BfibAEOB2LQK7broqUXzSPsDAI,120672
242
238
  amsdal/services/transaction_execution.pyi,sha256=TwCuurOoqSHgNu9GCYYZPSpGjxXssF2eNygQ5KVwAZM,4374
243
239
  amsdal/services/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
244
- amsdal/services/__init__.cpython-311-darwin.so,sha256=jgXmmgm6YtNLnPi_mAUouniEl-NRzPMB8wL0nXTYVl8,120672
245
- amsdal/services/transaction_execution.cpython-311-darwin.so,sha256=JmXupzkpGyklpsjfYWWgSq9Rysh9XTM7h4GyegcyWsE,452176
240
+ amsdal/services/__init__.cpython-311-darwin.so,sha256=iMIYkauqmiMPCf2f9_F4xF0PLz-kqBJRO3kpVE_qnRg,120672
241
+ amsdal/services/transaction_execution.cpython-311-darwin.so,sha256=LDY3cFFUU_EdH-q9m_YrYEkKXWsbQcoWatPPH7FUC5U,452176
242
+ amsdal-0.5.10.dist-info/RECORD,,
243
+ amsdal-0.5.10.dist-info/WHEEL,sha256=EOGtw-LpzLQPCSF3QP-yT4xdfA0v97p09Et-l29cEBs,114
244
+ amsdal-0.5.10.dist-info/top_level.txt,sha256=VPQLnOP3mf7q0JuQ_vPZYQyPNGKd_uc6ouz-hZRkhSk,7
245
+ amsdal-0.5.10.dist-info/METADATA,sha256=2qVGOuK1pl-eI4395qlCIpuVDfRYGjWRTg0JITg-7L4,57623
246
+ amsdal-0.5.10.dist-info/licenses/LICENSE.txt,sha256=hG-541PFYfNJi9WRZi_hno91UyqNg7YLK8LR3vLblZA,27355