airbyte-internal-ops 0.1.9__tar.gz → 0.1.11__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 (545) hide show
  1. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/.github/workflows/connector-live-test.yml +29 -0
  2. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/.github/workflows/connector-regression-test.yml +37 -0
  3. airbyte_internal_ops-0.1.11/.github/workflows/live-tests-ci.yml +33 -0
  4. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/PKG-INFO +1 -1
  5. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/cli/cloud.py +279 -3
  6. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/constants.py +9 -0
  7. airbyte_internal_ops-0.1.11/src/airbyte_ops_mcp/github_actions.py +197 -0
  8. airbyte_internal_ops-0.1.11/src/airbyte_ops_mcp/live_tests/cdk_secrets.py +90 -0
  9. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/ci_output.py +55 -5
  10. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/connector_runner.py +3 -0
  11. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/github.py +2 -21
  12. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/live_tests.py +44 -84
  13. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/prerelease.py +9 -31
  14. airbyte_internal_ops-0.1.11/src/airbyte_ops_mcp/prod_db_access/db_engine.py +253 -0
  15. airbyte_internal_ops-0.1.9/src/airbyte_ops_mcp/prod_db_access/db_engine.py +0 -126
  16. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/.env.template +0 -0
  17. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/.github/copilot-instructions.md +0 -0
  18. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/.github/dependabot.yml +0 -0
  19. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/.github/pr-welcome-message.md +0 -0
  20. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/.github/release-drafter.yml +0 -0
  21. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/.github/workflows/autofix-command.yml +0 -0
  22. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/.github/workflows/format-check.yml +0 -0
  23. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/.github/workflows/lint-check.yml +0 -0
  24. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/.github/workflows/lock-command.yml +0 -0
  25. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/.github/workflows/pdoc_preview.yml +0 -0
  26. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/.github/workflows/pdoc_publish.yml +0 -0
  27. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/.github/workflows/poe-command.yml +0 -0
  28. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/.github/workflows/pr-welcome.yml +0 -0
  29. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/.github/workflows/publish.yml +0 -0
  30. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/.github/workflows/pytest-fast.yml +0 -0
  31. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/.github/workflows/pytest-matrix.yml +0 -0
  32. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/.github/workflows/release-drafter.yml +0 -0
  33. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/.github/workflows/slash-command-dispatch.yml +0 -0
  34. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/.github/workflows/test-connection-retriever.yml +0 -0
  35. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/.gitignore +0 -0
  36. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/.mcp.json.template +0 -0
  37. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/CONTRIBUTING.md +0 -0
  38. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/README.md +0 -0
  39. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/bin/test_mcp_tool.py +0 -0
  40. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/conftest.py +0 -0
  41. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/docs/.gitignore +0 -0
  42. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/docs/generate.py +0 -0
  43. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/docs/templates/custom.css +0 -0
  44. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/docs/templates/theme.css +0 -0
  45. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/poe_tasks.toml +0 -0
  46. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/pyproject.toml +0 -0
  47. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/pyrefly.toml +0 -0
  48. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/pytest.ini +0 -0
  49. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/ruff.toml +0 -0
  50. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/__init__.py +0 -0
  51. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_annotations.py +0 -0
  52. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/__init__.py +0 -0
  53. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/README.md +0 -0
  54. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/README.md +0 -0
  55. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/__init__.py +0 -0
  56. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/dbml_assembler.py +0 -0
  57. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/erd_service.py +0 -0
  58. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/relationships.py +0 -0
  59. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/README.md +0 -0
  60. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/__init__.py +0 -0
  61. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/cli.py +0 -0
  62. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/hacks.py +0 -0
  63. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/insights.py +0 -0
  64. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/models.py +0 -0
  65. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/pylint.py +0 -0
  66. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/pylint_plugins/cdk_deprecation_checkers.py +0 -0
  67. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/result_backends.py +0 -0
  68. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/utils.py +0 -0
  69. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/.gitignore +0 -0
  70. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/README.md +0 -0
  71. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/__init__.py +0 -0
  72. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/__init__.py +0 -0
  73. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/__init__.py +0 -0
  74. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/base_backend.py +0 -0
  75. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/duckdb_backend.py +0 -0
  76. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/file_backend.py +0 -0
  77. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/connection_objects_retrieval.py +0 -0
  78. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/connector_runner.py +0 -0
  79. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/errors.py +0 -0
  80. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/evaluation_modes.py +0 -0
  81. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/hacks.py +0 -0
  82. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/json_schema_helper.py +0 -0
  83. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/mitm_addons.py +0 -0
  84. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/models.py +0 -0
  85. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/proxy.py +0 -0
  86. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/secret_access.py +0 -0
  87. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/segment_tracking.py +0 -0
  88. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/utils.py +0 -0
  89. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/conftest.py.disabled +0 -0
  90. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/consts.py +0 -0
  91. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/poetry.lock +0 -0
  92. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/pytest.ini +0 -0
  93. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/__init__.py +0 -0
  94. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_check.py +0 -0
  95. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_discover.py +0 -0
  96. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_read.py +0 -0
  97. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_spec.py +0 -0
  98. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/report.py +0 -0
  99. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/stash_keys.py +0 -0
  100. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/templates/__init__.py +0 -0
  101. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/templates/private_details.html.j2 +0 -0
  102. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/templates/report.html.j2 +0 -0
  103. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/utils.py +0 -0
  104. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/__init__.py +0 -0
  105. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_check.py +0 -0
  106. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_discover.py +0 -0
  107. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_read.py +0 -0
  108. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_spec.py +0 -0
  109. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_ops/README.md +0 -0
  110. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_ops/__init__.py +0 -0
  111. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_ops/utils.py +0 -0
  112. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/README.md +0 -0
  113. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/__init__.py +0 -0
  114. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/connector/hooks.py +0 -0
  115. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/connector/normalization.py +0 -0
  116. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/python/common.py +0 -0
  117. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/python/pipx.py +0 -0
  118. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/python/poetry.py +0 -0
  119. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/remote_storage.py +0 -0
  120. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/secrets.py +0 -0
  121. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/system/common.py +0 -0
  122. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/system/docker.py +0 -0
  123. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/git.py +0 -0
  124. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/internal_tools.py +0 -0
  125. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/java.py +0 -0
  126. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/python.py +0 -0
  127. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/__init__.py +0 -0
  128. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/cache_keys.py +0 -0
  129. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/cli.py +0 -0
  130. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/__init__.py +0 -0
  131. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/cdk_helpers.py +0 -0
  132. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/command.py +0 -0
  133. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/dagger_fs.py +0 -0
  134. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/format.py +0 -0
  135. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/modifed.py +0 -0
  136. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/yaml.py +0 -0
  137. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/execution/__init__.py +0 -0
  138. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/execution/argument_parsing.py +0 -0
  139. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/execution/run_steps.py +0 -0
  140. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/gcs.py +0 -0
  141. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/git.py +0 -0
  142. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/github.py +0 -0
  143. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/pip.py +0 -0
  144. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/sentry_utils.py +0 -0
  145. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/slack.py +0 -0
  146. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/utils.py +0 -0
  147. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/README.md +0 -0
  148. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/__init__.py +0 -0
  149. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/__init__.py +0 -0
  150. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/__init__.py +0 -0
  151. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/__init__.py +0 -0
  152. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/commands.py +0 -0
  153. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/pipeline.py +0 -0
  154. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/__init__.py +0 -0
  155. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/build_customization.py +0 -0
  156. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/common.py +0 -0
  157. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/java_connectors.py +0 -0
  158. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/manifest_only_connectors.py +0 -0
  159. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/normalization.py +0 -0
  160. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/python_connectors.py +0 -0
  161. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/commands.py +0 -0
  162. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/consts.py +0 -0
  163. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/context.py +0 -0
  164. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/generate_erd/__init__.py +0 -0
  165. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/generate_erd/commands.py +0 -0
  166. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/generate_erd/pipeline.py +0 -0
  167. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/list/__init__.py +0 -0
  168. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/list/commands.py +0 -0
  169. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/migrate_to_inline_schemas/__init__.py +0 -0
  170. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/migrate_to_inline_schemas/commands.py +0 -0
  171. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/migrate_to_inline_schemas/pipeline.py +0 -0
  172. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pipeline.py +0 -0
  173. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pull_request/__init__.py +0 -0
  174. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pull_request/commands.py +0 -0
  175. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pull_request/pipeline.py +0 -0
  176. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/reports.py +0 -0
  177. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/__init__.py +0 -0
  178. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/commands.py +0 -0
  179. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/context.py +0 -0
  180. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/pipeline.py +0 -0
  181. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/__init__.py +0 -0
  182. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/common.py +0 -0
  183. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/java_connectors.py +0 -0
  184. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/manifest_only_connectors.py +0 -0
  185. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/python_connectors.py +0 -0
  186. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/templates/test_report.html.j2 +0 -0
  187. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/__init__.py +0 -0
  188. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/commands.py +0 -0
  189. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/pipeline.py +0 -0
  190. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/steps.py +0 -0
  191. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/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
  192. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/upgrade_cdk/__init__.py +0 -0
  193. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/upgrade_cdk/commands.py +0 -0
  194. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/upgrade_cdk/pipeline.py +0 -0
  195. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/metadata/__init__.py +0 -0
  196. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/metadata/commands.py +0 -0
  197. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/metadata/pipeline.py +0 -0
  198. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/poetry/__init__.py +0 -0
  199. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/poetry/commands.py +0 -0
  200. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/__init__.py +0 -0
  201. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/base_image.py +0 -0
  202. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/docker.py +0 -0
  203. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/gradle.py +0 -0
  204. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/no_op.py +0 -0
  205. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/poetry.py +0 -0
  206. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/pull_request.py +0 -0
  207. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/__init__.py +0 -0
  208. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/commands.py +0 -0
  209. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/models.py +0 -0
  210. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/pipeline.py +0 -0
  211. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/update/__init__.py +0 -0
  212. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/update/commands.py +0 -0
  213. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/airbyte_ci.py +0 -0
  214. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/auto_update.py +0 -0
  215. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/click_decorators.py +0 -0
  216. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/confirm_prompt.py +0 -0
  217. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/dagger_pipeline_command.py +0 -0
  218. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/dagger_run.py +0 -0
  219. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/ensure_repo_root.py +0 -0
  220. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/lazy_group.py +0 -0
  221. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/secrets.py +0 -0
  222. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/telemetry.py +0 -0
  223. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/consts.py +0 -0
  224. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/hacks.py +0 -0
  225. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/__init__.py +0 -0
  226. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/artifacts.py +0 -0
  227. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/ci_requirements.py +0 -0
  228. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/contexts/__init__.py +0 -0
  229. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/contexts/click_pipeline_context.py +0 -0
  230. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/contexts/pipeline_context.py +0 -0
  231. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/reports.py +0 -0
  232. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/secrets.py +0 -0
  233. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/singleton.py +0 -0
  234. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/steps.py +0 -0
  235. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/README.md +0 -0
  236. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/__init__.py +0 -0
  237. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/__init__.py +0 -0
  238. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/assets.py +0 -0
  239. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/__init__.py +0 -0
  240. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/documentation.py +0 -0
  241. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/helpers.py +0 -0
  242. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/models.py +0 -0
  243. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/templates/documentation_headers_check_description.md.j2 +0 -0
  244. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/templates/section_content_description.md.j2 +0 -0
  245. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/templates/template.md.j2 +0 -0
  246. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/metadata.py +0 -0
  247. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/packaging.py +0 -0
  248. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/security.py +0 -0
  249. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/version.py +0 -0
  250. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/cli.py +0 -0
  251. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/consts.py +0 -0
  252. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/models.py +0 -0
  253. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/templates/__init__.py +0 -0
  254. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/templates/qa_checks.md.j2 +0 -0
  255. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/utils.py +0 -0
  256. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/README.md +0 -0
  257. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/bin/bundle-schemas.js +0 -0
  258. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/bin/generate-metadata-models.sh +0 -0
  259. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ActorDefinitionResourceRequirements.py +0 -0
  260. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/AirbyteInternal.py +0 -0
  261. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/AllowedHosts.py +0 -0
  262. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorBreakingChanges.py +0 -0
  263. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorBuildOptions.py +0 -0
  264. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorIPCOptions.py +0 -0
  265. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetadataDefinitionV0.json +0 -0
  266. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetadataDefinitionV0.py +0 -0
  267. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetrics.py +0 -0
  268. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorPackageInfo.py +0 -0
  269. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryDestinationDefinition.py +0 -0
  270. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryReleases.py +0 -0
  271. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistrySourceDefinition.py +0 -0
  272. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryV0.py +0 -0
  273. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorReleases.py +0 -0
  274. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorTestSuiteOptions.py +0 -0
  275. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/GeneratedFields.py +0 -0
  276. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/GitInfo.py +0 -0
  277. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/JobType.py +0 -0
  278. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/NormalizationDestinationDefinitionConfig.py +0 -0
  279. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RegistryOverrides.py +0 -0
  280. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ReleaseStage.py +0 -0
  281. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RemoteRegistries.py +0 -0
  282. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ResourceRequirements.py +0 -0
  283. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RolloutConfiguration.py +0 -0
  284. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/Secret.py +0 -0
  285. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SecretStore.py +0 -0
  286. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SourceFileInfo.py +0 -0
  287. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SuggestedStreams.py +0 -0
  288. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SupportLevel.py +0 -0
  289. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/TestConnections.py +0 -0
  290. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/__init__.py +0 -0
  291. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/airbyte-connector-metadata-schema.json +0 -0
  292. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ActorDefinitionResourceRequirements.yaml +0 -0
  293. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/AirbyteInternal.yaml +0 -0
  294. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/AllowedHosts.yaml +0 -0
  295. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorBreakingChanges.yaml +0 -0
  296. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorBuildOptions.yaml +0 -0
  297. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorIPCOptions.yaml +0 -0
  298. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorMetadataDefinitionV0.yaml +0 -0
  299. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorMetrics.yaml +0 -0
  300. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorPackageInfo.yaml +0 -0
  301. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryDestinationDefinition.yaml +0 -0
  302. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryReleases.yaml +0 -0
  303. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistrySourceDefinition.yaml +0 -0
  304. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryV0.yaml +0 -0
  305. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorReleases.yaml +0 -0
  306. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorTestSuiteOptions.yaml +0 -0
  307. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/GeneratedFields.yaml +0 -0
  308. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/GitInfo.yaml +0 -0
  309. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/JobType.yaml +0 -0
  310. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/NormalizationDestinationDefinitionConfig.yaml +0 -0
  311. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RegistryOverrides.yaml +0 -0
  312. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ReleaseStage.yaml +0 -0
  313. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RemoteRegistries.yaml +0 -0
  314. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ResourceRequirements.yaml +0 -0
  315. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RolloutConfiguration.yaml +0 -0
  316. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/Secret.yaml +0 -0
  317. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SecretStore.yaml +0 -0
  318. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SourceFileInfo.yaml +0 -0
  319. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SuggestedStreams.yaml +0 -0
  320. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SupportLevel.yaml +0 -0
  321. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/TestConnections.yaml +0 -0
  322. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/package-lock.json +0 -0
  323. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/package.json +0 -0
  324. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/transform.py +0 -0
  325. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/README.md +0 -0
  326. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/commands.py +0 -0
  327. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/constants.py +0 -0
  328. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/docker_hub.py +0 -0
  329. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/docs/external_documentation_urls.md +0 -0
  330. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/gcs_upload.py +0 -0
  331. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/files.py +0 -0
  332. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/gcs.py +0 -0
  333. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/object_helpers.py +0 -0
  334. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/slack.py +0 -0
  335. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/.env.template +0 -0
  336. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/README.md +0 -0
  337. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/dagster_cloud.yaml +0 -0
  338. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/__init__.py +0 -0
  339. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/connector_metrics.py +0 -0
  340. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/github.py +0 -0
  341. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/metadata.py +0 -0
  342. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/registry.py +0 -0
  343. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/registry_entry.py +0 -0
  344. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/registry_report.py +0 -0
  345. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/slack.py +0 -0
  346. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/specs_secrets_mask.py +0 -0
  347. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/config.py +0 -0
  348. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/fetcher/connector_cdk_version.py +0 -0
  349. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/hacks.py +0 -0
  350. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/jobs/registry.py +0 -0
  351. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/logging/publish_connector_lifecycle.py +0 -0
  352. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/logging/sentry.py +0 -0
  353. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/models/ci_report.py +0 -0
  354. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/models/metadata.py +0 -0
  355. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/ops/slack.py +0 -0
  356. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/file_managers/local_file_manager.py +0 -0
  357. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/gcp.py +0 -0
  358. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/github.py +0 -0
  359. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/local.py +0 -0
  360. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/sensors/gcs.py +0 -0
  361. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/sensors/github.py +0 -0
  362. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/sensors/registry.py +0 -0
  363. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/templates/base.html +0 -0
  364. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/templates/connector_registry_locations.html +0 -0
  365. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/templates/render.py +0 -0
  366. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/utils/blob_helpers.py +0 -0
  367. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/utils/dagster_helpers.py +0 -0
  368. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/utils/object_helpers.py +0 -0
  369. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/poetry.lock +0 -0
  370. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/__init__.py +0 -0
  371. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/conftest.py.disabled +0 -0
  372. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/fixtures/__init__.py +0 -0
  373. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/fixtures/cloud_registry.json +0 -0
  374. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/fixtures/oss_registry.json +0 -0
  375. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_connector_metrics.py +0 -0
  376. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_dagster_helpers.py +0 -0
  377. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_debug.py +0 -0
  378. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_partition_jobs.py +0 -0
  379. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_registry.py +0 -0
  380. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_specs_secrets_mask.py +0 -0
  381. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/registry.py +0 -0
  382. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/registry_entry.py +0 -0
  383. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/registry_report.py +0 -0
  384. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/sentry.py +0 -0
  385. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/spec_cache.py +0 -0
  386. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/specs_secrets_mask.py +0 -0
  387. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/stale_metadata_report.py +0 -0
  388. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/base.html +0 -0
  389. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/connector_registry_locations.html +0 -0
  390. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/render.py +0 -0
  391. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/validators/metadata_validator.py +0 -0
  392. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/airbyte_repo/__init__.py +0 -0
  393. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/airbyte_repo/bump_version.py +0 -0
  394. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/airbyte_repo/list_connectors.py +0 -0
  395. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/airbyte_repo/utils.py +0 -0
  396. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/cli/__init__.py +0 -0
  397. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/cli/_base.py +0 -0
  398. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/cli/_shared.py +0 -0
  399. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/cli/app.py +0 -0
  400. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/cli/gh.py +0 -0
  401. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/cli/registry.py +0 -0
  402. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/cli/repo.py +0 -0
  403. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/cloud_admin/__init__.py +0 -0
  404. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/cloud_admin/api_client.py +0 -0
  405. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/cloud_admin/auth.py +0 -0
  406. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/cloud_admin/connection_config.py +0 -0
  407. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/cloud_admin/models.py +0 -0
  408. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/connection_config_retriever/__init__.py +0 -0
  409. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/connection_config_retriever/audit_logging.py +0 -0
  410. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/connection_config_retriever/retrieval.py +0 -0
  411. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/connection_config_retriever/secrets_resolution.py +0 -0
  412. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/gcp_auth.py +0 -0
  413. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/__init__.py +0 -0
  414. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/commons/__init__.py +0 -0
  415. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/config.py +0 -0
  416. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/connection_fetcher.py +0 -0
  417. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/connection_secret_retriever.py +0 -0
  418. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/evaluation_modes.py +0 -0
  419. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/http_metrics.py +0 -0
  420. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/message_cache/__init__.py +0 -0
  421. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/message_cache/duckdb_cache.py +0 -0
  422. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/models.py +0 -0
  423. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/obfuscation.py +0 -0
  424. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/regression/__init__.py +0 -0
  425. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/regression/comparators.py +0 -0
  426. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/schema_generation.py +0 -0
  427. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/validation/__init__.py +0 -0
  428. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/validation/catalog_validators.py +0 -0
  429. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/validation/record_validators.py +0 -0
  430. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/__init__.py +0 -0
  431. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/_guidance.py +0 -0
  432. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/_mcp_utils.py +0 -0
  433. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/cloud_connector_versions.py +0 -0
  434. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/connector_analysis.py +0 -0
  435. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/connector_qa.py +0 -0
  436. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/github_repo_ops.py +0 -0
  437. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/metadata.py +0 -0
  438. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/prod_db_queries.py +0 -0
  439. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/prompts.py +0 -0
  440. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/registry.py +0 -0
  441. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/server.py +0 -0
  442. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/server_info.py +0 -0
  443. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/prod_db_access/__init__.py +0 -0
  444. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/prod_db_access/py.typed +0 -0
  445. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/prod_db_access/queries.py +0 -0
  446. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/prod_db_access/sql.py +0 -0
  447. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/py.typed +0 -0
  448. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/registry/__init__.py +0 -0
  449. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/registry/models.py +0 -0
  450. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/registry/publish.py +0 -0
  451. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/__init__.py +0 -0
  452. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_erd_generator/__init__.py +0 -0
  453. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_erd_generator/builder.py +0 -0
  454. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_erd_generator/test_dbml_assembler.py +0 -0
  455. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_erd_generator/test_relationships.py +0 -0
  456. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_live_tests/__init__.py +0 -0
  457. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_live_tests/backends/__init__.py +0 -0
  458. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_live_tests/backends/test_file_backend.py +0 -0
  459. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_live_tests/test_get_connection_objects_retrieval.py +0 -0
  460. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_live_tests/test_json_schema_helper.py +0 -0
  461. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_ops/conftest.py +0 -0
  462. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/bad-header.md +0 -0
  463. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/bad-title.md +0 -0
  464. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/extra-header.md +0 -0
  465. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/missing-entry.md +0 -0
  466. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/out-of-order.md +0 -0
  467. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_ops/test_utils.py +0 -0
  468. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/__init__.py +0 -0
  469. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/conftest.py +0 -0
  470. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/integration_tests/__init__.py +0 -0
  471. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/integration_tests/test_documentation.py +0 -0
  472. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/unit_tests/__init__.py +0 -0
  473. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/__init__.py +0 -0
  474. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/data/docs/correct.md +0 -0
  475. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/data/docs/incorrect_not_all_structure.md +0 -0
  476. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/data/docs/invalid_links.md +0 -0
  477. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_assets.py +0 -0
  478. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_documentation.py +0 -0
  479. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_metadata.py +0 -0
  480. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_packaging.py +0 -0
  481. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_security.py +0 -0
  482. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_version.py +0 -0
  483. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_models.py +0 -0
  484. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/__init__.py +0 -0
  485. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/conftest.py +0 -0
  486. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_actions/test_environments.py +0 -0
  487. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_bases.py +0 -0
  488. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_build_image/__init__.py +0 -0
  489. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_build_image/dummy_build_customization.py +0 -0
  490. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_build_image/test_manifest_only_connectors.py +0 -0
  491. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_build_image/test_python_connectors.py +0 -0
  492. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_build_image/test_steps/test_common.py +0 -0
  493. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/changelog_header_no_newline.md +0 -0
  494. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/changelog_header_no_separator.md +0 -0
  495. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/no_changelog_header.md +0 -0
  496. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/valid_changelog_at_end.md +0 -0
  497. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/valid_changelog_in_middle.md +0 -0
  498. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/changelog_header_no_newline.md +0 -0
  499. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/changelog_header_no_separator.md +0 -0
  500. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_version_date_valid_changelog_at_end.md +0 -0
  501. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_version_date_valid_changelog_in_middle.md +0 -0
  502. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_versions_valid_changelog_at_end.md +0 -0
  503. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_versions_valid_changelog_in_middle.md +0 -0
  504. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/duplicate_entry_valid_changelog_at_end.md +0 -0
  505. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/duplicate_entry_valid_changelog_in_middle.md +0 -0
  506. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/existing_entries_valid_changelog_at_end.md +0 -0
  507. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/existing_entries_valid_changelog_in_middle.md +0 -0
  508. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/no_changelog_header.md +0 -0
  509. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/single_insert_valid_changelog_at_end.md +0 -0
  510. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/single_insert_valid_changelog_in_middle.md +0 -0
  511. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog.py +0 -0
  512. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_cli/__init__.py +0 -0
  513. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_cli/test_click_decorators.py +0 -0
  514. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_commands/__init__.py +0 -0
  515. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_commands/test_groups/__init__.py +0 -0
  516. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_commands/test_groups/test_connectors.py +0 -0
  517. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_dagger/__init__.py +0 -0
  518. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_dagger/test_actions/__init__.py +0 -0
  519. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_dagger/test_actions/test_python/__init__.py +0 -0
  520. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_dagger/test_actions/test_python/test_common.py +0 -0
  521. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_gradle.py +0 -0
  522. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_helpers/__init__.py +0 -0
  523. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_execution/__init__.py +0 -0
  524. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_execution/test_argument_parsing.py +0 -0
  525. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_execution/test_run_steps.py +0 -0
  526. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_pip.py +0 -0
  527. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_utils.py +0 -0
  528. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_models/__init__.py +0 -0
  529. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_models/test_click_pipeline_context.py +0 -0
  530. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_models/test_singleton.py +0 -0
  531. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_poetry/test_poetry_publish.py +0 -0
  532. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_publish.py +0 -0
  533. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_steps/__init__.py +0 -0
  534. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_steps/test_simple_docker_step.py +0 -0
  535. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_steps/test_version_check.py +0 -0
  536. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_tests/__init__.py +0 -0
  537. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_tests/test_common.py +0 -0
  538. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_tests/test_python_connectors.py +0 -0
  539. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_upgrade_java_cdk.py +0 -0
  540. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/utils.py +0 -0
  541. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/test_airbyte_admin_mcp.py +0 -0
  542. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/test_bump_version.py +0 -0
  543. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/test_cli_registry.py +0 -0
  544. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/tests/test_list_connectors.py +0 -0
  545. {airbyte_internal_ops-0.1.9 → airbyte_internal_ops-0.1.11}/uv.lock +0 -0
