amsdal 0.5.8__cp312-cp312-macosx_10_13_universal2.whl → 0.5.10__cp312-cp312-macosx_10_13_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.

Potentially problematic release.


This version of amsdal might be problematic. Click here for more details.

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-312-darwin.so +0 -0
  4. amsdal/cloud/client.cpython-312-darwin.so +0 -0
  5. amsdal/cloud/constants.cpython-312-darwin.so +0 -0
  6. amsdal/cloud/enums.cpython-312-darwin.so +0 -0
  7. amsdal/cloud/models/__init__.cpython-312-darwin.so +0 -0
  8. amsdal/cloud/models/base.cpython-312-darwin.so +0 -0
  9. amsdal/cloud/services/__init__.cpython-312-darwin.so +0 -0
  10. amsdal/cloud/services/actions/__init__.cpython-312-darwin.so +0 -0
  11. amsdal/cloud/services/actions/add_allowlist_ip.cpython-312-darwin.so +0 -0
  12. amsdal/cloud/services/actions/add_basic_auth.cpython-312-darwin.so +0 -0
  13. amsdal/cloud/services/actions/add_dependency.cpython-312-darwin.so +0 -0
  14. amsdal/cloud/services/actions/add_secret.cpython-312-darwin.so +0 -0
  15. amsdal/cloud/services/actions/base.cpython-312-darwin.so +0 -0
  16. amsdal/cloud/services/actions/create_deploy.cpython-312-darwin.so +0 -0
  17. amsdal/cloud/services/actions/create_env.cpython-312-darwin.so +0 -0
  18. amsdal/cloud/services/actions/create_session.cpython-312-darwin.so +0 -0
  19. amsdal/cloud/services/actions/delete_allowlist_ip.cpython-312-darwin.so +0 -0
  20. amsdal/cloud/services/actions/delete_basic_auth.cpython-312-darwin.so +0 -0
  21. amsdal/cloud/services/actions/delete_dependency.cpython-312-darwin.so +0 -0
  22. amsdal/cloud/services/actions/delete_env.cpython-312-darwin.so +0 -0
  23. amsdal/cloud/services/actions/delete_secret.cpython-312-darwin.so +0 -0
  24. amsdal/cloud/services/actions/destroy_deploy.cpython-312-darwin.so +0 -0
  25. amsdal/cloud/services/actions/expose_db.cpython-312-darwin.so +0 -0
  26. amsdal/cloud/services/actions/get_basic_auth_credentials.cpython-312-darwin.so +0 -0
  27. amsdal/cloud/services/actions/get_monitoring_info.cpython-312-darwin.so +0 -0
  28. amsdal/cloud/services/actions/list_dependencies.cpython-312-darwin.so +0 -0
  29. amsdal/cloud/services/actions/list_deploys.cpython-312-darwin.so +0 -0
  30. amsdal/cloud/services/actions/list_envs.cpython-312-darwin.so +0 -0
  31. amsdal/cloud/services/actions/list_secrets.cpython-312-darwin.so +0 -0
  32. amsdal/cloud/services/actions/manager.cpython-312-darwin.so +0 -0
  33. amsdal/cloud/services/actions/signup_action.cpython-312-darwin.so +0 -0
  34. amsdal/cloud/services/actions/update_deploy.cpython-312-darwin.so +0 -0
  35. amsdal/cloud/services/auth/__init__.cpython-312-darwin.so +0 -0
  36. amsdal/cloud/services/auth/base.cpython-312-darwin.so +0 -0
  37. amsdal/cloud/services/auth/credentials.cpython-312-darwin.so +0 -0
  38. amsdal/cloud/services/auth/manager.cpython-312-darwin.so +0 -0
  39. amsdal/cloud/services/auth/signup_service.cpython-312-darwin.so +0 -0
  40. amsdal/cloud/services/auth/token.cpython-312-darwin.so +0 -0
  41. amsdal/contrib/__init__.cpython-312-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-312-darwin.so +0 -0
  45. amsdal/fixtures/manager.cpython-312-darwin.so +0 -0
  46. amsdal/fixtures/utils.cpython-312-darwin.so +0 -0
  47. amsdal/manager.cpython-312-darwin.so +0 -0
  48. amsdal/mixins/__init__.cpython-312-darwin.so +0 -0
  49. amsdal/mixins/class_versions_mixin.cpython-312-darwin.so +0 -0
  50. amsdal/models/core/file.py +1 -6
  51. amsdal/schemas/manager.cpython-312-darwin.so +0 -0
  52. amsdal/services/__init__.cpython-312-darwin.so +0 -0
  53. amsdal/services/transaction_execution.cpython-312-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,15 +1,10 @@
