airbyte-internal-ops 0.1.5__tar.gz → 0.1.7__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 (556) hide show
  1. airbyte_internal_ops-0.1.7/CONTRIBUTING.md +110 -0
  2. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/PKG-INFO +70 -1
  3. airbyte_internal_ops-0.1.7/README.md +127 -0
  4. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/pyproject.toml +2 -1
  5. airbyte_internal_ops-0.1.7/src/airbyte_ops_mcp/__init__.py +44 -0
  6. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pipeline.py +2 -8
  7. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/airbyte_repo/list_connectors.py +132 -0
  8. airbyte_internal_ops-0.1.7/src/airbyte_ops_mcp/cli/registry.py +181 -0
  9. airbyte_internal_ops-0.1.7/src/airbyte_ops_mcp/connection_config_retriever/__init__.py +26 -0
  10. {airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp/live_tests/_connection_retriever → airbyte_internal_ops-0.1.7/src/airbyte_ops_mcp/connection_config_retriever}/audit_logging.py +5 -6
  11. {airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp/live_tests/_connection_retriever → airbyte_internal_ops-0.1.7/src/airbyte_ops_mcp/connection_config_retriever}/retrieval.py +8 -22
  12. {airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp/live_tests/_connection_retriever → airbyte_internal_ops-0.1.7/src/airbyte_ops_mcp/connection_config_retriever}/secrets_resolution.py +8 -42
  13. airbyte_internal_ops-0.1.7/src/airbyte_ops_mcp/constants.py +50 -0
  14. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/live_tests/connection_secret_retriever.py +17 -6
  15. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/mcp/github_repo_ops.py +10 -0
  16. airbyte_internal_ops-0.1.7/src/airbyte_ops_mcp/mcp/prod_db_queries.py +357 -0
  17. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/mcp/server.py +2 -0
  18. airbyte_internal_ops-0.1.7/src/airbyte_ops_mcp/prod_db_access/__init__.py +34 -0
  19. airbyte_internal_ops-0.1.7/src/airbyte_ops_mcp/prod_db_access/db_engine.py +126 -0
  20. airbyte_internal_ops-0.1.7/src/airbyte_ops_mcp/prod_db_access/queries.py +272 -0
  21. airbyte_internal_ops-0.1.7/src/airbyte_ops_mcp/prod_db_access/sql.py +353 -0
  22. airbyte_internal_ops-0.1.7/src/airbyte_ops_mcp/registry/__init__.py +34 -0
  23. airbyte_internal_ops-0.1.7/src/airbyte_ops_mcp/registry/models.py +63 -0
  24. airbyte_internal_ops-0.1.7/src/airbyte_ops_mcp/registry/publish.py +368 -0
  25. airbyte_internal_ops-0.1.7/tests/legacy/airbyte_ci/pipelines/test_helpers/test_execution/__init__.py +0 -0
  26. airbyte_internal_ops-0.1.7/tests/test_cli_registry.py +303 -0
  27. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/uv.lock +1651 -1657
  28. airbyte_internal_ops-0.1.5/CONTRIBUTING.md +0 -48
  29. airbyte_internal_ops-0.1.5/README.md +0 -59
  30. airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp/__init__.py +0 -16
  31. airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/publish/commands.py +0 -242
  32. airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/publish/context.py +0 -175
  33. airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/publish/pipeline.py +0 -1056
  34. airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/poetry/publish/commands.py +0 -127
  35. airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/python_registry.py +0 -238
  36. airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/contexts/python_registry_publish.py +0 -119
  37. airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp/cli/registry.py +0 -92
  38. airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp/constants.py +0 -15
  39. airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp/live_tests/_connection_retriever/__init__.py +0 -35
  40. airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp/live_tests/_connection_retriever/consts.py +0 -33
  41. airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp/live_tests/_connection_retriever/db_access.py +0 -82
  42. airbyte_internal_ops-0.1.5/tests/legacy/airbyte_ci/pipelines/test_steps/__init__.py +0 -3
  43. airbyte_internal_ops-0.1.5/tests/legacy/airbyte_ci/pipelines/test_tests/__init__.py +0 -3
  44. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/.env.template +0 -0
  45. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/.github/copilot-instructions.md +0 -0
  46. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/.github/dependabot.yml +0 -0
  47. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/.github/pr-welcome-message.md +0 -0
  48. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/.github/release-drafter.yml +0 -0
  49. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/.github/workflows/autofix-command.yml +0 -0
  50. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/.github/workflows/connector-live-test.yml +0 -0
  51. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/.github/workflows/connector-regression-test.yml +0 -0
  52. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/.github/workflows/format-check.yml +0 -0
  53. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/.github/workflows/lint-check.yml +0 -0
  54. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/.github/workflows/lock-command.yml +0 -0
  55. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/.github/workflows/pdoc_preview.yml +0 -0
  56. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/.github/workflows/pdoc_publish.yml +0 -0
  57. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/.github/workflows/poe-command.yml +0 -0
  58. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/.github/workflows/pr-welcome.yml +0 -0
  59. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/.github/workflows/publish.yml +0 -0
  60. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/.github/workflows/pytest-fast.yml +0 -0
  61. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/.github/workflows/pytest-matrix.yml +0 -0
  62. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/.github/workflows/release-drafter.yml +0 -0
  63. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/.github/workflows/slash-command-dispatch.yml +0 -0
  64. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/.github/workflows/test-connection-retriever.yml +0 -0
  65. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/.gitignore +0 -0
  66. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/.mcp.json.template +0 -0
  67. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/bin/test_mcp_tool.py +0 -0
  68. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/conftest.py +0 -0
  69. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/docs/.gitignore +0 -0
  70. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/docs/generate.py +0 -0
  71. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/docs/templates/custom.css +0 -0
  72. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/docs/templates/theme.css +0 -0
  73. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/poe_tasks.toml +0 -0
  74. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/pyrefly.toml +0 -0
  75. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/pytest.ini +0 -0
  76. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/ruff.toml +0 -0
  77. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_annotations.py +0 -0
  78. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/__init__.py +0 -0
  79. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/README.md +0 -0
  80. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/README.md +0 -0
  81. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/__init__.py +0 -0
  82. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/dbml_assembler.py +0 -0
  83. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/erd_service.py +0 -0
  84. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/relationships.py +0 -0
  85. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/README.md +0 -0
  86. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/__init__.py +0 -0
  87. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/cli.py +0 -0
  88. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/hacks.py +0 -0
  89. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/insights.py +0 -0
  90. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/models.py +0 -0
  91. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/pylint.py +0 -0
  92. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/pylint_plugins/cdk_deprecation_checkers.py +0 -0
  93. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/result_backends.py +0 -0
  94. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/utils.py +0 -0
  95. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/.gitignore +0 -0
  96. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/README.md +0 -0
  97. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/__init__.py +0 -0
  98. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/__init__.py +0 -0
  99. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/__init__.py +0 -0
  100. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/base_backend.py +0 -0
  101. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/duckdb_backend.py +0 -0
  102. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/file_backend.py +0 -0
  103. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/connection_objects_retrieval.py +0 -0
  104. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/connector_runner.py +0 -0
  105. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/errors.py +0 -0
  106. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/evaluation_modes.py +0 -0
  107. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/hacks.py +0 -0
  108. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/json_schema_helper.py +0 -0
  109. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/mitm_addons.py +0 -0
  110. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/models.py +0 -0
  111. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/proxy.py +0 -0
  112. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/secret_access.py +0 -0
  113. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/segment_tracking.py +0 -0
  114. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/utils.py +0 -0
  115. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/conftest.py.disabled +0 -0
  116. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/consts.py +0 -0
  117. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/poetry.lock +0 -0
  118. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/pytest.ini +0 -0
  119. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/__init__.py +0 -0
  120. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_check.py +0 -0
  121. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_discover.py +0 -0
  122. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_read.py +0 -0
  123. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_spec.py +0 -0
  124. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/report.py +0 -0
  125. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/stash_keys.py +0 -0
  126. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/templates/__init__.py +0 -0
  127. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/templates/private_details.html.j2 +0 -0
  128. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/templates/report.html.j2 +0 -0
  129. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/utils.py +0 -0
  130. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/__init__.py +0 -0
  131. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_check.py +0 -0
  132. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_discover.py +0 -0
  133. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_read.py +0 -0
  134. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_spec.py +0 -0
  135. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_ops/README.md +0 -0
  136. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_ops/__init__.py +0 -0
  137. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_ops/utils.py +0 -0
  138. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/README.md +0 -0
  139. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/__init__.py +0 -0
  140. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/connector/hooks.py +0 -0
  141. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/connector/normalization.py +0 -0
  142. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/python/common.py +0 -0
  143. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/python/pipx.py +0 -0
  144. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/python/poetry.py +0 -0
  145. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/remote_storage.py +0 -0
  146. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/secrets.py +0 -0
  147. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/system/common.py +0 -0
  148. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/system/docker.py +0 -0
  149. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/git.py +0 -0
  150. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/internal_tools.py +0 -0
  151. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/java.py +0 -0
  152. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/python.py +0 -0
  153. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/__init__.py +0 -0
  154. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/cache_keys.py +0 -0
  155. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/cli.py +0 -0
  156. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/__init__.py +0 -0
  157. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/cdk_helpers.py +0 -0
  158. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/command.py +0 -0
  159. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/dagger_fs.py +0 -0
  160. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/format.py +0 -0
  161. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/modifed.py +0 -0
  162. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/yaml.py +0 -0
  163. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/execution/__init__.py +0 -0
  164. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/execution/argument_parsing.py +0 -0
  165. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/execution/run_steps.py +0 -0
  166. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/gcs.py +0 -0
  167. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/git.py +0 -0
  168. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/github.py +0 -0
  169. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/pip.py +0 -0
  170. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/sentry_utils.py +0 -0
  171. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/slack.py +0 -0
  172. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/utils.py +0 -0
  173. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/README.md +0 -0
  174. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/__init__.py +0 -0
  175. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/__init__.py +0 -0
  176. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/__init__.py +0 -0
  177. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/__init__.py +0 -0
  178. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/commands.py +0 -0
  179. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/pipeline.py +0 -0
  180. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/__init__.py +0 -0
  181. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/build_customization.py +0 -0
  182. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/common.py +0 -0
  183. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/java_connectors.py +0 -0
  184. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/manifest_only_connectors.py +0 -0
  185. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/normalization.py +0 -0
  186. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/python_connectors.py +0 -0
  187. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/commands.py +0 -0
  188. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/consts.py +0 -0
  189. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/context.py +0 -0
  190. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/generate_erd/__init__.py +0 -0
  191. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/generate_erd/commands.py +0 -0
  192. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/generate_erd/pipeline.py +0 -0
  193. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/list/__init__.py +0 -0
  194. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/list/commands.py +0 -0
  195. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/migrate_to_inline_schemas/__init__.py +0 -0
  196. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/migrate_to_inline_schemas/commands.py +0 -0
  197. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/migrate_to_inline_schemas/pipeline.py +0 -0
  198. {airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/publish → airbyte_internal_ops-0.1.7/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pull_request}/__init__.py +0 -0
  199. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pull_request/commands.py +0 -0
  200. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pull_request/pipeline.py +0 -0
  201. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/reports.py +0 -0
  202. {airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pull_request → airbyte_internal_ops-0.1.7/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test}/__init__.py +0 -0
  203. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/commands.py +0 -0
  204. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/context.py +0 -0
  205. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/pipeline.py +0 -0
  206. {airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test → airbyte_internal_ops-0.1.7/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps}/__init__.py +0 -0
  207. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/common.py +0 -0
  208. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/java_connectors.py +0 -0
  209. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/manifest_only_connectors.py +0 -0
  210. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/python_connectors.py +0 -0
  211. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/templates/test_report.html.j2 +0 -0
  212. {airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps → airbyte_internal_ops-0.1.7/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date}/__init__.py +0 -0
  213. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/commands.py +0 -0
  214. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/pipeline.py +0 -0
  215. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/steps.py +0 -0
  216. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/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
  217. {airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date → airbyte_internal_ops-0.1.7/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/upgrade_cdk}/__init__.py +0 -0
  218. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/upgrade_cdk/commands.py +0 -0
  219. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/upgrade_cdk/pipeline.py +0 -0
  220. {airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/upgrade_cdk → airbyte_internal_ops-0.1.7/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/metadata}/__init__.py +0 -0
  221. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/metadata/commands.py +0 -0
  222. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/metadata/pipeline.py +0 -0
  223. {airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/metadata → airbyte_internal_ops-0.1.7/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/poetry}/__init__.py +0 -0
  224. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/poetry/commands.py +0 -0
  225. {airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/poetry → airbyte_internal_ops-0.1.7/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps}/__init__.py +0 -0
  226. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/base_image.py +0 -0
  227. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/docker.py +0 -0
  228. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/gradle.py +0 -0
  229. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/no_op.py +0 -0
  230. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/poetry.py +0 -0
  231. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/pull_request.py +0 -0
  232. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/__init__.py +0 -0
  233. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/commands.py +0 -0
  234. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/models.py +0 -0
  235. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/pipeline.py +0 -0
  236. {airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/poetry/publish → airbyte_internal_ops-0.1.7/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/update}/__init__.py +0 -0
  237. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/update/commands.py +0 -0
  238. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/airbyte_ci.py +0 -0
  239. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/auto_update.py +0 -0
  240. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/click_decorators.py +0 -0
  241. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/confirm_prompt.py +0 -0
  242. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/dagger_pipeline_command.py +0 -0
  243. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/dagger_run.py +0 -0
  244. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/ensure_repo_root.py +0 -0
  245. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/lazy_group.py +0 -0
  246. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/secrets.py +0 -0
  247. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/telemetry.py +0 -0
  248. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/consts.py +0 -0
  249. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/hacks.py +0 -0
  250. {airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps → airbyte_internal_ops-0.1.7/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models}/__init__.py +0 -0
  251. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/artifacts.py +0 -0
  252. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/ci_requirements.py +0 -0
  253. {airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/update → airbyte_internal_ops-0.1.7/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/contexts}/__init__.py +0 -0
  254. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/contexts/click_pipeline_context.py +0 -0
  255. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/contexts/pipeline_context.py +0 -0
  256. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/reports.py +0 -0
  257. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/secrets.py +0 -0
  258. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/singleton.py +0 -0
  259. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/steps.py +0 -0
  260. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/README.md +0 -0
  261. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/__init__.py +0 -0
  262. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/__init__.py +0 -0
  263. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/assets.py +0 -0
  264. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/__init__.py +0 -0
  265. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/documentation.py +0 -0
  266. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/helpers.py +0 -0
  267. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/models.py +0 -0
  268. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/templates/documentation_headers_check_description.md.j2 +0 -0
  269. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/templates/section_content_description.md.j2 +0 -0
  270. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/templates/template.md.j2 +0 -0
  271. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/metadata.py +0 -0
  272. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/packaging.py +0 -0
  273. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/security.py +0 -0
  274. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/version.py +0 -0
  275. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/cli.py +0 -0
  276. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/consts.py +0 -0
  277. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/models.py +0 -0
  278. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/templates/__init__.py +0 -0
  279. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/templates/qa_checks.md.j2 +0 -0
  280. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/utils.py +0 -0
  281. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/README.md +0 -0
  282. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/bin/bundle-schemas.js +0 -0
  283. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/bin/generate-metadata-models.sh +0 -0
  284. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ActorDefinitionResourceRequirements.py +0 -0
  285. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/AirbyteInternal.py +0 -0
  286. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/AllowedHosts.py +0 -0
  287. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorBreakingChanges.py +0 -0
  288. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorBuildOptions.py +0 -0
  289. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorIPCOptions.py +0 -0
  290. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetadataDefinitionV0.json +0 -0
  291. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetadataDefinitionV0.py +0 -0
  292. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetrics.py +0 -0
  293. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorPackageInfo.py +0 -0
  294. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryDestinationDefinition.py +0 -0
  295. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryReleases.py +0 -0
  296. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistrySourceDefinition.py +0 -0
  297. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryV0.py +0 -0
  298. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorReleases.py +0 -0
  299. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorTestSuiteOptions.py +0 -0
  300. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/GeneratedFields.py +0 -0
  301. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/GitInfo.py +0 -0
  302. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/JobType.py +0 -0
  303. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/NormalizationDestinationDefinitionConfig.py +0 -0
  304. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RegistryOverrides.py +0 -0
  305. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ReleaseStage.py +0 -0
  306. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RemoteRegistries.py +0 -0
  307. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ResourceRequirements.py +0 -0
  308. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RolloutConfiguration.py +0 -0
  309. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/Secret.py +0 -0
  310. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SecretStore.py +0 -0
  311. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SourceFileInfo.py +0 -0
  312. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SuggestedStreams.py +0 -0
  313. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SupportLevel.py +0 -0
  314. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/TestConnections.py +0 -0
  315. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/__init__.py +0 -0
  316. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/airbyte-connector-metadata-schema.json +0 -0
  317. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ActorDefinitionResourceRequirements.yaml +0 -0
  318. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/AirbyteInternal.yaml +0 -0
  319. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/AllowedHosts.yaml +0 -0
  320. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorBreakingChanges.yaml +0 -0
  321. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorBuildOptions.yaml +0 -0
  322. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorIPCOptions.yaml +0 -0
  323. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorMetadataDefinitionV0.yaml +0 -0
  324. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorMetrics.yaml +0 -0
  325. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorPackageInfo.yaml +0 -0
  326. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryDestinationDefinition.yaml +0 -0
  327. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryReleases.yaml +0 -0
  328. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistrySourceDefinition.yaml +0 -0
  329. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryV0.yaml +0 -0
  330. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorReleases.yaml +0 -0
  331. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorTestSuiteOptions.yaml +0 -0
  332. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/GeneratedFields.yaml +0 -0
  333. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/GitInfo.yaml +0 -0
  334. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/JobType.yaml +0 -0
  335. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/NormalizationDestinationDefinitionConfig.yaml +0 -0
  336. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RegistryOverrides.yaml +0 -0
  337. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ReleaseStage.yaml +0 -0
  338. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RemoteRegistries.yaml +0 -0
  339. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ResourceRequirements.yaml +0 -0
  340. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RolloutConfiguration.yaml +0 -0
  341. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/Secret.yaml +0 -0
  342. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SecretStore.yaml +0 -0
  343. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SourceFileInfo.yaml +0 -0
  344. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SuggestedStreams.yaml +0 -0
  345. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SupportLevel.yaml +0 -0
  346. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/TestConnections.yaml +0 -0
  347. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/package-lock.json +0 -0
  348. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/package.json +0 -0
  349. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/transform.py +0 -0
  350. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/README.md +0 -0
  351. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/commands.py +0 -0
  352. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/constants.py +0 -0
  353. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/docker_hub.py +0 -0
  354. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/docs/external_documentation_urls.md +0 -0
  355. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/gcs_upload.py +0 -0
  356. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/files.py +0 -0
  357. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/gcs.py +0 -0
  358. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/object_helpers.py +0 -0
  359. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/slack.py +0 -0
  360. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/.env.template +0 -0
  361. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/README.md +0 -0
  362. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/dagster_cloud.yaml +0 -0
  363. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/__init__.py +0 -0
  364. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/connector_metrics.py +0 -0
  365. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/github.py +0 -0
  366. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/metadata.py +0 -0
  367. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/registry.py +0 -0
  368. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/registry_entry.py +0 -0
  369. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/registry_report.py +0 -0
  370. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/slack.py +0 -0
  371. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/specs_secrets_mask.py +0 -0
  372. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/config.py +0 -0
  373. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/fetcher/connector_cdk_version.py +0 -0
  374. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/hacks.py +0 -0
  375. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/jobs/registry.py +0 -0
  376. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/logging/publish_connector_lifecycle.py +0 -0
  377. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/logging/sentry.py +0 -0
  378. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/models/ci_report.py +0 -0
  379. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/models/metadata.py +0 -0
  380. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/ops/slack.py +0 -0
  381. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/file_managers/local_file_manager.py +0 -0
  382. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/gcp.py +0 -0
  383. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/github.py +0 -0
  384. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/local.py +0 -0
  385. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/sensors/gcs.py +0 -0
  386. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/sensors/github.py +0 -0
  387. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/sensors/registry.py +0 -0
  388. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/templates/base.html +0 -0
  389. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/templates/connector_registry_locations.html +0 -0
  390. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/templates/render.py +0 -0
  391. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/utils/blob_helpers.py +0 -0
  392. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/utils/dagster_helpers.py +0 -0
  393. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/utils/object_helpers.py +0 -0
  394. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/poetry.lock +0 -0
  395. {airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models → airbyte_internal_ops-0.1.7/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests}/__init__.py +0 -0
  396. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/conftest.py.disabled +0 -0
  397. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/fixtures/__init__.py +0 -0
  398. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/fixtures/cloud_registry.json +0 -0
  399. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/fixtures/oss_registry.json +0 -0
  400. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_connector_metrics.py +0 -0
  401. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_dagster_helpers.py +0 -0
  402. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_debug.py +0 -0
  403. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_partition_jobs.py +0 -0
  404. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_registry.py +0 -0
  405. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_specs_secrets_mask.py +0 -0
  406. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/registry.py +0 -0
  407. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/registry_entry.py +0 -0
  408. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/registry_report.py +0 -0
  409. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/sentry.py +0 -0
  410. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/spec_cache.py +0 -0
  411. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/specs_secrets_mask.py +0 -0
  412. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/stale_metadata_report.py +0 -0
  413. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/base.html +0 -0
  414. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/connector_registry_locations.html +0 -0
  415. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/render.py +0 -0
  416. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/validators/metadata_validator.py +0 -0
  417. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/airbyte_repo/__init__.py +0 -0
  418. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/airbyte_repo/bump_version.py +0 -0
  419. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/airbyte_repo/utils.py +0 -0
  420. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/cli/__init__.py +0 -0
  421. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/cli/_base.py +0 -0
  422. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/cli/_shared.py +0 -0
  423. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/cli/app.py +0 -0
  424. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/cli/cloud.py +0 -0
  425. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/cli/gh.py +0 -0
  426. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/cli/repo.py +0 -0
  427. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/cloud_admin/__init__.py +0 -0
  428. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/cloud_admin/api_client.py +0 -0
  429. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/cloud_admin/auth.py +0 -0
  430. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/cloud_admin/connection_config.py +0 -0
  431. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/cloud_admin/models.py +0 -0
  432. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/live_tests/__init__.py +0 -0
  433. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/live_tests/ci_output.py +0 -0
  434. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/live_tests/commons/__init__.py +0 -0
  435. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/live_tests/config.py +0 -0
  436. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/live_tests/connection_fetcher.py +0 -0
  437. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/live_tests/connector_runner.py +0 -0
  438. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/live_tests/evaluation_modes.py +0 -0
  439. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/live_tests/http_metrics.py +0 -0
  440. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/live_tests/message_cache/__init__.py +0 -0
  441. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/live_tests/message_cache/duckdb_cache.py +0 -0
  442. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/live_tests/models.py +0 -0
  443. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/live_tests/obfuscation.py +0 -0
  444. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/live_tests/regression/__init__.py +0 -0
  445. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/live_tests/regression/comparators.py +0 -0
  446. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/live_tests/schema_generation.py +0 -0
  447. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/live_tests/validation/__init__.py +0 -0
  448. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/live_tests/validation/catalog_validators.py +0 -0
  449. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/live_tests/validation/record_validators.py +0 -0
  450. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/mcp/__init__.py +0 -0
  451. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/mcp/_guidance.py +0 -0
  452. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/mcp/_mcp_utils.py +0 -0
  453. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/mcp/cloud_connector_versions.py +0 -0
  454. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/mcp/connector_analysis.py +0 -0
  455. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/mcp/connector_qa.py +0 -0
  456. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/mcp/github.py +0 -0
  457. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/mcp/live_tests.py +0 -0
  458. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/mcp/metadata.py +0 -0
  459. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/mcp/prerelease.py +0 -0
  460. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/mcp/prompts.py +0 -0
  461. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/mcp/registry.py +0 -0
  462. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/src/airbyte_ops_mcp/mcp/server_info.py +0 -0
  463. {airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp → airbyte_internal_ops-0.1.7/src/airbyte_ops_mcp/prod_db_access}/py.typed +0 -0
  464. /airbyte_internal_ops-0.1.5/tests/legacy/airbyte_ci/connector_live_tests/backends/__init__.py → /airbyte_internal_ops-0.1.7/src/airbyte_ops_mcp/py.typed +0 -0
  465. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/__init__.py +0 -0
  466. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/connector_erd_generator/__init__.py +0 -0
  467. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/connector_erd_generator/builder.py +0 -0
  468. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/connector_erd_generator/test_dbml_assembler.py +0 -0
  469. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/connector_erd_generator/test_relationships.py +0 -0
  470. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/connector_live_tests/__init__.py +0 -0
  471. {airbyte_internal_ops-0.1.5/tests/legacy/airbyte_ci/connector_qa → airbyte_internal_ops-0.1.7/tests/legacy/airbyte_ci/connector_live_tests/backends}/__init__.py +0 -0
  472. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/connector_live_tests/backends/test_file_backend.py +0 -0
  473. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/connector_live_tests/test_get_connection_objects_retrieval.py +0 -0
  474. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/connector_live_tests/test_json_schema_helper.py +0 -0
  475. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/connector_ops/conftest.py +0 -0
  476. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/bad-header.md +0 -0
  477. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/bad-title.md +0 -0
  478. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/extra-header.md +0 -0
  479. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/missing-entry.md +0 -0
  480. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/connector_ops/test_migration_files/out-of-order.md +0 -0
  481. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/connector_ops/test_utils.py +0 -0
  482. {airbyte_internal_ops-0.1.5/tests/legacy/airbyte_ci/connector_qa/integration_tests → airbyte_internal_ops-0.1.7/tests/legacy/airbyte_ci/connector_qa}/__init__.py +0 -0
  483. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/connector_qa/conftest.py +0 -0
  484. {airbyte_internal_ops-0.1.5/tests/legacy/airbyte_ci/connector_qa/unit_tests → airbyte_internal_ops-0.1.7/tests/legacy/airbyte_ci/connector_qa/integration_tests}/__init__.py +0 -0
  485. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/connector_qa/integration_tests/test_documentation.py +0 -0
  486. {airbyte_internal_ops-0.1.5/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks → airbyte_internal_ops-0.1.7/tests/legacy/airbyte_ci/connector_qa/unit_tests}/__init__.py +0 -0
  487. {airbyte_internal_ops-0.1.5/tests/legacy/airbyte_ci/pipelines/test_helpers/test_execution → airbyte_internal_ops-0.1.7/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks}/__init__.py +0 -0
  488. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/data/docs/correct.md +0 -0
  489. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/data/docs/incorrect_not_all_structure.md +0 -0
  490. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/data/docs/invalid_links.md +0 -0
  491. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_assets.py +0 -0
  492. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_documentation.py +0 -0
  493. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_metadata.py +0 -0
  494. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_packaging.py +0 -0
  495. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_security.py +0 -0
  496. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_version.py +0 -0
  497. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_models.py +0 -0
  498. {airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/contexts → airbyte_internal_ops-0.1.7/tests/legacy/airbyte_ci/pipelines}/__init__.py +0 -0
  499. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/conftest.py +0 -0
  500. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_actions/test_environments.py +0 -0
  501. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_bases.py +0 -0
  502. {airbyte_internal_ops-0.1.5/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests → airbyte_internal_ops-0.1.7/tests/legacy/airbyte_ci/pipelines/test_build_image}/__init__.py +0 -0
  503. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_build_image/dummy_build_customization.py +0 -0
  504. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_build_image/test_manifest_only_connectors.py +0 -0
  505. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_build_image/test_python_connectors.py +0 -0
  506. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_build_image/test_steps/test_common.py +0 -0
  507. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/changelog_header_no_newline.md +0 -0
  508. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/changelog_header_no_separator.md +0 -0
  509. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/no_changelog_header.md +0 -0
  510. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/valid_changelog_at_end.md +0 -0
  511. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/valid_changelog_in_middle.md +0 -0
  512. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/changelog_header_no_newline.md +0 -0
  513. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/changelog_header_no_separator.md +0 -0
  514. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_version_date_valid_changelog_at_end.md +0 -0
  515. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_version_date_valid_changelog_in_middle.md +0 -0
  516. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_versions_valid_changelog_at_end.md +0 -0
  517. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_versions_valid_changelog_in_middle.md +0 -0
  518. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/duplicate_entry_valid_changelog_at_end.md +0 -0
  519. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/duplicate_entry_valid_changelog_in_middle.md +0 -0
  520. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/existing_entries_valid_changelog_at_end.md +0 -0
  521. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/existing_entries_valid_changelog_in_middle.md +0 -0
  522. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/no_changelog_header.md +0 -0
  523. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/single_insert_valid_changelog_at_end.md +0 -0
  524. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/single_insert_valid_changelog_in_middle.md +0 -0
  525. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_changelog.py +0 -0
  526. {airbyte_internal_ops-0.1.5/tests/legacy/airbyte_ci/pipelines → airbyte_internal_ops-0.1.7/tests/legacy/airbyte_ci/pipelines/test_cli}/__init__.py +0 -0
  527. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_cli/test_click_decorators.py +0 -0
  528. {airbyte_internal_ops-0.1.5/tests/legacy/airbyte_ci/pipelines/test_build_image → airbyte_internal_ops-0.1.7/tests/legacy/airbyte_ci/pipelines/test_commands}/__init__.py +0 -0
  529. {airbyte_internal_ops-0.1.5/tests/legacy/airbyte_ci/pipelines/test_cli → airbyte_internal_ops-0.1.7/tests/legacy/airbyte_ci/pipelines/test_commands/test_groups}/__init__.py +0 -0
  530. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_commands/test_groups/test_connectors.py +0 -0
  531. {airbyte_internal_ops-0.1.5/tests/legacy/airbyte_ci/pipelines/test_commands → airbyte_internal_ops-0.1.7/tests/legacy/airbyte_ci/pipelines/test_dagger}/__init__.py +0 -0
  532. {airbyte_internal_ops-0.1.5/tests/legacy/airbyte_ci/pipelines/test_commands/test_groups → airbyte_internal_ops-0.1.7/tests/legacy/airbyte_ci/pipelines/test_dagger/test_actions}/__init__.py +0 -0
  533. {airbyte_internal_ops-0.1.5/tests/legacy/airbyte_ci/pipelines/test_dagger → airbyte_internal_ops-0.1.7/tests/legacy/airbyte_ci/pipelines/test_dagger/test_actions/test_python}/__init__.py +0 -0
  534. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_dagger/test_actions/test_python/test_common.py +0 -0
  535. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_gradle.py +0 -0
  536. {airbyte_internal_ops-0.1.5/tests/legacy/airbyte_ci/pipelines/test_dagger/test_actions → airbyte_internal_ops-0.1.7/tests/legacy/airbyte_ci/pipelines/test_helpers}/__init__.py +0 -0
  537. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_execution/test_argument_parsing.py +0 -0
  538. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_execution/test_run_steps.py +0 -0
  539. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_pip.py +0 -0
  540. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_helpers/test_utils.py +0 -0
  541. {airbyte_internal_ops-0.1.5/tests/legacy/airbyte_ci/pipelines/test_dagger/test_actions/test_python → airbyte_internal_ops-0.1.7/tests/legacy/airbyte_ci/pipelines/test_models}/__init__.py +0 -0
  542. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_models/test_click_pipeline_context.py +0 -0
  543. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_models/test_singleton.py +0 -0
  544. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_poetry/test_poetry_publish.py +0 -0
  545. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_publish.py +0 -0
  546. {airbyte_internal_ops-0.1.5/tests/legacy/airbyte_ci/pipelines/test_helpers → airbyte_internal_ops-0.1.7/tests/legacy/airbyte_ci/pipelines/test_steps}/__init__.py +0 -0
  547. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_steps/test_simple_docker_step.py +0 -0
  548. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_steps/test_version_check.py +0 -0
  549. {airbyte_internal_ops-0.1.5/tests/legacy/airbyte_ci/pipelines/test_models → airbyte_internal_ops-0.1.7/tests/legacy/airbyte_ci/pipelines/test_tests}/__init__.py +0 -0
  550. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_tests/test_common.py +0 -0
  551. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_tests/test_python_connectors.py +0 -0
  552. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/test_upgrade_java_cdk.py +0 -0
  553. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/legacy/airbyte_ci/pipelines/utils.py +0 -0
  554. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/test_airbyte_admin_mcp.py +0 -0
  555. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/test_bump_version.py +0 -0
  556. {airbyte_internal_ops-0.1.5 → airbyte_internal_ops-0.1.7}/tests/test_list_connectors.py +0 -0