@@ -13,6 +13,11 @@ on:
13
13
  description: "Connector name to build from source (e.g., 'source-pokeapi'). If provided, builds the image locally."
14
14
  required: false
15
15
  type: string
16
+ airbyte_ref:
17
+ description: "Git ref or PR number to checkout from airbyte repo (e.g., 'master', '70847', 'refs/pull/70847/head'). Only used when connector_name is provided."
18
+ required: false
19
+ type: string
20
+ default: "master"
16
21
  command:
17
22
  description: "Airbyte command to run"
18
23
  required: false
@@ -53,6 +58,29 @@ jobs:
53
58
  - name: Install dependencies
54
59
  run: uv sync --group dev
55
60
 
61
+ - name: Resolve Airbyte ref
62
+ if: ${{ inputs.connector_name != '' }}
63
+ id: resolve-airbyte-ref
64
+ run: |
65
+ REF="${{ inputs.airbyte_ref }}"
66
+ # If the input is all digits, treat it as a PR number
67
+ if [[ "$REF" =~ ^[0-9]+$ ]]; then
68
+ echo "resolved_ref=refs/pull/${REF}/head" >> "$GITHUB_OUTPUT"
69
+ echo "Resolved PR number $REF to refs/pull/${REF}/head"
70
+ else
71
+ echo "resolved_ref=$REF" >> "$GITHUB_OUTPUT"
72
+ echo "Using ref as-is: $REF"
73
+ fi
74
+
75
+ - name: Checkout Airbyte repo
76
+ if: ${{ inputs.connector_name != '' }}
77
+ uses: actions/checkout@v6
78
+ with:
79
+ repository: airbytehq/airbyte
80
+ ref: ${{ steps.resolve-airbyte-ref.outputs.resolved_ref }}
81
+ path: airbyte
82
+ fetch-depth: 1
83
+
56
84
  - name: Run Live Test
