airbyte-internal-ops 0.5.0__py3-none-any.whl → 0.5.1__py3-none-any.whl

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 (85) hide show
  1. {airbyte_internal_ops-0.5.0.dist-info → airbyte_internal_ops-0.5.1.dist-info}/METADATA +2 -1
  2. {airbyte_internal_ops-0.5.0.dist-info → airbyte_internal_ops-0.5.1.dist-info}/RECORD +16 -85
  3. airbyte_ops_mcp/cli/cloud.py +4 -2
  4. airbyte_ops_mcp/cloud_admin/api_client.py +51 -51
  5. airbyte_ops_mcp/constants.py +58 -0
  6. airbyte_ops_mcp/{_legacy/airbyte_ci/metadata_service/docker_hub.py → docker_hub.py} +16 -10
  7. airbyte_ops_mcp/mcp/cloud_connector_versions.py +44 -23
  8. airbyte_ops_mcp/mcp/prod_db_queries.py +128 -4
  9. airbyte_ops_mcp/mcp/regression_tests.py +10 -5
  10. airbyte_ops_mcp/{_legacy/airbyte_ci/metadata_service/validators/metadata_validator.py → metadata_validator.py} +18 -12
  11. airbyte_ops_mcp/prod_db_access/queries.py +51 -0
  12. airbyte_ops_mcp/prod_db_access/sql.py +76 -0
  13. airbyte_ops_mcp/regression_tests/connection_fetcher.py +16 -5
  14. airbyte_ops_mcp/regression_tests/models.py +2 -2
  15. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/README.md +0 -91
  16. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/bin/bundle-schemas.js +0 -48
  17. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/bin/generate-metadata-models.sh +0 -36
  18. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ActorDefinitionResourceRequirements.py +0 -54
  19. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/AirbyteInternal.py +0 -22
  20. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/AllowedHosts.py +0 -18
  21. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorBreakingChanges.py +0 -65
  22. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorBuildOptions.py +0 -15
  23. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorIPCOptions.py +0 -25
  24. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetadataDefinitionV0.json +0 -897
  25. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetadataDefinitionV0.py +0 -478
  26. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetrics.py +0 -24
  27. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorPackageInfo.py +0 -12
  28. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryDestinationDefinition.py +0 -407
  29. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryReleases.py +0 -406
  30. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistrySourceDefinition.py +0 -407
  31. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryV0.py +0 -413
  32. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorReleases.py +0 -98
  33. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorTestSuiteOptions.py +0 -58
  34. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/GeneratedFields.py +0 -62
  35. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/GitInfo.py +0 -31
  36. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/JobType.py +0 -23
  37. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/NormalizationDestinationDefinitionConfig.py +0 -24
  38. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RegistryOverrides.py +0 -111
  39. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ReleaseStage.py +0 -15
  40. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RemoteRegistries.py +0 -23
  41. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ResourceRequirements.py +0 -18
  42. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RolloutConfiguration.py +0 -29
  43. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/Secret.py +0 -34
  44. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SecretStore.py +0 -22
  45. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SourceFileInfo.py +0 -16
  46. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SuggestedStreams.py +0 -18
  47. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SupportLevel.py +0 -15
  48. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/TestConnections.py +0 -14
  49. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/__init__.py +0 -31
  50. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/airbyte-connector-metadata-schema.json +0 -0
  51. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ActorDefinitionResourceRequirements.yaml +0 -30
  52. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/AirbyteInternal.yaml +0 -32
  53. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/AllowedHosts.yaml +0 -13
  54. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorBreakingChanges.yaml +0 -65
  55. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorBuildOptions.yaml +0 -10
  56. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorIPCOptions.yaml +0 -29
  57. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorMetadataDefinitionV0.yaml +0 -172
  58. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorMetrics.yaml +0 -30
  59. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorPackageInfo.yaml +0 -9
  60. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryDestinationDefinition.yaml +0 -90
  61. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryReleases.yaml +0 -35
  62. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistrySourceDefinition.yaml +0 -92
  63. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryV0.yaml +0 -18
  64. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorReleases.yaml +0 -16
  65. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorTestSuiteOptions.yaml +0 -28
  66. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/GeneratedFields.yaml +0 -16
  67. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/GitInfo.yaml +0 -21
  68. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/JobType.yaml +0 -14
  69. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/NormalizationDestinationDefinitionConfig.yaml +0 -21
  70. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RegistryOverrides.yaml +0 -38
  71. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ReleaseStage.yaml +0 -11
  72. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RemoteRegistries.yaml +0 -25
  73. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ResourceRequirements.yaml +0 -16
  74. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RolloutConfiguration.yaml +0 -29
  75. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/Secret.yaml +0 -19
  76. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SecretStore.yaml +0 -16
  77. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SourceFileInfo.yaml +0 -17
  78. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SuggestedStreams.yaml +0 -13
  79. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SupportLevel.yaml +0 -10
  80. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/TestConnections.yaml +0 -17
  81. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/package-lock.json +0 -62
  82. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/package.json +0 -12
  83. airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/transform.py +0 -71
  84. {airbyte_internal_ops-0.5.0.dist-info → airbyte_internal_ops-0.5.1.dist-info}/WHEEL +0 -0
  85. {airbyte_internal_ops-0.5.0.dist-info → airbyte_internal_ops-0.5.1.dist-info}/entry_points.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: airbyte-internal-ops
3
- Version: 0.5.0
3
+ Version: 0.5.1
4
4
  Summary: MCP and API interfaces that let the agents do the admin work
5
5
  Author-email: Aaron Steers <aj@airbyte.io>
6
6
  Keywords: admin,airbyte,api,mcp
@@ -12,6 +12,7 @@ Classifier: Programming Language :: Python :: 3.11
12
12
  Classifier: Programming Language :: Python :: 3.12
13
13
  Requires-Python: <3.13,>=3.11
14
14
  Requires-Dist: airbyte-cdk<8.0,>=7.3.9
15
+ Requires-Dist: airbyte-connector-models<1.0,>=0.1.3
15
16
  Requires-Dist: airbyte-protocol-models-pdv2>=0.13.0
16
17
  Requires-Dist: airbyte==0.35.4
17
18
  Requires-Dist: asyncer<1.0,>=0.0.4
@@ -1,9 +1,11 @@
1
1
  airbyte_ops_mcp/__init__.py,sha256=tuzdlMkfnWBnsri5KGHM2M_xuNnzFk2u_aR79mmN7Yg,772
2
2
  airbyte_ops_mcp/_annotations.py,sha256=MO-SBDnbykxxHDESG7d8rviZZ4WlZgJKv0a8eBqcEzQ,1757
3
- airbyte_ops_mcp/constants.py,sha256=khcv9W3WkApIyPygEGgE2noBIqLomjoOMLxFBU1ArjA,5308
3
+ airbyte_ops_mcp/constants.py,sha256=lhifXJggCKYOjJAprTQ8N-kXrScTBVWuo05CJTQdVnM,7355
4
+ airbyte_ops_mcp/docker_hub.py,sha256=qdOYpj2KOFOsEGsl2b2rcVPzyYDharOVM_lJxNTytds,5833
4
5
  airbyte_ops_mcp/gcp_auth.py,sha256=i0cm1_xX4fj_31iKlfARpNvTaSr85iGTSw9KMf4f4MU,7206
