dominus-sdk-python 4.6.1__tar.gz → 4.6.2__tar.gz

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 (63) hide show
  1. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/PKG-INFO +1 -1
  2. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/__init__.py +1 -1
  3. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/namespaces/recipes.py +23 -0
  4. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/start.py +1 -1
  5. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus_sdk_python.egg-info/PKG-INFO +1 -1
  6. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus_sdk_python.egg-info/SOURCES.txt +1 -0
  7. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/pyproject.toml +1 -1
  8. dominus_sdk_python-4.6.2/tests/test_recipes_namespace.py +49 -0
  9. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/README.md +0 -0
  10. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/config/__init__.py +0 -0
  11. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/config/endpoints.py +0 -0
  12. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/errors.py +0 -0
  13. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/helpers/__init__.py +0 -0
  14. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/helpers/auth.py +0 -0
  15. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/helpers/cache.py +0 -0
  16. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/helpers/console_capture.py +0 -0
  17. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/helpers/core.py +0 -0
  18. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/helpers/crypto.py +0 -0
  19. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/helpers/sse.py +0 -0
  20. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/helpers/trace.py +0 -0
  21. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/namespaces/__init__.py +0 -0
  22. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/namespaces/admin.py +0 -0
  23. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/namespaces/ai.py +0 -0
  24. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/namespaces/artifacts.py +0 -0
  25. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/namespaces/auth.py +0 -0
  26. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/namespaces/authority.py +0 -0
  27. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/namespaces/browser.py +0 -0
  28. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/namespaces/courier.py +0 -0
  29. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/namespaces/db.py +0 -0
  30. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/namespaces/ddl.py +0 -0
  31. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/namespaces/deployer.py +0 -0
  32. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/namespaces/fastapi.py +0 -0
  33. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/namespaces/files.py +0 -0
  34. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/namespaces/health.py +0 -0
  35. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/namespaces/jobs.py +0 -0
  36. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/namespaces/logs.py +0 -0
  37. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/namespaces/portal.py +0 -0
  38. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/namespaces/processor.py +0 -0
  39. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/namespaces/redis.py +0 -0
  40. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/namespaces/secrets.py +0 -0
  41. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/namespaces/secure.py +0 -0
  42. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/namespaces/stash.py +0 -0
  43. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/namespaces/sync.py +0 -0
  44. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/namespaces/warden.py +0 -0
  45. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/namespaces/workflow.py +0 -0
  46. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus/services/__init__.py +0 -0
  47. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus_sdk_python.egg-info/dependency_links.txt +0 -0
  48. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus_sdk_python.egg-info/requires.txt +0 -0
  49. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/dominus_sdk_python.egg-info/top_level.txt +0 -0
  50. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/setup.cfg +0 -0
  51. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/tests/test_auth.py +0 -0
  52. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/tests/test_authority_public_vocabulary.py +0 -0
  53. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/tests/test_browser_namespace.py +0 -0
  54. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/tests/test_control_plane_namespaces.py +0 -0
  55. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/tests/test_errors.py +0 -0
  56. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/tests/test_flat_commands.py +0 -0
  57. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/tests/test_health.py +0 -0
  58. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/tests/test_logs.py +0 -0
  59. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/tests/test_provisioning_parity.py +0 -0
  60. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/tests/test_public_exports.py +0 -0
  61. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/tests/test_transport_compat.py +0 -0
  62. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/tests/test_workflow_lifecycle.py +0 -0
  63. {dominus_sdk_python-4.6.1 → dominus_sdk_python-4.6.2}/tests/test_workflow_refs.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dominus-sdk-python
3
- Version: 4.6.1
3
+ Version: 4.6.2
4
4
  Summary: Python SDK for the Dominus gateway-first platform
5
5
  Author-email: CareBridge Systems <dev@carebridge.io>
6
6
  License: Proprietary
@@ -165,7 +165,7 @@ from .errors import (
165
165
  TimeoutError as DominusTimeoutError,
166
166
  )
167
167
 
168
- __version__ = "4.6.1"
168
+ __version__ = "4.6.2"
169
169
  __all__ = [
170
170
  # Main SDK instance
171
171
  "dominus",
@@ -104,6 +104,29 @@ class RecipesNamespace:
104
104
  timeout=timeout,
105
105
  )
