mainsequence-metatable 0.1.6.dev7__tar.gz → 0.1.7.dev9__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_metatable-0.1.6.dev7/src/mainsequence_metatable.egg-info → mainsequence_metatable-0.1.7.dev9}/PKG-INFO +1 -1
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/adr/api/0001-unified-api-storage-and-local-sqlite.md +7 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/adr/api/0007-database-enforced-table-access.md +8 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/adr/api/0008-mysql-mssql-table-workflows.md +7 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/adr/api/0010-import-external-tables-and-views.md +9 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/adr/client/0003-api-endpoint-resolution.md +96 -48
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/adr/index.md +1 -1
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/client/installation-and-connection.md +25 -10
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/client/query-and-mutate.md +44 -4
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/client/register-existing-tables.md +4 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/client/upgrade-legacy-app.md +10 -1
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/concepts/runs-and-execution-graphs.md +1 -1
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/operations/configuration.md +5 -3
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/operations/run-history.md +3 -2
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/reference/python.md +1 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/pyproject.toml +1 -1
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/scripts/check_boundaries.py +3 -2
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9/src/mainsequence_metatable.egg-info}/PKG-INFO +1 -1
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/mainsequence_metatable.egg-info/SOURCES.txt +1 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/__init__.py +1 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/table_sql.py +9 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/compiled_sql/v1.py +16 -5
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/endpoint.py +50 -15
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/models.py +4 -2
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/runtime_context.py +1 -4
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/runtime_contract.py +28 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/auth/test_runtime_storage_binding.py +23 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/contracts/capabilities.json +1 -0
- mainsequence_metatable-0.1.7.dev9/tests/contracts/test_compiler_runtime_source.py +139 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/database_backend/test_relation_import.py +7 -7
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/database_backend/test_update_client.py +11 -7
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/documentation/test_project_checks.py +15 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_api_endpoint.py +166 -16
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_client_package.py +16 -12
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/uv.lock +1 -1
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/.agents/skills/client/metatables-local-development/SKILL.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/.agents/skills/client/metatables-meta-tables/SKILL.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/.agents/skills/client/metatables-migrations/SKILL.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/.agents/skills/client/metatables-time-index-table-updates/SKILL.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/.agents/skills/client/metatables-upgrade-legacy-app/SKILL.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/.mainsequence/workflows/metatables-api.yaml +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/LICENSE +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/MANIFEST.in +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/README.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/alembic.ini +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/api/metatables/main.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/compose.database-tests.yml +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/adr/api/0002-application-administration-and-table-ownership.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/adr/api/0004-approved-application-migrations.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/adr/api/0005-run-logs-and-local-file-capture.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/adr/api/0006-historical-run-graphs.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/adr/api/0007-database-roles-and-privileges.svg +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/adr/api/0007-query-enforcement-path.svg +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/adr/api/0009-shared-credential-store.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/adr/api/0012-bounded-data-transfer-and-safe-retries.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/adr/api/0013-application-owned-migrations.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/adr/client/0011-cli-local-development-with-managed-admin.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/api/authentication-and-errors.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/api/data-sources.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/api/openapi.json +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/api/overview.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/api/reference.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/api/tables-and-migrations.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/api/time-index-and-updates.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/assets/branding/metatables.svg +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/assets/diagrams/local-client-experience.svg +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/client/bounded-transfers.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/client/build-an-updater.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/client/define-and-migrate-tables.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/client/local-storage.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/client/quickstart.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/client/read-existing-time-index-tables.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/client/tutorial.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/concepts/architecture.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/concepts/data-sources.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/concepts/identity-and-scope.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/concepts/permissions-namespaces-labels.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/concepts/table-contracts-and-lifecycle.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/concepts/time-index-tables-and-updates.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/contributing/architecture-and-boundaries.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/contributing/database-backends.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/contributing/documentation.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/contributing/releasing.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/contributing/testing.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/README.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/bounded_reader.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/data_sources/README.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/data_sources/mssql.json +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/data_sources/mysql.json +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/data_sources/postgresql.json +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/data_sources/register.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/external_table.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/local_app/README.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/local_app/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/local_app/__main__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/local_app/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/local_app/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/local_app/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/local_app/migrations/versions/metatables_local_example/0001.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/local_app/tables.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/query.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/quickstart.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/reader.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/scripts/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/scripts/setup_metatables.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/tables.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/tutorial/README.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/tutorial/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/tutorial/__main__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/tutorial/data/README.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/tutorial/data/yahoo_spy_qqq_iwm_2026-06-15_2026-07-17.csv +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/tutorial/frames.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/tutorial/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/tutorial/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/tutorial/migrations/registry.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/tutorial/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/tutorial/migrations/versions/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/tutorial/migrations/versions/metatables_market_tutorial/0001_create_market_tutorial_tables.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/tutorial/migrations/versions/metatables_market_tutorial/0002_create_rolling_volatility.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/tutorial/migrations/versions/metatables_market_tutorial/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/tutorial/operations.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/tutorial/tables.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/tutorial/updaters.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/examples/updater.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/index.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/operations/catalog-migrations.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/operations/hosted-runtime.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/operations/local-runtime.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/operations/recovery-and-observability.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/operations/run-logs.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/reference/capabilities.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/reference/cli.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/security/index.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/security/ownership-and-sharing.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/security/permissions.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/mkdocs.yml +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/scripts/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/scripts/build_reference.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/scripts/check_client_api_coverage.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/scripts/check_distribution_sources.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/scripts/check_docs.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/scripts/check_examples_debug.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/scripts/check_project.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/scripts/dev_release_version.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/scripts/test_databases.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/scripts/test_postgresql.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/setup.cfg +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/mainsequence_metatable.egg-info/dependency_links.txt +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/mainsequence_metatable.egg-info/entry_points.txt +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/mainsequence_metatable.egg-info/requires.txt +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/mainsequence_metatable.egg-info/top_level.txt +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/_admin_source.json +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/_build.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/_skill_bundle.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/auth/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/auth/boundary.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/auth/caller_assertions.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/auth/local_actor.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/bootstrap.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/configuration.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/credential_admin.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/development.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/development_client.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/main.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/platform_cache.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/column_search.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/contract_validation.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/data_sources.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/managed_finalize.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/migration_connection.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/namespaces.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/run_logs.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/runtime_context.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/schema_graph.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/security.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/table_cascade.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/table_crud.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/table_delete.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/table_filter.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/table_import.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/table_introspection.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/table_patch.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/table_registration.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/table_response.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/table_search_document.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/table_update_pipeline.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/time_index_delete.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/time_index_reads.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/time_index_stats.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/update_batch.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/update_chunk_insert.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/update_constants.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/update_crud.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/update_details.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/update_graph.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/update_index_statistics.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/update_registration.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/update_runs.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/routes/update_statistics.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/runtime.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/runtime_control.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/source_passwords.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/source_registrations.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/app/transfer.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/access.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/adapters/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/adapters/maintenance/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/adapters/maintenance/postgresql.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/adapters/maintenance/runtime.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/adapters/maintenance/temporal.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/adapters/maintenance/timescaledb.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/adapters/maintenance/validation.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/adapters/postgresql_cascade_delete.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/adapters/postgresql_connection.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/adapters/postgresql_introspection.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/adapters/postgresql_table_delete.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/adapters/postgresql_tables.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/adapters/postgresql_time_index.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/adapters/postgresql_time_index_delete.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/adapters/postgresql_time_index_queries.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/adapters/postgresql_time_index_stats.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/adapters/postgresql_time_index_write.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/adapters/source_validation.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/adapters/sqlite_connection.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/adapters/sqlite_introspection.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/adapters/table_cursor.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/catalog.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/catalog_ddl.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/catalog_types.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/contracts.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/hosted.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/hosted_access.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/migration_connection.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/native.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/operations.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/pages.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/postgresql_access.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/registry.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/relation_tables.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/relational.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/restricted_sql.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/sqlite_access.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/backends/streaming.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/contracts/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/contracts/relation_import.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/contracts/storage_layouts.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/contracts/table_contracts.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/contracts/values.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/domain/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/domain/catalog_rules.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/domain/data_source_rules.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/domain/index_statistics.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/domain/label_rules.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/domain/permission_rules.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/domain/update_constants.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/integrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/integrations/catalog_data_sources.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/integrations/credential_keys.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/integrations/credential_store.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/integrations/data_source_provider.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/integrations/local_credentials.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/integrations/local_workspace.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/integrations/platform_principals.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/integrations/run_logs.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/integrations/runtime_binding.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/integrations/runtime_data_sources.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/integrations/source_validation.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/migrations/versions/0001_initial.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/migrations/versions/0002_security_model.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/migrations/versions/0003_run_log_capture.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/migrations/versions/0004_historical_run_graphs.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/migrations/versions/0005_database_access.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/migrations/versions/0006_local_credentials.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/migrations/versions/0007_external_relation_names.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/migrations/versions/0008_upload_receipts.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/migrations/versions/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/operations/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/operations/bootstrap_migrations.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/operations/catalog_schema.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/operations/create_table.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/operations/finalize_managed.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/operations/import_relations.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/operations/introspect_table.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/operations/read_time_index.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/operations/register_catalog.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/operations/search_documents.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/persistence/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/persistence/cascade.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/persistence/catalog.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/persistence/database.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/persistence/grants.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/persistence/labels.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/persistence/locking.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/persistence/models.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/persistence/physical_operations.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/persistence/projections.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/persistence/run_graphs.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/persistence/schema_graph.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/persistence/sqlite_types.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/persistence/table_body_filter.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/persistence/table_queries.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/persistence/table_response.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/persistence/update_graph.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/persistence/update_pipeline.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/persistence/updates.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/persistence/upload_receipts.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/backend/presentation/data_source_summary.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/metatables/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/metatables/configuration.yaml +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/api/metatables/main.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/cli/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/cli/admin_install.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/cli/app.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/cli/filters.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/cli/local.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/cli/migrations.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/cli/project.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/cli/skills.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/compiled_sql/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/compiled_sql/mssql.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/dtype_codec.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/README.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/bounded_reader.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/data_sources/README.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/data_sources/mssql.json +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/data_sources/mysql.json +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/data_sources/postgresql.json +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/data_sources/register.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/external_table.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/local_app/README.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/local_app/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/local_app/__main__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/local_app/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/local_app/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/local_app/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/local_app/migrations/versions/metatables_local_example/0001.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/local_app/tables.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/query.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/quickstart.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/reader.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/scripts/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/scripts/setup_metatables.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/tables.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/tutorial/README.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/tutorial/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/tutorial/__main__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/tutorial/data/README.md +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/tutorial/data/yahoo_spy_qqq_iwm_2026-06-15_2026-07-17.csv +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/tutorial/frames.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/tutorial/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/tutorial/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/tutorial/migrations/registry.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/tutorial/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/tutorial/migrations/versions/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/tutorial/migrations/versions/metatables_market_tutorial/0001_create_market_tutorial_tables.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/tutorial/migrations/versions/metatables_market_tutorial/0002_create_rolling_volatility.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/tutorial/migrations/versions/metatables_market_tutorial/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/tutorial/operations.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/tutorial/tables.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/tutorial/updaters.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/examples/updater.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/future_registry.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/hashing.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/instrumentation.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/local_connection.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/local_files.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/local_run_logs.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/log_contract.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/migrations/alembic.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/migrations/connection.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/migrations/provider.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/migrations/registry.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/migrations/runner.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/migrations/scaffold.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/migrations/templates/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/migrations/templates/env.py.mako +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/migrations/templates/script.py.mako +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/migrations/tls.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/pydantic_metadata.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/run_logging.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/runtime.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/schema_names.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/sdk_compat.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/sqlalchemy_contracts.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/time_index_table_refs.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/transfer.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/transfer_contract.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/transport.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/update_configuration_contract.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/updaters/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/updaters/configuration.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/updaters/dependencies.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/updaters/managers.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/updaters/namespacing.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/updaters/runner.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/updaters/updaters.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/updaters/utils.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/src/metatables/upload.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/auth/test_caller_assertions.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/auth/test_data_source_identity.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/auth/test_development_client.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/auth/test_hosted_environment_target.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/auth/test_local_mode.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/auth/test_platform_fact_cache.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/auth/test_runtime_bootstrap.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/auth/test_runtime_scaffold.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/auth/test_runtime_selection.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/auth/test_source_passwords.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/catalog/test_catalog_foundation.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/catalog/test_contract_projection.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/catalog/test_database_config.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/catalog/test_index_statistics.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/catalog/test_migration.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/conftest.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/contracts/client_signatures.json +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/contracts/database_operations.json +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/contracts/test_bounded_transfer.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/contracts/test_relation_batching.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/contracts/test_relation_import.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/contracts/test_storage_layouts.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/contracts/test_table_contracts.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/database_backend/Dockerfile +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/database_backend/Dockerfile.dockerignore +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/database_backend/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/database_backend/conftest.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/database_backend/provider/__init__.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/database_backend/provider/env.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/database_backend/provider/versions/0001_measurement.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/database_backend/test_api_contract.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/database_backend/test_application_migration.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/database_backend/test_bootstrap_recovery.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/database_backend/test_catalog_contract.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/database_backend/test_credential_catalog.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/database_backend/test_physical_contract.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/database_backend/test_runtime_bootstrap.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/database_backend/test_sql_security.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/database_operations/test_physical_operations.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/database_operations/test_postgresql_operations.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/database_operations/test_runtime_and_temporal.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_admin_installation.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_application_owned_migrations.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_catalog_outage.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_client_api_contract.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_client_api_coverage.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_client_migration_scaffold.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_client_migration_tls.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_client_signatures.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_client_value_behaviors.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_data_source_registry.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_local_actor_client_api.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_local_cli_workflow.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_local_client_selection.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_managed_finalize_client_api.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_namespaces_admin_http.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_public_imports.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_remaining_client_routes.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_run_graphs.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_run_logs.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_runtime_transition.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_sdk_local_startup.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_sqlite_runtime.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_table_delete_client_api.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_table_filter_client_api.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_table_introspection_client_api.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_table_patch_client_api.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_table_search_document_api.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_table_stats_api.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_table_update_pipeline.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_table_updates_http.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_time_index_delete_client_api.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_time_index_reads_client_api.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_update_batch_client_api.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_update_chunk_insert_client_api.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_update_dependency_priority_client_api.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_update_index_statistics_client_api.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/e2e/test_update_registration_client_api.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/examples/test_documented_examples.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/examples/test_postgresql_examples.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/examples/test_setup_launch.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/examples/test_tutorial.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/integrations/test_credential_store.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/integrations/test_data_source_rules.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/integrations/test_local_data_sources.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/integrations/test_local_run_logs.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/integrations/test_postgresql_connection.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/integrations/test_postgresql_sql.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/integrations/test_postgresql_tables.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/integrations/test_postgresql_time_index_queries.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/integrations/test_source_validation.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/integrations/test_sqlite_operations.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/labels/test_labels.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/operations/test_create_table_operation.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/operations/test_create_table_postgres.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/operations/test_physical_operation_journal.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/operations/test_register_catalog.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/operations/test_search_documents.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/packaging/test_client_skills.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/packaging/test_dev_release_version.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/packaging/test_distribution_sources.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/packaging/test_editable_build.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/packaging/test_installed_distribution.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/permissions/test_governed_sql_scope.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/permissions/test_local_actor_membership.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/permissions/test_migration_boundary.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/permissions/test_namespace_grants.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/permissions/test_security_api.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/permissions/test_table_body_filter.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/permissions/test_table_grants.py +0 -0
- {mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/tests/permissions/test_table_queries.py +0 -0
|
@@ -14,6 +14,13 @@ Status: Accepted.
|
|
|
14
14
|
Owner: MetaTables API. Scope: runtime binding, storage and bootstrap, with shared
|
|
15
15
|
client/API execution constraints.
|
|
16
16
|
|
|
17
|
+
Clarified 2026-10-01 (MetaTables #9): applications automatically obtain the
|
|
18
|
+
selected runtime DataSource from this API after Environment-scoped deployment
|
|
19
|
+
discovery. UID and SQL dialect belong to the same fresh descriptor. Applications
|
|
20
|
+
need no source configuration for the default path; an uninitialized API reports
|
|
21
|
+
a configuration error. ADR 0010 permits optional bounded reads from registered
|
|
22
|
+
external sources without changing this runtime's catalog or write destination.
|
|
23
|
+
|
|
17
24
|
Client endpoint selection is governed by
|
|
18
25
|
[client ADR 0003](../client/0003-api-endpoint-resolution.md). Its endpoint cache
|
|
19
26
|
does not cache this API's runtime context or select its runtime mode or DataSource.
|
|
@@ -17,6 +17,14 @@ and repair; the Python client and examples use DataSource-only SQL requests.
|
|
|
17
17
|
|
|
18
18
|
Owner: MetaTables API.
|
|
19
19
|
|
|
20
|
+
Clarified 2026-10-01 (MetaTables #9): automatic compiler source resolution must
|
|
21
|
+
preserve the selected runtime's restricted SQL identity. An explicit different
|
|
22
|
+
source UID is not SQL admission, even with `operation=select`; return a specific
|
|
23
|
+
source-policy conflict rather than claiming the database is unavailable. ADR
|
|
24
|
+
0010's registered-table reader remains the supported external read path. General
|
|
25
|
+
external SQL requires a separate permission design that preserves caller grants
|
|
26
|
+
without using the source's shared account as an unrestricted SQL identity.
|
|
27
|
+
|
|
20
28
|
Related decisions: [API ADR 0001: Unified API storage](0001-unified-api-storage-and-local-sqlite.md),
|
|
21
29
|
[API ADR 0002: Administration and table ownership](0002-application-administration-and-table-ownership.md)
|
|
22
30
|
and [API ADR 0008: Database backend contract](0008-mysql-mssql-table-workflows.md).
|
|
@@ -11,6 +11,13 @@ Date: 2026-09-29
|
|
|
11
11
|
|
|
12
12
|
Status: Accepted.
|
|
13
13
|
|
|
14
|
+
Clarified 2026-10-01 (MetaTables #9): the compiler obtains the runtime DataSource
|
|
15
|
+
UID, dialect and parameter style together, with no caller configuration. The
|
|
16
|
+
default path covers PostgreSQL/TimescaleDB, SQLite, MySQL and MSSQL. An explicit
|
|
17
|
+
different source must not inherit the runtime source's dialect. Offline explicit
|
|
18
|
+
UID/dialect compilation remains supported but does not relax API execution
|
|
19
|
+
binding. Optional external bounded reads retain ADR 0010's source selection.
|
|
20
|
+
|
|
14
21
|
Amended 2026-09-29: one selected execution DataSource, explicit workflow and
|
|
15
22
|
transaction ownership, first-bootstrap recovery, and a Compose database test suite.
|
|
16
23
|
|
|
@@ -9,6 +9,15 @@ client and Vite import/Rows views. Verification and boundaries are recorded belo
|
|
|
9
9
|
|
|
10
10
|
Owner: MetaTables API. The Python client and Vite application consume its contract.
|
|
11
11
|
|
|
12
|
+
Clarified 2026-10-01 (MetaTables #9): default compiler calls discover the API's
|
|
13
|
+
runtime DataSource automatically. Selecting an imported MetaTable for an optional
|
|
14
|
+
external read uses that table's registered source through `read_rows()` or
|
|
15
|
+
`iter_rows()` and the same API. It does not mutate the default, replace Environment
|
|
16
|
+
selection or authorize external writes. Arbitrary external SQL and joins remain
|
|
17
|
+
outside this implementation; SQL selection of another source reports a specific
|
|
18
|
+
policy conflict. Client guides must show the working external read workflow and
|
|
19
|
+
must not present `data_source_uid` alone as enabling arbitrary external SQL.
|
|
20
|
+
|
|
12
21
|
Related decisions: [ADR 0002: Administration and ownership](0002-application-administration-and-table-ownership.md),
|
|
13
22
|
[ADR 0007: Database-enforced table access](0007-database-enforced-table-access.md),
|
|
14
23
|
[ADR 0008: Database backend contract](0008-mysql-mssql-table-workflows.md), and
|
|
@@ -9,8 +9,16 @@ Owner: MetaTables Python client, including the CLI.
|
|
|
9
9
|
|
|
10
10
|
Related decision: [API ADR 0001: One API execution path with SQLite for local development](../api/0001-unified-api-storage-and-local-sqlite.md).
|
|
11
11
|
|
|
12
|
-
The client implements this decision using the SDK's
|
|
13
|
-
and
|
|
12
|
+
The client implements this decision using the SDK's Environment context,
|
|
13
|
+
exact-name release filter, owning-branch metadata and release-access operation.
|
|
14
|
+
|
|
15
|
+
Amended 2026-10-01 ([MetaTables #11](https://github.com/mainsequence-projects/MetaTables/issues/11)):
|
|
16
|
+
hosted discovery must select the caller's resolved Organization Environment.
|
|
17
|
+
The previous visibility-only lookup and hosted URL workaround violated that
|
|
18
|
+
contract. `METATABLES_API_URL` is reserved for loopback development APIs. Identical
|
|
19
|
+
deployment names in different Environments are expected and must work without
|
|
20
|
+
user configuration. Connection and configuration documentation must describe
|
|
21
|
+
this distinction and the Environment-specific failure cases.
|
|
14
22
|
|
|
15
23
|
Amended 2026-09-29: obtain the target name from the MetaTables automatic
|
|
16
24
|
deployment. Remove the proposed conventional name and manually configured
|
|
@@ -25,7 +33,7 @@ with the client and use the SDK for the subsequent release lookup and access.
|
|
|
25
33
|
Previously, the client constructed resource URLs from a model's `ROOT_URL` or
|
|
26
34
|
`METATABLES_API_URL`, and failed when neither was configured. The CLI separately
|
|
27
35
|
required the environment variable. This decision replaces that duplicated
|
|
28
|
-
selection with automatic discovery and
|
|
36
|
+
selection with automatic hosted discovery and a local development URL override.
|
|
29
37
|
|
|
30
38
|
A client connecting to a hosted MetaTables deployment obtains the correct name
|
|
31
39
|
from the automatic deployment's authoritative metadata. Users should not copy
|
|
@@ -37,8 +45,11 @@ local API through an environment variable.
|
|
|
37
45
|
The SDK supplies generic platform release operations. Ordinary release collection
|
|
38
46
|
queries currently infer the consuming repository's branch, whereas the MetaTables
|
|
39
47
|
deployment can belong to another repository. A name filter alone does not solve
|
|
40
|
-
that distinction.
|
|
41
|
-
|
|
48
|
+
that distinction. The caller's Environment, obtained from the SDK's resolved
|
|
49
|
+
repository context or authenticated runtime credential, selects the intended
|
|
50
|
+
deployment across repositories. Release names can repeat across Environments;
|
|
51
|
+
visibility alone, text search or selecting the first result cannot establish the
|
|
52
|
+
intended target. Selecting the wrong API also selects the wrong runtime DataSource.
|
|
42
53
|
|
|
43
54
|
Endpoint selection is a client transport concern. The API's runtime mode,
|
|
44
55
|
bootstrap and DataSource binding remain governed by API ADR 0001. Connecting to
|
|
@@ -47,7 +58,7 @@ runtime mode through Settings.
|
|
|
47
58
|
|
|
48
59
|
## Decision
|
|
49
60
|
|
|
50
|
-
### 1. One resolver with
|
|
61
|
+
### 1. One resolver with a local development URL override
|
|
51
62
|
|
|
52
63
|
All Python resource models, runtime-context requests, readers, updaters and CLI
|
|
53
64
|
commands use one client endpoint resolver. Migration commands use the same
|
|
@@ -57,19 +68,21 @@ The resolver uses the following precedence:
|
|
|
57
68
|
|
|
58
69
|
| Configuration | Behavior |
|
|
59
70
|
| --- | --- |
|
|
60
|
-
| Nonempty `METATABLES_API_URL` |
|
|
61
|
-
| URL unset or empty | Obtain the MetaTables API's name from its automatic-deployment metadata
|
|
71
|
+
| Nonempty `METATABLES_API_URL` | Require a loopback HTTP(S) development URL, use it and skip platform Environment/deployment discovery. |
|
|
72
|
+
| URL unset or empty | Obtain the MetaTables API's name from its automatic-deployment metadata and resolve that deployment in the caller's SDK-owned Environment. |
|
|
62
73
|
|
|
63
74
|
The deployment name is derived data, owned by the automatic deployment. There is
|
|
64
75
|
no hardcoded default such as `metatables`, and no manually maintained
|
|
65
76
|
`METATABLES_API_DEPLOYMENT_NAME` setting. The client must consume the actual name
|
|
66
77
|
produced by that deployment, so changing it does not require editing consuming
|
|
67
|
-
projects. `METATABLES_API_URL` remains the
|
|
78
|
+
projects. `METATABLES_API_URL` remains the local development override; there is no
|
|
68
79
|
additional automatic/manual mode variable.
|
|
69
80
|
|
|
70
|
-
An explicit URL
|
|
71
|
-
|
|
72
|
-
|
|
81
|
+
An explicit URL must target `localhost` or a loopback IP address. Hosted URLs
|
|
82
|
+
are rejected with an instruction to unset the variable and use Environment
|
|
83
|
+
discovery. Preserve any local path prefix when joining resource routes. A nonempty
|
|
84
|
+
invalid URL produces a configuration error; it must not fall through to automatic
|
|
85
|
+
discovery. Model-level
|
|
73
86
|
`ROOT_URL` assignments must no longer independently override the environment or
|
|
74
87
|
split different resources across different API targets.
|
|
75
88
|
|
|
@@ -101,25 +114,30 @@ for exact-name lookup and stable endpoint retrieval. It does not call platform
|
|
|
101
114
|
routes directly, inspect platform persistence models, derive hostnames from UIDs,
|
|
102
115
|
or maintain a second platform client.
|
|
103
116
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
117
|
+
Resolve the caller's Environment with the public SDK
|
|
118
|
+
`resolve_organization_environment_uid()` helper. The SDK owns Git registration,
|
|
119
|
+
authenticated runtime context and authorization. A developer's signed-in process
|
|
120
|
+
connecting to a hosted API follows the same Environment selection rule. Local
|
|
121
|
+
development URL selection does not require a registered branch or Environment.
|
|
122
|
+
|
|
123
|
+
The installed SDK does not expose an Environment filter on `ResourceRelease`.
|
|
124
|
+
Use `ResourceRelease.filter_admin(name=..., release_kind="fastapi")` only to
|
|
125
|
+
obtain exact-name candidates, without restricting them to the consuming
|
|
126
|
+
application's repository branch. Each candidate supplies its owning
|
|
127
|
+
`code_repository_branch_uid`. Read those public `CodeRepositoryBranch` records
|
|
128
|
+
through the SDK using `filter(uid__in=...)`, in batches of at most 100 unique UIDs,
|
|
129
|
+
and compare their `organization_environment_uid` with the caller's Environment.
|
|
130
|
+
The client must verify ownership before requesting runtime access, even if only
|
|
131
|
+
one release is visible. Missing or inconsistent ownership metadata fails closed.
|
|
132
|
+
An owning branch with no Environment cannot match an Environment-bound caller.
|
|
133
|
+
|
|
134
|
+
Require exactly one match **within that Environment**, then call the selected
|
|
135
|
+
release's `resolve_runtime_access()` for its backend-issued URL. The same name in
|
|
136
|
+
other Environments is neither an error nor a fallback. Zero matches report a
|
|
137
|
+
missing deployment in the selected Environment; multiple matches report duplicate
|
|
138
|
+
deployments within it. Neither error recommends a URL override or globally unique
|
|
139
|
+
deployment names. No first-result selection, SDK context reset, consumer branch
|
|
140
|
+
override, direct platform request or new platform endpoint is needed.
|
|
123
141
|
|
|
124
142
|
Existing SDK release-access operations may report a starting or unavailable
|
|
125
143
|
runtime. Such a result is not a successful endpoint resolution. Respect the
|
|
@@ -131,18 +149,21 @@ mechanism, credential type, account-binding policy or Organization policy.
|
|
|
131
149
|
|
|
132
150
|
Resolve lazily on the first operation that needs an API address. Cache a
|
|
133
151
|
successful result in process memory for the selected platform endpoint and
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
152
|
+
resolved Organization Environment. The entry holds the release UID and derived
|
|
153
|
+
deployment name. The discovery sequence obtains target metadata, verifies the
|
|
154
|
+
candidate owners' Environments and retrieves the endpoint; subsequent operations
|
|
155
|
+
reuse its result without repeating those platform lookups. Read the SDK-owned
|
|
156
|
+
process context when selecting the cache key; do not maintain a separate
|
|
157
|
+
Environment cache or reuse an endpoint after that context changes.
|
|
137
158
|
|
|
138
159
|
Concurrent first callers share one resolution attempt. Do not cache failed,
|
|
139
160
|
ambiguous, starting or unavailable results as successful entries. Later calls
|
|
140
161
|
can retry after a failed attempt. Forked or new processes start with their own
|
|
141
162
|
cache; no discovered address is persisted to disk.
|
|
142
163
|
|
|
143
|
-
The
|
|
164
|
+
The local URL is checked before consulting the discovery cache, so setting
|
|
144
165
|
`METATABLES_API_URL` takes effect even after automatic resolution. Configuration
|
|
145
|
-
changes invalidate the previous target's cache; an explicit client reset or
|
|
166
|
+
and Environment changes invalidate the previous target's cache; an explicit client reset or
|
|
146
167
|
process restart also permits a fresh lookup, including reacquiring the name from
|
|
147
168
|
the packaged workflow. Editable installs observe workflow changes on that fresh
|
|
148
169
|
lookup; installed wheels use their immutable workflow snapshot. Stable configuration
|
|
@@ -155,6 +176,25 @@ silently select another deployment or replay a mutation against a different API.
|
|
|
155
176
|
|
|
156
177
|
### 4. Keep endpoint discovery separate from runtime state
|
|
157
178
|
|
|
179
|
+
Amended 2026-10-01 ([MetaTables #9](https://github.com/mainsequence-projects/MetaTables/issues/9)):
|
|
180
|
+
the compiler's default is Environment → API deployment → fresh `/runtime-context/`
|
|
181
|
+
→ selected DataSource UID and SQL dialect. Consuming applications configure none
|
|
182
|
+
of these values. Runtime bootstrap and Settings remain operator responsibilities.
|
|
183
|
+
The client preserves the runtime descriptor's public `data_source` dictionary
|
|
184
|
+
and uses a shared validated UID accessor. Missing, unavailable or malformed source
|
|
185
|
+
metadata raises `DataSourceResolutionError`, including when the compiler is given
|
|
186
|
+
an isolated runtime descriptor. UID, dialect and parameter style must describe
|
|
187
|
+
the same source. Never combine an explicit different source UID with the runtime
|
|
188
|
+
source's inferred dialect. Supplying both a UID and dialect retains offline
|
|
189
|
+
compilation; execution still applies API source binding and grants.
|
|
190
|
+
|
|
191
|
+
Optional reads from another registered source use the imported MetaTable's source
|
|
192
|
+
through ADR 0010's bounded reader. They do not change the resolved API, runtime
|
|
193
|
+
default or write destination. General SQL on another source needs a separate
|
|
194
|
+
database-permission design; the client must not imply that an explicit UID grants
|
|
195
|
+
that capability. Document default compilation, offline compilation, source-specific
|
|
196
|
+
errors and the distinction between bounded external reads and runtime SQL.
|
|
197
|
+
|
|
158
198
|
Cache only the stable endpoint and the release identity needed to describe that
|
|
159
199
|
selection. Do not cache temporary release-access tokens, admission/readiness
|
|
160
200
|
decisions, permission facts or the API's effective DataSource with it. SDK session
|
|
@@ -165,7 +205,7 @@ Keep it in a separate, memory-only SDK `SessionJWTAuthProvider`, outside the
|
|
|
165
205
|
endpoint cache and shared platform session. The SDK request helper retries a
|
|
166
206
|
401 once: reacquire access for the same release UID and reject a changed URL
|
|
167
207
|
instead of retargeting the request. This does not repeat name discovery or add an
|
|
168
|
-
authentication contract. Local
|
|
208
|
+
authentication contract. Local development transports retain their existing
|
|
169
209
|
SDK session behavior.
|
|
170
210
|
|
|
171
211
|
The API's `/runtime-context/` response remains fresh under API ADR 0001. Resetting
|
|
@@ -177,8 +217,8 @@ those changes or introduce client database access.
|
|
|
177
217
|
|
|
178
218
|
| Owner | Responsibility |
|
|
179
219
|
| --- | --- |
|
|
180
|
-
| MetaTables client | Read the packaged workflow,
|
|
181
|
-
| Main Sequence SDK/platform |
|
|
220
|
+
| MetaTables client | Read the packaged workflow, select the release in the SDK-owned Environment, enforce the local URL override, share and cache endpoints, and report resolution errors. |
|
|
221
|
+
| Main Sequence SDK/platform | Resolve the caller's Environment and provide authorized release discovery, owning-branch metadata and release access. |
|
|
182
222
|
| MetaTables API | Own the automatic deployment declaration, runtime descriptor, admission, Settings, bootstrap and its enforced DataSource binding. |
|
|
183
223
|
|
|
184
224
|
This is a separate client ADR because API runtime selection and storage ownership
|
|
@@ -186,9 +226,10 @@ do not change. API ADR 0001's prohibition on caching effective runtime context
|
|
|
186
226
|
remains in force. The Vite Admin site's connection configuration is outside this
|
|
187
227
|
Python-client decision.
|
|
188
228
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
229
|
+
Local explicit URL configurations continue to work. Existing hosted URL overrides
|
|
230
|
+
must be removed; Environment discovery replaces them. Hosted selection requires
|
|
231
|
+
SDK Environment context and authorized reads of candidate branch metadata. A
|
|
232
|
+
deleted or replaced deployment can require an explicit reset or process restart to discover a new
|
|
192
233
|
address; normal requests do not repeatedly search for one.
|
|
193
234
|
|
|
194
235
|
## Implementation and acceptance criteria
|
|
@@ -206,17 +247,22 @@ The workflow must be applied on the platform before the hosted launch can find i
|
|
|
206
247
|
|
|
207
248
|
- The client obtains the actual MetaTables deployment name from automatic
|
|
208
249
|
deployment metadata and resolves it through the SDK without a user-supplied
|
|
209
|
-
name or
|
|
250
|
+
name, UID or URL, including outside the consuming repository's branch but
|
|
251
|
+
always within its resolved Environment.
|
|
252
|
+
- Identically named deployments in other Environments are ignored; a lone release
|
|
253
|
+
in the wrong Environment cannot be selected. Missing Environment context,
|
|
254
|
+
unverifiable ownership or duplicate releases within the selected Environment
|
|
255
|
+
fail before runtime access. Test both signed-in and authenticated runtime context.
|
|
210
256
|
- Tests use distinct deployment-generated names and verify that a fresh lookup
|
|
211
257
|
after an editable-workflow rename uses updated metadata without edits to
|
|
212
258
|
consuming projects. Wheels retain their packaged deployment declaration.
|
|
213
259
|
Missing or ambiguous metadata/names fail clearly without a constant fallback.
|
|
214
260
|
- Repeated and concurrent operations across resource classes and CLI consumers
|
|
215
261
|
perform one successful discovery sequence per process and configuration.
|
|
216
|
-
-
|
|
217
|
-
retrieval and a populated cache, and preserves
|
|
218
|
-
URLs
|
|
219
|
-
- Failed resolution remains retryable; reset, configuration changes and process
|
|
262
|
+
- A local loopback URL bypasses all discovery, including Environment and
|
|
263
|
+
automatic-deployment metadata retrieval and a populated cache, and preserves
|
|
264
|
+
route prefixes. Invalid URLs and hosted URL overrides fail without discovery.
|
|
265
|
+
- Failed resolution remains retryable; reset, Environment/configuration changes and process
|
|
220
266
|
forks do not reuse a stale target.
|
|
221
267
|
- Local explicit-URL operations still work on an unregistered branch without
|
|
222
268
|
introducing a platform release or Environment requirement.
|
|
@@ -225,7 +271,9 @@ The workflow must be applied on the platform before the hosted launch can find i
|
|
|
225
271
|
- Resource calls and migration lifecycles consistently use their selected API;
|
|
226
272
|
the resolver never redirects ordinary SDK platform requests to that API.
|
|
227
273
|
- Update connection guides, configuration reference and executable examples with
|
|
228
|
-
automatic and
|
|
274
|
+
automatic hosted discovery and local development selection once behavior is verified.
|
|
275
|
+
Document removal of hosted URL overrides and Environment-specific deployment
|
|
276
|
+
errors without suggesting URL or name workarounds. Keep dependency and
|
|
229
277
|
authentication boundaries covered by the existing checks.
|
|
230
278
|
|
|
231
279
|
## References
|
|
@@ -16,7 +16,7 @@ decisions belong in the SDK repository and are linked as dependencies.
|
|
|
16
16
|
|
|
17
17
|
| ADR | Status | Scope |
|
|
18
18
|
| --- | --- | --- |
|
|
19
|
-
| [0003: Automatic API endpoint resolution](client/0003-api-endpoint-resolution.md) | Accepted and implemented; live hosted verification pending |
|
|
19
|
+
| [0003: Automatic API endpoint resolution](client/0003-api-endpoint-resolution.md) | Accepted and implemented; live hosted verification pending | Resolve the packaged API name within the SDK-owned Environment, cache per platform/Environment, and reserve URL overrides for local development. |
|
|
20
20
|
| [0011: Local CLI workflow with reusable Admin](client/0011-cli-local-development-with-managed-admin.md) | Accepted; implemented | Download missing Admin source once, reuse ready dependencies, launch the installed API with Vite, and expose explicit bootstrap, application-owned migrations and local client connection. |
|
|
21
21
|
|
|
22
22
|
## API
|
|
@@ -112,9 +112,13 @@ checkout. After upgrading the client, rerun it to refresh the copied bundle.
|
|
|
112
112
|
|
|
113
113
|
## Connect to an API
|
|
114
114
|
|
|
115
|
-
Authenticate through the SDK.
|
|
116
|
-
deployment name from the workflow bundled with MetaTables
|
|
117
|
-
|
|
115
|
+
Authenticate through the SDK. Hosted connections require no API URL. The client
|
|
116
|
+
reads the API deployment name from the workflow bundled with MetaTables and
|
|
117
|
+
selects exactly one release in the caller's resolved Organization Environment.
|
|
118
|
+
The SDK obtains that Environment from the registered consuming branch or the
|
|
119
|
+
authenticated runtime credential. This also applies when running on a developer
|
|
120
|
+
machine and connecting to a hosted API. The endpoint is cached per platform and
|
|
121
|
+
Environment in this process:
|
|
118
122
|
|
|
119
123
|
```bash
|
|
120
124
|
mainsequence login
|
|
@@ -122,10 +126,10 @@ unset METATABLES_API_URL
|
|
|
122
126
|
metatables --json meta-table detail TABLE_UID
|
|
123
127
|
```
|
|
124
128
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
+
`METATABLES_API_URL` is only for a local development API on `localhost` or a
|
|
130
|
+
loopback IP address. `--local` and `configure_local_client()` set it automatically
|
|
131
|
+
from the launcher's private connection file. A manual local URL overrides
|
|
132
|
+
discovery, including an already cached deployment, and can include a path prefix:
|
|
129
133
|
|
|
130
134
|
```bash
|
|
131
135
|
export METATABLES_API_URL=http://127.0.0.1:18473
|
|
@@ -134,9 +138,19 @@ export METATABLES_API_URL=http://127.0.0.1:18473
|
|
|
134
138
|
The name comes from `.mainsequence/workflows/metatables-api.yaml` in the
|
|
135
139
|
MetaTables repository, packaged unchanged with installed clients. No deployment
|
|
136
140
|
UID or name variable is needed in consuming projects. Missing or ambiguous
|
|
137
|
-
deployments fail clearly.
|
|
141
|
+
deployments **within the selected Environment** fail clearly. The same name in
|
|
142
|
+
other Environments is expected and requires no configuration. A lone deployment
|
|
143
|
+
in another Environment is never used as a fallback. Apply the workflow in the
|
|
144
|
+
intended Environment before using hosted discovery;
|
|
138
145
|
having the Python package installed does not create a deployment.
|
|
139
146
|
|
|
147
|
+
Remove existing hosted `METATABLES_API_URL` values; non-loopback overrides are
|
|
148
|
+
rejected. If the SDK cannot resolve the caller's Environment, fix the consuming
|
|
149
|
+
branch registration or runtime context. If no deployment matches, apply the API
|
|
150
|
+
workflow in that Environment; if several match within it, remove the duplicates.
|
|
151
|
+
Discovery also requires authorized SDK reads of the candidate releases' owning
|
|
152
|
+
branch metadata to verify their Environments.
|
|
153
|
+
|
|
140
154
|
Call `metatables.endpoint.reset_api_endpoint()` or restart the process to resolve
|
|
141
155
|
again. This rereads the workflow in editable installs; a wheel uses its packaged
|
|
142
156
|
snapshot. Renamed deployment declarations require the matching package build.
|
|
@@ -144,7 +158,7 @@ See [client ADR 0003](../adr/client/0003-api-endpoint-resolution.md).
|
|
|
144
158
|
|
|
145
159
|
The client uses SDK-issued release access for automatically discovered deployments,
|
|
146
160
|
separate from the platform session. SDK request handling renews rejected release
|
|
147
|
-
credentials for the same target without repeating name discovery.
|
|
161
|
+
credentials for the same target without repeating name discovery. Local URLs
|
|
148
162
|
retain the existing SDK session behavior. The
|
|
149
163
|
platform ingress supplies the caller proof consumed by the API. Direct callers
|
|
150
164
|
cannot replace that proof with an unsigned user UID.
|
|
@@ -156,7 +170,8 @@ Git source facts remain required; platform branch registration is unnecessary.
|
|
|
156
170
|
## Keep the scopes explicit
|
|
157
171
|
|
|
158
172
|
Use SDK configuration for platform authentication and repository identity. Use
|
|
159
|
-
|
|
173
|
+
Environment-scoped discovery for hosted table operations and the local development
|
|
174
|
+
connection for a local API. The API selects the effective DataSource. The client discovers its storage capabilities and
|
|
160
175
|
dialect through `/runtime-context/`. Never point the SDK session
|
|
161
176
|
at the MetaTables URL to make table requests work.
|
|
162
177
|
|
|
@@ -10,20 +10,38 @@ authorize the caller; the selected engine backend executes the database operatio
|
|
|
10
10
|
Use `metatables.compiled_sql.v1.compile_sqlalchemy_statement(...)` to compile a
|
|
11
11
|
SQLAlchemy Core statement with bound parameters. A request selects one DataSource;
|
|
12
12
|
the database applies your Reader and Writer grants to every table it touches.
|
|
13
|
-
|
|
13
|
+
Omit source and dialect configuration for the normal application path:
|
|
14
14
|
|
|
15
15
|
```python
|
|
16
|
-
from
|
|
16
|
+
from sqlalchemy import String, column, select, table
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
from metatables import MetaTable
|
|
19
|
+
from metatables.compiled_sql.v1 import compile_sqlalchemy_statement
|
|
20
|
+
|
|
21
|
+
accounts = table("ledger_account", column("name", String))
|
|
22
|
+
operation = compile_sqlalchemy_statement(
|
|
23
|
+
select(accounts).where(accounts.c.name == "Savings"), operation="select"
|
|
24
|
+
)
|
|
25
|
+
result = MetaTable.execute_operation(operation)
|
|
19
26
|
```
|
|
20
27
|
|
|
21
|
-
The
|
|
28
|
+
The client discovers the MetaTables deployment in the caller's Environment. The
|
|
29
|
+
compiler obtains the DataSource UID, dialect and parameter style together from
|
|
30
|
+
that API's fresh runtime context. No URL or DataSource UID is needed in the
|
|
31
|
+
application. The API operator configures and initializes the runtime in Settings.
|
|
32
|
+
An absent, unavailable or malformed runtime source raises the public
|
|
33
|
+
`metatables.DataSourceResolutionError`; it never selects another source as a fallback.
|
|
34
|
+
|
|
22
35
|
For offline compilation, supply both `data_source_uid=` and `dialect=`. PostgreSQL
|
|
23
36
|
and MySQL use `pyformat`, SQL Server uses ordered `qmark`, and SQLite uses named
|
|
24
37
|
parameters. The API checks the wire dialect and the runtime binding. There is no
|
|
25
38
|
list of declared table scopes and no SQL parser in the API.
|
|
26
39
|
|
|
40
|
+
If only a UID is supplied, it must match the runtime source before the compiler
|
|
41
|
+
can infer its dialect. A different UID cannot borrow the runtime's dialect.
|
|
42
|
+
Supplying a UID and dialect offline creates a payload; it does not authorize
|
|
43
|
+
execution against another source. See the explicit [query example](../examples/query.py).
|
|
44
|
+
|
|
27
45
|
For applications still passing `scope_tables` or importing the removed scope
|
|
28
46
|
classes, follow [upgrade a legacy application](upgrade-legacy-app.md). Remove the
|
|
29
47
|
scope machinery instead of recreating it as per-query client checks.
|
|
@@ -48,6 +66,28 @@ an explicit commit inside a write batch can persist writes before a later error.
|
|
|
48
66
|
Use the supported table operations when an operation needs their transaction and
|
|
49
67
|
journal guarantees. See [database access](../security/index.md#sql-and-schema-boundary).
|
|
50
68
|
|
|
69
|
+
## Read another registered source
|
|
70
|
+
|
|
71
|
+
Keep the same API connection and runtime default. An administrator first
|
|
72
|
+
[imports the source's tables or views](register-existing-tables.md); Readers and
|
|
73
|
+
Writers then select an imported MetaTable and use its registered source:
|
|
74
|
+
|
|
75
|
+
```python
|
|
76
|
+
from metatables import MetaTable
|
|
77
|
+
|
|
78
|
+
external_table = MetaTable.get_by_uid("imported-table-uuid")
|
|
79
|
+
page = external_table.read_rows(columns=["symbol"], limit=100)
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Use `iter_rows()` to consume bounded pages incrementally. These operations honor
|
|
83
|
+
table and namespace grants, source availability and read-only access. They do
|
|
84
|
+
not change the catalog, runtime DataSource selection or write destination.
|
|
85
|
+
The current external reader accepts structured columns, predicates and ordering;
|
|
86
|
+
it does not accept SQL or joins. `run_query()` and `execute_operation()` against
|
|
87
|
+
another source return HTTP 409 with `data_source_not_selected_runtime`, rather
|
|
88
|
+
than HTTP 503 suggesting an outage. General external SQL requires a separate
|
|
89
|
+
permission model; `operation="select"` alone does not establish that boundary.
|
|
90
|
+
|
|
51
91
|
## Metadata and search
|
|
52
92
|
|
|
53
93
|
`MetaTable.filter_by_body(...)` supports catalog filtering and pagination.
|
|
@@ -90,6 +90,10 @@ namespace grants. These application grants do not create roles or permissions in
|
|
|
90
90
|
the external database. Runtime SQL security can remain uninitialized while
|
|
91
91
|
external imports and reads work. Arbitrary SQL remains restricted to the selected
|
|
92
92
|
runtime DataSource and its database-enforced caller permissions.
|
|
93
|
+
`read_rows()` and `iter_rows()` derive the source from the imported MetaTable;
|
|
94
|
+
callers do not replace the API URL or the runtime default to read another source.
|
|
95
|
+
An external UID passed to a SQL endpoint returns the explicit
|
|
96
|
+
`data_source_not_selected_runtime` conflict (HTTP 409).
|
|
93
97
|
|
|
94
98
|
For SQLite runtime views, bounded reads allow only the approved view's output.
|
|
95
99
|
Arbitrary SQL still requires grants on its underlying tables: SQLite's view-origin
|
|
@@ -88,7 +88,16 @@ def execute_repository_operation(operation, *, context):
|
|
|
88
88
|
```
|
|
89
89
|
|
|
90
90
|
The compiler resolves missing DataSource or dialect values from the selected API
|
|
91
|
-
runtime.
|
|
91
|
+
runtime. Leave `context.data_source_uid` as `None` for the automatic path: the
|
|
92
|
+
Environment selects the API deployment, and its runtime supplies the source and
|
|
93
|
+
dialect together. No application URL or source setting is needed. Missing or
|
|
94
|
+
malformed source metadata raises `metatables.DataSourceResolutionError`.
|
|
95
|
+
An explicit UID must match that runtime when its dialect is inferred; another
|
|
96
|
+
source cannot inherit the runtime dialect. Optional external reads use imported
|
|
97
|
+
MetaTables' `read_rows()`/`iter_rows()` under existing grants; arbitrary SQL remains
|
|
98
|
+
runtime-bound. See [query and mutate](query-and-mutate.md).
|
|
99
|
+
|
|
100
|
+
A MetaTable UID is not a DataSource UID. For offline compilation supply
|
|
92
101
|
both `data_source_uid` and `dialect`. For example, this exercises the replacement
|
|
93
102
|
compiler above without registration, credentials or a running API:
|
|
94
103
|
|
|
@@ -89,7 +89,7 @@ today's definitions.
|
|
|
89
89
|
|
|
90
90
|
## Runs in Admin
|
|
91
91
|
|
|
92
|
-
**Runs** lists recorded attempts by default. Use **
|
|
92
|
+
**Runs** lists recorded attempts by default. Use **Root invocations only**
|
|
93
93
|
to restrict history to roots. The compact history on the left identifies each
|
|
94
94
|
run by date/time, source updater, outcome indicator, and duration. Selecting a row
|
|
95
95
|
shows that Run's UID, timestamps, outcome and duration on the right. The updater
|
|
@@ -5,14 +5,16 @@ implement a second platform HTTP client or token exchange.
|
|
|
5
5
|
|
|
6
6
|
| Setting | Consumer | Purpose |
|
|
7
7
|
| --- | --- | --- |
|
|
8
|
-
| `METATABLES_API_URL` | Python client / CLI |
|
|
8
|
+
| `METATABLES_API_URL` | Python client / CLI | Local development only: loopback HTTP(S) base URL, set automatically by `--local` or `configure_local_client()`. Unset/empty resolves the packaged API deployment in the caller's SDK-owned Environment. Hosted URL overrides are rejected. |
|
|
9
9
|
| `local_mode_available` in `configuration.yaml` | API / launcher | Enables developer Local/Hosted selection; strict boolean, default false. |
|
|
10
10
|
| `METATABLES_LOCAL_TOKEN` | Local launcher and client | Private ASCII token of at least 40 characters. |
|
|
11
11
|
| `METATABLES_LOCAL_ALLOWED_ORIGINS` | Local API | Comma-separated exact loopback HTTP(S) origins with explicit ports; empty by default. |
|
|
12
12
|
| `METATABLES_LOCAL_STORAGE_DIR` | Local API | Root for the checkout's local runtime SQLite file, shared across Git branches; defaults to `~/.local/share/metatables`. |
|
|
13
13
|
|
|
14
|
-
Client discovery uses the name derived from the API automatic-deployment file
|
|
15
|
-
|
|
14
|
+
Client discovery uses the name derived from the API automatic-deployment file
|
|
15
|
+
and the caller's resolved Organization Environment. Identical names in other
|
|
16
|
+
Environments do not require URL configuration or renaming. The cache is scoped
|
|
17
|
+
to the platform and Environment and retains only the resolved endpoint
|
|
16
18
|
and target identity; `/runtime-context/` continues to supply fresh DataSource
|
|
17
19
|
state. See [client connection](../client/installation-and-connection.md).
|
|
18
20
|
|
|
@@ -14,8 +14,9 @@ In Admin, open **Runs**. The left-hand list shows all recorded attempts by defau
|
|
|
14
14
|
including dependency attempts and older records without a captured graph. Each
|
|
15
15
|
entry shows its timestamp, outcome and duration; dependency attempts are indented
|
|
16
16
|
under their invocation's root when both are on the page. Select one to inspect its
|
|
17
|
-
invocation and logs.
|
|
18
|
-
|
|
17
|
+
invocation and logs. The filters head the list: updater, outcome, a start-time
|
|
18
|
+
range (last hour, 24 hours, 7 days or a custom local-time range) and **Root
|
|
19
|
+
invocations only**. **Clear filters** keeps the selected run.
|
|
19
20
|
The URL keeps these filters and the selected run. On narrow screens, the list
|
|
20
21
|
appears above the run.
|
|
21
22
|
Use **Hide history** to give the run the full width; **Show history** restores
|
{mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/docs/reference/python.md
RENAMED
|
@@ -22,6 +22,7 @@ Import application APIs from `metatables`. This list is generated from `metatabl
|
|
|
22
22
|
| `DEFAULT_ALEMBIC_VERSION_TABLE_NAME` | `metatables` | constant |
|
|
23
23
|
| `DEFAULT_PLATFORM_MANAGED_PROVISIONING` | `metatables` | constant |
|
|
24
24
|
| `DataSource` | `metatables.models` | class |
|
|
25
|
+
| `DataSourceResolutionError` | `metatables.runtime_contract` | class |
|
|
25
26
|
| `LastUpdateIndexTimePayload` | `metatables.models` | class |
|
|
26
27
|
| `LastUpdateMultiIndexStatsPayload` | `metatables.models` | class |
|
|
27
28
|
| `ManagedMetaTableCollectionCreateRow` | `metatables.models` | class |
|
{mainsequence_metatable-0.1.6.dev7 → mainsequence_metatable-0.1.7.dev9}/scripts/check_boundaries.py
RENAMED
|
@@ -23,10 +23,11 @@ SDK_MODULES = frozenset({
|
|
|
23
23
|
})
|
|
24
24
|
SHARED_MODULES = frozenset({'metatables.local_connection', 'metatables.local_files', 'metatables.sdk_compat', 'metatables.update_configuration_contract',
|
|
25
25
|
'metatables.transfer_contract', 'metatables.runtime_contract', 'metatables.log_contract', 'metatables.local_run_logs'})
|
|
26
|
-
# Read-only platform provenance for
|
|
27
|
-
# identifiers are allowed only at the SDK admission/display boundary; catalog
|
|
26
|
+
# Read-only platform provenance for initialization and endpoint discovery. These exact
|
|
27
|
+
# identifiers are allowed only at the SDK admission/display/discovery boundary; catalog
|
|
28
28
|
# models, constraints and storage policy remain forbidden from owning them.
|
|
29
29
|
DISPLAY_PROVENANCE = {
|
|
30
|
+
"src/metatables/endpoint.py": {"environment_uid", "organization_environment_uid", "resolve_organization_environment_uid"},
|
|
30
31
|
"src/metatables/cli/local.py": {"sdk_session_environment", "vite_environment", "api_environment"},
|
|
31
32
|
"src/metatables/sdk_compat.py": {"is_organization_admin"},
|
|
32
33
|
'src/metatables/api/app/auth/boundary.py': {'environment_uid', 'organization_environment_uid', 'is_organization_admin'},
|
|
@@ -419,6 +419,7 @@ tests/contracts/capabilities.json
|
|
|
419
419
|
tests/contracts/client_signatures.json
|
|
420
420
|
tests/contracts/database_operations.json
|
|
421
421
|
tests/contracts/test_bounded_transfer.py
|
|
422
|
+
tests/contracts/test_compiler_runtime_source.py
|
|
422
423
|
tests/contracts/test_relation_batching.py
|
|
423
424
|
tests/contracts/test_relation_import.py
|
|
424
425
|
tests/contracts/test_storage_layouts.py
|