airbyte-internal-ops 0.1.10__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 (544) hide show
  1. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/.github/workflows/connector-live-test.yml +29 -0
  2. {airbyte_internal_ops-0.1.10 → 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.10 → airbyte_internal_ops-0.1.11}/PKG-INFO +1 -1
  5. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/cli/cloud.py +89 -3
  6. airbyte_internal_ops-0.1.11/src/airbyte_ops_mcp/github_actions.py +197 -0
  7. airbyte_internal_ops-0.1.11/src/airbyte_ops_mcp/live_tests/cdk_secrets.py +90 -0
  8. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/ci_output.py +55 -5
  9. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/connector_runner.py +3 -0
  10. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/github.py +2 -21
  11. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/live_tests.py +44 -84
  12. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/prerelease.py +9 -31
  13. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/.env.template +0 -0
  14. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/.github/copilot-instructions.md +0 -0
  15. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/.github/dependabot.yml +0 -0
  16. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/.github/pr-welcome-message.md +0 -0
  17. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/.github/release-drafter.yml +0 -0
  18. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/.github/workflows/autofix-command.yml +0 -0
  19. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/.github/workflows/format-check.yml +0 -0
  20. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/.github/workflows/lint-check.yml +0 -0
  21. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/.github/workflows/lock-command.yml +0 -0
  22. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/.github/workflows/pdoc_preview.yml +0 -0
  23. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/.github/workflows/pdoc_publish.yml +0 -0
  24. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/.github/workflows/poe-command.yml +0 -0
  25. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/.github/workflows/pr-welcome.yml +0 -0
  26. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/.github/workflows/publish.yml +0 -0
  27. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/.github/workflows/pytest-fast.yml +0 -0
  28. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/.github/workflows/pytest-matrix.yml +0 -0
  29. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/.github/workflows/release-drafter.yml +0 -0
  30. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/.github/workflows/slash-command-dispatch.yml +0 -0
  31. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/.github/workflows/test-connection-retriever.yml +0 -0
  32. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/.gitignore +0 -0
  33. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/.mcp.json.template +0 -0
  34. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/CONTRIBUTING.md +0 -0
  35. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/README.md +0 -0
  36. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/bin/test_mcp_tool.py +0 -0
  37. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/conftest.py +0 -0
  38. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/docs/.gitignore +0 -0
  39. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/docs/generate.py +0 -0
  40. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/docs/templates/custom.css +0 -0
  41. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/docs/templates/theme.css +0 -0
  42. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/poe_tasks.toml +0 -0
  43. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/pyproject.toml +0 -0
  44. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/pyrefly.toml +0 -0
  45. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/pytest.ini +0 -0
  46. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/ruff.toml +0 -0
  47. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/__init__.py +0 -0
  48. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_annotations.py +0 -0
  49. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/__init__.py +0 -0
  50. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/README.md +0 -0
  51. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/README.md +0 -0
  52. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/__init__.py +0 -0
  53. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/dbml_assembler.py +0 -0
  54. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/erd_service.py +0 -0
  55. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/relationships.py +0 -0
  56. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/README.md +0 -0
  57. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/__init__.py +0 -0
  58. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/cli.py +0 -0
  59. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/hacks.py +0 -0
  60. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/insights.py +0 -0
  61. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/models.py +0 -0
  62. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/pylint.py +0 -0
  63. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/pylint_plugins/cdk_deprecation_checkers.py +0 -0
  64. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/result_backends.py +0 -0
  65. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/utils.py +0 -0
  66. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/.gitignore +0 -0
  67. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/README.md +0 -0
  68. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/__init__.py +0 -0
  69. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/__init__.py +0 -0
  70. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/__init__.py +0 -0
  71. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/base_backend.py +0 -0
  72. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/duckdb_backend.py +0 -0
  73. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/file_backend.py +0 -0
  74. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/connection_objects_retrieval.py +0 -0
  75. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/connector_runner.py +0 -0
  76. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/errors.py +0 -0
  77. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/evaluation_modes.py +0 -0
  78. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/hacks.py +0 -0
  79. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/json_schema_helper.py +0 -0
  80. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/mitm_addons.py +0 -0
  81. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/models.py +0 -0
  82. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/proxy.py +0 -0
  83. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/secret_access.py +0 -0
  84. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/segment_tracking.py +0 -0
  85. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/utils.py +0 -0
  86. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/conftest.py.disabled +0 -0
  87. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/consts.py +0 -0
  88. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/poetry.lock +0 -0
  89. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/pytest.ini +0 -0
  90. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/__init__.py +0 -0
  91. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_check.py +0 -0
  92. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_discover.py +0 -0
  93. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_read.py +0 -0
  94. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_spec.py +0 -0
  95. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/report.py +0 -0
  96. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/stash_keys.py +0 -0
  97. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/templates/__init__.py +0 -0
  98. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/templates/private_details.html.j2 +0 -0
  99. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/templates/report.html.j2 +0 -0
  100. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/utils.py +0 -0
  101. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/__init__.py +0 -0
  102. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_check.py +0 -0
  103. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_discover.py +0 -0
  104. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_read.py +0 -0
  105. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_spec.py +0 -0
  106. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_ops/README.md +0 -0
  107. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_ops/__init__.py +0 -0
  108. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_ops/utils.py +0 -0
  109. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/README.md +0 -0
  110. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/__init__.py +0 -0
  111. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/connector/hooks.py +0 -0
  112. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/connector/normalization.py +0 -0
  113. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/python/common.py +0 -0
  114. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/python/pipx.py +0 -0
  115. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/python/poetry.py +0 -0
  116. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/remote_storage.py +0 -0
  117. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/secrets.py +0 -0
  118. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/system/common.py +0 -0
  119. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/system/docker.py +0 -0
  120. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/git.py +0 -0
  121. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/internal_tools.py +0 -0
  122. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/java.py +0 -0
  123. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/python.py +0 -0
  124. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/__init__.py +0 -0
  125. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/cache_keys.py +0 -0
  126. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/cli.py +0 -0
  127. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/__init__.py +0 -0
  128. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/cdk_helpers.py +0 -0
  129. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/command.py +0 -0
  130. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/dagger_fs.py +0 -0
  131. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/format.py +0 -0
  132. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/modifed.py +0 -0
  133. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/yaml.py +0 -0
  134. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/execution/__init__.py +0 -0
  135. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/execution/argument_parsing.py +0 -0
  136. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/execution/run_steps.py +0 -0
  137. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/gcs.py +0 -0
  138. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/git.py +0 -0
  139. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/github.py +0 -0
  140. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/pip.py +0 -0
  141. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/sentry_utils.py +0 -0
  142. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/slack.py +0 -0
  143. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/utils.py +0 -0
  144. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/README.md +0 -0
  145. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/__init__.py +0 -0
  146. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/__init__.py +0 -0
  147. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/__init__.py +0 -0
  148. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/__init__.py +0 -0
  149. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/commands.py +0 -0
  150. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/pipeline.py +0 -0
  151. {airbyte_internal_ops-0.1.10 → 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
  152. {airbyte_internal_ops-0.1.10 → 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
  153. {airbyte_internal_ops-0.1.10 → 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
  154. {airbyte_internal_ops-0.1.10 → 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
  155. {airbyte_internal_ops-0.1.10 → 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
  156. {airbyte_internal_ops-0.1.10 → 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
  157. {airbyte_internal_ops-0.1.10 → 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
  158. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/commands.py +0 -0
  159. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/consts.py +0 -0
  160. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/context.py +0 -0
  161. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/generate_erd/__init__.py +0 -0
  162. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/generate_erd/commands.py +0 -0
  163. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/generate_erd/pipeline.py +0 -0
  164. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/list/__init__.py +0 -0
  165. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/list/commands.py +0 -0
  166. {airbyte_internal_ops-0.1.10 → 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
  167. {airbyte_internal_ops-0.1.10 → 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
  168. {airbyte_internal_ops-0.1.10 → 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
  169. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pipeline.py +0 -0
  170. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pull_request/__init__.py +0 -0
  171. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pull_request/commands.py +0 -0
  172. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pull_request/pipeline.py +0 -0
  173. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/reports.py +0 -0
  174. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/__init__.py +0 -0
  175. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/commands.py +0 -0
  176. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/context.py +0 -0
  177. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/pipeline.py +0 -0
  178. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/__init__.py +0 -0
  179. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/common.py +0 -0
  180. {airbyte_internal_ops-0.1.10 → 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
  181. {airbyte_internal_ops-0.1.10 → 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
  182. {airbyte_internal_ops-0.1.10 → 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
  183. {airbyte_internal_ops-0.1.10 → 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
  184. {airbyte_internal_ops-0.1.10 → 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
  185. {airbyte_internal_ops-0.1.10 → 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
  186. {airbyte_internal_ops-0.1.10 → 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
  187. {airbyte_internal_ops-0.1.10 → 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
  188. {airbyte_internal_ops-0.1.10 → 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
  189. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/upgrade_cdk/__init__.py +0 -0
  190. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/upgrade_cdk/commands.py +0 -0
  191. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/upgrade_cdk/pipeline.py +0 -0
  192. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/metadata/__init__.py +0 -0
  193. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/metadata/commands.py +0 -0
  194. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/metadata/pipeline.py +0 -0
  195. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/poetry/__init__.py +0 -0
  196. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/poetry/commands.py +0 -0
  197. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/__init__.py +0 -0
  198. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/base_image.py +0 -0
  199. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/docker.py +0 -0
  200. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/gradle.py +0 -0
  201. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/no_op.py +0 -0
  202. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/poetry.py +0 -0
  203. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/pull_request.py +0 -0
  204. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/__init__.py +0 -0
  205. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/commands.py +0 -0
  206. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/models.py +0 -0
  207. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/pipeline.py +0 -0
  208. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/update/__init__.py +0 -0
  209. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/update/commands.py +0 -0
  210. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/airbyte_ci.py +0 -0
  211. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/auto_update.py +0 -0
  212. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/click_decorators.py +0 -0
  213. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/confirm_prompt.py +0 -0
  214. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/dagger_pipeline_command.py +0 -0
  215. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/dagger_run.py +0 -0
  216. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/ensure_repo_root.py +0 -0
  217. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/lazy_group.py +0 -0
  218. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/secrets.py +0 -0
  219. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/telemetry.py +0 -0
  220. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/consts.py +0 -0
  221. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/hacks.py +0 -0
  222. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/__init__.py +0 -0
  223. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/artifacts.py +0 -0
  224. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/ci_requirements.py +0 -0
  225. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/contexts/__init__.py +0 -0
  226. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/contexts/click_pipeline_context.py +0 -0
  227. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/contexts/pipeline_context.py +0 -0
  228. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/reports.py +0 -0
  229. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/secrets.py +0 -0
  230. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/singleton.py +0 -0
  231. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/steps.py +0 -0
  232. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/README.md +0 -0
  233. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/__init__.py +0 -0
  234. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/__init__.py +0 -0
  235. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/assets.py +0 -0
  236. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/__init__.py +0 -0
  237. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/documentation.py +0 -0
  238. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/helpers.py +0 -0
  239. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/models.py +0 -0
  240. {airbyte_internal_ops-0.1.10 → 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
  241. {airbyte_internal_ops-0.1.10 → 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
  242. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/templates/template.md.j2 +0 -0
  243. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/metadata.py +0 -0
  244. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/packaging.py +0 -0
  245. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/security.py +0 -0
  246. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/version.py +0 -0
  247. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/cli.py +0 -0
  248. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/consts.py +0 -0
  249. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/models.py +0 -0
  250. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/templates/__init__.py +0 -0
  251. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/templates/qa_checks.md.j2 +0 -0
  252. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/utils.py +0 -0
  253. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/README.md +0 -0
  254. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/bin/bundle-schemas.js +0 -0
  255. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/bin/generate-metadata-models.sh +0 -0
  256. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ActorDefinitionResourceRequirements.py +0 -0
  257. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/AirbyteInternal.py +0 -0
  258. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/AllowedHosts.py +0 -0
  259. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorBreakingChanges.py +0 -0
  260. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorBuildOptions.py +0 -0
  261. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorIPCOptions.py +0 -0
  262. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetadataDefinitionV0.json +0 -0
  263. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetadataDefinitionV0.py +0 -0
  264. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetrics.py +0 -0
  265. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorPackageInfo.py +0 -0
  266. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryDestinationDefinition.py +0 -0
  267. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryReleases.py +0 -0
  268. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistrySourceDefinition.py +0 -0
  269. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryV0.py +0 -0
  270. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorReleases.py +0 -0
  271. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorTestSuiteOptions.py +0 -0
  272. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/GeneratedFields.py +0 -0
  273. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/GitInfo.py +0 -0
  274. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/JobType.py +0 -0
  275. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/NormalizationDestinationDefinitionConfig.py +0 -0
  276. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RegistryOverrides.py +0 -0
  277. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ReleaseStage.py +0 -0
  278. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RemoteRegistries.py +0 -0
  279. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ResourceRequirements.py +0 -0
  280. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RolloutConfiguration.py +0 -0
  281. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/Secret.py +0 -0
  282. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SecretStore.py +0 -0
  283. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SourceFileInfo.py +0 -0
  284. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SuggestedStreams.py +0 -0
  285. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SupportLevel.py +0 -0
  286. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/TestConnections.py +0 -0
  287. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/__init__.py +0 -0
  288. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/airbyte-connector-metadata-schema.json +0 -0
  289. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ActorDefinitionResourceRequirements.yaml +0 -0
  290. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/AirbyteInternal.yaml +0 -0
  291. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/AllowedHosts.yaml +0 -0
  292. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorBreakingChanges.yaml +0 -0
  293. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorBuildOptions.yaml +0 -0
  294. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorIPCOptions.yaml +0 -0
  295. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorMetadataDefinitionV0.yaml +0 -0
  296. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorMetrics.yaml +0 -0
  297. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorPackageInfo.yaml +0 -0
  298. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryDestinationDefinition.yaml +0 -0
  299. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryReleases.yaml +0 -0
  300. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistrySourceDefinition.yaml +0 -0
  301. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryV0.yaml +0 -0
  302. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorReleases.yaml +0 -0
  303. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorTestSuiteOptions.yaml +0 -0
  304. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/GeneratedFields.yaml +0 -0
  305. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/GitInfo.yaml +0 -0
  306. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/JobType.yaml +0 -0
  307. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/NormalizationDestinationDefinitionConfig.yaml +0 -0
  308. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RegistryOverrides.yaml +0 -0
  309. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ReleaseStage.yaml +0 -0
  310. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RemoteRegistries.yaml +0 -0
  311. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ResourceRequirements.yaml +0 -0
  312. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RolloutConfiguration.yaml +0 -0
  313. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/Secret.yaml +0 -0
  314. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SecretStore.yaml +0 -0
  315. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SourceFileInfo.yaml +0 -0
  316. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SuggestedStreams.yaml +0 -0
  317. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SupportLevel.yaml +0 -0
  318. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/TestConnections.yaml +0 -0
  319. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/package-lock.json +0 -0
  320. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/package.json +0 -0
  321. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/transform.py +0 -0
  322. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/README.md +0 -0
  323. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/commands.py +0 -0
  324. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/constants.py +0 -0
  325. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/docker_hub.py +0 -0
  326. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/docs/external_documentation_urls.md +0 -0
  327. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/gcs_upload.py +0 -0
  328. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/files.py +0 -0
  329. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/gcs.py +0 -0
  330. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/object_helpers.py +0 -0
  331. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/slack.py +0 -0
  332. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/.env.template +0 -0
  333. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/README.md +0 -0
  334. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/dagster_cloud.yaml +0 -0
  335. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/__init__.py +0 -0
  336. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/connector_metrics.py +0 -0
  337. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/github.py +0 -0
  338. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/metadata.py +0 -0
  339. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/registry.py +0 -0
  340. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/registry_entry.py +0 -0
  341. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/registry_report.py +0 -0
  342. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/slack.py +0 -0
  343. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/specs_secrets_mask.py +0 -0
  344. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/config.py +0 -0
  345. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/fetcher/connector_cdk_version.py +0 -0
  346. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/hacks.py +0 -0
  347. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/jobs/registry.py +0 -0
  348. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/logging/publish_connector_lifecycle.py +0 -0
  349. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/logging/sentry.py +0 -0
  350. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/models/ci_report.py +0 -0
  351. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/models/metadata.py +0 -0
  352. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/ops/slack.py +0 -0
  353. {airbyte_internal_ops-0.1.10 → 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
  354. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/gcp.py +0 -0
  355. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/github.py +0 -0
  356. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/local.py +0 -0
  357. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/sensors/gcs.py +0 -0
  358. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/sensors/github.py +0 -0
  359. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/sensors/registry.py +0 -0
  360. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/templates/base.html +0 -0
  361. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/templates/connector_registry_locations.html +0 -0
  362. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/templates/render.py +0 -0
  363. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/utils/blob_helpers.py +0 -0
  364. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/utils/dagster_helpers.py +0 -0
  365. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/utils/object_helpers.py +0 -0
  366. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/poetry.lock +0 -0
  367. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/__init__.py +0 -0
  368. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/conftest.py.disabled +0 -0
  369. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/fixtures/__init__.py +0 -0
  370. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/fixtures/cloud_registry.json +0 -0
  371. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/fixtures/oss_registry.json +0 -0
  372. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_connector_metrics.py +0 -0
  373. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_dagster_helpers.py +0 -0
  374. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_debug.py +0 -0
  375. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_partition_jobs.py +0 -0
  376. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_registry.py +0 -0
  377. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_specs_secrets_mask.py +0 -0
  378. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/registry.py +0 -0
  379. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/registry_entry.py +0 -0
  380. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/registry_report.py +0 -0
  381. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/sentry.py +0 -0
  382. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/spec_cache.py +0 -0
  383. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/specs_secrets_mask.py +0 -0
  384. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/stale_metadata_report.py +0 -0
  385. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/base.html +0 -0
  386. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/connector_registry_locations.html +0 -0
  387. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/render.py +0 -0
  388. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/validators/metadata_validator.py +0 -0
  389. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/airbyte_repo/__init__.py +0 -0
  390. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/airbyte_repo/bump_version.py +0 -0
  391. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/airbyte_repo/list_connectors.py +0 -0
  392. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/airbyte_repo/utils.py +0 -0
  393. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/cli/__init__.py +0 -0
  394. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/cli/_base.py +0 -0
  395. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/cli/_shared.py +0 -0
  396. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/cli/app.py +0 -0
  397. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/cli/gh.py +0 -0
  398. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/cli/registry.py +0 -0
  399. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/cli/repo.py +0 -0
  400. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/cloud_admin/__init__.py +0 -0
  401. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/cloud_admin/api_client.py +0 -0
  402. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/cloud_admin/auth.py +0 -0
  403. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/cloud_admin/connection_config.py +0 -0
  404. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/cloud_admin/models.py +0 -0
  405. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/connection_config_retriever/__init__.py +0 -0
  406. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/connection_config_retriever/audit_logging.py +0 -0
  407. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/connection_config_retriever/retrieval.py +0 -0
  408. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/connection_config_retriever/secrets_resolution.py +0 -0
  409. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/constants.py +0 -0
  410. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/gcp_auth.py +0 -0
  411. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/__init__.py +0 -0
  412. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/commons/__init__.py +0 -0
  413. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/config.py +0 -0
  414. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/connection_fetcher.py +0 -0
  415. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/connection_secret_retriever.py +0 -0
  416. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/evaluation_modes.py +0 -0
  417. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/http_metrics.py +0 -0
  418. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/message_cache/__init__.py +0 -0
  419. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/message_cache/duckdb_cache.py +0 -0
  420. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/models.py +0 -0
  421. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/obfuscation.py +0 -0
  422. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/regression/__init__.py +0 -0
  423. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/regression/comparators.py +0 -0
  424. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/schema_generation.py +0 -0
  425. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/validation/__init__.py +0 -0
  426. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/validation/catalog_validators.py +0 -0
  427. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/live_tests/validation/record_validators.py +0 -0
  428. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/__init__.py +0 -0
  429. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/_guidance.py +0 -0
  430. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/_mcp_utils.py +0 -0
  431. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/cloud_connector_versions.py +0 -0
  432. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/connector_analysis.py +0 -0
  433. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/connector_qa.py +0 -0
  434. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/github_repo_ops.py +0 -0
  435. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/metadata.py +0 -0
  436. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/prod_db_queries.py +0 -0
  437. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/prompts.py +0 -0
  438. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/registry.py +0 -0
  439. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/server.py +0 -0
  440. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/mcp/server_info.py +0 -0
  441. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/prod_db_access/__init__.py +0 -0
  442. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/prod_db_access/db_engine.py +0 -0
  443. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/prod_db_access/py.typed +0 -0
  444. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/prod_db_access/queries.py +0 -0
  445. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/prod_db_access/sql.py +0 -0
  446. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/py.typed +0 -0
  447. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/registry/__init__.py +0 -0
  448. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/registry/models.py +0 -0
  449. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/src/airbyte_ops_mcp/registry/publish.py +0 -0
  450. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/__init__.py +0 -0
  451. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_erd_generator/__init__.py +0 -0
  452. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_erd_generator/builder.py +0 -0
  453. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_erd_generator/test_dbml_assembler.py +0 -0
  454. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_erd_generator/test_relationships.py +0 -0
  455. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_live_tests/__init__.py +0 -0
  456. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_live_tests/backends/__init__.py +0 -0
  457. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_live_tests/backends/test_file_backend.py +0 -0
  458. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_live_tests/test_get_connection_objects_retrieval.py +0 -0
  459. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_live_tests/test_json_schema_helper.py +0 -0
  460. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_ops/conftest.py +0 -0
  461. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/bad-header.md +0 -0
  462. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/bad-title.md +0 -0
  463. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/extra-header.md +0 -0
  464. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/missing-entry.md +0 -0
  465. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/out-of-order.md +0 -0
  466. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_ops/test_utils.py +0 -0
  467. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/__init__.py +0 -0
  468. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/conftest.py +0 -0
  469. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/integration_tests/__init__.py +0 -0
  470. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/integration_tests/test_documentation.py +0 -0
  471. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/unit_tests/__init__.py +0 -0
  472. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/__init__.py +0 -0
  473. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/data/docs/correct.md +0 -0
  474. {airbyte_internal_ops-0.1.10 → 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
  475. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/data/docs/invalid_links.md +0 -0
  476. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_assets.py +0 -0
  477. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_documentation.py +0 -0
  478. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_metadata.py +0 -0
  479. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_packaging.py +0 -0
  480. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_security.py +0 -0
  481. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_version.py +0 -0
  482. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_models.py +0 -0
  483. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/__init__.py +0 -0
  484. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/conftest.py +0 -0
  485. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_actions/test_environments.py +0 -0
  486. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_bases.py +0 -0
  487. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_build_image/__init__.py +0 -0
  488. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_build_image/dummy_build_customization.py +0 -0
  489. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_build_image/test_manifest_only_connectors.py +0 -0
  490. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_build_image/test_python_connectors.py +0 -0
  491. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_build_image/test_steps/test_common.py +0 -0
  492. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/changelog_header_no_newline.md +0 -0
  493. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/changelog_header_no_separator.md +0 -0
  494. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/no_changelog_header.md +0 -0
  495. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/valid_changelog_at_end.md +0 -0
  496. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/valid_changelog_in_middle.md +0 -0
  497. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/changelog_header_no_newline.md +0 -0
  498. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/changelog_header_no_separator.md +0 -0
  499. {airbyte_internal_ops-0.1.10 → 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
  500. {airbyte_internal_ops-0.1.10 → 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
  501. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_versions_valid_changelog_at_end.md +0 -0
  502. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_versions_valid_changelog_in_middle.md +0 -0
  503. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/duplicate_entry_valid_changelog_at_end.md +0 -0
  504. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/duplicate_entry_valid_changelog_in_middle.md +0 -0
  505. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/existing_entries_valid_changelog_at_end.md +0 -0
  506. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/existing_entries_valid_changelog_in_middle.md +0 -0
  507. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/no_changelog_header.md +0 -0
  508. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/single_insert_valid_changelog_at_end.md +0 -0
  509. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/single_insert_valid_changelog_in_middle.md +0 -0
  510. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_changelog.py +0 -0
  511. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_cli/__init__.py +0 -0
  512. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_cli/test_click_decorators.py +0 -0
  513. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_commands/__init__.py +0 -0
  514. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_commands/test_groups/__init__.py +0 -0
  515. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_commands/test_groups/test_connectors.py +0 -0
  516. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_dagger/__init__.py +0 -0
  517. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_dagger/test_actions/__init__.py +0 -0
  518. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_dagger/test_actions/test_python/__init__.py +0 -0
  519. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_dagger/test_actions/test_python/test_common.py +0 -0
  520. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_gradle.py +0 -0
  521. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_helpers/__init__.py +0 -0
  522. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_execution/__init__.py +0 -0
  523. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_execution/test_argument_parsing.py +0 -0
  524. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_execution/test_run_steps.py +0 -0
  525. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_pip.py +0 -0
  526. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_utils.py +0 -0
  527. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_models/__init__.py +0 -0
  528. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_models/test_click_pipeline_context.py +0 -0
  529. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_models/test_singleton.py +0 -0
  530. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_poetry/test_poetry_publish.py +0 -0
  531. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_publish.py +0 -0
  532. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_steps/__init__.py +0 -0
  533. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_steps/test_simple_docker_step.py +0 -0
  534. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_steps/test_version_check.py +0 -0
  535. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_tests/__init__.py +0 -0
  536. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_tests/test_common.py +0 -0
  537. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_tests/test_python_connectors.py +0 -0
  538. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/test_upgrade_java_cdk.py +0 -0
  539. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/legacy/airbyte_ci/pipelines/utils.py +0 -0
  540. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/test_airbyte_admin_mcp.py +0 -0
  541. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/test_bump_version.py +0 -0
  542. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/test_cli_registry.py +0 -0
  543. {airbyte_internal_ops-0.1.10 → airbyte_internal_ops-0.1.11}/tests/test_list_connectors.py +0 -0
  544. {airbyte_internal_ops-0.1.10 → 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.10
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
@@ -18,10 +18,13 @@ import shutil
18
18
  import signal
19
19
  import socket
20
20
  import subprocess
21
+ import tempfile
21
22
  import time
22
23
  from pathlib import Path
23
24
  from typing import Annotated, Literal
24
25
 
26
+ import requests
27
+ import yaml
25
28
  from airbyte_cdk.models.connector_metadata import MetadataFile
26
29
  from airbyte_cdk.utils.connector_paths import find_connector_root_from_name
27
30
  from airbyte_cdk.utils.docker import build_connector_image, verify_docker_installation
@@ -42,6 +45,7 @@ from airbyte_ops_mcp.constants import (
42
45
  DEFAULT_CLOUD_SQL_PROXY_PORT,
43
46
  ENV_GCP_PROD_DB_ACCESS_CREDENTIALS,
44
47
  )
48
+ from airbyte_ops_mcp.live_tests.cdk_secrets import get_first_config_from_secrets
45
49
  from airbyte_ops_mcp.live_tests.ci_output import (
46
50
  generate_regression_report,
47
51
  get_report_summary,
@@ -507,6 +511,49 @@ def _build_connector_image_from_source(
507
511
  return built_image
508
512
 
509
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
+
510
557
  @connector_app.command(name="live-test")
511
558
  def live_test(
512
559
  connector_image: Annotated[
@@ -906,10 +953,48 @@ def regression_test(
906
953
  if not resolved_control_image and connection_data.connector_image:
907
954
  resolved_control_image = connection_data.connector_image
908
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
909
986
  else:
910
- config_file = Path(config_path) if config_path else None
987
+ config_file = None
911
988
  catalog_file = Path(catalog_path) if catalog_path else None
912
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
+
913
998
  # Validate that we have both images
914
999
  if not resolved_target_image:
915
1000
  write_github_output("success", False)
@@ -923,8 +1008,9 @@ def regression_test(
923
1008
  write_github_output("success", False)
924
1009
  write_github_output("error", "No control image specified")
925
1010
  exit_with_error(
926
- "You must provide one of the following: a control_image or a connection_id "
927
- "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."
928
1014
  )
929
1015
 
930
1016
  # Pull images if they weren't just built locally
@@ -0,0 +1,197 @@
1
+ # Copyright (c) 2025 Airbyte, Inc., all rights reserved.
2
+ """GitHub Actions API utilities.
3
+
4
+ This module provides core utilities for interacting with GitHub Actions workflows,
5
+ including workflow dispatch, run discovery, and authentication. These utilities
6
+ are used by MCP tools but are not MCP-specific.
7
+ """
8
+
9
+ from __future__ import annotations
10
+
11
+ import os
12
+ import time
13
+ from dataclasses import dataclass
14
+ from datetime import datetime, timedelta
15
+
16
+ import requests
17
+
18
+ GITHUB_API_BASE = "https://api.github.com"
19
+
20
+
21
+ def resolve_github_token(preferred_env_vars: list[str] | None = None) -> str:
22
+ """Resolve GitHub token from environment variables.
23
+
24
+ Checks environment variables in order of preference, returning the first
25
+ non-empty value found.
26
+
27
+ Args:
28
+ preferred_env_vars: List of environment variable names to check in order.
29
+ Defaults to ["GITHUB_CI_WORKFLOW_TRIGGER_PAT", "GITHUB_TOKEN"].
30
+
31
+ Returns:
32
+ GitHub token string.
33
+
34
+ Raises:
35
+ ValueError: If no GitHub token is found in any of the specified env vars.
36
+ """
37
+ if preferred_env_vars is None:
38
+ preferred_env_vars = ["GITHUB_CI_WORKFLOW_TRIGGER_PAT", "GITHUB_TOKEN"]
39
+
40
+ for env_var in preferred_env_vars:
41
+ token = os.getenv(env_var)
42
+ if token:
43
+ return token
44
+
45
+ env_var_list = ", ".join(preferred_env_vars)
46
+ raise ValueError(
47
+ f"No GitHub token found. Set one of: {env_var_list} environment variable."
48
+ )
49
+
50
+
51
+ @dataclass
52
+ class WorkflowDispatchResult:
53
+ """Result of triggering a workflow dispatch."""
54
+
55
+ workflow_url: str
56
+ """URL to the workflow file (e.g., .../actions/workflows/my-workflow.yml)"""
57
+
58
+ run_id: int | None = None
59
+ """GitHub Actions run ID, if discovered"""
60
+
61
+ run_url: str | None = None
62
+ """Direct URL to the workflow run, if discovered"""
63
+
64
+
65
+ def find_workflow_run(
66
+ owner: str,
67
+ repo: str,
68
+ workflow_file: str,
69
+ ref: str,
70
+ token: str,
71
+ created_after: datetime,
72
+ max_wait_seconds: float = 5.0,
73
+ ) -> tuple[int, str] | None:
74
+ """Find a workflow run that was created after a given time.
75
+
76
+ This is used to find the run that was just triggered via workflow_dispatch.
77
+ Polls for up to max_wait_seconds to handle GitHub API eventual consistency.
78
+
79
+ Args:
80
+ owner: Repository owner
81
+ repo: Repository name
82
+ workflow_file: Workflow file name
83
+ ref: Git ref the workflow was triggered on
84
+ token: GitHub API token
85
+ created_after: Only consider runs created after this time
86
+ max_wait_seconds: Maximum time to wait for run to appear (default 5 seconds)
87
+
88
+ Returns:
89
+ Tuple of (run_id, run_url) if found, None otherwise.
90
+ """
91
+ url = (
92
+ f"{GITHUB_API_BASE}/repos/{owner}/{repo}/actions/workflows/{workflow_file}/runs"
93
+ )
94
+ headers = {
95
+ "Authorization": f"Bearer {token}",
96
+ "Accept": "application/vnd.github+json",
97
+ "X-GitHub-Api-Version": "2022-11-28",
98
+ }
99
+ params = {
100
+ "branch": ref,
101
+ "event": "workflow_dispatch",
102
+ "per_page": 5,
103
+ }
104
+
105
+ # Add a small buffer to handle timestamp precision differences between
106
+ # local time and GitHub's created_at (which has second resolution)
107
+ search_after = created_after - timedelta(seconds=2)
108
+
109
+ deadline = time.monotonic() + max_wait_seconds
110
+ attempt = 0
111
+
112
+ while time.monotonic() < deadline:
113
+ if attempt > 0:
114
+ time.sleep(1.0)
115
+ attempt += 1
116
+
117
+ response = requests.get(url, headers=headers, params=params, timeout=30)
118
+ if not response.ok:
119
+ continue
120
+
121
+ data = response.json()
122
+ runs = data.get("workflow_runs", [])
123
+
124
+ for run in runs:
125
+ run_created_at = datetime.fromisoformat(
126
+ run["created_at"].replace("Z", "+00:00")
127
+ )
128
+ if run_created_at >= search_after:
129
+ return run["id"], run["html_url"]
130
+
131
+ return None
132
+
133
+
134
+ def trigger_workflow_dispatch(
135
+ owner: str,
136
+ repo: str,
137
+ workflow_file: str,
138
+ ref: str,
139
+ inputs: dict,
140
+ token: str,
141
+ find_run: bool = True,
142
+ max_wait_seconds: float = 5.0,
143
+ ) -> WorkflowDispatchResult:
144
+ """Trigger a GitHub Actions workflow via workflow_dispatch.
145
+
146
+ Args:
147
+ owner: Repository owner (e.g., "airbytehq")
148
+ repo: Repository name (e.g., "airbyte-ops-mcp")
149
+ workflow_file: Workflow file name (e.g., "connector-live-test.yml")
150
+ ref: Git ref to run the workflow on (branch name)
151
+ inputs: Workflow inputs dictionary
152
+ token: GitHub API token
153
+ find_run: Whether to attempt to find the run after dispatch (default True)
154
+ max_wait_seconds: Maximum time to wait for run discovery (default 5 seconds)
155
+
156
+ Returns:
157
+ WorkflowDispatchResult with workflow URL and optionally run ID/URL.
158
+
159
+ Raises:
160
+ requests.HTTPError: If API request fails.
161
+ """
162
+ dispatch_time = datetime.now(tz=datetime.now().astimezone().tzinfo)
163
+
164
+ url = f"{GITHUB_API_BASE}/repos/{owner}/{repo}/actions/workflows/{workflow_file}/dispatches"
165
+ headers = {
166
+ "Authorization": f"Bearer {token}",
167
+ "Accept": "application/vnd.github+json",
168
+ "X-GitHub-Api-Version": "2022-11-28",
169
+ }
170
+ payload = {
171
+ "ref": ref,
172
+ "inputs": inputs,
173
+ }
174
+
175
+ response = requests.post(url, headers=headers, json=payload, timeout=30)
176
+ response.raise_for_status()
177
+
178
+ workflow_url = (
179
+ f"https://github.com/{owner}/{repo}/actions/workflows/{workflow_file}"
180
+ )
181
+
182
+ if not find_run:
183
+ return WorkflowDispatchResult(workflow_url=workflow_url)
184
+
185
+ # Best-effort lookup of the run that was just triggered
186
+ run_info = find_workflow_run(
187
+ owner, repo, workflow_file, ref, token, dispatch_time, max_wait_seconds
188
+ )
189
+ if run_info:
190
+ run_id, run_url = run_info
191
+ return WorkflowDispatchResult(
192
+ workflow_url=workflow_url,
193
+ run_id=run_id,
194
+ run_url=run_url,
195
+ )
196
+
197
+ return WorkflowDispatchResult(workflow_url=workflow_url)
@@ -0,0 +1,90 @@
1
+ # Copyright (c) 2025 Airbyte, Inc., all rights reserved.
2
+ """Fetch connector test secrets using the PyAirbyte secrets API.
3
+
4
+ This module uses the PyAirbyte GoogleGSMSecretManager to retrieve
5
+ integration test secrets from Google Secret Manager for connectors.
6
+
7
+ Usage:
8
+ from airbyte_ops_mcp.live_tests.cdk_secrets import get_first_config_from_secrets
9
+
10
+ # Fetch the first config for a connector
11
+ config = get_first_config_from_secrets("source-github")
12
+ if config:
13
+ # Use the config dict
14
+ ...
15
+
16
+ Note: Requires GCP credentials with access to the integration testing project.
17
+ The credentials can be provided via:
18
+ - GOOGLE_APPLICATION_CREDENTIALS environment variable
19
+ - GCP_GSM_CREDENTIALS environment variable (JSON string)
20
+ - Application Default Credentials
21
+ """
22
+
23
+ from __future__ import annotations
24
+
25
+ import logging
26
+ import os
27
+
28
+ from airbyte.secrets import GoogleGSMSecretManager
29
+
30
+ logger = logging.getLogger(__name__)
31
+
32
+ # Default GCP project for integration test secrets
33
+ DEFAULT_GSM_PROJECT = "dataline-integration-testing"
34
+
35
+
36
+ def get_first_config_from_secrets(
37
+ connector_name: str,
38
+ project: str = DEFAULT_GSM_PROJECT,
39
+ ) -> dict | None:
40
+ """Fetch the first integration test config for a connector from GSM.
41
+
42
+ This function uses the PyAirbyte GoogleGSMSecretManager to fetch secrets
43
+ labeled with the connector name and returns the first one as a parsed dict.
44
+
45
+ Args:
46
+ connector_name: The connector name (e.g., 'source-github').
47
+ project: The GCP project ID containing the secrets.
48
+
49
+ Returns:
50
+ The parsed config dict, or None if no secrets are found or fetching fails.
51
+ """
52
+ # Get credentials from environment
53
+ credentials_json: str | None = None
54
+ credentials_path: str | None = None
55
+
56
+ if "GCP_GSM_CREDENTIALS" in os.environ:
57
+ credentials_json = os.environ["GCP_GSM_CREDENTIALS"]
58
+ elif "GOOGLE_APPLICATION_CREDENTIALS" in os.environ:
59
+ credentials_path = os.environ["GOOGLE_APPLICATION_CREDENTIALS"]
60
+
61
+ # If no explicit credentials, GoogleGSMSecretManager will try ADC
62
+ try:
63
+ gsm = GoogleGSMSecretManager(
64
+ project=project,
65
+ credentials_json=credentials_json,
66
+ credentials_path=credentials_path,
67
+ )
68
+ except Exception as e:
69
+ logger.warning(f"Failed to initialize GSM client: {e}")
70
+ return None
71
+
72
+ logger.info(f"Fetching integration test config for {connector_name} from GSM")
73
+
74
+ try:
75
+ # fetch_connector_secret returns the first secret matching the connector label
76
+ secret_handle = gsm.fetch_connector_secret(connector_name)
77
+ # parse_json() calls get_value() internally and parses the result
78
+ config = secret_handle.parse_json()
79
+ logger.info(f"Successfully fetched config for {connector_name}")
80
+ return dict(config) if config else None
81
+
82
+ except StopIteration:
83
+ logger.warning(f"No secrets found for connector {connector_name}")
84
+ return None
85
+ except Exception as e:
86
+ # Log the exception type but not the message (may contain sensitive info)
87
+ logger.warning(
88
+ f"Failed to fetch config for {connector_name}: {type(e).__name__}"
89
+ )
90
+ return None
@@ -142,6 +142,35 @@ def _format_delta(delta: int) -> str:
142
142
  return "0"
143
143
 
144
144
 
145
+ def _get_github_run_url() -> str | None:
146
+ """Get the URL to the current GitHub Actions workflow run.
147
+
148
+ Returns:
149
+ The workflow run URL, or None if not running in GitHub Actions.
150
+ """
151
+ server_url = os.getenv("GITHUB_SERVER_URL")
152
+ repository = os.getenv("GITHUB_REPOSITORY")
153
+ run_id = os.getenv("GITHUB_RUN_ID")
154
+
155
+ if not all([server_url, repository, run_id]):
156
+ return None
157
+
158
+ return f"{server_url}/{repository}/actions/runs/{run_id}"
159
+
160
+
161
+ def _get_github_artifacts_url() -> str | None:
162
+ """Get the URL to the artifacts section of the current workflow run.
163
+
164
+ Returns:
165
+ The artifacts section URL, or None if not running in GitHub Actions.
166
+ """
167
+ run_url = _get_github_run_url()
168
+ if not run_url:
169
+ return None
170
+
171
+ return f"{run_url}#artifacts"
172
+
173
+
145
174
  def generate_regression_report(
146
175
  target_image: str,
147
176
  control_image: str,
@@ -190,6 +219,9 @@ def generate_regression_report(
190
219
  target_image.rsplit(":", 1)[0] if ":" in target_image else target_image
191
220
  )
192
221
 
222
+ run_url = _get_github_run_url()
223
+ artifacts_url = _get_github_artifacts_url()
224
+
193
225
  lines: list[str] = [
194
226
  "# Regression Test Report",
195
227
  "",
@@ -200,12 +232,23 @@ def generate_regression_report(
200
232
  f"- **Control Version:** `{control_version}`",
201
233
  f"- **Target Version:** `{target_version}`",
202
234
  f"- **Command:** `{command.upper()}`",
203
- f"- **Artifacts:** `{artifact_name}`",
204
- "",
205
- "## Summary",
206
- "",
207
235
  ]
208
236
 
237
+ if run_url:
238
+ lines.append(f"- **Workflow Run:** [View Execution]({run_url})")
239
+ if artifacts_url:
240
+ lines.append(f"- **Artifacts:** [Download `{artifact_name}`]({artifacts_url})")
241
+ else:
242
+ lines.append(f"- **Artifacts:** `{artifact_name}`")
243
+
244
+ lines.extend(
245
+ [
246
+ "",
247
+ "## Summary",
248
+ "",
249
+ ]
250
+ )
251
+
209
252
  if regression_detected:
210
253
  if target_result["success"] and not control_result["success"]:
211
254
  lines.append("**Result:** Target succeeded, control failed (improvement)")
@@ -341,9 +384,16 @@ def get_report_summary(report_path: Path) -> str:
341
384
  f"regression-test-artifacts-{run_id}" if run_id else "regression-test-artifacts"
342
385
  )
343
386
 
387
+ artifacts_url = _get_github_artifacts_url()
388
+ artifact_link = (
389
+ f"[`{artifact_name}`]({artifacts_url})"
390
+ if artifacts_url
391
+ else f"`{artifact_name}`"
392
+ )
393
+
344
394
  return f"""## Regression Test Report
345
395
 
346
- Full report available in the **Regression Test Report** check or in artifact `{artifact_name}`.
396
+ Full report available in the **Regression Test Report** check or in artifact {artifact_link}.
347
397
 
348
398
  See the Checks tab for the complete report with message counts and execution details.
349
399
  """
@@ -168,6 +168,9 @@ class ConnectorRunner:
168
168
 
169
169
  with tempfile.TemporaryDirectory() as temp_dir:
170
170
  temp_path = Path(temp_dir)
171
+ # Make temp directory world-readable so non-root container users can access it
172
+ # Many connector images run as non-root users (e.g., 'airbyte' user)
173
+ temp_path.chmod(0o755)
171
174
  self._prepare_data_directory(temp_path)
172
175
 
173
176
  docker_cmd = self._build_docker_command(temp_path)