dominus-sdk-python 3.0.2__tar.gz → 3.0.4__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.
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/PKG-INFO +5 -2
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/README.md +4 -1
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/__init__.py +4 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/config/endpoints.py +16 -16
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/namespaces/__init__.py +4 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/namespaces/authority.py +267 -62
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/namespaces/db.py +4 -4
- dominus_sdk_python-3.0.4/dominus/namespaces/deployer.py +39 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/namespaces/secrets.py +1 -1
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/namespaces/sync.py +6 -6
- dominus_sdk_python-3.0.4/dominus/namespaces/warden.py +39 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/namespaces/workflow.py +10 -10
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/start.py +131 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus_sdk_python.egg-info/PKG-INFO +5 -2
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus_sdk_python.egg-info/SOURCES.txt +3 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/pyproject.toml +1 -1
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/tests/test_authority_public_vocabulary.py +83 -12
- dominus_sdk_python-3.0.4/tests/test_control_plane_namespaces.py +49 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/tests/test_provisioning_parity.py +2 -2
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/tests/test_public_exports.py +8 -1
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/tests/test_workflow_lifecycle.py +2 -2
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/config/__init__.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/errors.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/helpers/__init__.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/helpers/auth.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/helpers/cache.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/helpers/console_capture.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/helpers/core.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/helpers/crypto.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/helpers/sse.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/helpers/trace.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/namespaces/admin.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/namespaces/ai.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/namespaces/artifacts.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/namespaces/auth.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/namespaces/courier.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/namespaces/ddl.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/namespaces/fastapi.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/namespaces/files.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/namespaces/health.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/namespaces/jobs.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/namespaces/logs.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/namespaces/portal.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/namespaces/processor.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/namespaces/redis.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/namespaces/secure.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus/services/__init__.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus_sdk_python.egg-info/dependency_links.txt +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus_sdk_python.egg-info/requires.txt +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/dominus_sdk_python.egg-info/top_level.txt +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/setup.cfg +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/tests/test_auth.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/tests/test_errors.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/tests/test_flat_commands.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/tests/test_health.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/tests/test_logs.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/tests/test_transport_compat.py +0 -0
- {dominus_sdk_python-3.0.2 → dominus_sdk_python-3.0.4}/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: 3.0.
|
|
3
|
+
Version: 3.0.4
|
|
4
4
|
Summary: Python SDK for the Dominus gateway-first platform
|
|
5
5
|
Author-email: CareBridge Systems <dev@carebridge.io>
|
|
6
6
|
License: Proprietary
|
|
@@ -41,7 +41,7 @@ Async Python SDK for the Dominus gateway-first service plane.
|
|
|
41
41
|
- Namespace-first API with a small root shortcut surface
|
|
42
42
|
- Gateway-scoped client mode for MCP and other user-JWT sessions
|
|
43
43
|
- Local helpers for JWT verification, trace propagation, retries, and console capture
|
|
44
|
-
- Current package version: `3.0.
|
|
44
|
+
- Current package version: `3.0.4`
|
|
45
45
|
|
|
46
46
|
## Install
|
|
47
47
|
|
|
@@ -95,6 +95,7 @@ JWT and selected scope headers directly through Gateway.
|
|
|
95
95
|
|
|
96
96
|
## Transport Model
|
|
97
97
|
|
|
98
|
+
- Default HTTP targets are the production gateway (`https://gateway.getdominus.app`); they do not change based on your app’s git branch or PyPI package variant. Set `DOMINUS_GATEWAY_URL` (or `DOMINUS_BASE_URL` / `DOMINUS_JWT_URL`) only for local or custom routing.
|
|
98
99
|
- `DOMINUS_TOKEN` is exchanged for a JWT through `POST /jwt/mint`
|
|
99
100
|
- Service JWTs are cached for 14 minutes with a 60-second refresh window
|
|
100
101
|
- Auth-required worker routes still send base64-encoded JSON bodies as `text/plain`
|
|
@@ -125,6 +126,8 @@ JWT and selected scope headers directly through Gateway.
|
|
|
125
126
|
| `processor` | Processor | Batch and single-job processing |
|
|
126
127
|
| `sync` | Sync Worker | KV synchronization |
|
|
127
128
|
| `authority` | Dominus Authority | Runs, companies, deploys, managed clients, context |
|
|
129
|
+
| `deployer` | Deployer | Thin operator control-plane request surface |
|
|
130
|
+
| `warden` | Warden | Thin operator control-plane request surface |
|
|
128
131
|
| `fastapi` | Local decorators | `@jwt`, `@psk`, `@scopes(...)` |
|
|
129
132
|
|
|
130
133
|
## Root Shortcuts
|
|
@@ -8,7 +8,7 @@ Async Python SDK for the Dominus gateway-first service plane.
|
|
|
8
8
|
- Namespace-first API with a small root shortcut surface
|
|
9
9
|
- Gateway-scoped client mode for MCP and other user-JWT sessions
|
|
10
10
|
- Local helpers for JWT verification, trace propagation, retries, and console capture
|
|
11
|
-
- Current package version: `3.0.
|
|
11
|
+
- Current package version: `3.0.4`
|
|
12
12
|
|
|
13
13
|
## Install
|
|
14
14
|
|
|
@@ -62,6 +62,7 @@ JWT and selected scope headers directly through Gateway.
|
|
|
62
62
|
|
|
63
63
|
## Transport Model
|
|
64
64
|
|
|
65
|
+
- Default HTTP targets are the production gateway (`https://gateway.getdominus.app`); they do not change based on your app’s git branch or PyPI package variant. Set `DOMINUS_GATEWAY_URL` (or `DOMINUS_BASE_URL` / `DOMINUS_JWT_URL`) only for local or custom routing.
|
|
65
66
|
- `DOMINUS_TOKEN` is exchanged for a JWT through `POST /jwt/mint`
|
|
66
67
|
- Service JWTs are cached for 14 minutes with a 60-second refresh window
|
|
67
68
|
- Auth-required worker routes still send base64-encoded JSON bodies as `text/plain`
|
|
@@ -92,6 +93,8 @@ JWT and selected scope headers directly through Gateway.
|
|
|
92
93
|
| `processor` | Processor | Batch and single-job processing |
|
|
93
94
|
| `sync` | Sync Worker | KV synchronization |
|
|
94
95
|
| `authority` | Dominus Authority | Runs, companies, deploys, managed clients, context |
|
|
96
|
+
| `deployer` | Deployer | Thin operator control-plane request surface |
|
|
97
|
+
| `warden` | Warden | Thin operator control-plane request surface |
|
|
95
98
|
| `fastapi` | Local decorators | `@jwt`, `@psk`, `@scopes(...)` |
|
|
96
99
|
|
|
97
100
|
## Root Shortcuts
|
|
@@ -111,6 +111,8 @@ from .namespaces.jobs import JobsNamespace
|
|
|
111
111
|
from .namespaces.processor import ProcessorNamespace
|
|
112
112
|
from .namespaces.sync import SyncNamespace
|
|
113
113
|
from .namespaces.authority import AuthorityNamespace
|
|
114
|
+
from .namespaces.deployer import DeployerNamespace
|
|
115
|
+
from .namespaces.warden import WardenNamespace
|
|
114
116
|
|
|
115
117
|
# Export AI namespace for agent-runtime operations
|
|
116
118
|
from .namespaces.ai import (
|
|
@@ -211,6 +213,8 @@ __all__ = [
|
|
|
211
213
|
"ProcessorNamespace",
|
|
212
214
|
"SyncNamespace",
|
|
213
215
|
"AuthorityNamespace",
|
|
216
|
+
"DeployerNamespace",
|
|
217
|
+
"WardenNamespace",
|
|
214
218
|
# AI namespace for agent-runtime operations
|
|
215
219
|
"AiNamespace",
|
|
216
220
|
"RagSubNamespace",
|
|
@@ -2,13 +2,17 @@
|
|
|
2
2
|
Dominus SDK Endpoints
|
|
3
3
|
|
|
4
4
|
Gateway URL for service routing and health checks.
|
|
5
|
-
JWT URL for authentication (JWT minting).
|
|
5
|
+
JWT URL for authentication (JWT minting) — defaults to the same host as the gateway.
|
|
6
6
|
Logs URL for log ingestion.
|
|
7
7
|
Base URL for SDK requests (defaults to gateway).
|
|
8
8
|
|
|
9
|
+
Defaults always target the production gateway. They do not depend on the caller’s
|
|
10
|
+
git branch, PyPI package variant, or deployment environment. Override only with
|
|
11
|
+
DOMINUS_* env vars for local or advanced routing.
|
|
12
|
+
|
|
9
13
|
Configuration:
|
|
10
14
|
Set DOMINUS_GATEWAY_URL to override the gateway URL.
|
|
11
|
-
Set DOMINUS_JWT_URL to override the JWT minting URL.
|
|
15
|
+
Set DOMINUS_JWT_URL to override the JWT minting URL (defaults to gateway URL).
|
|
12
16
|
Set DOMINUS_LOGS_URL to override the logs URL.
|
|
13
17
|
Set DOMINUS_BASE_URL to override the SDK request base URL.
|
|
14
18
|
Example: export DOMINUS_BASE_URL=http://localhost:5000
|
|
@@ -18,23 +22,21 @@ Usage:
|
|
|
18
22
|
"""
|
|
19
23
|
import os
|
|
20
24
|
|
|
21
|
-
#
|
|
25
|
+
# Production gateway (Cloudflare Worker). Canonical default for all SDK HTTP traffic.
|
|
22
26
|
_DEFAULT_GATEWAY_URL = "https://gateway.getdominus.app"
|
|
23
|
-
_DEFAULT_JWT_URL = "https://jwt.getdominus.app"
|
|
24
27
|
_DEFAULT_LOGS_URL = "https://logs.getdominus.app"
|
|
25
|
-
_DEFAULT_BASE_URL = _DEFAULT_GATEWAY_URL
|
|
26
28
|
|
|
27
29
|
# Gateway URL for service routing (can be overridden via DOMINUS_GATEWAY_URL)
|
|
28
30
|
GATEWAY_URL = os.environ.get("DOMINUS_GATEWAY_URL", _DEFAULT_GATEWAY_URL)
|
|
29
31
|
|
|
30
|
-
# JWT
|
|
31
|
-
JWT_URL = os.environ.get("DOMINUS_JWT_URL",
|
|
32
|
+
# JWT mint/JWKS: same host as gateway by default (matches Node SDK).
|
|
33
|
+
JWT_URL = os.environ.get("DOMINUS_JWT_URL", GATEWAY_URL)
|
|
32
34
|
|
|
33
35
|
# Logs URL for log ingestion (can be overridden via DOMINUS_LOGS_URL)
|
|
34
36
|
LOGS_URL = os.environ.get("DOMINUS_LOGS_URL", _DEFAULT_LOGS_URL)
|
|
35
37
|
|
|
36
|
-
# Base URL for SDK
|
|
37
|
-
BASE_URL = os.environ.get("DOMINUS_BASE_URL",
|
|
38
|
+
# Base URL for non-gateway SDK paths defaults to the same resolved gateway URL.
|
|
39
|
+
BASE_URL = os.environ.get("DOMINUS_BASE_URL", GATEWAY_URL)
|
|
38
40
|
|
|
39
41
|
# Legacy aliases retained as gateway-first aliases.
|
|
40
42
|
SOVEREIGN_URL = BASE_URL
|
|
@@ -77,12 +79,11 @@ def get_gateway_url() -> str:
|
|
|
77
79
|
|
|
78
80
|
def get_jwt_url() -> str:
|
|
79
81
|
"""
|
|
80
|
-
Get the
|
|
82
|
+
Get the base URL for JWT mint/JWKS (defaults to the same host as the gateway).
|
|
81
83
|
|
|
82
|
-
Returns
|
|
83
|
-
otherwise returns the default Cloudflare Worker URL.
|
|
84
|
+
Returns DOMINUS_JWT_URL if set, otherwise the same resolution as get_gateway_url().
|
|
84
85
|
"""
|
|
85
|
-
return os.environ.get("DOMINUS_JWT_URL",
|
|
86
|
+
return os.environ.get("DOMINUS_JWT_URL", get_gateway_url())
|
|
86
87
|
|
|
87
88
|
|
|
88
89
|
def get_logs_url() -> str:
|
|
@@ -99,10 +100,9 @@ def get_base_url() -> str:
|
|
|
99
100
|
"""
|
|
100
101
|
Get the SDK request base URL.
|
|
101
102
|
|
|
102
|
-
Returns
|
|
103
|
-
otherwise returns the default gateway URL.
|
|
103
|
+
Returns DOMINUS_BASE_URL if set, otherwise the same resolution as get_gateway_url().
|
|
104
104
|
"""
|
|
105
|
-
return os.environ.get("DOMINUS_BASE_URL",
|
|
105
|
+
return os.environ.get("DOMINUS_BASE_URL", get_gateway_url())
|
|
106
106
|
|
|
107
107
|
|
|
108
108
|
# DEPRECATED - use get_base_url()
|
|
@@ -15,6 +15,8 @@ from .jobs import JobsNamespace
|
|
|
15
15
|
from .processor import ProcessorNamespace
|
|
16
16
|
from .sync import SyncNamespace
|
|
17
17
|
from .authority import AuthorityNamespace
|
|
18
|
+
from .deployer import DeployerNamespace
|
|
19
|
+
from .warden import WardenNamespace
|
|
18
20
|
from .ai import (
|
|
19
21
|
AiNamespace,
|
|
20
22
|
RagSubNamespace,
|
|
@@ -40,6 +42,8 @@ __all__ = [
|
|
|
40
42
|
"ProcessorNamespace",
|
|
41
43
|
"SyncNamespace",
|
|
42
44
|
"AuthorityNamespace",
|
|
45
|
+
"DeployerNamespace",
|
|
46
|
+
"WardenNamespace",
|
|
43
47
|
"AiNamespace",
|
|
44
48
|
"RagSubNamespace",
|
|
45
49
|
"ArtifactsSubNamespace",
|