1
- amsdal-0.5.8.dist-info/RECORD,,
2
- amsdal-0.5.8.dist-info/WHEEL,sha256=_N1vyLgwJ10g4JxFsp-IfU42zGJgf-DUqwfdbV1YvEM,115
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
4
  amsdal/Third-Party Materials - AMSDAL Dependencies - License Notices.md,sha256=3YRsqickIvSW7EmjlC-yk5h-YW_GMzAz7wsT9ZPIiaM,74780
10
- amsdal/__about__.py,sha256=JGF3XlJObn428GEyZLeDPPWqGJueIxTc_Bg3msQ3gts,124
5
+ amsdal/__about__.py,sha256=2PfW0mPI4DYZrdult5d2mMRHPOJDirOQvIzkUq-Vwks,125
11
6
  amsdal/errors.pyi,sha256=mcuGsQMWaIUmC9GJDIkf99dQMMsCfBy6OI_UB3NSNmc,597
12
- amsdal/manager.cpython-312-darwin.so,sha256=--j9iUtOoP0t3c3FsL-uuKPspLp1-Z5vZZ-sqh7cQNw,501968
7
+ amsdal/manager.cpython-312-darwin.so,sha256=Ec6O_s4r4ZIe8nbJ72k1TClAV4UuBmGsBEPUpVekPOY,501968
13
8
  amsdal/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
9
  amsdal/errors.py,sha256=pZZKIklaDkh8jdFSAfX81TbiylvbaE70nttRjTcTSBk,616
15
10
  amsdal/__about__.pyi,sha256=Y25n44pyE3vp92MiABKrcK3IWRyQ1JG1rZ4Ufqy2nC0,17
@@ -22,8 +17,8 @@ amsdal/context/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
17
  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
- amsdal/mixins/__init__.cpython-312-darwin.so,sha256=sb-8T61VCNb3qsLWCeny4kBpOPtFe0ETa1KPRtbHXuc,120720
26
- amsdal/mixins/class_versions_mixin.cpython-312-darwin.so,sha256=jPPJ0cpuacmglVkI1ZxNkd7dVu63UK1Qr5CirmegqXI,180480
20
+ amsdal/mixins/__init__.cpython-312-darwin.so,sha256=0BB9xCWmbX0L0Dt9Ftmu23hGb3K7L_5uC50VUm4gtgc,120720
21
+ amsdal/mixins/class_versions_mixin.cpython-312-darwin.so,sha256=MjhyLucBLtP-RWPFcFaq9q94dp1cIJsa7wbr8BLhyxo,180480
27
22
  amsdal/mixins/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
23
  amsdal/utils/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
24
  amsdal/utils/contrib_paths.py,sha256=9BpNegbPofuvaQ4bE4E5cO4IV415ZZJkTqSLHUruJ3k,787
@@ -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,10 +40,10 @@ 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
- amsdal/contrib/__init__.cpython-312-darwin.so,sha256=1N49gj6sLfW8-73_g0WGrWY0Jgn3ZAHVtsMA3q0ndS8,120736
46
+ amsdal/contrib/__init__.cpython-312-darwin.so,sha256=-g9owUAVIvYZ8VPPjQ2OuxgqarVp9iPCmGiyKNovWxo,120736
52
47
  amsdal/contrib/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
53
48
  amsdal/contrib/app_config.pyi,sha256=j3MYfBcn9MzhTagEczGWfVH9N5jrfiKmUhxZMoakojw,149
54
49
  amsdal/contrib/app_config.py,sha256=RT3RAEE49XtzuFTXYNVuaqU9V4YIl0ZWZijtXgV-SC4,131
@@ -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
@@ -109,7 +105,7 @@ amsdal/schemas/interfaces.pyi,sha256=jUXLEKIa_af9Qrv9a4UvfRmsUV78N921i4dDXKHPaQk
109
105
  amsdal/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
