airbyte-internal-ops 0.1.8__tar.gz → 0.2.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 (557) hide show
  1. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/.github/workflows/connector-live-test.yml +26 -0
  2. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/.github/workflows/connector-regression-test.yml +39 -4
  3. airbyte_internal_ops-0.2.0/.github/workflows/live-tests-ci.yml +33 -0
  4. airbyte_internal_ops-0.2.0/.github/workflows/sentry-apply-command.yml +293 -0
  5. airbyte_internal_ops-0.2.0/.github/workflows/sentry-preview.yml +153 -0
  6. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/.github/workflows/slash-command-dispatch.yml +1 -0
  7. airbyte_internal_ops-0.2.0/.github/workflows/tk-todo-check.yml +45 -0
  8. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/PKG-INFO +1 -1
  9. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/bin/test_mcp_tool.py +1 -1
  10. airbyte_internal_ops-0.2.0/bin/test_mcp_tool_http.py +110 -0
  11. airbyte_internal_ops-0.2.0/infra/sentry/.gitignore +31 -0
  12. airbyte_internal_ops-0.2.0/infra/sentry/Pulumi.prod.yaml +72 -0
  13. airbyte_internal_ops-0.2.0/infra/sentry/Pulumi.yaml +29 -0
  14. airbyte_internal_ops-0.2.0/infra/sentry/README.md +230 -0
  15. airbyte_internal_ops-0.2.0/infra/sentry/__main__.py +347 -0
  16. airbyte_internal_ops-0.2.0/infra/sentry/docs/CONTRIBUTING.md +229 -0
  17. airbyte_internal_ops-0.2.0/infra/sentry/requirements.txt +11 -0
  18. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/poe_tasks.toml +4 -0
  19. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/pyproject.toml +3 -0
  20. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/README.md +2 -2
  21. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/registry_entry.py +3 -2
  22. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/cli/cloud.py +342 -4
  23. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/cli/registry.py +2 -2
  24. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/cloud_admin/api_client.py +1 -1
  25. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/cloud_admin/auth.py +32 -0
  26. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/constants.py +27 -0
  27. airbyte_internal_ops-0.2.0/src/airbyte_ops_mcp/github_actions.py +218 -0
  28. airbyte_internal_ops-0.2.0/src/airbyte_ops_mcp/live_tests/cdk_secrets.py +90 -0
  29. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/live_tests/ci_output.py +55 -5
  30. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/live_tests/connector_runner.py +3 -0
  31. airbyte_internal_ops-0.2.0/src/airbyte_ops_mcp/mcp/_http_headers.py +198 -0
  32. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/mcp/cloud_connector_versions.py +118 -22
  33. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/mcp/github.py +4 -23
  34. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/mcp/live_tests.py +46 -84
  35. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/mcp/prerelease.py +12 -34
  36. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/mcp/prod_db_queries.py +90 -0
  37. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/mcp/server.py +81 -8
  38. airbyte_internal_ops-0.2.0/src/airbyte_ops_mcp/prod_db_access/db_engine.py +261 -0
  39. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/prod_db_access/queries.py +68 -2
  40. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/prod_db_access/sql.py +92 -2
  41. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/test_cli_registry.py +1 -1
  42. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/prod_db_access/db_engine.py +0 -126
  43. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/.env.template +0 -0
  44. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/.github/copilot-instructions.md +0 -0
  45. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/.github/dependabot.yml +0 -0
  46. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/.github/pr-welcome-message.md +0 -0
  47. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/.github/release-drafter.yml +0 -0
  48. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/.github/workflows/autofix-command.yml +0 -0
  49. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/.github/workflows/format-check.yml +0 -0
  50. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/.github/workflows/lint-check.yml +0 -0
  51. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/.github/workflows/lock-command.yml +0 -0
  52. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/.github/workflows/pdoc_preview.yml +0 -0
  53. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/.github/workflows/pdoc_publish.yml +0 -0
  54. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/.github/workflows/poe-command.yml +0 -0
  55. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/.github/workflows/pr-welcome.yml +0 -0
  56. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/.github/workflows/publish.yml +0 -0
  57. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/.github/workflows/pytest-fast.yml +0 -0
  58. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/.github/workflows/pytest-matrix.yml +0 -0
  59. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/.github/workflows/release-drafter.yml +0 -0
  60. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/.github/workflows/test-connection-retriever.yml +0 -0
  61. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/.gitignore +0 -0
  62. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/.mcp.json.template +0 -0
  63. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/CONTRIBUTING.md +0 -0
  64. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/README.md +0 -0
  65. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/conftest.py +0 -0
  66. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/docs/.gitignore +0 -0
  67. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/docs/generate.py +0 -0
  68. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/docs/templates/custom.css +0 -0
  69. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/docs/templates/theme.css +0 -0
  70. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/pyrefly.toml +0 -0
  71. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/pytest.ini +0 -0
  72. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/ruff.toml +0 -0
  73. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/__init__.py +0 -0
  74. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_annotations.py +0 -0
  75. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/__init__.py +0 -0
  76. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/README.md +0 -0
  77. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/README.md +0 -0
  78. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/__init__.py +0 -0
  79. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/dbml_assembler.py +0 -0
  80. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/erd_service.py +0 -0
  81. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/relationships.py +0 -0
  82. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/README.md +0 -0
  83. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/__init__.py +0 -0
  84. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/cli.py +0 -0
  85. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/hacks.py +0 -0
  86. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/insights.py +0 -0
  87. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/models.py +0 -0
  88. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/pylint.py +0 -0
  89. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/pylint_plugins/cdk_deprecation_checkers.py +0 -0
  90. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/result_backends.py +0 -0
  91. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/utils.py +0 -0
  92. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/.gitignore +0 -0
  93. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/README.md +0 -0
  94. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/__init__.py +0 -0
  95. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/__init__.py +0 -0
  96. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/__init__.py +0 -0
  97. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/base_backend.py +0 -0
  98. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/duckdb_backend.py +0 -0
  99. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/file_backend.py +0 -0
  100. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/connection_objects_retrieval.py +0 -0
  101. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/connector_runner.py +0 -0
  102. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/errors.py +0 -0
  103. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/evaluation_modes.py +0 -0
  104. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/hacks.py +0 -0
  105. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/json_schema_helper.py +0 -0
  106. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/mitm_addons.py +0 -0
  107. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/models.py +0 -0
  108. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/proxy.py +0 -0
  109. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/secret_access.py +0 -0
  110. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/segment_tracking.py +0 -0
  111. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/utils.py +0 -0
  112. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/conftest.py.disabled +0 -0
  113. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/consts.py +0 -0
  114. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/poetry.lock +0 -0
  115. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/pytest.ini +0 -0
  116. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/__init__.py +0 -0
  117. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_check.py +0 -0
  118. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_discover.py +0 -0
  119. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_read.py +0 -0
  120. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_spec.py +0 -0
  121. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/report.py +0 -0
  122. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/stash_keys.py +0 -0
  123. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/templates/__init__.py +0 -0
  124. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/templates/private_details.html.j2 +0 -0
  125. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/templates/report.html.j2 +0 -0
  126. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/utils.py +0 -0
  127. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/__init__.py +0 -0
  128. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_check.py +0 -0
  129. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_discover.py +0 -0
  130. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_read.py +0 -0
  131. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_spec.py +0 -0
  132. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_ops/README.md +0 -0
  133. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_ops/__init__.py +0 -0
  134. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_ops/utils.py +0 -0
  135. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/README.md +0 -0
  136. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/__init__.py +0 -0
  137. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/connector/hooks.py +0 -0
  138. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/connector/normalization.py +0 -0
  139. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/python/common.py +0 -0
  140. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/python/pipx.py +0 -0
  141. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/python/poetry.py +0 -0
  142. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/remote_storage.py +0 -0
  143. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/secrets.py +0 -0
  144. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/system/common.py +0 -0
  145. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/system/docker.py +0 -0
  146. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/git.py +0 -0
  147. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/internal_tools.py +0 -0
  148. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/java.py +0 -0
  149. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/python.py +0 -0
  150. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/__init__.py +0 -0
  151. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/cache_keys.py +0 -0
  152. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/cli.py +0 -0
  153. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/__init__.py +0 -0
  154. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/cdk_helpers.py +0 -0
  155. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/command.py +0 -0
  156. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/dagger_fs.py +0 -0
  157. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/format.py +0 -0
  158. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/modifed.py +0 -0
  159. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/yaml.py +0 -0
  160. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/execution/__init__.py +0 -0
  161. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/execution/argument_parsing.py +0 -0
  162. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/execution/run_steps.py +0 -0
  163. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/gcs.py +0 -0
  164. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/git.py +0 -0
  165. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/github.py +0 -0
  166. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/pip.py +0 -0
  167. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/sentry_utils.py +0 -0
  168. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/slack.py +0 -0
  169. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/utils.py +0 -0
  170. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/README.md +0 -0
  171. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/__init__.py +0 -0
  172. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/__init__.py +0 -0
  173. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/__init__.py +0 -0
  174. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/__init__.py +0 -0
  175. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/commands.py +0 -0
  176. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/pipeline.py +0 -0
  177. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/__init__.py +0 -0
  178. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/build_customization.py +0 -0
  179. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/common.py +0 -0
  180. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/java_connectors.py +0 -0
  181. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/manifest_only_connectors.py +0 -0
  182. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/normalization.py +0 -0
  183. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/python_connectors.py +0 -0
  184. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/commands.py +0 -0
  185. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/consts.py +0 -0
  186. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/context.py +0 -0
  187. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/generate_erd/__init__.py +0 -0
  188. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/generate_erd/commands.py +0 -0
  189. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/generate_erd/pipeline.py +0 -0
  190. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/list/__init__.py +0 -0
  191. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/list/commands.py +0 -0
  192. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/migrate_to_inline_schemas/__init__.py +0 -0
  193. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/migrate_to_inline_schemas/commands.py +0 -0
  194. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/migrate_to_inline_schemas/pipeline.py +0 -0
  195. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pipeline.py +0 -0
  196. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pull_request/__init__.py +0 -0
  197. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pull_request/commands.py +0 -0
  198. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pull_request/pipeline.py +0 -0
  199. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/reports.py +0 -0
  200. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/__init__.py +0 -0
  201. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/commands.py +0 -0
  202. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/context.py +0 -0
  203. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/pipeline.py +0 -0
  204. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/__init__.py +0 -0
  205. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/common.py +0 -0
  206. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/java_connectors.py +0 -0
  207. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/manifest_only_connectors.py +0 -0
  208. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/python_connectors.py +0 -0
  209. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/templates/test_report.html.j2 +0 -0
  210. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/__init__.py +0 -0
  211. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/commands.py +0 -0
  212. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/pipeline.py +0 -0
  213. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/steps.py +0 -0
  214. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.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
  215. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/upgrade_cdk/__init__.py +0 -0
  216. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/upgrade_cdk/commands.py +0 -0
  217. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/upgrade_cdk/pipeline.py +0 -0
  218. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/metadata/__init__.py +0 -0
  219. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/metadata/commands.py +0 -0
  220. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/metadata/pipeline.py +0 -0
  221. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/poetry/__init__.py +0 -0
  222. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/poetry/commands.py +0 -0
  223. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/__init__.py +0 -0
  224. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/base_image.py +0 -0
  225. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/docker.py +0 -0
  226. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/gradle.py +0 -0
  227. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/no_op.py +0 -0
  228. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/poetry.py +0 -0
  229. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/pull_request.py +0 -0
  230. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/__init__.py +0 -0
  231. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/commands.py +0 -0
  232. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/models.py +0 -0
  233. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/pipeline.py +0 -0
  234. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/update/__init__.py +0 -0
  235. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/update/commands.py +0 -0
  236. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/airbyte_ci.py +0 -0
  237. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/auto_update.py +0 -0
  238. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/click_decorators.py +0 -0
  239. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/confirm_prompt.py +0 -0
  240. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/dagger_pipeline_command.py +0 -0
  241. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/dagger_run.py +0 -0
  242. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/ensure_repo_root.py +0 -0
  243. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/lazy_group.py +0 -0
  244. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/secrets.py +0 -0
  245. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/telemetry.py +0 -0
  246. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/consts.py +0 -0
  247. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/hacks.py +0 -0
  248. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/__init__.py +0 -0
  249. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/artifacts.py +0 -0
  250. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/ci_requirements.py +0 -0
  251. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/contexts/__init__.py +0 -0
  252. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/contexts/click_pipeline_context.py +0 -0
  253. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/contexts/pipeline_context.py +0 -0
  254. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/reports.py +0 -0
  255. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/secrets.py +0 -0
  256. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/singleton.py +0 -0
  257. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/steps.py +0 -0
  258. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/README.md +0 -0
  259. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/__init__.py +0 -0
  260. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/__init__.py +0 -0
  261. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/assets.py +0 -0
  262. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/__init__.py +0 -0
  263. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/documentation.py +0 -0
  264. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/helpers.py +0 -0
  265. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/models.py +0 -0
  266. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/templates/documentation_headers_check_description.md.j2 +0 -0
  267. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/templates/section_content_description.md.j2 +0 -0
  268. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/templates/template.md.j2 +0 -0
  269. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/metadata.py +0 -0
  270. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/packaging.py +0 -0
  271. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/security.py +0 -0
  272. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/version.py +0 -0
  273. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/cli.py +0 -0
  274. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/consts.py +0 -0
  275. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/models.py +0 -0
  276. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/templates/__init__.py +0 -0
  277. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/templates/qa_checks.md.j2 +0 -0
  278. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/utils.py +0 -0
  279. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/bin/bundle-schemas.js +0 -0
  280. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/bin/generate-metadata-models.sh +0 -0
  281. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ActorDefinitionResourceRequirements.py +0 -0
  282. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/AirbyteInternal.py +0 -0
  283. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/AllowedHosts.py +0 -0
  284. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorBreakingChanges.py +0 -0
  285. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorBuildOptions.py +0 -0
  286. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorIPCOptions.py +0 -0
  287. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetadataDefinitionV0.json +0 -0
  288. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetadataDefinitionV0.py +0 -0
  289. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetrics.py +0 -0
  290. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorPackageInfo.py +0 -0
  291. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryDestinationDefinition.py +0 -0
  292. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryReleases.py +0 -0
  293. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistrySourceDefinition.py +0 -0
  294. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryV0.py +0 -0
  295. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorReleases.py +0 -0
  296. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorTestSuiteOptions.py +0 -0
  297. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/GeneratedFields.py +0 -0
  298. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/GitInfo.py +0 -0
  299. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/JobType.py +0 -0
  300. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/NormalizationDestinationDefinitionConfig.py +0 -0
  301. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RegistryOverrides.py +0 -0
  302. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ReleaseStage.py +0 -0
  303. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RemoteRegistries.py +0 -0
  304. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ResourceRequirements.py +0 -0
  305. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RolloutConfiguration.py +0 -0
  306. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/Secret.py +0 -0
  307. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SecretStore.py +0 -0
  308. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SourceFileInfo.py +0 -0
  309. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SuggestedStreams.py +0 -0
  310. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SupportLevel.py +0 -0
  311. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/TestConnections.py +0 -0
  312. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/__init__.py +0 -0
  313. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/airbyte-connector-metadata-schema.json +0 -0
  314. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ActorDefinitionResourceRequirements.yaml +0 -0
  315. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/AirbyteInternal.yaml +0 -0
  316. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/AllowedHosts.yaml +0 -0
  317. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorBreakingChanges.yaml +0 -0
  318. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorBuildOptions.yaml +0 -0
  319. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorIPCOptions.yaml +0 -0
  320. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorMetadataDefinitionV0.yaml +0 -0
  321. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorMetrics.yaml +0 -0
  322. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorPackageInfo.yaml +0 -0
  323. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryDestinationDefinition.yaml +0 -0
  324. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryReleases.yaml +0 -0
  325. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistrySourceDefinition.yaml +0 -0
  326. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryV0.yaml +0 -0
  327. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorReleases.yaml +0 -0
  328. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorTestSuiteOptions.yaml +0 -0
  329. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/GeneratedFields.yaml +0 -0
  330. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/GitInfo.yaml +0 -0
  331. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/JobType.yaml +0 -0
  332. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/NormalizationDestinationDefinitionConfig.yaml +0 -0
  333. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RegistryOverrides.yaml +0 -0
  334. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ReleaseStage.yaml +0 -0
  335. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RemoteRegistries.yaml +0 -0
  336. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ResourceRequirements.yaml +0 -0
  337. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RolloutConfiguration.yaml +0 -0
  338. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/Secret.yaml +0 -0
  339. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SecretStore.yaml +0 -0
  340. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SourceFileInfo.yaml +0 -0
  341. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SuggestedStreams.yaml +0 -0
  342. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SupportLevel.yaml +0 -0
  343. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/TestConnections.yaml +0 -0
  344. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/package-lock.json +0 -0
  345. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/package.json +0 -0
  346. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/transform.py +0 -0
  347. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/README.md +0 -0
  348. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/commands.py +0 -0
  349. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/constants.py +0 -0
  350. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/docker_hub.py +0 -0
  351. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/docs/external_documentation_urls.md +0 -0
  352. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/gcs_upload.py +0 -0
  353. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/files.py +0 -0
  354. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/gcs.py +0 -0
  355. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/object_helpers.py +0 -0
  356. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/slack.py +0 -0
  357. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/.env.template +0 -0
  358. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/README.md +0 -0
  359. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/dagster_cloud.yaml +0 -0
  360. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/__init__.py +0 -0
  361. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/connector_metrics.py +0 -0
  362. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/github.py +0 -0
  363. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/metadata.py +0 -0
  364. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/registry.py +0 -0
  365. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/registry_entry.py +0 -0
  366. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/registry_report.py +0 -0
  367. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/slack.py +0 -0
  368. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/specs_secrets_mask.py +0 -0
  369. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/config.py +0 -0
  370. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/fetcher/connector_cdk_version.py +0 -0
  371. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/hacks.py +0 -0
  372. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/jobs/registry.py +0 -0
  373. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/logging/publish_connector_lifecycle.py +0 -0
  374. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/logging/sentry.py +0 -0
  375. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/models/ci_report.py +0 -0
  376. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/models/metadata.py +0 -0
  377. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/ops/slack.py +0 -0
  378. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/file_managers/local_file_manager.py +0 -0
  379. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/gcp.py +0 -0
  380. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/github.py +0 -0
  381. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/local.py +0 -0
  382. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/sensors/gcs.py +0 -0
  383. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/sensors/github.py +0 -0
  384. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/sensors/registry.py +0 -0
  385. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/templates/base.html +0 -0
  386. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/templates/connector_registry_locations.html +0 -0
  387. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/templates/render.py +0 -0
  388. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/utils/blob_helpers.py +0 -0
  389. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/utils/dagster_helpers.py +0 -0
  390. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/utils/object_helpers.py +0 -0
  391. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/poetry.lock +0 -0
  392. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/__init__.py +0 -0
  393. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/conftest.py.disabled +0 -0
  394. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/fixtures/__init__.py +0 -0
  395. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/fixtures/cloud_registry.json +0 -0
  396. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/fixtures/oss_registry.json +0 -0
  397. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_connector_metrics.py +0 -0
  398. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_dagster_helpers.py +0 -0
  399. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_debug.py +0 -0
  400. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_partition_jobs.py +0 -0
  401. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_registry.py +0 -0
  402. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_specs_secrets_mask.py +0 -0
  403. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/registry.py +0 -0
  404. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/registry_report.py +0 -0
  405. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/sentry.py +0 -0
  406. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/spec_cache.py +0 -0
  407. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/specs_secrets_mask.py +0 -0
  408. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/stale_metadata_report.py +0 -0
  409. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/base.html +0 -0
  410. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/connector_registry_locations.html +0 -0
  411. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/render.py +0 -0
  412. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/validators/metadata_validator.py +0 -0
  413. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/airbyte_repo/__init__.py +0 -0
  414. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/airbyte_repo/bump_version.py +0 -0
  415. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/airbyte_repo/list_connectors.py +0 -0
  416. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/airbyte_repo/utils.py +0 -0
  417. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/cli/__init__.py +0 -0
  418. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/cli/_base.py +0 -0
  419. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/cli/_shared.py +0 -0
  420. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/cli/app.py +0 -0
  421. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/cli/gh.py +0 -0
  422. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/cli/repo.py +0 -0
  423. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/cloud_admin/__init__.py +0 -0
  424. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/cloud_admin/connection_config.py +0 -0
  425. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/cloud_admin/models.py +0 -0
  426. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/connection_config_retriever/__init__.py +0 -0
  427. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/connection_config_retriever/audit_logging.py +0 -0
  428. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/connection_config_retriever/retrieval.py +0 -0
  429. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/connection_config_retriever/secrets_resolution.py +0 -0
  430. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/gcp_auth.py +0 -0
  431. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/live_tests/__init__.py +0 -0
  432. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/live_tests/commons/__init__.py +0 -0
  433. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/live_tests/config.py +0 -0
  434. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/live_tests/connection_fetcher.py +0 -0
  435. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/live_tests/connection_secret_retriever.py +0 -0
  436. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/live_tests/evaluation_modes.py +0 -0
  437. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/live_tests/http_metrics.py +0 -0
  438. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/live_tests/message_cache/__init__.py +0 -0
  439. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/live_tests/message_cache/duckdb_cache.py +0 -0
  440. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/live_tests/models.py +0 -0
  441. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/live_tests/obfuscation.py +0 -0
  442. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/live_tests/regression/__init__.py +0 -0
  443. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/live_tests/regression/comparators.py +0 -0
  444. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/live_tests/schema_generation.py +0 -0
  445. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/live_tests/validation/__init__.py +0 -0
  446. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/live_tests/validation/catalog_validators.py +0 -0
  447. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/live_tests/validation/record_validators.py +0 -0
  448. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/mcp/__init__.py +0 -0
  449. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/mcp/_guidance.py +0 -0
  450. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/mcp/_mcp_utils.py +0 -0
  451. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/mcp/connector_analysis.py +0 -0
  452. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/mcp/connector_qa.py +0 -0
  453. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/mcp/github_repo_ops.py +0 -0
  454. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/mcp/metadata.py +0 -0
  455. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/mcp/prompts.py +0 -0
  456. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/mcp/registry.py +0 -0
  457. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/mcp/server_info.py +0 -0
  458. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/prod_db_access/__init__.py +0 -0
  459. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/prod_db_access/py.typed +0 -0
  460. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/py.typed +0 -0
  461. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/registry/__init__.py +0 -0
  462. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/registry/models.py +0 -0
  463. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/src/airbyte_ops_mcp/registry/publish.py +0 -0
  464. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/__init__.py +0 -0
  465. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_erd_generator/__init__.py +0 -0
  466. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_erd_generator/builder.py +0 -0
  467. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_erd_generator/test_dbml_assembler.py +0 -0
  468. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_erd_generator/test_relationships.py +0 -0
  469. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_live_tests/__init__.py +0 -0
  470. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_live_tests/backends/__init__.py +0 -0
  471. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_live_tests/backends/test_file_backend.py +0 -0
  472. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_live_tests/test_get_connection_objects_retrieval.py +0 -0
  473. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_live_tests/test_json_schema_helper.py +0 -0
  474. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_ops/conftest.py +0 -0
  475. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/bad-header.md +0 -0
  476. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/bad-title.md +0 -0
  477. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/extra-header.md +0 -0
  478. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/missing-entry.md +0 -0
  479. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/out-of-order.md +0 -0
  480. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_ops/test_utils.py +0 -0
  481. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_qa/__init__.py +0 -0
  482. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_qa/conftest.py +0 -0
  483. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_qa/integration_tests/__init__.py +0 -0
  484. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_qa/integration_tests/test_documentation.py +0 -0
  485. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/__init__.py +0 -0
  486. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/__init__.py +0 -0
  487. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/data/docs/correct.md +0 -0
  488. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/data/docs/incorrect_not_all_structure.md +0 -0
  489. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/data/docs/invalid_links.md +0 -0
  490. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_assets.py +0 -0
  491. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_documentation.py +0 -0
  492. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_metadata.py +0 -0
  493. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_packaging.py +0 -0
  494. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_security.py +0 -0
  495. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_version.py +0 -0
  496. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_models.py +0 -0
  497. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/__init__.py +0 -0
  498. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/conftest.py +0 -0
  499. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_actions/test_environments.py +0 -0
  500. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_bases.py +0 -0
  501. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_build_image/__init__.py +0 -0
  502. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_build_image/dummy_build_customization.py +0 -0
  503. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_build_image/test_manifest_only_connectors.py +0 -0
  504. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_build_image/test_python_connectors.py +0 -0
  505. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_build_image/test_steps/test_common.py +0 -0
  506. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/changelog_header_no_newline.md +0 -0
  507. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/changelog_header_no_separator.md +0 -0
  508. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/no_changelog_header.md +0 -0
  509. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/valid_changelog_at_end.md +0 -0
  510. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/valid_changelog_in_middle.md +0 -0
  511. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/changelog_header_no_newline.md +0 -0
  512. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/changelog_header_no_separator.md +0 -0
  513. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_version_date_valid_changelog_at_end.md +0 -0
  514. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_version_date_valid_changelog_in_middle.md +0 -0
  515. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_versions_valid_changelog_at_end.md +0 -0
  516. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_versions_valid_changelog_in_middle.md +0 -0
  517. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/duplicate_entry_valid_changelog_at_end.md +0 -0
  518. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/duplicate_entry_valid_changelog_in_middle.md +0 -0
  519. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/existing_entries_valid_changelog_at_end.md +0 -0
  520. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/existing_entries_valid_changelog_in_middle.md +0 -0
  521. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/no_changelog_header.md +0 -0
  522. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/single_insert_valid_changelog_at_end.md +0 -0
  523. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/single_insert_valid_changelog_in_middle.md +0 -0
  524. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_changelog.py +0 -0
  525. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_cli/__init__.py +0 -0
  526. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_cli/test_click_decorators.py +0 -0
  527. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_commands/__init__.py +0 -0
  528. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_commands/test_groups/__init__.py +0 -0
  529. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_commands/test_groups/test_connectors.py +0 -0
  530. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_dagger/__init__.py +0 -0
  531. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_dagger/test_actions/__init__.py +0 -0
  532. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_dagger/test_actions/test_python/__init__.py +0 -0
  533. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_dagger/test_actions/test_python/test_common.py +0 -0
  534. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_gradle.py +0 -0
  535. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_helpers/__init__.py +0 -0
  536. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_execution/__init__.py +0 -0
  537. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_execution/test_argument_parsing.py +0 -0
  538. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_execution/test_run_steps.py +0 -0
  539. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_pip.py +0 -0
  540. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_utils.py +0 -0
  541. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_models/__init__.py +0 -0
  542. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_models/test_click_pipeline_context.py +0 -0
  543. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_models/test_singleton.py +0 -0
  544. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_poetry/test_poetry_publish.py +0 -0
  545. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_publish.py +0 -0
  546. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_steps/__init__.py +0 -0
  547. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_steps/test_simple_docker_step.py +0 -0
  548. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_steps/test_version_check.py +0 -0
  549. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_tests/__init__.py +0 -0
  550. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_tests/test_common.py +0 -0
  551. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_tests/test_python_connectors.py +0 -0
  552. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/test_upgrade_java_cdk.py +0 -0
  553. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/legacy/airbyte_ci/pipelines/utils.py +0 -0
  554. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/test_airbyte_admin_mcp.py +0 -0
  555. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/test_bump_version.py +0 -0
  556. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/tests/test_list_connectors.py +0 -0
  557. {airbyte_internal_ops-0.1.8 → airbyte_internal_ops-0.2.0}/uv.lock +0 -0
