mainsequence 6.0.24__tar.gz → 6.0.26__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-6.0.24/mainsequence.egg-info → mainsequence-6.0.26}/PKG-INFO +9 -16
- {mainsequence-6.0.24 → mainsequence-6.0.26}/README.md +8 -15
- {mainsequence-6.0.24 → mainsequence-6.0.26}/agent_scaffold/skills/platform_operations/orchestration_and_releases/SKILL.md +1 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/client/models_helpers.py +2 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26/mainsequence.egg-info}/PKG-INFO +9 -16
- {mainsequence-6.0.24 → mainsequence-6.0.26}/pyproject.toml +1 -1
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_filter_normalization.py +29 -1
- {mainsequence-6.0.24 → mainsequence-6.0.26}/LICENSE +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/agent_scaffold/AGENTS.md +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/agent_scaffold/skills/a2a_sdk_execution/SKILL.md +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/agent_scaffold/skills/application_surfaces/api_surfaces/SKILL.md +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/agent_scaffold/skills/data_access/exploration/SKILL.md +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/agent_scaffold/skills/data_publishing/data_nodes/SKILL.md +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/agent_scaffold/skills/data_publishing/meta_table_migrations/SKILL.md +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/agent_scaffold/skills/data_publishing/meta_tables/SKILL.md +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/agent_scaffold/skills/maintenance/bug_auditor/SKILL.md +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/agent_scaffold/skills/maintenance/project-maintenance/SKILL.md +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/agent_scaffold/skills/platform_operations/access_control_and_sharing/SKILL.md +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/agent_scaffold/skills/sdk_project_execution/SKILL.md +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/__init__.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/__main__.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/bootstrap.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/cli/__init__.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/cli/api.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/cli/browser_auth.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/cli/cli.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/cli/config.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/cli/docker_utils.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/cli/doctor.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/cli/local_ops.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/cli/migrations.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/cli/model_filters.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/cli/project_status.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/cli/pydantic_cli.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/cli/sdk_utils.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/cli/ssh_utils.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/cli/ui.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/client/__init__.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/client/agent_runtime_models.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/client/base.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/client/client.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/client/compute_validation.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/client/data_sources_interfaces/__init__.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/client/data_sources_interfaces/duckdb.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/client/data_sources_interfaces/local_paths.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/client/data_sources_interfaces/sqlite.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/client/dtype_codec.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/client/exceptions.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/client/fastapi/__init__.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/client/fastapi/auth.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/client/metatables/__init__.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/client/metatables/core.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/client/models_foundry.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/client/models_user.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/client/utils.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/defaults.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/instrumentation/__init__.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/instrumentation/utils.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/logconf.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/__init__.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/__main__.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/compiled_sql/__init__.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/compiled_sql/v1.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/data_nodes/__init__.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/data_nodes/build_operations.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/data_nodes/data_nodes.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/data_nodes/models.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/data_nodes/namespacing.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/data_nodes/persist_managers.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/data_nodes/run_operations.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/data_nodes/utils.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/future_registry.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/hashing.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/migrations/__init__.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/migrations/alembic.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/migrations/env.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/migrations/provider.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/migrations/registry.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/migrations/scaffold.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/migrations/templates/__init__.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/migrations/templates/env.py.mako +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/migrations/templates/script.py.mako +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/pydantic_metadata.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/schema_names.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/sqlalchemy_contracts.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/project_skills.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/runtime_context.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/runtime_flags.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/scaffold_skills.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence.egg-info/SOURCES.txt +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence.egg-info/dependency_links.txt +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence.egg-info/entry_points.txt +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence.egg-info/requires.txt +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence.egg-info/top_level.txt +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/setup.cfg +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_auth_precedence.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_build_operations_hashing.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_canonical_api_route_contract.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_cli.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_cli_browser_auth.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_cli_migrations.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_client.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_data_access_mixin_dimension_audit.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_data_node_storage_dimension_queries.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_data_node_update_flow.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_dependency_extras.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_duckdb_interface_dimensions.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_instrumentation.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_logconf.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_meta_table_migrations.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_meta_tables_client_models.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_meta_tables_sqlalchemy_contracts.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_models_user_request_bound_auth.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_pod_project_resolution.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_project_batch_jobs_from_file.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_project_branch_contract.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_project_skills.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_run_configuration.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_scaffold_skills.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_schema_names.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_secret_client_model.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_source_table_configuration.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_sqlite_interface_dimensions.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_update_runner_uid_runtime.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_update_statistics.py +0 -0
- {mainsequence-6.0.24 → mainsequence-6.0.26}/tests/test_update_uid_guards.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mainsequence
|
|
3
|
-
Version: 6.0.
|
|
3
|
+
Version: 6.0.26
|
|
4
4
|
Summary: Main Sequence SDK
|
|
5
5
|
Author-email: Main Sequence GmbH <dev@main-sequence.io>
|
|
6
6
|
License-Expression: LicenseRef-MainSequence-Proprietary
|
|
@@ -85,28 +85,21 @@ Main package areas:
|
|
|
85
85
|
|
|
86
86
|
Repository areas:
|
|
87
87
|
|
|
88
|
-
- `docs/`:
|
|
89
|
-
- `examples/`: worked examples and usage patterns
|
|
88
|
+
- `docs/`: knowledge guides, CLI docs, and generated reference docs
|
|
90
89
|
- `tests/`: automated tests
|
|
91
90
|
|
|
92
91
|
## Documentation map
|
|
93
92
|
|
|
94
|
-
The documentation is organized into
|
|
93
|
+
The documentation is organized into three reading modes:
|
|
95
94
|
|
|
96
|
-
1. **
|
|
97
|
-
2. **
|
|
98
|
-
3. **
|
|
99
|
-
4. **Reference**: generated API reference
|
|
95
|
+
1. **Knowledge**: deeper conceptual guides
|
|
96
|
+
2. **CLI**: command-focused operational documentation
|
|
97
|
+
3. **Reference**: generated API reference
|
|
100
98
|
|
|
101
99
|
Recommended entry points:
|
|
102
100
|
|
|
103
|
-
-
|
|
104
|
-
- [
|
|
105
|
-
- [Working With MetaTables](docs/tutorial/working_with_meta_tables.md)
|
|
106
|
-
- [Creating a Data Node](docs/tutorial/creating_a_simple_data_node.md)
|
|
107
|
-
- [Role-Based Access Control](docs/tutorial/role_based_access_control.md)
|
|
108
|
-
- [Create Your First API](docs/tutorial/create_your_first_api.md)
|
|
109
|
-
- [Turn Your Project Into an Agent](docs/tutorial/project_to_agent.md)
|
|
101
|
+
- Beginner tutorial:
|
|
102
|
+
- [MainSequence SDK tutorial Project](https://github.com/mainsequence-projects/mainsequence-sdk-tutorial)
|
|
110
103
|
- Knowledge:
|
|
111
104
|
- [Data Nodes](docs/knowledge/data_nodes.md)
|
|
112
105
|
- [MetaTables](docs/knowledge/meta_tables/index.md)
|
|
@@ -220,7 +213,7 @@ black .
|
|
|
220
213
|
|
|
221
214
|
If you are evaluating the platform:
|
|
222
215
|
|
|
223
|
-
- start with the tutorial
|
|
216
|
+
- start with the separate canonical tutorial Project linked above
|
|
224
217
|
|
|
225
218
|
If you are building a feature and already know the area:
|
|
226
219
|
|
|
@@ -40,28 +40,21 @@ Main package areas:
|
|
|
40
40
|
|
|
41
41
|
Repository areas:
|
|
42
42
|
|
|
43
|
-
- `docs/`:
|
|
44
|
-
- `examples/`: worked examples and usage patterns
|
|
43
|
+
- `docs/`: knowledge guides, CLI docs, and generated reference docs
|
|
45
44
|
- `tests/`: automated tests
|
|
46
45
|
|
|
47
46
|
## Documentation map
|
|
48
47
|
|
|
49
|
-
The documentation is organized into
|
|
48
|
+
The documentation is organized into three reading modes:
|
|
50
49
|
|
|
51
|
-
1. **
|
|
52
|
-
2. **
|
|
53
|
-
3. **
|
|
54
|
-
4. **Reference**: generated API reference
|
|
50
|
+
1. **Knowledge**: deeper conceptual guides
|
|
51
|
+
2. **CLI**: command-focused operational documentation
|
|
52
|
+
3. **Reference**: generated API reference
|
|
55
53
|
|
|
56
54
|
Recommended entry points:
|
|
57
55
|
|
|
58
|
-
-
|
|
59
|
-
- [
|
|
60
|
-
- [Working With MetaTables](docs/tutorial/working_with_meta_tables.md)
|
|
61
|
-
- [Creating a Data Node](docs/tutorial/creating_a_simple_data_node.md)
|
|
62
|
-
- [Role-Based Access Control](docs/tutorial/role_based_access_control.md)
|
|
63
|
-
- [Create Your First API](docs/tutorial/create_your_first_api.md)
|
|
64
|
-
- [Turn Your Project Into an Agent](docs/tutorial/project_to_agent.md)
|
|
56
|
+
- Beginner tutorial:
|
|
57
|
+
- [MainSequence SDK tutorial Project](https://github.com/mainsequence-projects/mainsequence-sdk-tutorial)
|
|
65
58
|
- Knowledge:
|
|
66
59
|
- [Data Nodes](docs/knowledge/data_nodes.md)
|
|
67
60
|
- [MetaTables](docs/knowledge/meta_tables/index.md)
|
|
@@ -175,7 +168,7 @@ black .
|
|
|
175
168
|
|
|
176
169
|
If you are evaluating the platform:
|
|
177
170
|
|
|
178
|
-
- start with the tutorial
|
|
171
|
+
- start with the separate canonical tutorial Project linked above
|
|
179
172
|
|
|
180
173
|
If you are building a feature and already know the area:
|
|
181
174
|
|
|
@@ -253,6 +253,7 @@ The SDK surface also accepts:
|
|
|
253
253
|
Do not claim there is a CLI command for `deploy_current_version` unless the local CLI actually exposes one. In this SDK, the manual detail action is available through the client model.
|
|
254
254
|
|
|
255
255
|
Inspect the unified run's `state`, `phase`, `outcome`, `steps`, `logs`, and `error` fields. Do not use legacy resource-release deployment status fields or filters.
|
|
256
|
+
Detail responses also expose `builder_image` and `builder_runtime`; these are empty strings when the run has no static-site builder metadata.
|
|
256
257
|
|
|
257
258
|
## Review Rules
|
|
258
259
|
|
|
@@ -1292,6 +1292,8 @@ class DeploymentRun(BaseObjectOrm, BasePydanticModel):
|
|
|
1292
1292
|
artifact_context: dict[str, Any] = Field(default_factory=dict)
|
|
1293
1293
|
cleanup_context: dict[str, Any] = Field(default_factory=dict)
|
|
1294
1294
|
result: dict[str, Any] = Field(default_factory=dict)
|
|
1295
|
+
builder_image: str = ""
|
|
1296
|
+
builder_runtime: str = ""
|
|
1295
1297
|
steps: list[DeploymentRunStep] = Field(default_factory=list)
|
|
1296
1298
|
logs: DeploymentRunLogReference
|
|
1297
1299
|
error: DeploymentRunError | None = None
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mainsequence
|
|
3
|
-
Version: 6.0.
|
|
3
|
+
Version: 6.0.26
|
|
4
4
|
Summary: Main Sequence SDK
|
|
5
5
|
Author-email: Main Sequence GmbH <dev@main-sequence.io>
|
|
6
6
|
License-Expression: LicenseRef-MainSequence-Proprietary
|
|
@@ -85,28 +85,21 @@ Main package areas:
|
|
|
85
85
|
|
|
86
86
|
Repository areas:
|
|
87
87
|
|
|
88
|
-
- `docs/`:
|
|
89
|
-
- `examples/`: worked examples and usage patterns
|
|
88
|
+
- `docs/`: knowledge guides, CLI docs, and generated reference docs
|
|
90
89
|
- `tests/`: automated tests
|
|
91
90
|
|
|
92
91
|
## Documentation map
|
|
93
92
|
|
|
94
|
-
The documentation is organized into
|
|
93
|
+
The documentation is organized into three reading modes:
|
|
95
94
|
|
|
96
|
-
1. **
|
|
97
|
-
2. **
|
|
98
|
-
3. **
|
|
99
|
-
4. **Reference**: generated API reference
|
|
95
|
+
1. **Knowledge**: deeper conceptual guides
|
|
96
|
+
2. **CLI**: command-focused operational documentation
|
|
97
|
+
3. **Reference**: generated API reference
|
|
100
98
|
|
|
101
99
|
Recommended entry points:
|
|
102
100
|
|
|
103
|
-
-
|
|
104
|
-
- [
|
|
105
|
-
- [Working With MetaTables](docs/tutorial/working_with_meta_tables.md)
|
|
106
|
-
- [Creating a Data Node](docs/tutorial/creating_a_simple_data_node.md)
|
|
107
|
-
- [Role-Based Access Control](docs/tutorial/role_based_access_control.md)
|
|
108
|
-
- [Create Your First API](docs/tutorial/create_your_first_api.md)
|
|
109
|
-
- [Turn Your Project Into an Agent](docs/tutorial/project_to_agent.md)
|
|
101
|
+
- Beginner tutorial:
|
|
102
|
+
- [MainSequence SDK tutorial Project](https://github.com/mainsequence-projects/mainsequence-sdk-tutorial)
|
|
110
103
|
- Knowledge:
|
|
111
104
|
- [Data Nodes](docs/knowledge/data_nodes.md)
|
|
112
105
|
- [MetaTables](docs/knowledge/meta_tables/index.md)
|
|
@@ -220,7 +213,7 @@ black .
|
|
|
220
213
|
|
|
221
214
|
If you are evaluating the platform:
|
|
222
215
|
|
|
223
|
-
- start with the tutorial
|
|
216
|
+
- start with the separate canonical tutorial Project linked above
|
|
224
217
|
|
|
225
218
|
If you are building a feature and already know the area:
|
|
226
219
|
|
|
@@ -2224,6 +2224,8 @@ def test_resource_release_deploy_current_version_posts_detail_action(monkeypatch
|
|
|
2224
2224
|
"artifact_context": {},
|
|
2225
2225
|
"cleanup_context": {},
|
|
2226
2226
|
"result": {},
|
|
2227
|
+
"builder_image": "",
|
|
2228
|
+
"builder_runtime": "",
|
|
2227
2229
|
"steps": [],
|
|
2228
2230
|
"logs": {
|
|
2229
2231
|
"state": "available",
|
|
@@ -2250,6 +2252,8 @@ def test_resource_release_deploy_current_version_posts_detail_action(monkeypatch
|
|
|
2250
2252
|
assert run.state == "succeeded"
|
|
2251
2253
|
assert run.phase == "completed"
|
|
2252
2254
|
assert run.outcome == "deployed"
|
|
2255
|
+
assert run.builder_image == ""
|
|
2256
|
+
assert run.builder_runtime == ""
|
|
2253
2257
|
assert run.logs.state == "available"
|
|
2254
2258
|
assert run.error is None
|
|
2255
2259
|
assert captured == {
|
|
@@ -2287,6 +2291,8 @@ def test_deployment_run_collection_and_detail_use_unified_resource_release_contr
|
|
|
2287
2291
|
"artifact_context": {},
|
|
2288
2292
|
"cleanup_context": {},
|
|
2289
2293
|
"result": {},
|
|
2294
|
+
"builder_image": "",
|
|
2295
|
+
"builder_runtime": "",
|
|
2290
2296
|
"steps": [],
|
|
2291
2297
|
"logs": {
|
|
2292
2298
|
"state": "available",
|
|
@@ -2296,6 +2302,22 @@ def test_deployment_run_collection_and_detail_use_unified_resource_release_contr
|
|
|
2296
2302
|
"error": None,
|
|
2297
2303
|
}
|
|
2298
2304
|
|
|
2305
|
+
collection_payload = {
|
|
2306
|
+
key: value
|
|
2307
|
+
for key, value in response_payload.items()
|
|
2308
|
+
if key
|
|
2309
|
+
not in {
|
|
2310
|
+
"revision_context",
|
|
2311
|
+
"trigger_context",
|
|
2312
|
+
"artifact_context",
|
|
2313
|
+
"cleanup_context",
|
|
2314
|
+
"result",
|
|
2315
|
+
"builder_image",
|
|
2316
|
+
"builder_runtime",
|
|
2317
|
+
"steps",
|
|
2318
|
+
}
|
|
2319
|
+
}
|
|
2320
|
+
|
|
2299
2321
|
class FakeResponse:
|
|
2300
2322
|
status_code = 200
|
|
2301
2323
|
|
|
@@ -2308,7 +2330,7 @@ def test_deployment_run_collection_and_detail_use_unified_resource_release_contr
|
|
|
2308
2330
|
def _fake_make_request(*, s, loaders, r_type, url, payload, time_out=None):
|
|
2309
2331
|
captured.append({"r_type": r_type, "url": url, "payload": payload})
|
|
2310
2332
|
if url.rstrip("/") == models_helpers_mod.DeploymentRun.get_object_url():
|
|
2311
|
-
return FakeResponse({"results": [dict(
|
|
2333
|
+
return FakeResponse({"results": [dict(collection_payload)], "next": None})
|
|
2312
2334
|
return FakeResponse(dict(response_payload))
|
|
2313
2335
|
|
|
2314
2336
|
monkeypatch.setattr(
|
|
@@ -2329,6 +2351,8 @@ def test_deployment_run_collection_and_detail_use_unified_resource_release_contr
|
|
|
2329
2351
|
assert detail.state == "succeeded"
|
|
2330
2352
|
assert detail.phase == "completed"
|
|
2331
2353
|
assert detail.outcome == "deployed"
|
|
2354
|
+
assert detail.builder_image == ""
|
|
2355
|
+
assert detail.builder_runtime == ""
|
|
2332
2356
|
assert detail.logs.state == "available"
|
|
2333
2357
|
assert detail.error is None
|
|
2334
2358
|
assert captured[0]["payload"] == {
|
|
@@ -2358,6 +2382,8 @@ def test_unified_deployment_run_models_and_filters(monkeypatch):
|
|
|
2358
2382
|
"created_at": "2026-07-19T12:00:00Z",
|
|
2359
2383
|
"started_at": "2026-07-19T12:00:01Z",
|
|
2360
2384
|
"finished_at": None,
|
|
2385
|
+
"builder_image": "us-docker.pkg.dev/platform/static-builder:latest",
|
|
2386
|
+
"builder_runtime": "nodejs22",
|
|
2361
2387
|
"logs": {
|
|
2362
2388
|
"state": "available",
|
|
2363
2389
|
"url": f"/api/v1/deployment-runs/{run_uid}/logs/",
|
|
@@ -2377,6 +2403,8 @@ def test_unified_deployment_run_models_and_filters(monkeypatch):
|
|
|
2377
2403
|
|
|
2378
2404
|
assert run.target.uid == target_uid
|
|
2379
2405
|
assert run.steps == []
|
|
2406
|
+
assert run.builder_image == "us-docker.pkg.dev/platform/static-builder:latest"
|
|
2407
|
+
assert run.builder_runtime == "nodejs22"
|
|
2380
2408
|
assert normalized == {
|
|
2381
2409
|
"project_branch_uid": project_branch_uid,
|
|
2382
2410
|
"target_type__in": ["resource_release", "static_site"],
|
|
File without changes
|
|
File without changes
|
{mainsequence-6.0.24 → mainsequence-6.0.26}/agent_scaffold/skills/a2a_sdk_execution/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
{mainsequence-6.0.24 → mainsequence-6.0.26}/agent_scaffold/skills/data_access/exploration/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence-6.0.24 → mainsequence-6.0.26}/agent_scaffold/skills/maintenance/bug_auditor/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence-6.0.24 → mainsequence-6.0.26}/agent_scaffold/skills/sdk_project_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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/client/data_sources_interfaces/__init__.py
RENAMED
|
File without changes
|
{mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/client/data_sources_interfaces/duckdb.py
RENAMED
|
File without changes
|
|
File without changes
|
{mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/client/data_sources_interfaces/sqlite.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
|
{mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/compiled_sql/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/data_nodes/build_operations.py
RENAMED
|
File without changes
|
{mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/data_nodes/data_nodes.py
RENAMED
|
File without changes
|
|
File without changes
|
{mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/data_nodes/namespacing.py
RENAMED
|
File without changes
|
{mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/data_nodes/persist_managers.py
RENAMED
|
File without changes
|
{mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/data_nodes/run_operations.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
|
{mainsequence-6.0.24 → mainsequence-6.0.26}/mainsequence/meta_tables/sqlalchemy_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
|
|
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-6.0.24 → mainsequence-6.0.26}/tests/test_data_node_storage_dimension_queries.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|