110
106
  amsdal/schemas/utils.pyi,sha256=UbeISOxetojP6HlzhiJWeaAVyYZUrnGAS5niTQ0m6n0,437
111
107
  amsdal/schemas/utils.py,sha256=t8k7QYYR6SsCPpBhp7s585eSYKVIF895EKRMK1w1y1Q,492
112
- amsdal/schemas/manager.cpython-312-darwin.so,sha256=Ep1R02z5Oo_GilIcAwNzEP8AgGUIrSW-9Qi9hlDOa70,120736
108
+ amsdal/schemas/manager.cpython-312-darwin.so,sha256=iNgndAd_n8H5EQWHsL8GVtpD4W7fiDP8yos6nVNDyMU,120736
113
109
  amsdal/schemas/repository.py,sha256=PbskgDr8JMabQm2uf8Kfj5bBSPlPkx4cDGXn-jfIsPM,3249
114
110
  amsdal/schemas/manager.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
115
111
  amsdal/schemas/types/array/model.json,sha256=I9Z7r691yd8i-Ndy8Cf3rFGg22mnLxg_weeVU2kRtkY,117
@@ -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/__init__.cpython-312-darwin.so,sha256=yx-IuFYyYZRbNfbNVqboJeEQWICmYjmhSFWVjqMEavw,120720
156
+ amsdal/cloud/__init__.cpython-312-darwin.so,sha256=Va3PI_DRc4z12cuDVJq_uYfYCu7tlXRXSwv_pw2VixM,120720
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/constants.cpython-312-darwin.so,sha256=Euj6jChK1UmbTNAb94ucXQ_vOgHu7xvxpTwmvXcohqM,158688
165
- amsdal/cloud/enums.cpython-312-darwin.so,sha256=qz41P4ThATtEQLiGXkXj9GkHQQXipf5xTKetAGUw4PM,158128
166
- amsdal/cloud/client.cpython-312-darwin.so,sha256=SZpcnev1nv_56ycVlNWww4KPjBwL2cJWBJ68PnYwve8,216144
160
+ amsdal/cloud/constants.cpython-312-darwin.so,sha256=K9fqitYBFlUJ-ayIrBQdWstbrDYx7-NxSdEXQWasDQ4,158688
161
+ amsdal/cloud/enums.cpython-312-darwin.so,sha256=97I0OrDEHkmj2oe2rtV_481_mNn8v9h3sW-uAeBHixc,158128
162
+ amsdal/cloud/client.cpython-312-darwin.so,sha256=NxbT5Ec-Ay4VYuzp65_jfrI_2T7jFZAmNYdjt_B2LzM,216144
167
163
  amsdal/cloud/enums.pyi,sha256=mX5O1FPc3aNnN108aOJT66Nn9KlcyrRTj9B23sFdDfw,1757
168
- amsdal/cloud/models/__init__.cpython-312-darwin.so,sha256=GHQ52V_1v3sgIzogHb-0hwIWYttkuasEAYC2WTpEA2Q,120752
164
+ amsdal/cloud/models/__init__.cpython-312-darwin.so,sha256=hpxCtUYe1HpPzXzFw9B43wrSfSP9U9ilOPsHf8qExrY,120752
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/base.cpython-312-darwin.so,sha256=ti5bFTVsO1XaADdcURH9xxYGjfnyyJi4Lq7zOdHsZ4c,195328
172
- amsdal/cloud/services/__init__.cpython-312-darwin.so,sha256=Pu5fx16gnpbpY3SpwA1pcnNVyBA7odCho9yHpIsL5aE,120768
167
+ amsdal/cloud/models/base.cpython-312-darwin.so,sha256=u6NU9hsu8uUxp7hCwsmMOmCj9uW0ej7TzB46WrtYWL0,195328
168
+ amsdal/cloud/services/__init__.cpython-312-darwin.so,sha256=lAYdgHz4kiysUpA0CETItFiymRD3dgvsCQ5_veIcOUM,120768
173
169
  amsdal/cloud/services/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