@@ -13,6 +13,10 @@ on:
13
13
  description: "Connector name to build from source (e.g., 'source-pokeapi'). If provided, builds the image locally."
14
14
  required: false
15
15
  type: string
16
+ pr:
17
+ description: "PR number from the airbyte repo to checkout and build from (e.g., 70847). Only used when connector_name is provided."
18
+ required: false
19
+ type: string
16
20
  command:
17
21
  description: "Airbyte command to run"
18
22
  required: false
@@ -53,6 +57,27 @@ jobs:
53
57
  - name: Install dependencies
54
58
  run: uv sync --group dev
55
59
 
60
+ - name: Resolve Airbyte ref
61
+ if: ${{ inputs.connector_name != '' }}
62
+ id: resolve-airbyte-ref
63
+ run: |
64
+ if [ -n "${{ inputs.pr }}" ]; then
65
+ echo "resolved_ref=refs/pull/${{ inputs.pr }}/head" >> "$GITHUB_OUTPUT"
66
+ echo "Using PR ${{ inputs.pr }} -> refs/pull/${{ inputs.pr }}/head"
67
+ else
68
+ echo "resolved_ref=master" >> "$GITHUB_OUTPUT"
69
+ echo "No PR specified, using master"
70
+ fi
71
+
72
+ - name: Checkout Airbyte repo
73
+ if: ${{ inputs.connector_name != '' }}
74
+ uses: actions/checkout@v6
75
+ with:
76
+ repository: airbytehq/airbyte
77
+ ref: ${{ steps.resolve-airbyte-ref.outputs.resolved_ref }}
78
+ path: airbyte
79
+ fetch-depth: 1
80
+
56
81
  - name: Run Live Test
