airbyte-internal-ops 0.4.0__tar.gz → 0.4.1__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 (561) hide show
  1. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/.github/workflows/connector-regression-test.yml +1 -1
  2. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/PKG-INFO +1 -1
  3. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/bin/test_mcp_tool.py +1 -1
  4. airbyte_internal_ops-0.4.1/src/airbyte_ops_mcp/cli/gh.py +174 -0
  5. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/cli/registry.py +2 -2
  6. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/github_actions.py +6 -100
  7. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/github_api.py +163 -5
  8. airbyte_internal_ops-0.4.0/src/airbyte_ops_mcp/mcp/github.py → airbyte_internal_ops-0.4.1/src/airbyte_ops_mcp/mcp/github_actions.py +117 -5
  9. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/mcp/prerelease.py +6 -53
  10. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/mcp/regression_tests.py +4 -6
  11. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/mcp/server.py +2 -2
  12. airbyte_internal_ops-0.4.0/src/airbyte_ops_mcp/cli/gh.py +0 -71
  13. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/.env.template +0 -0
  14. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/.github/copilot-instructions.md +0 -0
  15. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/.github/dependabot.yml +0 -0
  16. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/.github/pr-welcome-message.md +0 -0
  17. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/.github/release-drafter.yml +0 -0
  18. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/.github/workflows/autofix-command.yml +0 -0
  19. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/.github/workflows/format-check.yml +0 -0
  20. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/.github/workflows/lint-check.yml +0 -0
  21. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/.github/workflows/lock-command.yml +0 -0
  22. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/.github/workflows/pdoc_preview.yml +0 -0
  23. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/.github/workflows/pdoc_publish.yml +0 -0
  24. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/.github/workflows/poe-command.yml +0 -0
  25. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/.github/workflows/pr-welcome.yml +0 -0
  26. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/.github/workflows/publish.yml +0 -0
  27. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/.github/workflows/pytest-fast.yml +0 -0
  28. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/.github/workflows/pytest-matrix.yml +0 -0
  29. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/.github/workflows/regression-tests-ci.yml +0 -0
  30. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/.github/workflows/release-drafter.yml +0 -0
  31. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/.github/workflows/semantic-pr-check.yml +0 -0
  32. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/.github/workflows/sentry-apply-command.yml +0 -0
  33. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/.github/workflows/sentry-preview.yml +0 -0
  34. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/.github/workflows/slash-command-dispatch.yml +0 -0
  35. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/.github/workflows/tk-todo-check.yml +0 -0
  36. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/.gitignore +0 -0
  37. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/.mcp.json.template +0 -0
  38. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/CONTRIBUTING.md +0 -0
  39. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/README.md +0 -0
  40. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/bin/test_mcp_tool_http.py +0 -0
  41. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/conftest.py +0 -0
  42. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/docs/.gitignore +0 -0
  43. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/docs/generate.py +0 -0
  44. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/docs/templates/custom.css +0 -0
  45. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/docs/templates/theme.css +0 -0
  46. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/infra/sentry/.gitignore +0 -0
  47. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/infra/sentry/Pulumi.prod.yaml +0 -0
  48. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/infra/sentry/Pulumi.yaml +0 -0
  49. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/infra/sentry/README.md +0 -0
  50. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/infra/sentry/__main__.py +0 -0
  51. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/infra/sentry/docs/CONTRIBUTING.md +0 -0
  52. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/infra/sentry/requirements.txt +0 -0
  53. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/poe_tasks.toml +0 -0
  54. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/pyproject.toml +0 -0
  55. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/pyrefly.toml +0 -0
  56. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/pytest.ini +0 -0
  57. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/ruff.toml +0 -0
  58. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/__init__.py +0 -0
  59. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_annotations.py +0 -0
  60. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/__init__.py +0 -0
  61. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/README.md +0 -0
  62. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/README.md +0 -0
  63. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/__init__.py +0 -0
  64. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/dbml_assembler.py +0 -0
  65. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/erd_service.py +0 -0
  66. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/relationships.py +0 -0
  67. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/README.md +0 -0
  68. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/__init__.py +0 -0
  69. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/cli.py +0 -0
  70. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/hacks.py +0 -0
  71. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/insights.py +0 -0
  72. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/models.py +0 -0
  73. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/pylint.py +0 -0
  74. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/pylint_plugins/cdk_deprecation_checkers.py +0 -0
  75. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/result_backends.py +0 -0
  76. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/utils.py +0 -0
  77. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/.gitignore +0 -0
  78. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/README.md +0 -0
  79. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/__init__.py +0 -0
  80. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/__init__.py +0 -0
  81. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/__init__.py +0 -0
  82. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/base_backend.py +0 -0
  83. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/duckdb_backend.py +0 -0
  84. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/file_backend.py +0 -0
  85. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/connection_objects_retrieval.py +0 -0
  86. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/connector_runner.py +0 -0
  87. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/errors.py +0 -0
  88. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/evaluation_modes.py +0 -0
  89. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/hacks.py +0 -0
  90. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/json_schema_helper.py +0 -0
  91. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/mitm_addons.py +0 -0
  92. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/models.py +0 -0
  93. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/proxy.py +0 -0
  94. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/secret_access.py +0 -0
  95. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/segment_tracking.py +0 -0
  96. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/utils.py +0 -0
  97. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/conftest.py.disabled +0 -0
  98. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/consts.py +0 -0
  99. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/poetry.lock +0 -0
  100. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/pytest.ini +0 -0
  101. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/__init__.py +0 -0
  102. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_check.py +0 -0
  103. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_discover.py +0 -0
  104. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_read.py +0 -0
  105. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_spec.py +0 -0
  106. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/report.py +0 -0
  107. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/stash_keys.py +0 -0
  108. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/templates/__init__.py +0 -0
  109. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/templates/private_details.html.j2 +0 -0
  110. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/templates/report.html.j2 +0 -0
  111. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/utils.py +0 -0
  112. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/__init__.py +0 -0
  113. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_check.py +0 -0
  114. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_discover.py +0 -0
  115. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_read.py +0 -0
  116. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_spec.py +0 -0
  117. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_ops/README.md +0 -0
  118. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_ops/__init__.py +0 -0
  119. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_ops/utils.py +0 -0
  120. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/README.md +0 -0
  121. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/__init__.py +0 -0
  122. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/connector/hooks.py +0 -0
  123. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/connector/normalization.py +0 -0
  124. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/python/common.py +0 -0
  125. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/python/pipx.py +0 -0
  126. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/python/poetry.py +0 -0
  127. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/remote_storage.py +0 -0
  128. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/secrets.py +0 -0
  129. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/system/common.py +0 -0
  130. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/system/docker.py +0 -0
  131. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/git.py +0 -0
  132. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/internal_tools.py +0 -0
  133. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/java.py +0 -0
  134. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/python.py +0 -0
  135. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/__init__.py +0 -0
  136. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/cache_keys.py +0 -0
  137. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/cli.py +0 -0
  138. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/__init__.py +0 -0
  139. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/cdk_helpers.py +0 -0
  140. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/command.py +0 -0
  141. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/dagger_fs.py +0 -0
  142. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/format.py +0 -0
  143. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/modifed.py +0 -0
  144. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/yaml.py +0 -0
  145. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/execution/__init__.py +0 -0
  146. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/execution/argument_parsing.py +0 -0
  147. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/execution/run_steps.py +0 -0
  148. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/gcs.py +0 -0
  149. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/git.py +0 -0
  150. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/github.py +0 -0
  151. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/pip.py +0 -0
  152. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/sentry_utils.py +0 -0
  153. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/slack.py +0 -0
  154. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/utils.py +0 -0
  155. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/README.md +0 -0
  156. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/__init__.py +0 -0
  157. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/__init__.py +0 -0
  158. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/__init__.py +0 -0
  159. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/__init__.py +0 -0
  160. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/commands.py +0 -0
  161. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/pipeline.py +0 -0
  162. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/__init__.py +0 -0
  163. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/build_customization.py +0 -0
  164. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/common.py +0 -0
  165. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/java_connectors.py +0 -0
  166. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/manifest_only_connectors.py +0 -0
  167. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/normalization.py +0 -0
  168. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/python_connectors.py +0 -0
  169. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/commands.py +0 -0
  170. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/consts.py +0 -0
  171. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/context.py +0 -0
  172. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/generate_erd/__init__.py +0 -0
  173. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/generate_erd/commands.py +0 -0
  174. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/generate_erd/pipeline.py +0 -0
  175. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/list/__init__.py +0 -0
  176. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/list/commands.py +0 -0
  177. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/migrate_to_inline_schemas/__init__.py +0 -0
  178. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/migrate_to_inline_schemas/commands.py +0 -0
  179. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/migrate_to_inline_schemas/pipeline.py +0 -0
  180. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pipeline.py +0 -0
  181. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pull_request/__init__.py +0 -0
  182. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pull_request/commands.py +0 -0
  183. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pull_request/pipeline.py +0 -0
  184. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/reports.py +0 -0
  185. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/__init__.py +0 -0
  186. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/commands.py +0 -0
  187. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/context.py +0 -0
  188. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/pipeline.py +0 -0
  189. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/__init__.py +0 -0
  190. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/common.py +0 -0
  191. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/java_connectors.py +0 -0
  192. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/manifest_only_connectors.py +0 -0
  193. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/python_connectors.py +0 -0
  194. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/templates/test_report.html.j2 +0 -0
  195. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/__init__.py +0 -0
  196. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/commands.py +0 -0
  197. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/pipeline.py +0 -0
  198. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/steps.py +0 -0
  199. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/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
  200. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/upgrade_cdk/__init__.py +0 -0
  201. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/upgrade_cdk/commands.py +0 -0
  202. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/upgrade_cdk/pipeline.py +0 -0
  203. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/metadata/__init__.py +0 -0
  204. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/metadata/commands.py +0 -0
  205. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/metadata/pipeline.py +0 -0
  206. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/poetry/__init__.py +0 -0
  207. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/poetry/commands.py +0 -0
  208. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/__init__.py +0 -0
  209. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/base_image.py +0 -0
  210. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/docker.py +0 -0
  211. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/gradle.py +0 -0
  212. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/no_op.py +0 -0
  213. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/poetry.py +0 -0
  214. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/pull_request.py +0 -0
  215. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/__init__.py +0 -0
  216. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/commands.py +0 -0
  217. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/models.py +0 -0
  218. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/pipeline.py +0 -0
  219. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/update/__init__.py +0 -0
  220. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/update/commands.py +0 -0
  221. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/airbyte_ci.py +0 -0
  222. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/auto_update.py +0 -0
  223. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/click_decorators.py +0 -0
  224. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/confirm_prompt.py +0 -0
  225. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/dagger_pipeline_command.py +0 -0
  226. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/dagger_run.py +0 -0
  227. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/ensure_repo_root.py +0 -0
  228. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/lazy_group.py +0 -0
  229. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/secrets.py +0 -0
  230. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/telemetry.py +0 -0
  231. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/consts.py +0 -0
  232. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/hacks.py +0 -0
  233. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/__init__.py +0 -0
  234. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/artifacts.py +0 -0
  235. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/ci_requirements.py +0 -0
  236. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/contexts/__init__.py +0 -0
  237. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/contexts/click_pipeline_context.py +0 -0
  238. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/contexts/pipeline_context.py +0 -0
  239. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/reports.py +0 -0
  240. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/secrets.py +0 -0
  241. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/singleton.py +0 -0
  242. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/steps.py +0 -0
  243. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/README.md +0 -0
  244. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/__init__.py +0 -0
  245. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/__init__.py +0 -0
  246. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/assets.py +0 -0
  247. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/__init__.py +0 -0
  248. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/documentation.py +0 -0
  249. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/helpers.py +0 -0
  250. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/models.py +0 -0
  251. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/templates/documentation_headers_check_description.md.j2 +0 -0
  252. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/templates/section_content_description.md.j2 +0 -0
  253. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/templates/template.md.j2 +0 -0
  254. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/metadata.py +0 -0
  255. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/packaging.py +0 -0
  256. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/security.py +0 -0
  257. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/version.py +0 -0
  258. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/cli.py +0 -0
  259. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/consts.py +0 -0
  260. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/models.py +0 -0
  261. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/templates/__init__.py +0 -0
  262. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/templates/qa_checks.md.j2 +0 -0
  263. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/utils.py +0 -0
  264. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/README.md +0 -0
  265. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/bin/bundle-schemas.js +0 -0
  266. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/bin/generate-metadata-models.sh +0 -0
  267. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ActorDefinitionResourceRequirements.py +0 -0
  268. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/AirbyteInternal.py +0 -0
  269. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/AllowedHosts.py +0 -0
  270. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorBreakingChanges.py +0 -0
  271. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorBuildOptions.py +0 -0
  272. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorIPCOptions.py +0 -0
  273. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetadataDefinitionV0.json +0 -0
  274. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetadataDefinitionV0.py +0 -0
  275. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetrics.py +0 -0
  276. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorPackageInfo.py +0 -0
  277. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryDestinationDefinition.py +0 -0
  278. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryReleases.py +0 -0
  279. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistrySourceDefinition.py +0 -0
  280. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryV0.py +0 -0
  281. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorReleases.py +0 -0
  282. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorTestSuiteOptions.py +0 -0
  283. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/GeneratedFields.py +0 -0
  284. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/GitInfo.py +0 -0
  285. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/JobType.py +0 -0
  286. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/NormalizationDestinationDefinitionConfig.py +0 -0
  287. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RegistryOverrides.py +0 -0
  288. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ReleaseStage.py +0 -0
  289. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RemoteRegistries.py +0 -0
  290. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ResourceRequirements.py +0 -0
  291. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RolloutConfiguration.py +0 -0
  292. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/Secret.py +0 -0
  293. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SecretStore.py +0 -0
  294. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SourceFileInfo.py +0 -0
  295. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SuggestedStreams.py +0 -0
  296. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SupportLevel.py +0 -0
  297. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/TestConnections.py +0 -0
  298. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/__init__.py +0 -0
  299. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/airbyte-connector-metadata-schema.json +0 -0
  300. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ActorDefinitionResourceRequirements.yaml +0 -0
  301. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/AirbyteInternal.yaml +0 -0
  302. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/AllowedHosts.yaml +0 -0
  303. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorBreakingChanges.yaml +0 -0
  304. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorBuildOptions.yaml +0 -0
  305. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorIPCOptions.yaml +0 -0
  306. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorMetadataDefinitionV0.yaml +0 -0
  307. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorMetrics.yaml +0 -0
  308. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorPackageInfo.yaml +0 -0
  309. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryDestinationDefinition.yaml +0 -0
  310. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryReleases.yaml +0 -0
  311. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistrySourceDefinition.yaml +0 -0
  312. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryV0.yaml +0 -0
  313. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorReleases.yaml +0 -0
  314. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorTestSuiteOptions.yaml +0 -0
  315. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/GeneratedFields.yaml +0 -0
  316. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/GitInfo.yaml +0 -0
  317. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/JobType.yaml +0 -0
  318. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/NormalizationDestinationDefinitionConfig.yaml +0 -0
  319. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RegistryOverrides.yaml +0 -0
  320. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ReleaseStage.yaml +0 -0
  321. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RemoteRegistries.yaml +0 -0
  322. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ResourceRequirements.yaml +0 -0
  323. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RolloutConfiguration.yaml +0 -0
  324. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/Secret.yaml +0 -0
  325. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SecretStore.yaml +0 -0
  326. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SourceFileInfo.yaml +0 -0
  327. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SuggestedStreams.yaml +0 -0
  328. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SupportLevel.yaml +0 -0
  329. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/TestConnections.yaml +0 -0
  330. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/package-lock.json +0 -0
  331. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/package.json +0 -0
  332. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/transform.py +0 -0
  333. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/README.md +0 -0
  334. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/commands.py +0 -0
  335. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/constants.py +0 -0
  336. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/docker_hub.py +0 -0
  337. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/docs/external_documentation_urls.md +0 -0
  338. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/gcs_upload.py +0 -0
  339. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/files.py +0 -0
  340. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/gcs.py +0 -0
  341. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/object_helpers.py +0 -0
  342. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/slack.py +0 -0
  343. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/.env.template +0 -0
  344. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/README.md +0 -0
  345. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/dagster_cloud.yaml +0 -0
  346. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/__init__.py +0 -0
  347. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/connector_metrics.py +0 -0
  348. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/github.py +0 -0
  349. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/metadata.py +0 -0
  350. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/registry.py +0 -0
  351. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/registry_entry.py +0 -0
  352. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/registry_report.py +0 -0
  353. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/slack.py +0 -0
  354. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/specs_secrets_mask.py +0 -0
  355. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/config.py +0 -0
  356. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/fetcher/connector_cdk_version.py +0 -0
  357. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/hacks.py +0 -0
  358. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/jobs/registry.py +0 -0
  359. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/logging/publish_connector_lifecycle.py +0 -0
  360. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/logging/sentry.py +0 -0
  361. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/models/ci_report.py +0 -0
  362. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/models/metadata.py +0 -0
  363. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/ops/slack.py +0 -0
  364. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/file_managers/local_file_manager.py +0 -0
  365. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/gcp.py +0 -0
  366. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/github.py +0 -0
  367. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/local.py +0 -0
  368. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/sensors/gcs.py +0 -0
  369. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/sensors/github.py +0 -0
  370. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/sensors/registry.py +0 -0
  371. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/templates/base.html +0 -0
  372. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/templates/connector_registry_locations.html +0 -0
  373. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/templates/render.py +0 -0
  374. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/utils/blob_helpers.py +0 -0
  375. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/utils/dagster_helpers.py +0 -0
  376. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/utils/object_helpers.py +0 -0
  377. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/poetry.lock +0 -0
  378. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/__init__.py +0 -0
  379. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/conftest.py.disabled +0 -0
  380. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/fixtures/__init__.py +0 -0
  381. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/fixtures/cloud_registry.json +0 -0
  382. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/fixtures/oss_registry.json +0 -0
  383. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_connector_metrics.py +0 -0
  384. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_dagster_helpers.py +0 -0
  385. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_debug.py +0 -0
  386. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_partition_jobs.py +0 -0
  387. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_registry.py +0 -0
  388. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_specs_secrets_mask.py +0 -0
  389. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/registry.py +0 -0
  390. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/registry_entry.py +0 -0
  391. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/registry_report.py +0 -0
  392. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/sentry.py +0 -0
  393. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/spec_cache.py +0 -0
  394. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/specs_secrets_mask.py +0 -0
  395. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/stale_metadata_report.py +0 -0
  396. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/base.html +0 -0
  397. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/connector_registry_locations.html +0 -0
  398. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/render.py +0 -0
  399. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/validators/metadata_validator.py +0 -0
  400. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/airbyte_repo/__init__.py +0 -0
  401. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/airbyte_repo/bump_version.py +0 -0
  402. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/airbyte_repo/list_connectors.py +0 -0
  403. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/airbyte_repo/utils.py +0 -0
  404. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/cli/__init__.py +0 -0
  405. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/cli/_base.py +0 -0
  406. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/cli/_shared.py +0 -0
  407. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/cli/app.py +0 -0
  408. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/cli/cloud.py +0 -0
  409. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/cli/repo.py +0 -0
  410. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/cloud_admin/__init__.py +0 -0
  411. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/cloud_admin/api_client.py +0 -0
  412. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/cloud_admin/auth.py +0 -0
  413. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/cloud_admin/connection_config.py +0 -0
  414. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/cloud_admin/models.py +0 -0
  415. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/connection_config_retriever/__init__.py +0 -0
  416. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/connection_config_retriever/audit_logging.py +0 -0
  417. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/connection_config_retriever/retrieval.py +0 -0
  418. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/connection_config_retriever/secrets_resolution.py +0 -0
  419. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/constants.py +0 -0
  420. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/gcp_auth.py +0 -0
  421. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/gcp_logs/__init__.py +0 -0
  422. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/gcp_logs/error_lookup.py +0 -0
  423. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/mcp/__init__.py +0 -0
  424. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/mcp/_guidance.py +0 -0
  425. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/mcp/_http_headers.py +0 -0
  426. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/mcp/_mcp_utils.py +0 -0
  427. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/mcp/cloud_connector_versions.py +0 -0
  428. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/mcp/connector_analysis.py +0 -0
  429. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/mcp/connector_qa.py +0 -0
  430. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/mcp/gcp_logs.py +0 -0
  431. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/mcp/github_repo_ops.py +0 -0
  432. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/mcp/metadata.py +0 -0
  433. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/mcp/prod_db_queries.py +0 -0
  434. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/mcp/prompts.py +0 -0
  435. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/mcp/registry.py +0 -0
  436. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/mcp/server_info.py +0 -0
  437. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/prod_db_access/__init__.py +0 -0
  438. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/prod_db_access/db_engine.py +0 -0
  439. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/prod_db_access/py.typed +0 -0
  440. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/prod_db_access/queries.py +0 -0
  441. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/prod_db_access/sql.py +0 -0
  442. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/py.typed +0 -0
  443. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/registry/__init__.py +0 -0
  444. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/registry/models.py +0 -0
  445. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/registry/publish.py +0 -0
  446. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/regression_tests/__init__.py +0 -0
  447. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/regression_tests/cdk_secrets.py +0 -0
  448. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/regression_tests/ci_output.py +0 -0
  449. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/regression_tests/commons/__init__.py +0 -0
  450. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/regression_tests/config.py +0 -0
  451. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/regression_tests/connection_fetcher.py +0 -0
  452. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/regression_tests/connection_secret_retriever.py +0 -0
  453. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/regression_tests/connector_runner.py +0 -0
  454. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/regression_tests/evaluation_modes.py +0 -0
  455. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/regression_tests/http_metrics.py +0 -0
  456. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/regression_tests/message_cache/__init__.py +0 -0
  457. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/regression_tests/message_cache/duckdb_cache.py +0 -0
  458. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/regression_tests/models.py +0 -0
  459. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/regression_tests/obfuscation.py +0 -0
  460. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/regression_tests/regression/__init__.py +0 -0
  461. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/regression_tests/regression/comparators.py +0 -0
  462. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/regression_tests/schema_generation.py +0 -0
  463. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/regression_tests/validation/__init__.py +0 -0
  464. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/regression_tests/validation/catalog_validators.py +0 -0
  465. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/src/airbyte_ops_mcp/regression_tests/validation/record_validators.py +0 -0
  466. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/__init__.py +0 -0
  467. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_erd_generator/__init__.py +0 -0
  468. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_erd_generator/builder.py +0 -0
  469. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_erd_generator/test_dbml_assembler.py +0 -0
  470. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_erd_generator/test_relationships.py +0 -0
  471. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_live_tests/__init__.py +0 -0
  472. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_live_tests/backends/__init__.py +0 -0
  473. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_live_tests/backends/test_file_backend.py +0 -0
  474. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_live_tests/test_get_connection_objects_retrieval.py +0 -0
  475. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_live_tests/test_json_schema_helper.py +0 -0
  476. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_ops/conftest.py +0 -0
  477. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/bad-header.md +0 -0
  478. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/bad-title.md +0 -0
  479. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/extra-header.md +0 -0
  480. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/missing-entry.md +0 -0
  481. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/out-of-order.md +0 -0
  482. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_ops/test_utils.py +0 -0
  483. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_qa/__init__.py +0 -0
  484. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_qa/conftest.py +0 -0
  485. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_qa/integration_tests/__init__.py +0 -0
  486. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_qa/integration_tests/test_documentation.py +0 -0
  487. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_qa/unit_tests/__init__.py +0 -0
  488. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/__init__.py +0 -0
  489. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/data/docs/correct.md +0 -0
  490. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/data/docs/incorrect_not_all_structure.md +0 -0
  491. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/data/docs/invalid_links.md +0 -0
  492. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_assets.py +0 -0
  493. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_documentation.py +0 -0
  494. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_metadata.py +0 -0
  495. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_packaging.py +0 -0
  496. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_security.py +0 -0
  497. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_version.py +0 -0
  498. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_models.py +0 -0
  499. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/__init__.py +0 -0
  500. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/conftest.py +0 -0
  501. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_actions/test_environments.py +0 -0
  502. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_bases.py +0 -0
  503. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_build_image/__init__.py +0 -0
  504. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_build_image/dummy_build_customization.py +0 -0
  505. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_build_image/test_manifest_only_connectors.py +0 -0
  506. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_build_image/test_python_connectors.py +0 -0
  507. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_build_image/test_steps/test_common.py +0 -0
  508. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/changelog_header_no_newline.md +0 -0
  509. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/changelog_header_no_separator.md +0 -0
  510. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/no_changelog_header.md +0 -0
  511. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/valid_changelog_at_end.md +0 -0
  512. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/valid_changelog_in_middle.md +0 -0
  513. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/changelog_header_no_newline.md +0 -0
  514. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/changelog_header_no_separator.md +0 -0
  515. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_version_date_valid_changelog_at_end.md +0 -0
  516. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_version_date_valid_changelog_in_middle.md +0 -0
  517. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_versions_valid_changelog_at_end.md +0 -0
  518. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_versions_valid_changelog_in_middle.md +0 -0
  519. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/duplicate_entry_valid_changelog_at_end.md +0 -0
  520. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/duplicate_entry_valid_changelog_in_middle.md +0 -0
  521. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/existing_entries_valid_changelog_at_end.md +0 -0
  522. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/existing_entries_valid_changelog_in_middle.md +0 -0
  523. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/no_changelog_header.md +0 -0
  524. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/single_insert_valid_changelog_at_end.md +0 -0
  525. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/single_insert_valid_changelog_in_middle.md +0 -0
  526. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_changelog.py +0 -0
  527. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_cli/__init__.py +0 -0
  528. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_cli/test_click_decorators.py +0 -0
  529. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_commands/__init__.py +0 -0
  530. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_commands/test_groups/__init__.py +0 -0
  531. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_commands/test_groups/test_connectors.py +0 -0
  532. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_dagger/__init__.py +0 -0
  533. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_dagger/test_actions/__init__.py +0 -0
  534. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_dagger/test_actions/test_python/__init__.py +0 -0
  535. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_dagger/test_actions/test_python/test_common.py +0 -0
  536. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_gradle.py +0 -0
  537. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_helpers/__init__.py +0 -0
  538. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_execution/__init__.py +0 -0
  539. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_execution/test_argument_parsing.py +0 -0
  540. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_execution/test_run_steps.py +0 -0
  541. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_pip.py +0 -0
  542. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_utils.py +0 -0
  543. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_models/__init__.py +0 -0
  544. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_models/test_click_pipeline_context.py +0 -0
  545. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_models/test_singleton.py +0 -0
  546. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_poetry/test_poetry_publish.py +0 -0
  547. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_publish.py +0 -0
  548. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_steps/__init__.py +0 -0
  549. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_steps/test_simple_docker_step.py +0 -0
  550. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_steps/test_version_check.py +0 -0
  551. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_tests/__init__.py +0 -0
  552. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_tests/test_common.py +0 -0
  553. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_tests/test_python_connectors.py +0 -0
  554. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/test_upgrade_java_cdk.py +0 -0
  555. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/legacy/airbyte_ci/pipelines/utils.py +0 -0
  556. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/test_airbyte_admin_mcp.py +0 -0
  557. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/test_bump_version.py +0 -0
  558. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/test_cli_registry.py +0 -0
  559. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/test_list_connectors.py +0 -0
  560. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/tests/test_prerelease.py +0 -0
  561. {airbyte_internal_ops-0.4.0 → airbyte_internal_ops-0.4.1}/uv.lock +0 -0