5
6
  airbyte_ops_mcp/github_actions.py,sha256=FSi_tjS9TbwRVp8dwlDZhFOi7lJXEZQLhPm2KpcjNlY,7022
6
7
  airbyte_ops_mcp/github_api.py,sha256=ezpMR1vjqQ-1f5yOLBVbxW70OPtUferl1uA0u_gUVo8,12733
8
+ airbyte_ops_mcp/metadata_validator.py,sha256=kRCr3uzZmFLv4gCzY4KzLrApycqoE1YgDRpld04EBaU,15002
7
9
  airbyte_ops_mcp/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
10
  airbyte_ops_mcp/telemetry.py,sha256=GUQX-oD6besFl-kAyycci1HCk1jov_JFwUAqKVN0yKE,5230
9
11
  airbyte_ops_mcp/_legacy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -170,79 +172,9 @@ airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/templates/s
170
172
  airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/checks/documentation/templates/template.md.j2,sha256=bYxLfOP3GDwQC9Q3PiVbxsL5GS0p5b10k1dwzfOrm1M,1962
171
173
  airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
172
174
  airbyte_ops_mcp/_legacy/airbyte_ci/connector_qa/templates/qa_checks.md.j2,sha256=v3NyYUAYkqRiYAFDQ2NgpgYK6PIDhDKrqfRgpX8454s,1946
173
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/README.md,sha256=CQtTgVzHH3UdgRCohA9GyNhxIiYxVZmSwhMKWnfbocE,3569
174
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/package-lock.json,sha256=uazyPocrveknTDfwu4DlcaDQ5HwkPNf1Q_vDNpGMp0s,2233
175
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/package.json,sha256=_JMByXIhM9iYRKlLqheCVWXWswfwDzuXc5-A1VRUdUM,307
176
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/transform.py,sha256=cx-u9y0aYKs0M7rL47I62WQfcx6uIyzbL2wWv5GERNM,1939
177
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/bin/bundle-schemas.js,sha256=9uPu__Ap0THB27NB00CHhMcaM1foMD9pxWkIzvGYXSI,1554
178
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/bin/generate-metadata-models.sh,sha256=nimwqBGB8MkHsY2UT7-ao54urliVr5vbbSGBg9yFBM8,837
179
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ActorDefinitionResourceRequirements.py,sha256=Oxa3c_wEZ1EvHdTJKEknrcQb3yLrdMgZmMadb8rC7Sg,1379
180
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/AirbyteInternal.py,sha256=LMItf-gXmq2thL_02S5IBRVBzRHxH6ADjP0uJeIZLz8,643
181
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/AllowedHosts.py,sha256=3Hqi9hkUZUyDllYqQy8mhe31aXUiScFIqspna1jq6GU,567
182
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorBreakingChanges.py,sha256=5nC3X877OzoS282AFrzC7ZGB_1N5m1lq80ELTsj_vZ0,2163
183
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorBuildOptions.py,sha256=krUFc7h7hl0lHq__WjIgDze-wQhOOt2bUZZS7wpsXQ8,306
184
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorIPCOptions.py,sha256=gg-3yLA8YHGAK0lAIn_FCDDe-4olx3amETQo6z2Dix8,561
185
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetadataDefinitionV0.json,sha256=S5xaoOxXPIRn4jEu1C_hSz5lBshSevm_2PFB1Q1MyqE,35958
186
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetadataDefinitionV0.py,sha256=xAO1zD4l20dVhcwAmFnFWxjVu7CWcQDbSVrHsLpnDkQ,15145
187
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorMetrics.py,sha256=Ebdf9-Mk6dteZg6hBSe5ipnUTG2MD0-oS5smvNftwOg,639
188
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorPackageInfo.py,sha256=ISyJKeD7Qq_euCgBwU2qptLPOO_yVrC4U-EKGDqkXrQ,251
189
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryDestinationDefinition.py,sha256=-FgxtNHY0G2dCSufr8civQ1nI3TOxCM4URLkSBYqwDg,13854
190
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryReleases.py,sha256=rJqkZybaMF4bxZRuiG0eC37DwIap0x6luxNGIo2Bs18,13780
191
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistrySourceDefinition.py,sha256=l2shw_nQeejhOi9U_JiApPBy-xqIsyqGAPxzNSA5z1w,13844
192
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorRegistryV0.py,sha256=_fS_eTekipTMIwQxYUTjD4c1I-gZ7oS2NA7iAVumuDg,14033
193
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorReleases.py,sha256=-SShEqp6IUxyS2FTeFktTu5iKhLIyN4d4jN_vloOD4U,3396
194
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ConnectorTestSuiteOptions.py,sha256=iFkCj7qKyfACRAyqO5U_rx9uvyF36nJ7EhjYxOZnBO4,1659
195
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/GeneratedFields.py,sha256=XXxt1hcUyUB-7f4nbH25iaBbJlDn8yACFkSIPb2I-X8,1890
196
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/GitInfo.py,sha256=12IzNtjSqmOJEJJfVXklLRrT2jiSoUB-6nDKDykNzC0,900
197
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/JobType.py,sha256=OTKGbQiujs_a9sTzkUf_55Juvr9KapzTQTI8Dj-teyI,550
198
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/NormalizationDestinationDefinitionConfig.py,sha256=zlpES0S2vLfL8LHBitCjhnhwsheqZU1QDhF4ph2paQ4,832
199
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RegistryOverrides.py,sha256=8Gbeq0yxBWXEF2vmZ-eJCK37lP8w80VMfKmzdOrDdVQ,3495
200
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ReleaseStage.py,sha256=icUn2vJz06iovcHRKzrl5_zeSrNTTP0yP_TjoJLc5Dw,414
201
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RemoteRegistries.py,sha256=tq6YN_i8JsUtq0Gt6dbUS5SbUDTLVv6MK8Uz9uKpLeg,472
202
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/ResourceRequirements.py,sha256=B2MmHYbnq6l5k2yoFaYj4hQ89uxI6fJWv3FCrmTXpBA,422
203
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/RolloutConfiguration.py,sha256=mp4mOGFIRfzmd9Lg6Yc285iYUTFTr384RJEjdjOIo6M,981
204
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/Secret.py,sha256=-bqAjHc-aVqyNLzHu4CfuU1OgHCczhTLMCa33bLTLJo,875
205
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SecretStore.py,sha256=UQL4qH_bH5nmDeekrS7AFv1-F4YfwYiyimrAtiVWtNI,552
206
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SourceFileInfo.py,sha256=M4UKnQbU68IGizi30lNx7pilLkQluJ6aWW2euVX44mo,436
207
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SuggestedStreams.py,sha256=Pub9KpIbiVbfNmNrz10wEr7NPzqBAqL-id9ybNnV0hk,580
208
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/SupportLevel.py,sha256=Tq6SVNWH7ZnG_SCJvvoZ98woUGjEP-MB1R5dgERU3V0,402
209
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/TestConnections.py,sha256=ffY7bIwJtaRNG8eSG54THM-tXddkooDXENfWxsXN0o4,356
210
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/__init__.py,sha256=qaR1ewhyfhbGgrMPo5xIvgMPGmONih4ZZcnSoEosB80,1096
211
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/generated/airbyte-connector-metadata-schema.json,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
212
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ActorDefinitionResourceRequirements.yaml,sha256=4nAKPdPKx6zevyeUUg0XANIVNtEGI5aS9eOxtQKsezo,1329
213
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/AirbyteInternal.yaml,sha256=gUaeZJZUE66-Yhb2PkDZjoCUEENWb1gkxK2Azy-Xulw,709
214
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/AllowedHosts.yaml,sha256=TGx5xo3dhk7vV68yO4Mtj2-2OypFb9AepaEc0UG4abc,701
215
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorBreakingChanges.yaml,sha256=H80H2h4-MBS96Fb3fwZ2LMnzqarg78HuIv4TvdYmWsU,2435
216
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorBuildOptions.yaml,sha256=4pPSqiCu4o3c187hjBFVlgJBHy_beiZGptuZTPlRw1I,362
217
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorIPCOptions.yaml,sha256=9vPxBmPPPmaxajBwHhyKKBfKfAHnCTchiF7pILbW53A,766
218
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorMetadataDefinitionV0.yaml,sha256=X2vmM1y3frYAQVimoqrMOoACPup3IZ5N44x1aHgbluI,4946
219
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorMetrics.yaml,sha256=2mKuU_zzzekvM_bdq52aRrq38s-pU5_ap_dxeK7z4EA,795
220
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorPackageInfo.yaml,sha256=3uHJ_vxpK0qsV9lkJYFjWtHVwv4wnjSv8CCw1GC8nQI,334
221
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryDestinationDefinition.yaml,sha256=09eY7JHhJLT8nGm2xWXd0rWsrnxTMKaZh7na2LO3d6o,2482
222
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryReleases.yaml,sha256=VzrgrOSReZuQu7oNvlgyknFe0WeKlXE3hVZvh2cuGHk,1401
223
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistrySourceDefinition.yaml,sha256=OBUrJ2kSbuCyViomqSD9WuQouQlLr313tcUa8QS1b0k,2404
224
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorRegistryV0.yaml,sha256=u7hIH-xinF5wuBvEp9ik85pZNeyfg6x-im-B9a2ePjg,554
225
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorReleases.yaml,sha256=KG4mtbM4_k96DqItVD2WJOzol4NJPAh97C4d9PcKtHs,686
226
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ConnectorTestSuiteOptions.yaml,sha256=K7tzeAmaNyXYqXRB8P7GLNKCcLBFberrUDvqdbc4C0U,844
227
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/GeneratedFields.yaml,sha256=ubaMA6fMzptkjH4XQckqrKFEz9WQOzfzLmaZzEfeDZQ,494
228
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/GitInfo.yaml,sha256=vCxQXWH2C29tOWBPUTrPe_kYS9kXS4E90v4t-WfJu7I,908
229
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/JobType.yaml,sha256=9DZxUOYCOw2fb9NRRZzAPc30RGDaq0NzuYVYhf4_53M,423
230
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/NormalizationDestinationDefinitionConfig.yaml,sha256=75ZfsGyd62xSUAqQnaqFkC7ZtwUpcl34AcdHL9nchC8,959
231
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RegistryOverrides.yaml,sha256=HX6D7zwcWnkNDgK5PKuuNbBGj0baPu1e9cd2Izor05s,934
232
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ReleaseStage.yaml,sha256=QAWhS0prnV6HV7RmLSW0NQIjy7zg6tZjP6jrp0Zt26c,344
233
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RemoteRegistries.yaml,sha256=RwcrpOeCEMggkaBRriiv4bLeTJDV1y8H5ztePXDYR7s,706
234
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/ResourceRequirements.yaml,sha256=wLG48VOJC26cfXZluHT5aW5bfzNtIVDa_d_4zb7Hjg8,470
235
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/RolloutConfiguration.yaml,sha256=MFiaZhjql8TGCyo8kytMdMcybjk1UvqP9pzHBKEFN3E,1017
236
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/Secret.yaml,sha256=3kppOyopeMMYKWkvCJceMZYK9TtL2h7yQYqyd97nZhQ,576
237
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SecretStore.yaml,sha256=94yX4U7zOCWMxRCvtDvpEYmaUsa-fqPYC8LhEvFUYSA,532
238
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SourceFileInfo.yaml,sha256=ysjt3mavSxJQSYxKVL2_OqgDSwba3-wC-tfUX6GKhDY,509
239
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SuggestedStreams.yaml,sha256=gwd1xVcZKfFO4CPWcpWxyaiXHsWfr0cYzePzodoDvfs,845
240
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/SupportLevel.yaml,sha256=4hFj545vXOtX5hNg-uinY6DTsPIujggHvuhwRnt3CdM,315
241
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_models/models/TestConnections.yaml,sha256=ppSlm-UZ8tVXyZtatugXFJoWov48fYsBDe3k6za0p_g,494
242
175
  airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/README.md,sha256=uAAl7KUD4NRgwRhyTAgRSV7NVYMELfGRiGGVmDar8ss,602