57
82
  id: live-test
58
83
  env:
@@ -67,6 +92,7 @@ jobs:
67
92
 
68
93
  if [ -n "${{ inputs.connector_name }}" ]; then
69
94
  ARGS+=(--connector-name "${{ inputs.connector_name }}")
95
+ ARGS+=(--repo-root "${{ github.workspace }}/airbyte")
70
96
  fi
71
97
 
72
98
  if [ -n "${{ inputs.connection_id }}" ]; then
@@ -18,6 +18,10 @@ on:
18
18
  description: "Connector name to build target image from source (e.g., 'source-pokeapi'). If provided, builds the target image locally."
19
19
  required: false
20
20
  type: string
21
+ pr:
22
+ description: "PR number from the airbyte repo to checkout and build from (e.g., 70847). Only used when connector_name is provided."
23
+ required: false
24
+ type: string
21
25
  command:
22
26
  description: "Airbyte command to run"
23
27
  required: false
@@ -51,6 +55,10 @@ on:
51
55
  description: "Connector name to build target image from source (e.g., 'source-pokeapi')."
52
56
  required: false
53
57
  type: string
58
+ pr:
59
+ description: "PR number from the airbyte repo to checkout and build from. Only used when connector_name is provided."
60
+ required: false
61
+ type: string
54
62
  command:
