dominus-sdk-python 6.0.1__tar.gz → 6.1.0__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 (66) hide show
  1. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/PKG-INFO +6 -1
  2. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/README.md +5 -0
  3. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/__init__.py +1 -1
  4. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/namespaces/logs.py +5 -0
  5. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/start.py +7 -3
  6. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus_sdk_python.egg-info/PKG-INFO +6 -1
  7. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/pyproject.toml +1 -1
  8. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/tests/test_logs.py +2 -0
  9. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/config/__init__.py +0 -0
  10. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/config/endpoints.py +0 -0
  11. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/errors.py +0 -0
  12. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/helpers/__init__.py +0 -0
  13. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/helpers/auth.py +0 -0
  14. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/helpers/cache.py +0 -0
  15. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/helpers/console_capture.py +0 -0
  16. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/helpers/core.py +0 -0
  17. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/helpers/crypto.py +0 -0
  18. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/helpers/sse.py +0 -0
  19. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/helpers/trace.py +0 -0
  20. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/namespaces/__init__.py +0 -0
  21. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/namespaces/admin.py +0 -0
  22. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/namespaces/ai.py +0 -0
  23. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/namespaces/artifacts.py +0 -0
  24. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/namespaces/auth.py +0 -0
  25. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/namespaces/authority.py +0 -0
  26. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/namespaces/browser.py +0 -0
  27. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/namespaces/coder.py +0 -0
  28. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/namespaces/courier.py +0 -0
  29. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/namespaces/db.py +0 -0
  30. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/namespaces/ddl.py +0 -0
  31. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/namespaces/deployer.py +0 -0
  32. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/namespaces/fastapi.py +0 -0
  33. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/namespaces/files.py +0 -0
  34. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/namespaces/health.py +0 -0
  35. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/namespaces/jobs.py +0 -0
  36. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/namespaces/platform.py +0 -0
  37. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/namespaces/portal.py +0 -0
  38. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/namespaces/processor.py +0 -0
  39. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/namespaces/recipes.py +0 -0
  40. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/namespaces/redis.py +0 -0
  41. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/namespaces/secrets.py +0 -0
  42. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/namespaces/secure.py +0 -0
  43. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/namespaces/stash.py +0 -0
  44. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/namespaces/sync.py +0 -0
  45. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/namespaces/warden.py +0 -0
  46. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/namespaces/workflow.py +0 -0
  47. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus/services/__init__.py +0 -0
  48. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus_sdk_python.egg-info/SOURCES.txt +0 -0
  49. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus_sdk_python.egg-info/dependency_links.txt +0 -0
  50. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus_sdk_python.egg-info/requires.txt +0 -0
  51. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/dominus_sdk_python.egg-info/top_level.txt +0 -0
  52. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/setup.cfg +0 -0
  53. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/tests/test_auth.py +0 -0
  54. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/tests/test_authority_public_vocabulary.py +0 -0
  55. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/tests/test_browser_namespace.py +0 -0
  56. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/tests/test_control_plane_namespaces.py +0 -0
  57. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/tests/test_errors.py +0 -0
  58. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/tests/test_flat_commands.py +0 -0
  59. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/tests/test_health.py +0 -0
  60. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/tests/test_platform_coder_namespaces.py +0 -0
  61. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/tests/test_provisioning_parity.py +0 -0
  62. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/tests/test_public_exports.py +0 -0
  63. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/tests/test_recipes_namespace.py +0 -0
  64. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/tests/test_transport_compat.py +0 -0
  65. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/tests/test_workflow_lifecycle.py +0 -0
  66. {dominus_sdk_python-6.0.1 → dominus_sdk_python-6.1.0}/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: 6.0.1
3
+ Version: 6.1.0
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
@@ -89,6 +89,11 @@ logs_archive = await dominus.logs.get_archive_status(
89
89
  include_buffer=True,
90
90
  limit=5,
91
91
  )
92
+ machine_logs = await dominus.logs.tail(
93
+ machine_id="mach-abc-123",
94
+ since="2026-04-11T08:33:00Z",
95
+ level="error",
96
+ )
92
97
 
93
98
  # Archive maintenance is explicit and dry-run first.