106
106
 
107
+ async def deprecate(
108
+ self,
109
+ *,
110
+ type: str,
111
+ tier: str,
112
+ name: str,
113
+ version: int,
114
+ reason: Optional[str] = None,
115
+ timeout: float = 30.0,
116
+ ) -> Dict[str, Any]:
117
+ """Mark the current head recipe version deprecated. ``POST /api/recipe/recipes/deprecate``."""
118
+ return await self._post(
119
+ "/api/recipe/recipes/deprecate",
120
+ _compact({
121
+ "type": type,
122
+ "tier": tier,
123
+ "name": name,
124
+ "version": version,
125
+ "reason": reason,
126
+ }),
127
+ timeout=timeout,
128
+ )
129
+
107
130
  async def list(
108
131
  self,
109
132
  *,
@@ -186,7 +186,7 @@ class Dominus:
186
186
  from .namespaces.stash import StashNamespace
187
187
  self.stash = StashNamespace(self)
188
188
 
189
- # Recipe worker (kernel-tier; hosts browser-recipe-v1 today, workflow + envoy + others later)
189
+ # Recipe worker (kernel-tier; hosts browser-recipe today, workflow + envoy + others later)
190
190
  from .namespaces.recipes import RecipesNamespace
191
191
  self.recipes = RecipesNamespace(self)
192
192
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dominus-sdk-python
3
- Version: 4.6.1
3
+ Version: 4.6.2
4
4
  Summary: Python SDK for the Dominus gateway-first platform
5
5
  Author-email: CareBridge Systems <dev@carebridge.io>
6
6
  License: Proprietary
@@ -55,6 +55,7 @@ tests/test_health.py
55
55
  tests/test_logs.py
56
56
  tests/test_provisioning_parity.py
57
57
  tests/test_public_exports.py
58
+ tests/test_recipes_namespace.py
58
59
  tests/test_transport_compat.py
59
60
  tests/test_workflow_lifecycle.py
60
61
  tests/test_workflow_refs.py
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "dominus-sdk-python"
7
- version = "4.6.1"
7
+ version = "4.6.2"
8
8
  description = "Python SDK for the Dominus gateway-first platform"
9
9
  readme = "README.md"
10
10
  license = {text = "Proprietary"}
@@ -0,0 +1,49 @@
1
+ import pytest
2
+
3
+ import dominus.start as start_module
4
+
5
+
6
+ @pytest.fixture()
7
+ def sdk(monkeypatch):
8
+ monkeypatch.setattr(start_module, "_VALIDATION_ERROR", None)
9
+ monkeypatch.setattr(start_module, "_TOKEN", "a" * 64)
10
+ monkeypatch.setattr(start_module, "_VALIDATED", False)
11
+ monkeypatch.setattr(start_module, "_BASE_URL", "https://gateway.example")
12
+ monkeypatch.setattr(start_module, "_GATEWAY_URL", "https://gateway.example")
13
+ return start_module.Dominus()
14
+
15
+
16
+ @pytest.mark.asyncio
17
+ async def test_recipes_namespace_maps_deprecate_to_gateway_route(monkeypatch, sdk):
18
+ calls = []
19
+
20
+ async def fake_request(**kwargs):
21
+ calls.append(kwargs)
22
+ return {"ok": True, "recipe": {"deprecated": True}}
23
+
24
+ monkeypatch.setattr(sdk, "_request", fake_request)
25
+
26
+ result = await sdk.recipes.deprecate(
27
+ type="browser-recipe",
28
+ tier="project",
29
+ name="cms-login",
30
+ version=3,
31
+ reason="superseded",
32
+ )
33
+
34
+ assert result["recipe"]["deprecated"] is True
35
+ assert calls == [
36
+ {
37
+ "endpoint": "/api/recipe/recipes/deprecate",
38
+ "method": "POST",
39
+ "body": {
40
+ "type": "browser-recipe",
41
+ "tier": "project",
42
+ "name": "cms-login",
43
+ "version": 3,
44
+ "reason": "superseded",
45
+ },
46
+ "use_gateway": True,
47
+ "timeout": 30.0,
48
+ }
49
+ ]