dominus-sdk-python 9.0.7__tar.gz → 9.0.9__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 (81) hide show
  1. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/PKG-INFO +4 -4
  2. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/README.md +3 -3
  3. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/__init__.py +1 -1
  4. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/namespaces/auth.py +0 -16
  5. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/namespaces/authority.py +4 -0
  6. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/namespaces/logs.py +8 -0
  7. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus_sdk_python.egg-info/PKG-INFO +4 -4
  8. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/pyproject.toml +1 -1
  9. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/tests/test_auth.py +7 -0
  10. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/tests/test_authority_public_vocabulary.py +33 -0
  11. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/tests/test_logs.py +4 -1
  12. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/config/__init__.py +0 -0
  13. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/config/endpoints.py +0 -0
  14. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/contract/__init__.py +0 -0
  15. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/contract/envelope.py +0 -0
  16. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/contract/projections.py +0 -0
  17. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/errors.py +0 -0
  18. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/helpers/__init__.py +0 -0
  19. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/helpers/auth.py +0 -0
  20. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/helpers/cache.py +0 -0
  21. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/helpers/console_capture.py +0 -0
  22. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/helpers/core.py +0 -0
  23. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/helpers/crypto.py +0 -0
  24. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/helpers/sse.py +0 -0
  25. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/helpers/trace.py +0 -0
  26. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/namespaces/__init__.py +0 -0
  27. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/namespaces/admin.py +0 -0
  28. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/namespaces/ai.py +0 -0
  29. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/namespaces/artifacts.py +0 -0
  30. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/namespaces/browser.py +0 -0
  31. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/namespaces/coder.py +0 -0
  32. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/namespaces/courier.py +0 -0
  33. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/namespaces/db.py +0 -0
  34. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/namespaces/ddl.py +0 -0
  35. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/namespaces/deployer.py +0 -0
  36. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/namespaces/fastapi.py +0 -0
  37. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/namespaces/files.py +0 -0
  38. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/namespaces/health.py +0 -0
  39. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/namespaces/jobs.py +0 -0
  40. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/namespaces/platform.py +0 -0
  41. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/namespaces/portal.py +0 -0
  42. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/namespaces/processor.py +0 -0
  43. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/namespaces/publisher.py +0 -0
  44. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/namespaces/recipes.py +0 -0
  45. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/namespaces/redis.py +0 -0
  46. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/namespaces/secrets.py +0 -0
  47. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/namespaces/secure.py +0 -0
  48. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/namespaces/stash.py +0 -0
  49. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/namespaces/sync.py +0 -0
  50. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/namespaces/warden.py +0 -0
  51. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/namespaces/workflow.py +0 -0
  52. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/py.typed +0 -0
  53. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/services/__init__.py +0 -0
  54. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus/start.py +0 -0
  55. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus_sdk_python.egg-info/SOURCES.txt +0 -0
  56. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus_sdk_python.egg-info/dependency_links.txt +0 -0
  57. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus_sdk_python.egg-info/requires.txt +0 -0
  58. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/dominus_sdk_python.egg-info/top_level.txt +0 -0
  59. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/setup.cfg +0 -0
  60. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/tests/test_browser_namespace.py +0 -0
  61. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/tests/test_contract.py +0 -0
  62. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/tests/test_control_plane_namespaces.py +0 -0
  63. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/tests/test_error_recovery_action.py +0 -0
  64. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/tests/test_errors.py +0 -0
  65. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/tests/test_errors_aliases.py +0 -0
  66. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/tests/test_flat_commands.py +0 -0
  67. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/tests/test_health.py +0 -0
  68. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/tests/test_namespace_barrel_exports.py +0 -0
  69. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/tests/test_platform_coder_namespaces.py +0 -0
  70. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/tests/test_provisioning_parity.py +0 -0
  71. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/tests/test_public_exports.py +0 -0
  72. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/tests/test_publisher_namespace.py +0 -0
  73. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/tests/test_readme_quickstart_catalog.py +0 -0
  74. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/tests/test_recipes_namespace.py +0 -0
  75. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/tests/test_recipes_stash_routing.py +0 -0
  76. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/tests/test_secrets_presence_contract.py +0 -0
  77. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/tests/test_stash_artifact_facade.py +0 -0
  78. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/tests/test_stash_tables_namespace.py +0 -0
  79. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/tests/test_transport_compat.py +0 -0
  80. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/tests/test_workflow_lifecycle.py +0 -0
  81. {dominus_sdk_python-9.0.7 → dominus_sdk_python-9.0.9}/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: 9.0.7