57
85
  id: live-test
58
86
  env:
@@ -67,6 +95,7 @@ jobs:
67
95
 
68
96
  if [ -n "${{ inputs.connector_name }}" ]; then
69
97
  ARGS+=(--connector-name "${{ inputs.connector_name }}")
98
+ ARGS+=(--repo-root "${{ github.workspace }}/airbyte")
70
99
  fi
71
100
 
72
101
  if [ -n "${{ inputs.connection_id }}" ]; then
@@ -18,6 +18,11 @@ on:
18
18
  description: "Connector name to build target image from source (e.g., 'source-pokeapi'). If provided, builds the target image locally."
19
19
  required: false
20
20
  type: string
21
+ airbyte_ref:
22
+ description: "Git ref or PR number to checkout from airbyte repo (e.g., 'master', '70847', 'refs/pull/70847/head'). Only used when connector_name is provided."
23
+ required: false
24
+ type: string
25
+ default: "master"
21
26
  command:
22
27
  description: "Airbyte command to run"
23
28
  required: false
@@ -51,6 +56,11 @@ on:
51
56
  description: "Connector name to build target image from source (e.g., 'source-pokeapi')."
52
57
  required: false
53
58
  type: string
59
+ airbyte_ref:
60
+ description: "Git ref or PR number to checkout from airbyte repo. Only used when connector_name is provided."
61
+ required: false
62
+ type: string
63
+ default: "master"
54
64
  command:
55
65
  description: "Airbyte command to run (spec, check, discover, read)"
56
66
  required: false
@@ -79,6 +89,8 @@ on:
79
89
  required: false
80
90
  AIRBYTE_CLOUD_CLIENT_SECRET:
81
91
  required: false
92
+ GCP_GSM_CREDENTIALS:
93
+ required: false
82
94
 
83
95
  jobs:
84
96
  regression-test:
@@ -105,11 +117,35 @@ jobs:
105
117
  - name: Install dependencies
106
118
  run: uv sync --group dev
107
119
 
120
+ - name: Resolve Airbyte ref
121
+ if: ${{ inputs.connector_name != '' }}
122
+ id: resolve-airbyte-ref
123
+ run: |
124
+ REF="${{ inputs.airbyte_ref }}"
125
+ # If the input is all digits, treat it as a PR number
126
+ if [[ "$REF" =~ ^[0-9]+$ ]]; then
127
+ echo "resolved_ref=refs/pull/${REF}/head" >> "$GITHUB_OUTPUT"
128
+ echo "Resolved PR number $REF to refs/pull/${REF}/head"
129
+ else
130
+ echo "resolved_ref=$REF" >> "$GITHUB_OUTPUT"
131
+ echo "Using ref as-is: $REF"
132
+ fi
133
+
134
+ - name: Checkout Airbyte repo
135
+ if: ${{ inputs.connector_name != '' }}
136
+ uses: actions/checkout@v6
137
+ with:
138
+ repository: airbytehq/airbyte
139
+ ref: ${{ steps.resolve-airbyte-ref.outputs.resolved_ref }}
140
+ path: airbyte
141
+ fetch-depth: 1
142
+
108
143
  - name: Run Regression Test
