mainsequence-metatable 0.1.46.dev73__tar.gz → 0.1.47.dev75__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.46.dev73 → mainsequence_metatable-0.1.47.dev75}/.agents/skills/client/metatables-meta-tables/SKILL.md +1 -1
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/.agents/skills/client/metatables-migrations/SKILL.md +30 -13
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/.agents/skills/client/metatables-time-index-table-updates/SKILL.md +8 -0
- {mainsequence_metatable-0.1.46.dev73/src/mainsequence_metatable.egg-info → mainsequence_metatable-0.1.47.dev75}/PKG-INFO +1 -1
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/adr/api/0024-namespace-and-table-access-roles.md +6 -4
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/adr/index.md +1 -1
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/client/deploy-application-migrations.md +53 -33
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/security/ownership-and-sharing.md +8 -6
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/pyproject.toml +1 -1
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75/src/mainsequence_metatable.egg-info}/PKG-INFO +1 -1
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/uv.lock +1 -1
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/.agents/skills/analyze-with-sql/SKILL.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/.agents/skills/client/metatables-local-development/SKILL.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/.agents/skills/client/metatables-table-discovery/SKILL.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/.agents/skills/discover-tables/SKILL.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/.agents/skills/ms_tau_sdk/PINNED_FROM.txt +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/.agents/skills/ms_tau_sdk/tau_a2a_runtime_adapter/SKILL.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/.agents/skills/ms_tau_sdk/tau_local_development/SKILL.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/.agents/skills/ms_tau_sdk/tau_project_customization/SKILL.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/.agents/skills/ms_tau_sdk/tau_repository_integration/SKILL.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/.agents/skills/ms_tau_sdk/tau_security_and_access/SKILL.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/.mainsequence/workflows/metatables-api.yaml +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/LICENSE +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/MANIFEST.in +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/README.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/alembic.ini +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/api/metatables/main.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/compose.database-tests.yml +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/adr/agent/0019-metatables-analyst-agent.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/adr/agent/0020-analyst-reads-as-its-requester.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/adr/agent/0021-api-serves-the-analyst-tools-over-mcp.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/adr/api/0001-unified-api-storage-and-local-sqlite.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/adr/api/0002-application-administration-and-table-ownership.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/adr/api/0004-approved-application-migrations.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/adr/api/0005-run-logs-and-local-file-capture.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/adr/api/0006-historical-run-graphs.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/adr/api/0007-database-enforced-table-access.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/adr/api/0007-database-roles-and-privileges.svg +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/adr/api/0007-query-enforcement-path.svg +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/adr/api/0008-mysql-mssql-table-workflows.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/adr/api/0009-shared-credential-store.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/adr/api/0010-import-external-tables-and-views.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/adr/api/0012-bounded-data-transfer-and-safe-retries.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/adr/api/0013-application-owned-migrations.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/adr/api/0014-main-sequence-release-jobs-and-production-migrations.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/adr/api/0015-timescale-compression-and-retention-policies.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/adr/api/0016-impact-preflight.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/adr/api/0017-hosted-request-identity.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/adr/api/0018-search-document-pipeline.svg +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/adr/api/0018-table-search.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/adr/api/0022-concurrent-requests-and-connection-reuse.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/adr/api/0023-daily-security-check.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/adr/client/0003-api-endpoint-resolution.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/adr/client/0011-cli-local-development-with-managed-admin.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/api/authentication-and-errors.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/api/data-sources.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/api/openapi.json +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/api/overview.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/api/reference.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/api/tables-and-migrations.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/api/time-index-and-updates.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/assets/branding/metatables.svg +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/assets/diagrams/local-client-experience.svg +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/assets/diagrams/namespace-access.svg +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/client/bounded-transfers.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/client/build-an-updater.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/client/define-and-migrate-tables.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/client/installation-and-connection.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/client/local-storage.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/client/query-and-mutate.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/client/quickstart.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/client/read-existing-time-index-tables.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/client/register-existing-tables.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/client/tutorial.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/client/upgrade-legacy-app.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/concepts/architecture.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/concepts/data-sources.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/concepts/identity-and-scope.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/concepts/permissions-namespaces-labels.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/concepts/runs-and-execution-graphs.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/concepts/table-contracts-and-lifecycle.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/concepts/time-index-tables-and-updates.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/contributing/architecture-and-boundaries.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/contributing/database-backends.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/contributing/documentation.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/contributing/releasing.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/contributing/testing.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/README.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/bounded_reader.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/data_sources/README.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/data_sources/mssql.json +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/data_sources/mysql.json +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/data_sources/postgresql.json +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/data_sources/register.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/external_table.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/local_app/README.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/local_app/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/local_app/__main__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/local_app/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/local_app/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/local_app/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/local_app/migrations/versions/metatables_local_example/0001.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/local_app/tables.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/query.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/quickstart.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/reader.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/scripts/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/scripts/setup_metatables.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/tables.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/tutorial/README.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/tutorial/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/tutorial/__main__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/tutorial/data/README.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/tutorial/data/yahoo_spy_qqq_iwm_2026-06-15_2026-07-17.csv +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/tutorial/frames.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/tutorial/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/tutorial/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/tutorial/migrations/registry.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/tutorial/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/tutorial/migrations/versions/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/tutorial/migrations/versions/metatables_market_tutorial/0001_create_market_tutorial_tables.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/tutorial/migrations/versions/metatables_market_tutorial/0002_create_rolling_volatility.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/tutorial/migrations/versions/metatables_market_tutorial/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/tutorial/operations.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/tutorial/tables.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/tutorial/updaters.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/updater.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/index.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/operations/catalog-migrations.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/operations/configuration.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/operations/hosted-runtime.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/operations/local-runtime.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/operations/recovery-and-observability.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/operations/run-history.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/operations/run-logs.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/reference/capabilities.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/reference/cli.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/reference/python.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/security/index.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/security/permissions.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/mkdocs.yml +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/scripts/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/scripts/build_reference.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/scripts/check_boundaries.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/scripts/check_client_api_coverage.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/scripts/check_distribution_sources.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/scripts/check_docs.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/scripts/check_examples_debug.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/scripts/check_project.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/scripts/dev_release_version.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/scripts/test_databases.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/scripts/test_postgresql.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/setup.cfg +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/mainsequence_metatable.egg-info/SOURCES.txt +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/mainsequence_metatable.egg-info/dependency_links.txt +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/mainsequence_metatable.egg-info/entry_points.txt +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/mainsequence_metatable.egg-info/requires.txt +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/mainsequence_metatable.egg-info/top_level.txt +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/_admin_source.json +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/_build.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/_skill_bundle.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/analysis.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/analyst/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/auth/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/auth/boundary.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/auth/local_actor.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/auth/team_membership.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/bootstrap.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/configuration.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/connection_count.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/credential_admin.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/development.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/development_client.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/error_logging.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/main.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/mcp.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/platform_cache.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/access_map.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/caller.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/column_search.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/contract_validation.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/data_sources.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/managed_finalize.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/migration_connection.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/namespaces.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/run_logs.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/runtime_context.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/schema_graph.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/security.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/table_cascade.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/table_crud.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/table_delete.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/table_filter.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/table_import.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/table_introspection.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/table_patch.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/table_registration.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/table_response.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/table_search.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/table_search_document.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/table_sql.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/table_update_pipeline.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/time_index_delete.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/time_index_reads.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/time_index_stats.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/timescale_policies.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/update_batch.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/update_chunk_insert.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/update_constants.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/update_crud.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/update_details.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/update_graph.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/update_index_statistics.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/update_registration.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/update_runs.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/routes/update_statistics.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/runtime.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/runtime_control.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/runtime_database.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/source_passwords.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/app/transfer.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/access.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/adapters/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/adapters/maintenance/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/adapters/maintenance/postgresql.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/adapters/maintenance/runtime.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/adapters/maintenance/temporal.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/adapters/maintenance/timescaledb.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/adapters/maintenance/validation.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/adapters/postgresql_cascade_delete.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/adapters/postgresql_connection.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/adapters/postgresql_introspection.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/adapters/postgresql_table_delete.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/adapters/postgresql_tables.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/adapters/postgresql_time_index.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/adapters/postgresql_time_index_delete.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/adapters/postgresql_time_index_queries.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/adapters/postgresql_time_index_stats.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/adapters/postgresql_time_index_write.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/adapters/source_validation.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/adapters/sqlite_connection.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/adapters/sqlite_introspection.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/adapters/table_cursor.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/batch_inspection.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/catalog.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/catalog_ddl.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/catalog_types.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/connection_pool.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/contracts.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/hosted.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/hosted_access.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/migration_connection.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/native.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/operations.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/pages.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/postgresql_access.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/registry.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/relation_tables.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/relational.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/restricted_sql.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/sqlite_access.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/streaming.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/backends/timescale.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/contracts/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/contracts/relation_import.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/contracts/storage_layouts.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/contracts/table_contracts.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/contracts/values.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/domain/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/domain/access_roles.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/domain/catalog_rules.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/domain/data_source_rules.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/domain/index_statistics.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/domain/label_rules.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/domain/permission_rules.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/domain/update_constants.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/integrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/integrations/catalog_data_sources.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/integrations/credential_keys.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/integrations/credential_store.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/integrations/data_source_provider.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/integrations/local_credentials.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/integrations/local_workspace.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/integrations/platform_principals.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/integrations/run_logs.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/integrations/runtime_binding.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/integrations/runtime_data_sources.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/integrations/security_check_job.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/integrations/source_validation.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/migrations/versions/0001_initial.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/migrations/versions/0002_security_model.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/migrations/versions/0003_run_log_capture.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/migrations/versions/0004_historical_run_graphs.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/migrations/versions/0005_database_access.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/migrations/versions/0006_local_credentials.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/migrations/versions/0007_external_relation_names.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/migrations/versions/0008_upload_receipts.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/migrations/versions/0009_timescale_policies.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/migrations/versions/0010_cascade_targets.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/migrations/versions/0011_table_search.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/migrations/versions/0012_table_creator.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/migrations/versions/0013_security_check.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/migrations/versions/0014_access_roles.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/migrations/versions/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/operations/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/operations/bootstrap_migrations.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/operations/bootstrap_timing.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/operations/catalog_schema.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/operations/create_table.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/operations/finalize_managed.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/operations/import_relations.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/operations/introspect_table.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/operations/read_time_index.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/operations/register_catalog.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/operations/security_check.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/persistence/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/persistence/cascade.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/persistence/catalog.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/persistence/database.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/persistence/grants.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/persistence/impact.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/persistence/labels.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/persistence/locking.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/persistence/models.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/persistence/physical_operations.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/persistence/projections.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/persistence/run_graphs.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/persistence/schema_graph.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/persistence/sqlite_types.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/persistence/table_body_filter.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/persistence/table_queries.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/persistence/table_response.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/persistence/update_graph.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/persistence/update_pipeline.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/persistence/updates.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/persistence/upload_receipts.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/presentation/data_source_summary.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/search/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/search/documents.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/search/embeddings.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/search/index.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/search/ranking.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/search/text.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/backend/search/worker.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/metatables/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/metatables/configuration.yaml +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/metatables/main.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/api/request_timing.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/cli/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/cli/admin_install.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/cli/app.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/cli/filters.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/cli/local.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/cli/migrations.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/cli/project.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/cli/skills.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/compiled_sql/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/compiled_sql/mssql.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/compiled_sql/v1.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/dtype_codec.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/endpoint.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/README.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/bounded_reader.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/data_sources/README.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/data_sources/mssql.json +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/data_sources/mysql.json +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/data_sources/postgresql.json +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/data_sources/register.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/external_table.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/local_app/README.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/local_app/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/local_app/__main__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/local_app/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/local_app/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/local_app/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/local_app/migrations/versions/metatables_local_example/0001.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/local_app/tables.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/query.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/quickstart.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/reader.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/scripts/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/scripts/setup_metatables.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/tables.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/tutorial/README.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/tutorial/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/tutorial/__main__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/tutorial/data/README.md +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/tutorial/data/yahoo_spy_qqq_iwm_2026-06-15_2026-07-17.csv +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/tutorial/frames.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/tutorial/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/tutorial/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/tutorial/migrations/registry.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/tutorial/migrations/script.py.mako +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/tutorial/migrations/versions/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/tutorial/migrations/versions/metatables_market_tutorial/0001_create_market_tutorial_tables.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/tutorial/migrations/versions/metatables_market_tutorial/0002_create_rolling_volatility.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/tutorial/migrations/versions/metatables_market_tutorial/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/tutorial/operations.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/tutorial/tables.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/tutorial/updaters.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/examples/updater.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/future_registry.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/hashing.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/instrumentation.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/local_connection.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/local_files.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/local_run_logs.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/log_contract.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/migrations/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/migrations/alembic.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/migrations/connection.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/migrations/env.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/migrations/provider.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/migrations/registry.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/migrations/runner.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/migrations/scaffold.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/migrations/sqlite.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/migrations/templates/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/migrations/templates/env.py.mako +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/migrations/templates/script.py.mako +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/migrations/tls.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/models.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/pydantic_metadata.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/run_logging.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/runtime.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/runtime_context.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/runtime_contract.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/schema_names.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/sdk_compat.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/sqlalchemy_contracts.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/storage_layout_contract.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/time_index_table_refs.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/transfer.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/transfer_contract.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/transport.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/update_configuration_contract.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/updaters/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/updaters/configuration.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/updaters/dependencies.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/updaters/managers.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/updaters/namespacing.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/updaters/runner.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/updaters/updaters.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/updaters/utils.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/src/metatables/upload.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/analyst/test_agent_surface.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/analyst/test_api_search.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/analyst/test_mcp.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/analyst/test_tools.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/auth/test_bootstrap_failure_cause.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/auth/test_caller_endpoint.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/auth/test_data_source_identity.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/auth/test_development_client.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/auth/test_hosted_agent.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/auth/test_hosted_environment_target.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/auth/test_local_mode.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/auth/test_platform_fact_cache.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/auth/test_request_identity.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/auth/test_runtime_bootstrap.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/auth/test_runtime_database.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/auth/test_runtime_scaffold.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/auth/test_runtime_selection.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/auth/test_runtime_storage_binding.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/auth/test_source_passwords.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/auth/test_team_membership.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/catalog/test_catalog_foundation.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/catalog/test_contract_projection.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/catalog/test_database_config.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/catalog/test_index_statistics.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/catalog/test_migration.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/catalog/test_schema_validation.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/conftest.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/contracts/capabilities.json +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/contracts/client_signatures.json +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/contracts/database_operations.json +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/contracts/test_bounded_transfer.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/contracts/test_compiler_runtime_source.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/contracts/test_relation_batching.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/contracts/test_relation_import.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/contracts/test_runtime_contract_compat.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/contracts/test_storage_layouts.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/contracts/test_table_contracts.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/database_backend/Dockerfile +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/database_backend/Dockerfile.dockerignore +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/database_backend/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/database_backend/conftest.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/database_backend/provider/__init__.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/database_backend/provider/env.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/database_backend/provider/versions/0001_measurement.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/database_backend/test_api_contract.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/database_backend/test_application_migration.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/database_backend/test_bootstrap_recovery.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/database_backend/test_catalog_contract.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/database_backend/test_credential_catalog.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/database_backend/test_physical_contract.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/database_backend/test_relation_import.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/database_backend/test_runtime_bootstrap.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/database_backend/test_sql_security.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/database_backend/test_update_client.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/database_operations/test_physical_operations.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/database_operations/test_postgresql_operations.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/database_operations/test_runtime_and_temporal.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/documentation/test_project_checks.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_admin_installation.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_api_endpoint.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_application_owned_migrations.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_catalog_outage.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_client_api_contract.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_client_api_coverage.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_client_migration_scaffold.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_client_migration_tls.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_client_package.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_client_signatures.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_client_value_behaviors.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_data_source_registry.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_local_actor_client_api.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_local_cli_workflow.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_local_client_selection.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_managed_finalize_client_api.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_managed_finalize_unchanged.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_migration_metadata_and_downgrade.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_namespaces_admin_http.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_public_imports.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_remaining_client_routes.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_run_graphs.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_run_logs.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_runtime_upgrade.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_sdk_local_startup.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_sqlite_runtime.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_table_delete_client_api.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_table_filter_client_api.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_table_introspection_client_api.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_table_patch_client_api.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_table_search_api.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_table_search_document_api.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_table_search_scale.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_table_stats_api.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_table_update_pipeline.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_table_updates_http.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_time_index_delete_client_api.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_time_index_reads_client_api.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_timescale_policies_client_api.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_update_batch_client_api.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_update_chunk_insert_client_api.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_update_dependency_priority_client_api.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_update_index_statistics_client_api.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/e2e/test_update_registration_client_api.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/examples/test_documented_examples.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/examples/test_postgresql_examples.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/examples/test_setup_launch.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/examples/test_tutorial.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/integrations/test_batch_introspection.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/integrations/test_connection_reuse.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/integrations/test_credential_store.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/integrations/test_data_source_rules.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/integrations/test_local_data_sources.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/integrations/test_local_run_logs.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/integrations/test_postgresql_connection.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/integrations/test_postgresql_sql.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/integrations/test_postgresql_tables.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/integrations/test_postgresql_time_index_queries.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/integrations/test_request_timing.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/integrations/test_serving_policy.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/integrations/test_source_validation.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/integrations/test_sqlite_operations.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/labels/test_labels.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/operations/test_bootstrap_lock.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/operations/test_create_table_operation.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/operations/test_create_table_postgres.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/operations/test_physical_operation_journal.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/operations/test_register_catalog.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/operations/test_search_documents.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/operations/test_timescale_policies.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/packaging/test_client_skills.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/packaging/test_dev_release_version.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/packaging/test_distribution_sources.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/packaging/test_editable_build.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/packaging/test_installed_distribution.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/permissions/test_access_map.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/permissions/test_deployment_security.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/permissions/test_governed_sql_scope.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/permissions/test_incremental_security.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/permissions/test_local_actor_membership.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/permissions/test_migration_boundary.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/permissions/test_namespace_grants.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/permissions/test_security_api.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/permissions/test_security_check.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/permissions/test_table_body_filter.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/permissions/test_table_grants.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/permissions/test_table_queries.py +0 -0
- {mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/tests/permissions/test_workload_principals.py +0 -0
|
@@ -58,7 +58,7 @@ contract. Preserve the user's existing authorization and scope.
|
|
|
58
58
|
|
|
59
59
|
A UID is catalog identity. An optional identifier is unique in the connected catalog.
|
|
60
60
|
A physical binding is DataSource + schema + table name. A catalog
|
|
61
|
-
namespace groups
|
|
61
|
+
namespace groups tables for access: a role on it applies to every table in it. It is not a SQL schema. Contract hashes
|
|
62
62
|
are fingerprints, not table identity. See `docs/concepts/identity-and-scope.md`.
|
|
63
63
|
|
|
64
64
|
## SQLAlchemy contract rules
|
|
@@ -46,15 +46,31 @@ migrations. Read `docs/client/deploy-application-migrations.md`.
|
|
|
46
46
|
1. **Develop locally.** Author the revision and apply it to verified local SQLite
|
|
47
47
|
with the [local development skill](../metatables-local-development/SKILL.md).
|
|
48
48
|
2. **Commit the revision with the code that needs it.**
|
|
49
|
-
3. **Give the Job access.**
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
49
|
+
3. **Give the Job access.** Any person admitted to the Environment sets it up; no
|
|
50
|
+
Organization admin is needed. Follow "Give the Job access" in
|
|
51
|
+
`docs/client/deploy-application-migrations.md`, in this order, in each
|
|
52
|
+
Environment:
|
|
53
|
+
1. Before the first push, create each namespace the provider creates tables in:
|
|
54
|
+
**Create namespace** in that Environment's Admin, or `Namespace.create(name)`
|
|
55
|
+
from the person's own session connected to it. The creator becomes `owner`.
|
|
56
|
+
2. Push the workflow file. It creates the Job's and the other resources' workload
|
|
57
|
+
Users before any step runs, so the first migration may stop with
|
|
58
|
+
`namespace_access_required`.
|
|
59
|
+
3. As owner, grant the migration Job's workload User `editor`, and `data_writer` to
|
|
60
|
+
resources that only read and write rows, in the namespace's Access panel (find
|
|
61
|
+
a workload by its Job or release name) or with `grant_role` and its
|
|
62
|
+
`workload_user_uid`. A Team the owner belongs to, holding the roles with the
|
|
63
|
+
workloads as members, is optional; it saves granting again when a Job is
|
|
64
|
+
recreated.
|
|
65
|
+
4. Re-run the migration Job.
|
|
66
|
+
|
|
67
|
+
These are the person's actions, made in MetaTables, not in the repository. Tell
|
|
68
|
+
the user the steps; with their explicit go-ahead you may run `Namespace.create`
|
|
69
|
+
and `grant_role` from their session against the target Environment. Never put them
|
|
70
|
+
in the migration Job: workloads are refused. A namespace created before ADR 0024
|
|
71
|
+
has no owner until an Organization admin grants one. Recommend one namespace per
|
|
55
72
|
application; it is not required (see "Namespaces and applications" in
|
|
56
|
-
`docs/security/ownership-and-sharing.md`).
|
|
57
|
-
made in MetaTables (and, for a Team, the platform), not in the repository.
|
|
73
|
+
`docs/security/ownership-and-sharing.md`).
|
|
58
74
|
4. **Deploy.** The application's `.mainsequence/workflows/` file declares a
|
|
59
75
|
migration Job that calls `upgrade_application` for each provider, in
|
|
60
76
|
dependency order, from the candidate image. The Job and every resource that
|
|
@@ -252,11 +268,12 @@ Read `docs/operations/recovery-and-observability.md`.
|
|
|
252
268
|
module (see [Provider placement](#provider-placement)), preserving its provider
|
|
253
269
|
identity and applied revision history. Do not edit files in `site-packages`.
|
|
254
270
|
- If reservation fails with `namespace_not_found` (403), create the namespace and
|
|
255
|
-
grant the Job `editor`, as in step 3.
|
|
256
|
-
the error lists grants the `caller_user_uid`
|
|
257
|
-
to a Team that holds it
|
|
258
|
-
With `
|
|
259
|
-
|
|
271
|
+
grant the Job `editor`, as in step 3. `namespace_access_required` is expected on a
|
|
272
|
+
new application's first run: an owner the error lists grants the `caller_user_uid`
|
|
273
|
+
`editor` on the namespace, or adds it to a Team that holds it, then the Job is
|
|
274
|
+
re-run. With `namespace_required`, set the table's namespace. With
|
|
275
|
+
`table_not_editable`, an owner of the table or its namespace grants `editor`. Do
|
|
276
|
+
not change code or physical names to get around it.
|
|
260
277
|
- If reservation fails otherwise, compare provider scope and physical identities
|
|
261
278
|
before changing code. Do not create a second catalog row for the same table.
|
|
262
279
|
- If Alembic succeeds but finalization fails, physical DDL may already be
|
|
@@ -51,6 +51,14 @@ The optional `hash_namespace` separates producer identities, **not output tables
|
|
|
51
51
|
A test namespace alone does not protect shared physical rows. Use a disposable
|
|
52
52
|
output binding or explicitly authorized row scope for mutation tests.
|
|
53
53
|
|
|
54
|
+
A deployed producer runs as its Job's workload User. It needs `editor` on its output
|
|
55
|
+
tables, which lets it operate updaters and write rows, and `data_viewer` on its
|
|
56
|
+
inputs. Grant these on the namespaces, directly or through a Team, the same way and
|
|
57
|
+
in the same order as the migration Job's `editor` (step 3 of the
|
|
58
|
+
[migrations skill](../metatables-migrations/SKILL.md)); no Organization admin is
|
|
59
|
+
needed. Output tables belong to the migration provider and its namespace: a workload
|
|
60
|
+
never creates a table outside a namespace.
|
|
61
|
+
|
|
54
62
|
## Configuration and dependencies
|
|
55
63
|
|
|
56
64
|
Use `TimeIndexTableUpdateConfig` with described `Field` values and realistic
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Status: Accepted.
|
|
4
4
|
|
|
5
|
-
Implementation status: implemented on development
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
Implementation status: implemented on development, in the API and in the MetaTables
|
|
6
|
+
Admin's Access panels. Non-container tests pass. The container matrix passes on SQLite;
|
|
7
|
+
on PostgreSQL, TimescaleDB, SQL Server and MySQL one runtime-bootstrap test fails, as it
|
|
8
|
+
did before this change. Hosted deployment is pending. The user guides are
|
|
9
|
+
[Ownership, roles, and inheritance](../../security/ownership-and-sharing.md) and the
|
|
10
|
+
[actions and roles](../../security/permissions.md).
|
|
9
11
|
|
|
10
12
|
Owner: MetaTables API, with client and Admin consumers.
|
|
11
13
|
|
{mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/adr/index.md
RENAMED
|
@@ -41,7 +41,7 @@ decisions belong in the SDK repository and are linked as dependencies.
|
|
|
41
41
|
| [0018: Table search by meaning and columns](api/0018-table-search.md) | Accepted; implemented; container engine verification pending | One route ranks visible tables by BM25 keywords and a local English embedding model over a per-table document that includes columns, merges the rankings and returns `matched_columns`; the index refreshes on every metadata write. |
|
|
42
42
|
| [0022: Concurrent requests per pod and reused database connections](api/0022-concurrent-requests-and-connection-reuse.md) | Accepted; implemented on development; deployment and load verification pending | One number per pod sizes its threads, data-request admission, catalog pool and login-role connections; connections are reused only by the role that opened them, and maximum pods × 3T stays within the database's connection limit. |
|
|
43
43
|
| [0023: A daily security check instead of a sweep in every deployment](api/0023-daily-security-check.md) | Accepted; implemented on development; deployment and first scheduled run pending | A deployment sets up only what the new release needs; a daily Job, which administrators can also start, repairs whatever differs from the plan without pausing caller SQL and records its outcome. |
|
|
44
|
-
| [0024: Access roles for namespaces and tables](api/0024-namespace-and-table-access-roles.md) | Accepted; implemented on development
|
|
44
|
+
| [0024: Access roles for namespaces and tables](api/0024-namespace-and-table-access-roles.md) | Accepted; implemented on development (API and Admin); hosted deployment pending | Actions and roles (`metadata_viewer`, `data_viewer`, `data_writer`, `editor`, `owner`) replace Reader/Writer; `namespaces.create` and `tables.create` are checked on the parent, the creator of a namespace owns it, admins hold every action, workloads use access but never manage it, and an ordinary user deploys a new application without an admin. |
|
|
45
45
|
|
|
46
46
|
## Agents
|
|
47
47
|
|
|
@@ -15,9 +15,9 @@ before anything that uses the tables rolls out. See
|
|
|
15
15
|
[Local storage](local-storage.md).
|
|
16
16
|
2. **Commit the revision with the code that needs it.** Applied revisions are
|
|
17
17
|
immutable; every later schema change is a new revision.
|
|
18
|
-
3. **Give the Job access.** Before the first
|
|
19
|
-
|
|
20
|
-
([below](#give-the-job-access)).
|
|
18
|
+
3. **Give the Job access.** Before the first push to each Environment, create the
|
|
19
|
+
application's namespace; once the workload Users exist, grant them their roles
|
|
20
|
+
([below](#give-the-job-access)). Any person can; no Organization admin is needed.
|
|
21
21
|
4. **Deploy.** The application's workflow runs its migration Job from the
|
|
22
22
|
candidate image, then deploys the resources that read or write the tables.
|
|
23
23
|
|
|
@@ -111,34 +111,54 @@ against the branch's workflow template before committing it.
|
|
|
111
111
|
|
|
112
112
|
## Give the Job access
|
|
113
113
|
|
|
114
|
-
The Job runs as its own workload User.
|
|
115
|
-
|
|
116
|
-
([ADR 0024](../adr/api/0024-namespace-and-table-access-roles.md))
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
114
|
+
The Job runs as its own workload User. Workloads never create namespaces, never grant
|
|
115
|
+
roles, and create tables only inside a namespace where they hold `editor`
|
|
116
|
+
([ADR 0024](../adr/api/0024-namespace-and-table-access-roles.md)). So a person sets up
|
|
117
|
+
the application's access, once per Environment, and no Organization admin is needed.
|
|
118
|
+
Do it in this order:
|
|
119
|
+
|
|
120
|
+
1. **Before the first push, create the namespace.** Any person admitted to the
|
|
121
|
+
Environment can, in that Environment's MetaTables: with **Create namespace** on the
|
|
122
|
+
deployed Admin's Namespaces page, or with `Namespace.create("ledger")` from your own
|
|
123
|
+
session connected to that Environment
|
|
124
|
+
([installation and connection](installation-and-connection.md)). You become its
|
|
125
|
+
`owner`. A name that is already taken is refused with its owners, when you can see
|
|
126
|
+
them; ask one of them for access instead.
|
|
127
|
+
2. **Push the workflow file.** Applying it creates the Job, the FastAPI release and
|
|
128
|
+
their workload Users before any step runs. The first migration can run before
|
|
129
|
+
step 3 and stop with `namespace_access_required`; that is expected.
|
|
130
|
+
3. **Grant the workloads their roles.** On the namespace's **Access** panel, find each
|
|
131
|
+
workload by its Job or release name and grant the migration Job `editor` and every
|
|
132
|
+
resource that only reads and writes rows, such as the FastAPI release, `data_writer`.
|
|
133
|
+
From Python, pass each resource's `workload_user_uid`, which the Main Sequence SDK
|
|
134
|
+
returns on the Job and the ResourceRelease.
|
|
135
|
+
4. **Re-run the migration Job** if step 2's run was refused, or deploy again. It creates
|
|
136
|
+
the application's tables in the namespace; the tables need no grants of their own.
|
|
137
|
+
|
|
138
|
+
Repeat steps 1, 3 and 4 in every Environment, each done by someone the platform admits
|
|
139
|
+
to that Environment: each Environment has its own MetaTables and its own workload Users.
|
|
130
140
|
|
|
131
141
|
```python
|
|
132
142
|
from metatables import Namespace
|
|
133
143
|
|
|
134
|
-
ledger = Namespace.create("ledger")
|
|
135
|
-
ledger.grant_role(migration_job_workload_user_uid, "editor")
|
|
144
|
+
ledger = Namespace.create("ledger") # step 1: you become its owner
|
|
145
|
+
ledger.grant_role(migration_job_workload_user_uid, "editor") # step 3
|
|
136
146
|
ledger.grant_role(api_workload_user_uid, "data_writer")
|
|
137
147
|
```
|
|
138
148
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
149
|
+
**Optionally, a Team.** Grant the roles to a Team you belong to instead of to the
|
|
150
|
+
workload Users, and add the workload Users to that Team: any person can create a Team
|
|
151
|
+
and, as its owner, add workloads they can view. A recreated Job or release then needs
|
|
152
|
+
only Team membership, not a new grant. One Team can hold the roles in every Environment:
|
|
153
|
+
Teams are Organization-wide, and a workload reaches only its own Environment's
|
|
154
|
+
MetaTables. People in the Team receive the same roles, so leave it once the workloads
|
|
155
|
+
are in if you should not hold them yourself; you stay the namespace's owner.
|
|
156
|
+
|
|
157
|
+
**Namespaces created before roles.** A namespace from before ADR 0024 has no owner: its
|
|
158
|
+
former Writers hold `editor`. An Organization admin grants someone `owner` on it once;
|
|
159
|
+
from then on that owner manages it.
|
|
160
|
+
|
|
161
|
+
One namespace per application is the recommended layout, not a rule; see
|
|
142
162
|
[Namespaces and applications](../security/ownership-and-sharing.md#namespaces-and-applications).
|
|
143
163
|
|
|
144
164
|
The Job also needs platform `view` on the Environment's `metatables` release and
|
|
@@ -167,19 +187,19 @@ the database.
|
|
|
167
187
|
|
|
168
188
|
### When registration is refused
|
|
169
189
|
|
|
170
|
-
- **`namespace_not_found`**: the namespace does not exist in this Environment.
|
|
171
|
-
|
|
172
|
-
- **`namespace_access_required`**: the namespace exists, but the `caller_user_uid`
|
|
173
|
-
|
|
174
|
-
|
|
190
|
+
- **`namespace_not_found`**: the namespace does not exist in this Environment. Create
|
|
191
|
+
it (step 1) and grant the roles (step 3).
|
|
192
|
+
- **`namespace_access_required`**: the namespace exists, but the `caller_user_uid` the
|
|
193
|
+
error names lacks `tables.create` on it. The error lists the namespace's owners when
|
|
194
|
+
the caller can see the namespace; one of them grants it `editor` (step 3). Expected
|
|
195
|
+
on a new application's first run.
|
|
175
196
|
- **`namespace_required`**: a workload tried to create a table outside any namespace.
|
|
176
197
|
Set the table's namespace.
|
|
177
198
|
- **`table_not_editable`**: the table already exists and the caller lacks
|
|
178
|
-
`tables.update` on it.
|
|
199
|
+
`tables.update` on it. An owner of the table or its namespace grants `editor`.
|
|
179
200
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
granting the role.
|
|
201
|
+
After the grant, re-run the Job (step 4). Do not run the Job as an Organization admin
|
|
202
|
+
or change physical names to get around a refusal.
|
|
183
203
|
|
|
184
204
|
## What the Job guarantees
|
|
185
205
|
|
|
@@ -169,12 +169,14 @@ tables without a namespace.
|
|
|
169
169
|
|
|
170
170
|
### Recommended: one namespace per application
|
|
171
171
|
|
|
172
|
-
1.
|
|
173
|
-
owner.
|
|
174
|
-
2.
|
|
175
|
-
|
|
176
|
-
belong to that
|
|
177
|
-
|
|
172
|
+
1. Before the first push, a person creates the application's namespace, for example
|
|
173
|
+
`crm`, and becomes its owner.
|
|
174
|
+
2. Pushing the workflow file creates the workload Users. The owner grants `editor` to
|
|
175
|
+
the migration Job's workload User and `data_writer` to the workload Users that only
|
|
176
|
+
read and write rows, or grants these roles to a Team they belong to that contains
|
|
177
|
+
those workloads.
|
|
178
|
+
3. The migration Job creates and migrates the application's tables in `crm`. If its
|
|
179
|
+
first run came before step 2, re-run it.
|
|
178
180
|
|
|
179
181
|
This needs no Organization admin. A Team is optional: it saves granting again when a
|
|
180
182
|
workload User changes. Teams are Organization-wide and a workload reaches only its
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "mainsequence-metatable"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.47.dev75"
|
|
8
8
|
description = "Main Sequence MetaTables Python client and standalone API"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.13"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/api/metatables/main.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/api/data-sources.md
RENAMED
|
File without changes
|
{mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/api/openapi.json
RENAMED
|
File without changes
|
{mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/api/overview.md
RENAMED
|
File without changes
|
{mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/api/reference.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/client/tutorial.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/query.py
RENAMED
|
File without changes
|
|
File without changes
|
{mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/reader.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mainsequence_metatable-0.1.46.dev73 → mainsequence_metatable-0.1.47.dev75}/docs/examples/tables.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|