174
- amsdal/cloud/services/auth/__init__.cpython-312-darwin.so,sha256=w82NuISSMo1ldPU3DKnKvAw_uOAHjrCUZcxwnm_JJ_E,120784
170
+ amsdal/cloud/services/auth/__init__.cpython-312-darwin.so,sha256=YJy_H0I1oN1TdrP08R7PNfPoPyCbQbLqCXJhuAdA9gE,120784
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
- amsdal/cloud/services/auth/credentials.cpython-312-darwin.so,sha256=ZDQltp8Yv4Mhhkz0iPhs3o8o20tjubOId-nnpXt5KlA,287944
174
+ amsdal/cloud/services/auth/credentials.cpython-312-darwin.so,sha256=qhBZls0L4RzwPwRbtBZT9r9ga-EIPBOunDKN_4sA8Ik,287944
179
175
  amsdal/cloud/services/auth/signup_service.pyi,sha256=SfSN1tLIwrzGi9JbMgoLuKKH1u5uoh_MOFJ4n_NHcBY,1145
180
- amsdal/cloud/services/auth/signup_service.cpython-312-darwin.so,sha256=emGzpn8yUQ5GrSdOmZvSZHCh0fGGG3l5OPPQJiEFHRE,216232
176
+ amsdal/cloud/services/auth/signup_service.cpython-312-darwin.so,sha256=WqdwOvrqyoqwoz9plIixLNttgMK5_YAp01n9KCkSJ-c,216232
181
177
  amsdal/cloud/services/auth/token.pyi,sha256=v9QDleIytAZGlYHHaO-W1fTr5d2OLGWsh5g6HDeuk90,1042
182
- amsdal/cloud/services/auth/token.cpython-312-darwin.so,sha256=Ibxa8YV738Jg9sRGpuo2950OnAqFvprgYciBfaRQa6o,251648
183
- amsdal/cloud/services/auth/manager.cpython-312-darwin.so,sha256=y7bPrtP9KyNiVCeSVz_xX4maTzYoAo1c9G_lO13fgio,214144
184
- amsdal/cloud/services/auth/base.cpython-312-darwin.so,sha256=wEKV6qLj2NLs40nN4hm-T5d0zUqiKPRvVty5SklJP9E,163120
178
+ amsdal/cloud/services/auth/token.cpython-312-darwin.so,sha256=CW_nqHO78OqEgpWH4hb2A5DtZvtBGaAlePBy__5k86M,251648
179
+ amsdal/cloud/services/auth/manager.cpython-312-darwin.so,sha256=0gKfA71bszQ4kciNUNi_hIpK2ZNoYjlioQZkr48hfUc,214144
180
+ amsdal/cloud/services/auth/base.cpython-312-darwin.so,sha256=iLuVachha5XEA-rlmNmA1w-IAM1lJOTsUtJm7tTX-58,163120
185
181
  amsdal/cloud/services/auth/credentials.pyi,sha256=ghp3r8rDq5l5xxx7UKFkCASyQJbWChkF2PQDJrQmeW4,1417
186
- amsdal/cloud/services/actions/delete_env.cpython-312-darwin.so,sha256=uvXdsuZ5nTEA15VJLhEG2tvW0mXDLPh9qwGUQIjBDAk,180840
187
- amsdal/cloud/services/actions/__init__.cpython-312-darwin.so,sha256=uPWjKd5XFVqjPkeFamgNNzUGoyqRHYcm4Z_p7xUzPG4,120800
182
+ amsdal/cloud/services/actions/delete_env.cpython-312-darwin.so,sha256=SDED_NBOIeCX9vVcg0eKoY7Yx69Y3_1nZKLhQwJsu1k,180840
183
+ amsdal/cloud/services/actions/__init__.cpython-312-darwin.so,sha256=xox_DEXcBmQGufGY4M6DzLuZI93YFYZUEb8ASwC5F9Y,120800
188
184
  amsdal/cloud/services/actions/list_envs.pyi,sha256=7PylFRd1Jb6nkTt8q8iy27rLj-Q5qcwfqW02_OlfDZs,878
189
185
  amsdal/cloud/services/actions/base.pyi,sha256=J98igdu3E9-mled_kbxerja4DTLM0OAW8cHtsVOQ_fc,5880
190
186
  amsdal/cloud/services/actions/manager.pyi,sha256=Tal5u1nMhi7MeuJ9lBIPYPLgKoIB6DUXPU2AokrusHI,15441
