mainsequence 9.0.10.dev48__tar.gz → 9.0.11__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 (104) hide show
  1. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/PKG-INFO +1 -1
  2. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/client/agent_runtime_models.py +8 -0
  3. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/client/models_helpers.py +20 -0
  4. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/client/models_user.py +4 -0
  5. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence.egg-info/PKG-INFO +1 -1
  6. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/pyproject.toml +1 -1
  7. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/LICENSE +0 -0
  8. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/README.md +0 -0
  9. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/agent_scaffold/AGENTS.md +0 -0
  10. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/agent_scaffold/skills/a2a_sdk_execution/SKILL.md +0 -0
  11. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/agent_scaffold/skills/application_surfaces/api_surfaces/SKILL.md +0 -0
  12. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/agent_scaffold/skills/mainsequence-inference/SKILL.md +0 -0
  13. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/agent_scaffold/skills/maintenance/bug_auditor/SKILL.md +0 -0
  14. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/agent_scaffold/skills/maintenance/code_repository_maintenance/SKILL.md +0 -0
  15. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/agent_scaffold/skills/maintenance/metatables_transition/SKILL.md +0 -0
  16. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/agent_scaffold/skills/platform_operations/access_control_and_sharing/SKILL.md +0 -0
  17. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/agent_scaffold/skills/platform_operations/orchestration_and_releases/SKILL.md +0 -0
  18. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/agent_scaffold/skills/sdk_code_repository_execution/SKILL.md +0 -0
  19. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/__init__.py +0 -0
  20. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/__main__.py +0 -0
  21. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/_request_identity.py +0 -0
  22. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/bootstrap.py +0 -0
  23. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/cli/__init__.py +0 -0
  24. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/cli/api.py +0 -0
  25. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/cli/browser_auth.py +0 -0
  26. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/cli/cli.py +0 -0
  27. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/cli/code_repository_status.py +0 -0
  28. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/cli/config.py +0 -0
  29. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/cli/docker_utils.py +0 -0
  30. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/cli/doctor.py +0 -0
  31. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/cli/local_ops.py +0 -0
  32. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/cli/model_filters.py +0 -0
  33. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/cli/pydantic_cli.py +0 -0
  34. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/cli/sdk_utils.py +0 -0
  35. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/cli/ssh_utils.py +0 -0
  36. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/cli/ui.py +0 -0
  37. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/client/__init__.py +0 -0
  38. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/client/_transport.py +0 -0
  39. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/client/base.py +0 -0
  40. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/client/client.py +0 -0
  41. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/client/compute_validation.py +0 -0
  42. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/client/exceptions.py +0 -0
  43. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/client/github_issues.py +0 -0
  44. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/client/inference.py +0 -0
  45. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/client/models_foundry.py +0 -0
  46. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/client/observability.py +0 -0
  47. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/client/utils.py +0 -0
  48. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/client/value_sets.py +0 -0
  49. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/code_repository_context.py +0 -0
  50. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/code_repository_skills.py +0 -0
  51. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/defaults.py +0 -0
  52. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/instrumentation/__init__.py +0 -0
  53. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/instrumentation/utils.py +0 -0
  54. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/logconf.py +0 -0
  55. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/repository_identity_security.py +0 -0
  56. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/runtime_credential_exchange.py +0 -0
  57. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/runtime_flags.py +0 -0
  58. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/scaffold_skills.py +0 -0
  59. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/server/__init__.py +0 -0
  60. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/server/caller_assertions.py +0 -0
  61. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence/server/fastapi.py +0 -0
  62. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence.egg-info/SOURCES.txt +0 -0
  63. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence.egg-info/dependency_links.txt +0 -0
  64. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence.egg-info/entry_points.txt +0 -0
  65. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence.egg-info/requires.txt +0 -0
  66. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/mainsequence.egg-info/top_level.txt +0 -0
  67. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/setup.cfg +0 -0
  68. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_auth_bootstrap.py +0 -0
  69. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_auth_precedence.py +0 -0
  70. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_caller_assertions.py +0 -0
  71. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_canonical_api_route_contract.py +0 -0
  72. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_cli_auth_contract.py +0 -0
  73. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_cli_browser_auth.py +0 -0
  74. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_cli_secure_storage.py +0 -0
  75. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_client.py +0 -0
  76. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_code_repository_branch_contract.py +0 -0
  77. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_code_repository_documentation_contract.py +0 -0
  78. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_code_repository_runtime_context.py +0 -0
  79. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_code_repository_skills.py +0 -0
  80. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_credential_repr.py +0 -0
  81. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_dependency_extras.py +0 -0
  82. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_dev_release_version.py +0 -0
  83. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_environment_resource_context.py +0 -0
  84. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_environment_response_contracts.py +0 -0
  85. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_fastapi_request_identity.py +0 -0
  86. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_github_issues_client.py +0 -0
  87. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_http_retry_budget.py +0 -0
  88. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_independent_context.py +0 -0
  89. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_inference_client.py +0 -0
  90. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_instrumentation.py +0 -0
  91. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_job_client.py +0 -0
  92. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_local_ops.py +0 -0
  93. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_logconf.py +0 -0
  94. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_models_user_request_bound_auth.py +0 -0
  95. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_notification_uid_contract.py +0 -0
  96. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_observability_client.py +0 -0
  97. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_runtime_credential_exchange.py +0 -0
  98. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_scaffold_skills.py +0 -0
  99. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_secret_client_model.py +0 -0
  100. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_source_ownership.py +0 -0
  101. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_ssh_utils.py +0 -0
  102. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_tolerant_response_reading.py +0 -0
  103. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_tolerant_value_sets.py +0 -0
  104. {mainsequence-9.0.10.dev48 → mainsequence-9.0.11}/tests/test_user_application_facts.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mainsequence