243
176
  airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/commands.py,sha256=5nUC1UF6Jt0I9XmnH_ON1c24JlG8Y3lwkc9EATKQ0sA,13338
244
177
  airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/constants.py,sha256=bSXsx-RQjRh5Nlw0-621p28UuaUx4B9PKSe-TF3HEpc,2664
245
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/docker_hub.py,sha256=K-6-QjTiSEPeJUnVJIMyYfTtu6uFoh0vLX579b04LSs,5528
246
178
  airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/gcs_upload.py,sha256=_r1nh54U6QFglFiPWBpxrSylE6Guu0Gjk7Bq5NKK4EE,26506
247
179
  airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/registry.py,sha256=3okT639PCZGL0p6tlWJoTYy-xI2igeAj6DerxkMC1_Q,15130
248
180
  airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/registry_entry.py,sha256=QT-UopRiFGJpabvoya-B3F32qrlB2qluOiNKj56Pv4g,26489
@@ -305,7 +237,6 @@ airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/orchestrator/tests/fixtures/
305
237
  airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/base.html,sha256=7oG1_3a1MMG7ozUjouoVfi94y-aQB70Qkuc9Js1eCBw,1886
306
238
  airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/connector_registry_locations.html,sha256=s4MpLF-XlS8tWpEk_O-9Yyn0vYKFdeObogAhf9rAHw4,335
307
239
  airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/templates/render.py,sha256=gX5Fk5HJ8a_gnZ7N2rgFL8aKURHemWSKd_Z5RBISkpI,2831
308
- airbyte_ops_mcp/_legacy/airbyte_ci/metadata_service/validators/metadata_validator.py,sha256=xh3Q7XgXcFaHS4Fa9A6anDecudaEXQX-SOetjgm5L4Q,14653
309
240
  airbyte_ops_mcp/airbyte_repo/__init__.py,sha256=3yEpCOop1h33UuCtU7-1UB3kun2QsxtgvsfVEpuqN6s,1572
310
241
  airbyte_ops_mcp/airbyte_repo/bump_version.py,sha256=rtXYv105BhElj7twQmy20VjNsj6vCb0Ulrzmc4Z-1cE,15384
311
242
  airbyte_ops_mcp/airbyte_repo/list_connectors.py,sha256=UI4RKMfFWOXHBtvh7TIw1v0BnV4rQQGuUgh8e9yvpos,19907