55
63
  description: "Airbyte command to run (spec, check, discover, read)"
56
64
  required: false
@@ -79,6 +87,8 @@ on:
79
87
  required: false
80
88
  AIRBYTE_CLOUD_CLIENT_SECRET:
81
89
  required: false
90
+ GCP_GSM_CREDENTIALS:
91
+ required: false
82
92
 
83
93
  jobs:
84
94
  regression-test:
@@ -105,11 +115,35 @@ jobs:
105
115
  - name: Install dependencies
106
116
  run: uv sync --group dev
107
117
 
118
+ - name: Resolve Airbyte ref
119
+ if: ${{ inputs.connector_name != '' }}
120
+ id: resolve-airbyte-ref
121
+ run: |
122
+ if [ -n "${{ inputs.pr }}" ]; then
123
+ echo "resolved_ref=refs/pull/${{ inputs.pr }}/head" >> "$GITHUB_OUTPUT"
124
+ echo "Using PR ${{ inputs.pr }} -> refs/pull/${{ inputs.pr }}/head"
125
+ else
126
+ echo "resolved_ref=master" >> "$GITHUB_OUTPUT"
127
+ echo "No PR specified, using master"
128
+ fi
129
+
130
+ - name: Checkout Airbyte repo
131
+ if: ${{ inputs.connector_name != '' }}
132
+ uses: actions/checkout@v6
133
+ with:
134
+ repository: airbytehq/airbyte
135
+ ref: ${{ steps.resolve-airbyte-ref.outputs.resolved_ref }}
136
+ path: airbyte
137
+ fetch-depth: 1
138
+
108
139
  - name: Run Regression Test
