airbyte-internal-ops 0.8.0__tar.gz → 0.9.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (449) hide show
  1. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/.github/pr-welcome-message.md +19 -7
  2. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/.github/workflows/semantic-pr-check.yml +1 -1
  3. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/.github/workflows/sentry-apply-command.yml +4 -0
  4. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/.github/workflows/sentry-preview.yml +17 -5
  5. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/CONTRIBUTING.md +18 -0
  6. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/PKG-INFO +2 -1
  7. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/infra/sentry/__main__.py +125 -15
  8. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/pyproject.toml +1 -0
  9. airbyte_internal_ops-0.9.0/src/airbyte_ops_mcp/airbyte_repo/changelog_fix.py +437 -0
  10. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/cli/local.py +578 -1
  11. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/cli/registry.py +215 -1
  12. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/github_api.py +56 -0
  13. airbyte_internal_ops-0.9.0/src/airbyte_ops_mcp/registry/_gcs_util.py +100 -0
  14. airbyte_internal_ops-0.9.0/src/airbyte_ops_mcp/registry/connector_stubs.py +186 -0
  15. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/registry/publish.py +4 -4
  16. airbyte_internal_ops-0.9.0/tests/test_connector_stubs.py +162 -0
  17. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/uv.lock +1676 -1666
  18. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/.env.template +0 -0
  19. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/.github/copilot-instructions.md +0 -0
  20. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/.github/dependabot.yml +0 -0
  21. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/.github/workflows/autofix-command.yml +0 -0
  22. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/.github/workflows/connector-regression-test.yml +0 -0
  23. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/.github/workflows/format-check.yml +0 -0
  24. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/.github/workflows/lint-check.yml +0 -0
  25. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/.github/workflows/lock-command.yml +0 -0
  26. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/.github/workflows/pdoc_preview.yml +0 -0
  27. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/.github/workflows/pdoc_publish.yml +0 -0
  28. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/.github/workflows/poe-command.yml +0 -0
  29. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/.github/workflows/pr-welcome.yml +0 -0
  30. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/.github/workflows/publish.yml +0 -0
  31. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/.github/workflows/pytest-fast.yml +0 -0
  32. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/.github/workflows/pytest-matrix.yml +0 -0
  33. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/.github/workflows/regression-tests-ci.yml +0 -0
  34. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/.github/workflows/release-drafter.yml +0 -0
  35. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/.github/workflows/slash-command-dispatch.yml +0 -0
  36. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/.github/workflows/tk-todo-check.yml +0 -0
  37. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/.github/workflows/validate-build.yml +0 -0
  38. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/.gitignore +0 -0
  39. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/.mcp.json.template +0 -0
  40. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/README.md +0 -0
  41. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/conftest.py +0 -0
  42. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/docs/.gitignore +0 -0
  43. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/docs/generate.py +0 -0
  44. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/docs/templates/custom.css +0 -0
  45. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/docs/templates/theme.css +0 -0
  46. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/infra/sentry/.gitignore +0 -0
  47. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/infra/sentry/CONTRIBUTING.md +0 -0
  48. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/infra/sentry/Pulumi.prod.yaml +0 -0
  49. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/infra/sentry/Pulumi.yaml +0 -0
  50. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/infra/sentry/README.md +0 -0
  51. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/infra/sentry/requirements.txt +0 -0
  52. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/poe_tasks.toml +0 -0
  53. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/pyrefly.toml +0 -0
  54. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/pytest.ini +0 -0
  55. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/ruff.toml +0 -0
  56. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/__init__.py +0 -0
  57. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/__init__.py +0 -0
  58. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/README.md +0 -0
  59. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/README.md +0 -0
  60. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/__init__.py +0 -0
  61. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/dbml_assembler.py +0 -0
  62. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/erd_service.py +0 -0
  63. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/relationships.py +0 -0
  64. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/README.md +0 -0
  65. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/__init__.py +0 -0
  66. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/cli.py +0 -0
  67. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/hacks.py +0 -0
  68. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/insights.py +0 -0
  69. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/models.py +0 -0
  70. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/pylint.py +0 -0
  71. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/pylint_plugins/cdk_deprecation_checkers.py +0 -0
  72. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/result_backends.py +0 -0
  73. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/utils.py +0 -0
  74. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_ops/README.md +0 -0
  75. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_ops/__init__.py +0 -0
  76. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_ops/utils.py +0 -0
  77. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/README.md +0 -0
  78. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/__init__.py +0 -0
  79. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/connector/hooks.py +0 -0
  80. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/connector/normalization.py +0 -0
  81. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/python/common.py +0 -0
  82. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/python/pipx.py +0 -0
  83. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/python/poetry.py +0 -0
  84. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/remote_storage.py +0 -0
  85. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/secrets.py +0 -0
  86. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/system/common.py +0 -0
  87. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/system/docker.py +0 -0
  88. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/git.py +0 -0
  89. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/internal_tools.py +0 -0
  90. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/java.py +0 -0
  91. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/python.py +0 -0
  92. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/__init__.py +0 -0
  93. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/cache_keys.py +0 -0
  94. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/cli.py +0 -0
  95. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/__init__.py +0 -0
  96. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/cdk_helpers.py +0 -0
  97. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/command.py +0 -0
  98. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/dagger_fs.py +0 -0
  99. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/format.py +0 -0
  100. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/modifed.py +0 -0
  101. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/yaml.py +0 -0
  102. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/execution/__init__.py +0 -0
  103. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/execution/argument_parsing.py +0 -0
  104. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/execution/run_steps.py +0 -0
  105. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/gcs.py +0 -0
  106. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/git.py +0 -0
  107. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/github.py +0 -0
  108. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/pip.py +0 -0
  109. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/sentry_utils.py +0 -0
  110. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/slack.py +0 -0
  111. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/utils.py +0 -0
  112. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/README.md +0 -0
  113. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/__init__.py +0 -0
  114. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/__init__.py +0 -0
  115. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/__init__.py +0 -0
  116. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/__init__.py +0 -0
  117. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/commands.py +0 -0
  118. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/pipeline.py +0 -0
  119. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/__init__.py +0 -0
  120. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/build_customization.py +0 -0
  121. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/common.py +0 -0
  122. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/java_connectors.py +0 -0
  123. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/manifest_only_connectors.py +0 -0
  124. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/normalization.py +0 -0
  125. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/python_connectors.py +0 -0
  126. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/commands.py +0 -0
  127. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/consts.py +0 -0
  128. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/context.py +0 -0
  129. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/generate_erd/__init__.py +0 -0
  130. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/generate_erd/commands.py +0 -0
  131. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/generate_erd/pipeline.py +0 -0
  132. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/list/__init__.py +0 -0
  133. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/list/commands.py +0 -0
  134. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/migrate_to_inline_schemas/__init__.py +0 -0
  135. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/migrate_to_inline_schemas/commands.py +0 -0
  136. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/migrate_to_inline_schemas/pipeline.py +0 -0
  137. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pipeline.py +0 -0
  138. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pull_request/__init__.py +0 -0
  139. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pull_request/commands.py +0 -0
  140. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pull_request/pipeline.py +0 -0
  141. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/reports.py +0 -0
  142. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/__init__.py +0 -0
  143. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/commands.py +0 -0
  144. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/context.py +0 -0
  145. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/pipeline.py +0 -0
  146. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/__init__.py +0 -0
  147. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/common.py +0 -0
  148. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/java_connectors.py +0 -0
  149. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/manifest_only_connectors.py +0 -0
  150. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/python_connectors.py +0 -0
  151. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/templates/test_report.html.j2 +0 -0
  152. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/__init__.py +0 -0
  153. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/commands.py +0 -0
  154. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/pipeline.py +0 -0
  155. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/steps.py +0 -0
  156. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/templates/up_to_date_pr_body.md.j2 +0 -0
  157. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/upgrade_cdk/__init__.py +0 -0
  158. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/upgrade_cdk/commands.py +0 -0
  159. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/upgrade_cdk/pipeline.py +0 -0
  160. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/metadata/__init__.py +0 -0
  161. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/metadata/commands.py +0 -0
  162. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/metadata/pipeline.py +0 -0
  163. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/poetry/__init__.py +0 -0
  164. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/poetry/commands.py +0 -0
  165. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/__init__.py +0 -0
  166. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/base_image.py +0 -0
  167. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/docker.py +0 -0
  168. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/gradle.py +0 -0
  169. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/no_op.py +0 -0
  170. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/poetry.py +0 -0
  171. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/pull_request.py +0 -0
  172. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/__init__.py +0 -0
  173. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/commands.py +0 -0
  174. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/models.py +0 -0
  175. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/pipeline.py +0 -0
  176. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/update/__init__.py +0 -0
  177. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/update/commands.py +0 -0
  178. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/airbyte_ci.py +0 -0
  179. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/auto_update.py +0 -0
  180. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/click_decorators.py +0 -0
  181. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/confirm_prompt.py +0 -0
  182. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/dagger_pipeline_command.py +0 -0
  183. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/dagger_run.py +0 -0
  184. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/ensure_repo_root.py +0 -0
  185. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/lazy_group.py +0 -0
  186. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/secrets.py +0 -0
  187. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/telemetry.py +0 -0
  188. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/consts.py +0 -0
  189. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/hacks.py +0 -0
  190. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/__init__.py +0 -0
  191. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/artifacts.py +0 -0
  192. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/ci_requirements.py +0 -0
  193. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/contexts/__init__.py +0 -0
  194. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/contexts/click_pipeline_context.py +0 -0
  195. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/contexts/pipeline_context.py +0 -0
  196. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/reports.py +0 -0
  197. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/secrets.py +0 -0
  198. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/singleton.py +0 -0
  199. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/steps.py +0 -0
  200. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/README.md +0 -0
  201. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/commands.py +0 -0
  202. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/constants.py +0 -0
  203. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/docs/external_documentation_urls.md +0 -0
  204. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/gcs_upload.py +0 -0
  205. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/files.py +0 -0
  206. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/gcs.py +0 -0
  207. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/object_helpers.py +0 -0
  208. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/slack.py +0 -0
  209. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/.env.template +0 -0
  210. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/README.md +0 -0
  211. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/dagster_cloud.yaml +0 -0
  212. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/__init__.py +0 -0
  213. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/connector_metrics.py +0 -0
  214. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/github.py +0 -0
  215. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/metadata.py +0 -0
  216. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/registry.py +0 -0
  217. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/registry_entry.py +0 -0
  218. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/registry_report.py +0 -0
  219. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/slack.py +0 -0
  220. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/specs_secrets_mask.py +0 -0
  221. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/config.py +0 -0
  222. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/fetcher/connector_cdk_version.py +0 -0
  223. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/hacks.py +0 -0
  224. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/jobs/registry.py +0 -0
  225. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/logging/publish_connector_lifecycle.py +0 -0
  226. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/logging/sentry.py +0 -0
  227. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/models/ci_report.py +0 -0
  228. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/models/metadata.py +0 -0
  229. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/ops/slack.py +0 -0
  230. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/file_managers/local_file_manager.py +0 -0
  231. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/gcp.py +0 -0
  232. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/github.py +0 -0
  233. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/local.py +0 -0
  234. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/sensors/gcs.py +0 -0
  235. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/sensors/github.py +0 -0
  236. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/sensors/registry.py +0 -0
  237. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/templates/base.html +0 -0
  238. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/templates/connector_registry_locations.html +0 -0
  239. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/templates/render.py +0 -0
  240. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/utils/blob_helpers.py +0 -0
  241. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/utils/dagster_helpers.py +0 -0
  242. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/utils/object_helpers.py +0 -0
  243. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/poetry.lock +0 -0
  244. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/__init__.py +0 -0
  245. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/conftest.py.disabled +0 -0
  246. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/fixtures/__init__.py +0 -0
  247. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/fixtures/cloud_registry.json +0 -0
  248. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/fixtures/oss_registry.json +0 -0
  249. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_connector_metrics.py +0 -0
  250. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_dagster_helpers.py +0 -0
  251. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_debug.py +0 -0
  252. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_partition_jobs.py +0 -0
  253. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_registry.py +0 -0
  254. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_specs_secrets_mask.py +0 -0
  255. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/registry.py +0 -0
  256. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/registry_entry.py +0 -0
  257. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/registry_report.py +0 -0
  258. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/sentry.py +0 -0
  259. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/spec_cache.py +0 -0
  260. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/specs_secrets_mask.py +0 -0
  261. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/stale_metadata_report.py +0 -0
  262. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/base.html +0 -0
  263. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/connector_registry_locations.html +0 -0
  264. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/render.py +0 -0
  265. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/_sentry.py +0 -0
  266. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/airbyte_repo/__init__.py +0 -0
  267. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/airbyte_repo/bump_version.py +0 -0
  268. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/airbyte_repo/list_connectors.py +0 -0
  269. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/airbyte_repo/utils.py +0 -0
  270. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/cli/__init__.py +0 -0
  271. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/cli/_base.py +0 -0
  272. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/cli/_shared.py +0 -0
  273. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/cli/app.py +0 -0
  274. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/cli/cloud.py +0 -0
  275. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/cli/gh.py +0 -0
  276. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/cloud_admin/__init__.py +0 -0
  277. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/cloud_admin/api_client.py +0 -0
  278. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/cloud_admin/auth.py +0 -0
  279. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/cloud_admin/connection_config.py +0 -0
  280. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/cloud_admin/models.py +0 -0
  281. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/connection_config_retriever/__init__.py +0 -0
  282. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/connection_config_retriever/audit_logging.py +0 -0
  283. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/connection_config_retriever/retrieval.py +0 -0
  284. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/connection_config_retriever/secrets_resolution.py +0 -0
  285. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/connector_ops/__init__.py +0 -0
  286. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/connector_ops/utils.py +0 -0
  287. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/connector_qa/README.md +0 -0
  288. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/connector_qa/__init__.py +0 -0
  289. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/connector_qa/checks/__init__.py +0 -0
  290. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/connector_qa/checks/assets.py +0 -0
  291. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/connector_qa/checks/documentation/__init__.py +0 -0
  292. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/connector_qa/checks/documentation/documentation.py +0 -0
  293. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/connector_qa/checks/documentation/helpers.py +0 -0
  294. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/connector_qa/checks/documentation/models.py +0 -0
  295. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/connector_qa/checks/documentation/templates/documentation_headers_check_description.md.j2 +0 -0
  296. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/connector_qa/checks/documentation/templates/section_content_description.md.j2 +0 -0
  297. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/connector_qa/checks/documentation/templates/template.md.j2 +0 -0
  298. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/connector_qa/checks/metadata.py +0 -0
  299. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/connector_qa/checks/packaging.py +0 -0
  300. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/connector_qa/checks/security.py +0 -0
  301. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/connector_qa/checks/version.py +0 -0
  302. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/connector_qa/cli.py +0 -0
  303. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/connector_qa/consts.py +0 -0
  304. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/connector_qa/models.py +0 -0
  305. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/connector_qa/templates/__init__.py +0 -0
  306. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/connector_qa/templates/qa_checks.md.j2 +0 -0
  307. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/connector_qa/utils.py +0 -0
  308. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/constants.py +0 -0
  309. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/docker_hub.py +0 -0
  310. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/gcp_auth.py +0 -0
  311. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/gcp_logs/__init__.py +0 -0
  312. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/gcp_logs/error_lookup.py +0 -0
  313. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/github_actions.py +0 -0
  314. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/mcp/__init__.py +0 -0
  315. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/mcp/_guidance.py +0 -0
  316. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/mcp/cloud_connector_versions.py +0 -0
  317. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/mcp/connector_analysis.py +0 -0
  318. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/mcp/connector_qa.py +0 -0
  319. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/mcp/gcp_logs.py +0 -0
  320. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/mcp/github_actions.py +0 -0
  321. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/mcp/github_repo_ops.py +0 -0
  322. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/mcp/metadata.py +0 -0
  323. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/mcp/prerelease.py +0 -0
  324. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/mcp/prod_db_queries.py +0 -0
  325. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/mcp/prompts.py +0 -0
  326. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/mcp/registry.py +0 -0
  327. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/mcp/regression_tests.py +0 -0
  328. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/mcp/server.py +0 -0
  329. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/metadata_validator.py +0 -0
  330. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/prod_db_access/__init__.py +0 -0
  331. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/prod_db_access/db_engine.py +0 -0
  332. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/prod_db_access/py.typed +0 -0
  333. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/prod_db_access/queries.py +0 -0
  334. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/prod_db_access/sql.py +0 -0
  335. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/py.typed +0 -0
  336. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/registry/__init__.py +0 -0
  337. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/registry/models.py +0 -0
  338. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/regression_tests/__init__.py +0 -0
  339. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/regression_tests/cdk_secrets.py +0 -0
  340. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/regression_tests/ci_output.py +0 -0
  341. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/regression_tests/commons/__init__.py +0 -0
  342. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/regression_tests/config.py +0 -0
  343. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/regression_tests/connection_fetcher.py +0 -0
  344. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/regression_tests/connection_secret_retriever.py +0 -0
  345. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/regression_tests/connector_runner.py +0 -0
  346. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/regression_tests/evaluation_modes.py +0 -0
  347. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/regression_tests/http_metrics.py +0 -0
  348. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/regression_tests/message_cache/__init__.py +0 -0
  349. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/regression_tests/message_cache/duckdb_cache.py +0 -0
  350. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/regression_tests/models.py +0 -0
  351. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/regression_tests/obfuscation.py +0 -0
  352. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/regression_tests/regression/__init__.py +0 -0
  353. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/regression_tests/regression/comparators.py +0 -0
  354. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/regression_tests/schema_generation.py +0 -0
  355. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/regression_tests/validation/__init__.py +0 -0
  356. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/regression_tests/validation/catalog_validators.py +0 -0
  357. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/regression_tests/validation/record_validators.py +0 -0
  358. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/src/airbyte_ops_mcp/telemetry.py +0 -0
  359. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/__init__.py +0 -0
  360. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/connector_erd_generator/__init__.py +0 -0
  361. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/connector_erd_generator/builder.py +0 -0
  362. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/connector_erd_generator/test_dbml_assembler.py +0 -0
  363. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/connector_erd_generator/test_relationships.py +0 -0
  364. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/connector_ops/conftest.py +0 -0
  365. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/bad-header.md +0 -0
  366. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/bad-title.md +0 -0
  367. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/extra-header.md +0 -0
  368. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/missing-entry.md +0 -0
  369. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/out-of-order.md +0 -0
  370. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/connector_ops/test_utils.py +0 -0
  371. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/connector_qa/__init__.py +0 -0
  372. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/connector_qa/conftest.py +0 -0
  373. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/connector_qa/integration_tests/__init__.py +0 -0
  374. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/connector_qa/integration_tests/test_documentation.py +0 -0
  375. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/__init__.py +0 -0
  376. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/__init__.py +0 -0
  377. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/data/docs/correct.md +0 -0
  378. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/data/docs/incorrect_not_all_structure.md +0 -0
  379. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/data/docs/invalid_links.md +0 -0
  380. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_assets.py +0 -0
  381. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_documentation.py +0 -0
  382. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_metadata.py +0 -0
  383. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_packaging.py +0 -0
  384. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_security.py +0 -0
  385. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_version.py +0 -0
  386. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_models.py +0 -0
  387. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/__init__.py +0 -0
  388. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/conftest.py +0 -0
  389. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_actions/test_environments.py +0 -0
  390. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_bases.py +0 -0
  391. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_build_image/__init__.py +0 -0
  392. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_build_image/dummy_build_customization.py +0 -0
  393. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_build_image/test_manifest_only_connectors.py +0 -0
  394. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_build_image/test_python_connectors.py +0 -0
  395. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_build_image/test_steps/test_common.py +0 -0
  396. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/changelog_header_no_newline.md +0 -0
  397. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/changelog_header_no_separator.md +0 -0
  398. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/no_changelog_header.md +0 -0
  399. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/valid_changelog_at_end.md +0 -0
  400. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/valid_changelog_in_middle.md +0 -0
  401. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/changelog_header_no_newline.md +0 -0
  402. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/changelog_header_no_separator.md +0 -0
  403. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_version_date_valid_changelog_at_end.md +0 -0
  404. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_version_date_valid_changelog_in_middle.md +0 -0
  405. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_versions_valid_changelog_at_end.md +0 -0
  406. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_versions_valid_changelog_in_middle.md +0 -0
  407. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/duplicate_entry_valid_changelog_at_end.md +0 -0
  408. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/duplicate_entry_valid_changelog_in_middle.md +0 -0
  409. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/existing_entries_valid_changelog_at_end.md +0 -0
  410. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/existing_entries_valid_changelog_in_middle.md +0 -0
  411. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/no_changelog_header.md +0 -0
  412. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/single_insert_valid_changelog_at_end.md +0 -0
  413. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/single_insert_valid_changelog_in_middle.md +0 -0
  414. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_changelog.py +0 -0
  415. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_cli/__init__.py +0 -0
  416. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_cli/test_click_decorators.py +0 -0
  417. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_commands/__init__.py +0 -0
  418. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_commands/test_groups/__init__.py +0 -0
  419. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_commands/test_groups/test_connectors.py +0 -0
  420. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_dagger/__init__.py +0 -0
  421. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_dagger/test_actions/__init__.py +0 -0
  422. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_dagger/test_actions/test_python/__init__.py +0 -0
  423. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_dagger/test_actions/test_python/test_common.py +0 -0
  424. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_gradle.py +0 -0
  425. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_helpers/__init__.py +0 -0
  426. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_execution/__init__.py +0 -0
  427. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_execution/test_argument_parsing.py +0 -0
  428. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_execution/test_run_steps.py +0 -0
  429. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_pip.py +0 -0
  430. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_utils.py +0 -0
  431. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_models/__init__.py +0 -0
  432. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_models/test_click_pipeline_context.py +0 -0
  433. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_models/test_singleton.py +0 -0
  434. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_poetry/test_poetry_publish.py +0 -0
  435. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_publish.py +0 -0
  436. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_steps/__init__.py +0 -0
  437. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_steps/test_simple_docker_step.py +0 -0
  438. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_steps/test_version_check.py +0 -0
  439. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_tests/__init__.py +0 -0
  440. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_tests/test_common.py +0 -0
  441. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_tests/test_python_connectors.py +0 -0
  442. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/test_upgrade_java_cdk.py +0 -0
  443. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/legacy/airbyte_ci/pipelines/utils.py +0 -0
  444. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/test_airbyte_admin_mcp.py +0 -0
  445. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/test_bump_version.py +0 -0
  446. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/test_cli_registry.py +0 -0
  447. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/test_list_connectors.py +0 -0
  448. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/test_prerelease.py +0 -0
  449. {airbyte_internal_ops-0.8.0 → airbyte_internal_ops-0.9.0}/tests/test_sentry.py +0 -0