@@ -314,12 +245,12 @@ airbyte_ops_mcp/cli/__init__.py,sha256=XpL7FyVfgabfBF2JR7u7NwJ2krlYqjd_OwLcWf-Xc
314
245
  airbyte_ops_mcp/cli/_base.py,sha256=I8tWnyQf0ks4r3J8N8h-5GZxyn37T-55KsbuHnxYlcg,415
315
246
  airbyte_ops_mcp/cli/_shared.py,sha256=jg-xMyGzTCGPqKd8VTfE_3kGPIyO_3Kx5sQbG4rPc0Y,1311
316
247
  airbyte_ops_mcp/cli/app.py,sha256=SEdBpqFUG2O8zGV5ifwptxrLGFph_dLr66-MX9d69gQ,789
317
- airbyte_ops_mcp/cli/cloud.py,sha256=b5oiu2oNXJXA3AcjpBcOKf1t84Tc5seSNsSwYhK0oI8,45587
248
+ airbyte_ops_mcp/cli/cloud.py,sha256=18SiVVMAibzPpGiEgKiga1BZ5x4QlLREOLd_VmNZwSo,45831
318
249
  airbyte_ops_mcp/cli/gh.py,sha256=koJPu0MDB6AW7mJq2z4dZV65ofvsZTkqoeitGF8KJR8,5364
319
250
  airbyte_ops_mcp/cli/registry.py,sha256=L4nDKhlegr31gSE-GUvDFSq10KgDz5kJuZXgLIxYIyg,9785
320
251
  airbyte_ops_mcp/cli/repo.py,sha256=G1hoQpH0XYhUH3FFOsia9xabGB0LP9o3XcwBuqvFVo0,16331
321
252
  airbyte_ops_mcp/cloud_admin/__init__.py,sha256=cqE96Q10Kp6elhH9DAi6TVsIwSUy3sooDLLrxTaktGk,816
322
- airbyte_ops_mcp/cloud_admin/api_client.py,sha256=vFklWFQECau0oLor-ngW6pgkhH5np9x9yaPCUxgix_Q,56701
253
+ airbyte_ops_mcp/cloud_admin/api_client.py,sha256=pzdnZpIxOaXJsF_vQuw9_goiDbqwgEQxFwZwsoupY40,57459
323
254
  airbyte_ops_mcp/cloud_admin/auth.py,sha256=qE2Aqe0qbZB755KscL65s54Jz78-F-X5a8fXKsrYEOQ,3749
324
255
  airbyte_ops_mcp/cloud_admin/connection_config.py,sha256=9opGQer-cGMJANmm-LFLMwvMCNu3nzxa2n2XHkZj9Fw,4899
325
256
  airbyte_ops_mcp/cloud_admin/models.py,sha256=yldPAL9Lce83U3JN-f6qPc2X5LPnLCYqgnXrM1DRq98,4799
@@ -333,7 +264,7 @@ airbyte_ops_mcp/mcp/__init__.py,sha256=QqkNkxzdXlg-W03urBAQ3zmtOKFPf35rXgO9ceUjp
333
264
  airbyte_ops_mcp/mcp/_guidance.py,sha256=48tQSnDnxqXtyGJxxgjz0ZiI814o_7Fj7f6R8jpQ7so,2375
334
265
  airbyte_ops_mcp/mcp/_http_headers.py,sha256=9TAH2RYhFR3z2JugW4Q3WrrqJIdaCzAbyA1GhtQ_EMM,7278
335
266
  airbyte_ops_mcp/mcp/_mcp_utils.py,sha256=WNwcGzF7XGKZNAYRt0Uhj5BkRfmwqnFABCrk77OZjRw,11512
336
- airbyte_ops_mcp/mcp/cloud_connector_versions.py,sha256=M_dA1YuZkEw-K8xiE1NSqKAP_CvXGo0_Ewv-Y2oc_wQ,33105
267
+ airbyte_ops_mcp/mcp/cloud_connector_versions.py,sha256=XXsXtBrNN9lbwzZQvKkIjmMnzBSZPSaupQSnd99pXhA,34272
337
268
  airbyte_ops_mcp/mcp/connector_analysis.py,sha256=OC4KrOSkMkKPkOisWnSv96BDDE5TQYHq-Jxa2vtjJpo,298
338
269
  airbyte_ops_mcp/mcp/connector_qa.py,sha256=aImpqdnqBPDrz10BS0owsV4kuIU2XdalzgbaGZsbOL0,258
339
270
  airbyte_ops_mcp/mcp/gcp_logs.py,sha256=IPtq4098_LN1Cgeba4jATO1iYFFFpL2-aRO0pGcOdzs,2689
@@ -341,17 +272,17 @@ airbyte_ops_mcp/mcp/github_actions.py,sha256=_mAVTl6UX3F7S_HeV1-M5R4jMNzNQGI3ADs
341
272
  airbyte_ops_mcp/mcp/github_repo_ops.py,sha256=PiERpt8abo20Gz4CfXhrDNlVM4o4FOt5sweZJND2a0s,5314
342
273
  airbyte_ops_mcp/mcp/metadata.py,sha256=fwGW97WknR5lfKcQnFtK6dU87aA6TmLj1NkKyqDAV9g,270
343
274
  airbyte_ops_mcp/mcp/prerelease.py,sha256=KxBNRxwkIzfD981xphi07cvlgR-QEDmSe88aBfqNAyQ,9561
344
- airbyte_ops_mcp/mcp/prod_db_queries.py,sha256=VsiBBnVbOjc8lBb2Xr1lmcH3wu7QHQfjd4lORarEE1s,42700
275
+ airbyte_ops_mcp/mcp/prod_db_queries.py,sha256=ZSo5E0UcHNmu9R5pZeDZDbWQXsPVHhSk4DUvRUbBGAg,47553
345
276
  airbyte_ops_mcp/mcp/prompts.py,sha256=mJld9mdPECXYZffWXGSvNs4Xevx3rxqUGNlzGKVC2_s,1599
346
277
  airbyte_ops_mcp/mcp/registry.py,sha256=PW-VYUj42qx2pQ_apUkVaoUFq7VgB9zEU7-aGrkSCCw,290
347
- airbyte_ops_mcp/mcp/regression_tests.py,sha256=dmM22ODwUTbVisKiRcJunzEgMKrZOkpsbkUm0_hFWYk,16752
278
+ airbyte_ops_mcp/mcp/regression_tests.py,sha256=RM11mP7QIC7jEgUCuhv9zUShz_DDsrnySa8cEXlUZGk,17054
348
279
  airbyte_ops_mcp/mcp/server.py,sha256=dMOFXPFeHBIqicOWs8UsPfzgsWnzsWDsZJ79E_OYjT0,5341
349
280
  airbyte_ops_mcp/mcp/server_info.py,sha256=Yi4B1auW64QZGBDas5mro_vwTjvrP785TFNSBP7GhRg,2361
350
281
  airbyte_ops_mcp/prod_db_access/__init__.py,sha256=5pxouMPY1beyWlB0UwPnbaLTKTHqU6X82rbbgKY2vYU,1069
351
282
  airbyte_ops_mcp/prod_db_access/db_engine.py,sha256=VUqEWZtharJUR-Cri_pMwtGh1C4Neu4s195mbEXlm-w,9190
352
283
  airbyte_ops_mcp/prod_db_access/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