3
+ Version: 9.0.9
4
4
  Summary: Python SDK for the Dominus gateway-first platform
5
5
  Author-email: CareBridge Systems <dev@carebridge.io>
6
6
  License-Expression: LicenseRef-Proprietary
@@ -38,8 +38,8 @@ Async Python SDK for the Dominus gateway-first service plane.
38
38
  ## Agent Guide
39
39
 
40
40
  Start with `docs/agent-guide/INDEX.md`. The current snapshot is
41
- `docs/agent-guide/2026-09-03-0942-sdk-python/00-reading-order.md`; the latest
42
- cleanup audit is `docs/janitor/2026-09-03-0942-sdk-python-cleanup-audit.md`.
41
+ `docs/agent-guide/2026-09-07-1135-sdk-python/00-reading-order.md`; the latest
42
+ cleanup audit is `docs/janitor/2026-09-07-1135-sdk-python-cleanup-audit.md`.
43
43
 
44
44
  ## What This Repo Ships
45
45
 
@@ -48,7 +48,7 @@ cleanup audit is `docs/janitor/2026-09-03-0942-sdk-python-cleanup-audit.md`.
48
48
  - Gateway-scoped client mode for MCP and other user-JWT sessions
49
49
  - Transport compatibility for wrapped `{success,data}` responses and unwrapped Warden/control-plane success objects
50
50
  - Local helpers for JWT verification, trace propagation, retries, and console capture
51
- - Current package version: `9.0.6`
51
+ - Current package version: `9.0.8`
52
52
 
53
53
  ## Install
54
54
 
@@ -5,8 +5,8 @@ Async Python SDK for the Dominus gateway-first service plane.
5
5
  ## Agent Guide
6
6
 
7
7
  Start with `docs/agent-guide/INDEX.md`. The current snapshot is
8
- `docs/agent-guide/2026-09-03-0942-sdk-python/00-reading-order.md`; the latest
9
- cleanup audit is `docs/janitor/2026-09-03-0942-sdk-python-cleanup-audit.md`.
8
+ `docs/agent-guide/2026-09-07-1135-sdk-python/00-reading-order.md`; the latest
9
+ cleanup audit is `docs/janitor/2026-09-07-1135-sdk-python-cleanup-audit.md`.
10
10
 
11
11
  ## What This Repo Ships
12
12
 
@@ -15,7 +15,7 @@ cleanup audit is `docs/janitor/2026-09-03-0942-sdk-python-cleanup-audit.md`.
15
15
  - Gateway-scoped client mode for MCP and other user-JWT sessions
16
16
  - Transport compatibility for wrapped `{success,data}` responses and unwrapped Warden/control-plane success objects
17
17
  - Local helpers for JWT verification, trace propagation, retries, and console capture
18
- - Current package version: `9.0.6`
18
+ - Current package version: `9.0.8`
19
19
 
20
20
  ## Install
21
21
 
@@ -190,7 +190,7 @@ from .errors import (
190
190
  TimeoutError as DominusTimeoutError,
191
191
  )
192
192
 
193
- __version__ = "9.0.6"
193
+ __version__ = "9.0.8"
194
194
  __all__ = [
195
195
  # Main SDK instance
196
196
  "dominus",
@@ -28,7 +28,6 @@ class AuthNamespace:
28
28
  # User management
29
29
  user = await dominus.auth.create_user(username="john", email="j@ex.com", password="secret")
30
30
  users = await dominus.auth.list_users(status="active")
31
- await dominus.auth.update_password(user_id, "new_password")
32
31
 
33
32
  # Role management
34
33
  role = await dominus.auth.create_role(name="admin", description="Admin role")
@@ -145,21 +144,6 @@ class AuthNamespace:
145
144
  method="DELETE"
146
145
  )
147
146
 
