airbyte-cdk 7.3.6__py3-none-any.whl → 7.3.7.post2.dev18575798564__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.

Potentially problematic release.


This version of airbyte-cdk might be problematic. Click here for more details.

@@ -10,6 +10,7 @@ from .manifest import (
10
10
  CheckResponse,
11
11
  DiscoverRequest,
12
12
  DiscoverResponse,
13
+ ErrorResponse,
13
14
  FullResolveRequest,
14
15
  ManifestResponse,
15
16
  RequestContext,
@@ -40,6 +41,7 @@ __all__ = [
40
41
  "CheckResponse",
41
42
  "DiscoverRequest",
42
43
  "DiscoverResponse",
44
+ "ErrorResponse",
43
45
  # Stream models
44
46
  "AuxiliaryRequest",
45
47
  "HttpRequest",
@@ -83,3 +83,9 @@ class FullResolveRequest(BaseModel):
83
83
  config: ConnectorConfig
84
84
  stream_limit: int = Field(default=100, ge=1, le=100)
85
85
  context: Optional[RequestContext] = None
86
+
87
+
88
+ class ErrorResponse(BaseModel):
89
+ """Error response for API requests."""
90
+
91
+ detail: str
@@ -11,7 +11,7 @@ from .routers import capabilities, health, manifest
11
11
  app = FastAPI(
12
12
  title="Manifest Server",
13
13
  description="A service for running low-code Airbyte connectors",
14
- version="0.1.0",
14
+ version="0.2.0",
15
15
  contact={
16
16
  "name": "Airbyte",
17
17
  "url": "https://airbyte.com",
@@ -8,7 +8,7 @@ info:
8
8
  contact:
9
9
  name: Airbyte
10
10
  url: https://airbyte.com/
11
- version: 0.1.0
11
+ version: 0.2.0
12
12
  paths:
13
13
  /health/:
14
14
  get:
@@ -62,6 +62,12 @@ paths:
62
62
  application/json:
63
63
  schema:
64
64
  $ref: '#/components/schemas/StreamReadResponse'
65
+ '400':
66
+ description: Bad Request - Error processing request
67
+ content:
68
+ application/json:
69
+ schema:
70
+ $ref: '#/components/schemas/ErrorResponse'
65
71
  '422':
66
72
  description: Validation Error
67
73
  content:
@@ -90,6 +96,12 @@ paths:
90
96
  application/json:
91
97
  schema:
92
98
  $ref: '#/components/schemas/CheckResponse'
99
+ '400':
100
+ description: Bad Request - Error processing request
101
+ content:
102
+ application/json:
103
+ schema:
104
+ $ref: '#/components/schemas/ErrorResponse'
93
105
  '422':
94
106
  description: Validation Error
95
107
  content:
@@ -118,6 +130,12 @@ paths:
118
130
  application/json:
119
131
  schema:
120
132
  $ref: '#/components/schemas/DiscoverResponse'
133
+ '400':
134
+ description: Bad Request - Error processing request
135
+ content:
136
+ application/json:
137
+ schema:
138
+ $ref: '#/components/schemas/ErrorResponse'
121
139
  '422':
122
140
  description: Validation Error
123
141
  content:
@@ -146,6 +164,12 @@ paths:
146
164
  application/json:
147
165
  schema:
148
166
  $ref: '#/components/schemas/ManifestResponse'
167
+ '400':
168
+ description: Bad Request - Error processing request
169
+ content:
170
+ application/json:
171
+ schema:
172
+ $ref: '#/components/schemas/ErrorResponse'
149
173
  '422':
150
174
  description: Validation Error
151
175
  content:
@@ -180,6 +204,12 @@ paths:
180
204
  application/json:
181
205
  schema:
182
206
  $ref: '#/components/schemas/ManifestResponse'
207
+ '400':
208
+ description: Bad Request - Error processing request
209
+ content:
210
+ application/json:
211
+ schema:
212
+ $ref: '#/components/schemas/ErrorResponse'
183
213
  '422':
184
214
  description: Validation Error
185
215
  content:
@@ -353,6 +383,16 @@ components:
353
383
  - catalog
354
384
  title: DiscoverResponse
355
385
  description: Response to discover a manifest.
386
+ ErrorResponse:
387
+ properties:
388
+ detail:
389
+ type: string
390
+ title: Detail
391
+ type: object
392
+ required:
393
+ - detail
394
+ title: ErrorResponse
395
+ description: Error response for API requests.
356
396
  FullResolveRequest:
357
397
  properties:
358
398
  manifest:
@@ -14,12 +14,14 @@ from airbyte_cdk.sources.declarative.parsers.custom_code_compiler import (
14
14
  INJECTED_COMPONENTS_PY,
15
15
  INJECTED_COMPONENTS_PY_CHECKSUMS,
16
16
  )
17
+ from airbyte_cdk.utils.airbyte_secrets_utils import filter_secrets
17
18
 
18
19
  from ..api_models import (
19
20
  CheckRequest,
20
21
  CheckResponse,
21
22
  DiscoverRequest,
22
23
  DiscoverResponse,
24
+ ErrorResponse,
23
25
  FullResolveRequest,
24
26
  Manifest,
25
27
  ManifestResponse,
@@ -64,7 +66,13 @@ router = APIRouter(
64
66
  )
65
67
 
66
68
 
67
- @router.post("/test_read", operation_id="testRead")
69
+ @router.post(
70
+ "/test_read",
71
+ operation_id="testRead",
72
+ responses={
73
+ 400: {"description": "Bad Request - Error processing request", "model": ErrorResponse}
74
+ },
75
+ )
68
76
  def test_read(request: StreamTestReadRequest) -> StreamReadResponse:
69
77
  """
70
78
  Test reading from a specific stream in the manifest.
@@ -109,18 +117,29 @@ def test_read(request: StreamTestReadRequest) -> StreamReadResponse:
109
117
  )
110
118
 
111
119
  runner = ManifestCommandProcessor(source)
112
- cdk_result = runner.test_read(
113
- config_dict,
114
- catalog,
115
- converted_state,
116
- request.record_limit,
117
- request.page_limit,
118
- request.slice_limit,
119
- )
120
- return StreamReadResponse.model_validate(asdict(cdk_result))
121
-
122
-
123
- @router.post("/check", operation_id="check")
120
+ try:
121
+ cdk_result = runner.test_read(
122
+ config_dict,
123
+ catalog,
124
+ converted_state,
125
+ request.record_limit,
126
+ request.page_limit,
127
+ request.slice_limit,
128
+ )
129
+ return StreamReadResponse.model_validate(asdict(cdk_result))
130
+ except Exception as exc:
131
+ # Filter secrets from error message before returning to client
132
+ sanitized_message = filter_secrets(f"Error reading stream: {str(exc)}")
133
+ raise HTTPException(status_code=400, detail=sanitized_message)
134
+
135
+
136
+ @router.post(
137
+ "/check",
138
+ operation_id="check",
139
+ responses={
140
+ 400: {"description": "Bad Request - Error processing request", "model": ErrorResponse}
141
+ },
142
+ )
124
143
  def check(request: CheckRequest) -> CheckResponse:
125
144
  """Check configuration against a manifest"""
126
145
  # Apply trace tags from context if provided
@@ -130,13 +149,24 @@ def check(request: CheckRequest) -> CheckResponse:
130
149
  project_id=request.context.project_id,
131
150
  )
132
151
 
133
- source = safe_build_source(request.manifest.model_dump(), request.config.model_dump())
134
- runner = ManifestCommandProcessor(source)
135
- success, message = runner.check_connection(request.config.model_dump())
136
- return CheckResponse(success=success, message=message)
137
-
138
-
139
- @router.post("/discover", operation_id="discover")
152
+ try:
153
+ source = safe_build_source(request.manifest.model_dump(), request.config.model_dump())
154
+ runner = ManifestCommandProcessor(source)
155
+ success, message = runner.check_connection(request.config.model_dump())
156
+ return CheckResponse(success=success, message=message)
157
+ except Exception as exc:
158
+ # Filter secrets from error message before returning to client
159
+ sanitized_message = filter_secrets(f"Error checking connection: {str(exc)}")
160
+ raise HTTPException(status_code=400, detail=sanitized_message)
161
+
162
+
163
+ @router.post(
164
+ "/discover",
165
+ operation_id="discover",
166
+ responses={
167
+ 400: {"description": "Bad Request - Error processing request", "model": ErrorResponse}
168
+ },
169
+ )
140
170
  def discover(request: DiscoverRequest) -> DiscoverResponse:
141
171
  """Discover streams from a manifest"""
142
172
  # Apply trace tags from context if provided
@@ -146,15 +176,31 @@ def discover(request: DiscoverRequest) -> DiscoverResponse:
146
176
  project_id=request.context.project_id,
147
177
  )
148
178
 
149
- source = safe_build_source(request.manifest.model_dump(), request.config.model_dump())
150
- runner = ManifestCommandProcessor(source)
151
- catalog = runner.discover(request.config.model_dump())
152
- if catalog is None:
153
- raise HTTPException(status_code=422, detail="Connector did not return a discovered catalog")
154
- return DiscoverResponse(catalog=catalog)
155
-
156
-
157
- @router.post("/resolve", operation_id="resolve")
179
+ try:
180
+ source = safe_build_source(request.manifest.model_dump(), request.config.model_dump())
181
+ runner = ManifestCommandProcessor(source)
182
+ catalog = runner.discover(request.config.model_dump())
183
+ if catalog is None:
184
+ raise HTTPException(
185
+ status_code=422, detail="Connector did not return a discovered catalog"
186
+ )
187
+ return DiscoverResponse(catalog=catalog)
188
+ except HTTPException:
189
+ # Re-raise HTTPExceptions as-is (like the catalog None check above)
190
+ raise
191
+ except Exception as exc:
192
+ # Filter secrets from error message before returning to client
193
+ sanitized_message = filter_secrets(f"Error discovering streams: {str(exc)}")
194
+ raise HTTPException(status_code=400, detail=sanitized_message)
195
+
196
+
197
+ @router.post(
198
+ "/resolve",
199
+ operation_id="resolve",
200
+ responses={
201
+ 400: {"description": "Bad Request - Error processing request", "model": ErrorResponse}
202
+ },
203
+ )
158
204
  def resolve(request: ResolveRequest) -> ManifestResponse:
159
205
  """Resolve a manifest to its final configuration."""
160
206
  # Apply trace tags from context if provided
@@ -164,11 +210,22 @@ def resolve(request: ResolveRequest) -> ManifestResponse:
164
210
  project_id=request.context.project_id,
165
211
  )
166
212
 
167
- source = safe_build_source(request.manifest.model_dump(), {})
168
- return ManifestResponse(manifest=Manifest(**source.resolved_manifest))
169
-
170
-
171
- @router.post("/full_resolve", operation_id="fullResolve")
213
+ try:
214
+ source = safe_build_source(request.manifest.model_dump(), {})
215
+ return ManifestResponse(manifest=Manifest(**source.resolved_manifest))
216
+ except Exception as exc:
217
+ # Filter secrets from error message before returning to client
218
+ sanitized_message = filter_secrets(f"Error resolving manifest: {str(exc)}")
219
+ raise HTTPException(status_code=400, detail=sanitized_message)
220
+
221
+
222
+ @router.post(
223
+ "/full_resolve",
224
+ operation_id="fullResolve",
225
+ responses={
226
+ 400: {"description": "Bad Request - Error processing request", "model": ErrorResponse}
227
+ },
228
+ )
172
229
  def full_resolve(request: FullResolveRequest) -> ManifestResponse:
173
230
  """
174
231
  Fully resolve a manifest, including dynamic streams.
@@ -182,21 +239,26 @@ def full_resolve(request: FullResolveRequest) -> ManifestResponse:
182
239
  project_id=request.context.project_id,
183
240
  )
184
241
 
185
- source = safe_build_source(request.manifest.model_dump(), request.config.model_dump())
186
- manifest = {**source.resolved_manifest}
187
- streams = manifest.get("streams", [])
188
- for stream in streams:
189
- stream["dynamic_stream_name"] = None
190
-
191
- mapped_streams: Dict[str, List[Dict[str, Any]]] = {}
192
- for stream in source.dynamic_streams:
193
- generated_streams = mapped_streams.setdefault(stream["dynamic_stream_name"], [])
194
-
195
- if len(generated_streams) < request.stream_limit:
196
- generated_streams += [stream]
197
-
198
- for generated_streams_list in mapped_streams.values():
199
- streams.extend(generated_streams_list)
200
-
201
- manifest["streams"] = streams
202
- return ManifestResponse(manifest=Manifest(**manifest))
242
+ try:
243
+ source = safe_build_source(request.manifest.model_dump(), request.config.model_dump())
244
+ manifest = {**source.resolved_manifest}
245
+ streams = manifest.get("streams", [])
246
+ for stream in streams:
247
+ stream["dynamic_stream_name"] = None
248
+
249
+ mapped_streams: Dict[str, List[Dict[str, Any]]] = {}
250
+ for stream in source.dynamic_streams:
251
+ generated_streams = mapped_streams.setdefault(stream["dynamic_stream_name"], [])
252
+
253
+ if len(generated_streams) < request.stream_limit:
254
+ generated_streams += [stream]
255
+
256
+ for generated_streams_list in mapped_streams.values():
257
+ streams.extend(generated_streams_list)
258
+
259
+ manifest["streams"] = streams
260
+ return ManifestResponse(manifest=Manifest(**manifest))
261
+ except Exception as exc:
262
+ # Filter secrets from error message before returning to client
263
+ sanitized_message = filter_secrets(f"Error full resolving manifest: {str(exc)}")
264
+ raise HTTPException(status_code=400, detail=sanitized_message)
@@ -384,10 +384,7 @@ class SimpleRetriever(Retriever):
384
384
 
385
385
  response = None
386
386
  try:
387
- if (
388
- self.additional_query_properties
389
- and self.additional_query_properties.property_chunking
390
- ):
387
+ if self.additional_query_properties:
391
388
  for properties in self.additional_query_properties.get_request_property_chunks(
392
389
  stream_slice=stream_slice
393
390
  ):
@@ -401,15 +398,19 @@ class SimpleRetriever(Retriever):
401
398
  )
402
399
 
403
400
  for current_record in records_generator_fn(response):
404
- merge_key = (
405
- self.additional_query_properties.property_chunking.get_merge_key(
401
+ if self.additional_query_properties.property_chunking:
402
+ merge_key = self.additional_query_properties.property_chunking.get_merge_key(
406
403
  current_record
407
404
  )
408
- )
409
- if merge_key:
410
- _deep_merge(merged_records[merge_key], current_record)
405
+ if merge_key:
406
+ _deep_merge(merged_records[merge_key], current_record)
407
+ else:
408
+ # We should still emit records even if the record did not have a merge key
409
+ pagination_tracker.observe(current_record)
410
+ last_page_size += 1
411
+ last_record = current_record
412
+ yield current_record
411
413
  else:
412
- # We should still emit records even if the record did not have a merge key
413
414
  pagination_tracker.observe(current_record)
414
415
  last_page_size += 1
415
416
  last_record = current_record
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: airbyte-cdk
3
- Version: 7.3.6
3
+ Version: 7.3.7.post2.dev18575798564
4
4
  Summary: A framework for writing Airbyte Connectors.
5
5
  Home-page: https://airbyte.com
6
6
  License: MIT
@@ -35,7 +35,7 @@ Requires-Dist: click (>=8.1.8,<9.0.0)
35
35
  Requires-Dist: cohere (>=4.21,<6.0.0) ; extra == "vector-db-based"
36
36
  Requires-Dist: cryptography (>=44.0.0,<45.0.0)
37
37
  Requires-Dist: dateparser (>=1.2.2,<2.0.0)
38
- Requires-Dist: ddtrace (>=3.12.3,<4.0.0) ; extra == "manifest-server"
38
+ Requires-Dist: ddtrace (>=3.12.0,<4.0.0) ; extra == "manifest-server"
39
39
  Requires-Dist: dpath (>=2.1.6,<3.0.0)
40
40
  Requires-Dist: dunamai (>=1.22.0,<2.0.0)
41
41
  Requires-Dist: fastapi (>=0.116.1) ; extra == "manifest-server"
@@ -43,7 +43,7 @@ Requires-Dist: fastavro (>=1.11.0,<2.0.0) ; extra == "file-based"
43
43
  Requires-Dist: genson (==1.3.0)
44
44
  Requires-Dist: google-cloud-secret-manager (>=2.17.0,<3.0.0)
45
45
  Requires-Dist: isodate (>=0.6.1,<0.7.0)
46
- Requires-Dist: jsonref (>=0.2,<0.3)
46
+ Requires-Dist: jsonref (>=1,<2)
47
47
  Requires-Dist: jsonschema (>=4.17.3,<5.0)
48
48
  Requires-Dist: langchain (==0.1.16) ; extra == "vector-db-based"
49
49
  Requires-Dist: langchain_core (==0.1.42)
@@ -64,12 +64,12 @@ airbyte_cdk/manifest_migrations/migrations_registry.py,sha256=zly2fwaOxDukqC7eow
64
64
  airbyte_cdk/manifest_server/Dockerfile,sha256=9I8HUDHkHggzyUiGg4Bqj7oZjrTSaWrZrWyA2FKD7u8,1317
65
65
  airbyte_cdk/manifest_server/README.md,sha256=bYzb3QAnkaM9mR9XgK7n4FKAvZkM4OWaBGcQb91f3vk,4341
66
66
  airbyte_cdk/manifest_server/__init__.py,sha256=EE54nk2dbtExIEEvLPCTUkJ_ESV5OYP4B2rBJlDpJ5g,33
67
- airbyte_cdk/manifest_server/api_models/__init__.py,sha256=UOtYJNkR8_Nb5tDqSjSUhVM9Mv5EiyfD9Zh302GRzRA,1057
67
+ airbyte_cdk/manifest_server/api_models/__init__.py,sha256=xRvplQAd2SJ2GJYn3qyxdvdj3bXaTwvOZoAPJ0t8xhE,1097
68
68
  airbyte_cdk/manifest_server/api_models/capabilities.py,sha256=eL88UxojIewHt97wMeCvyt92Hzh95UvLvVH6MSlsj5o,152
69
69
  airbyte_cdk/manifest_server/api_models/dicts.py,sha256=Rm10IeV745MY8bLyrYyG7a9NGNrZBlnfkXct8gi7OTI,467
70
- airbyte_cdk/manifest_server/api_models/manifest.py,sha256=LlsBPuK8asIsFYh21WvtTgZB1e5dTrPKYM21unKTRaY,2080
70
+ airbyte_cdk/manifest_server/api_models/manifest.py,sha256=nScbQRl0UwLo4_NgrrH49fzpl6PCGOq7wpou13nPiN0,2174
71
71
  airbyte_cdk/manifest_server/api_models/stream.py,sha256=WqAIfcrRiYjaR9DvwoYegv1JOvVd7W5cEefUYyWk9FI,2006
72
- airbyte_cdk/manifest_server/app.py,sha256=RrjV73qx_PBoYoO_IAxDNV5v-UZNwjSG4muxZ4kiMj8,602
72
+ airbyte_cdk/manifest_server/app.py,sha256=5N6i6GU2zOew5i8d_8Gg4hG21bm_AKGpEwMTrBu3usA,602
73
73
  airbyte_cdk/manifest_server/cli/__init__.py,sha256=YfCEfXq3Jr7z3GOKMA6vF-D-7Y66BNHUwBLNM9UQbiQ,273
74
74
  airbyte_cdk/manifest_server/cli/_common.py,sha256=_dV7Lq30-MFDAw4feNKJDnQkAaNpPnuHm4xcGJb9SvE,832
75
75
  airbyte_cdk/manifest_server/cli/_info.py,sha256=-h8U1bSD1umqLuoXfg4yDNWFR1BZuxcXxLhVKfLWB0Y,982
@@ -83,11 +83,11 @@ airbyte_cdk/manifest_server/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQ
83
83
  airbyte_cdk/manifest_server/helpers/auth.py,sha256=kKET6zg4olyf8p_UMcTnm7vkAtowxK6loSf8o83SdEM,1264
84
84
  airbyte_cdk/manifest_server/helpers/tracing.py,sha256=J-Yi5YP4ZrUfG1eN7jNVJR_eldfJBki3Sbke-uWpGe0,1021
85
85
  airbyte_cdk/manifest_server/main.py,sha256=iSgL7x8ifBpGpXi7Dq7017QjeC20l_CYBAIsumiyJn0,573
86
- airbyte_cdk/manifest_server/openapi.yaml,sha256=NL0mQQFS1iHIRpkDT2EfkFcO1QelgZmhOvaoYlhgFxQ,17691
86
+ airbyte_cdk/manifest_server/openapi.yaml,sha256=Tx8wZSVmx8YPmGtum8BnZXj2NRj7pCQxkPKnP8fdnfk,18955
87
87
  airbyte_cdk/manifest_server/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
88
88
  airbyte_cdk/manifest_server/routers/capabilities.py,sha256=UeZQzbqEuDN23vizgDb_N7KEXR-YZUPnW5AkXeXy1hA,727
89
89
  airbyte_cdk/manifest_server/routers/health.py,sha256=akBUaHUGN-jmN82lQ3kj_3-wdS6gsZx3iSD2KMI5dW8,200
90
- airbyte_cdk/manifest_server/routers/manifest.py,sha256=3dCaqIVzezW0rmBGi177xcPfMd7E4tbjx--ssNNCdVI,7180
90
+ airbyte_cdk/manifest_server/routers/manifest.py,sha256=DNXC6csnswEtJls6MXweNYsge3l0u0yQMN_YvwIKsuU,9520
91
91
  airbyte_cdk/models/__init__.py,sha256=Et9wJWs5VOWynGbb-3aJRhsdAHAiLkNNLxdwqJAuqkw,2114
92
92
  airbyte_cdk/models/airbyte_protocol.py,sha256=oZdKsZ7yPjUt9hvxdWNpxCtgjSV2RWhf4R9Np03sqyY,3613
93
93
  airbyte_cdk/models/airbyte_protocol_serializers.py,sha256=Dq4ry_Wwvzsos6neDiaOZkY6riQYC33ZlPNWpfIIB1E,1926
@@ -242,7 +242,7 @@ airbyte_cdk/sources/declarative/retrievers/file_uploader/local_file_system_file_
242
242
  airbyte_cdk/sources/declarative/retrievers/file_uploader/noop_file_writer.py,sha256=1yfimzxm09d2j605cu_HhiYVDNVL1rUMi3vs_jYlIyY,330
243
243
  airbyte_cdk/sources/declarative/retrievers/pagination_tracker.py,sha256=h-3GfksrWaQUa1xIefq9eG-6_DuW77Vq8XDenv-hCps,2865
244
244
  airbyte_cdk/sources/declarative/retrievers/retriever.py,sha256=os5psYh8z7ZdCAvbfZeTpmjvPa7Qpx0mblpKf47ZaZM,1876
245
- airbyte_cdk/sources/declarative/retrievers/simple_retriever.py,sha256=8nb87fsBno1SOxHxYA-sGxAy48sapcF3aZszBu4Ew_s,29643
245
+ airbyte_cdk/sources/declarative/retrievers/simple_retriever.py,sha256=bOYqSjcTZCsxRXTICIIc4mFU6T_-AKBL3ofLjOo0mkE,29858
246
246
  airbyte_cdk/sources/declarative/schema/__init__.py,sha256=xU45UvM5O4c1PSM13UHpCdh5hpW3HXy9vRRGEiAC1rg,795
247
247
  airbyte_cdk/sources/declarative/schema/composite_schema_loader.py,sha256=ymGbvxS_QyGc4nnjEyRo5ch8bVedELO41PAUxKXZyMw,1113
248
248
  airbyte_cdk/sources/declarative/schema/default_schema_loader.py,sha256=UnbzlExmwoQiVV8zDg4lhAEaqA_0pRfwbMRe8yqOuWk,1834
@@ -459,9 +459,9 @@ airbyte_cdk/utils/slice_hasher.py,sha256=EDxgROHDbfG-QKQb59m7h_7crN1tRiawdf5uU7G
459
459
  airbyte_cdk/utils/spec_schema_transformations.py,sha256=9YDJmnIGFsT51CVQf2tSSvTapGimITjEFGbUTSZAGTI,963
460
460
  airbyte_cdk/utils/stream_status_utils.py,sha256=ZmBoiy5HVbUEHAMrUONxZvxnvfV9CesmQJLDTAIWnWw,1171
461
461
  airbyte_cdk/utils/traced_exception.py,sha256=C8uIBuCL_E4WnBAOPSxBicD06JAldoN9fGsQDp463OY,6292
462
- airbyte_cdk-7.3.6.dist-info/LICENSE.txt,sha256=Wfe61S4BaGPj404v8lrAbvhjYR68SHlkzeYrg3_bbuM,1051
463
- airbyte_cdk-7.3.6.dist-info/LICENSE_SHORT,sha256=aqF6D1NcESmpn-cqsxBtszTEnHKnlsp8L4x9wAh3Nxg,55
464
- airbyte_cdk-7.3.6.dist-info/METADATA,sha256=t8_VADjdcKhQY5UGQQKhnqrLE6HGPn2_kWjsJD2MCi0,6798
465
- airbyte_cdk-7.3.6.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
466
- airbyte_cdk-7.3.6.dist-info/entry_points.txt,sha256=eLZ2UYvJZGm1s07Pplcs--1Gim60YhZWTb53j_dghwU,195
467
- airbyte_cdk-7.3.6.dist-info/RECORD,,
462
+ airbyte_cdk-7.3.7.post2.dev18575798564.dist-info/LICENSE.txt,sha256=Wfe61S4BaGPj404v8lrAbvhjYR68SHlkzeYrg3_bbuM,1051
463
+ airbyte_cdk-7.3.7.post2.dev18575798564.dist-info/LICENSE_SHORT,sha256=aqF6D1NcESmpn-cqsxBtszTEnHKnlsp8L4x9wAh3Nxg,55
464
+ airbyte_cdk-7.3.7.post2.dev18575798564.dist-info/METADATA,sha256=AVrl56ROWsrP4oXPv0bWS6t0NLlYqMcwrTdBJ5VClbo,6815
465
+ airbyte_cdk-7.3.7.post2.dev18575798564.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
466
+ airbyte_cdk-7.3.7.post2.dev18575798564.dist-info/entry_points.txt,sha256=eLZ2UYvJZGm1s07Pplcs--1Gim60YhZWTb53j_dghwU,195
467
+ airbyte_cdk-7.3.7.post2.dev18575798564.dist-info/RECORD,,