mainsequence 8.1.22.dev23__tar.gz → 8.1.23__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 (144) hide show
  1. {mainsequence-8.1.22.dev23/mainsequence.egg-info → mainsequence-8.1.23}/PKG-INFO +1 -1
  2. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/client/models_foundry.py +2 -4
  3. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23/mainsequence.egg-info}/PKG-INFO +1 -1
  4. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/pyproject.toml +1 -1
  5. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_github_issues_client.py +36 -5
  6. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/LICENSE +0 -0
  7. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/MANIFEST.in +0 -0
  8. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/README.md +0 -0
  9. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/agent_scaffold/AGENTS.md +0 -0
  10. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/agent_scaffold/skills/a2a_sdk_execution/SKILL.md +0 -0
  11. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/agent_scaffold/skills/application_surfaces/api_surfaces/SKILL.md +0 -0
  12. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/agent_scaffold/skills/data_access/exploration/SKILL.md +0 -0
  13. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/agent_scaffold/skills/data_publishing/meta_table_migrations/SKILL.md +0 -0
  14. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/agent_scaffold/skills/data_publishing/meta_tables/SKILL.md +0 -0
  15. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/agent_scaffold/skills/data_publishing/time_index_table_updates/SKILL.md +0 -0
  16. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/agent_scaffold/skills/maintenance/bug_auditor/SKILL.md +0 -0
  17. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/agent_scaffold/skills/maintenance/code_repository_maintenance/SKILL.md +0 -0
  18. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/agent_scaffold/skills/platform_operations/access_control_and_sharing/SKILL.md +0 -0
  19. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/agent_scaffold/skills/platform_operations/orchestration_and_releases/SKILL.md +0 -0
  20. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/agent_scaffold/skills/sdk_code_repository_execution/SKILL.md +0 -0
  21. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/__init__.py +0 -0
  22. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/__main__.py +0 -0
  23. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/bootstrap.py +0 -0
  24. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/cli/__init__.py +0 -0
  25. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/cli/api.py +0 -0
  26. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/cli/browser_auth.py +0 -0
  27. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/cli/cli.py +0 -0
  28. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/cli/code_repository_status.py +0 -0
  29. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/cli/config.py +0 -0
  30. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/cli/docker_utils.py +0 -0
  31. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/cli/doctor.py +0 -0
  32. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/cli/local_ops.py +0 -0
  33. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/cli/migrations.py +0 -0
  34. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/cli/model_filters.py +0 -0
  35. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/cli/pydantic_cli.py +0 -0
  36. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/cli/sdk_utils.py +0 -0
  37. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/cli/ssh_utils.py +0 -0
  38. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/cli/ui.py +0 -0
  39. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/client/__init__.py +0 -0
  40. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/client/agent_runtime_models.py +0 -0
  41. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/client/base.py +0 -0
  42. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/client/client.py +0 -0
  43. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/client/compute_validation.py +0 -0
  44. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/client/data_sources_interfaces/__init__.py +0 -0
  45. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/client/data_sources_interfaces/duckdb.py +0 -0
  46. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/client/data_sources_interfaces/local_paths.py +0 -0
  47. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/client/data_sources_interfaces/sqlite.py +0 -0
  48. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/client/dtype_codec.py +0 -0
  49. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/client/exceptions.py +0 -0
  50. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/client/github_issues.py +0 -0
  51. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/client/metatables/__init__.py +0 -0
  52. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/client/metatables/core.py +0 -0
  53. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/client/models_helpers.py +0 -0
  54. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/client/models_user.py +0 -0
  55. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/client/observability.py +0 -0
  56. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/client/utils.py +0 -0
  57. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/client/value_sets.py +0 -0
  58. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/code_repository_context.py +0 -0
  59. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/code_repository_skills.py +0 -0
  60. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/defaults.py +0 -0
  61. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/instrumentation/__init__.py +0 -0
  62. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/instrumentation/utils.py +0 -0
  63. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/logconf.py +0 -0
  64. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/meta_tables/__init__.py +0 -0
  65. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/meta_tables/__main__.py +0 -0
  66. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/meta_tables/compiled_sql/__init__.py +0 -0
  67. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/meta_tables/compiled_sql/v1.py +0 -0
  68. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/meta_tables/future_registry.py +0 -0
  69. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/meta_tables/hashing.py +0 -0
  70. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/meta_tables/migrations/__init__.py +0 -0
  71. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/meta_tables/migrations/alembic.py +0 -0
  72. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/meta_tables/migrations/env.py +0 -0
  73. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/meta_tables/migrations/provider.py +0 -0
  74. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/meta_tables/migrations/registry.py +0 -0
  75. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/meta_tables/migrations/scaffold.py +0 -0
  76. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/meta_tables/migrations/templates/__init__.py +0 -0
  77. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/meta_tables/migrations/templates/env.py.mako +0 -0
  78. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/meta_tables/migrations/templates/script.py.mako +0 -0
  79. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/meta_tables/pydantic_metadata.py +0 -0
  80. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/meta_tables/schema_names.py +0 -0
  81. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/meta_tables/sqlalchemy_contracts.py +0 -0
  82. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/meta_tables/time_index_table_refs.py +0 -0
  83. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/meta_tables/time_index_table_updates/__init__.py +0 -0
  84. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/meta_tables/time_index_table_updates/configuration.py +0 -0
  85. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/meta_tables/time_index_table_updates/dependencies.py +0 -0
  86. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/meta_tables/time_index_table_updates/managers.py +0 -0
  87. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/meta_tables/time_index_table_updates/namespacing.py +0 -0
  88. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/meta_tables/time_index_table_updates/runner.py +0 -0
  89. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/meta_tables/time_index_table_updates/updaters.py +0 -0
  90. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/meta_tables/time_index_table_updates/utils.py +0 -0
  91. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/repository_identity_security.py +0 -0
  92. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/runtime_flags.py +0 -0
  93. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence/scaffold_skills.py +0 -0
  94. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence.egg-info/SOURCES.txt +0 -0
  95. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence.egg-info/dependency_links.txt +0 -0
  96. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence.egg-info/entry_points.txt +0 -0
  97. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence.egg-info/requires.txt +0 -0
  98. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/mainsequence.egg-info/top_level.txt +0 -0
  99. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/setup.cfg +0 -0
  100. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/fixtures/time_index_table_update_hash_v2_golden.json +0 -0
  101. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_auth_precedence.py +0 -0
  102. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_canonical_api_route_contract.py +0 -0
  103. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_cli.py +0 -0
  104. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_cli_browser_auth.py +0 -0
  105. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_cli_migrations.py +0 -0
  106. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_client.py +0 -0
  107. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_code_repository_batch_jobs_from_file.py +0 -0
  108. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_code_repository_branch_contract.py +0 -0
  109. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_code_repository_documentation_contract.py +0 -0
  110. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_code_repository_runtime_context.py +0 -0
  111. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_code_repository_skills.py +0 -0
  112. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_dependency_extras.py +0 -0
  113. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_dev_release_version.py +0 -0
  114. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_duckdb_interface_dimensions.py +0 -0
  115. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_environment_resource_context.py +0 -0
  116. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_environment_response_contracts.py +0 -0
  117. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_filter_normalization.py +0 -0
  118. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_instrumentation.py +0 -0
  119. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_local_ops.py +0 -0
  120. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_logconf.py +0 -0
  121. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_meta_table_migrations.py +0 -0
  122. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_meta_tables_client_models.py +0 -0
  123. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_meta_tables_sqlalchemy_contracts.py +0 -0
  124. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_models_user_request_bound_auth.py +0 -0
  125. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_notification_uid_contract.py +0 -0
  126. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_observability_client.py +0 -0
  127. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_pod_project_resolution.py +0 -0
  128. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_scaffold_skills.py +0 -0
  129. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_schema_names.py +0 -0
  130. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_secret_client_model.py +0 -0
  131. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_source_table_configuration.py +0 -0
  132. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_sqlite_interface_dimensions.py +0 -0
  133. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_ssh_utils.py +0 -0
  134. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_time_index_table_access_dimension_audit.py +0 -0
  135. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_time_index_table_dimension_queries.py +0 -0
  136. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_time_index_table_update_configuration.py +0 -0
  137. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_time_index_table_update_configuration_client.py +0 -0
  138. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_time_index_table_update_flow.py +0 -0
  139. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_time_index_table_update_hard_cut.py +0 -0
  140. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_tolerant_response_reading.py +0 -0
  141. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_tolerant_value_sets.py +0 -0
  142. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_update_runner_uid_runtime.py +0 -0
  143. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_update_statistics.py +0 -0
  144. {mainsequence-8.1.22.dev23 → mainsequence-8.1.23}/tests/test_update_uid_guards.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mainsequence