109
140
  id: regression-test
110
141
  env:
111
142
  AIRBYTE_CLOUD_CLIENT_ID: ${{ secrets.AIRBYTE_CLOUD_CLIENT_ID }}
112
143
  AIRBYTE_CLOUD_CLIENT_SECRET: ${{ secrets.AIRBYTE_CLOUD_CLIENT_SECRET }}
144
+ GCP_GSM_CREDENTIALS: ${{ secrets.GCP_GSM_CREDENTIALS }}
145
+ GCP_PROD_DB_ACCESS_CREDENTIALS: ${{ secrets.GCP_GSM_CREDENTIALS_FOR_TESTING_TOOL }}
146
+ USE_CONNECTION_SECRET_RETRIEVER: "true"
113
147
  run: |
114
148
  ARGS=(--command "${{ inputs.command }}")
115
149
 
@@ -123,6 +157,7 @@ jobs:
123
157
 
124
158
  if [ -n "${{ inputs.connector_name }}" ]; then
125
159
  ARGS+=(--connector-name "${{ inputs.connector_name }}")
160
+ ARGS+=(--repo-root "${{ github.workspace }}/airbyte")
126
161
  fi
127
162
 
128
163
  if [ -n "${{ inputs.connection_id }}" ]; then
@@ -143,14 +178,14 @@ jobs:
143
178
  script: |
144
179
  const fs = require('fs');
145
180
  const reportPath = '/tmp/regression_test_artifacts/report.md';
146
-
181
+
147
182
  let reportContent = 'Report not generated';
148
183
  if (fs.existsSync(reportPath)) {
149
184
  reportContent = fs.readFileSync(reportPath, 'utf8');
150
185
  }
151
-
186
+
152
187
  const conclusion = '${{ steps.regression-test.outcome }}' === 'success' ? 'success' : 'failure';
153
-
188
+
154
189
  const check = await github.rest.checks.create({
155
190
  owner: context.repo.owner,
156
191
  repo: context.repo.repo,
@@ -164,7 +199,7 @@ jobs:
164
199
  text: reportContent
165
200
  }
166
201
  });
167
-
202
+
168
203
  core.setOutput('report_url', check.data.html_url);
169
204
 
170
205
  - name: Add Report Link to Summary