@@ -0,0 +1,110 @@
1
+ # Contributing
2
+
3
+ First clone the repo, then use something like the following MCP config.
4
+
5
+ ```json
6
+ {
7
+ "mcpServers": {
8
+ "airbyte-ops-mcp": {
9
+ "type": "stdio",
10
+ "command": "uv",
11
+ "args": [
12
+ "run",
13
+ "--project=/Users/{my-user-id}/repos/airbyte-ops-mcp/",
14
+ "airbyte-ops-mcp"
15
+ ],
16
+ "env": {
17
+ "AIRBYTE_MCP_ENV_FILE": "/path/to/airbyte-ops-mcp/.env"
18
+ }
19
+ },
20
+ "airbyte-coral-mcp": {
21
+ "type": "stdio",
22
+ "command": "uvx",
23
+ "args": [
24
+ "--python=3.11",
25
+ "--from=airbyte@latest",
26
+ "airbyte-mcp"
27
+ ],
28
+ "env": {
29
+ "AIRBYTE_MCP_ENV_FILE": "/Users/{user-id}/.mcp/airbyte_mcp.env"
30
+ }
31
+ }
32
+ }
33
+ }
34
+ ```
35
+
36
+ ## Internal Secrets for Live Tests
37
+
38
+ The live tests feature can retrieve unmasked connection secrets from Airbyte Cloud's internal database. This requires:
39
+
40
+ - **GCP_PROD_DB_ACCESS_CREDENTIALS** - Access to prod Cloud SQL and Google Secret Manager for DB connection details
41
+
42
+ To test locally:
43
+
44
+ 1. Set up GCP Application Default Credentials: `gcloud auth application-default login`
45
+ 2. Ensure you have access to the `prod-ab-cloud-proj` project
46
+ 3. Connect to Tailscale (required for private network access)
47
+
48
+ In CI, these secrets are available at the org level and a Cloud SQL Auth Proxy handles connectivity.
49
+
50
+ ## Authorizing Service Accounts
51
+
52
+ To grant a service account access to the prod database query tools, you need to grant permissions on the `CONNECTION_RETRIEVER_PG_CONNECTION_DETAILS` secret in Google Secret Manager (see `CONNECTION_RETRIEVER_PG_CONNECTION_DETAILS_SECRET_ID` in `src/airbyte_ops_mcp/constants.py`). The service account needs both `secretAccessor` (to read the secret value) and `viewer` (to list secret versions) roles.
53
+
54
+ ### Required Permissions
55
+
56
+ #### Secret Manager Permissions
57
+
58
+ Grant both roles scoped to the specific secret:
59
+
60
+ ```bash
61
+ # Grant secretAccessor role (for reading secret values)
62
+ gcloud secrets add-iam-policy-binding projects/587336813068/secrets/CONNECTION_RETRIEVER_PG_CONNECTION_DETAILS \
63
+ --member="serviceAccount:YOUR_SERVICE_ACCOUNT@prod-ab-cloud-proj.iam.gserviceaccount.com" \
64
+ --role="roles/secretmanager.secretAccessor"
65
+
66
+ # Grant viewer role (for listing secret versions)
67
+ gcloud secrets add-iam-policy-binding projects/587336813068/secrets/CONNECTION_RETRIEVER_PG_CONNECTION_DETAILS \
68
+ --member="serviceAccount:YOUR_SERVICE_ACCOUNT@prod-ab-cloud-proj.iam.gserviceaccount.com" \
69
+ --role="roles/secretmanager.viewer"
70
+ ```
71
+
72
+ #### Cloud SQL Permissions
73
+
74
+ Grant Cloud SQL access at the project level:
75
+
76
+ ```bash
77
+ # Grant Cloud SQL Client role (required for connecting via Cloud SQL Proxy or Python Connector)
78
+ gcloud projects add-iam-policy-binding prod-ab-cloud-proj \
79
+ --member="serviceAccount:YOUR_SERVICE_ACCOUNT@prod-ab-cloud-proj.iam.gserviceaccount.com" \
80
+ --role="roles/cloudsql.client"
81
+
82
+ # Grant Cloud SQL Instance User role (may be required depending on org policies)
83
+ gcloud projects add-iam-policy-binding prod-ab-cloud-proj \
84
+ --member="serviceAccount:YOUR_SERVICE_ACCOUNT@prod-ab-cloud-proj.iam.gserviceaccount.com" \
85
+ --role="roles/cloudsql.instanceUser"
86
+ ```
87
+
88
+ Note: `roles/cloudsql.client` is required for the Cloud SQL Python Connector and Cloud SQL Auth Proxy to establish connections. `roles/cloudsql.instanceUser` is typically needed for IAM database authentication; it may be redundant when using username/password authentication (as this codebase does), but some environments may still require it.
89
+
90
+ ### Verifying Permissions
91
+
92
+ To check existing permissions on the secret:
93
+
94
+ ```bash
95
+ gcloud secrets get-iam-policy projects/587336813068/secrets/CONNECTION_RETRIEVER_PG_CONNECTION_DETAILS
96
+ ```
97
+
98
+ ### Using Cloud SQL Proxy
99
+
100
+ When running outside of the VPC (without Tailscale), use the Cloud SQL Auth Proxy:
101
+
102
+ ```bash
103
+ # Start the proxy (use a non-conflicting port if 5432 is in use)
104
+ cloud-sql-proxy prod-ab-cloud-proj:us-west3:prod-pgsql-replica --port=5433
105
+
106
+ # Set environment variables for your application
107
+ export USE_CLOUD_SQL_PROXY=1
108
+ export DB_PORT=5433
109
+ export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account-key.json
110
+ ```
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: airbyte-internal-ops
3
- Version: 0.1.5
3
+ Version: 0.1.7
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
@@ -24,6 +24,7 @@ Requires-Dist: fastmcp<3.0,>=2.12.1
24
24
  Requires-Dist: gitpython<4.0,>=3.1.29