353
- airbyte_ops_mcp/prod_db_access/queries.py,sha256=pyW5GxDZ5ibwXawxyI_IR7VFcmoX7pZyZ2jdADqhJRY,20276
354
- airbyte_ops_mcp/prod_db_access/sql.py,sha256=lzFOYfkb-rFTaZ6vrAK9G8Ym4KTUdhPMBzK44NSRzcg,35362
284
+ airbyte_ops_mcp/prod_db_access/queries.py,sha256=PyZ0HU-E6jDhSgQ94XRz4wzh61vCr0ACxfMoGjeTKUU,22312
285
+ airbyte_ops_mcp/prod_db_access/sql.py,sha256=E7HQratZC5LbCXdvpQzZRd09SmCVnY_4Ru-HluWaQ_c,38308
355
286
  airbyte_ops_mcp/registry/__init__.py,sha256=iEaPlt9GrnlaLbc__98TguNeZG8wuQu7S-_2QkhHcbA,858
356
287
  airbyte_ops_mcp/registry/models.py,sha256=B4L4TKr52wo0xs0CqvCBrpowqjShzVnZ5eTr2-EyhNs,2346
357
288
  airbyte_ops_mcp/registry/publish.py,sha256=VoPxsM2_0zJ829orzCRN-kjgcJtuBNyXgW4I9J680ro,12717
@@ -359,12 +290,12 @@ airbyte_ops_mcp/regression_tests/__init__.py,sha256=8pwJIdz1Lb9oFV6UQ3DSjYKd8HCS
359
290
  airbyte_ops_mcp/regression_tests/cdk_secrets.py,sha256=iRjqqBS96KZoswfgT7ju-pE_pfbYoDy4PfrK-K8uyYs,3204
360
291
  airbyte_ops_mcp/regression_tests/ci_output.py,sha256=os69gcEhbomrGRAfnwPYAXhsAiJSWOuyW1gWZPx9-hw,15498
361
292
  airbyte_ops_mcp/regression_tests/config.py,sha256=dwWeY0tatdbwl9BqbhZ7EljoZDCtKmGO5fvOAIxeXmA,5873
362
- airbyte_ops_mcp/regression_tests/connection_fetcher.py,sha256=5wIiA0VvCFNEc-fr6Po18gZMX3E5fyPOGf2SuVOqv5U,12799
293
+ airbyte_ops_mcp/regression_tests/connection_fetcher.py,sha256=laGkxVfDl8_S-Azst28wijvPnOB-bmuuk2B_2e-0yjY,13170
363
294
  airbyte_ops_mcp/regression_tests/connection_secret_retriever.py,sha256=FhWNVWq7sON4nwUmVJv8BgXBOqg1YV4b5WuWyCzZ0LU,4695
364
295
  airbyte_ops_mcp/regression_tests/connector_runner.py,sha256=OZzUa2aLh0sHaEARsDePOA-e3qEX4cvh3Jhnvi8S1rY,10130
365
296
  airbyte_ops_mcp/regression_tests/evaluation_modes.py,sha256=lAL6pEDmy_XCC7_m4_NXjt_f6Z8CXeAhMkc0FU8bm_M,1364
366
297
  airbyte_ops_mcp/regression_tests/http_metrics.py,sha256=busCYLb7qID0vv7yAtzARf__-HukpE3mAoc-pYI_gCQ,13256
367
- airbyte_ops_mcp/regression_tests/models.py,sha256=jfe__WV8j2_fK9Cp256x5OhS9STRC63iPLG-36iPUgc,9104
298
+ airbyte_ops_mcp/regression_tests/models.py,sha256=i9Proh79djPuXvl4NfCOYcfM1jE0hI5U3tGGF3FT3m0,9126
368
299
  airbyte_ops_mcp/regression_tests/obfuscation.py,sha256=JanpCLj6M9-_Zto6PABzNaY3OA93Frq3YpJ1411QNtQ,4395
369
300
  airbyte_ops_mcp/regression_tests/schema_generation.py,sha256=cUYztcSOejsgkUREUWvfi6QBYK6fC4Dbxtztxxt8bdc,5323
370
301
  airbyte_ops_mcp/regression_tests/commons/__init__.py,sha256=lNew_sAL4c8dPy3gMFbGC5_FuUX1P6QzGULbqS2H4M0,104
@@ -375,7 +306,7 @@ airbyte_ops_mcp/regression_tests/regression/comparators.py,sha256=MJkLZEKHivgrG0
375
306
  airbyte_ops_mcp/regression_tests/validation/__init__.py,sha256=MBEwGOoNuqT4_oCahtoK62OKWIjUCfWa7vZTxNj_0Ek,1532
376
307
  airbyte_ops_mcp/regression_tests/validation/catalog_validators.py,sha256=jqqVAMOk0mtdPgwu4d0hA0ZEjtsNh5gapvGydRv3_qk,12553
377
308
  airbyte_ops_mcp/regression_tests/validation/record_validators.py,sha256=RjauAhKWNwxMBTu0eNS2hMFNQVs5CLbQU51kp6FOVDk,7432