191
187
  amsdal/cloud/services/actions/delete_allowlist_ip.pyi,sha256=W5zVq7YKL_OVigZl58bqau3rvAzsLdItAZaqDO1HGJw,933
192
188
  amsdal/cloud/services/actions/add_basic_auth.pyi,sha256=4tyTci_k_xlJrkBd71sY0ivRr8alo3Bq0KCkjIfacu4,1106
193
189
  amsdal/cloud/services/actions/list_secrets.pyi,sha256=vF-EikAy7WHdkvkGikD_oDFDIgE1GEr8nxAQKYAs9rY,1079
194
- amsdal/cloud/services/actions/delete_secret.cpython-312-darwin.so,sha256=_GhAtyklkPvKchCvUpkf8klcX5o3wbQFeUYmJvmw8eg,164312
190
+ amsdal/cloud/services/actions/delete_secret.cpython-312-darwin.so,sha256=DXEOkmiDa_8ayc7C47Flz5VE0Ow7AAc1XPk9FgMps_s,164312
195
191
  amsdal/cloud/services/actions/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
196
192
  amsdal/cloud/services/actions/get_basic_auth_credentials.pyi,sha256=1FU8BtDRaGTx8fSqdhmotQK-rR7gKr4Qav_E-T_23rc,1071
197
- amsdal/cloud/services/actions/add_basic_auth.cpython-312-darwin.so,sha256=ooL04I7jBFpYpF_5sB_XoUDSPFXi79E841mXGLbvi2Y,197512
193
+ amsdal/cloud/services/actions/add_basic_auth.cpython-312-darwin.so,sha256=jK0QtGTN0oBDJtEnwcyi5NvQLpUB4VVslvFsBa07R-4,197512
198
194
  amsdal/cloud/services/actions/delete_secret.pyi,sha256=gZi17MivNYBIfdPU2GjoJ2I2lWiefdvLuXTcxDss1P4,953
199
195
  amsdal/cloud/services/actions/delete_env.pyi,sha256=uyBHMOp_AprbpSfv6y6QfYW5FvK1-8jb2NxK_FmuPHE,969
200
- amsdal/cloud/services/actions/delete_allowlist_ip.cpython-312-darwin.so,sha256=u3WT9rP6p7jABt6XYbblDvzy3yMfgDK592GY0uLmr_g,180848
201
- amsdal/cloud/services/actions/add_dependency.cpython-312-darwin.so,sha256=WnJf1KkfaaBcVhfjrjZ8oVawSMMQfd5q_gL0Ou3nnUY,164328
202
- amsdal/cloud/services/actions/create_env.cpython-312-darwin.so,sha256=SW_GiIJNyVhI4zDdiTvu5F6qhvX9mJhLhpJ3kFblQIw,180840
203
- amsdal/cloud/services/actions/update_deploy.cpython-312-darwin.so,sha256=KgdnHamSaFXRGSNZONwR-CvnBGVZHKRdDDofXd5rBpc,181080
204
- amsdal/cloud/services/actions/get_monitoring_info.cpython-312-darwin.so,sha256=W3pKBt62SBj0wer9_FLzRwzSPzefA4A4ZrsuzyecCgU,197376
196
+ amsdal/cloud/services/actions/delete_allowlist_ip.cpython-312-darwin.so,sha256=xg9KpCHbL4J7HCyLkk5GmMpGQeUzGuQOrfrN7C7XMbU,180848
197
+ amsdal/cloud/services/actions/add_dependency.cpython-312-darwin.so,sha256=d4PLUuyvhshiUrsd1ALmS3YzAe-15rWqxT9C_3MAUnA,164328
198
+ amsdal/cloud/services/actions/create_env.cpython-312-darwin.so,sha256=zrN_MT615LXlVGxKN5q3RXPA3tNkFI1EF8vMSrRfbSw,180840
199
+ amsdal/cloud/services/actions/update_deploy.cpython-312-darwin.so,sha256=VDe__bHuchyXty6CtSgFHwCMZnawiETouQ-jblhtvuI,181080
200
+ amsdal/cloud/services/actions/get_monitoring_info.cpython-312-darwin.so,sha256=ZEfd_erAXOcv1NsdbpX4Pu2NTpA8Z4fBN0esKMnWOmU,197376
205
201
  amsdal/cloud/services/actions/delete_dependency.pyi,sha256=VuT1w2qOpjR7I9mBi9tPXMXDPEeU8tG0vi9TXV82Frg,1021