3
- Version: 9.0.10.dev48
3
+ Version: 9.0.11
4
4
  Summary: Main Sequence SDK
5
5
  Author-email: Main Sequence GmbH <dev@main-sequence.io>
6
6
  License-Expression: MIT
@@ -579,6 +579,14 @@ class Agent(
579
579
  "or null when the Agent has no deployed runtime release."
580
580
  ),
581
581
  )
582
+ workload_user_uid: str | None = Field(
583
+ None,
584
+ description=(
585
+ "Read-only UID of the workload identity, the User this Agent runs as; the "
586
+ "same value its runtime release reports. Pass it to `User.get_by_uid` and "
587
+ "to sharing calls. None when the Agent has no runtime release."
588
+ ),
589
+ )
582
590
  code_repository_branch_uid: str | None = Field(
583
591
  None,
584
592
  description=(
@@ -174,6 +174,16 @@ class Job(CurrentCodeRepositoryBranchCollectionMixin, BaseObjectOrm, BasePydanti
174
174
  examples=["58218213-5e4e-43de-a5bd-6757f4e1c8f6"],
175
175
  )
176
176
 
177
+ workload_user_uid: str | None = Field(
178
+ default=None,
179
+ description=(
180
+ "Read-only UID of the workload identity, the User this Job runs as. "
181
+ "Pass it to `User.get_by_uid` and to sharing calls. None when the Job "
182
+ "has no workload identity, for example a release's backing Job."
183
+ ),
184
+ examples=["88888888-8888-4888-8888-888888888888"],
185
+ )
186
+
177
187
  code_repository_commit_hash: str | None = Field(
178
188
  default=None,
179
189
  description=(
@@ -985,6 +995,16 @@ class ResourceRelease(
985
995
  description="Public UID of the job associated with this resource release.",
986
996
  examples=["7d0ab07c-d1c0-4b7f-9c69-3c1a41c0a4da"],
987
997
  )
998
+ workload_user_uid: str | None = Field(
999
+ None,
1000
+ title="Workload User UID",
1001
+ description=(
1002
+ "Read-only UID of the workload identity, the User this release runs as. "
1003
+ "Pass it to `User.get_by_uid` and to sharing calls. None when the release "
1004
+ "has no workload identity, for example a static-site release."
1005
+ ),
1006
+ examples=["88888888-8888-4888-8888-888888888888"],
1007
+ )
988
1008
  observability: ObservabilityLinks | None = Field(
989
1009
  default=None,
990
1010
  description="Backend-owned runtime observability and related-history capabilities.",
@@ -970,6 +970,10 @@ class User(UserApiBaseObjectOrm, BasePydanticModel):
970
970
  workload in ``job_uid``, ``resource_release_uid`` or ``agent_uid``, without
971
971
  a username, email, join date or name. Fields the row does not carry are
972
972
  ``None``, or empty for lists.
973
+
974
+ The reverse direction is ``workload_user_uid`` on ``Job``,
975
+ ``ResourceRelease`` and ``Agent``: the UID of the User that workload runs
976
+ as, to pass to ``User.get_by_uid`` and to sharing calls.
973
977
  """
974
978
 
975
979
  # Platform facts, not application authorization policy. None means the
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mainsequence
3
- Version: 9.0.10.dev48
3
+ Version: 9.0.11
4
4
  Summary: Main Sequence SDK
5
5
  Author-email: Main Sequence GmbH <dev@main-sequence.io>
6
6
  License-Expression: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "mainsequence"
7
- version = "9.0.10.dev48"
7
+ version = "9.0.11"
8
8
  description = "Main Sequence SDK"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.13"