@@ -0,0 +1,33 @@
1
+ # CI smoke test for live_tests code changes
2
+ # Runs a lightweight regression test to validate live_tests code works correctly
3
+ name: Live Tests CI
4
+
5
+ permissions:
6
+ contents: read
7
+ checks: write
8
+
9
+ on:
10
+ pull_request:
11
+ paths:
12
+ - 'src/airbyte_ops_mcp/live_tests/**'
13
+ - '.github/workflows/live-tests-ci.yml'
14
+ - '.github/workflows/connector-regression-test.yml'
15
+
16
+ # Allow manual triggering for testing
17
+ workflow_dispatch:
18
+
19
+ concurrency:
20
+ group: ${{ github.workflow }}-${{ github.ref }}
21
+ cancel-in-progress: true
22
+
23
+ jobs:
24
+ smoke-test:
25
+ name: Live Tests Smoke Test
26
+ uses: ./.github/workflows/connector-regression-test.yml
27
+ with:
28
+ # Use source-pokeapi as a stable, public connector for smoke testing
29
+ target_image: "airbyte/source-pokeapi:0.3.0"
30
+ control_image: "airbyte/source-pokeapi:0.2.0"
31
+ # spec is the fastest command and doesn't require credentials
32
+ command: "spec"
33
+ # No secrets needed for spec command with public connector
@@ -0,0 +1,293 @@
1
+ name: Sentry Apply
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ paths:
8
+ - 'infra/sentry/**'
9
+ - '.github/workflows/sentry-apply-command.yml'
10
+ workflow_dispatch:
11
+ inputs:
12
+ pr:
13
+ description: 'PR Number (for slash command)'
14
+ type: string
15
+ required: false
16
+ comment-id:
17
+ description: 'Comment ID (for slash command)'
18
+ type: string
19
+ required: false
20
+
21
+ permissions:
22
+ contents: read
23
+ actions: read
24
+ pull-requests: write
25
+
26
+ env:
27
+ STATE_ARTIFACT_NAME: pulumi-sentry-state
28
+ WORKING_DIRECTORY: infra/sentry
29
+ # Directory where Pulumi stores stack state (for artifact-based state storage)
30
+ # Note: This is the backend storage location, NOT PULUMI_HOME (which is for CLI config)
31
+ PULUMI_BACKEND_DIR: ${{ github.workspace }}/infra/sentry/.pulumi-state
32
+
33
+ jobs:
34
+ sentry-apply:
35
+ name: Sentry Apply
36
+ runs-on: ubuntu-latest
37
+ # Use environment for applies to enable approval gates
38
+ environment:
39
+ name: Sentry (Prod)
40
+ url: https://airbytehq.sentry.io/settings/projects/
41
+ defaults:
42
+ run:
43
+ working-directory: ${{ env.WORKING_DIRECTORY }}
44
+ steps:
45
+ - name: Resolve trigger context
46
+ id: context
47
+ run: |
48
+ # Determine trigger type and set appropriate variables
49
+ if [ "${{ github.event_name }}" = "push" ]; then
50
+ echo "trigger=push-to-main" >> $GITHUB_OUTPUT
51
+ echo "ref=${{ github.ref }}" >> $GITHUB_OUTPUT
52
+ echo "sha=${{ github.sha }}" >> $GITHUB_OUTPUT
53
+ echo "has_pr=false" >> $GITHUB_OUTPUT
54
+ echo "Triggered by push to main branch"
55
+ else
56
+ # workflow_dispatch - could be slash command or manual
57
+ if [ -n "${{ github.event.inputs.pr }}" ]; then
58
+ echo "trigger=slash-command" >> $GITHUB_OUTPUT
59
+ echo "has_pr=true" >> $GITHUB_OUTPUT
60
+ echo "Triggered by slash command on PR #${{ github.event.inputs.pr }}"
61
+ else
62
+ echo "trigger=manual" >> $GITHUB_OUTPUT
63
+ echo "ref=${{ github.ref }}" >> $GITHUB_OUTPUT
64
+ echo "sha=${{ github.sha }}" >> $GITHUB_OUTPUT
65
+ echo "has_pr=false" >> $GITHUB_OUTPUT
66
+ echo "Triggered by manual workflow dispatch"
67
+ fi
68
+ fi
69
+ working-directory: .
70
+
71
+ - name: Authenticate as GitHub App (if available)
72
+ uses: actions/create-github-app-token@v2
73
+ id: get-app-token
74
+ continue-on-error: true
75
+ with:
76
+ app-id: ${{ secrets.OCTAVIA_BOT_APP_ID }}
77
+ private-key: ${{ secrets.OCTAVIA_BOT_PRIVATE_KEY }}
78
+
79
+ - name: Get PR info (slash command only)
80
+ if: steps.context.outputs.has_pr == 'true'
81
+ id: pr-info
82
+ uses: actions/github-script@v7
83
+ with:
84
+ script: |
85
+ const { data: pr } = await github.rest.pulls.get({
86
+ owner: context.repo.owner,
87
+ repo: context.repo.repo,
88
+ pull_number: ${{ github.event.inputs.pr || 0 }}
89
+ });
90
+
91
+ // Security: Only allow on non-forked PRs
92
+ const isFork = pr.head.repo.full_name !== pr.base.repo.full_name;
93
+ if (isFork) {
94
+ core.setFailed('Security: /sentry-apply is not allowed on PRs from forks');
95
+ return;
96
+ }
97
+
98
+ core.setOutput('ref', pr.head.ref);
99
+ core.setOutput('sha', pr.head.sha);
100
+ core.info(`PR #${{ github.event.inputs.pr }} from branch: ${pr.head.ref}`);
101
+
102
+ - name: Checkout code
103
+ uses: actions/checkout@v4
104
+ with:
105
+ ref: ${{ steps.pr-info.outputs.ref || github.ref }}
106
+ token: ${{ steps.get-app-token.outputs.token || secrets.GITHUB_TOKEN }}
107
+
108
+ - name: Append comment with job run link
109
+ if: github.event.inputs.comment-id
110
+ uses: peter-evans/create-or-update-comment@v5
111
+ with:
112
+ comment-id: ${{ github.event.inputs.comment-id }}
113
+ body: |
114
+ > **Sentry Apply Job Info**
115
+ >
116
+ > Running `pulumi up` to apply Sentry IaC changes from this PR.
117
+ > This will update the Sentry configuration and save state.
118
+
119
+ > Job started... [Check job output.](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})
120
+
121
+ - name: Set up Python
122
+ uses: actions/setup-python@v5
123
+ with:
124
+ python-version: '3.11'
125
+
126
+ - name: Install Pulumi CLI
127
+ uses: pulumi/setup-pulumi@v2
128
+
129
+ - name: Install base Pulumi dependency
130
+ run: |
131
+ pip install "pulumi>=3.147.0,<4.0.0"
132
+
133
+ - name: Generate Sentry provider SDK
134
+ run: |
135
+ pulumi package add terraform-provider jianyuan/sentry 0.14.1
136
+
137
+ - name: Install generated SDK
138
+ run: |
139
+ pip install sdks/sentry
140
+
141
+ - name: Download state artifact
142
+ id: download-state
143
+ continue-on-error: true
144
+ uses: dawidd6/action-download-artifact@v6
145
+ with:
146
+ name: ${{ env.STATE_ARTIFACT_NAME }}
147
+ path: ${{ env.PULUMI_BACKEND_DIR }}
148
+ workflow_conclusion: success
149
+ search_artifacts: true
150
+ if_no_artifact_found: warn
151
+
152
+ - name: Initialize local backend
153
+ env:
154
+ PULUMI_CONFIG_PASSPHRASE: ${{ secrets.PULUMI_CONFIG_PASSPHRASE }}
155
+ run: |
156
+ # Ensure backend directory exists
157
+ mkdir -p "$PULUMI_BACKEND_DIR"
158
+
159
+ # Login to local filesystem backend at specific directory
160
+ # Note: file:// URL tells Pulumi WHERE to store state (not --local which uses ~/.pulumi)
161
+ pulumi login "file://$PULUMI_BACKEND_DIR"
162
+
163
+ # Verify backend location
164
+ echo "Backend URL: $(pulumi whoami -v 2>/dev/null | grep -i backend || echo 'file://$PULUMI_BACKEND_DIR')"
165
+
166
+ if [ -d "$PULUMI_BACKEND_DIR/.pulumi/stacks" ]; then
167
+ echo "State restored from artifact"
168
+ ls -la "$PULUMI_BACKEND_DIR/.pulumi/stacks/" || true
169
+ else
170
+ echo "No existing state found, starting fresh"
171
+ fi
172
+
173
+ - name: Select stack
174
+ env:
175
+ PULUMI_CONFIG_PASSPHRASE: ${{ secrets.PULUMI_CONFIG_PASSPHRASE }}
176
+ run: |
177
+ pulumi stack select prod --create
178
+
179
+ - name: Pulumi Preview (Summary)
180
+ id: preview
181
+ shell: bash
182
+ env:
183
+ PULUMI_CONFIG_PASSPHRASE: ${{ secrets.PULUMI_CONFIG_PASSPHRASE }}
184
+ SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN_READWRITE }}
185
+ run: |
186
+ set -o pipefail
187
+
188
+ # Run preview before apply for audit trail (summary view)
189
+ echo "=== Pre-apply Preview (Summary) ==="
190
+ set +e
191
+ pulumi preview --stack prod 2>&1 | tee /tmp/pulumi-preview.txt
192
+ pulumi_exit=${PIPESTATUS[0]}
193
+ set -e
194
+
195
+ echo "preview_output<<EOF" >> "$GITHUB_OUTPUT"
196
+ cat /tmp/pulumi-preview.txt >> "$GITHUB_OUTPUT"
197
+ echo "EOF" >> "$GITHUB_OUTPUT"
198
+
199
+ exit "$pulumi_exit"
200
+
201
+ - name: Pulumi Preview (Detailed Diff)
202
+ id: preview_diff
203
+ shell: bash
204
+ env:
205
+ PULUMI_CONFIG_PASSPHRASE: ${{ secrets.PULUMI_CONFIG_PASSPHRASE }}
206
+ SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN_READWRITE }}
207
+ run: |
208
+ set -o pipefail
209
+
210
+ # Run preview with --diff for detailed property-level changes
211
+ echo "=== Pre-apply Preview (Detailed Diff) ==="
212
+ set +e
213
+ pulumi preview --stack prod --diff 2>&1 | tee /tmp/pulumi-preview-diff.txt
214
+ pulumi_exit=${PIPESTATUS[0]}
215
+ set -e
216
+
217
+ echo "preview_diff_output<<EOF" >> "$GITHUB_OUTPUT"
218
+ cat /tmp/pulumi-preview-diff.txt >> "$GITHUB_OUTPUT"
219
+ echo "EOF" >> "$GITHUB_OUTPUT"
220
+
221
+ exit "$pulumi_exit"
222
+
223
+ - name: Pulumi Up (Apply)
224
+ id: pulumi-up
225
+ shell: bash
226
+ env:
227
+ PULUMI_CONFIG_PASSPHRASE: ${{ secrets.PULUMI_CONFIG_PASSPHRASE }}
228
+ SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN_READWRITE }}
229
+ run: |
230
+ set -o pipefail
231
+
232
+ set +e
233
+ pulumi up --stack prod --yes 2>&1 | tee /tmp/pulumi-up.txt
234
+ pulumi_exit=${PIPESTATUS[0]}
235
+ set -e
236
+
237
+ echo "output<<EOF" >> "$GITHUB_OUTPUT"
238
+ cat /tmp/pulumi-up.txt >> "$GITHUB_OUTPUT"
239
+ echo "EOF" >> "$GITHUB_OUTPUT"
240
+
241
+ exit "$pulumi_exit"
242
+
243
+ - name: Upload state artifact
244
+ if: always()
245
+ uses: actions/upload-artifact@v4
246
+ with:
247
+ name: ${{ env.STATE_ARTIFACT_NAME }}
248
+ path: ${{ env.PULUMI_BACKEND_DIR }}
249
+ retention-days: 90
250
+ overwrite: true
251
+ include-hidden-files: true # Required to include .pulumi directory
252
+
253
+ - name: Append success comment
254
+ if: success() && github.event.inputs.comment-id
255
+ uses: peter-evans/create-or-update-comment@v5
256
+ with:
257
+ comment-id: ${{ github.event.inputs.comment-id }}
258
+ reactions: hooray
259
+ body: |
260
+ > Pulumi up completed successfully.
261
+
262
+ <details><summary>Preview Summary (before apply)</summary>
263
+
264
+ ```
265
+ ${{ steps.preview.outputs.preview_output }}
266
+ ```
267
+
268
+ </details>
269
+
270
+ <details><summary>Preview Detailed Diff (before apply)</summary>
271
+
272
+ ```diff
273
+ ${{ steps.preview_diff.outputs.preview_diff_output }}
274
+ ```
275
+
276
+ </details>
277
+
278
+ <details><summary>Apply Output</summary>
279
+
280
+ ```
281
+ ${{ steps.pulumi-up.outputs.output }}
282
+ ```
283
+
284
+ </details>
285
+
286
+ - name: Append failure comment
287
+ if: failure() && github.event.inputs.comment-id
288
+ uses: peter-evans/create-or-update-comment@v5
289
+ with:
290
+ comment-id: ${{ github.event.inputs.comment-id }}
291
+ reactions: confused
292
+ body: |
293
+ > Pulumi up failed. Check the [job output](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) for details.
@@ -0,0 +1,153 @@
1
+ name: Sentry Preview
2
+
3
+ on:
4
+ pull_request:
5
+ paths:
6
+ - 'infra/sentry/**'
7
+ - '.github/workflows/sentry-preview.yml'
8
+
9
+ permissions:
10
+ contents: read
11
+ actions: read # For downloading artifacts
12
+ pull-requests: write # For Pulumi PR comments
13
+
14
+ env:
15
+ STATE_ARTIFACT_NAME: pulumi-sentry-state
16
+ WORKING_DIRECTORY: infra/sentry
17
+ # Directory where Pulumi stores stack state (for artifact-based state storage)
18
+ # Note: This is the backend storage location, NOT PULUMI_HOME (which is for CLI config)
19
+ PULUMI_BACKEND_DIR: ${{ github.workspace }}/infra/sentry/.pulumi-state
20
+
21
+ jobs:
22
+ preview:
23
+ name: Pulumi Preview
24
+ runs-on: ubuntu-latest
25
+ defaults:
26
+ run:
27
+ working-directory: ${{ env.WORKING_DIRECTORY }}
28
+ steps:
29
+ - name: Checkout code
30
+ uses: actions/checkout@v4
31
+
32
+ - name: Set up Python
33
+ uses: actions/setup-python@v5
34
+ with:
35
+ python-version: '3.11'
36
+
37
+ - name: Install Pulumi CLI
38
+ uses: pulumi/setup-pulumi@v2
39
+
40
+ - name: Install base Pulumi dependency
41
+ run: |
42
+ pip install "pulumi>=3.147.0,<4.0.0"
43
+
44
+ - name: Generate Sentry provider SDK
45
+ run: |
46
+ pulumi package add terraform-provider jianyuan/sentry 0.14.1
47
+
48
+ - name: Install generated SDK
49
+ run: |
50
+ pip install sdks/sentry
51
+
52
+ - name: Download state artifact
53
+ id: download-state
54
+ continue-on-error: true
55
+ uses: dawidd6/action-download-artifact@v6
56
+ with:
57
+ name: ${{ env.STATE_ARTIFACT_NAME }}
58
+ path: ${{ env.PULUMI_BACKEND_DIR }}
59
+ workflow_conclusion: success
60
+ search_artifacts: true
61
+ if_no_artifact_found: warn
62
+
63
+ - name: Initialize local backend
64
+ env:
65
+ PULUMI_CONFIG_PASSPHRASE: ${{ secrets.PULUMI_CONFIG_PASSPHRASE }}
66
+ run: |
67
+ # Ensure backend directory exists
68
+ mkdir -p "$PULUMI_BACKEND_DIR"
69
+
70
+ # Login to local filesystem backend at specific directory
71
+ # Note: file:// URL tells Pulumi WHERE to store state (not --local which uses ~/.pulumi)
72
+ pulumi login "file://$PULUMI_BACKEND_DIR"
73
+
74
+ # Verify backend location
75
+ echo "Backend URL: $(pulumi whoami -v 2>/dev/null | grep -i backend || echo 'file://$PULUMI_BACKEND_DIR')"
76
+
77
+ # If state was downloaded, it's already in PULUMI_BACKEND_DIR
78
+ # If not, this is a fresh start
79
+ if [ -d "$PULUMI_BACKEND_DIR/.pulumi/stacks" ]; then
80
+ echo "State restored from artifact"
81
+ ls -la "$PULUMI_BACKEND_DIR/.pulumi/stacks/" || true
82
+ else
83
+ echo "No existing state found, starting fresh"
84
+ fi
85
+
86
+ - name: Select stack
87
+ env:
88
+ PULUMI_CONFIG_PASSPHRASE: ${{ secrets.PULUMI_CONFIG_PASSPHRASE }}
89
+ run: |
90
+ pulumi stack select prod --create
91
+
92
+ - name: Pulumi Preview (Summary)
93
+ id: preview
94
+ env:
95
+ PULUMI_CONFIG_PASSPHRASE: ${{ secrets.PULUMI_CONFIG_PASSPHRASE }}
96
+ SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN_READONLY }}
97
+ run: |
98
+ # Run preview and capture output (summary view)
99
+ pulumi preview --stack prod 2>&1 | tee /tmp/pulumi-preview.txt
100
+ echo "preview_output<<EOF" >> $GITHUB_OUTPUT
101
+ cat /tmp/pulumi-preview.txt >> $GITHUB_OUTPUT
102
+ echo "EOF" >> $GITHUB_OUTPUT
103
+
104
+ - name: Pulumi Preview (Detailed Diff)
105
+ id: preview_diff
106
+ env:
107
+ PULUMI_CONFIG_PASSPHRASE: ${{ secrets.PULUMI_CONFIG_PASSPHRASE }}
108
+ SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN_READONLY }}
109
+ run: |
110
+ # Run preview with --diff for detailed property-level changes
111
+ pulumi preview --stack prod --diff 2>&1 | tee /tmp/pulumi-preview-diff.txt
112
+ echo "preview_diff_output<<EOF" >> $GITHUB_OUTPUT
113
+ cat /tmp/pulumi-preview-diff.txt >> $GITHUB_OUTPUT
114
+ echo "EOF" >> $GITHUB_OUTPUT
115
+
116
+ - name: Find existing preview comment
117
+ uses: peter-evans/find-comment@v3
118
+ id: find-comment
119
+ with:
120
+ issue-number: ${{ github.event.pull_request.number }}
121
+ comment-author: 'github-actions[bot]'
122
+ body-includes: '<!-- pulumi-preview-comment -->'
123
+
124
+ - name: Create or update preview comment
125
+ uses: peter-evans/create-or-update-comment@v5
126
+ with:
127
+ comment-id: ${{ steps.find-comment.outputs.comment-id }}
128
+ issue-number: ${{ github.event.pull_request.number }}
129
+ edit-mode: replace
130
+ body: |
131
+ <!-- pulumi-preview-comment -->
132
+ #### Pulumi Preview
133
+
134
+ <details><summary>Summary (readable overview)</summary>
135
+
136
+ ```
137
+ ${{ steps.preview.outputs.preview_output }}
138
+ ```
139
+
140
+ </details>
141
+
142
+ <details><summary>Detailed Diff (property-level changes for audit)</summary>
143
+
144
+ ```diff
145
+ ${{ steps.preview_diff.outputs.preview_diff_output }}
146
+ ```
147
+
148
+ </details>
149
+
150
+ *Pushed by: @${{ github.actor }}, Action: `${{ github.event_name }}`*
151
+
152
+ ---
153
+ 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.
@@ -36,6 +36,7 @@ jobs:
36
36
  autofix