206
- amsdal/cloud/services/actions/destroy_deploy.cpython-312-darwin.so,sha256=msdiqLx12Cs8_HJlRTTeXqKlFJarOzLlXtiZvUkm97g,164168
207
- amsdal/cloud/services/actions/list_dependencies.cpython-312-darwin.so,sha256=MfdLTq3N2r_p6zRsQrv52ZB4zHmugZkSIDsSWhYrK1E,197704
208
- amsdal/cloud/services/actions/list_envs.cpython-312-darwin.so,sha256=js1DSStXOcGimrmDQy1Whe6ib_ettqwl80uew7V3SDA,164384
209
- amsdal/cloud/services/actions/list_deploys.cpython-312-darwin.so,sha256=YpgpTpkzUT6ZCzjO1bIcpdcv7k3HnG8KeXUqJM4F3do,181096
202
+ amsdal/cloud/services/actions/destroy_deploy.cpython-312-darwin.so,sha256=KpWVZIcO2LZiB6cN8A2_T6MDlq5YsP8gMzZjTdeNEU8,164168
203
+ amsdal/cloud/services/actions/list_dependencies.cpython-312-darwin.so,sha256=OrzUvQT5c6ceglsfHmzmSjGdEeMTHM653PUmDMcEV34,197704
204
+ amsdal/cloud/services/actions/list_envs.cpython-312-darwin.so,sha256=IVNqdE7eROoBQgMn9vIWlrb5m5uB9SW7AlfjNXeXqY8,164384
205
+ amsdal/cloud/services/actions/list_deploys.cpython-312-darwin.so,sha256=RcdlSztY-Sz_zdubT4O6FNhss-ed9Zrkk3UflOfSu8Q,181096
210
206
  amsdal/cloud/services/actions/create_session.pyi,sha256=KUvx_vkhLQfGp_DM1ZvgszyT_G8LB28KoI1XpjNR7YY,674
211
207
  amsdal/cloud/services/actions/list_deploys.pyi,sha256=Q8da3PDPxICLP2V7L-A7p-9_a3qNKrARqgHhu0CA0nA,724
212
- amsdal/cloud/services/actions/create_deploy.cpython-312-darwin.so,sha256=MnXw95pKE9viDoNvjntagZ1lxIVNec2BI6pPlEfniV8,269176
213
- amsdal/cloud/services/actions/create_session.cpython-312-darwin.so,sha256=Ea3GifATRAqPY9kFJ9X_gOt-__w0Qq9vJxYgsz2NrTI,181000
208
+ amsdal/cloud/services/actions/create_deploy.cpython-312-darwin.so,sha256=8B8m9iWsO_f5CMu9P1RjJ_A7M1ivixeh3AYdphoy8x8,269176
209
+ amsdal/cloud/services/actions/create_session.cpython-312-darwin.so,sha256=ovsuTpOEHK36HNTrtzuriE2DGpdy0jaHgvF1zIFlejI,181000
214
210
  amsdal/cloud/services/actions/add_allowlist_ip.pyi,sha256=gB2NQVz8NcSsgXYiym2Suh1RPI8eHKIAFE13RmeTHkA,883
215
211
  amsdal/cloud/services/actions/get_monitoring_info.pyi,sha256=uvtBgWvtWf-Mq4vZq_q-q8Z8hJh5voAY61KRJQPGWFk,1045
216
212
  amsdal/cloud/services/actions/add_dependency.pyi,sha256=uVEIhvDa4GRS0Lg6TkcYdOwezKcxrzL7A_Lh8BxcAeU,837
217
- amsdal/cloud/services/actions/manager.cpython-312-darwin.so,sha256=R_u21XOtq7aoomQBNpXqY6otdJdgjSbeU7ENybyHbI4,354848
213
+ amsdal/cloud/services/actions/manager.cpython-312-darwin.so,sha256=vnEHFRoD3bmilw_uekPb5BKmaXbu_9FCd1wWjPHeOWc,354848
218
214
  amsdal/cloud/services/actions/signup_action.pyi,sha256=VswHjhxw2eHYqXwc---F2LpwlD7GlIuL_Ev2DmA96_4,808
