airbyte-internal-ops 0.1.8__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 (541) hide show
  1. airbyte_internal_ops-0.1.8/.env.template +13 -0
  2. airbyte_internal_ops-0.1.8/.github/copilot-instructions.md +123 -0
  3. airbyte_internal_ops-0.1.8/.github/dependabot.yml +35 -0
  4. airbyte_internal_ops-0.1.8/.github/pr-welcome-message.md +32 -0
  5. airbyte_internal_ops-0.1.8/.github/release-drafter.yml +67 -0
  6. airbyte_internal_ops-0.1.8/.github/workflows/autofix-command.yml +37 -0
  7. airbyte_internal_ops-0.1.8/.github/workflows/connector-live-test.yml +88 -0
  8. airbyte_internal_ops-0.1.8/.github/workflows/connector-regression-test.yml +188 -0
  9. airbyte_internal_ops-0.1.8/.github/workflows/format-check.yml +31 -0
  10. airbyte_internal_ops-0.1.8/.github/workflows/lint-check.yml +80 -0
  11. airbyte_internal_ops-0.1.8/.github/workflows/lock-command.yml +37 -0
  12. airbyte_internal_ops-0.1.8/.github/workflows/pdoc_preview.yml +42 -0
  13. airbyte_internal_ops-0.1.8/.github/workflows/pdoc_publish.yml +57 -0
  14. airbyte_internal_ops-0.1.8/.github/workflows/poe-command.yml +34 -0
  15. airbyte_internal_ops-0.1.8/.github/workflows/pr-welcome.yml +23 -0
  16. airbyte_internal_ops-0.1.8/.github/workflows/publish.yml +170 -0
  17. airbyte_internal_ops-0.1.8/.github/workflows/pytest-fast.yml +69 -0
  18. airbyte_internal_ops-0.1.8/.github/workflows/pytest-matrix.yml +52 -0
  19. airbyte_internal_ops-0.1.8/.github/workflows/release-drafter.yml +25 -0
  20. airbyte_internal_ops-0.1.8/.github/workflows/slash-command-dispatch.yml +52 -0
  21. airbyte_internal_ops-0.1.8/.github/workflows/test-connection-retriever.yml +84 -0
  22. airbyte_internal_ops-0.1.8/.gitignore +211 -0
  23. airbyte_internal_ops-0.1.8/.mcp.json.template +28 -0
  24. airbyte_internal_ops-0.1.8/CONTRIBUTING.md +110 -0
  25. airbyte_internal_ops-0.1.8/PKG-INFO +166 -0
  26. airbyte_internal_ops-0.1.8/README.md +127 -0
  27. airbyte_internal_ops-0.1.8/bin/test_mcp_tool.py +66 -0
  28. airbyte_internal_ops-0.1.8/conftest.py +18 -0
  29. airbyte_internal_ops-0.1.8/docs/.gitignore +1 -0
  30. airbyte_internal_ops-0.1.8/docs/generate.py +47 -0
  31. airbyte_internal_ops-0.1.8/docs/templates/custom.css +268 -0
  32. airbyte_internal_ops-0.1.8/docs/templates/theme.css +46 -0
  33. airbyte_internal_ops-0.1.8/poe_tasks.toml +65 -0
  34. airbyte_internal_ops-0.1.8/pyproject.toml +182 -0
  35. airbyte_internal_ops-0.1.8/pyrefly.toml +9 -0
  36. airbyte_internal_ops-0.1.8/pytest.ini +33 -0
  37. airbyte_internal_ops-0.1.8/ruff.toml +76 -0
  38. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/__init__.py +44 -0
  39. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_annotations.py +51 -0
  40. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/__init__.py +0 -0
  41. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/README.md +6 -0
  42. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/README.md +40 -0
  43. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/__init__.py +1 -0
  44. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/dbml_assembler.py +240 -0
  45. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/erd_service.py +151 -0
  46. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_erd_generator/relationships.py +80 -0
  47. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/README.md +97 -0
  48. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/__init__.py +0 -0
  49. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/cli.py +142 -0
  50. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/hacks.py +70 -0
  51. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/insights.py +305 -0
  52. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/models.py +43 -0
  53. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/pylint.py +68 -0
  54. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/pylint_plugins/cdk_deprecation_checkers.py +81 -0
  55. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/result_backends.py +109 -0
  56. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_insights/utils.py +94 -0
  57. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/.gitignore +1 -0
  58. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/README.md +420 -0
  59. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/__init__.py +2 -0
  60. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/__init__.py +1 -0
  61. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/__init__.py +8 -0
  62. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/base_backend.py +16 -0
  63. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/duckdb_backend.py +87 -0
  64. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/backends/file_backend.py +165 -0
  65. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/connection_objects_retrieval.py +377 -0
  66. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/connector_runner.py +247 -0
  67. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/errors.py +7 -0
  68. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/evaluation_modes.py +25 -0
  69. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/hacks.py +23 -0
  70. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/json_schema_helper.py +384 -0
  71. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/mitm_addons.py +37 -0
  72. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/models.py +595 -0
  73. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/proxy.py +207 -0
  74. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/secret_access.py +47 -0
  75. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/segment_tracking.py +45 -0
  76. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/commons/utils.py +214 -0
  77. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/conftest.py.disabled +751 -0
  78. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/consts.py +4 -0
  79. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/poetry.lock +4480 -0
  80. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/pytest.ini +9 -0
  81. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/__init__.py +1 -0
  82. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_check.py +61 -0
  83. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_discover.py +117 -0
  84. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_read.py +627 -0
  85. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/regression_tests/test_spec.py +43 -0
  86. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/report.py +542 -0
  87. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/stash_keys.py +38 -0
  88. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/templates/__init__.py +0 -0
  89. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/templates/private_details.html.j2 +305 -0
  90. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/templates/report.html.j2 +515 -0
  91. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/utils.py +187 -0
  92. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/__init__.py +0 -0
  93. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_check.py +61 -0
  94. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_discover.py +217 -0
  95. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_read.py +177 -0
  96. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_live_tests/validation_tests/test_spec.py +631 -0
  97. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_ops/README.md +44 -0
  98. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_ops/__init__.py +3 -0
  99. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_ops/utils.py +859 -0
  100. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/README.md +1 -0
  101. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/__init__.py +3 -0
  102. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/connector/hooks.py +69 -0
  103. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/connector/normalization.py +78 -0
  104. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/python/common.py +350 -0
  105. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/python/pipx.py +54 -0
  106. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/python/poetry.py +93 -0
  107. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/remote_storage.py +112 -0
  108. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/secrets.py +83 -0
  109. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/system/common.py +21 -0
  110. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/actions/system/docker.py +248 -0
  111. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/git.py +63 -0
  112. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/internal_tools.py +47 -0
  113. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/java.py +255 -0
  114. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger/containers/python.py +106 -0
  115. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/__init__.py +3 -0
  116. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/cache_keys.py +13 -0
  117. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/cli.py +111 -0
  118. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/__init__.py +3 -0
  119. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/cdk_helpers.py +30 -0
  120. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/command.py +102 -0
  121. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/dagger_fs.py +43 -0
  122. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/format.py +37 -0
  123. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/modifed.py +113 -0
  124. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/connectors/yaml.py +45 -0
  125. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/execution/__init__.py +0 -0
  126. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/execution/argument_parsing.py +80 -0
  127. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/execution/run_steps.py +389 -0
  128. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/gcs.py +53 -0
  129. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/git.py +180 -0
  130. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/github.py +263 -0
  131. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/pip.py +23 -0
  132. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/sentry_utils.py +93 -0
  133. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/slack.py +36 -0
  134. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/DELETEME-dagger-helpers/utils.py +444 -0
  135. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/README.md +1249 -0
  136. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/__init__.py +36 -0
  137. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/__init__.py +3 -0
  138. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/__init__.py +3 -0
  139. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/__init__.py +3 -0
  140. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/commands.py +97 -0
  141. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/pipeline.py +3 -0
  142. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/__init__.py +69 -0
  143. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/build_customization.py +126 -0
  144. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/common.py +175 -0
  145. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/java_connectors.py +74 -0
  146. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/manifest_only_connectors.py +90 -0
  147. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/normalization.py +54 -0
  148. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/build_image/steps/python_connectors.py +156 -0
  149. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/commands.py +350 -0
  150. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/consts.py +44 -0
  151. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/context.py +289 -0
  152. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/generate_erd/__init__.py +1 -0
  153. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/generate_erd/commands.py +69 -0
  154. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/generate_erd/pipeline.py +169 -0
  155. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/list/__init__.py +3 -0
  156. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/list/commands.py +66 -0
  157. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/migrate_to_inline_schemas/__init__.py +3 -0
  158. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/migrate_to_inline_schemas/commands.py +34 -0
  159. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/migrate_to_inline_schemas/pipeline.py +453 -0
  160. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pipeline.py +134 -0
  161. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pull_request/__init__.py +3 -0
  162. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pull_request/commands.py +90 -0
  163. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/pull_request/pipeline.py +117 -0
  164. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/reports.py +231 -0
  165. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/__init__.py +3 -0
  166. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/commands.py +228 -0
  167. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/context.py +224 -0
  168. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/pipeline.py +94 -0
  169. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/__init__.py +3 -0
  170. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/common.py +1026 -0
  171. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/java_connectors.py +173 -0
  172. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/manifest_only_connectors.py +247 -0
  173. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/python_connectors.py +432 -0
  174. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/test/steps/templates/test_report.html.j2 +201 -0
  175. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/__init__.py +3 -0
  176. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/commands.py +77 -0
  177. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/pipeline.py +267 -0
  178. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/steps.py +234 -0
  179. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/up_to_date/templates/up_to_date_pr_body.md.j2 +32 -0
  180. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/upgrade_cdk/__init__.py +3 -0
  181. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/upgrade_cdk/commands.py +58 -0
  182. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/connectors/upgrade_cdk/pipeline.py +231 -0
  183. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/metadata/__init__.py +3 -0
  184. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/metadata/commands.py +51 -0
  185. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/metadata/pipeline.py +295 -0
  186. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/poetry/__init__.py +3 -0
  187. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/poetry/commands.py +41 -0
  188. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/__init__.py +3 -0
  189. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/base_image.py +191 -0
  190. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/docker.py +121 -0
  191. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/gradle.py +365 -0
  192. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/no_op.py +22 -0
  193. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/poetry.py +48 -0
  194. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/steps/pull_request.py +67 -0
  195. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/__init__.py +21 -0
  196. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/commands.py +154 -0
  197. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/models.py +48 -0
  198. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/test/pipeline.py +420 -0
  199. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/update/__init__.py +3 -0
  200. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/airbyte_ci/update/commands.py +27 -0
  201. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/airbyte_ci.py +262 -0
  202. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/auto_update.py +157 -0
  203. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/click_decorators.py +162 -0
  204. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/confirm_prompt.py +40 -0
  205. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/dagger_pipeline_command.py +119 -0
  206. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/dagger_run.py +154 -0
  207. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/ensure_repo_root.py +61 -0
  208. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/lazy_group.py +54 -0
  209. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/secrets.py +48 -0
  210. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/cli/telemetry.py +80 -0
  211. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/consts.py +110 -0
  212. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/hacks.py +171 -0
  213. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/__init__.py +3 -0
  214. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/artifacts.py +56 -0
  215. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/ci_requirements.py +27 -0
  216. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/contexts/__init__.py +3 -0
  217. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/contexts/click_pipeline_context.py +133 -0
  218. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/contexts/pipeline_context.py +381 -0
  219. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/reports.py +277 -0
  220. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/secrets.py +154 -0
  221. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/singleton.py +26 -0
  222. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_pipelines/models/steps.py +480 -0
  223. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/README.md +195 -0
  224. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/__init__.py +0 -0
  225. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/__init__.py +16 -0
  226. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/assets.py +85 -0
  227. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/__init__.py +30 -0
  228. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/documentation.py +714 -0
  229. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/helpers.py +178 -0
  230. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/models.py +177 -0
  231. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/templates/documentation_headers_check_description.md.j2 +17 -0
  232. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/templates/section_content_description.md.j2 +7 -0
  233. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/templates/template.md.j2 +73 -0
  234. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/metadata.py +265 -0
  235. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/packaging.py +258 -0
  236. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/security.py +177 -0
  237. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/version.py +144 -0
  238. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/cli.py +152 -0
  239. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/consts.py +27 -0
  240. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/models.py +335 -0
  241. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/templates/__init__.py +0 -0
  242. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/templates/qa_checks.md.j2 +27 -0
  243. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/utils.py +49 -0
  244. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/README.md +91 -0
  245. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/bin/bundle-schemas.js +48 -0
  246. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/bin/generate-metadata-models.sh +36 -0
  247. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ActorDefinitionResourceRequirements.py +54 -0
  248. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/AirbyteInternal.py +22 -0
  249. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/AllowedHosts.py +18 -0
  250. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorBreakingChanges.py +65 -0
  251. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorBuildOptions.py +15 -0
  252. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorIPCOptions.py +25 -0
  253. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetadataDefinitionV0.json +897 -0
  254. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetadataDefinitionV0.py +478 -0
  255. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetrics.py +24 -0
  256. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorPackageInfo.py +12 -0
  257. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryDestinationDefinition.py +407 -0
  258. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryReleases.py +406 -0
  259. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistrySourceDefinition.py +407 -0
  260. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryV0.py +413 -0
  261. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorReleases.py +98 -0
  262. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorTestSuiteOptions.py +58 -0
  263. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/GeneratedFields.py +62 -0
  264. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/GitInfo.py +31 -0
  265. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/JobType.py +23 -0
  266. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/NormalizationDestinationDefinitionConfig.py +24 -0
  267. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RegistryOverrides.py +111 -0
  268. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ReleaseStage.py +15 -0
  269. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RemoteRegistries.py +23 -0
  270. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ResourceRequirements.py +18 -0
  271. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RolloutConfiguration.py +29 -0
  272. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/Secret.py +34 -0
  273. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SecretStore.py +22 -0
  274. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SourceFileInfo.py +16 -0
  275. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SuggestedStreams.py +18 -0
  276. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SupportLevel.py +15 -0
  277. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/TestConnections.py +14 -0
  278. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/__init__.py +31 -0
  279. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/airbyte-connector-metadata-schema.json +0 -0
  280. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ActorDefinitionResourceRequirements.yaml +30 -0
  281. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/AirbyteInternal.yaml +32 -0
  282. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/AllowedHosts.yaml +13 -0
  283. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorBreakingChanges.yaml +65 -0
  284. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorBuildOptions.yaml +10 -0
  285. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorIPCOptions.yaml +29 -0
  286. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorMetadataDefinitionV0.yaml +172 -0
  287. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorMetrics.yaml +30 -0
  288. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorPackageInfo.yaml +9 -0
  289. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryDestinationDefinition.yaml +90 -0
  290. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryReleases.yaml +35 -0
  291. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistrySourceDefinition.yaml +92 -0
  292. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryV0.yaml +18 -0
  293. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorReleases.yaml +16 -0
  294. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorTestSuiteOptions.yaml +28 -0
  295. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/GeneratedFields.yaml +16 -0
  296. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/GitInfo.yaml +21 -0
  297. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/JobType.yaml +14 -0
  298. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/NormalizationDestinationDefinitionConfig.yaml +21 -0
  299. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RegistryOverrides.yaml +38 -0
  300. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ReleaseStage.yaml +11 -0
  301. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RemoteRegistries.yaml +25 -0
  302. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ResourceRequirements.yaml +16 -0
  303. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RolloutConfiguration.yaml +29 -0
  304. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/Secret.yaml +19 -0
  305. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SecretStore.yaml +16 -0
  306. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SourceFileInfo.yaml +17 -0
  307. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SuggestedStreams.yaml +13 -0
  308. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SupportLevel.yaml +10 -0
  309. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/TestConnections.yaml +17 -0
  310. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/package-lock.json +62 -0
  311. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/package.json +12 -0
  312. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/transform.py +71 -0
  313. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/README.md +17 -0
  314. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/commands.py +368 -0
  315. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/constants.py +71 -0
  316. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/docker_hub.py +162 -0
  317. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/docs/external_documentation_urls.md +554 -0
  318. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/gcs_upload.py +750 -0
  319. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/files.py +36 -0
  320. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/gcs.py +38 -0
  321. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/object_helpers.py +47 -0
  322. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/helpers/slack.py +59 -0
  323. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/.env.template +14 -0
  324. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/README.md +249 -0
  325. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/dagster_cloud.yaml +4 -0
  326. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/__init__.py +265 -0
  327. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/connector_metrics.py +77 -0
  328. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/github.py +122 -0
  329. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/metadata.py +150 -0
  330. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/registry.py +342 -0
  331. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/registry_entry.py +931 -0
  332. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/registry_report.py +382 -0
  333. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/slack.py +57 -0
  334. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/assets/specs_secrets_mask.py +93 -0
  335. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/config.py +58 -0
  336. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/fetcher/connector_cdk_version.py +57 -0
  337. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/hacks.py +155 -0
  338. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/jobs/registry.py +162 -0
  339. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/logging/publish_connector_lifecycle.py +109 -0
  340. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/logging/sentry.py +237 -0
  341. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/models/ci_report.py +56 -0
  342. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/models/metadata.py +101 -0
  343. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/ops/slack.py +46 -0
  344. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/file_managers/local_file_manager.py +67 -0
  345. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/gcp.py +213 -0
  346. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/github.py +134 -0
  347. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/resources/local.py +30 -0
  348. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/sensors/gcs.py +130 -0
  349. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/sensors/github.py +78 -0
  350. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/sensors/registry.py +58 -0
  351. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/templates/base.html +74 -0
  352. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/templates/connector_registry_locations.html +16 -0
  353. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/templates/render.py +251 -0
  354. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/utils/blob_helpers.py +12 -0
  355. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/utils/dagster_helpers.py +46 -0
  356. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/orchestrator/utils/object_helpers.py +69 -0
  357. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/poetry.lock +2815 -0
  358. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/__init__.py +3 -0
  359. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/conftest.py.disabled +7 -0
  360. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/fixtures/__init__.py +18 -0
  361. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/fixtures/cloud_registry.json +21167 -0
  362. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/fixtures/oss_registry.json +30463 -0
  363. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_connector_metrics.py +74 -0
  364. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_dagster_helpers.py +42 -0
  365. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_debug.py +75 -0
  366. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_partition_jobs.py +117 -0
  367. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_registry.py +658 -0
  368. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/test_specs_secrets_mask.py +76 -0
  369. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/registry.py +428 -0
  370. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/registry_entry.py +657 -0
  371. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/registry_report.py +390 -0
  372. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/sentry.py +52 -0
  373. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/spec_cache.py +137 -0
  374. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/specs_secrets_mask.py +117 -0
  375. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/stale_metadata_report.py +300 -0
  376. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/base.html +74 -0
  377. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/connector_registry_locations.html +16 -0
  378. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/render.py +106 -0
  379. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/validators/metadata_validator.py +397 -0
  380. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/airbyte_repo/__init__.py +61 -0
  381. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/airbyte_repo/bump_version.py +522 -0
  382. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/airbyte_repo/list_connectors.py +613 -0
  383. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/airbyte_repo/utils.py +95 -0
  384. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/cli/__init__.py +2 -0
  385. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/cli/_base.py +13 -0
  386. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/cli/_shared.py +54 -0
  387. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/cli/app.py +27 -0
  388. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/cli/cloud.py +891 -0
  389. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/cli/gh.py +71 -0
  390. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/cli/registry.py +181 -0
  391. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/cli/repo.py +488 -0
  392. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/cloud_admin/__init__.py +28 -0
  393. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/cloud_admin/api_client.py +542 -0
  394. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/cloud_admin/auth.py +79 -0
  395. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/cloud_admin/connection_config.py +131 -0
  396. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/cloud_admin/models.py +73 -0
  397. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/connection_config_retriever/__init__.py +26 -0
  398. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/connection_config_retriever/audit_logging.py +87 -0
  399. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/connection_config_retriever/retrieval.py +378 -0
  400. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/connection_config_retriever/secrets_resolution.py +96 -0
  401. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/constants.py +54 -0
  402. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/gcp_auth.py +99 -0
  403. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/__init__.py +36 -0
  404. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/ci_output.py +349 -0
  405. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/commons/__init__.py +2 -0
  406. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/config.py +190 -0
  407. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/connection_fetcher.py +373 -0
  408. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/connection_secret_retriever.py +150 -0
  409. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/connector_runner.py +291 -0
  410. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/evaluation_modes.py +45 -0
  411. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/http_metrics.py +400 -0
  412. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/message_cache/__init__.py +15 -0
  413. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/message_cache/duckdb_cache.py +415 -0
  414. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/models.py +259 -0
  415. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/obfuscation.py +126 -0
  416. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/regression/__init__.py +29 -0
  417. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/regression/comparators.py +466 -0
  418. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/schema_generation.py +154 -0
  419. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/validation/__init__.py +43 -0
  420. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/validation/catalog_validators.py +389 -0
  421. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/live_tests/validation/record_validators.py +227 -0
  422. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/__init__.py +9 -0
  423. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/_guidance.py +48 -0
  424. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/_mcp_utils.py +398 -0
  425. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/cloud_connector_versions.py +298 -0
  426. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/connector_analysis.py +9 -0
  427. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/connector_qa.py +9 -0
  428. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/github.py +277 -0
  429. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/github_repo_ops.py +165 -0
  430. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/live_tests.py +514 -0
  431. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/metadata.py +9 -0
  432. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/prerelease.py +312 -0
  433. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/prod_db_queries.py +350 -0
  434. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/prompts.py +59 -0
  435. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/registry.py +9 -0
  436. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/server.py +83 -0
  437. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/mcp/server_info.py +84 -0
  438. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/prod_db_access/__init__.py +34 -0
  439. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/prod_db_access/db_engine.py +126 -0
  440. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/prod_db_access/py.typed +0 -0
  441. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/prod_db_access/queries.py +273 -0
  442. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/prod_db_access/sql.py +353 -0
  443. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/py.typed +0 -0
  444. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/registry/__init__.py +34 -0
  445. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/registry/models.py +63 -0
  446. airbyte_internal_ops-0.1.8/src/airbyte_ops_mcp/registry/publish.py +368 -0
  447. airbyte_internal_ops-0.1.8/tests/__init__.py +1 -0
  448. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_erd_generator/__init__.py +1 -0
  449. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_erd_generator/builder.py +27 -0
  450. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_erd_generator/test_dbml_assembler.py +68 -0
  451. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_erd_generator/test_relationships.py +130 -0
  452. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_live_tests/__init__.py +1 -0
  453. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_live_tests/backends/__init__.py +0 -0
  454. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_live_tests/backends/test_file_backend.py +74 -0
  455. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_live_tests/test_get_connection_objects_retrieval.py +771 -0
  456. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_live_tests/test_json_schema_helper.py +639 -0
  457. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_ops/conftest.py +65 -0
  458. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_ops/test_migration_files/bad-header.md +9 -0
  459. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_ops/test_migration_files/bad-title.md +9 -0
  460. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_ops/test_migration_files/extra-header.md +13 -0
  461. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_ops/test_migration_files/missing-entry.md +5 -0
  462. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_ops/test_migration_files/out-of-order.md +9 -0
  463. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_ops/test_utils.py +251 -0
  464. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/__init__.py +0 -0
  465. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/conftest.py +56 -0
  466. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/integration_tests/__init__.py +0 -0
  467. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/integration_tests/test_documentation.py +39 -0
  468. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/unit_tests/__init__.py +0 -0
  469. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/__init__.py +0 -0
  470. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/data/docs/correct.md +324 -0
  471. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/data/docs/incorrect_not_all_structure.md +36 -0
  472. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/data/docs/invalid_links.md +305 -0
  473. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_assets.py +93 -0
  474. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_documentation.py +735 -0
  475. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_metadata.py +246 -0
  476. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_packaging.py +410 -0
  477. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_security.py +145 -0
  478. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_checks/test_version.py +69 -0
  479. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/connector_qa/unit_tests/test_models.py +102 -0
  480. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/__init__.py +3 -0
  481. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/conftest.py +91 -0
  482. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_actions/test_environments.py +99 -0
  483. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_bases.py +138 -0
  484. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_build_image/__init__.py +3 -0
  485. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_build_image/dummy_build_customization.py +40 -0
  486. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_build_image/test_manifest_only_connectors.py +159 -0
  487. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_build_image/test_python_connectors.py +255 -0
  488. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_build_image/test_steps/test_common.py +146 -0
  489. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/changelog_header_no_newline.md +11 -0
  490. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/changelog_header_no_separator.md +11 -0
  491. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/no_changelog_header.md +11 -0
  492. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/valid_changelog_at_end.md +12 -0
  493. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/initial_files/valid_changelog_in_middle.md +14 -0
  494. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/changelog_header_no_newline.md +1 -0
  495. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/changelog_header_no_separator.md +1 -0
  496. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_version_date_valid_changelog_at_end.md +14 -0
  497. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_version_date_valid_changelog_in_middle.md +16 -0
  498. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_versions_valid_changelog_at_end.md +14 -0
  499. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/dupicate_versions_valid_changelog_in_middle.md +16 -0
  500. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/duplicate_entry_valid_changelog_at_end.md +13 -0
  501. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/duplicate_entry_valid_changelog_in_middle.md +15 -0
  502. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/existing_entries_valid_changelog_at_end.md +12 -0
  503. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/existing_entries_valid_changelog_in_middle.md +14 -0
  504. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/no_changelog_header.md +1 -0
  505. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/single_insert_valid_changelog_at_end.md +13 -0
  506. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog/result_files/single_insert_valid_changelog_in_middle.md +15 -0
  507. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_changelog.py +163 -0
  508. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_cli/__init__.py +3 -0
  509. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_cli/test_click_decorators.py +89 -0
  510. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_commands/__init__.py +3 -0
  511. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_commands/test_groups/__init__.py +3 -0
  512. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_commands/test_groups/test_connectors.py +437 -0
  513. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_dagger/__init__.py +3 -0
  514. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_dagger/test_actions/__init__.py +3 -0
  515. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_dagger/test_actions/test_python/__init__.py +3 -0
  516. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_dagger/test_actions/test_python/test_common.py +62 -0
  517. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_gradle.py +50 -0
  518. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_helpers/__init__.py +3 -0
  519. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_helpers/test_execution/__init__.py +0 -0
  520. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_helpers/test_execution/test_argument_parsing.py +35 -0
  521. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_helpers/test_execution/test_run_steps.py +603 -0
  522. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_helpers/test_pip.py +80 -0
  523. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_helpers/test_utils.py +330 -0
  524. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_models/__init__.py +3 -0
  525. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_models/test_click_pipeline_context.py +76 -0
  526. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_models/test_singleton.py +31 -0
  527. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_poetry/test_poetry_publish.py +103 -0
  528. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_publish.py +606 -0
  529. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_steps/__init__.py +3 -0
  530. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_steps/test_simple_docker_step.py +113 -0
  531. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_steps/test_version_check.py +83 -0
  532. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_tests/__init__.py +3 -0
  533. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_tests/test_common.py +381 -0
  534. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_tests/test_python_connectors.py +239 -0
  535. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/test_upgrade_java_cdk.py +159 -0
  536. airbyte_internal_ops-0.1.8/tests/legacy/airbyte_ci/pipelines/utils.py +75 -0
  537. airbyte_internal_ops-0.1.8/tests/test_airbyte_admin_mcp.py +36 -0
  538. airbyte_internal_ops-0.1.8/tests/test_bump_version.py +365 -0
  539. airbyte_internal_ops-0.1.8/tests/test_cli_registry.py +303 -0
  540. airbyte_internal_ops-0.1.8/tests/test_list_connectors.py +203 -0
  541. airbyte_internal_ops-0.1.8/uv.lock +5286 -0