@@ -1,15 +1,18 @@
1
1
  🎉 **Thanks for opening this pull request!**
2
2
 
3
- Your contribution is appreciated. Here are some helpful commands you can use:
3
+ Your contribution is appreciated.
4
4
 
5
- ## Quick Commands
5
+ <details>
6
+ <summary><b>💡 Show Tips and Tricks</b></summary>
7
+
8
+ ### Quick Commands
6
9
  - `/autofix` - Auto-format and fix linting issues (ruff format + ruff check --fix)
7
10
  - `/lock` - Update the uv.lock file with latest dependencies
8
11
 
9
- ## Available Poe Tasks
12
+ ### Available Poe Tasks
10
13
  You can run any of these tasks using the slash command: `/poe <task-name>`
11
14
 
12
- ### Core Tasks
15
+ #### Core Tasks
13
16
  - `/poe test` - Run all tests
14
17
  - `/poe test-fast` - Run tests with fast exit on first failure
15
18
  - `/poe lint` - Check code style and quality
@@ -17,16 +20,25 @@ You can run any of these tasks using the slash command: `/poe <task-name>`
17
20
  - `/poe deps` - Check for unused and missing dependencies
18
21
  - `/poe check` - Run format check, linting, dependency check, and tests
19
22
 
20
- ### Quick Fixes
23
+ #### Quick Fixes
21
24
  - `/poe fix` - Auto-format and fix linting issues
