dominus-sdk-python 4.6.2__py3-none-any.whl → 5.0.0__py3-none-any.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.
@@ -2,8 +2,8 @@
2
2
  Authority Namespace - Dominus Authority service surface.
3
3
 
4
4
  Canonical SDK entry point for the dominus-authority service. Mirrors the MCP
5
- ``authority_*`` tool surface so application code can drive runs, companies,
6
- deploys, managed clients, timelines, dossiers, and Authority context resolution
5
+ ``authority_*`` tool surface so application code can drive runs, provisioning
6
+ targets, deploys, managed clients, timelines, dossiers, and Authority context resolution
7
7
  without touching workflow-manager / client-worker / deploy-worker routes
8
8
  directly.
9
9
 
@@ -44,8 +44,8 @@ def _normalize_run_kind_token(raw: Optional[str]) -> str:
44
44
  return s
45
45
 
46
46
 
47
- def _is_company_bootstrap_run_kind(run_kind: Optional[str]) -> bool:
48
- return _normalize_run_kind_token(run_kind) == "company_bootstrap"
47
+ def _is_provisioning_bootstrap_run_kind(run_kind: Optional[str]) -> bool:
48
+ return _normalize_run_kind_token(run_kind) == "provisioning_bootstrap"
49
49
 
50
50
 
51
51
  def _query_string(params: Mapping[str, Any]) -> str:
@@ -62,7 +62,7 @@ class AuthorityNamespace:
62
62
  Usage::
63
63
 
64
64
  await dominus.authority.ensure_run(workflow_id="...", subject="PCM47474562")
65
- await dominus.authority.list_companies()
65
+ await dominus.authority.list_provisioning_targets()
66
66
  await dominus.authority.get_run_dossier(run_id)
67
67
  """
68
68
 
@@ -170,9 +170,8 @@ class AuthorityNamespace:
170
170
  workflow_id: Optional[str] = None,
171
171
  workflow_ref: Optional[str] = None,
172
172
  run_kind: Optional[str] = None,
173
- bootstrap_profile: Optional[str] = None,
174
- company_slug: Optional[str] = None,
175
- slug: Optional[str] = None,
173
+ bootstrap_profile_ref: Optional[str] = None,
174
+ provisioning_target_slug: Optional[str] = None,
176
175
  instance_id: Optional[str] = None,
177
176
  instance_key: Optional[str] = None,
178
177
  group: Optional[str] = None,
@@ -209,22 +208,20 @@ class AuthorityNamespace:
209
208
 
210
209
  Calls ``POST /api/authority/runs/ensure``.
211
210
 
212
- For company bootstrap, pass ``run_kind="company.bootstrap"`` (or ``company_bootstrap``) plus
213
- ``company``, ``company_slug``, or ``slug``. Optional bootstrap fields mirror
214
- ``bootstrap_company`` (``execution_mode``, ``region``, ``bootstrap_profile``, ).
211
+ For provisioning bootstrap, pass ``run_kind="provisioning.bootstrap"`` plus
212
+ ``provisioning_target_slug``. Optional bootstrap fields mirror
213
+ ``bootstrap_provisioning_target`` (``execution_mode``, ``region``, ``bootstrap_profile_ref``, ...).
215
214
  """
216
- bootstrap = _is_company_bootstrap_run_kind(run_kind)
215
+ bootstrap = _is_provisioning_bootstrap_run_kind(run_kind)
217
216
  if not bootstrap and not workflow_id and not workflow_ref:
218
217
  raise ValueError(
219
218
  "ensure_run requires workflow_id or workflow_ref unless run_kind is "
220
- "company.bootstrap / company_bootstrap"
219
+ "provisioning.bootstrap"
221
220
  )
222
221
  if bootstrap:
223
- co = (company_slug or slug or company or "").strip()
224
- if not co:
225
- raise ValueError(
226
- "ensure_run with run_kind company.bootstrap requires company, company_slug, or slug"
227
- )
222
+ target_slug = (provisioning_target_slug or "").strip()
223
+ if not target_slug:
224
+ raise ValueError("ensure_run with run_kind provisioning.bootstrap requires provisioning_target_slug")
228
225
  if mode == "streaming":