109
144
  id: regression-test
110
145
  env:
111
146
  AIRBYTE_CLOUD_CLIENT_ID: ${{ secrets.AIRBYTE_CLOUD_CLIENT_ID }}
112
147
  AIRBYTE_CLOUD_CLIENT_SECRET: ${{ secrets.AIRBYTE_CLOUD_CLIENT_SECRET }}
148
+ GCP_GSM_CREDENTIALS: ${{ secrets.GCP_GSM_CREDENTIALS }}
113
149
  run: |
114
150
  ARGS=(--command "${{ inputs.command }}")
115
151
 
@@ -123,6 +159,7 @@ jobs:
123
159
 
124
160
  if [ -n "${{ inputs.connector_name }}" ]; then
125
161
  ARGS+=(--connector-name "${{ inputs.connector_name }}")
162
+ ARGS+=(--repo-root "${{ github.workspace }}/airbyte")
126
163
  fi
127
164
 
128
165
  if [ -n "${{ inputs.connection_id }}" ]; then
@@ -0,0 +1,33 @@
1
+ # CI smoke test for live_tests code changes
2
+ # Runs a lightweight regression test to validate live_tests code works correctly
3
+ name: Live Tests CI
4
+
5
+ permissions:
6
+ contents: read
7
+ checks: write
8
+
9
+ on:
10
+ pull_request:
11
+ paths:
12
+ - 'src/airbyte_ops_mcp/live_tests/**'
13
+ - '.github/workflows/live-tests-ci.yml'
14
+ - '.github/workflows/connector-regression-test.yml'
15
+
16
+ # Allow manual triggering for testing
17
+ workflow_dispatch:
18
+
19
+ concurrency:
20
+ group: ${{ github.workflow }}-${{ github.ref }}
21
+ cancel-in-progress: true
22
+
23
+ jobs:
24
+ smoke-test:
25
+ name: Live Tests Smoke Test
26
+ uses: ./.github/workflows/connector-regression-test.yml
27
+ with:
28
+ # Use source-pokeapi as a stable, public connector for smoke testing
29
+ target_image: "airbyte/source-pokeapi:0.3.0"
30
+ control_image: "airbyte/source-pokeapi:0.2.0"
31
+ # spec is the fastest command and doesn't require credentials
32
+ command: "spec"
33
+ # No secrets needed for spec command with public connector
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: airbyte-internal-ops
3
- Version: 0.1.9
3
+ Version: 0.1.11
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
@@ -13,9 +13,18 @@ Commands:
13
13
  from __future__ import annotations