@@ -0,0 +1,13 @@
1
+ ## Copy this file to a new `.env` file and then fill in the values.
2
+ ## Important: DO NOT PUT SENSITIVE VALUES IN THIS FILE.
3
+
4
+ # Creds for Airbyte Cloud OAuth
5
+ AIRBYTE_CLOUD_CLIENT_ID="..."
6
+ AIRBYTE_CLOUD_CLIENT_SECRET="..."
7
+
8
+ # Required for elevated admin operations
9
+ AIRBYTE_INTERNAL_ADMIN_FLAG=airbyte.io
10
+ AIRBYTE_INTERNAL_ADMIN_USER={my-id}@airbyte.io
11
+
12
+ # Workspace ID for Testing
13
+ AIRBYTE_CLOUD_TEST_WORKSPACE_ID="..."
@@ -0,0 +1,123 @@
1
+ # Copilot Instructions for airbyte-ops-mcp
2
+
3
+ ## Overview
4
+ MCP and API interfaces for Airbyte administrative operations. Python 3.11+ package using `uv` for dependency management.
5
+
6
+ **Key Info**: Package: `airbyte-internal-ops` | Module: `airbyte_ops_mcp` | Size: ~38 source files, ~29 tests | Coverage: 80% required
7
+
8
+ ## Structure
9
+ - `src/airbyte_ops_mcp/` - Main source (`mcp/server.py` = MCP entry, `cli/app.py` = CLI entry)
10
+ - `mcp/` - MCP server tools | `cli/` - CLI commands | `cloud_admin/` - API client | `airbyte_repo/` - Repo ops
11
+ - `_legacy/` - **EXCLUDED** legacy code (issues #49-#56) - DO NOT modify
12
+ - `tests/` - Tests (pytest) | `legacy/` - **EXCLUDED** from test runs
13
+ - Config: `pyproject.toml`, `poe_tasks.toml`, `ruff.toml`, `pytest.ini`, `uv.lock` (committed)
14
+
15
+ ## Critical Build/Test Commands
16
+
17
+ **ALWAYS run from repository root. All commands validated and timing documented.**
18
+
19
+ ### Setup (Required First)
20
+ ```bash
21
+ uv sync --group dev # ~60s first run, ~5s after. Install dev deps. REQUIRED before any work.
22
+ ```
23
+
24
+ ### Pre-Commit Checks (Run before every commit)
25
+ ```bash
26
+ uv run ruff format . # ~5s - Auto-format code
27
+ uv run ruff check --fix . # ~10s - Fix linting issues
28
+ uv run pytest --exitfirst --cov=airbyte_ops_mcp --cov-report=term # ~15s - Run tests
29
+ ```
30
+
31
+ **Shortcut**: `uv run poe fix && uv run poe test-fast` (~25s total)
32
+
33
+ ### CI-Equivalent Checks
34
+ ```bash
35
+ uv lock --check # ~5s - Verify lock file current
36
+ uv run ruff format --check . # ~5s - Check format (no changes)
37
+ uv run ruff check . # ~5s - Check linting
38
+ uv run deptry . # ~10s - Check dependencies (warnings normal)
39
+ uv run pytest --cov=airbyte_ops_mcp --cov-report=term # ~20s - Full tests
40
+ uv build # ~10s - Build package
41
+ ```
42
+
43
+ **Shortcut**: `uv run poe check` (runs format-check, lint, deps, test)
44
+
45
+ ## CI/CD Workflows
46
+ All run on PRs and main pushes. **Must pass to merge**:
47
+
48
+ 1. **Format Check**: `uv run ruff format --diff .` (~10s)
49
+ 2. **Lint Check**: `uv run ruff check .` + `uv run deptry .` (~25s)
50
+ 3. **Pytest Fast**: `uv lock --check` + `uv build` + pytest with `--exitfirst` on Python 3.11 (20min timeout)
51
+ 4. **Pytest Matrix**: Tests on Python 3.11, 3.12, 3.13 (30min timeout)
52
+
53
+ **Known Issue**: CI uses wrong coverage path (`awesome_python_template` vs `airbyte_ops_mcp`) - tests still work correctly.
54
+
55
+ ## Common Issues & Workarounds
56
+
57
+ ### Legacy Code Exclusions
58
+ **CRITICAL**: `src/airbyte_ops_mcp/_legacy/` and `tests/legacy/` are EXCLUDED from all linting/testing. Configured in `ruff.toml` and `conftest.py`. **DO NOT modify** unless working on migration (issues #49-#56).
59
+
60
+ ### Test Marker Warnings
61
+ `@pytest.mark.unit` and `@pytest.mark.integration` trigger warnings (known issue in pytest.ini) but work correctly.
62
+
63
+ ### Environment Setup
64
+ Create `.env` from `.env.template` (NEVER commit `.env`):
65
+ - `AIRBYTE_CLOUD_CLIENT_ID/SECRET` - OAuth
66
+ - `AIRBYTE_INTERNAL_ADMIN_FLAG/USER` - Admin ops
67
+ - `AIRBYTE_CLOUD_TEST_WORKSPACE_ID` - Testing
68
+
69
+ ### Coverage Requirements
70
+ 80% minimum (pytest.ini). Current: ~40%. Add tests for new code.
71
+
72
+ ## Development Workflow
73
+
74
+ **Standard sequence**:
75
+ 1. `uv sync --group dev` (if dependencies changed)
76
+ 2. Make changes
77
+ 3. `uv run ruff format .` + `uv run ruff check --fix .`
78
+ 4. `uv run pytest --exitfirst --cov=airbyte_ops_mcp --cov-report=term`
79
+ 5. `uv build` (verify package builds)
80
+ 6. Commit/push
81
+
82
+ **Fast iteration**: `uv run poe fix && uv run poe test-fast`
83
+
84
+ ## Poe Task Reference
85
+ ```bash
86
+ uv run poe fix # Format + lint auto-fix
87
+ uv run poe test-fast # Tests with --exitfirst
88
+ uv run poe check # All checks (format, lint, deps, test)
89
+ uv run poe clean # Remove artifacts
90
+ ```
91
+
92
+ ## Key Files & Patterns
93
+
94
+ **Config Files**:
95
+ - `pyproject.toml` - Dependencies (use `uv sync` to update), metadata
96
+ - `poe_tasks.toml` - Task definitions
97
+ - `ruff.toml` - Lint/format rules, legacy exclusions
98
+ - `pytest.ini` - Test config, 80% coverage, legacy exclusions
99
+
100
+ **Important Patterns**:
101
+ - Use `uv` exclusively (not pip/poetry)
102
+ - Run all commands from repo root
103
+ - Validate locally before pushing (all CI checks runnable locally)
104
+ - Package name: `airbyte-internal-ops` | Import name: `airbyte_ops_mcp`
105
+ - Entry points: `airbyte-ops-mcp` (MCP server), `airbyte-ops` (CLI)
106
+
107
+ ## Repository Details
108
+
109
+ **Root Files**: `.env.template`, `.gitignore`, `.mcp.json.template`, `CONTRIBUTING.md`, `README.md`, `bin/`, `conftest.py`, `poe_tasks.toml`, `pyproject.toml`, `pytest.ini`, `ruff.toml`, `src/`, `tests/`, `uv.lock`
110
+
111
+ **Dependencies**: fastmcp (MCP), airbyte/airbyte-cdk (SDK), cyclopts/click (CLI), pydantic (validation), ruff/pytest/deptry (dev tools)
112
+
113
+ **Test Utilities**: `bin/test_mcp_tool.py` - Test MCP tools: `uv run poe mcp-tool-test <tool> '<json>'`
114
+
115
+ ## Agent Guidelines
116
+
117
+ 1. **Use `uv` only** - No pip/poetry
118
+ 2. **Run `uv sync --group dev` first** - Always
119
+ 3. **Test locally** - All CI checks available locally
120
+ 4. **Avoid legacy code** - Don't touch `_legacy/` dirs
121
+ 5. **Meet coverage** - 80% required
122
+ 6. **Format/lint** - CI fails without
123
+ 7. **Trust these instructions** - All validated. Search only if incomplete/incorrect.
@@ -0,0 +1,35 @@
1
+ # To get started with Dependabot version updates, you'll need to specify which
2
+ # package ecosystems to update and where the package manifests are located.
3
+ # Please see the documentation for all configuration options:
4
+ # https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
5
+
6
+ version: 2
7
+ updates:
8
+ - package-ecosystem: pip
9
+ directory: "/" # Location of package manifests
10
+ commit-message:
11
+ prefix: "chore(deps): "
12
+ schedule:
13
+ interval: daily
14
+ labels:
15
+ - chore
16
+ - dependencies
17
+ open-pull-requests-limit: 8 # default is 5
18
+
19
+ - package-ecosystem: github-actions
20
+ open-pull-requests-limit: 5 # default is 5
21
+ directory: "/"
22
+ commit-message:
23
+ prefix: "ci(deps): "
24
+ schedule:
25
+ interval: monthly
26
+ labels:
27
+ - ci
28
+ - dependencies
29
+ groups:
30
+ # allow combining github-actions updates into a single PR
31
+ minor-and-patch:
32
+ applies-to: version-updates
33
+ update-types:
34
+ - patch
35
+ - minor
@@ -0,0 +1,32 @@
1
+ 🎉 **Thanks for opening this pull request!**
2
+
3
+ Your contribution is appreciated. Here are some helpful commands you can use:
4
+
5
+ ## Quick Commands
6
+ - `/autofix` - Auto-format and fix linting issues (ruff format + ruff check --fix)
7
+ - `/lock` - Update the uv.lock file with latest dependencies
8
+
9
+ ## Available Poe Tasks
10
+ You can run any of these tasks using the slash command: `/poe <task-name>`
11
+
12
+ ### Core Tasks
13
+ - `/poe test` - Run all tests
14
+ - `/poe test-fast` - Run tests with fast exit on first failure
15
+ - `/poe lint` - Check code style and quality
16
+ - `/poe format` - Format code with ruff
17
+ - `/poe deps` - Check for unused and missing dependencies
18
+ - `/poe check` - Run format check, linting, dependency check, and tests
19
+
20
+ ### Quick Fixes
21
+ - `/poe fix` - Auto-format and fix linting issues
22
+ - `/poe clean` - Clean up build artifacts and cache
23
+
24
+ ### Build & Install
25
+ - `/poe build` - Build the package
26
+ - `/poe install` - Install with development dependencies
27
+
28
+ ### Other Commands
29
+ - `/poe version` - Show package version
30
+ - `/poe pre-commit` - Run pre-commit style checks
31
+
32
+ The CI will automatically run tests when you push commits. Happy coding! 🚀
@@ -0,0 +1,67 @@
1
+ name-template: "v$RESOLVED_VERSION"
2
+ tag-template: "v$RESOLVED_VERSION"
3
+ categories:
4
+ - title: "New Features ✨"
5
+ labels:
6
+ - "feature"
7
+ - "enhancement"
8
+ - title: "Bug Fixes 🐛"
9
+ labels:
10
+ - "fix"
11
+ - "bugfix"
12
+ - "bug"
13
+ - title: "Under the Hood ⚙️"
14
+ labels:
15
+ - "chore"
16
+ - "ci"
17
+ - "refactor"
18
+ - "testing"
19
+ - title: "Documentation 📖"
20
+ label: "docs"
21
+ change-template: "- $TITLE (#$NUMBER)"
22
+ change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks.
23
+ version-resolver:
24
+ major:
25
+ labels:
26
+ - "major"
27
+ minor:
28
+ labels:
29
+ - "minor"
30
+ patch:
31
+ labels:
32
+ - "patch"
33
+ default: patch
34
+ template: |
35
+ ## Changes
36
+
37
+ $CHANGES
38
+ autolabeler:
39
+ - label: "chore"
40
+ title:
41
+ - '/^chore(\(.*\))?\:/i'
42
+ - label: "testing"
43
+ title:
44
+ - '/^tests(\(.*\))?\:/i'
45
+ - label: "ci"
46
+ title:
47
+ - '/^ci(\(.*\))?\:/i'
48
+ - label: "bug"
49
+ title:
50
+ - '/^fix(\(.*\))?\:/i'
51
+ - label: "enhancement"
52
+ title:
53
+ - '/^feat(\(.*\))?/i'
54
+ - label: "docs"
55
+ title:
56
+ - '/^docs(\(.*\))?\:/i'
57
+ - label: "security"
58
+ title:
59
+ - '/^security(\(.*\))?\:/i'
60
+ - '/^fix(\(security\))?\:/i'
61
+ - label: "dependencies"
62
+ title:
63
+ - '/^chore\(deps\)\:/i'
64
+ - '/^build\(deps\)\:/i'
65
+ - label: "breaking"
66
+ title:
67
+ - '/!:\s*$/i'
@@ -0,0 +1,37 @@
1
+ name: On-Demand Fix
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ inputs:
6
+ pr:
7
+ description: "PR Number"
8
+ type: string
9
+ required: false
10
+ comment-id:
11
+ description: "Comment ID (Optional)"
12
+ type: string
13
+ required: false
14
+
15
+ permissions:
16
+ contents: write
17
+ pull-requests: write
18
+
19
+ jobs:
20
+ run-autofix-command:
21
+ runs-on: ubuntu-latest
22
+ steps:
23
+ - name: Authenticate as GitHub App (if available)
24
+ uses: actions/create-github-app-token@v2
25
+ id: get-app-token
26
+ continue-on-error: true
27
+ with:
28
+ app-id: ${{ secrets.OCTAVIA_BOT_APP_ID }}
29
+ private-key: ${{ secrets.OCTAVIA_BOT_PRIVATE_KEY }}
30
+
31
+ - name: Run Poe Autofix Command
32
+ uses: aaronsteers/poe-command-processor@v1.3.3
33
+ with:
34
+ pr: ${{ github.event.inputs.pr }}
35
+ comment-id: ${{ github.event.inputs.comment-id }}
36
+ github-token: ${{ steps.get-app-token.outputs.token || secrets.GITHUB_TOKEN }}
37
+ command: autofix
@@ -0,0 +1,88 @@
1
+ name: Connector Live Test
2
+ permissions:
3
+ contents: read
4
+
5
+ on:
6
+ workflow_dispatch:
7
+ inputs:
8
+ connector_image:
9
+ description: "Full connector image name with tag (e.g., airbyte/source-github:1.0.0). Optional if connector_name or connection_id is provided."
10
+ required: false
11
+ type: string
12
+ connector_name:
13
+ description: "Connector name to build from source (e.g., 'source-pokeapi'). If provided, builds the image locally."
14
+ required: false
15
+ type: string
16
+ command:
17
+ description: "Airbyte command to run"
18
+ required: false
19
+ type: choice
20
+ options:
21
+ - spec
22
+ - check
23
+ - discover
24
+ - read
25
+ default: check
26
+ connection_id:
27
+ description: "Airbyte Cloud connection ID to fetch config/catalog from. If provided, connector_image can be auto-detected."
28
+ required: false
29
+ type: string
30
+ state_path:
31
+ description: "Path to state JSON file (optional for read)"
32
+ required: false
33
+ type: string
34
+
35
+ jobs:
36
+ live-test:
37
+ name: Run Live Test
38
+ runs-on: ubuntu-latest
39
+ steps:
40
+ - name: Checkout code
41
+ uses: actions/checkout@v6
42
+
43
+ - name: Install uv
44
+ uses: astral-sh/setup-uv@v7
45
+ with:
46
+ version: "latest"
47
+
48
+ - name: Set up Python
49
+ uses: actions/setup-python@v6
50
+ with:
51
+ python-version: "3.11"
52
+
53
+ - name: Install dependencies
54
+ run: uv sync --group dev
55
+
56
+ - name: Run Live Test
57
+ id: live-test
58
+ env:
59
+ AIRBYTE_CLOUD_CLIENT_ID: ${{ secrets.AIRBYTE_CLOUD_CLIENT_ID }}
60
+ AIRBYTE_CLOUD_CLIENT_SECRET: ${{ secrets.AIRBYTE_CLOUD_CLIENT_SECRET }}
61
+ run: |
62
+ ARGS=(--command "${{ inputs.command }}")
63
+
64
+ if [ -n "${{ inputs.connector_image }}" ]; then
65
+ ARGS+=(--connector-image "${{ inputs.connector_image }}")
66
+ fi
67
+
68
+ if [ -n "${{ inputs.connector_name }}" ]; then
69
+ ARGS+=(--connector-name "${{ inputs.connector_name }}")
70
+ fi
71
+
72
+ if [ -n "${{ inputs.connection_id }}" ]; then
73
+ ARGS+=(--connection-id "${{ inputs.connection_id }}")
74
+ fi
75
+
76
+ if [ -n "${{ inputs.state_path }}" ]; then
77
+ ARGS+=(--state-path "${{ inputs.state_path }}")
78
+ fi
79
+
80
+ uv run airbyte-ops cloud connector live-test "${ARGS[@]}"
81
+
82
+ - name: Upload Test Artifacts
83
+ if: always()
84
+ uses: actions/upload-artifact@v5
85
+ with:
86
+ name: live-test-artifacts-${{ github.run_id }}
87
+ path: /tmp/live_test_artifacts/
88
+ retention-days: 7
@@ -0,0 +1,188 @@
1
+ name: Connector Regression Test
2
+ permissions:
3
+ contents: read
4
+ checks: write
5
+
6
+ on:
7
+ workflow_dispatch:
8
+ inputs:
9
+ target_image:
10
+ description: "Target connector image (new version) with tag (e.g., airbyte/source-github:2.0.0). Optional if connector_name is provided."
11
+ required: false
12
+ type: string
13
+ control_image:
14
+ description: "Control connector image (baseline version) with tag (e.g., airbyte/source-github:1.0.0). Optional if connection_id is provided (auto-detected)."
15
+ required: false
16
+ type: string
17
+ connector_name:
18
+ description: "Connector name to build target image from source (e.g., 'source-pokeapi'). If provided, builds the target image locally."
19
+ required: false
20
+ type: string
21
+ command:
22
+ description: "Airbyte command to run"
23
+ required: false
24
+ type: choice
25
+ options:
26
+ - spec
27
+ - check
28
+ - discover
29
+ - read
30
+ default: check
31
+ connection_id:
32
+ description: "Airbyte Cloud connection ID to fetch config/catalog from. If provided, control_image can be auto-detected."
33
+ required: false
34
+ type: string
35
+ state_path:
36
+ description: "Path to state JSON file (optional for read)"
37
+ required: false
38
+ type: string
39
+
40
+ workflow_call:
41
+ inputs:
42
+ target_image:
43
+ description: "Target connector image (new version) with tag. Optional if connector_name is provided."
44
+ required: false
45
+ type: string
46
+ control_image:
47
+ description: "Control connector image (baseline version) with tag. Optional if connection_id is provided."
48
+ required: false
49
+ type: string
50
+ connector_name:
51
+ description: "Connector name to build target image from source (e.g., 'source-pokeapi')."
52
+ required: false
53
+ type: string
54
+ command:
55
+ description: "Airbyte command to run (spec, check, discover, read)"
56
+ required: false
57
+ type: string
58
+ default: check
59
+ connection_id:
60
+ description: "Airbyte Cloud connection ID to fetch config/catalog from. If provided, control_image can be auto-detected."
61
+ required: false
62
+ type: string
63
+ state_path:
64
+ description: "Path to state JSON file (optional for read)"
65
+ required: false
66
+ type: string
67
+ outputs:
68
+ success:
69
+ description: "True if regression test passed (no regression detected)"
70
+ value: ${{ jobs.regression-test.outputs.success }}
71
+ summary_url:
72
+ description: "GitHub Actions run summary URL"
73
+ value: ${{ jobs.regression-test.outputs.summary_url }}
74
+ report_url:
75
+ description: "Detailed regression report (GitHub Check URL)"
76
+ value: ${{ jobs.regression-test.outputs.report_url }}
77
+ secrets:
78
+ AIRBYTE_CLOUD_CLIENT_ID:
79
+ required: false
80
+ AIRBYTE_CLOUD_CLIENT_SECRET:
81
+ required: false
82
+
83
+ jobs:
84
+ regression-test:
85
+ name: Run Regression Test
86
+ runs-on: ubuntu-latest
87
+ outputs:
88
+ success: ${{ steps.regression-test.outputs.success }}
89
+ summary_url: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
90
+ report_url: ${{ steps.create-report-check.outputs.report_url }}
91
+ steps:
92
+ - name: Checkout code
93
+ uses: actions/checkout@v6
94
+
95
+ - name: Install uv
96
+ uses: astral-sh/setup-uv@v7
97
+ with:
98
+ version: "latest"
99
+
100
+ - name: Set up Python
101
+ uses: actions/setup-python@v6
102
+ with:
103
+ python-version: "3.11"
104
+
105
+ - name: Install dependencies
106
+ run: uv sync --group dev
107
+
108
+ - name: Run Regression Test
109
+ id: regression-test
110
+ env:
111
+ AIRBYTE_CLOUD_CLIENT_ID: ${{ secrets.AIRBYTE_CLOUD_CLIENT_ID }}
112
+ AIRBYTE_CLOUD_CLIENT_SECRET: ${{ secrets.AIRBYTE_CLOUD_CLIENT_SECRET }}
113
+ run: |
114
+ ARGS=(--command "${{ inputs.command }}")
115
+
116
+ if [ -n "${{ inputs.target_image }}" ]; then
117
+ ARGS+=(--target-image "${{ inputs.target_image }}")
118
+ fi
119
+
120
+ if [ -n "${{ inputs.control_image }}" ]; then
121
+ ARGS+=(--control-image "${{ inputs.control_image }}")
122
+ fi
123
+
124
+ if [ -n "${{ inputs.connector_name }}" ]; then
125
+ ARGS+=(--connector-name "${{ inputs.connector_name }}")
126
+ fi
127
+
128
+ if [ -n "${{ inputs.connection_id }}" ]; then
129
+ ARGS+=(--connection-id "${{ inputs.connection_id }}")
130
+ fi
131
+
132
+ if [ -n "${{ inputs.state_path }}" ]; then
133
+ ARGS+=(--state-path "${{ inputs.state_path }}")
134
+ fi
135
+
136
+ uv run airbyte-ops cloud connector regression-test "${ARGS[@]}"
137
+
138
+ - name: Create Regression Test Report Check
139
+ id: create-report-check
140
+ if: always()
141
+ uses: actions/github-script@v7
142
+ with:
143
+ script: |
144
+ const fs = require('fs');
145
+ const reportPath = '/tmp/regression_test_artifacts/report.md';
146
+
147
+ let reportContent = 'Report not generated';
148
+ if (fs.existsSync(reportPath)) {
149
+ reportContent = fs.readFileSync(reportPath, 'utf8');
150
+ }
151
+
152
+ const conclusion = '${{ steps.regression-test.outcome }}' === 'success' ? 'success' : 'failure';
153
+
154
+ const check = await github.rest.checks.create({
155
+ owner: context.repo.owner,
156
+ repo: context.repo.repo,
157
+ name: 'Regression Test Report',
158
+ head_sha: context.sha,
159
+ status: 'completed',
160
+ conclusion: conclusion,
161
+ output: {
162
+ title: 'Regression Test Report',
163
+ summary: `Regression test comparing \`${{ inputs.target_image }}\` vs \`${{ inputs.control_image }}\` using \`${{ inputs.command }}\` command.`,
164
+ text: reportContent
165
+ }
166
+ });
167
+
168
+ core.setOutput('report_url', check.data.html_url);
169
+
170
+ - name: Add Report Link to Summary
171
+ if: always()
172
+ run: |
173
+ {
174
+ echo ""
175
+ echo "---"
176
+ echo ""
177
+ echo "### View Full Report"
178
+ echo ""
179
+ echo "[Open Regression Test Report](${{ steps.create-report-check.outputs.report_url }})"
180
+ } >> "$GITHUB_STEP_SUMMARY"
181
+
182
+ - name: Upload Test Artifacts
183
+ if: always()
184
+ uses: actions/upload-artifact@v5
185
+ with:
186
+ name: regression-test-artifacts-${{ github.run_id }}
187
+ path: /tmp/regression_test_artifacts/
188
+ retention-days: 7
@@ -0,0 +1,31 @@
1
+ name: Format Check
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request: {}
8
+
9
+ jobs:
10
+ ruff-format-check:
11
+ name: Ruff Format Check
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - name: Checkout code
15
+ uses: actions/checkout@v6
16
+
17
+ - name: Install uv
18
+ uses: astral-sh/setup-uv@v7
19
+ with:
20
+ version: "latest"
21
+
22
+ - name: Set up Python
23
+ uses: actions/setup-python@v6
24
+ with:
25
+ python-version: "3.11"
26
+
27
+ - name: Install dependencies
28
+ run: uv sync --group dev
29
+
30
+ - name: Check code format
31
+ run: uv run ruff format --diff .
@@ -0,0 +1,80 @@
1
+ name: Lint Check
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request: {}
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ ruff-lint-check:
14
+ name: Ruff Lint Check
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - name: Checkout code
18
+ uses: actions/checkout@v6
19
+
20
+ - name: Install uv
21
+ uses: astral-sh/setup-uv@v7
22
+ with:
23
+ version: "latest"
24
+
25
+ - name: Set up Python
26
+ uses: actions/setup-python@v6
27
+ with:
28
+ python-version: "3.11"
29
+
30
+ - name: Install dependencies
31
+ run: uv sync --group dev
32
+
33
+ - name: Run lint check
34
+ run: uv run ruff check .
35
+
36
+ deptry-check:
37
+ name: Dependency Analysis
38
+ runs-on: ubuntu-latest
39
+ steps:
40
+ - name: Checkout code
41
+ uses: actions/checkout@v6
42
+
43
+ - name: Install uv
44
+ uses: astral-sh/setup-uv@v7
45
+ with:
46
+ version: "latest"
47
+
48
+ - name: Set up Python
49
+ uses: actions/setup-python@v6
50
+ with:
51
+ python-version: "3.11"
52
+
53
+ - name: Install dependencies
54
+ run: uv sync --group dev
55
+
56
+ - name: Run dependency analysis
57
+ run: uv run deptry .
58
+
59
+ pyrefly-check:
60
+ name: Type Checking
61
+ runs-on: ubuntu-latest
62
+ steps:
63
+ - name: Checkout code
64
+ uses: actions/checkout@v6
65
+
66
+ - name: Install uv
67
+ uses: astral-sh/setup-uv@v7
68
+ with:
69
+ version: "latest"
70
+
71
+ - name: Set up Python
72
+ uses: actions/setup-python@v6
73
+ with:
74
+ python-version: "3.11"
75
+
76
+ - name: Install dependencies
77
+ run: uv sync --group dev
78
+
79
+ - name: Run type check
80
+ run: uv run pyrefly check