mainsequence 9.0.13.dev55__tar.gz → 9.0.14__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.
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/PKG-INFO +1 -1
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/client/models_user.py +31 -18
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence.egg-info/PKG-INFO +1 -1
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/pyproject.toml +1 -1
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/LICENSE +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/README.md +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/agent_scaffold/AGENTS.md +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/agent_scaffold/skills/a2a_sdk_execution/SKILL.md +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/agent_scaffold/skills/application_surfaces/api_surfaces/SKILL.md +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/agent_scaffold/skills/mainsequence-inference/SKILL.md +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/agent_scaffold/skills/maintenance/bug_auditor/SKILL.md +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/agent_scaffold/skills/maintenance/code_repository_maintenance/SKILL.md +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/agent_scaffold/skills/maintenance/metatables_transition/SKILL.md +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/agent_scaffold/skills/platform_operations/access_control_and_sharing/SKILL.md +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/agent_scaffold/skills/platform_operations/orchestration_and_releases/SKILL.md +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/agent_scaffold/skills/sdk_code_repository_execution/SKILL.md +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/__init__.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/__main__.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/_request_identity.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/bootstrap.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/cli/__init__.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/cli/api.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/cli/browser_auth.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/cli/cli.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/cli/code_repository_status.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/cli/config.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/cli/docker_utils.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/cli/doctor.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/cli/local_ops.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/cli/model_filters.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/cli/pydantic_cli.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/cli/sdk_utils.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/cli/ssh_utils.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/cli/ui.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/client/__init__.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/client/_transport.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/client/agent_runtime_models.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/client/base.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/client/client.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/client/compute_validation.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/client/exceptions.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/client/github_issues.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/client/inference.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/client/models_foundry.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/client/models_helpers.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/client/observability.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/client/utils.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/client/value_sets.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/code_repository_context.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/code_repository_skills.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/defaults.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/instrumentation/__init__.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/instrumentation/utils.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/logconf.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/repository_identity_security.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/runtime_credential_exchange.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/runtime_flags.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/scaffold_skills.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/server/__init__.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/server/caller_assertions.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/server/fastapi.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence.egg-info/SOURCES.txt +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence.egg-info/dependency_links.txt +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence.egg-info/entry_points.txt +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence.egg-info/requires.txt +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence.egg-info/top_level.txt +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/setup.cfg +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_auth_bootstrap.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_auth_precedence.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_caller_assertions.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_canonical_api_route_contract.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_cli_auth_contract.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_cli_browser_auth.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_cli_secure_storage.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_client.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_code_repository_branch_contract.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_code_repository_documentation_contract.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_code_repository_runtime_context.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_code_repository_skills.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_credential_repr.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_dependency_extras.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_dev_release_version.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_environment_resource_context.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_environment_response_contracts.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_fastapi_request_identity.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_github_issues_client.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_http_retry_budget.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_independent_context.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_inference_client.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_instrumentation.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_job_client.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_local_ops.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_logconf.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_models_user_request_bound_auth.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_notification_uid_contract.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_observability_client.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_runtime_credential_exchange.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_scaffold_skills.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_secret_client_model.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_source_ownership.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_ssh_utils.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_tolerant_response_reading.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_tolerant_value_sets.py +0 -0
- {mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_user_application_facts.py +0 -0
|
@@ -198,36 +198,48 @@ class Group(BasePydanticModel):
|
|
|
198
198
|
|
|
199
199
|
|
|
200
200
|
class UserSummary(BasePydanticModel):
|
|
201
|
+
"""A person or workload identity in a team or sharing response.
|
|
202
|
+
|
|
203
|
+
Personal fields are ``None`` for workload identities or when not supplied.
|
|
204
|
+
Team responses carry ``member_kind`` to distinguish people from workloads.
|
|
205
|
+
"""
|
|
206
|
+
|
|
201
207
|
uid: str | None = Field(
|
|
202
208
|
None,
|
|
203
209
|
title="User UID",
|
|
204
210
|
description="Stable public unique identifier of the user.",
|
|
205
211
|
examples=["8f5d6b54-2f5e-4a8b-bb10-0b17f3f4c123"],
|
|
206
212
|
)
|
|
207
|
-
first_name: str = Field(
|
|
208
|
-
|
|
213
|
+
first_name: str | None = Field(
|
|
214
|
+
None,
|
|
209
215
|
title="First Name",
|
|
210
|
-
description="User's given name.",
|
|
216
|
+
description="User's given name; None for workloads or when not supplied.",
|
|
211
217
|
examples=["Jose"],
|
|
212
218
|
)
|
|
213
|
-
last_name: str = Field(
|
|
214
|
-
|
|
219
|
+
last_name: str | None = Field(
|
|
220
|
+
None,
|
|
215
221
|
title="Last Name",
|
|
216
|
-
description="User's family name.",
|
|
222
|
+
description="User's family name; None for workloads or when not supplied.",
|
|
217
223
|
examples=["Ambrosino"],
|
|
218
224
|
)
|
|
219
|
-
username: str = Field(
|
|
220
|
-
|
|
225
|
+
username: str | None = Field(
|
|
226
|
+
None,
|
|
221
227
|
title="Username",
|
|
222
|
-
description="
|
|
228
|
+
description="Platform username; None for workloads or when not supplied.",
|
|
223
229
|
examples=["jose@main-sequence.io"],
|
|
224
230
|
)
|
|
225
|
-
email: str = Field(
|
|
226
|
-
|
|
231
|
+
email: str | None = Field(
|
|
232
|
+
None,
|
|
227
233
|
title="Email",
|
|
228
|
-
description="Primary email address
|
|
234
|
+
description="Primary email address; None for workloads or when not supplied.",
|
|
229
235
|
examples=["jose@main-sequence.io"],
|
|
230
236
|
)
|
|
237
|
+
member_kind: OpenValueSet[Literal["person", "workload"]] | None = Field(
|
|
238
|
+
None,
|
|
239
|
+
title="Member Kind",
|
|
240
|
+
description="Kind of identity in a team response; None when not supplied.",
|
|
241
|
+
examples=["workload"],
|
|
242
|
+
)
|
|
231
243
|
phone_number: str | None = Field(
|
|
232
244
|
None,
|
|
233
245
|
title="Phone Number",
|
|
@@ -983,10 +995,11 @@ class User(_CallerDirectoryReadMixin, UserApiBaseObjectOrm, BasePydanticModel):
|
|
|
983
995
|
``User.filter(identity_type="workload")``. Its row carries ``uid``,
|
|
984
996
|
``identity_type`` (``"workload"``), ``is_active`` and the UID of its
|
|
985
997
|
workload in ``job_uid``, ``resource_release_uid`` or ``agent_uid``, without
|
|
986
|
-
a username, email, join date or person's name.
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
998
|
+
a username, email, join date or person's name. Both listed rows and UID
|
|
999
|
+
lookups carry ``workload_name``, the name of that Job, release or Agent,
|
|
1000
|
+
when the caller can view the workload. It is ``None`` for a workload the
|
|
1001
|
+
caller cannot view, for a person, or when the response does not carry it.
|
|
1002
|
+
Other fields the row does not carry are ``None``, or empty for lists.
|
|
990
1003
|
|
|
991
1004
|
The reverse direction is ``workload_user_uid`` on ``Job``,
|
|
992
1005
|
``ResourceRelease`` and ``Agent``: the UID of the User that workload runs
|
|
@@ -1066,8 +1079,8 @@ class User(_CallerDirectoryReadMixin, UserApiBaseObjectOrm, BasePydanticModel):
|
|
|
1066
1079
|
title="Workload Name",
|
|
1067
1080
|
description=(
|
|
1068
1081
|
"Name of the Job, release or Agent a workload identity belongs to, on a "
|
|
1069
|
-
"listed row
|
|
1070
|
-
"
|
|
1082
|
+
"listed row or UID lookup when the caller can view the workload. None "
|
|
1083
|
+
"for a workload the caller cannot view, for a person, or when not supplied."
|
|
1071
1084
|
),
|
|
1072
1085
|
examples=["nightly-prices"],
|
|
1073
1086
|
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/agent_scaffold/skills/a2a_sdk_execution/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/cli/code_repository_status.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/client/agent_runtime_models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/repository_identity_security.py
RENAMED
|
File without changes
|
{mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence/runtime_credential_exchange.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/mainsequence.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_canonical_api_route_contract.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_code_repository_branch_contract.py
RENAMED
|
File without changes
|
|
File without changes
|
{mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_code_repository_runtime_context.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_environment_resource_context.py
RENAMED
|
File without changes
|
{mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_environment_response_contracts.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence-9.0.13.dev55 → mainsequence-9.0.14}/tests/test_models_user_request_bound_auth.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|