229
226
  raise ValueError(
230
227
  "Authority runs do not support streaming mode; "
@@ -237,7 +234,8 @@ class AuthorityNamespace:
237
234
  if bootstrap:
238
235
  body = _compact({
239
236
  "run_kind": run_kind,
240
- "bootstrap_profile": bootstrap_profile,
237
+ "bootstrap_profile_ref": bootstrap_profile_ref,
238
+ "provisioning_target_slug": provisioning_target_slug,
241
239
  "workflow_id": workflow_id,
242
240
  "workflow_ref": workflow_ref,
243
241
  "instance_id": instance_id,
@@ -245,9 +243,6 @@ class AuthorityNamespace:
245
243
  "group": group,
246
244
  "owner": owner,
247
245
  "subject": subject,
248
- "company": company,
249
- "company_slug": company_slug,
250
- "slug": slug,
251
246
  "bindings": bindings,
252
247
  "inputs": inputs,
253
248
  "context": context,
@@ -269,7 +264,6 @@ class AuthorityNamespace:
269
264
  body = _compact({
270
265
  "workflow_id": workflow_id,
271
266
  "workflow_ref": workflow_ref,
272
- "bootstrap_profile": bootstrap_profile,
273
267
  "instance_id": instance_id,
274
268
  "instance_key": instance_key,
275
269
  "group": group,
@@ -779,13 +773,13 @@ class AuthorityNamespace:
779
773
  )
780
774
 
781
775
  # ==================================================================
782
- # Companies
776
+ # Provisioning Targets
783
777
  # ==================================================================
784
778
 
785
- async def create_company(
779
+ async def create_provisioning_target(
786
780
  self,
787
781
  *,
788
- company_slug: str,
782
+ provisioning_target_slug: str,
789
783
  display_name: Optional[str] = None,
790
784
  description: Optional[str] = None,
791
785
  bootstrap_status: Optional[str] = None,
@@ -794,34 +788,43 @@ class AuthorityNamespace:
794
788
  app_slug: Optional[str] = None,
795
789
  env: Optional[str] = None,
796
790
  target_org_id: Optional[str] = None,
791
+ target_app_slug: Optional[str] = None,
797
792
  target_env: Optional[str] = None,
793
+ shared_app_slug: Optional[str] = None,
798
794
  initiator_type: Optional[str] = None,
799
795
  initiator_id: Optional[str] = None,
800
796
  idempotency_key: Optional[str] = None,
801
797
  timeout: Optional[float] = None,
802
798
  ) -> Dict[str, Any]:
803
- """Create a new company. ``POST /api/authority/companies``."""
804
- if not company_slug:
805
- raise ValueError("create_company requires company_slug")
799
+ """Create a new provisioning target. ``POST /api/authority/provisioning-targets``."""
800
+ if not provisioning_target_slug:
801
+ raise ValueError("create_provisioning_target requires provisioning_target_slug")
806
802
  body = _compact({
807
- "company_slug": company_slug,
803
+ "provisioning_target_slug": provisioning_target_slug,
808
804
  "display_name": display_name,
809
805
  "description": description,
810
806
  "bootstrap_status": bootstrap_status,
811
807
  "bootstrap_run_id": bootstrap_run_id,
812
808
  "metadata": metadata,
813
809
  **self._initiator(initiator_type, initiator_id, idempotency_key),
814
- **self._scope(app_slug, env, target_org_id, target_env),
810
+ **self._scope(
811
+ app_slug,
812
+ env,
813
+ target_org_id,
814
+ target_env,
815
+ target_app_slug=target_app_slug,
816
+ shared_app_slug=shared_app_slug,
817
+ ),
815
818
  })
816
819
  return await self._post(
817
- "/api/authority/companies",
820
+ "/api/authority/provisioning-targets",
818
821
  body,
819
822
  timeout=self._http_timeout(timeout, 30.0),
820
823
  )
821
824
 
822
- async def get_company(
825
+ async def get_provisioning_target(
823
826
  self,
824
- company_slug: str,
827
+ provisioning_target_slug: str,
825
828
  *,
826
829
  app_slug: Optional[str] = None,
827
830
  env: Optional[str] = None,
@@ -829,9 +832,9 @@ class AuthorityNamespace:
829
832
  target_env: Optional[str] = None,
830
833
  timeout: Optional[float] = None,
831
834
  ) -> Dict[str, Any]:
832
- """Get an Authority company. ``GET /api/authority/companies/{company}``."""
833
- if not company_slug:
834
- raise ValueError("company_slug is required")
835
+ """Get an Authority provisioning target. ``GET /api/authority/provisioning-targets/{provisioning_target_slug}``."""
836
+ if not provisioning_target_slug:
837
+ raise ValueError("provisioning_target_slug is required")
835
838
  tid, tev = self._target_query_params(target_org_id, target_env)
836
839
  qs = _query_string({
837
840
  "app_slug": app_slug,
@@ -840,11 +843,11 @@ class AuthorityNamespace:
840
843
  "target_env": tev,
841
844
  })
842
845
  return await self._get(
843
- f"/api/authority/companies/{quote(company_slug, safe='')}{qs}",
846
+ f"/api/authority/provisioning-targets/{quote(provisioning_target_slug, safe='')}{qs}",
844
847
  timeout=self._http_timeout(timeout, 30.0),
845
848
  )
846
849
 
847
- async def list_companies(
850
+ async def list_provisioning_targets(
848
851
  self,
849
852
  *,
850
853
  status: Optional[str] = None,
@@ -856,7 +859,7 @@ class AuthorityNamespace:
856
859
  offset: int = 0,
857
860
  timeout: Optional[float] = None,
858
861
  ) -> Dict[str, Any]:
859
- """List Authority companies. ``GET /api/authority/companies``."""
862
+ """List Authority provisioning targets. ``GET /api/authority/provisioning-targets``."""
860
863
  tid, tev = self._target_query_params(target_org_id, target_env)
861
864
  qs = _query_string({
862
865
  "app_slug": app_slug,
@@ -868,18 +871,18 @@ class AuthorityNamespace:
868
871
  "offset": offset,
869
872
  })
870
873
  return await self._get(
871
- f"/api/authority/companies{qs}",
874
+ f"/api/authority/provisioning-targets{qs}",
872
875
  timeout=self._http_timeout(timeout, 30.0),
873
876
  )
874
877
 
875
- async def bootstrap_company(
878
+ async def bootstrap_provisioning_target(
876
879
  self,
877
- company_slug: str,
880
+ provisioning_target_slug: str,
878
881
  *,
879
882
  action: Optional[str] = None,
880
883
  run_id: Optional[str] = None,
881
884
  reason: Optional[str] = None,
882
- bootstrap_profile: Optional[str] = None,
885
+ bootstrap_profile_ref: Optional[str] = None,
883
886
  shared_app_slug: Optional[str] = None,
884
887
  region: Optional[str] = None,
885
888
  system: Optional[str] = None,
@@ -902,14 +905,14 @@ class AuthorityNamespace:
902
905
  idempotency_key: Optional[str] = None,
903
906
  timeout: Optional[float] = None,
904
907
  ) -> Dict[str, Any]:
905
- """Trigger or replay company bootstrap. ``POST /api/authority/companies/{company}/bootstrap``."""
906
- if not company_slug:
907
- raise ValueError("company_slug is required")
908
+ """Trigger or replay provisioning target bootstrap. ``POST /api/authority/provisioning-targets/{provisioning_target_slug}/bootstrap``."""
909
+ if not provisioning_target_slug:
910
+ raise ValueError("provisioning_target_slug is required")
908
911
  body = _compact({
909
912
  "action": action,
910
913
  "run_id": run_id,
911
914
  "reason": reason,
912
- "bootstrap_profile": bootstrap_profile,
915
+ "bootstrap_profile_ref": bootstrap_profile_ref,
913
916
  "shared_app_slug": shared_app_slug,
914
917
  "region": region,
915
918
  "system": system,
@@ -933,36 +936,36 @@ class AuthorityNamespace:
933
936
  ),
934
937
  })
935
938
  return await self._post(
936
- f"/api/authority/companies/{quote(company_slug, safe='')}/bootstrap",
939
+ f"/api/authority/provisioning-targets/{quote(provisioning_target_slug, safe='')}/bootstrap",
937
940
  body,
938
941
  timeout=self._http_timeout(timeout, 60.0),
939
942
  )
940
943
 
941
- async def get_company_bootstrap(
944
+ async def get_provisioning_target_bootstrap(
942
945
  self,
943
- company_slug: str,
946
+ provisioning_target_slug: str,
944
947
  *,
945
948
  run_id: Optional[str] = None,
946
949
  app_slug: Optional[str] = None,
947
950
  env: Optional[str] = None,
948
951
  timeout: Optional[float] = None,
949
952
  ) -> Dict[str, Any]:
950
- """Get company bootstrap state. ``GET /api/authority/companies/{company}/bootstrap``."""
951
- if not company_slug:
952
- raise ValueError("company_slug is required")
953
+ """Get provisioning target bootstrap state. ``GET /api/authority/provisioning-targets/{provisioning_target_slug}/bootstrap``."""
954
+ if not provisioning_target_slug:
955
+ raise ValueError("provisioning_target_slug is required")
953
956
  qs = _query_string({
954
957
  "app_slug": app_slug,
955
958
  "env": env,
956
959
  "run_id": run_id,
957
960
  })
958
961
  return await self._get(
959
- f"/api/authority/companies/{quote(company_slug, safe='')}/bootstrap{qs}",
962
+ f"/api/authority/provisioning-targets/{quote(provisioning_target_slug, safe='')}/bootstrap{qs}",
960
963
  timeout=self._http_timeout(timeout, 30.0),
961
964
  )
962
965
 
963
- async def get_company_dossier(
966
+ async def get_provisioning_target_dossier(
964
967
  self,
965
- company_slug: str,
968
+ provisioning_target_slug: str,
966
969
  *,
967
970
  app_slug: Optional[str] = None,
968
971
  env: Optional[str] = None,
@@ -974,9 +977,9 @@ class AuthorityNamespace:
974
977
  limit: Optional[int] = None,
975
978
  timeout: Optional[float] = None,
976
979
  ) -> Dict[str, Any]:
977
- """Get full Authority dossier for a company. ``GET /api/authority/dossiers/company/{company}``."""
978
- if not company_slug:
979
- raise ValueError("company_slug is required")
980
+ """Get full Authority dossier for a provisioning target. ``GET /api/authority/dossiers/provisioning-target/{provisioning_target_slug}``."""
981
+ if not provisioning_target_slug:
982
+ raise ValueError("provisioning_target_slug is required")
980
983
  tid, tev = self._target_query_params(target_org_id, target_env)
981
984
  qs = _query_string({
982
985
  "app_slug": app_slug,
@@ -989,7 +992,7 @@ class AuthorityNamespace:
989
992
  "limit": limit,
990
993
  })
991
994
  return await self._get(
992
- f"/api/authority/dossiers/company/{quote(company_slug, safe='')}{qs}",
995
+ f"/api/authority/dossiers/provisioning-target/{quote(provisioning_target_slug, safe='')}{qs}",
993
996
  timeout=self._http_timeout(timeout, 30.0),
994
997
  )
995
998
 
dominus/start.py CHANGED
@@ -168,7 +168,7 @@ class Dominus:
168
168
  from .namespaces.sync import SyncNamespace
169
169
  self.sync = SyncNamespace(self)
170
170
 
171
- # Authority service (runs, companies, deploys, managed clients, dossiers)
171
+ # Authority service (runs, provisioning targets, deploys, managed clients, dossiers)
172
172
  from .namespaces.authority import AuthorityNamespace
173
173
  self.authority = AuthorityNamespace(self)
174
174
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dominus-sdk-python
3
- Version: 4.6.2
3
+ Version: 5.0.0
4
4
  Summary: Python SDK for the Dominus gateway-first platform
5
5
  Author-email: CareBridge Systems <dev@carebridge.io>
6
6
  License: Proprietary
@@ -198,7 +198,7 @@ JWT and selected scope headers directly through Gateway.
198
198
  | `jobs` | Job Worker | Enqueue, poll, dead-letter management |
199
199
  | `processor` | Processor | Batch and single-job processing |
200
200
  | `sync` | Sync Worker | KV synchronization |
201
- | `authority` | Dominus Authority | Runs, companies, deploys, managed clients, context |
201
+ | `authority` | Dominus Authority | Runs, provisioning targets, deploys, managed clients, context |
202
202
  | `browser` | Browser Worker | Browser run health, ensure/start/status/result/retry/nudge/cancel/timeline/dossier |
203
203
  | `deployer` | Deployer | Thin operator control-plane request surface |
204
204
  | `warden` | Warden | Thin operator control-plane request surface |
@@ -1,6 +1,6 @@
1
1
  dominus/__init__.py,sha256=fXMmrG8nn-vuCCSCbWfUYjZTWuTgPPgSlBERSxiba5s,7070
2
2
  dominus/errors.py,sha256=NthcR-o1Q1nQsE3ZSHStcW_RdZ8LQ06mPDSenY1txgM,8547
3
- dominus/start.py,sha256=Dn6uN2z0KkiJmM8rOLU20JlslZ-xhOLQb2hcJOzHEYo,49839
3
+ dominus/start.py,sha256=rZsBQQw5khy-N_Pk_0pEgJfZSrWp_sroYe3pdKpT_fY,49850
4
4
  dominus/config/__init__.py,sha256=nvLLNh4dM_MCqcfF3XFS2NnVn44q0RYHEfAPP-2G5To,434
5
5
  dominus/config/endpoints.py,sha256=IFioVY3jQ5Mqy65L6rNbEXyPUfYTaXRQkfyGdKv33A8,4140
6
6
  dominus/helpers/__init__.py,sha256=cyoBvw1QJugtGt0gYitIz1yxOaMmBa-wMXqbh-fi4PU,61
@@ -16,7 +16,7 @@ dominus/namespaces/admin.py,sha256=qkGoteAJ6cqdNub4zL1mtyxAQtsM3-nUplRSgw2fMZY,1
16
16
  dominus/namespaces/ai.py,sha256=Kr_eY-SkEfC-b1fhVVv40pXn_GHkxRzMGD47WoTgu9M,48555
17
17
  dominus/namespaces/artifacts.py,sha256=MgjkjSmUP_5XGTAFU2UQ1VU3Vju3kVuvDqxChosP2J0,22246
18
18
  dominus/namespaces/auth.py,sha256=YA61WjeRewatrz6BTPhRC95jDgYk3b2QDlH0xdGUceg,67795
19
- dominus/namespaces/authority.py,sha256=vfXNc6A-eAeOzSuyMpBmkWjUvFVXvuelrn3O9YcIY9E,76874
19
+ dominus/namespaces/authority.py,sha256=11QgW6-EC37qP5Xt-hO_GM7JvX5aaKepgAWnIQDAzlw,77645
20
20
  dominus/namespaces/browser.py,sha256=mFxQCvwFy5XmSVIXwwOP2B5WpDnm62U-n-nDlCVn_e8,9042
21
21
  dominus/namespaces/courier.py,sha256=7ZuwTWzVGBPTnqPV1VqPdme6PkPyhQOddwaI1wxrlE8,8324
22
22
  dominus/namespaces/db.py,sha256=dv4IZACziub7OE8i_4q_Z31uVYJglE12TFkFIbFnYjw,15157
@@ -38,7 +38,7 @@ dominus/namespaces/sync.py,sha256=mGwMNwc_iWoKgS94n1staPdsKBHNvliMG7omokl7Qmk,21
38
38
  dominus/namespaces/warden.py,sha256=ebbCeBJJwK9uALEj2aDbvWJ5HTlOXOpXJOwzokH1cso,1139
39
39
  dominus/namespaces/workflow.py,sha256=1LMzlYoVImtdpnuenJDtpx7dB2wdNVE3tSBFn-ZAyJA,47204
40
40
  dominus/services/__init__.py,sha256=LQl5sx6DHhX1xCN3MRoUgffxqwm3Mfm525hijyFods8,43
41
- dominus_sdk_python-4.6.2.dist-info/METADATA,sha256=nfp-o802nj5qms1_1exjBlmGebXLKAwYiOSiHKO4_zM,8900
42
- dominus_sdk_python-4.6.2.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
43
- dominus_sdk_python-4.6.2.dist-info/top_level.txt,sha256=515zxMIbX0DpheRbjvNqKIt_AFqdFjX41jtyp_SqLf4,8
44
- dominus_sdk_python-4.6.2.dist-info/RECORD,,
41
+ dominus_sdk_python-5.0.0.dist-info/METADATA,sha256=ZHHkFlZzl_ZCPvz-4XfuPU7IsY8uGMdm4CQ3LeYgQyU,8911
42
+ dominus_sdk_python-5.0.0.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
43
+ dominus_sdk_python-5.0.0.dist-info/top_level.txt,sha256=515zxMIbX0DpheRbjvNqKIt_AFqdFjX41jtyp_SqLf4,8
44
+ dominus_sdk_python-5.0.0.dist-info/RECORD,,