airbyte-internal-ops 0.5.1__tar.gz → 0.6.0__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.
Files changed (452) hide show
  1. airbyte_internal_ops-0.6.0/.github/workflows/publish.yml +41 -0
  2. airbyte_internal_ops-0.6.0/.github/workflows/release-drafter.yml +52 -0
  3. airbyte_internal_ops-0.6.0/.github/workflows/semantic-pr-check.yml +56 -0
  4. airbyte_internal_ops-0.6.0/.github/workflows/validate-build.yml +46 -0
  5. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/PKG-INFO +2 -1
  6. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/infra/sentry/__main__.py +1 -0
  7. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/poe_tasks.toml +11 -2
  8. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/pyproject.toml +7 -0
  9. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/cli/cloud.py +8 -6
  10. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/constants.py +13 -0
  11. airbyte_internal_ops-0.6.0/src/airbyte_ops_mcp/mcp/__init__.py +12 -0
  12. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/mcp/cloud_connector_versions.py +28 -22
  13. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/mcp/gcp_logs.py +1 -1
  14. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/mcp/github_actions.py +2 -2
  15. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/mcp/github_repo_ops.py +2 -2
  16. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/mcp/prerelease.py +2 -2
  17. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/mcp/prod_db_queries.py +2 -2
  18. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/mcp/prompts.py +2 -2
  19. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/mcp/regression_tests.py +2 -2
  20. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/mcp/server.py +57 -5
  21. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/regression_tests/__init__.py +2 -0
  22. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/regression_tests/connection_secret_retriever.py +25 -5
  23. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/uv.lock +1676 -1670
  24. airbyte_internal_ops-0.5.1/.github/release-drafter.yml +0 -68
  25. airbyte_internal_ops-0.5.1/.github/workflows/publish.yml +0 -170
  26. airbyte_internal_ops-0.5.1/.github/workflows/release-drafter.yml +0 -23
  27. airbyte_internal_ops-0.5.1/.github/workflows/semantic-pr-check.yml +0 -103
  28. airbyte_internal_ops-0.5.1/bin/test_mcp_tool.py +0 -66
  29. airbyte_internal_ops-0.5.1/bin/test_mcp_tool_http.py +0 -110
  30. airbyte_internal_ops-0.5.1/src/airbyte_ops_mcp/_annotations.py +0 -51
  31. airbyte_internal_ops-0.5.1/src/airbyte_ops_mcp/mcp/__init__.py +0 -9
  32. airbyte_internal_ops-0.5.1/src/airbyte_ops_mcp/mcp/_http_headers.py +0 -254
  33. airbyte_internal_ops-0.5.1/src/airbyte_ops_mcp/mcp/_mcp_utils.py +0 -398
  34. airbyte_internal_ops-0.5.1/src/airbyte_ops_mcp/mcp/server_info.py +0 -84
  35. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/.env.template +0 -0
  36. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/.github/copilot-instructions.md +0 -0
  37. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/.github/dependabot.yml +0 -0
  38. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/.github/pr-welcome-message.md +0 -0
  39. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/.github/workflows/autofix-command.yml +0 -0
  40. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/.github/workflows/connector-regression-test.yml +0 -0
  41. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/.github/workflows/format-check.yml +0 -0
  42. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/.github/workflows/lint-check.yml +0 -0
  43. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/.github/workflows/lock-command.yml +0 -0
  44. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/.github/workflows/pdoc_preview.yml +0 -0
  45. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/.github/workflows/pdoc_publish.yml +0 -0
  46. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/.github/workflows/poe-command.yml +0 -0
  47. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/.github/workflows/pr-welcome.yml +0 -0
  48. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/.github/workflows/pytest-fast.yml +0 -0
  49. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/.github/workflows/pytest-matrix.yml +0 -0
  50. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/.github/workflows/regression-tests-ci.yml +0 -0
  51. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/.github/workflows/sentry-apply-command.yml +0 -0
  52. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/.github/workflows/sentry-preview.yml +0 -0
  53. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/.github/workflows/slash-command-dispatch.yml +0 -0
  54. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/.github/workflows/tk-todo-check.yml +0 -0
  55. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/.gitignore +0 -0
  56. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/.mcp.json.template +0 -0
  57. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/CONTRIBUTING.md +0 -0
  58. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/README.md +0 -0
  59. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/conftest.py +0 -0
  60. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/docs/.gitignore +0 -0
  61. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/docs/generate.py +0 -0
  62. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/docs/templates/custom.css +0 -0
  63. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/docs/templates/theme.css +0 -0
  64. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/infra/sentry/.gitignore +0 -0
  65. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/infra/sentry/CONTRIBUTING.md +0 -0
  66. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/infra/sentry/Pulumi.prod.yaml +0 -0
  67. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/infra/sentry/Pulumi.yaml +0 -0
  68. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/infra/sentry/README.md +0 -0
  69. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/infra/sentry/requirements.txt +0 -0
  70. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/pyrefly.toml +0 -0
  71. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/pytest.ini +0 -0
  72. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/ruff.toml +0 -0
  73. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/__init__.py +0 -0
  74. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/__init__.py +0 -0
  75. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/README.md +0 -0
  76. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/README.md +0 -0
  77. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/__init__.py +0 -0
  78. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/dbml_assembler.py +0 -0
  79. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/erd_service.py +0 -0
  80. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/relationships.py +0 -0
  81. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/README.md +0 -0
  82. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/__init__.py +0 -0
  83. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/cli.py +0 -0
  84. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/hacks.py +0 -0
  85. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/insights.py +0 -0
  86. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/models.py +0 -0
  87. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/pylint.py +0 -0
  88. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/pylint_plugins/cdk_deprecation_checkers.py +0 -0
  89. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/result_backends.py +0 -0
  90. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/utils.py +0 -0
  91. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_ops/README.md +0 -0
  92. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_ops/__init__.py +0 -0
  93. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_ops/utils.py +0 -0
  94. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/README.md +0 -0
  95. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/__init__.py +0 -0
  96. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/connector/hooks.py +0 -0
  97. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/connector/normalization.py +0 -0
  98. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/python/common.py +0 -0
  99. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/python/pipx.py +0 -0
  100. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/python/poetry.py +0 -0
  101. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/remote_storage.py +0 -0
  102. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/secrets.py +0 -0
  103. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/system/common.py +0 -0
  104. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/system/docker.py +0 -0
  105. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/git.py +0 -0
  106. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/internal_tools.py +0 -0
  107. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/java.py +0 -0
  108. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/python.py +0 -0
  109. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/__init__.py +0 -0
  110. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/cache_keys.py +0 -0
  111. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/cli.py +0 -0
  112. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/__init__.py +0 -0
  113. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/cdk_helpers.py +0 -0
  114. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/command.py +0 -0
  115. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/dagger_fs.py +0 -0
  116. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/format.py +0 -0
  117. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/modifed.py +0 -0
  118. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/yaml.py +0 -0
  119. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/execution/__init__.py +0 -0
  120. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/execution/argument_parsing.py +0 -0
  121. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/execution/run_steps.py +0 -0
  122. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/gcs.py +0 -0
  123. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/git.py +0 -0
  124. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/github.py +0 -0
  125. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/pip.py +0 -0
  126. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/sentry_utils.py +0 -0
  127. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/slack.py +0 -0
  128. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/utils.py +0 -0
  129. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/README.md +0 -0
  130. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/__init__.py +0 -0
  131. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/__init__.py +0 -0
  132. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/__init__.py +0 -0
  133. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/__init__.py +0 -0
  134. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/commands.py +0 -0
  135. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/pipeline.py +0 -0
  136. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/__init__.py +0 -0
  137. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/build_customization.py +0 -0
  138. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/common.py +0 -0
  139. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/java_connectors.py +0 -0
  140. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/manifest_only_connectors.py +0 -0
  141. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/normalization.py +0 -0
  142. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/python_connectors.py +0 -0
  143. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/commands.py +0 -0
  144. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/consts.py +0 -0
  145. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/context.py +0 -0
  146. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/generate_erd/__init__.py +0 -0
  147. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/generate_erd/commands.py +0 -0
  148. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/generate_erd/pipeline.py +0 -0
  149. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/list/__init__.py +0 -0
  150. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/list/commands.py +0 -0
  151. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/migrate_to_inline_schemas/__init__.py +0 -0
  152. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/migrate_to_inline_schemas/commands.py +0 -0
  153. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/migrate_to_inline_schemas/pipeline.py +0 -0
  154. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pipeline.py +0 -0
  155. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pull_request/__init__.py +0 -0
  156. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pull_request/commands.py +0 -0
  157. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pull_request/pipeline.py +0 -0
  158. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/reports.py +0 -0
  159. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/__init__.py +0 -0
  160. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/commands.py +0 -0
  161. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/context.py +0 -0
  162. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/pipeline.py +0 -0
  163. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/__init__.py +0 -0
  164. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/common.py +0 -0
  165. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/java_connectors.py +0 -0
  166. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/manifest_only_connectors.py +0 -0
  167. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/python_connectors.py +0 -0
  168. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/templates/test_report.html.j2 +0 -0
  169. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/__init__.py +0 -0
  170. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/commands.py +0 -0
  171. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/pipeline.py +0 -0
  172. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/steps.py +0 -0
  173. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/templates/up_to_date_pr_body.md.j2 +0 -0
  174. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/upgrade_cdk/__init__.py +0 -0
  175. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/upgrade_cdk/commands.py +0 -0
  176. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/upgrade_cdk/pipeline.py +0 -0
  177. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/metadata/__init__.py +0 -0
  178. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/metadata/commands.py +0 -0
  179. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/metadata/pipeline.py +0 -0
  180. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/poetry/__init__.py +0 -0
  181. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/poetry/commands.py +0 -0
  182. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/__init__.py +0 -0
  183. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/base_image.py +0 -0
  184. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/docker.py +0 -0
  185. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/gradle.py +0 -0
  186. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/no_op.py +0 -0
  187. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/poetry.py +0 -0
  188. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/pull_request.py +0 -0
  189. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/__init__.py +0 -0
  190. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/commands.py +0 -0
  191. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/models.py +0 -0
  192. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/pipeline.py +0 -0
  193. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/update/__init__.py +0 -0
  194. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/update/commands.py +0 -0
  195. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/airbyte_ci.py +0 -0
  196. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/auto_update.py +0 -0
  197. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/click_decorators.py +0 -0
  198. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/confirm_prompt.py +0 -0
  199. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/dagger_pipeline_command.py +0 -0
  200. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/dagger_run.py +0 -0
  201. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/ensure_repo_root.py +0 -0
  202. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/lazy_group.py +0 -0
  203. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/secrets.py +0 -0
  204. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/telemetry.py +0 -0
  205. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/consts.py +0 -0
  206. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/hacks.py +0 -0
  207. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/__init__.py +0 -0
  208. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/artifacts.py +0 -0
  209. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/ci_requirements.py +0 -0
  210. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/contexts/__init__.py +0 -0
  211. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/contexts/click_pipeline_context.py +0 -0
  212. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/contexts/pipeline_context.py +0 -0
  213. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/reports.py +0 -0
  214. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/secrets.py +0 -0
  215. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/singleton.py +0 -0
  216. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/steps.py +0 -0
  217. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/README.md +0 -0
  218. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/__init__.py +0 -0
  219. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/__init__.py +0 -0
  220. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/assets.py +0 -0
  221. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/__init__.py +0 -0
  222. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/documentation.py +0 -0
  223. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/helpers.py +0 -0
  224. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/models.py +0 -0
  225. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/templates/documentation_headers_check_description.md.j2 +0 -0
  226. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/templates/section_content_description.md.j2 +0 -0
  227. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/templates/template.md.j2 +0 -0
  228. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/metadata.py +0 -0
  229. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/packaging.py +0 -0
  230. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/security.py +0 -0
  231. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/version.py +0 -0
  232. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/cli.py +0 -0
  233. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/consts.py +0 -0
  234. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/models.py +0 -0
  235. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/templates/__init__.py +0 -0
  236. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/templates/qa_checks.md.j2 +0 -0
  237. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/utils.py +0 -0
  238. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/README.md +0 -0
  239. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/commands.py +0 -0
  240. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/constants.py +0 -0
  241. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/docs/external_documentation_urls.md +0 -0
  242. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/gcs_upload.py +0 -0
  243. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/files.py +0 -0
  244. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/gcs.py +0 -0
  245. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/object_helpers.py +0 -0
  246. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/slack.py +0 -0
  247. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/.env.template +0 -0
  248. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/README.md +0 -0
  249. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/dagster_cloud.yaml +0 -0
  250. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/__init__.py +0 -0
  251. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/connector_metrics.py +0 -0
  252. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/github.py +0 -0
  253. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/metadata.py +0 -0
  254. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/registry.py +0 -0
  255. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/registry_entry.py +0 -0
  256. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/registry_report.py +0 -0
  257. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/slack.py +0 -0
  258. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/specs_secrets_mask.py +0 -0
  259. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/config.py +0 -0
  260. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/fetcher/connector_cdk_version.py +0 -0
  261. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/hacks.py +0 -0
  262. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/jobs/registry.py +0 -0
  263. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/logging/publish_connector_lifecycle.py +0 -0
  264. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/logging/sentry.py +0 -0
  265. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/models/ci_report.py +0 -0
  266. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/models/metadata.py +0 -0
  267. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/ops/slack.py +0 -0
  268. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/file_managers/local_file_manager.py +0 -0
  269. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/gcp.py +0 -0
  270. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/github.py +0 -0
  271. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/local.py +0 -0
  272. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/sensors/gcs.py +0 -0
  273. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/sensors/github.py +0 -0
  274. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/sensors/registry.py +0 -0
  275. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/templates/base.html +0 -0
  276. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/templates/connector_registry_locations.html +0 -0
  277. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/templates/render.py +0 -0
  278. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/utils/blob_helpers.py +0 -0
  279. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/utils/dagster_helpers.py +0 -0
  280. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/utils/object_helpers.py +0 -0
  281. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/poetry.lock +0 -0
  282. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/__init__.py +0 -0
  283. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/conftest.py.disabled +0 -0
  284. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/fixtures/__init__.py +0 -0
  285. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/fixtures/cloud_registry.json +0 -0
  286. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/fixtures/oss_registry.json +0 -0
  287. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_connector_metrics.py +0 -0
  288. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_dagster_helpers.py +0 -0
  289. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_debug.py +0 -0
  290. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_partition_jobs.py +0 -0
  291. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_registry.py +0 -0
  292. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_specs_secrets_mask.py +0 -0
  293. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/registry.py +0 -0
  294. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/registry_entry.py +0 -0
  295. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/registry_report.py +0 -0
  296. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/sentry.py +0 -0
  297. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/spec_cache.py +0 -0
  298. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/specs_secrets_mask.py +0 -0
  299. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/stale_metadata_report.py +0 -0
  300. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/base.html +0 -0
  301. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/connector_registry_locations.html +0 -0
  302. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/render.py +0 -0
  303. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/airbyte_repo/__init__.py +0 -0
  304. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/airbyte_repo/bump_version.py +0 -0
  305. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/airbyte_repo/list_connectors.py +0 -0
  306. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/airbyte_repo/utils.py +0 -0
  307. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/cli/__init__.py +0 -0
  308. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/cli/_base.py +0 -0
  309. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/cli/_shared.py +0 -0
  310. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/cli/app.py +0 -0
  311. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/cli/gh.py +0 -0
  312. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/cli/registry.py +0 -0
  313. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/cli/repo.py +0 -0
  314. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/cloud_admin/__init__.py +0 -0
  315. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/cloud_admin/api_client.py +0 -0
  316. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/cloud_admin/auth.py +0 -0
  317. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/cloud_admin/connection_config.py +0 -0
  318. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/cloud_admin/models.py +0 -0
  319. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/connection_config_retriever/__init__.py +0 -0
  320. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/connection_config_retriever/audit_logging.py +0 -0
  321. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/connection_config_retriever/retrieval.py +0 -0
  322. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/connection_config_retriever/secrets_resolution.py +0 -0
  323. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/docker_hub.py +0 -0
  324. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/gcp_auth.py +0 -0
  325. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/gcp_logs/__init__.py +0 -0
  326. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/gcp_logs/error_lookup.py +0 -0
  327. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/github_actions.py +0 -0
  328. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/github_api.py +0 -0
  329. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/mcp/_guidance.py +0 -0
  330. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/mcp/connector_analysis.py +0 -0
  331. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/mcp/connector_qa.py +0 -0
  332. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/mcp/metadata.py +0 -0
  333. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/mcp/registry.py +0 -0
  334. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/metadata_validator.py +0 -0
  335. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/prod_db_access/__init__.py +0 -0
  336. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/prod_db_access/db_engine.py +0 -0
  337. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/prod_db_access/py.typed +0 -0
  338. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/prod_db_access/queries.py +0 -0
  339. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/prod_db_access/sql.py +0 -0
  340. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/py.typed +0 -0
  341. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/registry/__init__.py +0 -0
  342. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/registry/models.py +0 -0
  343. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/registry/publish.py +0 -0
  344. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/regression_tests/cdk_secrets.py +0 -0
  345. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/regression_tests/ci_output.py +0 -0
  346. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/regression_tests/commons/__init__.py +0 -0
  347. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/regression_tests/config.py +0 -0
  348. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/regression_tests/connection_fetcher.py +0 -0
  349. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/regression_tests/connector_runner.py +0 -0
  350. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/regression_tests/evaluation_modes.py +0 -0
  351. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/regression_tests/http_metrics.py +0 -0
  352. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/regression_tests/message_cache/__init__.py +0 -0
  353. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/regression_tests/message_cache/duckdb_cache.py +0 -0
  354. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/regression_tests/models.py +0 -0
  355. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/regression_tests/obfuscation.py +0 -0
  356. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/regression_tests/regression/__init__.py +0 -0
  357. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/regression_tests/regression/comparators.py +0 -0
  358. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/regression_tests/schema_generation.py +0 -0
  359. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/regression_tests/validation/__init__.py +0 -0
  360. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/regression_tests/validation/catalog_validators.py +0 -0
  361. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/regression_tests/validation/record_validators.py +0 -0
  362. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/src/airbyte_ops_mcp/telemetry.py +0 -0
  363. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/__init__.py +0 -0
  364. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/connector_erd_generator/__init__.py +0 -0
  365. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/connector_erd_generator/builder.py +0 -0
  366. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/connector_erd_generator/test_dbml_assembler.py +0 -0
  367. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/connector_erd_generator/test_relationships.py +0 -0
  368. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/connector_ops/conftest.py +0 -0
  369. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/bad-header.md +0 -0
  370. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/bad-title.md +0 -0
  371. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/extra-header.md +0 -0
  372. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/missing-entry.md +0 -0
  373. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/out-of-order.md +0 -0
  374. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/connector_ops/test_utils.py +0 -0
  375. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/connector_qa/__init__.py +0 -0
  376. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/connector_qa/conftest.py +0 -0
  377. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/connector_qa/integration_tests/__init__.py +0 -0
  378. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/connector_qa/integration_tests/test_documentation.py +0 -0
  379. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/__init__.py +0 -0
  380. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/__init__.py +0 -0
  381. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/data/docs/correct.md +0 -0
  382. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/data/docs/incorrect_not_all_structure.md +0 -0
  383. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/data/docs/invalid_links.md +0 -0
  384. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_assets.py +0 -0
  385. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_documentation.py +0 -0
  386. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_metadata.py +0 -0
  387. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_packaging.py +0 -0
  388. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_security.py +0 -0
  389. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_version.py +0 -0
  390. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_models.py +0 -0
  391. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/__init__.py +0 -0
  392. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/conftest.py +0 -0
  393. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_actions/test_environments.py +0 -0
  394. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_bases.py +0 -0
  395. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_build_image/__init__.py +0 -0
  396. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_build_image/dummy_build_customization.py +0 -0
  397. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_build_image/test_manifest_only_connectors.py +0 -0
  398. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_build_image/test_python_connectors.py +0 -0
  399. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_build_image/test_steps/test_common.py +0 -0
  400. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/changelog_header_no_newline.md +0 -0
  401. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/changelog_header_no_separator.md +0 -0
  402. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/no_changelog_header.md +0 -0
  403. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/valid_changelog_at_end.md +0 -0
  404. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/valid_changelog_in_middle.md +0 -0
  405. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/changelog_header_no_newline.md +0 -0
  406. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/changelog_header_no_separator.md +0 -0
  407. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_version_date_valid_changelog_at_end.md +0 -0
  408. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_version_date_valid_changelog_in_middle.md +0 -0
  409. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_versions_valid_changelog_at_end.md +0 -0
  410. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_versions_valid_changelog_in_middle.md +0 -0
  411. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/duplicate_entry_valid_changelog_at_end.md +0 -0
  412. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/duplicate_entry_valid_changelog_in_middle.md +0 -0
  413. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/existing_entries_valid_changelog_at_end.md +0 -0
  414. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/existing_entries_valid_changelog_in_middle.md +0 -0
  415. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/no_changelog_header.md +0 -0
  416. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/single_insert_valid_changelog_at_end.md +0 -0
  417. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/single_insert_valid_changelog_in_middle.md +0 -0
  418. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_changelog.py +0 -0
  419. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_cli/__init__.py +0 -0
  420. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_cli/test_click_decorators.py +0 -0
  421. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_commands/__init__.py +0 -0
  422. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_commands/test_groups/__init__.py +0 -0
  423. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_commands/test_groups/test_connectors.py +0 -0
  424. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_dagger/__init__.py +0 -0
  425. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_dagger/test_actions/__init__.py +0 -0
  426. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_dagger/test_actions/test_python/__init__.py +0 -0
  427. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_dagger/test_actions/test_python/test_common.py +0 -0
  428. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_gradle.py +0 -0
  429. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_helpers/__init__.py +0 -0
  430. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_execution/__init__.py +0 -0
  431. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_execution/test_argument_parsing.py +0 -0
  432. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_execution/test_run_steps.py +0 -0
  433. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_pip.py +0 -0
  434. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_utils.py +0 -0
  435. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_models/__init__.py +0 -0
  436. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_models/test_click_pipeline_context.py +0 -0
  437. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_models/test_singleton.py +0 -0
  438. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_poetry/test_poetry_publish.py +0 -0
  439. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_publish.py +0 -0
  440. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_steps/__init__.py +0 -0
  441. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_steps/test_simple_docker_step.py +0 -0
  442. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_steps/test_version_check.py +0 -0
  443. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_tests/__init__.py +0 -0
  444. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_tests/test_common.py +0 -0
  445. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_tests/test_python_connectors.py +0 -0
  446. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/test_upgrade_java_cdk.py +0 -0
  447. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/legacy/airbyte_ci/pipelines/utils.py +0 -0
  448. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/test_airbyte_admin_mcp.py +0 -0
  449. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/test_bump_version.py +0 -0
  450. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/test_cli_registry.py +0 -0
  451. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/test_list_connectors.py +0 -0
  452. {airbyte_internal_ops-0.5.1 → airbyte_internal_ops-0.6.0}/tests/test_prerelease.py +0 -0