148
- async def update_password(self, user_id: str, password: str) -> Dict[str, Any]:
149
- """Update user password."""
150
- return await self._client._request(
151
- endpoint=f"/api/guardian/users/{user_id}/password",
152
- method="PUT",
153
- body={"password": password}
154
- )
155
-
156
- async def verify_password(self, user_id: str, password: str) -> Dict[str, Any]:
157
- """Verify user password."""
158
- return await self._client._request(
159
- endpoint=f"/api/guardian/users/{user_id}/verify-password",
160
- body={"password": password}
161
- )
162
-
163
147
  # User profiles
164
148
  async def get_user_profile(self, user_id: str) -> Optional[Dict[str, Any]]:
165
149
  """Get user profile by user_id. Returns None if no profile exists."""
@@ -950,6 +950,8 @@ class AuthorityNamespace:
950
950
  system: Optional[str] = None,
951
951
  github_mode: Optional[str] = None,
952
952
  repo_template: Optional[str] = None,
953
+ standalone: Optional[bool] = None,
954
+ root_role: Optional[str] = None,
953
955
  overwrite_existing: Optional[bool] = None,
954
956
  owner_email: Optional[str] = None,
955
957
  execution_mode: Optional[str] = None,
@@ -981,6 +983,8 @@ class AuthorityNamespace:
981
983
  "system": system,
982
984
  "github_mode": github_mode,
983
985
  "repo_template": repo_template,
986
+ "standalone": standalone,
987
+ "root_role": root_role,
984
988
  "overwrite_existing": overwrite_existing,
985
989
  "owner_email": owner_email,
986
990
  "execution_mode": execution_mode,
@@ -329,6 +329,8 @@ class LogsNamespace:
329
329
  until: Optional[str] = None,
330
330
  service: Optional[str] = None,
331
331
  level: Optional[str] = None,
332
+ event_name: Optional[str] = None,
333
+ route_path: Optional[str] = None,
332
334
  company: Optional[str] = None,
333
335
  subject: Optional[str] = None,
334
336
  run_id: Optional[str] = None,
@@ -347,6 +349,8 @@ class LogsNamespace:
347
349
  trace_id: Optional trace_id filter to return only events from a specific trace
348
350
  since: Optional ISO timestamp lower bound
349
351
  level: Optional minimum log level (e.g. debug, info, warn, error)
352
+ event_name: Optional exact event name filter
353
+ route_path: Optional attrs.route_path filter
350
354
  company: Optional canonical company slug filter
351
355
  subject: Optional domain subject filter
352
356
  run_id: Optional workflow or Authority run id filter
@@ -376,6 +380,10 @@ class LogsNamespace:
376
380
  params["service"] = service
377
381
  if level:
378
382
  params["level"] = level
383
+ if event_name:
384
+ params["event_name"] = event_name
385
+ if route_path:
386
+ params["route_path"] = route_path
379
387
  if company:
380
388
  params["company"] = company
381
389
  if subject:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dominus-sdk-python
3
- Version: 9.0.7
3
+ Version: 9.0.9
4
4
  Summary: Python SDK for the Dominus gateway-first platform
5
5
  Author-email: CareBridge Systems <dev@carebridge.io>
6
6
  License-Expression: LicenseRef-Proprietary
@@ -38,8 +38,8 @@ Async Python SDK for the Dominus gateway-first service plane.
38
38
  ## Agent Guide
39
39
 
40
40
  Start with `docs/agent-guide/INDEX.md`. The current snapshot is
41
- `docs/agent-guide/2026-09-03-0942-sdk-python/00-reading-order.md`; the latest
42
- cleanup audit is `docs/janitor/2026-09-03-0942-sdk-python-cleanup-audit.md`.
41
+ `docs/agent-guide/2026-09-07-1135-sdk-python/00-reading-order.md`; the latest
42
+ cleanup audit is `docs/janitor/2026-09-07-1135-sdk-python-cleanup-audit.md`.
43
43
 
44
44
  ## What This Repo Ships
45
45
 
@@ -48,7 +48,7 @@ cleanup audit is `docs/janitor/2026-09-03-0942-sdk-python-cleanup-audit.md`.
48
48
  - Gateway-scoped client mode for MCP and other user-JWT sessions
49
49
  - Transport compatibility for wrapped `{success,data}` responses and unwrapped Warden/control-plane success objects
50
50
  - Local helpers for JWT verification, trace propagation, retries, and console capture