22
25
  - `/poe clean` - Clean up build artifacts and cache
23
26
 
24
- ### Build & Install
27
+ #### Build & Install
25
28
  - `/poe build` - Build the package
26
29
  - `/poe install` - Install with development dependencies
27
30
 
28
- ### Other Commands
31
+ #### Other Commands
29
32
  - `/poe version` - Show package version
30
33
  - `/poe pre-commit` - Run pre-commit style checks
31
34
 
35
+ </details>
36
+
37
+ <details>
38
+ <summary><b>📚 Show Repo Guidance</b></summary>
39
+
32
40
  The CI will automatically run tests when you push commits. Happy coding! 🚀
41
+
42
+ [📝 _Edit this welcome message._](https://github.com/airbytehq/airbyte-ops-mcp/blob/main/.github/pr-welcome-message.md)
43
+
44
+ </details>
@@ -6,7 +6,7 @@ name: Semantic PR Title Validation
6
6
 
7
7
  on:
8
8
  pull_request:
9
- types: [opened, edited, ready_for_review]
9
+ types: [opened, edited, ready_for_review, synchronize]
10
10
 
11
11
  permissions:
12
12
  contents: read
@@ -22,6 +22,7 @@ permissions:
22
22
  contents: read
23
23
  actions: read
24
24
  pull-requests: write
25
+ deployments: write
25
26
 
26
27
  env:
27
28
  STATE_ARTIFACT_NAME: pulumi-sentry-state
@@ -135,6 +136,9 @@ jobs:
135
136
  pip install "pulumi>=3.147.0,<4.0.0"
136
137
 
137
138
  - name: Generate Sentry provider SDK
139
+ # To avoid failures related to rate limiting:
140
+ env:
141
+ GITHUB_TOKEN: ${{ steps.get-app-token.outputs.token }}
138
142
  run: |
139
143
  pulumi package add terraform-provider jianyuan/sentry 0.14.8
140
144
 
@@ -26,6 +26,13 @@ jobs:
26
26
  run:
27
27
  working-directory: ${{ env.WORKING_DIRECTORY }}
28
28
  steps:
29
+ - name: Authenticate as GitHub App
30
+ uses: actions/create-github-app-token@v2
31
+ id: get-app-token
32
+ with:
33
+ app-id: ${{ secrets.OCTAVIA_BOT_APP_ID }}
34
+ private-key: ${{ secrets.OCTAVIA_BOT_PRIVATE_KEY }}
35
+
29
36
  - name: Checkout code
30
37
  uses: actions/checkout@v6
31
38
 
@@ -42,6 +49,9 @@ jobs:
42
49
  pip install "pulumi>=3.147.0,<4.0.0"
43
50
 
44
51
  - name: Generate Sentry provider SDK
52
+ # To avoid failures related to rate limiting:
53
+ env:
54
+ GITHUB_TOKEN: ${{ steps.get-app-token.outputs.token }}
45
55
  run: |
46
56
  pulumi package add terraform-provider jianyuan/sentry 0.14.8
47
57
 
@@ -121,20 +131,22 @@ jobs:
121
131
  id: find-comment
122
132
  with:
123
133
  issue-number: ${{ github.event.pull_request.number }}
124
- comment-author: 'github-actions[bot]'
134
+ comment-author: 'octavia-bot[bot]'
125
135
  body-includes: '<!-- pulumi-preview-comment -->'
136
+ token: ${{ steps.get-app-token.outputs.token }}
126
137
 
127
138
  - name: Create or update preview comment
128
139
  uses: peter-evans/create-or-update-comment@v5
129
140
  with:
141
+ token: ${{ steps.get-app-token.outputs.token }}
130
142
  comment-id: ${{ steps.find-comment.outputs.comment-id }}
131
143
  issue-number: ${{ github.event.pull_request.number }}
132
144
  edit-mode: replace
133
145
  body: |
134
146
  <!-- pulumi-preview-comment -->
135
- #### Pulumi Preview
147
+ #### 🔮 Pulumi Preview
136
148
 
137
- <details><summary>Summary (readable overview)</summary>
149
+ <details><summary>📋 Summary (readable overview)</summary>
138
150
 
139
151
  ```
140
152
  ${{ steps.preview.outputs.preview_output }}
@@ -142,7 +154,7 @@ jobs:
142
154
 
143
155
  </details>
144
156
 
145
- <details><summary>Detailed Diff (property-level changes for audit)</summary>
157
+ <details><summary>🔍 Detailed Diff (property-level changes for audit)</summary>
146
158
 
147
159
  ```diff
148
160
  ${{ steps.preview_diff.outputs.preview_diff_output }}
@@ -153,4 +165,4 @@ jobs:
153
165
  *Pushed by: @${{ github.actor }}, Action: `${{ github.event_name }}`*
154
166
 
155
167
  ---
156
- These changes will be applied when this PR is merged to `main`. Alternatively, you can run `/sentry-apply` to apply these changes now, before merging.
168
+ These changes will be applied when this PR is merged to `main`. Alternatively, you can run `/sentry-apply` to apply these changes now, before merging. 🚀
@@ -94,6 +94,24 @@ gcloud projects add-iam-policy-binding prod-ab-cloud-proj \
94
94
 
95
95
  Note: `roles/cloudsql.client` is required for the Cloud SQL Python Connector and Cloud SQL Auth Proxy to establish connections. `roles/cloudsql.instanceUser` is typically needed for IAM database authentication; it may be redundant when using username/password authentication (as this codebase does), but some environments may still require it.
96
96
 
97
+ #### GCS Metadata Service Bucket Permissions
98
+
99
+ For tools that interact with the connector metadata service buckets (e.g., `airbyte-ops registry enterprise-stubs sync`), grant read/write access to the appropriate bucket:
100
+
101
+ ```bash
102
+ # Grant read/write access to the dev metadata service bucket
103
+ gcloud storage buckets add-iam-policy-binding gs://dev-airbyte-cloud-connector-metadata-service-2 \
104
+ --member="serviceAccount:YOUR_SERVICE_ACCOUNT@YOUR_PROJECT.iam.gserviceaccount.com" \
105
+ --role="roles/storage.objectAdmin"
106
+
107
+ # Grant read/write access to the prod metadata service bucket (use with caution)
108
+ gcloud storage buckets add-iam-policy-binding gs://prod-airbyte-cloud-connector-metadata-service \
109
+ --member="serviceAccount:YOUR_SERVICE_ACCOUNT@YOUR_PROJECT.iam.gserviceaccount.com" \
110
+ --role="roles/storage.objectAdmin"
111
+ ```
112
+
113
+ Note: `roles/storage.objectAdmin` grants read, write, and delete permissions on objects in the bucket. For read-only access, use `roles/storage.objectViewer` instead.
114
+
97
115
  #### Cloud Logging Permissions
98
116
 
99
117
  For tools that query GCP Cloud Logging (e.g., `lookup_cloud_backend_error`), grant the Logs Viewer role at the project level:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: airbyte-internal-ops
3
- Version: 0.8.0
3
+ Version: 0.9.0
4
4
  Summary: MCP and API interfaces that let the agents do the admin work
5
5
  Author-email: Aaron Steers <aj@airbyte.io>
6
6
  Keywords: admin,airbyte,api,mcp
@@ -32,6 +32,7 @@ Requires-Dist: jinja2<4.0,>=3.1.2
32
32
  Requires-Dist: markdown-it-py<3.0,>=2.2.0
33
33
  Requires-Dist: pydantic>=2.0.0
34
34
  Requires-Dist: pydash<8.0,>=6.0.2
35
+ Requires-Dist: pygithub<3.0,>=2.0
35
36
  Requires-Dist: python-dotenv<2.0,>=1.0.0
36
37
  Requires-Dist: pyyaml<7.0,>=6.0.0
37
38
  Requires-Dist: requests<3.0,>=2.31.0
@@ -134,27 +134,28 @@ CONNECTOR_INCIDENTS_OWNERSHIP_RULES = """\
134
134
  # Auto assign issue owners in order to forward the alerts to the relevant teams
135
135
  # in order to not miss anything, the alerts for api connectors should be set up as [NOT db-connectors]
136
136
 
137
- # python issues should get auto assigned to api connectors team (team-maintain)
138
- tags.stacktrace_platform:python #team-maintain
139
- tags.connector_language:python #team-maintain
140
- tags.source_type:python #team-maintain
141
- tags.source_type:manifest-only #team-maintain
137
+ # python issues should get auto assigned to api connectors team (team-integrate)
138
+ tags.stacktrace_platform:python #team-integrate
139
+ tags.connector_language:python #team-integrate
140
+ tags.source_type:python #team-integrate
141
+ tags.source_type:manifest-only #team-integrate
142
142
 
143
143
  # Check failures happening on platform will mark stacktrace_platform as java, thus even if connectors are api connectors they'll be classified as db connectors. Adding the following (incomplete) rules to avoid that scenario.
144
- tags.connector_repository:airbyte/source-facebook-marketing #team-maintain
145
- tags.connector_repository:airbyte/source-google-analytics-v4 #team-maintain
146
- tags.connector_repository:airbyte/source-google-ads #team-maintain
147
- tags.connector_repository:airbyte/source-bigquery #team-maintain
148
- tags.connector_repository:airbyte/source-shopify #team-maintain
149
- tags.connector_repository:airbyte/source-declarative-manifest #team-maintain
144
+ tags.connector_repository:airbyte/source-facebook-marketing #team-integrate
145
+ tags.connector_repository:airbyte/source-google-analytics-v4 #team-integrate
146
+ tags.connector_repository:airbyte/source-google-ads #team-integrate
147
+ tags.connector_repository:airbyte/source-bigquery #team-integrate
148
+ tags.connector_repository:airbyte/source-shopify #team-integrate
149
+ tags.connector_repository:airbyte/source-declarative-manifest #team-integrate
150
150
 
151
151
  # connector_language is only set on sources
152
152
  tags.source_type:java #team-extract
153
153
 
154
- # java and normalization failures should go to either destination or sources
155
- # order is important here, as python errors in normalization will be routed to dbs
156
- tags.failure_origin:destination #team-move
157
- tags.stacktrace_platform:java #team-move"""
154
+ # Source failures should go to team-extract
155
+ tags.failure_origin:source #team-extract
156
+
157
+ # Destination failures should go to team-move
158
+ tags.failure_origin:destination #team-move"""
158
159
 
159
160
  # Fingerprint rules for connector-ci project
160
161
  CONNECTOR_CI_FINGERPRINTING_RULES = """\
@@ -260,8 +261,11 @@ def define_abctl_project() -> tuple[sentry.Project, OutputVarsMap]:
260
261
  filters=sentry.ProjectFiltersArgs(
261
262
  error_messages=[
262
263
  "*kong.ParseError: unexpected argument start",
264
+ "*kong.ParseError: unexpected argument stop",
265
+ "*kong.ParseError: unknown flag --output",
263
266
  "*values.yaml*no such file or directory*",
264
267
  "*values.yml*no such file or directory*",
268
+ "*error reading pgdata version file*",
265
269
  ],
266
270
  ),
267
271
  opts=pulumi.ResourceOptions(protect=True),
@@ -761,6 +765,109 @@ def define_connector_incidents_ownership() -> sentry.ProjectOwnership:
761
765
  )
762
766
 
763
767
 
768
+ # =============================================================================
769
+ # CORAL-AGENTS ALERT RULES
770
+ # =============================================================================
771
+
772
+
773
+ def define_coral_agents_alert_rules() -> list[sentry.IssueAlert]:
774
+ """Define alert rules for the coral-agents project.
775
+
776
+ Slack-only alerts for the AI agent service. These alerts notify the team
777
+ when new issues appear or existing issues regress/reappear.
778
+
779
+ The High Error Volume alert is a P0-candidate that will trigger PagerDuty
780
+ once a PagerDuty service is configured for coral-agents. Currently Slack-only.
781
+
782
+ Returns:
783
+ List of IssueAlert resources.
784
+ """
785
+ # PagerDuty service ID for coral-agents (to be configured when ownership is determined)
786
+ # Set to empty string to disable PagerDuty alerts, or set to service ID to enable
787
+ # To enable: 1) Create PagerDuty service, 2) Link to Sentry, 3) Set service ID here
788
+ coral_agents_pagerduty_service_id = "" # TODO: 1) Create PagerDuty service, 2) Link to Sentry, 3) Set service ID here
789
+
790
+ # Build actions list - always include Slack, conditionally include PagerDuty
791
+ high_volume_actions = []
792
+ if coral_agents_pagerduty_service_id:
793
+ high_volume_actions.append(
794
+ sentry.IssueAlertActionsV2Args(
795
+ pagerduty_notify_service=sentry.IssueAlertActionsV2PagerdutyNotifyServiceArgs(
796
+ account="139284",
797
+ service=coral_agents_pagerduty_service_id,
798
+ severity="critical",
799
+ ),
800
+ ),
801
+ )
802
+ high_volume_actions.append(
803
+ sentry.IssueAlertActionsV2Args(
804
+ slack_notify_service=sentry.IssueAlertActionsV2SlackNotifyServiceArgs(
805
+ channel="#dev-platform-chatbot-alerts",
806
+ workspace="139867",
807
+ ),
808
+ ),
809
+ )
810
+
811
+ return [
812
+ # Alert: New or Escalating Issues - catch new bugs early
813
+ # Triggers on first occurrence, regression, or reappearance of issues
814
+ sentry.IssueAlert(
815
+ "alert-coral-agents-new-issues",
816
+ organization=ORGANIZATION,
817
+ project=CORAL_AGENTS_PROJECT_ID,
818
+ name="Coral Agents: New or Escalating Issues",
819
+ action_match="any",
820
+ filter_match="all",
821
+ frequency=5, # 5 minutes - catch issues quickly
822
+ environment="prod",
823
+ conditions_v2s=[
824
+ sentry.IssueAlertConditionsV2Args(
825
+ first_seen_event=sentry.IssueAlertConditionsV2FirstSeenEventArgs(),
826
+ ),
827
+ sentry.IssueAlertConditionsV2Args(
828
+ regression_event=sentry.IssueAlertConditionsV2RegressionEventArgs(),
829
+ ),
830
+ sentry.IssueAlertConditionsV2Args(
831
+ reappeared_event=sentry.IssueAlertConditionsV2ReappearedEventArgs(),
832
+ ),
833
+ ],
834
+ filters_v2s=[], # No filters - alert on all new issues
835
+ actions_v2s=[
836
+ sentry.IssueAlertActionsV2Args(
837
+ slack_notify_service=sentry.IssueAlertActionsV2SlackNotifyServiceArgs(
838
+ channel="#dev-platform-chatbot-alerts",
839
+ workspace="139867",
840
+ ),
841
+ ),
842
+ ],
843
+ ),
844
+ # Alert: High Error Volume (P0 candidate) - pages on-call when enabled
845
+ # Triggers when error volume exceeds threshold, indicating widespread issues
846
+ # Currently Slack-only; PagerDuty will be enabled when service ID is configured
847
+ sentry.IssueAlert(
848
+ "alert-coral-agents-high-volume",
849
+ organization=ORGANIZATION,
850
+ project=CORAL_AGENTS_PROJECT_ID,
851
+ name="Coral Agents: High Error Volume (P0)",
852
+ action_match="any",
853
+ filter_match="all",
854
+ frequency=60, # Once per hour max to avoid alert fatigue
855
+ environment="prod",
856
+ conditions_v2s=[
857
+ sentry.IssueAlertConditionsV2Args(
858
+ event_frequency=sentry.IssueAlertConditionsV2EventFrequencyArgs(
859
+ comparison_type="count",
860
+ interval="1h",
861
+ value=50, # >=50 events in 1 hour indicates widespread issue
862
+ ),
863
+ ),
864
+ ],
865
+ filters_v2s=[], # No filters - alert on all high-volume issues
866
+ actions_v2s=high_volume_actions,
867
+ ),
868
+ ]
869
+
870
+
764
871
  # =============================================================================
765
872
  # MAIN - Entry point for Pulumi
766
873
  # =============================================================================
@@ -785,6 +892,9 @@ def main() -> None:
785
892
  # Note: Ownership resource is created for side effects; return value not needed
786
893
  define_connector_incidents_ownership()
787
894
 
895
+ # Create alert rules for coral-agents project
896
+ define_coral_agents_alert_rules()
897
+
788
898
  # Export organization-level outputs
789
899
  pulumi.export("organization", ORGANIZATION)
790
900
  pulumi.export("alert_rules_url", f"https://{ORGANIZATION}.sentry.io/alerts/rules/")
@@ -29,6 +29,7 @@ dependencies = [
29
29
  "markdown-it-py>=2.2.0,<3.0",
30
30
  "pydantic>=2.0.0",
31
31
  "pydash>=6.0.2,<8.0",
32
+ "PyGithub>=2.0,<3.0",
32
33
  "python-dotenv>=1.0.0,<2.0",
33
34
  "pyyaml>=6.0.0,<7.0",
34
35
  "requests>=2.31.0,<3.0",