3
- Version: 8.1.22.dev23
3
+ Version: 8.1.23
4
4
  Summary: Main Sequence SDK
5
5
  Author-email: Main Sequence GmbH <dev@main-sequence.io>
6
6
  License-Expression: LicenseRef-MainSequence-Proprietary
@@ -620,14 +620,12 @@ class CodeRepositoryBranch(BasePydanticModel, BaseObjectOrm):
620
620
  idempotency_key: str,
621
621
  timeout: int | float | tuple[float, float] | None = None,
622
622
  ) -> GitHubIssueMutationResult:
623
- """Create an issue for the process-frozen branch without branch selectors."""
623
+ """Create an issue for this branch, subject to backend authorization."""
624
624
 
625
625
  from .github_issues import _create_github_issue_for_branch
626
626
 
627
- operation = "CodeRepositoryBranch.create_github_issue"
628
- branch_uid = self._resolved_github_issue_branch_uid(operation)
629
627
  return _create_github_issue_for_branch(
630
- branch_uid=branch_uid,
628
+ branch_uid=self.uid,
631
629
  title=title,
632
630
  body=body,
633
631
  idempotency_key=idempotency_key,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mainsequence
3
- Version: 8.1.22.dev23
3
+ Version: 8.1.23
4
4
  Summary: Main Sequence SDK
5
5
  Author-email: Main Sequence GmbH <dev@main-sequence.io>
6
6
  License-Expression: LicenseRef-MainSequence-Proprietary
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "mainsequence"
7
- version = "8.1.22.dev23"
7
+ version = "8.1.23"
8
8
  description = "Main Sequence SDK "
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.13"
@@ -227,7 +227,7 @@ def test_branch_instance_cannot_override_frozen_branch(monkeypatch):
227
227
  (True, None, "requires an Organization Environment"),
228
228
  ],