94
99
  verify = await dominus.authority.verify_timeline_archive_manifests(
@@ -56,6 +56,11 @@ logs_archive = await dominus.logs.get_archive_status(
56
56
  include_buffer=True,
57
57
  limit=5,
58
58
  )
59
+ machine_logs = await dominus.logs.tail(
60
+ machine_id="mach-abc-123",
61
+ since="2026-04-11T08:33:00Z",
62
+ level="error",
63
+ )
59
64
 
60
65
  # Archive maintenance is explicit and dry-run first.
61
66
  verify = await dominus.authority.verify_timeline_archive_manifests(
@@ -164,7 +164,7 @@ from .errors import (
164
164
  TimeoutError as DominusTimeoutError,
165
165
  )
166
166
 
167
- __version__ = "6.0.1"
167
+ __version__ = "6.1.0"
168
168
  __all__ = [
169
169
  # Main SDK instance
170
170
  "dominus",
@@ -335,6 +335,7 @@ class LogsNamespace:
335
335
  deploy_id: Optional[str] = None,
336
336
  installation_id: Optional[str] = None,
337
337
  artifact_ref: Optional[str] = None,
338
+ machine_id: Optional[str] = None,
338
339
  ) -> List[Dict[str, Any]]:
339
340
  """Tail recent logs from the Logs Worker.
340
341
 
@@ -352,6 +353,8 @@ class LogsNamespace:
352
353
  deploy_id: Optional deploy authority id filter
353
354
  installation_id: Optional managed-client installation id filter
354
355
  artifact_ref: Optional artifact ref filter
356
+ machine_id: Optional filter for events whose attrs.machine_id matches.
357
+ Used by per-machine log-tail UIs.
355
358
 
356
359
  Returns:
357
360
  List of log event dicts
@@ -385,6 +388,8 @@ class LogsNamespace:
385
388
  params["installation_id"] = installation_id
386
389
  if artifact_ref:
387
390
  params["artifact_ref"] = artifact_ref
391
+ if machine_id:
392
+ params["machine_id"] = machine_id
388
393
  qs = urlencode(params)
389
394
  endpoint = f"/api/logs/tail?{qs}" if qs else "/api/logs/tail"
390
395
 
@@ -533,13 +533,17 @@ class Dominus:
533
533
  if not path.startswith("/"):
534
534
  path = f"/{path}"
535
535
 
536
- is_base64 = (
536
+ encode_base64 = (
537
537
  "/svc/warden/secrets" in path
538
538
  or "/svc/secrets/" in path
539
539
  or "/svc/admin/" in path
540
+ or "/svc/platform/" in path
541
+ or "/svc/coder/" in path
540
542
  )
541
543
  decode_base64 = (
542
- is_base64
544
+ "/svc/warden/secrets" in path
545
+ or "/svc/secrets/" in path
546
+ or "/svc/admin/" in path
543
547
  or "/svc/database/" in path
544
548
  or "/svc/sync/" in path
545
549
  or "/svc/authority/" in path
@@ -559,7 +563,7 @@ class Dominus:
559
563
  request_content = None
560
564
  request_json = None
561
565
  if not is_get and body is not None:
562
- if is_base64:
566
+ if encode_base64:
563
567
  req_headers["Content-Type"] = "text/plain"
564
568
  request_content = base64.b64encode(json.dumps(body).encode()).decode()
565
569
  else:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dominus-sdk-python
3
- Version: 6.0.1
3
+ Version: 6.1.0
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
@@ -89,6 +89,11 @@ logs_archive = await dominus.logs.get_archive_status(
89
89
  include_buffer=True,
90
90
  limit=5,
91
91
  )
92
+ machine_logs = await dominus.logs.tail(
93
+ machine_id="mach-abc-123",
94
+ since="2026-04-11T08:33:00Z",
95
+ level="error",
96
+ )
92
97
 
93
98
  # Archive maintenance is explicit and dry-run first.
94
99
  verify = await dominus.authority.verify_timeline_archive_manifests(
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "dominus-sdk-python"
7
- version = "6.0.1"
7
+ version = "6.1.0"
8
8
  description = "Python SDK for the Dominus gateway-first platform"
9
9
  readme = "README.md"
10
10
  license = "LicenseRef-Proprietary"
@@ -56,6 +56,7 @@ async def test_logs_tail_forwards_business_filters():
56
56
  deploy_id="deploy-123",
57
57
  installation_id="inst-123",
58
58
  artifact_ref="ar://carebridge/summit/production/company/report_snapshot_current",
59
+ machine_id="mach-abc-123",
59
60
  )
60
61
 
61
62
  assert len(events) == 1
@@ -66,6 +67,7 @@ async def test_logs_tail_forwards_business_filters():
66
67
  "&subject=PCM47474562&run_id=run-123&deploy_id=deploy-123"
67
68
  "&installation_id=inst-123&artifact_ref="
68
69
  "ar%3A%2F%2Fcarebridge%2Fsummit%2Fproduction%2Fcompany%2Freport_snapshot_current"
70
+ "&machine_id=mach-abc-123"
69
71
  )
70
72
  assert client.calls[0]["method"] == "GET"
71
73
  assert client.calls[0]["use_gateway"] is True