airbyte-internal-ops 0.1.8__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.
- airbyte_internal_ops-0.1.8/.env.template +13 -0
- airbyte_internal_ops-0.1.8/.github/copilot-instructions.md +123 -0
- airbyte_internal_ops-0.1.8/.github/dependabot.yml +35 -0
- airbyte_internal_ops-0.1.8/.github/pr-welcome-message.md +32 -0
- airbyte_internal_ops-0.1.8/.github/release-drafter.yml +67 -0
- airbyte_internal_ops-0.1.8/.github/workflows/autofix-command.yml +37 -0
- airbyte_internal_ops-0.1.8/.github/workflows/connector-live-test.yml +88 -0
- airbyte_internal_ops-0.1.8/.github/workflows/connector-regression-test.yml +188 -0
- airbyte_internal_ops-0.1.8/.github/workflows/format-check.yml +31 -0
- airbyte_internal_ops-0.1.8/.github/workflows/lint-check.yml +80 -0
- airbyte_internal_ops-0.1.8/.github/workflows/lock-command.yml +37 -0
- airbyte_internal_ops-0.1.8/.github/workflows/pdoc_preview.yml +42 -0
- airbyte_internal_ops-0.1.8/.github/workflows/pdoc_publish.yml +57 -0
- airbyte_internal_ops-0.1.8/.github/workflows/poe-command.yml +34 -0
- airbyte_internal_ops-0.1.8/.github/workflows/pr-welcome.yml +23 -0
- airbyte_internal_ops-0.1.8/.github/workflows/publish.yml +170 -0
- airbyte_internal_ops-0.1.8/.github/workflows/pytest-fast.yml +69 -0
- airbyte_internal_ops-0.1.8/.github/workflows/pytest-matrix.yml +52 -0
- airbyte_internal_ops-0.1.8/.github/workflows/release-drafter.yml +25 -0
- airbyte_internal_ops-0.1.8/.github/workflows/slash-command-dispatch.yml +52 -0
- airbyte_internal_ops-0.1.8/.github/workflows/test-connection-retriever.yml +84 -0
- airbyte_internal_ops-0.1.8/.gitignore +211 -0
- airbyte_internal_ops-0.1.8/.mcp.json.template +28 -0
- airbyte_internal_ops-0.1.8/CONTRIBUTING.md +110 -0
- airbyte_internal_ops-0.1.8/PKG-INFO +166 -0
- airbyte_internal_ops-0.1.8/README.md +127 -0
- airbyte_internal_ops-0.1.8/bin/test_mcp_tool.py +66 -0
- airbyte_internal_ops-0.1.8/conftest.py +18 -0
- airbyte_internal_ops-0.1.8/docs/.gitignore +1 -0
- airbyte_internal_ops-0.1.8/docs/generate.py +47 -0
- airbyte_internal_ops-0.1.8/docs/templates/custom.css +268 -0
- airbyte_internal_ops-0.1.8/docs/templates/theme.css +46 -0
- airbyte_internal_ops-0.1.8/poe_tasks.toml +65 -0
- airbyte_internal_ops-0.1.8/pyproject.toml +182 -0
- airbyte_internal_ops-0.1.8/pyrefly.toml +9 -0
- airbyte_internal_ops-0.1.8/pytest.ini +33 -0
- airbyte_internal_ops-0.1.8/ruff.toml +76 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/__init__.py +44 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_annotations.py +51 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/__init__.py +0 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/README.md +6 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/README.md +40 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/__init__.py +1 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/dbml_assembler.py +240 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/erd_service.py +151 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/relationships.py +80 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/README.md +97 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/__init__.py +0 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/cli.py +142 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/hacks.py +70 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/insights.py +305 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/models.py +43 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/pylint.py +68 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/pylint_plugins/cdk_deprecation_checkers.py +81 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/result_backends.py +109 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/utils.py +94 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/.gitignore +1 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/README.md +420 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/__init__.py +2 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/__init__.py +1 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/__init__.py +8 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/base_backend.py +16 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/duckdb_backend.py +87 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/file_backend.py +165 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/connection_objects_retrieval.py +377 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/connector_runner.py +247 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/errors.py +7 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/evaluation_modes.py +25 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/hacks.py +23 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/json_schema_helper.py +384 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/mitm_addons.py +37 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/models.py +595 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/proxy.py +207 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/secret_access.py +47 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/segment_tracking.py +45 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/utils.py +214 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/conftest.py.disabled +751 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/consts.py +4 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/poetry.lock +4480 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/pytest.ini +9 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/__init__.py +1 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_check.py +61 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_discover.py +117 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_read.py +627 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_spec.py +43 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/report.py +542 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/stash_keys.py +38 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/templates/__init__.py +0 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/templates/private_details.html.j2 +305 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/templates/report.html.j2 +515 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/utils.py +187 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/__init__.py +0 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_check.py +61 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_discover.py +217 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_read.py +177 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_spec.py +631 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_ops/README.md +44 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_ops/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_ops/utils.py +859 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/README.md +1 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/connector/hooks.py +69 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/connector/normalization.py +78 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/python/common.py +350 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/python/pipx.py +54 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/python/poetry.py +93 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/remote_storage.py +112 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/secrets.py +83 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/system/common.py +21 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/system/docker.py +248 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/git.py +63 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/internal_tools.py +47 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/java.py +255 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/python.py +106 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/cache_keys.py +13 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/cli.py +111 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/cdk_helpers.py +30 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/command.py +102 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/dagger_fs.py +43 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/format.py +37 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/modifed.py +113 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/yaml.py +45 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/execution/__init__.py +0 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/execution/argument_parsing.py +80 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/execution/run_steps.py +389 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/gcs.py +53 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/git.py +180 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/github.py +263 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/pip.py +23 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/sentry_utils.py +93 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/slack.py +36 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/utils.py +444 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/README.md +1249 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/__init__.py +36 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/commands.py +97 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/pipeline.py +3 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/__init__.py +69 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/build_customization.py +126 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/common.py +175 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/java_connectors.py +74 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/manifest_only_connectors.py +90 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/normalization.py +54 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/python_connectors.py +156 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/commands.py +350 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/consts.py +44 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/context.py +289 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/generate_erd/__init__.py +1 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/generate_erd/commands.py +69 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/generate_erd/pipeline.py +169 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/list/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/list/commands.py +66 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/migrate_to_inline_schemas/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/migrate_to_inline_schemas/commands.py +34 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/migrate_to_inline_schemas/pipeline.py +453 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pipeline.py +134 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pull_request/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pull_request/commands.py +90 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pull_request/pipeline.py +117 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/reports.py +231 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/commands.py +228 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/context.py +224 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/pipeline.py +94 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/common.py +1026 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/java_connectors.py +173 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/manifest_only_connectors.py +247 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/python_connectors.py +432 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/templates/test_report.html.j2 +201 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/commands.py +77 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/pipeline.py +267 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/steps.py +234 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/templates/up_to_date_pr_body.md.j2 +32 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/upgrade_cdk/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/upgrade_cdk/commands.py +58 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/upgrade_cdk/pipeline.py +231 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/metadata/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/metadata/commands.py +51 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/metadata/pipeline.py +295 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/poetry/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/poetry/commands.py +41 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/base_image.py +191 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/docker.py +121 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/gradle.py +365 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/no_op.py +22 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/poetry.py +48 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/pull_request.py +67 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/__init__.py +21 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/commands.py +154 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/models.py +48 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/pipeline.py +420 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/update/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/update/commands.py +27 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/airbyte_ci.py +262 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/auto_update.py +157 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/click_decorators.py +162 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/confirm_prompt.py +40 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/dagger_pipeline_command.py +119 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/dagger_run.py +154 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/ensure_repo_root.py +61 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/lazy_group.py +54 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/secrets.py +48 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/telemetry.py +80 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/consts.py +110 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/hacks.py +171 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/artifacts.py +56 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/ci_requirements.py +27 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/contexts/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/contexts/click_pipeline_context.py +133 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/contexts/pipeline_context.py +381 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/reports.py +277 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/secrets.py +154 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/singleton.py +26 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/steps.py +480 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/README.md +195 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/__init__.py +0 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/__init__.py +16 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/assets.py +85 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/__init__.py +30 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/documentation.py +714 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/helpers.py +178 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/models.py +177 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/templates/documentation_headers_check_description.md.j2 +17 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/templates/section_content_description.md.j2 +7 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/templates/template.md.j2 +73 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/metadata.py +265 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/packaging.py +258 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/security.py +177 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/version.py +144 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/cli.py +152 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/consts.py +27 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/models.py +335 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/templates/__init__.py +0 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/templates/qa_checks.md.j2 +27 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/utils.py +49 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/README.md +91 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/bin/bundle-schemas.js +48 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/bin/generate-metadata-models.sh +36 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ActorDefinitionResourceRequirements.py +54 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/AirbyteInternal.py +22 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/AllowedHosts.py +18 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorBreakingChanges.py +65 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorBuildOptions.py +15 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorIPCOptions.py +25 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetadataDefinitionV0.json +897 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetadataDefinitionV0.py +478 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetrics.py +24 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorPackageInfo.py +12 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryDestinationDefinition.py +407 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryReleases.py +406 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistrySourceDefinition.py +407 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryV0.py +413 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorReleases.py +98 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorTestSuiteOptions.py +58 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/GeneratedFields.py +62 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/GitInfo.py +31 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/JobType.py +23 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/NormalizationDestinationDefinitionConfig.py +24 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RegistryOverrides.py +111 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ReleaseStage.py +15 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RemoteRegistries.py +23 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ResourceRequirements.py +18 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RolloutConfiguration.py +29 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/Secret.py +34 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SecretStore.py +22 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SourceFileInfo.py +16 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SuggestedStreams.py +18 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SupportLevel.py +15 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/TestConnections.py +14 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/__init__.py +31 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/airbyte-connector-metadata-schema.json +0 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ActorDefinitionResourceRequirements.yaml +30 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/AirbyteInternal.yaml +32 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/AllowedHosts.yaml +13 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorBreakingChanges.yaml +65 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorBuildOptions.yaml +10 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorIPCOptions.yaml +29 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorMetadataDefinitionV0.yaml +172 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorMetrics.yaml +30 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorPackageInfo.yaml +9 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryDestinationDefinition.yaml +90 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryReleases.yaml +35 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistrySourceDefinition.yaml +92 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryV0.yaml +18 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorReleases.yaml +16 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorTestSuiteOptions.yaml +28 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/GeneratedFields.yaml +16 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/GitInfo.yaml +21 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/JobType.yaml +14 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/NormalizationDestinationDefinitionConfig.yaml +21 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RegistryOverrides.yaml +38 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ReleaseStage.yaml +11 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RemoteRegistries.yaml +25 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ResourceRequirements.yaml +16 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RolloutConfiguration.yaml +29 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/Secret.yaml +19 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SecretStore.yaml +16 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SourceFileInfo.yaml +17 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SuggestedStreams.yaml +13 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SupportLevel.yaml +10 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/TestConnections.yaml +17 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/package-lock.json +62 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/package.json +12 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/transform.py +71 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/README.md +17 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/commands.py +368 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/constants.py +71 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/docker_hub.py +162 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/docs/external_documentation_urls.md +554 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/gcs_upload.py +750 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/files.py +36 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/gcs.py +38 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/object_helpers.py +47 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/slack.py +59 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/.env.template +14 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/README.md +249 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/dagster_cloud.yaml +4 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/__init__.py +265 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/connector_metrics.py +77 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/github.py +122 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/metadata.py +150 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/registry.py +342 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/registry_entry.py +931 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/registry_report.py +382 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/slack.py +57 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/specs_secrets_mask.py +93 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/config.py +58 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/fetcher/connector_cdk_version.py +57 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/hacks.py +155 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/jobs/registry.py +162 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/logging/publish_connector_lifecycle.py +109 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/logging/sentry.py +237 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/models/ci_report.py +56 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/models/metadata.py +101 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/ops/slack.py +46 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/file_managers/local_file_manager.py +67 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/gcp.py +213 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/github.py +134 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/local.py +30 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/sensors/gcs.py +130 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/sensors/github.py +78 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/sensors/registry.py +58 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/templates/base.html +74 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/templates/connector_registry_locations.html +16 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/templates/render.py +251 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/utils/blob_helpers.py +12 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/utils/dagster_helpers.py +46 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/utils/object_helpers.py +69 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/poetry.lock +2815 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/conftest.py.disabled +7 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/fixtures/__init__.py +18 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/fixtures/cloud_registry.json +21167 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/fixtures/oss_registry.json +30463 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_connector_metrics.py +74 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_dagster_helpers.py +42 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_debug.py +75 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_partition_jobs.py +117 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_registry.py +658 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_specs_secrets_mask.py +76 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/registry.py +428 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/registry_entry.py +657 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/registry_report.py +390 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/sentry.py +52 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/spec_cache.py +137 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/specs_secrets_mask.py +117 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/stale_metadata_report.py +300 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/base.html +74 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/connector_registry_locations.html +16 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/render.py +106 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/validators/metadata_validator.py +397 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/airbyte_repo/__init__.py +61 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/airbyte_repo/bump_version.py +522 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/airbyte_repo/list_connectors.py +613 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/airbyte_repo/utils.py +95 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/cli/__init__.py +2 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/cli/_base.py +13 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/cli/_shared.py +54 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/cli/app.py +27 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/cli/cloud.py +891 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/cli/gh.py +71 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/cli/registry.py +181 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/cli/repo.py +488 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/cloud_admin/__init__.py +28 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/cloud_admin/api_client.py +542 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/cloud_admin/auth.py +79 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/cloud_admin/connection_config.py +131 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/cloud_admin/models.py +73 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/connection_config_retriever/__init__.py +26 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/connection_config_retriever/audit_logging.py +87 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/connection_config_retriever/retrieval.py +378 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/connection_config_retriever/secrets_resolution.py +96 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/constants.py +54 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/gcp_auth.py +99 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/__init__.py +36 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/ci_output.py +349 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/commons/__init__.py +2 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/config.py +190 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/connection_fetcher.py +373 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/connection_secret_retriever.py +150 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/connector_runner.py +291 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/evaluation_modes.py +45 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/http_metrics.py +400 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/message_cache/__init__.py +15 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/message_cache/duckdb_cache.py +415 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/models.py +259 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/obfuscation.py +126 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/regression/__init__.py +29 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/regression/comparators.py +466 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/schema_generation.py +154 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/validation/__init__.py +43 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/validation/catalog_validators.py +389 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/validation/record_validators.py +227 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/__init__.py +9 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/_guidance.py +48 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/_mcp_utils.py +398 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/cloud_connector_versions.py +298 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/connector_analysis.py +9 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/connector_qa.py +9 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/github.py +277 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/github_repo_ops.py +165 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/live_tests.py +514 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/metadata.py +9 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/prerelease.py +312 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/prod_db_queries.py +350 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/prompts.py +59 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/registry.py +9 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/server.py +83 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/server_info.py +84 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/prod_db_access/__init__.py +34 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/prod_db_access/db_engine.py +126 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/prod_db_access/py.typed +0 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/prod_db_access/queries.py +273 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/prod_db_access/sql.py +353 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/py.typed +0 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/registry/__init__.py +34 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/registry/models.py +63 -0
- airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/registry/publish.py +368 -0
- airbyte_internal_ops-0.1.8/tests/__init__.py +1 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_erd_generator/__init__.py +1 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_erd_generator/builder.py +27 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_erd_generator/test_dbml_assembler.py +68 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_erd_generator/test_relationships.py +130 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_live_tests/__init__.py +1 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_live_tests/backends/__init__.py +0 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_live_tests/backends/test_file_backend.py +74 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_live_tests/test_get_connection_objects_retrieval.py +771 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_live_tests/test_json_schema_helper.py +639 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_ops/conftest.py +65 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_ops/test_migration_files/bad-header.md +9 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_ops/test_migration_files/bad-title.md +9 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_ops/test_migration_files/extra-header.md +13 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_ops/test_migration_files/missing-entry.md +5 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_ops/test_migration_files/out-of-order.md +9 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_ops/test_utils.py +251 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/__init__.py +0 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/conftest.py +56 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/integration_tests/__init__.py +0 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/integration_tests/test_documentation.py +39 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/unit_tests/__init__.py +0 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/__init__.py +0 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/data/docs/correct.md +324 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/data/docs/incorrect_not_all_structure.md +36 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/data/docs/invalid_links.md +305 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_assets.py +93 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_documentation.py +735 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_metadata.py +246 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_packaging.py +410 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_security.py +145 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_version.py +69 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_models.py +102 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/conftest.py +91 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_actions/test_environments.py +99 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_bases.py +138 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_build_image/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_build_image/dummy_build_customization.py +40 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_build_image/test_manifest_only_connectors.py +159 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_build_image/test_python_connectors.py +255 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_build_image/test_steps/test_common.py +146 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/changelog_header_no_newline.md +11 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/changelog_header_no_separator.md +11 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/no_changelog_header.md +11 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/valid_changelog_at_end.md +12 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/valid_changelog_in_middle.md +14 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/changelog_header_no_newline.md +1 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/changelog_header_no_separator.md +1 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_version_date_valid_changelog_at_end.md +14 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_version_date_valid_changelog_in_middle.md +16 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_versions_valid_changelog_at_end.md +14 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_versions_valid_changelog_in_middle.md +16 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/duplicate_entry_valid_changelog_at_end.md +13 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/duplicate_entry_valid_changelog_in_middle.md +15 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/existing_entries_valid_changelog_at_end.md +12 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/existing_entries_valid_changelog_in_middle.md +14 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/no_changelog_header.md +1 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/single_insert_valid_changelog_at_end.md +13 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/single_insert_valid_changelog_in_middle.md +15 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog.py +163 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_cli/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_cli/test_click_decorators.py +89 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_commands/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_commands/test_groups/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_commands/test_groups/test_connectors.py +437 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_dagger/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_dagger/test_actions/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_dagger/test_actions/test_python/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_dagger/test_actions/test_python/test_common.py +62 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_gradle.py +50 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_helpers/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_helpers/test_execution/__init__.py +0 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_helpers/test_execution/test_argument_parsing.py +35 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_helpers/test_execution/test_run_steps.py +603 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_helpers/test_pip.py +80 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_helpers/test_utils.py +330 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_models/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_models/test_click_pipeline_context.py +76 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_models/test_singleton.py +31 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_poetry/test_poetry_publish.py +103 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_publish.py +606 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_steps/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_steps/test_simple_docker_step.py +113 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_steps/test_version_check.py +83 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_tests/__init__.py +3 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_tests/test_common.py +381 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_tests/test_python_connectors.py +239 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_upgrade_java_cdk.py +159 -0
- airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/utils.py +75 -0
- airbyte_internal_ops-0.1.8/tests/test_airbyte_admin_mcp.py +36 -0
- airbyte_internal_ops-0.1.8/tests/test_bump_version.py +365 -0
- airbyte_internal_ops-0.1.8/tests/test_cli_registry.py +303 -0
- airbyte_internal_ops-0.1.8/tests/test_list_connectors.py +203 -0
- airbyte_internal_ops-0.1.8/uv.lock +5286 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
## Copy this file to a new `.env` file and then fill in the values.
|
|
2
|
+
## Important: DO NOT PUT SENSITIVE VALUES IN THIS FILE.
|
|
3
|
+
|
|
4
|
+
# Creds for Airbyte Cloud OAuth
|
|
5
|
+
AIRBYTE_CLOUD_CLIENT_ID="..."
|
|
6
|
+
AIRBYTE_CLOUD_CLIENT_SECRET="..."
|
|
7
|
+
|
|
8
|
+
# Required for elevated admin operations
|
|
9
|
+
AIRBYTE_INTERNAL_ADMIN_FLAG=airbyte.io
|
|
10
|
+
AIRBYTE_INTERNAL_ADMIN_USER={my-id}@airbyte.io
|
|
11
|
+
|
|
12
|
+
# Workspace ID for Testing
|
|
13
|
+
AIRBYTE_CLOUD_TEST_WORKSPACE_ID="..."
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# Copilot Instructions for airbyte-ops-mcp
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
MCP and API interfaces for Airbyte administrative operations. Python 3.11+ package using `uv` for dependency management.
|
|
5
|
+
|
|
6
|
+
**Key Info**: Package: `airbyte-internal-ops` | Module: `airbyte_ops_mcp` | Size: ~38 source files, ~29 tests | Coverage: 80% required
|
|
7
|
+
|
|
8
|
+
## Structure
|
|
9
|
+
- `src/airbyte_ops_mcp/` - Main source (`mcp/server.py` = MCP entry, `cli/app.py` = CLI entry)
|
|
10
|
+
- `mcp/` - MCP server tools | `cli/` - CLI commands | `cloud_admin/` - API client | `airbyte_repo/` - Repo ops
|
|
11
|
+
- `_legacy/` - **EXCLUDED** legacy code (issues #49-#56) - DO NOT modify
|
|
12
|
+
- `tests/` - Tests (pytest) | `legacy/` - **EXCLUDED** from test runs
|
|
13
|
+
- Config: `pyproject.toml`, `poe_tasks.toml`, `ruff.toml`, `pytest.ini`, `uv.lock` (committed)
|
|
14
|
+
|
|
15
|
+
## Critical Build/Test Commands
|
|
16
|
+
|
|
17
|
+
**ALWAYS run from repository root. All commands validated and timing documented.**
|
|
18
|
+
|
|
19
|
+
### Setup (Required First)
|
|
20
|
+
```bash
|
|
21
|
+
uv sync --group dev # ~60s first run, ~5s after. Install dev deps. REQUIRED before any work.
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Pre-Commit Checks (Run before every commit)
|
|
25
|
+
```bash
|
|
26
|
+
uv run ruff format . # ~5s - Auto-format code
|
|
27
|
+
uv run ruff check --fix . # ~10s - Fix linting issues
|
|
28
|
+
uv run pytest --exitfirst --cov=airbyte_ops_mcp --cov-report=term # ~15s - Run tests
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**Shortcut**: `uv run poe fix && uv run poe test-fast` (~25s total)
|
|
32
|
+
|
|
33
|
+
### CI-Equivalent Checks
|
|
34
|
+
```bash
|
|
35
|
+
uv lock --check # ~5s - Verify lock file current
|
|
36
|
+
uv run ruff format --check . # ~5s - Check format (no changes)
|
|
37
|
+
uv run ruff check . # ~5s - Check linting
|
|
38
|
+
uv run deptry . # ~10s - Check dependencies (warnings normal)
|
|
39
|
+
uv run pytest --cov=airbyte_ops_mcp --cov-report=term # ~20s - Full tests
|
|
40
|
+
uv build # ~10s - Build package
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
**Shortcut**: `uv run poe check` (runs format-check, lint, deps, test)
|
|
44
|
+
|
|
45
|
+
## CI/CD Workflows
|
|
46
|
+
All run on PRs and main pushes. **Must pass to merge**:
|
|
47
|
+
|
|
48
|
+
1. **Format Check**: `uv run ruff format --diff .` (~10s)
|
|
49
|
+
2. **Lint Check**: `uv run ruff check .` + `uv run deptry .` (~25s)
|
|
50
|
+
3. **Pytest Fast**: `uv lock --check` + `uv build` + pytest with `--exitfirst` on Python 3.11 (20min timeout)
|
|
51
|
+
4. **Pytest Matrix**: Tests on Python 3.11, 3.12, 3.13 (30min timeout)
|
|
52
|
+
|
|
53
|
+
**Known Issue**: CI uses wrong coverage path (`awesome_python_template` vs `airbyte_ops_mcp`) - tests still work correctly.
|
|
54
|
+
|
|
55
|
+
## Common Issues & Workarounds
|
|
56
|
+
|
|
57
|
+
### Legacy Code Exclusions
|
|
58
|
+
**CRITICAL**: `src/airbyte_ops_mcp/_legacy/` and `tests/legacy/` are EXCLUDED from all linting/testing. Configured in `ruff.toml` and `conftest.py`. **DO NOT modify** unless working on migration (issues #49-#56).
|
|
59
|
+
|
|
60
|
+
### Test Marker Warnings
|
|
61
|
+
`@pytest.mark.unit` and `@pytest.mark.integration` trigger warnings (known issue in pytest.ini) but work correctly.
|
|
62
|
+
|
|
63
|
+
### Environment Setup
|
|
64
|
+
Create `.env` from `.env.template` (NEVER commit `.env`):
|
|
65
|
+
- `AIRBYTE_CLOUD_CLIENT_ID/SECRET` - OAuth
|
|
66
|
+
- `AIRBYTE_INTERNAL_ADMIN_FLAG/USER` - Admin ops
|
|
67
|
+
- `AIRBYTE_CLOUD_TEST_WORKSPACE_ID` - Testing
|
|
68
|
+
|
|
69
|
+
### Coverage Requirements
|
|
70
|
+
80% minimum (pytest.ini). Current: ~40%. Add tests for new code.
|
|
71
|
+
|
|
72
|
+
## Development Workflow
|
|
73
|
+
|
|
74
|
+
**Standard sequence**:
|
|
75
|
+
1. `uv sync --group dev` (if dependencies changed)
|
|
76
|
+
2. Make changes
|
|
77
|
+
3. `uv run ruff format .` + `uv run ruff check --fix .`
|
|
78
|
+
4. `uv run pytest --exitfirst --cov=airbyte_ops_mcp --cov-report=term`
|
|
79
|
+
5. `uv build` (verify package builds)
|
|
80
|
+
6. Commit/push
|
|
81
|
+
|
|
82
|
+
**Fast iteration**: `uv run poe fix && uv run poe test-fast`
|
|
83
|
+
|
|
84
|
+
## Poe Task Reference
|
|
85
|
+
```bash
|
|
86
|
+
uv run poe fix # Format + lint auto-fix
|
|
87
|
+
uv run poe test-fast # Tests with --exitfirst
|
|
88
|
+
uv run poe check # All checks (format, lint, deps, test)
|
|
89
|
+
uv run poe clean # Remove artifacts
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Key Files & Patterns
|
|
93
|
+
|
|
94
|
+
**Config Files**:
|
|
95
|
+
- `pyproject.toml` - Dependencies (use `uv sync` to update), metadata
|
|
96
|
+
- `poe_tasks.toml` - Task definitions
|
|
97
|
+
- `ruff.toml` - Lint/format rules, legacy exclusions
|
|
98
|
+
- `pytest.ini` - Test config, 80% coverage, legacy exclusions
|
|
99
|
+
|
|
100
|
+
**Important Patterns**:
|
|
101
|
+
- Use `uv` exclusively (not pip/poetry)
|
|
102
|
+
- Run all commands from repo root
|
|
103
|
+
- Validate locally before pushing (all CI checks runnable locally)
|
|
104
|
+
- Package name: `airbyte-internal-ops` | Import name: `airbyte_ops_mcp`
|
|
105
|
+
- Entry points: `airbyte-ops-mcp` (MCP server), `airbyte-ops` (CLI)
|
|
106
|
+
|
|
107
|
+
## Repository Details
|
|
108
|
+
|
|
109
|
+
**Root Files**: `.env.template`, `.gitignore`, `.mcp.json.template`, `CONTRIBUTING.md`, `README.md`, `bin/`, `conftest.py`, `poe_tasks.toml`, `pyproject.toml`, `pytest.ini`, `ruff.toml`, `src/`, `tests/`, `uv.lock`
|
|
110
|
+
|
|
111
|
+
**Dependencies**: fastmcp (MCP), airbyte/airbyte-cdk (SDK), cyclopts/click (CLI), pydantic (validation), ruff/pytest/deptry (dev tools)
|
|
112
|
+
|
|
113
|
+
**Test Utilities**: `bin/test_mcp_tool.py` - Test MCP tools: `uv run poe mcp-tool-test <tool> '<json>'`
|
|
114
|
+
|
|
115
|
+
## Agent Guidelines
|
|
116
|
+
|
|
117
|
+
1. **Use `uv` only** - No pip/poetry
|
|
118
|
+
2. **Run `uv sync --group dev` first** - Always
|
|
119
|
+
3. **Test locally** - All CI checks available locally
|
|
120
|
+
4. **Avoid legacy code** - Don't touch `_legacy/` dirs
|
|
121
|
+
5. **Meet coverage** - 80% required
|
|
122
|
+
6. **Format/lint** - CI fails without
|
|
123
|
+
7. **Trust these instructions** - All validated. Search only if incomplete/incorrect.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# To get started with Dependabot version updates, you'll need to specify which
|
|
2
|
+
# package ecosystems to update and where the package manifests are located.
|
|
3
|
+
# Please see the documentation for all configuration options:
|
|
4
|
+
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
|
|
5
|
+
|
|
6
|
+
version: 2
|
|
7
|
+
updates:
|
|
8
|
+
- package-ecosystem: pip
|
|
9
|
+
directory: "/" # Location of package manifests
|
|
10
|
+
commit-message:
|
|
11
|
+
prefix: "chore(deps): "
|
|
12
|
+
schedule:
|
|
13
|
+
interval: daily
|
|
14
|
+
labels:
|
|
15
|
+
- chore
|
|
16
|
+
- dependencies
|
|
17
|
+
open-pull-requests-limit: 8 # default is 5
|
|
18
|
+
|
|
19
|
+
- package-ecosystem: github-actions
|
|
20
|
+
open-pull-requests-limit: 5 # default is 5
|
|
21
|
+
directory: "/"
|
|
22
|
+
commit-message:
|
|
23
|
+
prefix: "ci(deps): "
|
|
24
|
+
schedule:
|
|
25
|
+
interval: monthly
|
|
26
|
+
labels:
|
|
27
|
+
- ci
|
|
28
|
+
- dependencies
|
|
29
|
+
groups:
|
|
30
|
+
# allow combining github-actions updates into a single PR
|
|
31
|
+
minor-and-patch:
|
|
32
|
+
applies-to: version-updates
|
|
33
|
+
update-types:
|
|
34
|
+
- patch
|
|
35
|
+
- minor
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
🎉 **Thanks for opening this pull request!**
|
|
2
|
+
|
|
3
|
+
Your contribution is appreciated. Here are some helpful commands you can use:
|
|
4
|
+
|
|
5
|
+
## Quick Commands
|
|
6
|
+
- `/autofix` - Auto-format and fix linting issues (ruff format + ruff check --fix)
|
|
7
|
+
- `/lock` - Update the uv.lock file with latest dependencies
|
|
8
|
+
|
|
9
|
+
## Available Poe Tasks
|
|
10
|
+
You can run any of these tasks using the slash command: `/poe <task-name>`
|
|
11
|
+
|
|
12
|
+
### Core Tasks
|
|
13
|
+
- `/poe test` - Run all tests
|
|
14
|
+
- `/poe test-fast` - Run tests with fast exit on first failure
|
|
15
|
+
- `/poe lint` - Check code style and quality
|
|
16
|
+
- `/poe format` - Format code with ruff
|
|
17
|
+
- `/poe deps` - Check for unused and missing dependencies
|
|
18
|
+
- `/poe check` - Run format check, linting, dependency check, and tests
|
|
19
|
+
|
|
20
|
+
### Quick Fixes
|
|
21
|
+
- `/poe fix` - Auto-format and fix linting issues
|
|
22
|
+
- `/poe clean` - Clean up build artifacts and cache
|
|
23
|
+
|
|
24
|
+
### Build & Install
|
|
25
|
+
- `/poe build` - Build the package
|
|
26
|
+
- `/poe install` - Install with development dependencies
|
|
27
|
+
|
|
28
|
+
### Other Commands
|
|
29
|
+
- `/poe version` - Show package version
|
|
30
|
+
- `/poe pre-commit` - Run pre-commit style checks
|
|
31
|
+
|
|
32
|
+
The CI will automatically run tests when you push commits. Happy coding! 🚀
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
name-template: "v$RESOLVED_VERSION"
|
|
2
|
+
tag-template: "v$RESOLVED_VERSION"
|
|
3
|
+
categories:
|
|
4
|
+
- title: "New Features ✨"
|
|
5
|
+
labels:
|
|
6
|
+
- "feature"
|
|
7
|
+
- "enhancement"
|
|
8
|
+
- title: "Bug Fixes 🐛"
|
|
9
|
+
labels:
|
|
10
|
+
- "fix"
|
|
11
|
+
- "bugfix"
|
|
12
|
+
- "bug"
|
|
13
|
+
- title: "Under the Hood ⚙️"
|
|
14
|
+
labels:
|
|
15
|
+
- "chore"
|
|
16
|
+
- "ci"
|
|
17
|
+
- "refactor"
|
|
18
|
+
- "testing"
|
|
19
|
+
- title: "Documentation 📖"
|
|
20
|
+
label: "docs"
|
|
21
|
+
change-template: "- $TITLE (#$NUMBER)"
|
|
22
|
+
change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks.
|
|
23
|
+
version-resolver:
|
|
24
|
+
major:
|
|
25
|
+
labels:
|
|
26
|
+
- "major"
|
|
27
|
+
minor:
|
|
28
|
+
labels:
|
|
29
|
+
- "minor"
|
|
30
|
+
patch:
|
|
31
|
+
labels:
|
|
32
|
+
- "patch"
|
|
33
|
+
default: patch
|
|
34
|
+
template: |
|
|
35
|
+
## Changes
|
|
36
|
+
|
|
37
|
+
$CHANGES
|
|
38
|
+
autolabeler:
|
|
39
|
+
- label: "chore"
|
|
40
|
+
title:
|
|
41
|
+
- '/^chore(\(.*\))?\:/i'
|
|
42
|
+
- label: "testing"
|
|
43
|
+
title:
|
|
44
|
+
- '/^tests(\(.*\))?\:/i'
|
|
45
|
+
- label: "ci"
|
|
46
|
+
title:
|
|
47
|
+
- '/^ci(\(.*\))?\:/i'
|
|
48
|
+
- label: "bug"
|
|
49
|
+
title:
|
|
50
|
+
- '/^fix(\(.*\))?\:/i'
|
|
51
|
+
- label: "enhancement"
|
|
52
|
+
title:
|
|
53
|
+
- '/^feat(\(.*\))?/i'
|
|
54
|
+
- label: "docs"
|
|
55
|
+
title:
|
|
56
|
+
- '/^docs(\(.*\))?\:/i'
|
|
57
|
+
- label: "security"
|
|
58
|
+
title:
|
|
59
|
+
- '/^security(\(.*\))?\:/i'
|
|
60
|
+
- '/^fix(\(security\))?\:/i'
|
|
61
|
+
- label: "dependencies"
|
|
62
|
+
title:
|
|
63
|
+
- '/^chore\(deps\)\:/i'
|
|
64
|
+
- '/^build\(deps\)\:/i'
|
|
65
|
+
- label: "breaking"
|
|
66
|
+
title:
|
|
67
|
+
- '/!:\s*$/i'
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
name: On-Demand Fix
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
inputs:
|
|
6
|
+
pr:
|
|
7
|
+
description: "PR Number"
|
|
8
|
+
type: string
|
|
9
|
+
required: false
|
|
10
|
+
comment-id:
|
|
11
|
+
description: "Comment ID (Optional)"
|
|
12
|
+
type: string
|
|
13
|
+
required: false
|
|
14
|
+
|
|
15
|
+
permissions:
|
|
16
|
+
contents: write
|
|
17
|
+
pull-requests: write
|
|
18
|
+
|
|
19
|
+
jobs:
|
|
20
|
+
run-autofix-command:
|
|
21
|
+
runs-on: ubuntu-latest
|
|
22
|
+
steps:
|
|
23
|
+
- name: Authenticate as GitHub App (if available)
|
|
24
|
+
uses: actions/create-github-app-token@v2
|
|
25
|
+
id: get-app-token
|
|
26
|
+
continue-on-error: true
|
|
27
|
+
with:
|
|
28
|
+
app-id: ${{ secrets.OCTAVIA_BOT_APP_ID }}
|
|
29
|
+
private-key: ${{ secrets.OCTAVIA_BOT_PRIVATE_KEY }}
|
|
30
|
+
|
|
31
|
+
- name: Run Poe Autofix Command
|
|
32
|
+
uses: aaronsteers/poe-command-processor@v1.3.3
|
|
33
|
+
with:
|
|
34
|
+
pr: ${{ github.event.inputs.pr }}
|
|
35
|
+
comment-id: ${{ github.event.inputs.comment-id }}
|
|
36
|
+
github-token: ${{ steps.get-app-token.outputs.token || secrets.GITHUB_TOKEN }}
|
|
37
|
+
command: autofix
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
name: Connector Live Test
|
|
2
|
+
permissions:
|
|
3
|
+
contents: read
|
|
4
|
+
|
|
5
|
+
on:
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
inputs:
|
|
8
|
+
connector_image:
|
|
9
|
+
description: "Full connector image name with tag (e.g., airbyte/source-github:1.0.0). Optional if connector_name or connection_id is provided."
|
|
10
|
+
required: false
|
|
11
|
+
type: string
|
|
12
|
+
connector_name:
|
|
13
|
+
description: "Connector name to build from source (e.g., 'source-pokeapi'). If provided, builds the image locally."
|
|
14
|
+
required: false
|
|
15
|
+
type: string
|
|
16
|
+
command:
|
|
17
|
+
description: "Airbyte command to run"
|
|
18
|
+
required: false
|
|
19
|
+
type: choice
|
|
20
|
+
options:
|
|
21
|
+
- spec
|
|
22
|
+
- check
|
|
23
|
+
- discover
|
|
24
|
+
- read
|
|
25
|
+
default: check
|
|
26
|
+
connection_id:
|
|
27
|
+
description: "Airbyte Cloud connection ID to fetch config/catalog from. If provided, connector_image can be auto-detected."
|
|
28
|
+
required: false
|
|
29
|
+
type: string
|
|
30
|
+
state_path:
|
|
31
|
+
description: "Path to state JSON file (optional for read)"
|
|
32
|
+
required: false
|
|
33
|
+
type: string
|
|
34
|
+
|
|
35
|
+
jobs:
|
|
36
|
+
live-test:
|
|
37
|
+
name: Run Live Test
|
|
38
|
+
runs-on: ubuntu-latest
|
|
39
|
+
steps:
|
|
40
|
+
- name: Checkout code
|
|
41
|
+
uses: actions/checkout@v6
|
|
42
|
+
|
|
43
|
+
- name: Install uv
|
|
44
|
+
uses: astral-sh/setup-uv@v7
|
|
45
|
+
with:
|
|
46
|
+
version: "latest"
|
|
47
|
+
|
|
48
|
+
- name: Set up Python
|
|
49
|
+
uses: actions/setup-python@v6
|
|
50
|
+
with:
|
|
51
|
+
python-version: "3.11"
|
|
52
|
+
|
|
53
|
+
- name: Install dependencies
|
|
54
|
+
run: uv sync --group dev
|
|
55
|
+
|
|
56
|
+
- name: Run Live Test
|
|
57
|
+
id: live-test
|
|
58
|
+
env:
|
|
59
|
+
AIRBYTE_CLOUD_CLIENT_ID: ${{ secrets.AIRBYTE_CLOUD_CLIENT_ID }}
|
|
60
|
+
AIRBYTE_CLOUD_CLIENT_SECRET: ${{ secrets.AIRBYTE_CLOUD_CLIENT_SECRET }}
|
|
61
|
+
run: |
|
|
62
|
+
ARGS=(--command "${{ inputs.command }}")
|
|
63
|
+
|
|
64
|
+
if [ -n "${{ inputs.connector_image }}" ]; then
|
|
65
|
+
ARGS+=(--connector-image "${{ inputs.connector_image }}")
|
|
66
|
+
fi
|
|
67
|
+
|
|
68
|
+
if [ -n "${{ inputs.connector_name }}" ]; then
|
|
69
|
+
ARGS+=(--connector-name "${{ inputs.connector_name }}")
|
|
70
|
+
fi
|
|
71
|
+
|
|
72
|
+
if [ -n "${{ inputs.connection_id }}" ]; then
|
|
73
|
+
ARGS+=(--connection-id "${{ inputs.connection_id }}")
|
|
74
|
+
fi
|
|
75
|
+
|
|
76
|
+
if [ -n "${{ inputs.state_path }}" ]; then
|
|
77
|
+
ARGS+=(--state-path "${{ inputs.state_path }}")
|
|
78
|
+
fi
|
|
79
|
+
|
|
80
|
+
uv run airbyte-ops cloud connector live-test "${ARGS[@]}"
|
|
81
|
+
|
|
82
|
+
- name: Upload Test Artifacts
|
|
83
|
+
if: always()
|
|
84
|
+
uses: actions/upload-artifact@v5
|
|
85
|
+
with:
|
|
86
|
+
name: live-test-artifacts-${{ github.run_id }}
|
|
87
|
+
path: /tmp/live_test_artifacts/
|
|
88
|
+
retention-days: 7
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
name: Connector Regression Test
|
|
2
|
+
permissions:
|
|
3
|
+
contents: read
|
|
4
|
+
checks: write
|
|
5
|
+
|
|
6
|
+
on:
|
|
7
|
+
workflow_dispatch:
|
|
8
|
+
inputs:
|
|
9
|
+
target_image:
|
|
10
|
+
description: "Target connector image (new version) with tag (e.g., airbyte/source-github:2.0.0). Optional if connector_name is provided."
|
|
11
|
+
required: false
|
|
12
|
+
type: string
|
|
13
|
+
control_image:
|
|
14
|
+
description: "Control connector image (baseline version) with tag (e.g., airbyte/source-github:1.0.0). Optional if connection_id is provided (auto-detected)."
|
|
15
|
+
required: false
|
|
16
|
+
type: string
|
|
17
|
+
connector_name:
|
|
18
|
+
description: "Connector name to build target image from source (e.g., 'source-pokeapi'). If provided, builds the target image locally."
|
|
19
|
+
required: false
|
|
20
|
+
type: string
|
|
21
|
+
command:
|
|
22
|
+
description: "Airbyte command to run"
|
|
23
|
+
required: false
|
|
24
|
+
type: choice
|
|
25
|
+
options:
|
|
26
|
+
- spec
|
|
27
|
+
- check
|
|
28
|
+
- discover
|
|
29
|
+
- read
|
|
30
|
+
default: check
|
|
31
|
+
connection_id:
|
|
32
|
+
description: "Airbyte Cloud connection ID to fetch config/catalog from. If provided, control_image can be auto-detected."
|
|
33
|
+
required: false
|
|
34
|
+
type: string
|
|
35
|
+
state_path:
|
|
36
|
+
description: "Path to state JSON file (optional for read)"
|
|
37
|
+
required: false
|
|
38
|
+
type: string
|
|
39
|
+
|
|
40
|
+
workflow_call:
|
|
41
|
+
inputs:
|
|
42
|
+
target_image:
|
|
43
|
+
description: "Target connector image (new version) with tag. Optional if connector_name is provided."
|
|
44
|
+
required: false
|
|
45
|
+
type: string
|
|
46
|
+
control_image:
|
|
47
|
+
description: "Control connector image (baseline version) with tag. Optional if connection_id is provided."
|
|
48
|
+
required: false
|
|
49
|
+
type: string
|
|
50
|
+
connector_name:
|
|
51
|
+
description: "Connector name to build target image from source (e.g., 'source-pokeapi')."
|
|
52
|
+
required: false
|
|
53
|
+
type: string
|
|
54
|
+
command:
|
|
55
|
+
description: "Airbyte command to run (spec, check, discover, read)"
|
|
56
|
+
required: false
|
|
57
|
+
type: string
|
|
58
|
+
default: check
|
|
59
|
+
connection_id:
|
|
60
|
+
description: "Airbyte Cloud connection ID to fetch config/catalog from. If provided, control_image can be auto-detected."
|
|
61
|
+
required: false
|
|
62
|
+
type: string
|
|
63
|
+
state_path:
|
|
64
|
+
description: "Path to state JSON file (optional for read)"
|
|
65
|
+
required: false
|
|
66
|
+
type: string
|
|
67
|
+
outputs:
|
|
68
|
+
success:
|
|
69
|
+
description: "True if regression test passed (no regression detected)"
|
|
70
|
+
value: ${{ jobs.regression-test.outputs.success }}
|
|
71
|
+
summary_url:
|
|
72
|
+
description: "GitHub Actions run summary URL"
|
|
73
|
+
value: ${{ jobs.regression-test.outputs.summary_url }}
|
|
74
|
+
report_url:
|
|
75
|
+
description: "Detailed regression report (GitHub Check URL)"
|
|
76
|
+
value: ${{ jobs.regression-test.outputs.report_url }}
|
|
77
|
+
secrets:
|
|
78
|
+
AIRBYTE_CLOUD_CLIENT_ID:
|
|
79
|
+
required: false
|
|
80
|
+
AIRBYTE_CLOUD_CLIENT_SECRET:
|
|
81
|
+
required: false
|
|
82
|
+
|
|
83
|
+
jobs:
|
|
84
|
+
regression-test:
|
|
85
|
+
name: Run Regression Test
|
|
86
|
+
runs-on: ubuntu-latest
|
|
87
|
+
outputs:
|
|
88
|
+
success: ${{ steps.regression-test.outputs.success }}
|
|
89
|
+
summary_url: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
|
90
|
+
report_url: ${{ steps.create-report-check.outputs.report_url }}
|
|
91
|
+
steps:
|
|
92
|
+
- name: Checkout code
|
|
93
|
+
uses: actions/checkout@v6
|
|
94
|
+
|
|
95
|
+
- name: Install uv
|
|
96
|
+
uses: astral-sh/setup-uv@v7
|
|
97
|
+
with:
|
|
98
|
+
version: "latest"
|
|
99
|
+
|
|
100
|
+
- name: Set up Python
|
|
101
|
+
uses: actions/setup-python@v6
|
|
102
|
+
with:
|
|
103
|
+
python-version: "3.11"
|
|
104
|
+
|
|
105
|
+
- name: Install dependencies
|
|
106
|
+
run: uv sync --group dev
|
|
107
|
+
|
|
108
|
+
- name: Run Regression Test
|
|
109
|
+
id: regression-test
|
|
110
|
+
env:
|
|
111
|
+
AIRBYTE_CLOUD_CLIENT_ID: ${{ secrets.AIRBYTE_CLOUD_CLIENT_ID }}
|
|
112
|
+
AIRBYTE_CLOUD_CLIENT_SECRET: ${{ secrets.AIRBYTE_CLOUD_CLIENT_SECRET }}
|
|
113
|
+
run: |
|
|
114
|
+
ARGS=(--command "${{ inputs.command }}")
|
|
115
|
+
|
|
116
|
+
if [ -n "${{ inputs.target_image }}" ]; then
|
|
117
|
+
ARGS+=(--target-image "${{ inputs.target_image }}")
|
|
118
|
+
fi
|
|
119
|
+
|
|
120
|
+
if [ -n "${{ inputs.control_image }}" ]; then
|
|
121
|
+
ARGS+=(--control-image "${{ inputs.control_image }}")
|
|
122
|
+
fi
|
|
123
|
+
|
|
124
|
+
if [ -n "${{ inputs.connector_name }}" ]; then
|
|
125
|
+
ARGS+=(--connector-name "${{ inputs.connector_name }}")
|
|
126
|
+
fi
|
|
127
|
+
|
|
128
|
+
if [ -n "${{ inputs.connection_id }}" ]; then
|
|
129
|
+
ARGS+=(--connection-id "${{ inputs.connection_id }}")
|
|
130
|
+
fi
|
|
131
|
+
|
|
132
|
+
if [ -n "${{ inputs.state_path }}" ]; then
|
|
133
|
+
ARGS+=(--state-path "${{ inputs.state_path }}")
|
|
134
|
+
fi
|
|
135
|
+
|
|
136
|
+
uv run airbyte-ops cloud connector regression-test "${ARGS[@]}"
|
|
137
|
+
|
|
138
|
+
- name: Create Regression Test Report Check
|
|
139
|
+
id: create-report-check
|
|
140
|
+
if: always()
|
|
141
|
+
uses: actions/github-script@v7
|
|
142
|
+
with:
|
|
143
|
+
script: |
|
|
144
|
+
const fs = require('fs');
|
|
145
|
+
const reportPath = '/tmp/regression_test_artifacts/report.md';
|
|
146
|
+
|
|
147
|
+
let reportContent = 'Report not generated';
|
|
148
|
+
if (fs.existsSync(reportPath)) {
|
|
149
|
+
reportContent = fs.readFileSync(reportPath, 'utf8');
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
const conclusion = '${{ steps.regression-test.outcome }}' === 'success' ? 'success' : 'failure';
|
|
153
|
+
|
|
154
|
+
const check = await github.rest.checks.create({
|
|
155
|
+
owner: context.repo.owner,
|
|
156
|
+
repo: context.repo.repo,
|
|
157
|
+
name: 'Regression Test Report',
|
|
158
|
+
head_sha: context.sha,
|
|
159
|
+
status: 'completed',
|
|
160
|
+
conclusion: conclusion,
|
|
161
|
+
output: {
|
|
162
|
+
title: 'Regression Test Report',
|
|
163
|
+
summary: `Regression test comparing \`${{ inputs.target_image }}\` vs \`${{ inputs.control_image }}\` using \`${{ inputs.command }}\` command.`,
|
|
164
|
+
text: reportContent
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
|
|
168
|
+
core.setOutput('report_url', check.data.html_url);
|
|
169
|
+
|
|
170
|
+
- name: Add Report Link to Summary
|
|
171
|
+
if: always()
|
|
172
|
+
run: |
|
|
173
|
+
{
|
|
174
|
+
echo ""
|
|
175
|
+
echo "---"
|
|
176
|
+
echo ""
|
|
177
|
+
echo "### View Full Report"
|
|
178
|
+
echo ""
|
|
179
|
+
echo "[Open Regression Test Report](${{ steps.create-report-check.outputs.report_url }})"
|
|
180
|
+
} >> "$GITHUB_STEP_SUMMARY"
|
|
181
|
+
|
|
182
|
+
- name: Upload Test Artifacts
|
|
183
|
+
if: always()
|
|
184
|
+
uses: actions/upload-artifact@v5
|
|
185
|
+
with:
|
|
186
|
+
name: regression-test-artifacts-${{ github.run_id }}
|
|
187
|
+
path: /tmp/regression_test_artifacts/
|
|
188
|
+
retention-days: 7
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
name: Format Check
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
pull_request: {}
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
ruff-format-check:
|
|
11
|
+
name: Ruff Format Check
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
steps:
|
|
14
|
+
- name: Checkout code
|
|
15
|
+
uses: actions/checkout@v6
|
|
16
|
+
|
|
17
|
+
- name: Install uv
|
|
18
|
+
uses: astral-sh/setup-uv@v7
|
|
19
|
+
with:
|
|
20
|
+
version: "latest"
|
|
21
|
+
|
|
22
|
+
- name: Set up Python
|
|
23
|
+
uses: actions/setup-python@v6
|
|
24
|
+
with:
|
|
25
|
+
python-version: "3.11"
|
|
26
|
+
|
|
27
|
+
- name: Install dependencies
|
|
28
|
+
run: uv sync --group dev
|
|
29
|
+
|
|
30
|
+
- name: Check code format
|
|
31
|
+
run: uv run ruff format --diff .
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
name: Lint Check
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
pull_request: {}
|
|
8
|
+
|
|
9
|
+
permissions:
|
|
10
|
+
contents: read
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
ruff-lint-check:
|
|
14
|
+
name: Ruff Lint Check
|
|
15
|
+
runs-on: ubuntu-latest
|
|
16
|
+
steps:
|
|
17
|
+
- name: Checkout code
|
|
18
|
+
uses: actions/checkout@v6
|
|
19
|
+
|
|
20
|
+
- name: Install uv
|
|
21
|
+
uses: astral-sh/setup-uv@v7
|
|
22
|
+
with:
|
|
23
|
+
version: "latest"
|
|
24
|
+
|
|
25
|
+
- name: Set up Python
|
|
26
|
+
uses: actions/setup-python@v6
|
|
27
|
+
with:
|
|
28
|
+
python-version: "3.11"
|
|
29
|
+
|
|
30
|
+
- name: Install dependencies
|
|
31
|
+
run: uv sync --group dev
|
|
32
|
+
|
|
33
|
+
- name: Run lint check
|
|
34
|
+
run: uv run ruff check .
|
|
35
|
+
|
|
36
|
+
deptry-check:
|
|
37
|
+
name: Dependency Analysis
|
|
38
|
+
runs-on: ubuntu-latest
|
|
39
|
+
steps:
|
|
40
|
+
- name: Checkout code
|
|
41
|
+
uses: actions/checkout@v6
|
|
42
|
+
|
|
43
|
+
- name: Install uv
|
|
44
|
+
uses: astral-sh/setup-uv@v7
|
|
45
|
+
with:
|
|
46
|
+
version: "latest"
|
|
47
|
+
|
|
48
|
+
- name: Set up Python
|
|
49
|
+
uses: actions/setup-python@v6
|
|
50
|
+
with:
|
|
51
|
+
python-version: "3.11"
|
|
52
|
+
|
|
53
|
+
- name: Install dependencies
|
|
54
|
+
run: uv sync --group dev
|
|
55
|
+
|
|
56
|
+
- name: Run dependency analysis
|
|
57
|
+
run: uv run deptry .
|
|
58
|
+
|
|
59
|
+
pyrefly-check:
|
|
60
|
+
name: Type Checking
|
|
61
|
+
runs-on: ubuntu-latest
|
|
62
|
+
steps:
|
|
63
|
+
- name: Checkout code
|
|
64
|
+
uses: actions/checkout@v6
|
|
65
|
+
|
|
66
|
+
- name: Install uv
|
|
67
|
+
uses: astral-sh/setup-uv@v7
|
|
68
|
+
with:
|
|
69
|
+
version: "latest"
|
|
70
|
+
|
|
71
|
+
- name: Set up Python
|
|
72
|
+
uses: actions/setup-python@v6
|
|
73
|
+
with:
|
|
74
|
+
python-version: "3.11"
|
|
75
|
+
|
|
76
|
+
- name: Install dependencies
|
|
77
|
+
run: uv sync --group dev
|
|
78
|
+
|
|
79
|
+
- name: Run type check
|
|
80
|
+
run: uv run pyrefly check
|