219
215
  amsdal/cloud/services/actions/add_secret.pyi,sha256=H6rS3PRwiktMfnoY8qwtmTplN9gG2yZgQKKCX8S8Q6c,890
220
- amsdal/cloud/services/actions/base.cpython-312-darwin.so,sha256=APY45wMnh8Ny9UDpkI7xJE5RAarMeEGJcVlj9yQqfH0,307200
221
- amsdal/cloud/services/actions/get_basic_auth_credentials.cpython-312-darwin.so,sha256=tTwP9dDYOWxbHckcXKFngLDedZwY2-ZS_fPzzxJ3Xog,197512
216
+ amsdal/cloud/services/actions/base.cpython-312-darwin.so,sha256=4y7OzdFMOybGHoDqYlEHvWCG508arMkyJ9N0HOTH1FQ,307200
217
+ amsdal/cloud/services/actions/get_basic_auth_credentials.cpython-312-darwin.so,sha256=MknZCWqlMJsLm1pgf2UbGztbPUelcaaobMe5IPP9SX4,197512
222
218
  amsdal/cloud/services/actions/destroy_deploy.pyi,sha256=VNb0J71B3gk4SVJwxlB9XTj4vCG-37ucojcGzsvKwe8,609
223
219
  amsdal/cloud/services/actions/update_deploy.pyi,sha256=alM1nquQZ5O8PYlDIqDdSuiyuc_aj9fkd01bL9KANEI,766
224
- amsdal/cloud/services/actions/add_secret.cpython-312-darwin.so,sha256=i5J9B8AQfGir5ayMkQ5M3uKztU9wxcq2WFU6dXvT5Go,164264
225
- amsdal/cloud/services/actions/expose_db.cpython-312-darwin.so,sha256=DVk5Eur6uTZq23_ZgWKzafHm8V63rt8k4tpUdkLpdoE,197568
226
- amsdal/cloud/services/actions/delete_dependency.cpython-312-darwin.so,sha256=fdr5Jz6MfPJmMwr4BLDM8afp0FhoALC-OREHSeW1714,164376
227
- amsdal/cloud/services/actions/add_allowlist_ip.cpython-312-darwin.so,sha256=ajHgiG1Et7sJ-cv4E5vr8LYBEGptsRb_ytJwEec5zPo,180792
228
- amsdal/cloud/services/actions/signup_action.cpython-312-darwin.so,sha256=g_tbLWPEeqLfSinXw-UsQgvquUIe94iJ7EpzjnMDVmo,164216
229
- amsdal/cloud/services/actions/delete_basic_auth.cpython-312-darwin.so,sha256=S0k4ag0GITjUQ677SslV0pfuwmj4XutW1D0qZVdZ0Eg,164376
230
- amsdal/cloud/services/actions/list_secrets.cpython-312-darwin.so,sha256=X48BrXU6QqTxsOW9BTp3CzjpdCfha-2iFY-ADnoDkMQ,197688
220
+ amsdal/cloud/services/actions/add_secret.cpython-312-darwin.so,sha256=0dW3k9sr42MBrq9uEF4lAbTkxERdplPvL33fyJ8pyoM,164264
221
+ amsdal/cloud/services/actions/expose_db.cpython-312-darwin.so,sha256=L2Tym7FvDg4Su3Rw55B6hF2To5V4RpSr-iJk4AXPy5Y,197568
222
+ amsdal/cloud/services/actions/delete_dependency.cpython-312-darwin.so,sha256=nizWeYzyWyEi19adsYITNusjptKJ1-FLPOF8UC1uJWo,164376
223
+ amsdal/cloud/services/actions/add_allowlist_ip.cpython-312-darwin.so,sha256=wMGulq75OFa79TnTVoOXvYypOGrdina3xpqwos3E4hk,180792
224
+ amsdal/cloud/services/actions/signup_action.cpython-312-darwin.so,sha256=FiCbM03zoz3CN4iXG1CUV2jwX_2fjtGVuQAedv4xIxI,164216
225
+ amsdal/cloud/services/actions/delete_basic_auth.cpython-312-darwin.so,sha256=mOCuRm-bSL2nT4IoCANBbxkquzxFy0N1wQRZSAsZt-0,164376
226
+ amsdal/cloud/services/actions/list_secrets.cpython-312-darwin.so,sha256=iFt3CrRcFL4SzdtaOqeJ_BsvvN3UwGFDMi7SWYvh-uo,197688
231
227
  amsdal/cloud/services/actions/create_deploy.pyi,sha256=VmVMYJQmjPZce6Cm8sMQ27HomhfdzZc_0X57ZWZmCt0,1988
