mainsequence 4.3.7__tar.gz → 4.3.9__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-4.3.7/mainsequence.egg-info → mainsequence-4.3.9}/PKG-INFO +1 -1
- {mainsequence-4.3.7 → mainsequence-4.3.9}/agent_scaffold/skills/data_publishing/meta_tables/SKILL.md +20 -6
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/meta_tables/migrations.py +27 -1
- {mainsequence-4.3.7 → mainsequence-4.3.9/mainsequence.egg-info}/PKG-INFO +1 -1
- {mainsequence-4.3.7 → mainsequence-4.3.9}/pyproject.toml +1 -1
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_meta_table_migrations.py +24 -12
- {mainsequence-4.3.7 → mainsequence-4.3.9}/LICENSE +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/README.md +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/agent_scaffold/AGENTS.md +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/agent_scaffold/skills/a2a_communication/SKILL.md +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/agent_scaffold/skills/application_surfaces/api_surfaces/SKILL.md +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/agent_scaffold/skills/command_center/adapter_from_api/SKILL.md +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/agent_scaffold/skills/command_center/api_mock_prototyping/SKILL.md +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/agent_scaffold/skills/command_center/app_components/SKILL.md +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/agent_scaffold/skills/command_center/connections/SKILL.md +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/agent_scaffold/skills/command_center/workspace_analysis/SKILL.md +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/agent_scaffold/skills/command_center/workspace_builder/SKILL.md +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/agent_scaffold/skills/command_center/workspace_design/SKILL.md +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/agent_scaffold/skills/dashboards/streamlit/SKILL.md +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/agent_scaffold/skills/data_access/exploration/SKILL.md +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/agent_scaffold/skills/data_publishing/data_nodes/SKILL.md +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/agent_scaffold/skills/maintenance/bug_auditor/SKILL.md +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/agent_scaffold/skills/ms-markets/SKILL.md +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/agent_scaffold/skills/platform_operations/access_control_and_sharing/SKILL.md +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/agent_scaffold/skills/platform_operations/orchestration_and_releases/SKILL.md +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/agent_scaffold/skills/project_builder/SKILL.md +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/agent_scaffold/skills/project_to_agent/SKILL.md +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/__init__.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/__main__.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/bootstrap.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/cli/__init__.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/cli/api.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/cli/browser_auth.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/cli/cli.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/cli/config.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/cli/docker_utils.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/cli/doctor.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/cli/local_ops.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/cli/migrations.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/cli/model_filters.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/cli/project_status.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/cli/pydantic_cli.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/cli/sdk_utils.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/cli/ssh_utils.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/cli/ui.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/__init__.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/agent_runtime_models.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/base.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/client.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/command_center/__init__.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/command_center/app_component.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/command_center/connections.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/command_center/data_models.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/command_center/workspace.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/command_center/workspace_snapshot.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/compute_validation.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/data_sources_interfaces/__init__.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/data_sources_interfaces/duckdb.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/data_sources_interfaces/local_paths.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/data_sources_interfaces/sqlite.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/dtype_codec.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/exceptions.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/fastapi/__init__.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/fastapi/auth.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/metatables/__init__.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/metatables/core.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/models_foundry.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/models_helpers.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/models_user.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/utils.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/defaults.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/instrumentation/__init__.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/instrumentation/utils.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/logconf.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/meta_tables/__init__.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/meta_tables/__main__.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/meta_tables/compiled_sql/__init__.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/meta_tables/compiled_sql/v1.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/meta_tables/data_nodes/__init__.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/meta_tables/data_nodes/build_operations.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/meta_tables/data_nodes/data_nodes.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/meta_tables/data_nodes/models.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/meta_tables/data_nodes/namespacing.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/meta_tables/data_nodes/persist_managers.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/meta_tables/data_nodes/run_operations.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/meta_tables/data_nodes/utils.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/meta_tables/future_registry.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/meta_tables/hashing.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/meta_tables/pydantic_metadata.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/meta_tables/schema_names.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/meta_tables/sqlalchemy_contracts.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/runtime_flags.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence.egg-info/SOURCES.txt +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence.egg-info/dependency_links.txt +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence.egg-info/entry_points.txt +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence.egg-info/requires.txt +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence.egg-info/top_level.txt +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/setup.cfg +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_auth_precedence.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_build_operations_hashing.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_cli.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_cli_browser_auth.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_cli_migrations.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_client.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_command_center_app_component_models.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_command_center_data_models.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_command_center_models.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_data_access_mixin_dimension_audit.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_data_node_storage_dimension_queries.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_data_node_update_flow.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_dependency_extras.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_duckdb_interface_dimensions.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_filter_normalization.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_instrumentation.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_logconf.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_meta_tables_client_models.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_meta_tables_sqlalchemy_contracts.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_models_user_request_bound_auth.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_pod_project_resolution.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_project_batch_jobs_from_file.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_run_configuration.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_schema_names.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_secret_client_model.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_source_table_configuration.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_sqlite_interface_dimensions.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_update_runner_uid_runtime.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_update_statistics.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_update_uid_guards.py +0 -0
- {mainsequence-4.3.7 → mainsequence-4.3.9}/tests/test_workspace_snapshot.py +0 -0
{mainsequence-4.3.7 → mainsequence-4.3.9}/agent_scaffold/skills/data_publishing/meta_tables/SKILL.md
RENAMED
|
@@ -127,10 +127,22 @@ Do not hand-build contract fragments when the SQLAlchemy helper can derive them.
|
|
|
127
127
|
For `platform_managed`, inherit from `PlatformManagedMetaTable`.
|
|
128
128
|
|
|
129
129
|
Declare an explicit project-prefixed SQLAlchemy `__tablename__`. Use
|
|
130
|
-
`schema_table_name(
|
|
131
|
-
generate that name
|
|
132
|
-
|
|
133
|
-
|
|
130
|
+
`schema_table_name(app, concept, suffix=None)` from `mainsequence.meta_tables`
|
|
131
|
+
to generate that name:
|
|
132
|
+
|
|
133
|
+
```python
|
|
134
|
+
def schema_table_name(
|
|
135
|
+
app: str,
|
|
136
|
+
concept: str,
|
|
137
|
+
suffix: str | None = None,
|
|
138
|
+
) -> str: ...
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Use `app` for the project/package prefix, `concept` for the table concept, and
|
|
142
|
+
`suffix` for a namespace, variant, or bounded specialization when the same
|
|
143
|
+
concept exists in multiple logical scopes. The mixin derives only the logical
|
|
144
|
+
`storage_hash` from storage-relevant configuration and table shape; it must not
|
|
145
|
+
use that hash as the SQLAlchemy table name.
|
|
134
146
|
|
|
135
147
|
When a platform-managed table must support in-place contract migrations from its
|
|
136
148
|
first version, use Alembic. Keep the SDK model as a normal
|
|
@@ -179,6 +191,7 @@ from mainsequence.meta_tables import PlatformManagedMetaTable, schema_table_name
|
|
|
179
191
|
|
|
180
192
|
PROJECT_NAME = "sdk_examples"
|
|
181
193
|
ACCOUNT_TABLE_NAME = schema_table_name(PROJECT_NAME, "account")
|
|
194
|
+
BROKER_ACCOUNT_TABLE_NAME = schema_table_name(PROJECT_NAME, "account", suffix="broker")
|
|
182
195
|
|
|
183
196
|
|
|
184
197
|
class Account(PlatformManagedMetaTable, Base):
|
|
@@ -326,8 +339,9 @@ SQLAlchemy table name used by the provider model. Keep that table name stable
|
|
|
326
339
|
when a class is renamed or moved but must keep the same platform identity.
|
|
327
340
|
When declaring an explicit identifier, explicit physical table name, or Alembic
|
|
328
341
|
version table name, prefix it with the project or package name rather than using
|
|
329
|
-
a bare table name. Use `schema_table_name(
|
|
330
|
-
physical table and Alembic version table names.
|
|
342
|
+
a bare table name. Use `schema_table_name(app, concept, suffix=None)` for the
|
|
343
|
+
physical table and Alembic version table names. Use `suffix` for a namespace or
|
|
344
|
+
variant, for example `schema_table_name("msm", "positions", suffix="broker")`.
|
|
331
345
|
|
|
332
346
|
Do not ask users to construct backend migration payloads, call low-level
|
|
333
347
|
migration request models, or use SDK helper functions directly. The backend
|
|
@@ -930,7 +930,9 @@ def _collection_create_row_from_registration_request(
|
|
|
930
930
|
"alembic_revision": alembic_revision,
|
|
931
931
|
"physical_table_name": str(physical_table_name),
|
|
932
932
|
"protect_from_deletion": bool(getattr(request, "protect_from_deletion", False)),
|
|
933
|
-
"table_contract":
|
|
933
|
+
"table_contract": _collection_create_table_contract_payload(
|
|
934
|
+
request.table_contract
|
|
935
|
+
),
|
|
934
936
|
}
|
|
935
937
|
time_index_name = getattr(request, "time_index_name", None)
|
|
936
938
|
if time_index_name not in (None, ""):
|
|
@@ -944,6 +946,30 @@ def _collection_create_row_from_registration_request(
|
|
|
944
946
|
return row
|
|
945
947
|
|
|
946
948
|
|
|
949
|
+
def _collection_create_table_contract_payload(table_contract: Any) -> dict[str, Any]:
|
|
950
|
+
if isinstance(table_contract, MetaTableContract):
|
|
951
|
+
payload = table_contract.model_dump(mode="json", exclude_none=True)
|
|
952
|
+
elif hasattr(table_contract, "model_dump"):
|
|
953
|
+
payload = table_contract.model_dump(mode="json", exclude_none=True)
|
|
954
|
+
elif isinstance(table_contract, Mapping):
|
|
955
|
+
payload = dict(table_contract)
|
|
956
|
+
else:
|
|
957
|
+
raise TypeError("Alembic MetaTable collection-create requires table_contract.")
|
|
958
|
+
|
|
959
|
+
physical = payload.get("physical")
|
|
960
|
+
if hasattr(physical, "model_dump"):
|
|
961
|
+
physical_payload = physical.model_dump(mode="json", exclude_none=True)
|
|
962
|
+
elif isinstance(physical, Mapping):
|
|
963
|
+
physical_payload = dict(physical)
|
|
964
|
+
else:
|
|
965
|
+
physical_payload = None
|
|
966
|
+
if physical_payload is not None:
|
|
967
|
+
for schema_key in ("schema", "schema_", "table_schema", "schema_name"):
|
|
968
|
+
physical_payload.pop(schema_key, None)
|
|
969
|
+
payload["physical"] = physical_payload
|
|
970
|
+
return payload
|
|
971
|
+
|
|
972
|
+
|
|
947
973
|
def _request_contract_physical_table_name(request: Any) -> str | None:
|
|
948
974
|
table_contract = getattr(request, "table_contract", None)
|
|
949
975
|
if isinstance(table_contract, MetaTableContract):
|
|
@@ -853,10 +853,12 @@ def test_prepare_for_alembic_preserves_authored_table_names(monkeypatch):
|
|
|
853
853
|
assert all(table["management_mode"] == "platform_managed" for table in rows)
|
|
854
854
|
assert all("schema_management" not in table for table in rows)
|
|
855
855
|
assert all(table["protect_from_deletion"] is False for table in rows)
|
|
856
|
-
assert not
|
|
857
|
-
assert not
|
|
858
|
-
assert not
|
|
859
|
-
assert not
|
|
856
|
+
assert "indexes" not in rows[0]["table_contract"]
|
|
857
|
+
assert "indexes" not in rows[1]["table_contract"]
|
|
858
|
+
assert "foreign_keys" not in rows[0]["table_contract"]
|
|
859
|
+
assert "foreign_keys" not in rows[1]["table_contract"]
|
|
860
|
+
assert "schema" not in rows[0]["table_contract"]["physical"]
|
|
861
|
+
assert "schema" not in rows[1]["table_contract"]["physical"]
|
|
860
862
|
|
|
861
863
|
response_tables = []
|
|
862
864
|
for table in rows:
|
|
@@ -909,12 +911,20 @@ def test_prepare_for_alembic_preserves_authored_table_names(monkeypatch):
|
|
|
909
911
|
]
|
|
910
912
|
assert Account.__table__.name == "example_assets__account"
|
|
911
913
|
assert Asset.__table__.name == "example_assets__asset"
|
|
912
|
-
assert
|
|
913
|
-
|
|
914
|
+
assert (
|
|
915
|
+
reserved_payloads[0]["table_contract"]["physical"]["table_name"]
|
|
916
|
+
== "example_assets__account"
|
|
917
|
+
)
|
|
918
|
+
assert (
|
|
919
|
+
reserved_payloads[1]["table_contract"]["physical"]["table_name"]
|
|
920
|
+
== "example_assets__asset"
|
|
921
|
+
)
|
|
914
922
|
assert "backend" not in str(next(iter(Asset.__table__.indexes)).name)
|
|
915
923
|
assert next(iter(Asset.__table__.foreign_key_constraints)).name == "asset_account_uid_fkey"
|
|
916
|
-
assert not
|
|
917
|
-
assert not
|
|
924
|
+
assert "indexes" not in reserved_payloads[1]["table_contract"]
|
|
925
|
+
assert "foreign_keys" not in reserved_payloads[1]["table_contract"]
|
|
926
|
+
assert "schema" not in reserved_payloads[0]["table_contract"]["physical"]
|
|
927
|
+
assert "schema" not in reserved_payloads[1]["table_contract"]["physical"]
|
|
918
928
|
assert "schema_management" not in reserved_payloads[0]
|
|
919
929
|
assert reserved_payloads[0]["protect_from_deletion"] is False
|
|
920
930
|
|
|
@@ -958,8 +968,9 @@ def test_prepare_for_alembic_does_not_resolve_foreign_key_targets(monkeypatch):
|
|
|
958
968
|
assert rows[0]["migration_namespace"] == "markets"
|
|
959
969
|
assert rows[0]["migration_provider_key"] == "sample:markets"
|
|
960
970
|
assert rows[0]["is_alembic_managed"] is True
|
|
961
|
-
assert not
|
|
962
|
-
assert not
|
|
971
|
+
assert "indexes" not in rows[0]["table_contract"]
|
|
972
|
+
assert "foreign_keys" not in rows[0]["table_contract"]
|
|
973
|
+
assert "schema" not in rows[0]["table_contract"]["physical"]
|
|
963
974
|
assert "schema_management" not in rows[0]
|
|
964
975
|
return [
|
|
965
976
|
_reserved_metatable(
|
|
@@ -1194,8 +1205,9 @@ def test_prepare_for_alembic_reserves_existing_table_name_with_provider_identity
|
|
|
1194
1205
|
assert all(table["migration_namespace"] == "markets" for table in rows)
|
|
1195
1206
|
assert all(table["migration_provider_key"] == "sample:markets" for table in rows)
|
|
1196
1207
|
assert all(table["is_alembic_managed"] is True for table in rows)
|
|
1197
|
-
assert not
|
|
1198
|
-
assert not
|
|
1208
|
+
assert "indexes" not in rows[0]["table_contract"]
|
|
1209
|
+
assert "foreign_keys" not in rows[0]["table_contract"]
|
|
1210
|
+
assert "schema" not in rows[0]["table_contract"]["physical"]
|
|
1199
1211
|
assert all("schema_management" not in table for table in rows)
|
|
1200
1212
|
return [
|
|
1201
1213
|
_reserved_metatable(
|
|
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-4.3.7 → mainsequence-4.3.9}/agent_scaffold/skills/command_center/connections/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence-4.3.7 → mainsequence-4.3.9}/agent_scaffold/skills/dashboards/streamlit/SKILL.md
RENAMED
|
File without changes
|
{mainsequence-4.3.7 → mainsequence-4.3.9}/agent_scaffold/skills/data_access/exploration/SKILL.md
RENAMED
|
File without changes
|
{mainsequence-4.3.7 → mainsequence-4.3.9}/agent_scaffold/skills/data_publishing/data_nodes/SKILL.md
RENAMED
|
File without changes
|
{mainsequence-4.3.7 → mainsequence-4.3.9}/agent_scaffold/skills/maintenance/bug_auditor/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/command_center/app_component.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/command_center/workspace_snapshot.py
RENAMED
|
File without changes
|
|
File without changes
|
{mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/data_sources_interfaces/__init__.py
RENAMED
|
File without changes
|
{mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/data_sources_interfaces/duckdb.py
RENAMED
|
File without changes
|
{mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/client/data_sources_interfaces/local_paths.py
RENAMED
|
File without changes
|
{mainsequence-4.3.7 → mainsequence-4.3.9}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/meta_tables/data_nodes/build_operations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/meta_tables/data_nodes/namespacing.py
RENAMED
|
File without changes
|
{mainsequence-4.3.7 → mainsequence-4.3.9}/mainsequence/meta_tables/data_nodes/persist_managers.py
RENAMED
|
File without changes
|
{mainsequence-4.3.7 → mainsequence-4.3.9}/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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|