@@ -104,7 +104,7 @@ on:
104
104
 
105
105
  jobs:
106
106
  regression-test:
107
- name: Regression Test: '${{ inputs.connector_name }}'
107
+ name: "Regression Test: '${{ inputs.connector_name }}'"
108
108
  runs-on: ubuntu-latest
109
109
  steps:
110
110
  - name: Checkout code
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: airbyte-internal-ops
3
- Version: 0.4.0
3
+ Version: 0.4.1
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
@@ -8,7 +8,7 @@ Usage:
8
8
  Examples:
9
9
  poe mcp-tool-test publish_connector_to_airbyte_registry \
10
10
  '{"connector_name": "destination-pinecone", "pr_number": 70202}'
11
- poe mcp-tool-test check_workflow_status \
11
+ poe mcp-tool-test check_ci_workflow_status \
12
12
  '{"workflow_url": "https://github.com/airbytehq/airbyte/actions/runs/12345"}'
13
13
  poe mcp-tool-test get_docker_image_info \
14
14
  '{"image": "airbyte/destination-pinecone", "tag": "0.1.0-preview.abc1234"}'
@@ -0,0 +1,174 @@
1
+ # Copyright (c) 2025 Airbyte, Inc., all rights reserved.
2
+ """CLI commands for GitHub operations.
3
+
4
+ Commands:
5
+ airbyte-ops gh workflow status - Check GitHub Actions workflow status
6
+ airbyte-ops gh workflow trigger - Trigger a GitHub Actions CI workflow
7
+ """
8
+
9
+ from __future__ import annotations
10
+
11
+ import json
12
+ import time
13
+ from typing import Annotated
14
+
15
+ from cyclopts import App, Parameter
16
+
17
+ from airbyte_ops_mcp.cli._base import app
18
+ from airbyte_ops_mcp.cli._shared import exit_with_error, print_json
19
+ from airbyte_ops_mcp.mcp.github_actions import (
20
+ check_ci_workflow_status,
21
+ trigger_ci_workflow,
22
+ )
23
+
24
+ # Create the gh sub-app
25
+ gh_app = App(name="gh", help="GitHub operations.")
26
+ app.command(gh_app)
27
+
28
+ # Create the workflow sub-app under gh
29
+ workflow_app = App(name="workflow", help="GitHub Actions workflow operations.")
30
+ gh_app.command(workflow_app)
31
+
32
+
33
+ @workflow_app.command(name="status")
34
+ def workflow_status(
35
+ url: Annotated[
36
+ str | None,
37
+ Parameter(
38
+ help="Full GitHub Actions workflow run URL "
39
+ "(e.g., 'https://github.com/owner/repo/actions/runs/12345')."
40
+ ),
41
+ ] = None,
42
+ owner: Annotated[
43
+ str | None,
44
+ Parameter(help="Repository owner (e.g., 'airbytehq')."),
45
+ ] = None,
46
+ repo: Annotated[
47
+ str | None,
48
+ Parameter(help="Repository name (e.g., 'airbyte')."),
49
+ ] = None,
50
+ run_id: Annotated[
51
+ int | None,
52
+ Parameter(help="Workflow run ID."),
53
+ ] = None,
54
+ ) -> None:
55
+ """Check the status of a GitHub Actions workflow run.
56
+
57
+ Provide either --url OR all of (--owner, --repo, --run-id).
58
+ """
59
+ # Validate input parameters
60
+ if url:
61
+ if owner or repo or run_id:
62
+ exit_with_error(
63
+ "Cannot specify --url together with --owner/--repo/--run-id. "
64
+ "Use either --url OR the component parts."
65
+ )
66
+ elif not (owner and repo and run_id):
67
+ exit_with_error(
68
+ "Must provide either --url OR all of (--owner, --repo, --run-id)."
69
+ )
70
+
71
+ result = check_ci_workflow_status(
72
+ workflow_url=url,
73
+ owner=owner,
74
+ repo=repo,
75
+ run_id=run_id,
76
+ )
77
+ print_json(result.model_dump())
78
+
79
+
80
+ @workflow_app.command(name="trigger")
81
+ def workflow_trigger(
82
+ owner: Annotated[
83
+ str,
84
+ Parameter(help="Repository owner (e.g., 'airbytehq')."),
85
+ ],
86
+ repo: Annotated[
87
+ str,
88
+ Parameter(help="Repository name (e.g., 'airbyte')."),
89
+ ],
90
+ workflow_file: Annotated[
91
+ str,
92
+ Parameter(help="Workflow file name (e.g., 'connector-regression-test.yml')."),
93
+ ],
94
+ workflow_definition_ref: Annotated[
95
+ str | None,
96
+ Parameter(
97
+ help="Branch name or PR number for the workflow definition to use. "
98
+ "If a PR number is provided, it resolves to the PR's head branch name. "
99
+ "Defaults to 'main' if not specified."
100
+ ),
101
+ ] = None,
102
+ inputs: Annotated[
103
+ str | None,
104
+ Parameter(
105
+ help='Workflow inputs as a JSON string (e.g., \'{"key": "value"}\').'
106
+ ),
107
+ ] = None,
108
+ wait: Annotated[
109
+ bool,
110
+ Parameter(help="Wait for the workflow to complete before returning."),
111
+ ] = False,
112
+ wait_seconds: Annotated[
113
+ int,
114
+ Parameter(
115
+ help="Maximum seconds to wait for workflow completion (default: 600)."
116
+ ),
117
+ ] = 600,
118
+ ) -> None:
119
+ """Trigger a GitHub Actions CI workflow via workflow_dispatch.
120
+
121
+ This command triggers a workflow in any GitHub repository that has workflow_dispatch
122
+ enabled. It resolves PR numbers to branch names automatically.
123
+ """
124
+ # Parse inputs JSON if provided
125
+ parsed_inputs: dict[str, str] | None = None
126
+ if inputs:
127
+ try:
128
+ parsed_inputs = json.loads(inputs)
129
+ except json.JSONDecodeError as e:
130
+ exit_with_error(f"Invalid JSON for --inputs: {e}")
131
+
132
+ # Trigger the workflow
133
+ result = trigger_ci_workflow(
134
+ owner=owner,
135
+ repo=repo,
136
+ workflow_file=workflow_file,
137
+ workflow_definition_ref=workflow_definition_ref,
138
+ inputs=parsed_inputs,
139
+ )
140
+
141
+ print_json(result.model_dump())
142
+
143
+ # If wait is enabled and we have a run_id, poll for completion
144
+ if wait and result.run_id:
145
+ print(f"\nWaiting for workflow to complete (timeout: {wait_seconds}s)...")
146
+ start_time = time.time()
147
+ poll_interval = 10 # seconds
148
+
149
+ while time.time() - start_time < wait_seconds:
150
+ status_result = check_ci_workflow_status(
151
+ owner=owner,
152
+ repo=repo,
153
+ run_id=result.run_id,
154
+ )
155
+
156
+ if status_result.status == "completed":
157
+ print(
158
+ f"\nWorkflow completed with conclusion: {status_result.conclusion}"
159
+ )
160
+ print_json(status_result.model_dump())
161
+ return
162
+
163
+ elapsed = int(time.time() - start_time)
164
+ print(f" Status: {status_result.status} (elapsed: {elapsed}s)")
165
+ time.sleep(poll_interval)
166
+
167
+ print(f"\nTimeout reached after {wait_seconds}s. Workflow still running.")
168
+ # Print final status
169
+ final_status = check_ci_workflow_status(
170
+ owner=owner,
171
+ repo=repo,
172
+ run_id=result.run_id,
173
+ )
174
+ print_json(final_status.model_dump())
@@ -28,11 +28,11 @@ from airbyte_ops_mcp.cli._shared import (
28
28
  print_json,
29
29
  print_success,
30
30
  )