51
- - Current package version: `9.0.6`
51
+ - Current package version: `9.0.8`
52
52
 
53
53
  ## Install
54
54
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "dominus-sdk-python"
7
- version = "9.0.7"
7
+ version = "9.0.9"
8
8
  description = "Python SDK for the Dominus gateway-first platform"
9
9
  readme = "README.md"
10
10
  license = "LicenseRef-Proprietary"
@@ -105,3 +105,10 @@ async def test_nav_item_helpers_preserve_positional_icon_compatibility():
105
105
  assert client.calls[1]["body"]["title"] == "Procedure Settings"
106
106
  assert client.calls[1]["body"]["icon"] == "ClipboardList"
107
107
  assert "path" not in client.calls[1]["body"]
108
+
109
+
110
+ def test_auth_namespace_does_not_expose_retired_guardian_password_routes():
111
+ namespace = AuthNamespace(FakeClient())
112
+
113
+ assert not hasattr(namespace, "update_password")
114
+ assert not hasattr(namespace, "verify_password")
@@ -609,3 +609,36 @@ async def test_bootstrap_provisioning_target_carries_repo_template():
609
609
  )
610
610
  # Absent field keeps the legacy wire body byte-identical.
611
611
  assert "repo_template" not in absent_client.calls[-1]["body"]
612
+
613
+
614
+ def test_bootstrap_signature_carries_standalone_and_root_role():
615
+ bootstrap_sig = inspect.signature(AuthorityNamespace.bootstrap_provisioning_target)
616
+ assert "standalone" in bootstrap_sig.parameters
617
+ assert "root_role" in bootstrap_sig.parameters
618
+
619
+
620
+ @pytest.mark.asyncio
621
+ async def test_bootstrap_provisioning_target_carries_standalone_and_root_role():
622
+ client = FakeClient()
623
+ namespace = AuthorityNamespace(client)
624
+ await namespace.bootstrap_provisioning_target(
625
+ "summit-radiology",
626
+ app_slug="carebridge",
627
+ env="production",
628
+ standalone=True,
629
+ root_role="root",
630
+ )
631
+ assert client.calls[-1]["body"]["standalone"] is True
632
+ assert client.calls[-1]["body"]["root_role"] == "root"
633
+
634
+ absent_client = FakeClient()
635
+ absent_namespace = AuthorityNamespace(absent_client)
636
+ await absent_namespace.bootstrap_provisioning_target(
637
+ "summit-radiology",
638
+ shared_app_slug="shared-core",
639
+ app_slug="carebridge",
640
+ env="production",
641
+ )
642
+ # Absent fields keep the legacy wire body byte-identical.
643
+ assert "standalone" not in absent_client.calls[-1]["body"]
644
+ assert "root_role" not in absent_client.calls[-1]["body"]
@@ -50,6 +50,8 @@ async def test_logs_tail_forwards_business_filters():
50
50
  until="2026-04-11T09:33:00Z",
51
51
  service="dominus-authority",
52
52
  level="error",
53
+ event_name="fast_complete",
54
+ route_path="/api/envoy/complete/fast",
53
55
  company="carebridge-summit",
54
56
  subject="PCM47474562",
55
57
  run_id="run-123",
@@ -63,7 +65,8 @@ async def test_logs_tail_forwards_business_filters():
63
65
  assert client.calls[0]["endpoint"] == (
64
66
  "/api/logs/tail?"
65
67
  "limit=25&trace_id=trace-123&request_id=req-123&since=2026-04-11T08%3A33%3A00Z"
66
- "&until=2026-04-11T09%3A33%3A00Z&service=dominus-authority&level=error&company=carebridge-summit"
68
+ "&until=2026-04-11T09%3A33%3A00Z&service=dominus-authority&level=error&event_name=fast_complete"
69
+ "&route_path=%2Fapi%2Fenvoy%2Fcomplete%2Ffast&company=carebridge-summit"
67
70
  "&subject=PCM47474562&run_id=run-123&deploy_id=deploy-123"
68
71
  "&installation_id=inst-123&artifact_ref="
69
72
  "ar%3A%2F%2Fcarebridge%2Fsummit%2Fproduction%2Fcompany%2Freport_snapshot_current"