@@ -0,0 +1,41 @@
1
+ # This workflow publishes the python package to PyPI.
2
+ #
3
+ # Triggers:
4
+ # - release: published - When user clicks "Publish" on a draft release (downloads pre-built assets)
5
+ #
6
+ # Authentication: This workflow expects GitHub OIDC for passwordless PyPI publishing.
7
+ # For more info: https://docs.pypi.org/trusted-publishers/
8
+
9
+ name: Publish Package
10
+
11
+ on:
12
+ release:
13
+ types: [published]
14
+
15
+ jobs:
16
+ publish_to_pypi:
17
+ name: Publish Package to PyPI
18
+ runs-on: ubuntu-latest
19
+ permissions:
20
+ id-token: write
21
+ contents: read
22
+ environment:
23
+ name: PyPI
24
+ url: https://pypi.org/project/airbyte-internal-ops/
25
+ steps:
26
+ - name: Download wheel and sdist from release
27
+ uses: robinraju/release-downloader@v1.12
28
+ with:
29
+ tag: ${{ github.event.release.tag_name }}
30
+ fileName: "*.whl"
31
+ out-file-path: dist
32
+
33
+ - name: Download sdist from release
34
+ uses: robinraju/release-downloader@v1.12
35
+ with:
36
+ tag: ${{ github.event.release.tag_name }}
37
+ fileName: "*.tar.gz"
38
+ out-file-path: dist
39
+
40
+ - name: Publish to PyPI
41
+ uses: pypa/gh-action-pypi-publish@v1.13.0
@@ -0,0 +1,52 @@
1
+ name: Release Drafter
2
+
3
+ on:
4
+ workflow_dispatch: {}
5
+ push:
6
+ branches:
7
+ - main
8
+
9
+ concurrency:
10
+ group: release-drafter
11
+ cancel-in-progress: false
12
+
13
+ jobs:
14
+ draft_release:
15
+ name: Draft Release
16
+ permissions:
17
+ contents: write
18
+ pull-requests: write
19
+ runs-on: ubuntu-latest
20
+ steps:
21
+ - name: Create or update draft release
22
+ uses: aaronsteers/semantic-pr-release-drafter@v0.4.0
23
+ id: release-drafter
24
+ env:
25
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
26
+
27
+ - name: Install uv
28
+ uses: astral-sh/setup-uv@v7
29
+ with:
30
+ version: "latest"
31
+
32
+ - name: Checkout Repo
33
+ uses: actions/checkout@v6
34
+ with:
35
+ fetch-depth: 0
36
+
37
+ - name: Build package
38
+ env:
39
+ TAG_NAME: ${{ steps.release-drafter.outputs.tag_name }}
40
+ run: |
41
+ echo "Building with version from tag: ${TAG_NAME}"
42
+ # Strip 'v' prefix for uv-dynamic-versioning
43
+ UV_DYNAMIC_VERSIONING_BYPASS="${TAG_NAME#v}" uv build
44
+
45
+ - name: Attach assets to draft release
46
+ uses: aaronsteers/semantic-pr-release-drafter@v0.4.0
47
+ with:
48
+ attach-files: |
49
+ dist/*.whl
50
+ dist/*.tar.gz
51
+ env:
52
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,56 @@
1
+ # Semantic PR Title Validation
2
+ #
3
+ # This workflow validates PR titles follow conventional commit format.
4
+
5
+ name: Semantic PR Title Validation
6
+
7
+ on:
8
+ pull_request:
9
+ types: [opened, edited, ready_for_review]
10
+
11
+ permissions:
12
+ contents: read
13
+ pull-requests: write
14
+
15
+ jobs:
16
+ validate-pr-title:
17
+ name: Validate PR Title
18
+ # Skip if 'edited' event but the title wasn't changed (e.g., only description was edited)
19
+ if: >
20
+ github.event.action != 'edited'
21
+ || (
22
+ github.event.changes.title &&
23
+ github.event.changes.title.from != ''
24
+ )
25
+ runs-on: ubuntu-latest
26
+ steps:
27
+ - name: Check semantic PR title
28
+ uses: amannn/action-semantic-pull-request@v5
29
+ if: ${{ github.event.pull_request.draft == false }}
30
+ env:
31
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
32
+ with:
33
+ # Configure which types are allowed (newline-delimited).
34
+ # Comparison is case-insensitive, so only lowercase variants are needed.
35
+ # See: https://github.com/commitizen/conventional-commit-types/blob/master/index.json
36
+ types: |
37
+ fix
38
+ feat
39
+ docs
40
+ ci
41
+ chore
42
+ build
43
+ test
44
+ refactor
45
+ perf
46
+ style
47
+
48
+ - name: Check for "do not merge" in PR title
49
+ if: ${{ github.event.pull_request.draft == false }}
50
+ uses: actions/github-script@v7
51
+ with:
52
+ script: |
53
+ const title = context.payload.pull_request.title.toLowerCase();
54
+ if (title.includes('do not merge') || title.includes('do-not-merge')) {
55
+ core.setFailed('PR title contains "do not merge" or "do-not-merge". Please remove this before merging.');
56
+ }
@@ -0,0 +1,46 @@
1
+ name: Validate Build
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request: {}
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ build-check:
14
+ name: Build and Inspect Python Package
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.12"
29
+
30
+ - name: Disable direct references for build check
31
+ # Forcibly disable allow-direct-references to catch git dependencies at build time.
32
+ run: |
33
+ echo "Before:" && grep allow-direct-references pyproject.toml
34
+ sed -i 's/allow-direct-references *= *true/allow-direct-references = false/' pyproject.toml
35
+ echo "After:" && grep allow-direct-references pyproject.toml
36
+
37
+ - name: Build package
38
+ run: uv build
39
+
40
+ - name: Upload build artifacts
41
+ uses: actions/upload-artifact@v6
42
+ with:
43
+ name: Packages-${{ github.run_id }}
44
+ path: |
45
+ dist/*.whl
46
+ dist/*.tar.gz
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: airbyte-internal-ops
3
- Version: 0.5.1
3
+ Version: 0.6.0
4
4
  Summary: MCP and API interfaces that let the agents do the admin work
5
5
  Author-email: Aaron Steers <aj@airbyte.io>
6
6
  Keywords: admin,airbyte,api,mcp
@@ -21,6 +21,7 @@ Requires-Dist: cloud-sql-python-connector[pg8000]<2.0,>=1.7.0
21
21
  Requires-Dist: cyclopts<5.0,>=4.0.0
22
22
  Requires-Dist: docker<7.0,>=6.0
23
23
  Requires-Dist: dpath<3.0,>=2.1.5
24
+ Requires-Dist: fastmcp-extensions<1.0,>=0.2.0
24
25
  Requires-Dist: fastmcp<3.0,>=2.12.1
25
26
  Requires-Dist: gitpython<4.0,>=3.1.29
26
27
  Requires-Dist: google-cloud-logging<4.0,>=3.9.0
@@ -252,6 +252,7 @@ def define_abctl_project() -> tuple[sentry.Project, OutputVarsMap]:
252
252
  filters=sentry.ProjectFiltersArgs(
253
253
  error_messages=[
254
254
  "*kong.ParseError: unexpected argument start",
255
+ "*errors.joinError: failed to determine if any previous psql version exists: error reading pgdata version file*",
255
256
  "*values.yaml*no such file or directory*",
256
257
  "*values.yml*no such file or directory*",
257
258
  ],
@@ -1,6 +1,11 @@
1
1
  # PoeThePoet task definitions
2
2
  # https://poethepoet.natn.io/
3
3
 
4
+ # Global environment variables
5
+ [tool.poe.env]
6
+ # The pointer to our app. Used in MCP helper tasks.
7
+ MCP_SERVER_APP = "airbyte_ops_mcp.mcp.server:app"
8
+
4
9
  [tool.poe.tasks]
5
10
 
6
11
  # Linting and formatting
@@ -62,8 +67,12 @@ args = [{ name = "scope", default = "", help = "Optional scope/context to focus
62
67
 
63
68
  [tool.poe.tasks.mcp-tool-test]
64
69
  help = "Test MCP tools directly with JSON arguments: poe mcp-tool-test <tool_name> '<json_args>'"
65
- cmd = "python bin/test_mcp_tool.py"
70
+ cmd = "python -m fastmcp_extensions.utils.test_tool --app $MCP_SERVER_APP"
66
71
 
67
72
  [tool.poe.tasks.mcp-tool-test-http]
68
73
  help = "Test MCP tools over HTTP transport (stateless): poe mcp-tool-test-http [tool_name] ['<json_args>']"
69
- cmd = "python bin/test_mcp_tool_http.py"
74
+ cmd = "python -m fastmcp_extensions.utils.test_tool --http --app $MCP_SERVER_APP"
75
+
76
+ [tool.poe.tasks.mcp-server-describe]
77
+ help = "Describe MCP server tool list (count, total characters, average)"
78
+ cmd = "python -m fastmcp_extensions.utils.describe_server --app $MCP_SERVER_APP --name airbyte-ops-mcp"
@@ -19,6 +19,7 @@ dependencies = [
19
19
  "docker>=6.0,<7.0",
20
20
  "dpath>=2.1.5,<3.0",
21
21
  "fastmcp>=2.12.1,<3.0",
22
+ "fastmcp-extensions>=0.2.0,<1.0",
22
23
  "gitpython>=3.1.29,<4.0",
23
24
  "google-cloud-logging>=3.9.0,<4.0",
24
25
  "google-cloud-secret-manager>=2.18.0,<3.0",
@@ -149,6 +150,12 @@ vcs = "git"
149
150
  style = "pep440"
150
151
  fallback-version = "0.0.0"
151
152
 
153
+ [tool.hatch.metadata]
154
+ # We allow git-based dependencies during development.
155
+ # However, PyPI does not allow this so we toggle to `false` in CI build checks
156
+ # to ensure dependencies are properly pinned before merge.
157
+ allow-direct-references = true
158
+
152
159
  [tool.hatch.build.targets.wheel]
153
160
  packages = ["src/airbyte_ops_mcp"]
154
161
 
@@ -65,6 +65,7 @@ from airbyte_ops_mcp.regression_tests.connection_fetcher import (
65
65
  save_connection_data_to_files,
66
66
  )
67
67
  from airbyte_ops_mcp.regression_tests.connection_secret_retriever import (
68
+ SecretRetrievalError,
68
69
  enrich_config_with_secrets,
69
70
  should_use_secret_retriever,
70
71
  )
@@ -847,13 +848,14 @@ def regression_test(
847
848
  retrieval_reason="Regression test with USE_CONNECTION_SECRET_RETRIEVER=true",
848
849
  )
849
850
  print_success("Successfully retrieved unmasked secrets from database")
850
- except Exception as e:
851
- print_error(f"Failed to retrieve unmasked secrets: {e}")
851
+ except SecretRetrievalError as e:
852
+ write_github_output("success", False)
853
+ write_github_output("error", str(e))
852
854
  exit_with_error(
853
- f"Failed to retrieve unmasked secrets: {e}\n"
854
- f"Unset USE_CONNECTION_SECRET_RETRIEVER or verify that the "
855
- f"{ENV_GCP_PROD_DB_ACCESS_CREDENTIALS} environment variable is set "
856
- f"with valid database credentials and that the Cloud SQL Proxy is running."
855
+ f"{e}\n\n"
856
+ f"This connection cannot be used for regression testing. "
857
+ f"Please use a connection from a non-EU workspace, or use GSM-based "
858
+ f"integration test credentials instead (by omitting --connection-id)."
857
859
  )
858
860
 
859
861
  config_file, catalog_file = save_connection_data_to_files(
@@ -10,6 +10,19 @@ from airbyte.exceptions import PyAirbyteInputError
10
10
  MCP_SERVER_NAME = "airbyte-internal-ops"
11
11
  """The name of the MCP server."""
12
12
 
13
+
14
+ class ServerConfigKey(StrEnum):
15
+ """Config keys for MCP server configuration arguments.
16
+
17
+ These keys are used both when defining server_config_args in mcp_server()
18
+ and when retrieving config values via get_mcp_config().
19
+ """
20
+
21
+ BEARER_TOKEN = "bearer_token"
22
+ CLIENT_ID = "client_id"
23
+ CLIENT_SECRET = "client_secret"
24
+
25
+
13
26
  USER_AGENT = "Airbyte-Internal-Ops Python client"
14
27
  """User-Agent string for HTTP requests to Airbyte Cloud APIs."""
15
28
 
@@ -0,0 +1,12 @@
1
+ """MCP tools organized by functional domain.
2
+
3
+ This package contains all MCP tool implementations organized by module name.
4
+ Domain is automatically inferred from the file stem where tools are defined:
5
+ - github_repo_ops: GitHub repository operations
6
+ - cloud_connector_versions: Cloud connector version management
7
+ - prod_db_queries: Production database queries
8
+ - github_actions: GitHub Actions workflow operations
9
+ - regression_tests: Connector regression testing
10
+ - prerelease: Connector prerelease operations
11
+ - gcp_logs: GCP log queries
12
+ """
@@ -15,7 +15,8 @@ from typing import Annotated, Literal
15
15
 
16
16
  from airbyte import constants
17
17
  from airbyte.exceptions import PyAirbyteInputError
18
- from fastmcp import FastMCP
18
+ from fastmcp import Context, FastMCP
19
+ from fastmcp_extensions import get_mcp_config, mcp_tool, register_mcp_tools
19
20
  from pydantic import Field
20
21
 
21
22
  from airbyte_ops_mcp.cloud_admin import api_client
@@ -29,19 +30,13 @@ from airbyte_ops_mcp.cloud_admin.models import (
29
30
  VersionOverrideOperationResult,
30
31
  WorkspaceVersionOverrideResult,
31
32
  )
32
- from airbyte_ops_mcp.constants import WorkspaceAliasEnum
33
+ from airbyte_ops_mcp.constants import ServerConfigKey, WorkspaceAliasEnum
33
34
  from airbyte_ops_mcp.github_api import (
34
35
  GitHubAPIError,
35
36
  GitHubCommentParseError,
36
37
  GitHubUserEmailNotFoundError,
37
38
  get_admin_email_from_approval_comment,
38
39
  )
39
- from airbyte_ops_mcp.mcp._http_headers import (
40
- resolve_bearer_token,
41
- resolve_client_id,
42
- resolve_client_secret,
43
- )
44
- from airbyte_ops_mcp.mcp._mcp_utils import mcp_tool, register_mcp_tools
45
40
 
46
41
 
47
42
  @dataclass(frozen=True)
@@ -56,33 +51,36 @@ class _ResolvedCloudAuth:
56
51
  client_secret: str | None = None
57
52
 
58
53
 
59
- def _resolve_cloud_auth() -> _ResolvedCloudAuth:
54
+ def _resolve_cloud_auth(ctx: Context) -> _ResolvedCloudAuth:
60
55
  """Resolve authentication credentials for Airbyte Cloud API.
61
56
 
62
57
  Credentials are resolved in priority order:
63
58
  1. Bearer token (Authorization header or AIRBYTE_CLOUD_BEARER_TOKEN env var)
64
59
  2. Client credentials (X-Airbyte-Cloud-Client-Id/Secret headers or env vars)
65
60
 
61
+ Args:
62
+ ctx: FastMCP Context object from the current tool invocation.
63
+
66
64
  Returns:
67
65
  _ResolvedCloudAuth with either bearer_token or client credentials set.
68
66
 
69
67
  Raises:
70
68
  CloudAuthError: If credentials cannot be resolved from headers or env vars.
71
69
  """
72
- # Try bearer token first (preferred)
73
- bearer_token = resolve_bearer_token()
70
+ # Try bearer token first (preferred, but not required)
71
+ bearer_token = get_mcp_config(ctx, ServerConfigKey.BEARER_TOKEN)
74
72
  if bearer_token:
75
- return _ResolvedCloudAuth(bearer_token=str(bearer_token))
73
+ return _ResolvedCloudAuth(bearer_token=bearer_token)
76
74
 
77
75
  # Fall back to client credentials
78
76
  try:
79
- client_id = resolve_client_id()
80
- client_secret = resolve_client_secret()
77
+ client_id = get_mcp_config(ctx, ServerConfigKey.CLIENT_ID)
78
+ client_secret = get_mcp_config(ctx, ServerConfigKey.CLIENT_SECRET)
81
79
  return _ResolvedCloudAuth(
82
- client_id=str(client_id),
83
- client_secret=str(client_secret),
80
+ client_id=client_id,
81
+ client_secret=client_secret,
84
82
  )
85
- except Exception as e:
83
+ except ValueError as e:
86
84
  raise CloudAuthError(
87
85
  f"Failed to resolve credentials. Ensure credentials are provided "
88
86
  f"via Authorization header (Bearer token), "
@@ -111,6 +109,8 @@ def get_cloud_connector_version(
111
109
  Literal["source", "destination"],
112
110
  "The type of connector (source or destination)",
113
111
  ],
112
+ *,
113
+ ctx: Context,
114
114
  ) -> ConnectorVersionInfo:
115
115
  """Get the current version information for a deployed connector.
116
116
 
@@ -126,7 +126,7 @@ def get_cloud_connector_version(
126
126
  resolved_workspace_id = WorkspaceAliasEnum.resolve(workspace_id)
127
127
 
128
128
  try:
129
- auth = _resolve_cloud_auth()
129
+ auth = _resolve_cloud_auth(ctx)
130
130
 
131
131
  # Use vendored API client instead of connector.get_connector_version()
132
132
  # Use Config API root for version management operations
@@ -248,6 +248,8 @@ def set_cloud_connector_version_override(
248
248
  default=None,
249
249
  ),
250
250
  ],
251
+ *,
252
+ ctx: Context,
251
253
  ) -> VersionOverrideOperationResult:
252
254
  """Set or clear a version override for a deployed connector.
253
255
 
@@ -359,7 +361,7 @@ def set_cloud_connector_version_override(
359
361
 
360
362
  # Resolve auth and get current version info
361
363
  try:
362
- auth = _resolve_cloud_auth()
364
+ auth = _resolve_cloud_auth(ctx)
363
365
 
364
366
  # Get current version info before the operation
365
367
  current_version_data = api_client.get_connector_version(
@@ -529,6 +531,8 @@ def set_workspace_connector_version_override(
529
531
  default=None,
530
532
  ),
531
533
  ],
534
+ *,
535
+ ctx: Context,
532
536
  ) -> WorkspaceVersionOverrideResult:
533
537
  """Set or clear a workspace-level version override for a connector type.
534
538
 
@@ -634,7 +638,7 @@ def set_workspace_connector_version_override(
634
638
 
635
639
  # Resolve auth and call API client
636
640
  try:
637
- auth = _resolve_cloud_auth()
641
+ auth = _resolve_cloud_auth(ctx)
638
642
 
639
643
  result = api_client.set_workspace_connector_version_override(
640
644
  workspace_id=resolved_workspace_id,
@@ -762,6 +766,8 @@ def set_organization_connector_version_override(
762
766
  default=None,
763
767
  ),
764
768
  ],
769
+ *,
770
+ ctx: Context,
765
771
  ) -> OrganizationVersionOverrideResult:
766
772
  """Set or clear an organization-level version override for a connector type.
767
773
 
@@ -863,7 +869,7 @@ def set_organization_connector_version_override(
863
869
 
864
870
  # Resolve auth and call API client
865
871
  try:
866
- auth = _resolve_cloud_auth()
872
+ auth = _resolve_cloud_auth(ctx)
867
873
 
868
874
  result = api_client.set_organization_connector_version_override(
869
875
  organization_id=organization_id,
@@ -921,4 +927,4 @@ def register_cloud_connector_version_tools(app: FastMCP) -> None:
921
927
  Args:
922
928
  app: FastMCP application instance
923
929
  """
924
- register_mcp_tools(app, domain=__name__)
930
+ register_mcp_tools(app, mcp_module=__name__)
@@ -10,6 +10,7 @@ from __future__ import annotations
10
10
  from typing import Annotated
11
11
 
12
12
  from fastmcp import FastMCP
13
+ from fastmcp_extensions import mcp_tool, register_mcp_tools
13
14
  from pydantic import Field
14
15
 
15
16
  from airbyte_ops_mcp.gcp_logs import (
@@ -18,7 +19,6 @@ from airbyte_ops_mcp.gcp_logs import (
18
19
  fetch_error_logs,
19
20
  )
20
21
  from airbyte_ops_mcp.gcp_logs.error_lookup import DEFAULT_GCP_PROJECT
21
- from airbyte_ops_mcp.mcp._mcp_utils import mcp_tool, register_mcp_tools
22
22
 
23
23
 
24
24
  @mcp_tool(
@@ -12,6 +12,7 @@ from typing import Annotated
12
12
 
13
13
  import requests
14
14
  from fastmcp import FastMCP
15
+ from fastmcp_extensions import mcp_tool, register_mcp_tools
15
16
  from pydantic import BaseModel, Field
16
17
 
17
18
  from airbyte_ops_mcp.github_actions import (
@@ -23,7 +24,6 @@ from airbyte_ops_mcp.github_api import (
23
24
  get_pr_head_ref,
24
25
  resolve_github_token,
25
26
  )
26
- from airbyte_ops_mcp.mcp._mcp_utils import mcp_tool, register_mcp_tools
27
27
 
28
28
  # Token env vars for workflow triggering (in order of preference)
29
29
  WORKFLOW_TRIGGER_TOKEN_ENV_VARS = [
@@ -400,4 +400,4 @@ def register_github_actions_tools(app: FastMCP) -> None:
400
400
  Args:
401
401
  app: FastMCP application instance
402
402
  """
403
- register_mcp_tools(app, domain=__name__)
403
+ register_mcp_tools(app, mcp_module=__name__)
@@ -10,12 +10,12 @@ from __future__ import annotations
10
10
  from typing import Annotated, Literal
11
11
 
12
12
  from fastmcp import FastMCP
13
+ from fastmcp_extensions import mcp_tool, register_mcp_tools
13
14
  from pydantic import BaseModel
14
15
 
15
16
  from airbyte_ops_mcp.airbyte_repo.bump_version import bump_connector_version
16
17
  from airbyte_ops_mcp.airbyte_repo.list_connectors import list_connectors
17
18
  from airbyte_ops_mcp.airbyte_repo.utils import resolve_diff_range
18
- from airbyte_ops_mcp.mcp._mcp_utils import mcp_tool, register_mcp_tools
19
19
 
20
20
 
21
21
  class ConnectorListResponse(BaseModel):
@@ -162,4 +162,4 @@ def register_github_repo_ops_tools(app: FastMCP) -> None:
162
162
  Args:
163
163
  app: FastMCP application instance
164
164
  """
165
- register_mcp_tools(app, domain=__name__)
165
+ register_mcp_tools(app, mcp_module=__name__)
@@ -16,6 +16,7 @@ from typing import Annotated, Literal
16
16
  import requests
17
17
  import yaml
18
18
  from fastmcp import FastMCP
19
+ from fastmcp_extensions import mcp_tool, register_mcp_tools
19
20
  from pydantic import BaseModel, Field
20
21
 
21
22
  from airbyte_ops_mcp.github_actions import trigger_workflow_dispatch
@@ -24,7 +25,6 @@ from airbyte_ops_mcp.github_api import (
24
25
  get_pr_head_ref,
25
26
  resolve_github_token,
26
27
  )
27
- from airbyte_ops_mcp.mcp._mcp_utils import mcp_tool, register_mcp_tools
28
28
 
29
29
 
30
30
  class ConnectorRepo(StrEnum):
@@ -278,4 +278,4 @@ def register_prerelease_tools(app: FastMCP) -> None:
278
278
  Args:
279
279
  app: FastMCP application instance
280
280
  """
281
- register_mcp_tools(app, domain=__name__)
281
+ register_mcp_tools(app, mcp_module=__name__)
@@ -14,10 +14,10 @@ from typing import Annotated, Any
14
14
  import requests
15
15
  from airbyte.exceptions import PyAirbyteInputError
16
16
  from fastmcp import FastMCP
17
+ from fastmcp_extensions import mcp_tool, register_mcp_tools
17
18
  from pydantic import BaseModel, Field
18
19
 
19
20
  from airbyte_ops_mcp.constants import OrganizationAliasEnum, WorkspaceAliasEnum
20
- from airbyte_ops_mcp.mcp._mcp_utils import mcp_tool, register_mcp_tools
21
21
  from airbyte_ops_mcp.prod_db_access.queries import (
22
22
  query_actors_pinned_to_version,
23
23
  query_connections_by_connector,
@@ -1274,4 +1274,4 @@ def query_prod_connector_connection_stats(
1274
1274
 
1275
1275
  def register_prod_db_query_tools(app: FastMCP) -> None:
1276
1276
  """Register prod DB query tools with the FastMCP app."""
1277
- register_mcp_tools(app, domain=__name__)
1277
+ register_mcp_tools(app, mcp_module=__name__)
@@ -10,10 +10,10 @@ from __future__ import annotations
10
10
  from typing import Annotated
11
11
 
12
12
  from fastmcp import FastMCP
13
+ from fastmcp_extensions import mcp_prompt, register_mcp_prompts
13
14
  from pydantic import Field
14
15
 
15
16
  from airbyte_ops_mcp.mcp._guidance import TEST_MY_TOOLS_GUIDANCE
16
- from airbyte_ops_mcp.mcp._mcp_utils import mcp_prompt, register_mcp_prompts
17
17
 
18
18
 
19
19
  @mcp_prompt(
@@ -56,4 +56,4 @@ def register_prompts(app: FastMCP) -> None:
56
56
  Args:
57
57
  app: FastMCP application instance
58
58
  """
59
- register_mcp_prompts(app, domain=__name__)
59
+ register_mcp_prompts(app, mcp_module=__name__)
@@ -29,12 +29,12 @@ from airbyte.exceptions import (
29
29
  AirbyteWorkspaceMismatchError,
30
30
  )
31
31
  from fastmcp import FastMCP
32
+ from fastmcp_extensions import mcp_tool, register_mcp_tools
32
33
  from pydantic import BaseModel, Field
33
34
 
34
35
  from airbyte_ops_mcp.constants import WorkspaceAliasEnum
35
36
  from airbyte_ops_mcp.github_actions import trigger_workflow_dispatch
36
37
  from airbyte_ops_mcp.github_api import GITHUB_API_BASE, resolve_github_token
37
- from airbyte_ops_mcp.mcp._mcp_utils import mcp_tool, register_mcp_tools
38
38
  from airbyte_ops_mcp.mcp.prerelease import ConnectorRepo
39
39
 
40
40
  logger = logging.getLogger(__name__)
@@ -471,4 +471,4 @@ def register_regression_tests_tools(app: FastMCP) -> None:
471
471
  Args:
472
472
  app: FastMCP application instance
473
473
  """
474
- register_mcp_tools(app, domain=__name__)
474
+ register_mcp_tools(app, mcp_module=__name__)