31
- from airbyte_ops_mcp.github_actions import (
31
+ from airbyte_ops_mcp.github_api import (
32
32
  get_file_contents_at_ref,
33
33
  resolve_github_token,
34
34
  )
35
- from airbyte_ops_mcp.mcp.github import get_docker_image_info
35
+ from airbyte_ops_mcp.mcp.github_actions import get_docker_image_info
36
36
  from airbyte_ops_mcp.mcp.prerelease import (
37
37
  compute_prerelease_docker_image_tag,
38
38
  publish_connector_to_airbyte_registry,
@@ -1,72 +1,23 @@
1
1
  # Copyright (c) 2025 Airbyte, Inc., all rights reserved.
2
2
  """GitHub Actions API utilities.
3
3
 
4
- This module provides core utilities for interacting with GitHub Actions workflows,
5
- including workflow dispatch, run discovery, and authentication. These utilities
4
+ This module provides utilities for interacting with GitHub Actions workflows,
5
+ including workflow dispatch, run discovery, and job status. These utilities
6
6
  are used by MCP tools but are not MCP-specific.
7
+
8
+ For general GitHub API utilities (authentication, PR info, file contents),
9
+ see the github_api module.
7
10
  """
8
11
 
9
12
  from __future__ import annotations
10
13
 
11
- import os
12
- import shutil
13
- import subprocess
14
14
  import time
15
15
  from dataclasses import dataclass
16
16
  from datetime import datetime, timedelta
17
17
 
18
18
  import requests
19
19
 
20
- GITHUB_API_BASE = "https://api.github.com"
21
-
22
-
23
- def resolve_github_token(preferred_env_vars: list[str] | None = None) -> str:
24
- """Resolve GitHub token from environment variables or gh CLI.
25
-
26
- Checks environment variables in order of preference, returning the first
27
- non-empty value found. If no environment variables are set, attempts to
28
- get a token from the gh CLI tool using 'gh auth token'.
29
-
30
- Args:
31
- preferred_env_vars: List of environment variable names to check in order.
32
- Defaults to ["GITHUB_CI_WORKFLOW_TRIGGER_PAT", "GITHUB_TOKEN"].
33
-
34
- Returns:
35
- GitHub token string.
36
-
37
- Raises:
38
- ValueError: If no GitHub token is found in env vars or gh CLI.
39
- """
40
- if preferred_env_vars is None:
41
- preferred_env_vars = ["GITHUB_CI_WORKFLOW_TRIGGER_PAT", "GITHUB_TOKEN"]
42
-
43
- # Check environment variables first
44
- for env_var in preferred_env_vars:
45
- token = os.getenv(env_var)
46
- if token:
47
- return token
48
-
49
- # Fall back to gh CLI if available
50
- gh_path = shutil.which("gh")
51
- if gh_path:
52
- try:
53
- result = subprocess.run(
54
- [gh_path, "auth", "token"],
55
- capture_output=True,
56
- text=True,
57
- timeout=5,
58
- check=False,
59
- )
60
- if result.returncode == 0 and result.stdout.strip():
61
- return result.stdout.strip()
62
- except (subprocess.TimeoutExpired, subprocess.SubprocessError):
63
- pass
64
-
65
- env_var_list = ", ".join(preferred_env_vars)
66
- raise ValueError(
67
- f"No GitHub token found. Set one of: {env_var_list} environment variable, "
68
- "or authenticate with 'gh auth login'."
69
- )
20
+ from airbyte_ops_mcp.github_api import GITHUB_API_BASE, resolve_github_token
70
21
 
71
22
 
72
23
  @dataclass
@@ -106,51 +57,6 @@ class WorkflowJobInfo:
106
57
  """ISO 8601 timestamp when the job completed"""
107
58
 
108
59
 
109
- def get_file_contents_at_ref(
110
- owner: str,
111
- repo: str,
112
- path: str,
113
- ref: str,
114
- token: str | None = None,
115
- ) -> str | None:
116
- """Fetch file contents from GitHub at a specific ref.
117
-
118
- Uses the GitHub Contents API to retrieve file contents at a specific
119
- commit SHA, branch, or tag. This allows reading files without having
120
- the repository checked out locally.
121
-
122
- Args:
123
- owner: Repository owner (e.g., "airbytehq")
124
- repo: Repository name (e.g., "airbyte")
125
- path: Path to the file within the repository
126
- ref: Git ref (commit SHA, branch name, or tag)
127
- token: GitHub API token (optional for public repos, but recommended
128
- to avoid rate limiting)
129
-
130
- Returns:
131
- File contents as a string, or None if the file doesn't exist.
132
-
133
- Raises:
134
- requests.HTTPError: If API request fails (except 404).
135
- """
136
- url = f"{GITHUB_API_BASE}/repos/{owner}/{repo}/contents/{path}"
137
- headers = {
138
- "Accept": "application/vnd.github.raw+json",
139
- "X-GitHub-Api-Version": "2022-11-28",
140
- }
141
- if token:
142
- headers["Authorization"] = f"Bearer {token}"
143
-
144
- params = {"ref": ref}
145
-
146
- response = requests.get(url, headers=headers, params=params, timeout=30)
147
- if response.status_code == 404:
148
- return None
149
- response.raise_for_status()
150
-
151
- return response.text
152
-
153
-
154
60
  def get_workflow_jobs(
155
61
  owner: str,
156
62
  repo: str,
@@ -1,20 +1,178 @@
1
1
  # Copyright (c) 2025 Airbyte, Inc., all rights reserved.
2
- """GitHub API utilities for user and comment operations.
2
+ """GitHub API utilities.
3
3
 
4
- This module provides utilities for interacting with GitHub's REST API
5
- to retrieve user information and comment details. These utilities are
6
- used by MCP tools for authorization and audit purposes.
4
+ This module provides core utilities for interacting with GitHub's REST API,
5
+ including authentication, user/comment operations, PR information retrieval,
6
+ and file content fetching. These utilities are used by MCP tools and other
7
+ modules but are not MCP-specific.
7
8
  """
8
9
 
9
10
  from __future__ import annotations
10
11
 
12
+ import os
11
13
  import re
14
+ import shutil
15
+ import subprocess
12
16
  from dataclasses import dataclass
13
17
  from urllib.parse import urlparse
14
18
 
15
19
  import requests
16
20
 
17
- from airbyte_ops_mcp.github_actions import GITHUB_API_BASE, resolve_github_token
21
+ GITHUB_API_BASE = "https://api.github.com"
22
+
23
+
24
+ def resolve_github_token(preferred_env_vars: list[str] | None = None) -> str:
25
+ """Resolve GitHub token from environment variables or gh CLI.
26
+
27
+ Checks environment variables in order of preference, returning the first
28
+ non-empty value found. If no environment variables are set, attempts to
29
+ get a token from the gh CLI tool using 'gh auth token'.
30
+
31
+ Args:
32
+ preferred_env_vars: List of environment variable names to check in order.
33
+ Defaults to ["GITHUB_CI_WORKFLOW_TRIGGER_PAT", "GITHUB_TOKEN"].
34
+
35
+ Returns:
36
+ GitHub token string.
37
+
38
+ Raises:
39
+ ValueError: If no GitHub token is found in env vars or gh CLI.
40
+ """
41
+ if preferred_env_vars is None:
42
+ preferred_env_vars = ["GITHUB_CI_WORKFLOW_TRIGGER_PAT", "GITHUB_TOKEN"]
43
+
44
+ # Check environment variables first
45
+ for env_var in preferred_env_vars:
46
+ token = os.getenv(env_var)
47
+ if token:
48
+ return token
49
+
50
+ # Fall back to gh CLI if available
51
+ gh_path = shutil.which("gh")
52
+ if gh_path:
53
+ try:
54
+ result = subprocess.run(
55
+ [gh_path, "auth", "token"],
56
+ capture_output=True,
57
+ text=True,
58
+ timeout=5,
59
+ check=False,
60
+ )
61
+ if result.returncode == 0 and result.stdout.strip():
62
+ return result.stdout.strip()
63
+ except (subprocess.TimeoutExpired, subprocess.SubprocessError):
64
+ pass
65
+
66
+ env_var_list = ", ".join(preferred_env_vars)
67
+ raise ValueError(
68
+ f"No GitHub token found. Set one of: {env_var_list} environment variable, "
69
+ "or authenticate with 'gh auth login'."
70
+ )
71
+
72
+
73
+ @dataclass
74
+ class PRHeadInfo:
75
+ """Information about a PR's head commit."""
76
+
77
+ ref: str
78
+ """Branch name of the PR's head"""
79
+
80
+ sha: str
81
+ """Full commit SHA of the PR's head"""
82
+
83
+ short_sha: str
84
+ """First 7 characters of the commit SHA"""
85
+
86
+
87
+ def get_pr_head_ref(
88
+ owner: str,
89
+ repo: str,
90
+ pr_number: int,
91
+ token: str,
92
+ ) -> PRHeadInfo:
93
+ """Get the head ref (branch name) and SHA for a PR.
94
+
95
+ This is useful for resolving a PR number to the actual branch name,
96
+ which is required for workflow_dispatch API calls (which don't accept
97
+ refs/pull/{pr}/head format).
98
+
99
+ Args:
100
+ owner: Repository owner (e.g., "airbytehq")
101
+ repo: Repository name (e.g., "airbyte")
102
+ pr_number: Pull request number
103
+ token: GitHub API token
104
+
105
+ Returns:
106
+ PRHeadInfo with ref (branch name), sha, and short_sha.
107
+
108
+ Raises:
109
+ ValueError: If PR not found.
110
+ requests.HTTPError: If API request fails.
111
+ """
112
+ url = f"{GITHUB_API_BASE}/repos/{owner}/{repo}/pulls/{pr_number}"
113
+ headers = {
114
+ "Authorization": f"Bearer {token}",
115
+ "Accept": "application/vnd.github+json",
116
+ "X-GitHub-Api-Version": "2022-11-28",
117
+ }
118
+
119
+ response = requests.get(url, headers=headers, timeout=30)
120
+ if response.status_code == 404:
121
+ raise ValueError(f"PR {owner}/{repo}#{pr_number} not found")
122
+ response.raise_for_status()
123
+
124
+ pr_data = response.json()
125
+ sha = pr_data["head"]["sha"]
126
+ return PRHeadInfo(
127
+ ref=pr_data["head"]["ref"],
128
+ sha=sha,
129
+ short_sha=sha[:7],
130
+ )
131
+
132
+
133
+ def get_file_contents_at_ref(
134
+ owner: str,
135
+ repo: str,
136
+ path: str,
137
+ ref: str,
138
+ token: str | None = None,
139
+ ) -> str | None:
140
+ """Fetch file contents from GitHub at a specific ref.
141
+
142
+ Uses the GitHub Contents API to retrieve file contents at a specific
143
+ commit SHA, branch, or tag. This allows reading files without having
144
+ the repository checked out locally.
145
+
146
+ Args:
147
+ owner: Repository owner (e.g., "airbytehq")
148
+ repo: Repository name (e.g., "airbyte")
149
+ path: Path to the file within the repository
150
+ ref: Git ref (commit SHA, branch name, or tag)
151
+ token: GitHub API token (optional for public repos, but recommended
152
+ to avoid rate limiting)
153
+
154
+ Returns:
155
+ File contents as a string, or None if the file doesn't exist.
156
+
157
+ Raises:
158
+ requests.HTTPError: If API request fails (except 404).
159
+ """
160
+ url = f"{GITHUB_API_BASE}/repos/{owner}/{repo}/contents/{path}"
161
+ headers = {
162
+ "Accept": "application/vnd.github.raw+json",
163
+ "X-GitHub-Api-Version": "2022-11-28",
164
+ }
165
+ if token:
166
+ headers["Authorization"] = f"Bearer {token}"
167
+
168
+ params = {"ref": ref}
169
+
170
+ response = requests.get(url, headers=headers, params=params, timeout=30)
171
+ if response.status_code == 404:
172
+ return None
173
+ response.raise_for_status()
174
+
175
+ return response.text
18
176
 
19
177
 
20
178
  class GitHubCommentParseError(Exception):
@@ -15,12 +15,22 @@ from fastmcp import FastMCP
15
15
  from pydantic import BaseModel, Field
16
16
 
17
17
  from airbyte_ops_mcp.github_actions import (
18
- GITHUB_API_BASE,
19
18
  get_workflow_jobs,
19
+ trigger_workflow_dispatch,
20
+ )
21
+ from airbyte_ops_mcp.github_api import (
22
+ GITHUB_API_BASE,
23
+ get_pr_head_ref,
20
24
  resolve_github_token,
21
25
  )
22
26
  from airbyte_ops_mcp.mcp._mcp_utils import mcp_tool, register_mcp_tools
23
27
 
28
+ # Token env vars for workflow triggering (in order of preference)
29
+ WORKFLOW_TRIGGER_TOKEN_ENV_VARS = [
30
+ "GITHUB_CI_WORKFLOW_TRIGGER_PAT",
31
+ "GITHUB_TOKEN",
32
+ ]
33
+
24
34
  DOCKERHUB_API_BASE = "https://hub.docker.com/v2"
25
35
 
26
36
 
@@ -36,7 +46,7 @@ class JobInfo(BaseModel):
36
46
 
37
47
 
38
48
  class WorkflowRunStatus(BaseModel):
39
- """Response model for check_workflow_status MCP tool."""
49
+ """Response model for check_ci_workflow_status MCP tool."""
40
50
 
41
51
  run_id: int
42
52
  status: str
@@ -116,7 +126,7 @@ def _get_workflow_run(
116
126
  idempotent=True,
117
127
  open_world=True,
118
128
  )
119
- def check_workflow_status(
129
+ def check_ci_workflow_status(
120
130
  workflow_url: Annotated[
121
131
  str | None,
122
132
  Field(
@@ -196,6 +206,108 @@ def check_workflow_status(
196
206
  )
197
207
 
198
208
 
209
+ class TriggerCIWorkflowResult(BaseModel):
210
+ """Response model for trigger_ci_workflow MCP tool."""
211
+
212
+ success: bool
213
+ message: str
214
+ workflow_url: str
215
+ run_id: int | None = None
216
+ run_url: str | None = None
217
+
218
+
219
+ @mcp_tool(
220
+ read_only=False,
221
+ idempotent=False,
222
+ open_world=True,
223
+ )
224
+ def trigger_ci_workflow(
225
+ owner: Annotated[
226
+ str,
227
+ Field(description="Repository owner (e.g., 'airbytehq')"),
228
+ ],
229
+ repo: Annotated[
230
+ str,
231
+ Field(description="Repository name (e.g., 'airbyte')"),
232
+ ],
233
+ workflow_file: Annotated[
234
+ str,
235
+ Field(description="Workflow file name (e.g., 'connector-regression-test.yml')"),
236
+ ],
237
+ workflow_definition_ref: Annotated[
238
+ str | None,
239
+ Field(
240
+ description="Branch name or PR number for the workflow definition to use. "
241
+ "If a PR number (integer string) is provided, it resolves to the PR's head branch name. "
242
+ "If a branch name is provided, it is used directly. "
243
+ "Defaults to the repository's default branch if not specified."
244
+ ),
245
+ ] = None,
246
+ inputs: Annotated[
247
+ dict[str, str] | None,
248
+ Field(
249
+ description="Workflow inputs as a dictionary of string key-value pairs. "
250
+ "These are passed to the workflow_dispatch event."
251
+ ),
252
+ ] = None,
253
+ ) -> TriggerCIWorkflowResult:
254
+ """Trigger a GitHub Actions CI workflow via workflow_dispatch.
255
+
256
+ This tool triggers a workflow in any GitHub repository that has workflow_dispatch
257
+ enabled. It resolves PR numbers to branch names automatically since GitHub's
258
+ workflow_dispatch API only accepts branch names, not refs/pull/{pr}/head format.
259
+
260
+ Requires GITHUB_CI_WORKFLOW_TRIGGER_PAT or GITHUB_TOKEN environment variable
261
+ with 'actions:write' permission.
262
+ """
263
+ # Guard: Check for required token
264
+ token = resolve_github_token(WORKFLOW_TRIGGER_TOKEN_ENV_VARS)
265
+
266
+ # Resolve workflow definition ref
267
+ # If a PR number is provided (integer string), resolve to the PR's head branch name
268
+ # Otherwise use the provided branch name or default to repo's default branch
269
+ if workflow_definition_ref:
270
+ if workflow_definition_ref.isdigit():
271
+ # Resolve PR number to branch name via GitHub API
272
+ pr_head_info = get_pr_head_ref(
273
+ owner,
274
+ repo,
275
+ int(workflow_definition_ref),
276
+ token,
277
+ )
278
+ resolved_ref = pr_head_info.ref
279
+ else:
280
+ resolved_ref = workflow_definition_ref
281
+ else:
282
+ # Default to main (most common default branch)
283
+ resolved_ref = "main"
284
+
285
+ # Trigger the workflow
286
+ result = trigger_workflow_dispatch(
287
+ owner=owner,
288
+ repo=repo,
289
+ workflow_file=workflow_file,
290
+ ref=resolved_ref,
291
+ inputs=inputs or {},
292
+ token=token,
293
+ find_run=True,
294
+ )
295
+
296
+ # Build response message
297
+ if result.run_id:
298
+ message = f"Successfully triggered workflow {workflow_file} on {owner}/{repo} (ref: {resolved_ref}). Run ID: {result.run_id}"
299
+ else:
300
+ message = f"Successfully triggered workflow {workflow_file} on {owner}/{repo} (ref: {resolved_ref}). Run ID not yet available."
301
+
302
+ return TriggerCIWorkflowResult(
303
+ success=True,
304
+ message=message,
305
+ workflow_url=result.workflow_url,
306
+ run_id=result.run_id,
307
+ run_url=result.run_url,
308
+ )
309
+
310
+
199
311
  class DockerImageInfo(BaseModel):
200
312
  """Response model for get_docker_image_info MCP tool."""
201
313
 
@@ -282,8 +394,8 @@ def get_docker_image_info(
282
394
  )
283
395
 
284
396
 
285
- def register_github_tools(app: FastMCP) -> None:
286
- """Register GitHub tools with the FastMCP app.
397
+ def register_github_actions_tools(app: FastMCP) -> None:
398
+ """Register GitHub Actions tools with the FastMCP app.
287
399
 
288
400
  Args:
289
401
  app: FastMCP application instance