378
- airbyte_internal_ops-0.5.0.dist-info/METADATA,sha256=vCU17MQXGD6FZ9PfnzKV_gBSgNkTx_W4klz3aOFEulM,5679
379
- airbyte_internal_ops-0.5.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
380
- airbyte_internal_ops-0.5.0.dist-info/entry_points.txt,sha256=WxP0l7bRFss4Cr5uQqVj9mTEKwnRKouNuphXQF0lotA,171
381
- airbyte_internal_ops-0.5.0.dist-info/RECORD,,
309
+ airbyte_internal_ops-0.5.1.dist-info/METADATA,sha256=6FSpbOvu29YiilQjtOkOgmjW66Pxx-AlPciUPTmM8G0,5731
310
+ airbyte_internal_ops-0.5.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
311
+ airbyte_internal_ops-0.5.1.dist-info/entry_points.txt,sha256=WxP0l7bRFss4Cr5uQqVj9mTEKwnRKouNuphXQF0lotA,171
312
+ airbyte_internal_ops-0.5.1.dist-info/RECORD,,
@@ -896,7 +896,8 @@ def regression_test(
896
896
  gsm_config_file.write_text(json.dumps(gsm_config, indent=2))
897
897
  gsm_config_file.chmod(0o600)
898
898
  config_file = gsm_config_file
899
- catalog_file = None
899
+ # Use catalog_path if provided (e.g., generated from discover output)
900
+ catalog_file = Path(catalog_path) if catalog_path else None
900
901
  print_success(
901
902
  f"Fetched integration test config from GSM for {connector_name}"
902
903
  )
@@ -905,7 +906,8 @@ def regression_test(
905
906
  f"Failed to fetch integration test config from GSM for {connector_name}."
906
907
  )
907
908
  config_file = None
908
- catalog_file = None
909
+ # Use catalog_path if provided (e.g., generated from discover output)
910
+ catalog_file = Path(catalog_path) if catalog_path else None
909
911
  else:
910
912
  config_file = None
911
913
  catalog_file = Path(catalog_path) if catalog_path else None
@@ -132,7 +132,7 @@ def _get_access_token(
132
132
 
133
133
  def get_user_id_by_email(
134
134
  email: str,
135
- api_root: str,
135
+ config_api_root: str,
136
136
  client_id: str | None = None,
137
137
  client_secret: str | None = None,
138
138
  bearer_token: str | None = None,
@@ -141,7 +141,7 @@ def get_user_id_by_email(
141
141
 
142
142
  Args:
143
143
  email: The user's email address
144
- api_root: The API root URL
144
+ config_api_root: The Config API root URL (e.g., CLOUD_CONFIG_API_ROOT)
145
145
  client_id: The Airbyte Cloud client ID (required if no bearer_token)
146
146
  client_secret: The Airbyte Cloud client secret (required if no bearer_token)
147
147
  bearer_token: Pre-existing bearer token (takes precedence over client credentials)
@@ -154,7 +154,7 @@ def get_user_id_by_email(
154
154
  """
155
155
  access_token = _get_access_token(client_id, client_secret, bearer_token)
156
156
 
157
- endpoint = f"{api_root}/users/list_instance_admin"
157
+ endpoint = f"{config_api_root}/users/list_instance_admin"
158
158
  response = requests.post(
159
159
  endpoint,
160
160
  json={},
@@ -196,7 +196,7 @@ def resolve_connector_version_id(
196
196
  actor_definition_id: str,
197
197
  connector_type: Literal["source", "destination"],
198
198
  version: str,
199
- api_root: str,
199
+ config_api_root: str,
200
200
  client_id: str | None = None,
201
201
  client_secret: str | None = None,
202
202
  bearer_token: str | None = None,
@@ -207,7 +207,7 @@ def resolve_connector_version_id(
207
207
  actor_definition_id: The actor definition ID
208
208
  connector_type: Either "source" or "destination"
209
209
  version: The version string (e.g., "0.1.47-preview.abe7cb4")
210
- api_root: The API root URL
210
+ config_api_root: The Config API root URL (e.g., CLOUD_CONFIG_API_ROOT)
211
211
  client_id: The Airbyte Cloud client ID (required if no bearer_token)
212
212
  client_secret: The Airbyte Cloud client secret (required if no bearer_token)
213
213
  bearer_token: Pre-existing bearer token (takes precedence over client credentials)
@@ -220,7 +220,7 @@ def resolve_connector_version_id(
220
220
  """
221
221
  access_token = _get_access_token(client_id, client_secret, bearer_token)
222
222
 
223
- endpoint = f"{api_root}/actor_definition_versions/resolve"
223
+ endpoint = f"{config_api_root}/actor_definition_versions/resolve"
224
224
  payload = {
225
225
  "actorDefinitionId": actor_definition_id,
226
226
  "actorType": connector_type,
@@ -270,7 +270,7 @@ def _get_scoped_configuration_context(
270
270
  actor_definition_id: str,
271
271
  scope_type: _ScopeType,
272
272
  scope_id: str,
273
- api_root: str,
273
+ config_api_root: str,
274
274
  access_token: str,
275
275
  ) -> dict[str, Any] | None:
276
276
  """Get the active scoped configuration for a single scope level.
@@ -282,7 +282,7 @@ def _get_scoped_configuration_context(
282
282
  actor_definition_id: The actor definition ID for the connector
283
283
  scope_type: The scope type enum (ACTOR, WORKSPACE, or ORGANIZATION)
284
284
  scope_id: The ID for the scope (connector_id, workspace_id, or organization_id)
285
- api_root: The API root URL
285
+ config_api_root: The Config API root URL (e.g., CLOUD_CONFIG_API_ROOT)
286
286
  access_token: Pre-authenticated access token
287
287
 
288
288
  Returns:
@@ -291,7 +291,7 @@ def _get_scoped_configuration_context(
291
291
  Raises:
292
292
  PyAirbyteInputError: If the API request fails
293
293
  """
294
- endpoint = f"{api_root}/scoped_configuration/get_context"
294
+ endpoint = f"{config_api_root}/scoped_configuration/get_context"
295
295
  context_payload = {
296
296
  "config_key": _ScopedConfigKey.CONNECTOR_VERSION.value,
297
297
  "resource_type": _ResourceType.ACTOR_DEFINITION.value,
@@ -333,7 +333,7 @@ def get_all_scoped_configuration_contexts(
333
333
  actor_definition_id: str,
334
334
  workspace_id: str,
335
335
  organization_id: str,
336
- api_root: str,
336
+ config_api_root: str,
337
337
  client_id: str | None = None,
338
338
  client_secret: str | None = None,
339
339
  bearer_token: str | None = None,
@@ -349,7 +349,7 @@ def get_all_scoped_configuration_contexts(
349
349
  actor_definition_id: The actor definition ID for the connector
350
350
  workspace_id: The workspace ID (required - must always check workspace scope)
351
351
  organization_id: The organization ID (required - must always check org scope)
352
- api_root: The API root URL
352
+ config_api_root: The Config API root URL (e.g., CLOUD_CONFIG_API_ROOT)
353
353
  client_id: The Airbyte Cloud client ID (required if no bearer_token)
354
354
  client_secret: The Airbyte Cloud client secret (required if no bearer_token)
355
355
  bearer_token: Pre-existing bearer token (takes precedence over client credentials)
@@ -381,7 +381,7 @@ def get_all_scoped_configuration_contexts(
381
381
  actor_definition_id=actor_definition_id,
382
382
  scope_type=scope_type_enum,
383
383
  scope_id=scope_id,
384
- api_root=api_root,
384
+ config_api_root=config_api_root,
385
385
  access_token=access_token,
386
386
  )
387
387
  if active_config:
@@ -393,7 +393,7 @@ def get_all_scoped_configuration_contexts(
393
393
  def get_connector_version(
394
394
  connector_id: str,
395
395
  connector_type: Literal["source", "destination"],
396
- api_root: str,
396
+ config_api_root: str,
397
397
  client_id: str | None = None,
398
398
  client_secret: str | None = None,
399
399
  bearer_token: str | None = None,
@@ -408,7 +408,7 @@ def get_connector_version(
408
408
  Args:
409
409
  connector_id: The ID of the deployed connector (source or destination)
410
410
  connector_type: Either "source" or "destination"
411
- api_root: The API root URL
411
+ config_api_root: The Config API root URL (e.g., CLOUD_CONFIG_API_ROOT)
412
412
  client_id: The Airbyte Cloud client ID (required if no bearer_token)
413
413
  client_secret: The Airbyte Cloud client secret (required if no bearer_token)
414
414
  bearer_token: Pre-existing bearer token (takes precedence over client credentials)
@@ -427,13 +427,13 @@ def get_connector_version(
427
427
  access_token = _get_access_token(client_id, client_secret, bearer_token)
428
428
 
429
429
  # Determine endpoint based on connector type
430
- # api_root already includes /v1
430
+ # config_api_root already includes /v1
431
431
  if connector_type == "source":
432
- endpoint = f"{api_root}/actor_definition_versions/get_for_source"
432
+ endpoint = f"{config_api_root}/actor_definition_versions/get_for_source"
433
433
  payload = {"sourceId": connector_id}
434
434
  definition_id_key = "sourceDefinitionId"
435
435
  else:
436
- endpoint = f"{api_root}/actor_definition_versions/get_for_destination"
436
+ endpoint = f"{config_api_root}/actor_definition_versions/get_for_destination"
437
437
  payload = {"destinationId": connector_id}
438
438
  definition_id_key = "destinationDefinitionId"
439
439
 
@@ -456,7 +456,7 @@ def get_connector_version(
456
456
  "connector_type": connector_type,
457
457
  "endpoint": endpoint,
458
458
  "payload": payload,
459
- "api_root": api_root,
459
+ "config_api_root": config_api_root,
460
460
  "status_code": response.status_code,
461
461
  "response": response.text,
462
462
  },
@@ -474,7 +474,7 @@ def get_connector_version(
474
474
  # If workspace_id is provided, also get detailed scoped configuration context
475
475
  if workspace_id:
476
476
  # Get actor_definition_id from the connector info
477
- get_endpoint = f"{api_root}/{connector_type}s/get"
477
+ get_endpoint = f"{config_api_root}/{connector_type}s/get"
478
478
  get_payload: dict[str, str] = {f"{connector_type}Id": connector_id}
479
479
 
480
480
  get_response = requests.post(
@@ -494,7 +494,7 @@ def get_connector_version(
494
494
 
495
495
  if actor_definition_id:
496
496
  # Get organization_id from workspace
497
- workspace_endpoint = f"{api_root}/workspaces/get"
497
+ workspace_endpoint = f"{config_api_root}/workspaces/get"
498
498
  workspace_response = requests.post(
499
499
  workspace_endpoint,
500
500
  json={"workspaceId": workspace_id},
@@ -517,7 +517,7 @@ def get_connector_version(
517
517
  actor_definition_id=actor_definition_id,
518
518
  workspace_id=workspace_id,
519
519
  organization_id=organization_id,
520
- api_root=api_root,
520
+ config_api_root=config_api_root,
521
521
  bearer_token=access_token,
522
522
  )
523
523
 
@@ -527,7 +527,7 @@ def get_connector_version(
527
527
  def set_connector_version_override(
528
528
  connector_id: str,
529
529
  connector_type: Literal["source", "destination"],
530
- api_root: str,
530
+ config_api_root: str,
531
531
  client_id: str | None = None,
532
532
  client_secret: str | None = None,
533
533
  workspace_id: str | None = None,
@@ -554,7 +554,7 @@ def set_connector_version_override(
554
554
  Args:
555
555
  connector_id: The ID of the deployed connector
556
556
  connector_type: Either "source" or "destination"
557
- api_root: The API root URL
557
+ config_api_root: The Config API root URL (e.g., CLOUD_CONFIG_API_ROOT)
558
558
  client_id: The Airbyte Cloud client ID (required if no bearer_token)
559
559
  client_secret: The Airbyte Cloud client secret (required if no bearer_token)
560
560
  workspace_id: The workspace ID
@@ -590,7 +590,7 @@ def set_connector_version_override(
590
590
  if unset:
591
591
  # To unset, we need to delete the scoped configuration
592
592
  # First, get the actor_definition_id for the connector
593
- get_endpoint: str = f"{api_root}/{connector_type}s/get"
593
+ get_endpoint: str = f"{config_api_root}/{connector_type}s/get"
594
594
  get_payload: dict[str, str] = {f"{connector_type}Id": connector_id}
595
595
  definition_id_key = f"{connector_type}DefinitionId"
596
596
 
@@ -623,7 +623,7 @@ def set_connector_version_override(
623
623
  actor_definition_id=actor_definition_id,
624
624
  scope_type=_ScopeType.ACTOR,
625
625
  scope_id=connector_id,
626
- api_root=api_root,
626
+ config_api_root=config_api_root,
627
627
  access_token=access_token,
628
628
  )
629
629
 
@@ -632,7 +632,7 @@ def set_connector_version_override(
632
632
  return False
633
633
 
634
634
  # Delete the active configuration
635
- delete_endpoint = f"{api_root}/scoped_configuration/delete"
635
+ delete_endpoint = f"{config_api_root}/scoped_configuration/delete"
636
636
  delete_payload = {"scopedConfigurationId": active_config["id"]}
637
637
 
638
638
  response = requests.post(
@@ -662,7 +662,7 @@ def set_connector_version_override(
662
662
  else:
663
663
  # Set a new override
664
664
  # First, get the actor_definition_id for the connector
665
- get_endpoint = f"{api_root}/{connector_type}s/get"
665
+ get_endpoint = f"{config_api_root}/{connector_type}s/get"
666
666
  get_payload: dict[str, str] = {f"{connector_type}Id": connector_id}
667
667
  definition_id_key = f"{connector_type}DefinitionId"
668
668
 
@@ -695,7 +695,7 @@ def set_connector_version_override(
695
695
  actor_definition_id=actor_definition_id,
696
696
  connector_type=connector_type,
697
697
  version=version,
698
- api_root=api_root,
698
+ config_api_root=config_api_root,
699
699
  client_id=client_id,
700
700
  client_secret=client_secret,
701
701
  bearer_token=bearer_token,
@@ -703,7 +703,7 @@ def set_connector_version_override(
703
703
 
704
704
  # Get organization_id from workspace info for comprehensive scope checking
705
705
  # This is REQUIRED - we must always check all three scopes
706
- workspace_endpoint = f"{api_root}/workspaces/get"
706
+ workspace_endpoint = f"{config_api_root}/workspaces/get"
707
707
  workspace_payload = {"workspaceId": workspace_id}
708
708
  workspace_response = requests.post(
709
709
  workspace_endpoint,
@@ -745,7 +745,7 @@ def set_connector_version_override(
745
745
  actor_definition_id=actor_definition_id,
746
746
  workspace_id=workspace_id,
747
747
  organization_id=organization_id,
748
- api_root=api_root,
748
+ config_api_root=config_api_root,
749
749
  client_id=client_id,
750
750
  client_secret=client_secret,
751
751
  bearer_token=bearer_token,
@@ -836,7 +836,7 @@ def set_connector_version_override(
836
836
  },
837
837
  )
838
838
 
839
- delete_endpoint = f"{api_root}/scoped_configuration/delete"
839
+ delete_endpoint = f"{config_api_root}/scoped_configuration/delete"
840
840
  delete_payload = {"scopedConfigurationId": actor_config["id"]}
841
841
 
842
842
  delete_response = requests.post(
@@ -889,14 +889,14 @@ def set_connector_version_override(
889
889
  )
890
890
  origin = get_user_id_by_email(
891
891
  email=user_email,
892
- api_root=api_root,
892
+ config_api_root=config_api_root,
893
893
  client_id=client_id,
894
894
  client_secret=client_secret,
895
895
  bearer_token=bearer_token,
896
896
  )
897
897
 
898
898
  # Create the override with correct schema
899
- endpoint = f"{api_root}/scoped_configuration/create"
899
+ endpoint = f"{config_api_root}/scoped_configuration/create"
900
900
 
901
901
  # Build payload with explicit string values for auditability
902
902
  # (enum.value ensures we log exactly what we send)
@@ -968,7 +968,7 @@ def set_workspace_connector_version_override(
968
968
  workspace_id: str,
969
969
  connector_name: str,
970
970
  connector_type: Literal["source", "destination"],
971
- api_root: str,
971
+ config_api_root: str,
972
972
  client_id: str | None = None,
973
973
  client_secret: str | None = None,
974
974
  version: str | None = None,
@@ -988,7 +988,7 @@ def set_workspace_connector_version_override(
988
988
  workspace_id: The workspace ID
989
989
  connector_name: The connector name (e.g., 'source-github')
990
990
  connector_type: Either "source" or "destination"
991
- api_root: The API root URL
991
+ config_api_root: The Config API root URL (e.g., CLOUD_CONFIG_API_ROOT)
992
992
  client_id: The Airbyte Cloud client ID (required if no bearer_token)
993
993
  client_secret: The Airbyte Cloud client secret (required if no bearer_token)
994
994
  version: The version to pin to (e.g., "0.1.0"), or None to unset
@@ -1026,7 +1026,7 @@ def set_workspace_connector_version_override(
1026
1026
  actor_definition_id=actor_definition_id,
1027
1027
  scope_type=_ScopeType.WORKSPACE,
1028
1028
  scope_id=workspace_id,
1029
- api_root=api_root,
1029
+ config_api_root=config_api_root,
1030
1030
  access_token=access_token,
1031
1031
  )
1032
1032
 
@@ -1052,7 +1052,7 @@ def set_workspace_connector_version_override(
1052
1052
  )
1053
1053
 
1054
1054
  # Delete the configuration
1055
- delete_endpoint = f"{api_root}/scoped_configuration/delete"
1055
+ delete_endpoint = f"{config_api_root}/scoped_configuration/delete"
1056
1056
  delete_payload = {"scopedConfigurationId": active_config["id"]}
1057
1057
 
1058
1058
  response = requests.post(
@@ -1085,7 +1085,7 @@ def set_workspace_connector_version_override(
1085
1085
  actor_definition_id=actor_definition_id,
1086
1086
  connector_type=connector_type,
1087
1087
  version=version,
1088
- api_root=api_root,
1088
+ config_api_root=config_api_root,
1089
1089
  bearer_token=access_token,
1090
1090
  )
1091
1091
 
@@ -1094,7 +1094,7 @@ def set_workspace_connector_version_override(
1094
1094
  actor_definition_id=actor_definition_id,
1095
1095
  scope_type=_ScopeType.WORKSPACE,
1096
1096
  scope_id=workspace_id,
1097
- api_root=api_root,
1097
+ config_api_root=config_api_root,
1098
1098
  access_token=access_token,
1099
1099
  )
1100
1100
 
@@ -1123,7 +1123,7 @@ def set_workspace_connector_version_override(
1123
1123
  and api_scope_id == workspace_id
1124
1124
  ):
1125
1125
  # Delete existing workspace-level config before creating new one
1126
- delete_endpoint = f"{api_root}/scoped_configuration/delete"
1126
+ delete_endpoint = f"{config_api_root}/scoped_configuration/delete"
1127
1127
  delete_payload = {"scopedConfigurationId": existing_config["id"]}
1128
1128
 
1129
1129
  delete_response = requests.post(
@@ -1150,12 +1150,12 @@ def set_workspace_connector_version_override(
1150
1150
  )
1151
1151
  origin = get_user_id_by_email(
1152
1152
  email=user_email,
1153
- api_root=api_root,
1153
+ config_api_root=config_api_root,
1154
1154
  bearer_token=access_token,
1155
1155
  )
1156
1156
 
1157
1157
  # Create the override
1158
- endpoint = f"{api_root}/scoped_configuration/create"
1158
+ endpoint = f"{config_api_root}/scoped_configuration/create"
1159
1159
  payload: dict[str, Any] = {
1160
1160
  "config_key": _ScopedConfigKey.CONNECTOR_VERSION.value,
1161
1161
  "resource_type": _ResourceType.ACTOR_DEFINITION.value,
@@ -1202,7 +1202,7 @@ def set_organization_connector_version_override(
1202
1202
  organization_id: str,
1203
1203
  connector_name: str,
1204
1204
  connector_type: Literal["source", "destination"],
1205
- api_root: str,
1205
+ config_api_root: str,
1206
1206
  client_id: str | None = None,
1207
1207
  client_secret: str | None = None,
1208
1208
  version: str | None = None,
@@ -1222,7 +1222,7 @@ def set_organization_connector_version_override(
1222
1222
  organization_id: The organization ID
1223
1223
  connector_name: The connector name (e.g., 'source-github')
1224
1224
  connector_type: Either "source" or "destination"
1225
- api_root: The API root URL
1225
+ config_api_root: The Config API root URL (e.g., CLOUD_CONFIG_API_ROOT)
1226
1226
  client_id: The Airbyte Cloud client ID (required if no bearer_token)
1227
1227
  client_secret: The Airbyte Cloud client secret (required if no bearer_token)
1228
1228
  version: The version to pin to (e.g., "0.1.0"), or None to unset
@@ -1260,7 +1260,7 @@ def set_organization_connector_version_override(
1260
1260
  actor_definition_id=actor_definition_id,
1261
1261
  scope_type=_ScopeType.ORGANIZATION,
1262
1262
  scope_id=organization_id,
1263
- api_root=api_root,
1263
+ config_api_root=config_api_root,
1264
1264
  access_token=access_token,
1265
1265
  )
1266
1266
 
@@ -1288,7 +1288,7 @@ def set_organization_connector_version_override(
1288
1288
  )
1289
1289
 
1290
1290
  # Delete the configuration
1291
- delete_endpoint = f"{api_root}/scoped_configuration/delete"
1291
+ delete_endpoint = f"{config_api_root}/scoped_configuration/delete"
1292
1292
  delete_payload = {"scopedConfigurationId": active_config["id"]}
1293
1293
 
1294
1294
  response = requests.post(
@@ -1321,7 +1321,7 @@ def set_organization_connector_version_override(
1321
1321
  actor_definition_id=actor_definition_id,
1322
1322
  connector_type=connector_type,
1323
1323
  version=version,
1324
- api_root=api_root,
1324
+ config_api_root=config_api_root,
1325
1325
  bearer_token=access_token,
1326
1326
  )
1327
1327
 
@@ -1330,7 +1330,7 @@ def set_organization_connector_version_override(
1330
1330
  actor_definition_id=actor_definition_id,
1331
1331
  scope_type=_ScopeType.ORGANIZATION,
1332
1332
  scope_id=organization_id,
1333
- api_root=api_root,
1333
+ config_api_root=config_api_root,
1334
1334
  access_token=access_token,
1335
1335
  )
1336
1336
 
@@ -1359,7 +1359,7 @@ def set_organization_connector_version_override(
1359
1359
  and api_scope_id == organization_id
1360
1360
  ):
1361
1361
  # Delete existing organization-level config before creating new one
1362
- delete_endpoint = f"{api_root}/scoped_configuration/delete"
1362
+ delete_endpoint = f"{config_api_root}/scoped_configuration/delete"
1363
1363
  delete_payload = {"scopedConfigurationId": existing_config["id"]}
1364
1364
 
1365
1365
  delete_response = requests.post(
@@ -1386,12 +1386,12 @@ def set_organization_connector_version_override(
1386
1386
  )
1387
1387
  origin = get_user_id_by_email(
1388
1388
  email=user_email,
1389
- api_root=api_root,
1389
+ config_api_root=config_api_root,
1390
1390
  bearer_token=access_token,
1391
1391
  )
1392
1392
 
1393
1393
  # Create the override
1394
- endpoint = f"{api_root}/scoped_configuration/create"
1394
+ endpoint = f"{config_api_root}/scoped_configuration/create"
1395
1395
  payload: dict[str, Any] = {
1396
1396
  "config_key": _ScopedConfigKey.CONNECTOR_VERSION.value,
1397
1397
  "resource_type": _ResourceType.ACTOR_DEFINITION.value,