37
37
  lock
38
38
  poe
39
+ sentry-apply
39
40
  static-args: |
40
41
  pr=${{ github.event.issue.number }}
41
42
  comment-id=${{ github.event.comment.id }}
@@ -0,0 +1,45 @@
1
+ name: TK-TODO Check # IGNORE:TK - this workflow checks for TK-TODO markers
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request: {}
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ tk-todo-check: # IGNORE:TK
14
+ name: Check for TK-TODO markers # IGNORE:TK
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - name: Checkout code
18
+ uses: actions/checkout@v4
19
+
20
+ - name: Check for TK-TODO markers # IGNORE:TK
21
+ run: |
22
+ # Find all TK-TODO markers (case-insensitive) that don't have IGNORE:TK on the same line # IGNORE:TK
23
+ # Exit with error if any are found
24
+
25
+ echo "Checking for TK-TODO markers..." # IGNORE:TK
26
+
27
+ # Use git ls-files to only check tracked files (excludes gitignored files like sdks/)
28
+ # grep -i for case-insensitive matching
29
+ # grep -v for excluding lines with IGNORE:TK
30
+ # grep -n for line numbers
31
+
32
+ FOUND_TODOS=$(git ls-files | xargs grep -i -n "TK-TODO" 2>/dev/null | grep -i -v "IGNORE:TK" || true) # IGNORE:TK
33
+
34
+ if [ -n "$FOUND_TODOS" ]; then
35
+ echo ""
36
+ echo "ERROR: Found TK-TODO markers that must be resolved before merge:" # IGNORE:TK
37
+ echo ""
38
+ echo "$FOUND_TODOS"
39
+ echo ""
40
+ echo "To suppress a TK-TODO, add 'IGNORE:TK' (case-insensitive) on the same line." # IGNORE:TK
41
+ echo ""
42
+ exit 1
43
+ else
44
+ echo "No unresolved TK-TODO markers found." # IGNORE:TK
45
+ fi
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: airbyte-internal-ops
3
- Version: 0.1.8
3
+ Version: 0.2.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