25
25
  Requires-Dist: google-cloud-logging<4.0,>=3.9.0
26
26
  Requires-Dist: google-cloud-secret-manager<3.0,>=2.18.0
27
+ Requires-Dist: google-cloud-storage<3.0,>=2.8.0
27
28
  Requires-Dist: jinja2<4.0,>=3.1.2
28
29
  Requires-Dist: pydantic>=2.0.0
29
30
  Requires-Dist: python-dotenv<2.0,>=1.0.0
@@ -95,3 +96,71 @@ AIRBYTE_CLOUD_TEST_WORKSPACE_ID="..."
95
96
  Once configured, use the `test_my_tools` prompt by typing "/test" into your agent and selecting the auto-complete option for the `test_my_tools` prompt.
96
97
 
97
98
  This prompt will step through all the tools, demoing their capabilities.
99
+
100
+ ## Usage Examples
101
+
102
+ ### Testing MCP Tools Locally
103
+
104
+ Use the `mcp-tool-test` poe task to test tools directly:
105
+
106
+ ```bash
107
+ # List connectors in a repo
108
+ poe mcp-tool-test list_connectors_in_repo '{"repo_path": "/path/to/airbyte"}'
109
+
110
+ # Get cloud connector version
111
+ poe mcp-tool-test get_cloud_connector_version '{"workspace_id": "...", "actor_id": "..."}'
112
+ ```
113
+
114
+ ### Using Cloud SQL Proxy for Database Tools
115
+
116
+ Some tools (like `list_org_connections_by_source_type_db`) require access to the Airbyte Cloud Prod DB Replica. To test these locally:
117
+
118
+ 1. Authenticate with GCP:
119
+ ```bash
120
+ gcloud auth login
121
+ gcloud auth application-default login
122
+ ```
123
+
124
+ 2. Start Cloud SQL Proxy:
125
+ ```bash
126
+ cloud-sql-proxy prod-ab-cloud-proj:us-west3:prod-pgsql-replica --port=15432
127
+ ```
128
+
129
+ 3. Run the tool with proxy environment variables:
130
+ ```bash
131
+ USE_CLOUD_SQL_PROXY=1 DB_PORT=15432 poe mcp-tool-test list_org_connections_by_source_type_db \
132
+ '{"organization_id": "...", "connector_canonical_name": "source-youtube-analytics"}'
133
+ ```
134
+
135
+ ## Instructions for Agents
136
+
137
+ When working with a user to set up and use this MCP server, agents should follow these steps for authentication:
138
+
139
+ ### GCP Authentication Flow
140
+
141
+ For tools that require GCP access (database queries, secret manager, etc.), guide the user through authentication:
142
+
143
+ 1. **Check if gcloud is installed.** If not, install it:
144
+ ```bash
145
+ curl -sSL https://sdk.cloud.google.com | bash -s -- --disable-prompts
146
+ ```
147
+
148
+ 2. **Run gcloud auth login with `--no-launch-browser`** to get a verification URL:
149
+ ```bash
150
+ gcloud auth login --no-launch-browser
151
+ ```
152
+ Send the verification URL to the user and ask them to complete sign-in and provide the verification code.
153
+
154
+ 3. **Set up Application Default Credentials (ADC)** for library access:
155
+ ```bash
156
+ gcloud auth application-default login --no-launch-browser
157
+ ```
158
+ Again, send the URL to the user and collect the verification code.
159
+
160
+ 4. **For database tools**, start Cloud SQL Proxy on an available port and use the `USE_CLOUD_SQL_PROXY` and `DB_PORT` environment variables.
161
+
162
+ ### Airbyte Cloud Authentication
163
+
164
+ For tools that interact with Airbyte Cloud API, ensure the user has configured:
165
+ - `AIRBYTE_CLOUD_CLIENT_ID` and `AIRBYTE_CLOUD_CLIENT_SECRET` in their `.env` file
166
+ - For admin operations: `AIRBYTE_INTERNAL_ADMIN_FLAG=airbyte.io` and `AIRBYTE_INTERNAL_ADMIN_USER`
@@ -0,0 +1,127 @@
1
+ # airbyte-ops-mcp
2
+
3
+ MCP and API interfaces that let the agents do the admin work.
4
+
5
+ ## Installing Ops MCP in your Client
6
+
7
+ This config example will help you add the MCP server to your client:
8
+
9
+ ```json
10
+ {
11
+ "mcpServers": {
12
+ "airbyte-ops-mcp": {
13
+ "type": "stdio",
14
+ "command": "uv",
15
+ "args": [
16
+ "run",
17
+ "--project=/Users/aj.steers/repos/airbyte-ops-mcp/",
18
+ "airbyte-ops-mcp"
19
+ ],
20
+ "env": {
21
+ "AIRBYTE_MCP_ENV_FILE": "/Users/{user-id}/.mcp/airbyte_mcp.env"
22
+ }
23
+ },
24
+ "airbyte-coral-mcp": {
25
+ "type": "stdio",
26
+ "command": "uvx",
27
+ "args": [
28
+ "--python=3.11",
29
+ "--from=airbyte@latest",
30
+ "airbyte-mcp"
31
+ ],
32
+ "env": {
33
+ "AIRBYTE_MCP_ENV_FILE": "/Users/{user-id}/.mcp/airbyte_mcp.env"
34
+ }
35
+ }
36
+ }
37
+ }
38
+ ```
39
+
40
+ Your `.env` file should include the following values:
41
+
42
+ ```ini
43
+ # Creds for Airbyte Cloud OAuth
44
+ AIRBYTE_CLOUD_CLIENT_ID="..."
45
+ AIRBYTE_CLOUD_CLIENT_SECRET="..."
46
+
47
+ # Required for elevated admin operations
48
+ AIRBYTE_INTERNAL_ADMIN_FLAG=airbyte.io
49
+ AIRBYTE_INTERNAL_ADMIN_USER={my-id}@airbyte.io
50
+
51
+ # Workspace ID for Testing
52
+ AIRBYTE_CLOUD_TEST_WORKSPACE_ID="..."
53
+ ```
54
+
55
+ ## Getting Started
56
+
57
+ Once configured, use the `test_my_tools` prompt by typing "/test" into your agent and selecting the auto-complete option for the `test_my_tools` prompt.
58
+
59
+ This prompt will step through all the tools, demoing their capabilities.
60
+
61
+ ## Usage Examples
62
+
63
+ ### Testing MCP Tools Locally
64
+
65
+ Use the `mcp-tool-test` poe task to test tools directly:
66
+
67
+ ```bash
68
+ # List connectors in a repo
69
+ poe mcp-tool-test list_connectors_in_repo '{"repo_path": "/path/to/airbyte"}'
70
+
71
+ # Get cloud connector version
72
+ poe mcp-tool-test get_cloud_connector_version '{"workspace_id": "...", "actor_id": "..."}'
73
+ ```
74
+
75
+ ### Using Cloud SQL Proxy for Database Tools
76
+
77
+ Some tools (like `list_org_connections_by_source_type_db`) require access to the Airbyte Cloud Prod DB Replica. To test these locally:
78
+
79
+ 1. Authenticate with GCP:
80
+ ```bash
81
+ gcloud auth login
82
+ gcloud auth application-default login
83
+ ```
84
+
85
+ 2. Start Cloud SQL Proxy:
86
+ ```bash
87
+ cloud-sql-proxy prod-ab-cloud-proj:us-west3:prod-pgsql-replica --port=15432
88
+ ```
89
+
90
+ 3. Run the tool with proxy environment variables:
91
+ ```bash
92
+ USE_CLOUD_SQL_PROXY=1 DB_PORT=15432 poe mcp-tool-test list_org_connections_by_source_type_db \
93
+ '{"organization_id": "...", "connector_canonical_name": "source-youtube-analytics"}'
94
+ ```
95
+
96
+ ## Instructions for Agents
97
+
98
+ When working with a user to set up and use this MCP server, agents should follow these steps for authentication:
99
+
100
+ ### GCP Authentication Flow
101
+
102
+ For tools that require GCP access (database queries, secret manager, etc.), guide the user through authentication:
103
+
104
+ 1. **Check if gcloud is installed.** If not, install it:
105
+ ```bash
106
+ curl -sSL https://sdk.cloud.google.com | bash -s -- --disable-prompts
107
+ ```
108
+
109
+ 2. **Run gcloud auth login with `--no-launch-browser`** to get a verification URL:
110
+ ```bash
111
+ gcloud auth login --no-launch-browser
112
+ ```
113
+ Send the verification URL to the user and ask them to complete sign-in and provide the verification code.
114
+
115
+ 3. **Set up Application Default Credentials (ADC)** for library access:
116
+ ```bash
117
+ gcloud auth application-default login --no-launch-browser
118
+ ```
119
+ Again, send the URL to the user and collect the verification code.
120
+
121
+ 4. **For database tools**, start Cloud SQL Proxy on an available port and use the `USE_CLOUD_SQL_PROXY` and `DB_PORT` environment variables.
122
+
123
+ ### Airbyte Cloud Authentication
124
+
125
+ For tools that interact with Airbyte Cloud API, ensure the user has configured:
126
+ - `AIRBYTE_CLOUD_CLIENT_ID` and `AIRBYTE_CLOUD_CLIENT_SECRET` in their `.env` file
127
+ - For admin operations: `AIRBYTE_INTERNAL_ADMIN_FLAG=airbyte.io` and `AIRBYTE_INTERNAL_ADMIN_USER`
@@ -14,12 +14,14 @@ dependencies = [
14
14
  "asyncer>=0.0.4,<1.0",
15
15
  "click>=8.1.3,<9.0",
16
16
  "cloud-sql-python-connector[pg8000]>=1.7.0,<2.0",
17
+ "cyclopts>=4.0.0,<5.0",
17
18
  "docker>=6.0,<7.0",
18
19
  "dpath>=2.1.5,<3.0",
19
20
  "fastmcp>=2.12.1,<3.0",
20
21
  "gitpython>=3.1.29,<4.0",
21
22
  "google-cloud-logging>=3.9.0,<4.0",
22
23
  "google-cloud-secret-manager>=2.18.0,<3.0",
24
+ "google-cloud-storage>=2.8.0,<3.0",
23
25
  "jinja2>=3.1.2,<4.0",
24
26
  "pydantic>=2.0.0",
25
27
  "python-dotenv>=1.0.0,<2.0",
@@ -30,7 +32,6 @@ dependencies = [
30
32
  "slack-sdk>=3.36.0,<4.0",
31
33
  "sqlalchemy>=2.0.0,<3.0",
32
34
  "toml>=0.10.2,<1.0",
33
- "cyclopts>=4.0.0,<5.0",
34
35
  ]
35
36
  keywords = ["airbyte", "mcp", "admin", "api"]
36
37
  classifiers = [
@@ -0,0 +1,44 @@
1
+ """Airbyte Admin MCP - MCP and API interfaces that let the agents do the admin work.
2
+
3
+ .. include:: ../../../README.md
4
+ """
5
+
6
+ from airbyte_ops_mcp import (
7
+ airbyte_repo,
8
+ cli,
9
+ cloud_admin,
10
+ connection_config_retriever,
11
+ constants,
12
+ live_tests,
13
+ mcp,
14
+ prod_db_access,
15
+ registry,
16
+ )
17
+
18
+ __version__ = "0.1.0"
19
+
20
+
21
+ def hello() -> str:
22
+ """Return a friendly greeting."""
23
+ return "Hello from airbyte-internal-ops!"
24
+
25
+
26
+ def get_version() -> str:
27
+ """Return the current version."""
28
+ return __version__
29
+
30
+
31
+ __all__ = [
32
+ "__version__",
33
+ "airbyte_repo",
34
+ "cli",
35
+ "cloud_admin",
36
+ "connection_config_retriever",
37
+ "constants",
38
+ "get_version",
39
+ "hello",
40
+ "live_tests",
41
+ "mcp",
42
+ "prod_db_access",
43
+ "registry",
44
+ ]
@@ -16,7 +16,6 @@ from connector_ops.utils import ConnectorLanguage # type: ignore
16
16
  from consts import ContextState
17
17
  from dagger import Config
18
18
  from pipelines.airbyte_ci.connectors.context import ConnectorContext
19
- from pipelines.airbyte_ci.connectors.publish.context import PublishConnectorContext
20
19
  from pipelines.airbyte_ci.connectors.test.context import ConnectorTestContext
21
20
  from pipelines.airbyte_ci.steps.no_op import NoOpStep
22
21
  from pipelines.dagger.actions.system import docker
@@ -55,7 +54,6 @@ async def context_to_step_result(context: PipelineContext) -> StepResult:
55
54
  async def run_report_complete_pipeline(
56
55
  dagger_client: dagger.Client,
57
56
  contexts: List[ConnectorContext]
58
- | List[PublishConnectorContext]
59
57
  | List[PipelineContext]
60
58
  | List[ConnectorTestContext],
61
59
  ) -> None:
@@ -87,18 +85,14 @@ async def run_report_complete_pipeline(
87
85
 
88
86
 
89
87
  async def run_connectors_pipelines(
90
- contexts: List[ConnectorContext]
91
- | List[PublishConnectorContext]
92
- | List[ConnectorTestContext],
88
+ contexts: List[ConnectorContext] | List[ConnectorTestContext],
93
89
  connector_pipeline: Callable,
94
90
  pipeline_name: str,
95
91
  concurrency: int,
96
92
  dagger_logs_path: Optional[Path],
97
93
  execute_timeout: Optional[int],
98
94
  *args: Any,
99
- ) -> (
100
- List[ConnectorContext] | List[PublishConnectorContext] | List[ConnectorTestContext]
101
- ):
95
+ ) -> List[ConnectorContext] | List[ConnectorTestContext]:
102
96
  """Run a connector pipeline for all the connector contexts."""
103
97
 
104
98
  default_connectors_semaphore = anyio.Semaphore(concurrency)
@@ -34,6 +34,22 @@ class ConnectorLanguage(StrEnum):
34
34
  MANIFEST_ONLY = "manifest-only"
35
35
 
36
36
 
37
+ class ConnectorType(StrEnum):
38
+ """Connector types (source or destination)."""
39
+
40
+ SOURCE = "source"
41
+ DESTINATION = "destination"
42
+
43
+
44
+ class ConnectorSubtype(StrEnum):
45
+ """Connector subtypes based on data source category."""
46
+
47
+ API = "api"
48
+ DATABASE = "database"
49
+ FILE = "file"
50
+ CUSTOM = "custom"
51
+
52
+
37
53
  def get_modified_connectors(
38
54
  repo_path: str | Path,
39
55
  base_ref: str = GIT_DEFAULT_BRANCH,
@@ -245,6 +261,106 @@ def get_connectors_by_language(
245
261
  return connectors_by_language
246
262
 
247
263
 
264
+ def get_connectors_by_type(
265
+ repo_path: str | Path,
266
+ connector_type: ConnectorType,
267
+ ) -> set[str]:
268
+ """Get set of all connector IDs for a specific type (source or destination).
269
+
270
+ This function reads connector directories to determine which connectors
271
+ match the specified type based on their metadata.yaml or name prefix.
272
+
273
+ Args:
274
+ repo_path: Path to the Airbyte monorepo
275
+ connector_type: Type to filter by (source or destination)
276
+
277
+ Returns:
278
+ Set of connector technical names matching the specified type
279
+
280
+ Example:
281
+ >>> source_connectors = get_connectors_by_type(
282
+ ... "/path/to/airbyte", ConnectorType.SOURCE
283
+ ... )
284
+ >>> "source-postgres" in source_connectors
285
+ True
286
+ """
287
+ repo_path = Path(repo_path)
288
+ connectors_dir = repo_path / CONNECTOR_PATH_PREFIX
289
+
290
+ if not connectors_dir.exists():
291
+ raise ValueError(f"Connectors directory not found: {connectors_dir}")
292
+
293
+ type_value = connector_type.value
294
+ connectors_by_type = set()
295
+
296
+ for connector_dir in connectors_dir.iterdir():
297
+ if not connector_dir.is_dir():
298
+ continue
299
+
300
+ connector_name = connector_dir.name
301
+
302
+ # First try to get type from metadata.yaml
303
+ metadata = get_connector_metadata(repo_path, connector_name)
304
+ if metadata:
305
+ metadata_type = metadata.get("connectorType")
306
+ if metadata_type == type_value:
307
+ connectors_by_type.add(connector_name)
308
+ continue
309
+
310
+ # Fallback to name prefix detection
311
+ if connector_name.startswith(f"{type_value}-"):
312
+ connectors_by_type.add(connector_name)
313
+
314
+ return connectors_by_type
315
+
316
+
317
+ def get_connectors_by_subtype(
318
+ repo_path: str | Path,
319
+ connector_subtype: ConnectorSubtype,
320
+ ) -> set[str]:
321
+ """Get set of all connector IDs for a specific subtype (api, database, file, etc.).
322
+
323
+ This function reads connector metadata.yaml files to determine which connectors
324
+ match the specified subtype.
325
+
326
+ Args:
327
+ repo_path: Path to the Airbyte monorepo
328
+ connector_subtype: Subtype to filter by (api, database, file, custom)
329
+
330
+ Returns:
331
+ Set of connector technical names matching the specified subtype
332
+
333
+ Example:
334
+ >>> database_connectors = get_connectors_by_subtype(
335
+ ... "/path/to/airbyte", ConnectorSubtype.DATABASE
336
+ ... )
337
+ >>> "source-postgres" in database_connectors
338
+ True
339
+ """
340
+ repo_path = Path(repo_path)
341
+ connectors_dir = repo_path / CONNECTOR_PATH_PREFIX
342
+
343
+ if not connectors_dir.exists():
344
+ raise ValueError(f"Connectors directory not found: {connectors_dir}")
345
+
346
+ subtype_value = connector_subtype.value
347
+ connectors_by_subtype = set()
348
+
349
+ for connector_dir in connectors_dir.iterdir():
350
+ if not connector_dir.is_dir():
351
+ continue
352
+
353
+ connector_name = connector_dir.name
354
+ metadata = get_connector_metadata(repo_path, connector_name)
355
+
356
+ if metadata:
357
+ metadata_subtype = metadata.get("connectorSubtype")
358
+ if metadata_subtype == subtype_value:
359
+ connectors_by_subtype.add(connector_name)
360
+
361
+ return connectors_by_subtype
362
+
363
+
248
364
  @lru_cache(maxsize=1024)
249
365
  def _detect_connector_language(connector_dir: Path, connector_name: str) -> str | None:
250
366
  """Detect the language of a connector based on its file structure.
@@ -401,6 +517,8 @@ def list_connectors(
401
517
  modified: bool | None = None,
402
518
  language_filter: set[str] | None = None,
403
519
  language_exclude: set[str] | None = None,
520
+ connector_type: str | None = None,
521
+ connector_subtype: str | None = None,
404
522
  base_ref: str | None = None,
405
523
  head_ref: str | None = None,
406
524
  ) -> ConnectorListResult:
@@ -417,6 +535,8 @@ def list_connectors(
417
535
  False=not-modified only, None=all)
418
536
  language_filter: Set of languages to include (python, java, low-code, manifest-only)
419
537
  language_exclude: Set of languages to exclude (mutually exclusive with language_filter)
538
+ connector_type: Filter by connector type (source, destination, or None for all)
539
+ connector_subtype: Filter by connector subtype (api, database, file, custom, or None for all)
420
540
  base_ref: Base git reference for modification detection (default: "origin/main")
421
541
  head_ref: Head git reference for modification detection (default: "HEAD")
422
542
 
@@ -475,6 +595,18 @@ def list_connectors(
475
595
  excluded = get_connectors_by_language(repo_path, ConnectorLanguage(lang))
476
596
  result -= excluded
477
597
 
598
+ # Apply connector type filter
599
+ if connector_type is not None:
600
+ type_set = get_connectors_by_type(repo_path, ConnectorType(connector_type))
601
+ result &= type_set
602
+
603
+ # Apply connector subtype filter
604
+ if connector_subtype is not None:
605
+ subtype_set = get_connectors_by_subtype(
606
+ repo_path, ConnectorSubtype(connector_subtype)
607
+ )
608
+ result &= subtype_set
609
+
478
610
  return ConnectorListResult(
479
611
  connectors=sorted(result),
480
612
  count=len(result),