232
228
  amsdal/cloud/services/actions/delete_basic_auth.pyi,sha256=-I1YoOMFi0LaRsZL2JBGH_sg18PZoUL1PP9YetboDJA,915
233
229
  amsdal/cloud/services/actions/list_dependencies.pyi,sha256=C37VamSyRT-uNLuwQJ0OrHKavs8Jt0bfPbAsE5BQEvE,1035
234
230
  amsdal/cloud/services/actions/create_env.pyi,sha256=ITvyLrvwt6H36JNYURHZ_PbmGZquc5Fm07dVo7H6ll0,910
235
231
  amsdal/cloud/services/actions/expose_db.pyi,sha256=uk2zuz1SiXwjDFxtKF-yyWGNEONOgfm7EcrEyVT0cMM,1049
236
- amsdal/fixtures/__init__.cpython-312-darwin.so,sha256=SFWBOypc5mZzgfZEvOKWUfK7cUKc7Auqn28JWbsc9hI,120736
232
+ amsdal/fixtures/__init__.cpython-312-darwin.so,sha256=DLU0ilirFuKJg5XYD6C2nYiXqm4JIwhlfo40MiRdY4k,120736
237
233
  amsdal/fixtures/manager.pyi,sha256=fMl3nNa2A9jiZanZ_7tnUGaPigk_03KMmdcUGPoX9kI,7077
238
234
  amsdal/fixtures/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
239
- amsdal/fixtures/utils.cpython-312-darwin.so,sha256=esJ0NZwiOkv4exiQcP41BvFMgtcLdATivZ_6d3zCYfQ,290128
235
+ amsdal/fixtures/utils.cpython-312-darwin.so,sha256=PX89wkALqzhE5JBh9tusE_WCJNrQWhsO0gtoT0HdynU,290128
240
236
  amsdal/fixtures/utils.pyi,sha256=OnFn7opJscOydj-rlcXQIdDodlIKGCt79TRy5zAUkqg,457
241
- amsdal/fixtures/manager.cpython-312-darwin.so,sha256=gMPe9BiWrjam5Sq5FvdvmR9ggD50nfjkryO_91I9Meo,655648
242
- amsdal/services/__init__.cpython-312-darwin.so,sha256=mBu7Xxf1uNl4CV2heJ0-0Qd6NLgSJODamgcugBMPT4o,120736
237
+ amsdal/fixtures/manager.cpython-312-darwin.so,sha256=fT4Ox07FkvZGWSpu5wKO3JTo52k_plo6kyj-XtE3hRI,655648
238
+ amsdal/services/__init__.cpython-312-darwin.so,sha256=V7ul1HACYSpN3gnw_ZdxQ028t9w5wTZ-AIaCJzKzp6c,120736
243
239
  amsdal/services/transaction_execution.pyi,sha256=TwCuurOoqSHgNu9GCYYZPSpGjxXssF2eNygQ5KVwAZM,4374
244
- amsdal/services/transaction_execution.cpython-312-darwin.so,sha256=HLyARQtcbvwJs5EvV6yIQoGL-1mcDE8UmM8xZvVr9dk,435648
240
+ amsdal/services/transaction_execution.cpython-312-darwin.so,sha256=JstnAfl8m_MluIUe-0zup72oD5uqwGKAYeHJoveZWI4,435648
245
241
  amsdal/services/__init__.pyi,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
242
+ amsdal-0.5.10.dist-info/RECORD,,
243
+ amsdal-0.5.10.dist-info/WHEEL,sha256=_N1vyLgwJ10g4JxFsp-IfU42zGJgf-DUqwfdbV1YvEM,115
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