14
14
 
15
15
  import json
16
+ import os
17
+ import shutil
18
+ import signal
19
+ import socket
20
+ import subprocess
21
+ import tempfile
22
+ import time
16
23
  from pathlib import Path
17
24
  from typing import Annotated, Literal
18
25
 
26
+ import requests
27
+ import yaml
19
28
  from airbyte_cdk.models.connector_metadata import MetadataFile
20
29
  from airbyte_cdk.utils.connector_paths import find_connector_root_from_name
21
30
  from airbyte_cdk.utils.docker import build_connector_image, verify_docker_installation
@@ -30,6 +39,13 @@ from airbyte_ops_mcp.cli._shared import (
30
39
  print_success,
31
40
  )
32
41
  from airbyte_ops_mcp.cloud_admin.connection_config import fetch_connection_config
42
+ from airbyte_ops_mcp.constants import (
43
+ CLOUD_SQL_INSTANCE,
44
+ CLOUD_SQL_PROXY_PID_FILE,
45
+ DEFAULT_CLOUD_SQL_PROXY_PORT,
46
+ ENV_GCP_PROD_DB_ACCESS_CREDENTIALS,
47
+ )
48
+ from airbyte_ops_mcp.live_tests.cdk_secrets import get_first_config_from_secrets
33
49
  from airbyte_ops_mcp.live_tests.ci_output import (
34
50
  generate_regression_report,
35
51
  get_report_summary,
@@ -75,6 +91,184 @@ connector_app = App(
75
91
  )
76
92
  cloud_app.command(connector_app)
77
93
 
94
+ # Create the db sub-app under cloud
95
+ db_app = App(name="db", help="Database operations for Airbyte Cloud Prod DB Replica.")
96
+ cloud_app.command(db_app)
97
+
98
+
99
+ @db_app.command(name="start-proxy")
100
+ def start_proxy(
101
+ port: Annotated[
102
+ int,
103
+ Parameter(help="Port for the Cloud SQL Proxy to listen on."),
104
+ ] = DEFAULT_CLOUD_SQL_PROXY_PORT,
105
+ daemon: Annotated[
106
+ bool,
107
+ Parameter(
108
+ help="Run as daemon in background (default). Use --no-daemon for foreground."
109
+ ),
110
+ ] = True,
111
+ ) -> None:
112
+ """Start the Cloud SQL Proxy for database access.
113
+
114
+ This command starts the Cloud SQL Auth Proxy to enable connections to the
115
+ Airbyte Cloud Prod DB Replica. The proxy is required for database query tools.
116
+
117
+ By default, runs as a daemon (background process). Use --no-daemon to run in
118
+ foreground mode where you can see logs and stop with Ctrl+C.
119
+
120
+ Credentials are read from the GCP_PROD_DB_ACCESS_CREDENTIALS environment variable,
121
+ which should contain the service account JSON credentials.
122
+
123
+ After starting the proxy, set these environment variables to use database tools:
124
+ export USE_CLOUD_SQL_PROXY=1
125
+ export DB_PORT={port}
126
+
127
+ Example:
128
+ airbyte-ops cloud db start-proxy
129
+ airbyte-ops cloud db start-proxy --port 15432
130
+ airbyte-ops cloud db start-proxy --no-daemon
131
+ """
132
+ # Check if proxy is already running on the requested port (idempotency)
133
+ try:
134
+ with socket.create_connection(("127.0.0.1", port), timeout=0.5):
135
+ # Something is already listening on this port
136
+ pid_file = Path(CLOUD_SQL_PROXY_PID_FILE)
137
+ pid_info = ""
138
+ if pid_file.exists():
139
+ pid_info = f" (PID: {pid_file.read_text().strip()})"
140
+ print_success(
141
+ f"Cloud SQL Proxy is already running on port {port}{pid_info}"
142
+ )
143
+ print_success("")
144
+ print_success("To use database tools, set these environment variables:")
145
+ print_success(" export USE_CLOUD_SQL_PROXY=1")
146
+ print_success(f" export DB_PORT={port}")
147
+ return
148
+ except (OSError, TimeoutError, ConnectionRefusedError):
149
+ pass # Port not in use, proceed with starting proxy
150
+
151
+ # Check if cloud-sql-proxy is installed
152
+ proxy_path = shutil.which("cloud-sql-proxy")
153
+ if not proxy_path:
154
+ exit_with_error(
155
+ "cloud-sql-proxy not found in PATH. "
156
+ "Install it from: https://cloud.google.com/sql/docs/mysql/sql-proxy"
157
+ )
158
+
159
+ # Get credentials from environment
160
+ creds_json = os.getenv(ENV_GCP_PROD_DB_ACCESS_CREDENTIALS)
161
+ if not creds_json:
162
+ exit_with_error(
163
+ f"{ENV_GCP_PROD_DB_ACCESS_CREDENTIALS} environment variable is not set. "
164
+ "This should contain the GCP service account JSON credentials."
165
+ )
166
+
167
+ # Build the command using --json-credentials to avoid writing to disk
168
+ cmd = [
169
+ proxy_path,
170
+ CLOUD_SQL_INSTANCE,
171
+ f"--port={port}",
172
+ f"--json-credentials={creds_json}",
173
+ ]
174
+
175
+ print_success(f"Starting Cloud SQL Proxy on port {port}...")
176
+ print_success(f"Instance: {CLOUD_SQL_INSTANCE}")
177
+ print_success("")
178
+ print_success("To use database tools, set these environment variables:")
179
+ print_success(" export USE_CLOUD_SQL_PROXY=1")
180
+ print_success(f" export DB_PORT={port}")
181
+ print_success("")
182
+
183
+ if daemon:
184
+ # Run in background (daemon mode) with log file for diagnostics
185
+ log_file_path = Path("/tmp/airbyte-cloud-sql-proxy.log")
186
+ log_file = log_file_path.open("ab")
187
+ process = subprocess.Popen(
188
+ cmd,
189
+ stdout=subprocess.DEVNULL,
190
+ stderr=log_file,
191
+ start_new_session=True,
192
+ )
193
+
194
+ # Brief wait to verify the process started successfully
195
+ time.sleep(0.5)
196
+ if process.poll() is not None:
197
+ # Process exited immediately - read any error output
198
+ log_file.close()
199
+ error_output = ""
200
+ if log_file_path.exists():
201
+ error_output = log_file_path.read_text()[-1000:] # Last 1000 chars
202
+ exit_with_error(
203
+ f"Cloud SQL Proxy failed to start (exit code: {process.returncode}).\n"
204
+ f"Check logs at {log_file_path}\n"
205
+ f"Recent output: {error_output}"
206
+ )
207
+
208
+ # Write PID to file for stop-proxy command
209
+ pid_file = Path(CLOUD_SQL_PROXY_PID_FILE)
210
+ pid_file.write_text(str(process.pid))
211
+ print_success(f"Cloud SQL Proxy started as daemon (PID: {process.pid})")
212
+ print_success(f"Logs: {log_file_path}")
213
+ print_success("To stop: airbyte-ops cloud db stop-proxy")
214
+ else:
215
+ # Run in foreground - replace current process
216
+ # Signals (Ctrl+C) will be handled directly by the cloud-sql-proxy process
217
+ print_success("Running in foreground. Press Ctrl+C to stop the proxy.")
218
+ print_success("")
219
+ os.execv(proxy_path, cmd)
220
+
221
+
222
+ @db_app.command(name="stop-proxy")
223
+ def stop_proxy() -> None:
224
+ """Stop the Cloud SQL Proxy daemon.
225
+
226
+ This command stops a Cloud SQL Proxy that was started with 'start-proxy'.
227
+ It reads the PID from the PID file and sends a SIGTERM signal to stop the process.
228
+
229
+ Example:
230
+ airbyte-ops cloud db stop-proxy
231
+ """
232
+ pid_file = Path(CLOUD_SQL_PROXY_PID_FILE)
233
+
234
+ if not pid_file.exists():
235
+ exit_with_error(
236
+ f"PID file not found at {CLOUD_SQL_PROXY_PID_FILE}. "
237
+ "No Cloud SQL Proxy daemon appears to be running."
238
+ )
239
+
240
+ pid_str = pid_file.read_text().strip()
241
+ if not pid_str.isdigit():
242
+ pid_file.unlink()
243
+ exit_with_error(f"Invalid PID in {CLOUD_SQL_PROXY_PID_FILE}: {pid_str}")
244
+
245
+ pid = int(pid_str)
246
+
247
+ # Check if process is still running
248
+ try:
249
+ os.kill(pid, 0) # Signal 0 just checks if process exists
250
+ except ProcessLookupError:
251
+ pid_file.unlink()
252
+ print_success(
253
+ f"Cloud SQL Proxy (PID: {pid}) is not running. Cleaned up PID file."
254
+ )
255
+ return
256
+ except PermissionError:
257
+ exit_with_error(f"Permission denied to check process {pid}.")
258
+
259
+ # Send SIGTERM to stop the process
260
+ try:
261
+ os.kill(pid, signal.SIGTERM)
262
+ print_success(f"Sent SIGTERM to Cloud SQL Proxy (PID: {pid}).")
263
+ except ProcessLookupError:
264
+ print_success(f"Cloud SQL Proxy (PID: {pid}) already stopped.")
265
+ except PermissionError:
266
+ exit_with_error(f"Permission denied to stop process {pid}.")
267
+
268
+ # Clean up PID file
269
+ pid_file.unlink(missing_ok=True)
270
+ print_success("Cloud SQL Proxy stopped.")
271
+
78
272
 
79
273
  @connector_app.command(name="get-version-info")
80
274
  def get_version_info(
@@ -317,6 +511,49 @@ def _build_connector_image_from_source(
317
511
  return built_image
318
512
 
319
513
 
514
+ def _fetch_control_image_from_metadata(connector_name: str) -> str | None:
515
+ """Fetch the current released connector image from metadata.yaml on main branch.
516
+
517
+ This fetches the connector's metadata.yaml from the airbyte monorepo's master branch
518
+ and extracts the dockerRepository and dockerImageTag to construct the control image.
519
+
520
+ Args:
521
+ connector_name: The connector name (e.g., 'source-github').
522
+
523
+ Returns:
524
+ The full connector image with tag (e.g., 'airbyte/source-github:1.0.0'),
525
+ or None if the metadata could not be fetched or parsed.
526
+ """
527
+ metadata_url = (
528
+ f"https://raw.githubusercontent.com/airbytehq/airbyte/master/"
529
+ f"airbyte-integrations/connectors/{connector_name}/metadata.yaml"
530
+ )
531
+ response = requests.get(metadata_url, timeout=30)
532
+ if not response.ok:
533
+ print_error(
534
+ f"Failed to fetch metadata for {connector_name}: "
535
+ f"HTTP {response.status_code} from {metadata_url}"
536
+ )
537
+ return None
538
+
539
+ metadata = yaml.safe_load(response.text)
540
+ if not isinstance(metadata, dict):
541
+ print_error(f"Invalid metadata format for {connector_name}: expected dict")
542
+ return None
543
+
544
+ data = metadata.get("data", {})
545
+ docker_repository = data.get("dockerRepository")
546
+ docker_image_tag = data.get("dockerImageTag")
547
+
548
+ if not docker_repository or not docker_image_tag:
549
+ print_error(
550
+ f"Could not find dockerRepository/dockerImageTag in metadata for {connector_name}"
551
+ )
552
+ return None
553
+
554
+ return f"{docker_repository}:{docker_image_tag}"
555
+
556
+
320
557
  @connector_app.command(name="live-test")
321
558
  def live_test(
322
559
  connector_image: Annotated[
@@ -716,10 +953,48 @@ def regression_test(
716
953
  if not resolved_control_image and connection_data.connector_image:
717
954
  resolved_control_image = connection_data.connector_image
718
955
  print_success(f"Auto-detected control image: {resolved_control_image}")
956
+ elif config_path:
957
+ config_file = Path(config_path)
958
+ catalog_file = Path(catalog_path) if catalog_path else None
959
+ elif connector_name:
960
+ # Fallback: fetch integration test secrets from GSM using PyAirbyte API
961
+ print_success(
962
+ f"No connection_id or config_path provided. "
963
+ f"Attempting to fetch integration test config from GSM for {connector_name}..."
964
+ )
965
+ gsm_config = get_first_config_from_secrets(connector_name)
966
+ if gsm_config:
967
+ # Write config to a temp file (not in output_path to avoid artifact upload)
968
+ gsm_config_dir = Path(
969
+ tempfile.mkdtemp(prefix=f"gsm-config-{connector_name}-")
970
+ )
971
+ gsm_config_dir.chmod(0o700)
972
+ gsm_config_file = gsm_config_dir / "config.json"
973
+ gsm_config_file.write_text(json.dumps(gsm_config, indent=2))
974
+ gsm_config_file.chmod(0o600)
975
+ config_file = gsm_config_file
976
+ catalog_file = None
977
+ print_success(
978
+ f"Fetched integration test config from GSM for {connector_name}"
979
+ )
980
+ else:
981
+ print_error(
982
+ f"Failed to fetch integration test config from GSM for {connector_name}."
983
+ )
984
+ config_file = None
985
+ catalog_file = None
719
986
  else:
720
- config_file = Path(config_path) if config_path else None
987
+ config_file = None
721
988
  catalog_file = Path(catalog_path) if catalog_path else None
722
989
 
990
+ # Auto-detect control_image from metadata.yaml if connector_name is provided
991
+ if not resolved_control_image and connector_name:
992
+ resolved_control_image = _fetch_control_image_from_metadata(connector_name)
993
+ if resolved_control_image:
994
+ print_success(
995
+ f"Auto-detected control image from metadata.yaml: {resolved_control_image}"
996
+ )
997
+
723
998
  # Validate that we have both images
724
999
  if not resolved_target_image:
725
1000
  write_github_output("success", False)
@@ -733,8 +1008,9 @@ def regression_test(
733
1008
  write_github_output("success", False)
734
1009
  write_github_output("error", "No control image specified")
735
1010
  exit_with_error(
736
- "You must provide one of the following: a control_image or a connection_id "
737
- "for a connection that has an associated connector image."
1011
+ "You must provide one of the following: a control_image, a connection_id "
1012
+ "for a connection that has an associated connector image, or a connector_name "
1013
+ "to auto-detect the control image from the airbyte repo's metadata.yaml."
738
1014
  )
739
1015
 
740
1016
  # Pull images if they weren't just built locally
@@ -27,6 +27,15 @@ EXPECTED_ADMIN_EMAIL_DOMAIN = "@airbyte.io"
27
27
  GCP_PROJECT_NAME = "prod-ab-cloud-proj"
28
28
  """The GCP project name for Airbyte Cloud production."""
29
29
 
30
+ CLOUD_SQL_INSTANCE = "prod-ab-cloud-proj:us-west3:prod-pgsql-replica"
31
+ """The Cloud SQL instance connection name for the Prod DB Replica."""
32
+
33
+ DEFAULT_CLOUD_SQL_PROXY_PORT = 15432
34
+ """Default port for Cloud SQL Proxy connections."""
35
+
36
+ CLOUD_SQL_PROXY_PID_FILE = "/tmp/airbyte-cloud-sql-proxy.pid"
37
+ """PID file for tracking the Cloud SQL Proxy process."""
38
+
30
39
  CLOUD_REGISTRY_URL = (
31
40
  "https://connectors.airbyte.com/files/registries/v0/cloud_registry.json"
32
41
  )