229
229
  )
230
- def test_branch_issue_operations_require_registered_branch_environment(
230
+ def test_branch_issue_listing_requires_registered_branch_environment(
231
231
  monkeypatch,
232
232
  registered,
233
233
  environment_uid,
@@ -245,10 +245,41 @@ def test_branch_issue_operations_require_registered_branch_environment(
245
245
  )
246
246
 
247
247
  with pytest.raises(code_repository_context.CodeRepositoryContextError, match=message):
248
- _branch().create_github_issue(
249
- title="Failure",
250
- idempotency_key="create-1",
251
- )
248
+ _branch().list_github_issues()
249
+
250
+
251
+ def test_create_issue_uses_target_branch_without_process_branch_resolution(monkeypatch):
252
+ captured = {}
253
+
254
+ def fail_context_resolution(*args, **kwargs):
255
+ pytest.fail("targeted issue creation must not resolve the process branch")
256
+
257
+ monkeypatch.setattr(
258
+ code_repository_context,
259
+ "resolve_code_repository_branch_uid",
260
+ fail_context_resolution,
261
+ )
262
+ monkeypatch.setattr(
263
+ code_repository_context,
264
+ "resolve_organization_environment_uid",
265
+ fail_context_resolution,
266
+ )
267
+ monkeypatch.setattr(
268
+ github_issues,
269
+ "make_request",
270
+ lambda **kwargs: captured.update(kwargs) or Response(201, _issue_payload()),
271
+ )
272
+
273
+ result = _branch(OTHER_BRANCH_UID).create_github_issue(
274
+ title="Deployment failure",
275
+ idempotency_key="cross-branch-create",
276
+ )
277
+
278
+ assert isinstance(result, GitHubIssue)
279
+ assert captured["url"] == (
280
+ "https://backend.example/api/v1/code-repository-branches/"
281
+ f"{OTHER_BRANCH_UID}/github-issues/"
282
+ )
252
283
 
253
284
 
254
285
  def test_create_issue_preserves_body_and_parses_synchronous_response(monkeypatch):