airbyte-cdk 6.48.2__py3-none-any.whl → 6.48.3__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.
@@ -33,19 +33,44 @@ class HttpRequesterRequestBodyJsonDataToRequestBody(ManifestMigration):
33
33
  def migrate(self, manifest: ManifestType) -> None:
34
34
  for key in self.original_keys:
35
35
  if key == self.body_json_key and key in manifest:
36
- manifest[self.replacement_key] = {
37
- "type": "RequestBodyJson",
38
- "value": manifest[key],
39
- }
40
- manifest.pop(key, None)
36
+ self._migrate_body_json(manifest, key)
41
37
  elif key == self.body_data_key and key in manifest:
42
- manifest[self.replacement_key] = {
43
- "type": "RequestBodyData",
44
- "value": manifest[key],
45
- }
46
- manifest.pop(key, None)
38
+ self._migrate_body_data(manifest, key)
47
39
 
48
40
  def validate(self, manifest: ManifestType) -> bool:
49
41
  return self.replacement_key in manifest and all(
50
42
  key not in manifest for key in self.original_keys
51
43
  )
44
+
45
+ def _migrate_body_json(self, manifest: ManifestType, key: str) -> None:
46
+ """
47
+ Migrate the value of the request_body_json.
48
+ """
49
+ query_key = "query"
50
+ text_type = "RequestBodyPlainText"
51
+ graph_ql_type = "RequestBodyGraphQL"
52
+ json_object_type = "RequestBodyJsonObject"
53
+
54
+ if isinstance(manifest[key], str):
55
+ self._migrate_value(manifest, key, text_type)
56
+ elif isinstance(manifest[key], dict):
57
+ if manifest[key].get(query_key) is not None:
58
+ self._migrate_value(manifest, key, graph_ql_type)
59
+ else:
60
+ self._migrate_value(manifest, key, json_object_type)
61
+
62
+ def _migrate_body_data(self, manifest: ManifestType, key: str) -> None:
63
+ """
64
+ Migrate the value of the request_body_data.
65
+ """
66
+ self._migrate_value(manifest, key, "RequestBodyUrlEncodedForm")
67
+
68
+ def _migrate_value(self, manifest: ManifestType, key: str, type: str) -> None:
69
+ """
70
+ Migrate the value of the key to a specific type and update the manifest.
71
+ """
72
+ manifest[self.replacement_key] = {
73
+ "type": type,
74
+ "value": manifest[key],
75
+ }
76
+ manifest.pop(key, None)
@@ -3,7 +3,7 @@
3
3
  #
4
4
 
5
5
  manifest_migrations:
6
- - version: 6.48.2
6
+ - version: 6.48.3
7
7
  migrations:
8
8
  - name: http_requester_url_base_to_url
9
9
  order: 1
@@ -2048,31 +2048,39 @@ definitions:
2048
2048
  title: Request Body Payload to be send as a part of the API request.
2049
2049
  description: Specifies how to populate the body of the request with a payload. Can contain nested objects.
2050
2050
  anyOf:
2051
- - "$ref": "#/definitions/RequestBody"
2051
+ - "$ref": "#/definitions/RequestBodyPlainText"
2052
+ - "$ref": "#/definitions/RequestBodyUrlEncodedForm"
2053
+ - "$ref": "#/definitions/RequestBodyJsonObject"
2054
+ - "$ref": "#/definitions/RequestBodyGraphQL"
2052
2055
  interpolation_context:
2053
2056
  - next_page_token
2054
2057
  - stream_interval
2055
2058
  - stream_partition
2056
2059
  - stream_slice
2057
2060
  examples:
2058
- - type: RequestBodyJson
2061
+ - type: RequestBodyJsonObject
2059
2062
  value:
2060
2063
  sort_order: "ASC"
2061
2064
  sort_field: "CREATED_AT"
2062
- - type: RequestBodyJson
2065
+ - type: RequestBodyJsonObject
2063
2066
  value:
2064
2067
  key: "{{ config['value'] }}"
2065
- - type: RequestBodyJson
2068
+ - type: RequestBodyJsonObject
2066
2069
  value:
2067
2070
  sort:
2068
2071
  field: "updated_at"
2069
2072
  order: "ascending"
2070
- - type: RequestBodyData
2073
+ - type: RequestBodyPlainText
2071
2074
  value: "plain_text_body"
2072
- - type: RequestBodyData
2075
+ - type: RequestBodyUrlEncodedForm
2073
2076
  value:
2074
2077
  param1: "value1"
2075
2078
  param2: "{{ config['param2_value'] }}"
2079
+ - type: RequestBodyGraphQL
2080
+ value:
2081
+ query:
2082
+ param1: "value1"
2083
+ param2: "{{ config['param2_value'] }}"
2076
2084
  request_headers:
2077
2085
  title: Request Headers
2078
2086
  description: Return any non-auth headers. Authentication headers will overwrite any overlapping headers returned from this method.
@@ -4073,27 +4081,74 @@ definitions:
4073
4081
  - type
4074
4082
  - stream_template
4075
4083
  - components_resolver
4076
- RequestBody:
4084
+ RequestBodyPlainText:
4085
+ title: Plain-text Body
4086
+ description: Request body value is sent as plain text
4077
4087
  type: object
4078
- description: The request body payload. Can be either URL encoded data or JSON.
4088
+ required:
4089
+ - type
4090
+ - value
4079
4091
  properties:
4080
4092
  type:
4081
- anyOf:
4082
- - type: string
4083
- enum: [RequestBodyData]
4084
- - type: string
4085
- enum: [RequestBodyJson]
4093
+ type: string
4094
+ enum: [RequestBodyPlainText]
4086
4095
  value:
4087
- anyOf:
4088
- - type: string
4089
- description: The request body payload as a string.
4090
- - type: object
4091
- description: The request body payload as a Non-JSON object (url-encoded data).
4092
- additionalProperties:
4093
- type: string
4094
- - type: object
4095
- description: The request body payload as a JSON object (json-encoded data).
4096
- additionalProperties: true
4096
+ type: string
4097
+ RequestBodyUrlEncodedForm:
4098
+ title: URL-encoded Body
4099
+ description: Request body value is converted into a url-encoded form
4100
+ type: object
4101
+ required:
4102
+ - type
4103
+ - value
4104
+ properties:
4105
+ type:
4106
+ type: string
4107
+ enum: [RequestBodyUrlEncodedForm]
4108
+ value:
4109
+ type: object
4110
+ additionalProperties:
4111
+ type: string
4112
+ RequestBodyJsonObject:
4113
+ title: Json Object Body
4114
+ description: Request body value converted into a JSON object
4115
+ type: object
4116
+ required:
4117
+ - type
4118
+ - value
4119
+ properties:
4120
+ type:
4121
+ type: string
4122
+ enum: [RequestBodyJsonObject]
4123
+ value:
4124
+ type: object
4125
+ additionalProperties: true
4126
+ RequestBodyGraphQL:
4127
+ title: GraphQL Body
4128
+ description: Request body value converted into a GraphQL query object
4129
+ type: object
4130
+ required:
4131
+ - type
4132
+ - value
4133
+ properties:
4134
+ type:
4135
+ type: string
4136
+ enum: [RequestBodyGraphQL]
4137
+ value:
4138
+ "$ref": "#/definitions/RequestBodyGraphQlQuery"
4139
+ RequestBodyGraphQlQuery:
4140
+ title: GraphQL Query Body
4141
+ description: Request body GraphQL query object
4142
+ type: object
4143
+ required:
4144
+ - query
4145
+ properties:
4146
+ query:
4147
+ type: object
4148
+ additionalProperties: true
4149
+ description: The GraphQL query to be executed
4150
+ default: {}
4151
+ additionalProperties: true
4097
4152
  interpolation:
4098
4153
  variables:
4099
4154
  - title: config
@@ -1,5 +1,3 @@
1
- # Copyright (c) 2025 Airbyte, Inc., all rights reserved.
2
-
3
1
  # generated by datamodel-codegen:
4
2
  # filename: declarative_component_schema.yaml
5
3
 
@@ -1501,9 +1499,26 @@ class ConfigComponentsResolver(BaseModel):
1501
1499
  parameters: Optional[Dict[str, Any]] = Field(None, alias="$parameters")
1502
1500
 
1503
1501
 
1504
- class RequestBody(BaseModel):
1505
- type: Optional[Union[Literal["RequestBodyData"], Literal["RequestBodyJson"]]] = None
1506
- value: Optional[Union[str, Dict[str, str], Dict[str, Any]]] = None
1502
+ class RequestBodyPlainText(BaseModel):
1503
+ type: Literal["RequestBodyPlainText"]
1504
+ value: str
1505
+
1506
+
1507
+ class RequestBodyUrlEncodedForm(BaseModel):
1508
+ type: Literal["RequestBodyUrlEncodedForm"]
1509
+ value: Dict[str, str]
1510
+
1511
+
1512
+ class RequestBodyJsonObject(BaseModel):
1513
+ type: Literal["RequestBodyJsonObject"]
1514
+ value: Dict[str, Any]
1515
+
1516
+
1517
+ class RequestBodyGraphQlQuery(BaseModel):
1518
+ class Config:
1519
+ extra = Extra.allow
1520
+
1521
+ query: Dict[str, Any] = Field(..., description="The GraphQL query to be executed")
1507
1522
 
1508
1523
 
1509
1524
  class AddedFieldDefinition(BaseModel):
@@ -1908,6 +1923,11 @@ class Spec(BaseModel):
1908
1923
  )
1909
1924
 
1910
1925
 
1926
+ class RequestBodyGraphQL(BaseModel):
1927
+ type: Literal["RequestBodyGraphQL"]
1928
+ value: RequestBodyGraphQlQuery
1929
+
1930
+
1911
1931
  class CompositeErrorHandler(BaseModel):
1912
1932
  type: Literal["CompositeErrorHandler"]
1913
1933
  error_handlers: List[Union[CompositeErrorHandler, DefaultErrorHandler]] = Field(
@@ -2305,24 +2325,43 @@ class HttpRequester(BaseModelWithDeprecations):
2305
2325
  ],
2306
2326
  title="Request Body JSON Payload",
2307
2327
  )
2308
- request_body: Optional[RequestBody] = Field(
2328
+ request_body: Optional[
2329
+ Union[
2330
+ RequestBodyPlainText,
2331
+ RequestBodyUrlEncodedForm,
2332
+ RequestBodyJsonObject,
2333
+ RequestBodyGraphQL,
2334
+ ]
2335
+ ] = Field(
2309
2336
  None,
2310
2337
  description="Specifies how to populate the body of the request with a payload. Can contain nested objects.",
2311
2338
  examples=[
2312
2339
  {
2313
- "type": "RequestBodyJson",
2340
+ "type": "RequestBodyJsonObject",
2314
2341
  "value": {"sort_order": "ASC", "sort_field": "CREATED_AT"},
2315
2342
  },
2316
- {"type": "RequestBodyJson", "value": {"key": "{{ config['value'] }}"}},
2317
2343
  {
2318
- "type": "RequestBodyJson",
2344
+ "type": "RequestBodyJsonObject",
2345
+ "value": {"key": "{{ config['value'] }}"},
2346
+ },
2347
+ {
2348
+ "type": "RequestBodyJsonObject",
2319
2349
  "value": {"sort": {"field": "updated_at", "order": "ascending"}},
2320
2350
  },
2321
- {"type": "RequestBodyData", "value": "plain_text_body"},
2351
+ {"type": "RequestBodyPlainText", "value": "plain_text_body"},
2322
2352
  {
2323
- "type": "RequestBodyData",
2353
+ "type": "RequestBodyUrlEncodedForm",
2324
2354
  "value": {"param1": "value1", "param2": "{{ config['param2_value'] }}"},
2325
2355
  },
2356
+ {
2357
+ "type": "RequestBodyGraphQL",
2358
+ "value": {
2359
+ "query": {
2360
+ "param1": "value1",
2361
+ "param2": "{{ config['param2_value'] }}",
2362
+ }
2363
+ },
2364
+ },
2326
2365
  ],
2327
2366
  title="Request Body Payload to be send as a part of the API request.",
2328
2367
  )
@@ -7,7 +7,10 @@ from typing import Any, List, Mapping, MutableMapping, Optional, Union
7
7
 
8
8
  from airbyte_cdk.sources.declarative.interpolation.interpolated_nested_mapping import NestedMapping
9
9
  from airbyte_cdk.sources.declarative.models.declarative_component_schema import (
10
- RequestBody,
10
+ RequestBodyGraphQL,
11
+ RequestBodyJsonObject,
12
+ RequestBodyPlainText,
13
+ RequestBodyUrlEncodedForm,
11
14
  )
12
15
  from airbyte_cdk.sources.declarative.requesters.request_options.interpolated_nested_request_input_provider import (
13
16
  InterpolatedNestedRequestInputProvider,
@@ -41,7 +44,14 @@ class InterpolatedRequestOptionsProvider(RequestOptionsProvider):
41
44
  config: Config = field(default_factory=dict)
42
45
  request_parameters: Optional[RequestInput] = None
43
46
  request_headers: Optional[RequestInput] = None
44
- request_body: Optional[RequestBody] = None
47
+ request_body: Optional[
48
+ Union[
49
+ RequestBodyGraphQL,
50
+ RequestBodyJsonObject,
51
+ RequestBodyPlainText,
52
+ RequestBodyUrlEncodedForm,
53
+ ]
54
+ ] = None
45
55
  request_body_data: Optional[RequestInput] = None
46
56
  request_body_json: Optional[NestedMapping] = None
47
57
  query_properties_key: Optional[str] = None
@@ -83,14 +93,18 @@ class InterpolatedRequestOptionsProvider(RequestOptionsProvider):
83
93
  based on the type specified in `self.request_body`. If neither is provided, both are initialized as empty
84
94
  dictionaries. Raises a ValueError if both `request_body_data` and `request_body_json` are set simultaneously.
85
95
  Raises:
86
- ValueError: If both `request_body_data` and `request_body_json` are provided.
96
+ ValueError: if an unsupported request body type is provided.
87
97
  """
88
98
  # Resolve the request body to either data or json
89
99
  if self.request_body is not None and self.request_body.type is not None:
90
- if self.request_body.type == "RequestBodyData":
100
+ if self.request_body.type == "RequestBodyUrlEncodedForm":
91
101
  self.request_body_data = self.request_body.value
92
- elif self.request_body.type == "RequestBodyJson":
102
+ elif self.request_body.type == "RequestBodyGraphQL":
103
+ self.request_body_json = {"query": self.request_body.value.query}
104
+ elif self.request_body.type in ("RequestBodyJsonObject", "RequestBodyPlainText"):
93
105
  self.request_body_json = self.request_body.value
106
+ else:
107
+ raise ValueError(f"Unsupported request body type: {self.request_body.type}")
94
108
 
95
109
  def get_request_params(
96
110
  self,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: airbyte-cdk
3
- Version: 6.48.2
3
+ Version: 6.48.3
4
4
  Summary: A framework for writing Airbyte Connectors.
5
5
  Home-page: https://airbyte.com
6
6
  License: MIT
@@ -43,9 +43,9 @@ airbyte_cdk/manifest_migrations/manifest_migration.py,sha256=4ohLfbj2PeuPSgCMVbC
43
43
  airbyte_cdk/manifest_migrations/migration_handler.py,sha256=CF8in-Eb45TGzFBxEJrXSzqVr8Lgv0vqvZlbuz1rbQk,6096
44
44
  airbyte_cdk/manifest_migrations/migrations/__init__.py,sha256=SJ7imfOgCRYOVaFkW2bVEnSUxbYPlkryWwYT2semsF0,62
45
45
  airbyte_cdk/manifest_migrations/migrations/http_requester_path_to_url.py,sha256=IIn2SjRh1v2yaSBFUCDyBHpX6mBhlckhvbsSg55mREI,2153
46
- airbyte_cdk/manifest_migrations/migrations/http_requester_request_body_json_data_to_request_body.py,sha256=70md8yDu8SWl2JkkFcEs8kyXUbP0F_obIzyHsygyR9k,1777
46
+ airbyte_cdk/manifest_migrations/migrations/http_requester_request_body_json_data_to_request_body.py,sha256=4nX0oUcFytjpCFnz-oEf4JpeROP7_NBOEX9gCKFoBgg,2726
47
47
  airbyte_cdk/manifest_migrations/migrations/http_requester_url_base_to_url.py,sha256=EX1MVYVpoWypA28qoH48wA0SYZjGdlR8bcSixTDzfgo,1346
48
- airbyte_cdk/manifest_migrations/migrations/registry.yaml,sha256=pMG4JzHQyxvTjxhTZpzUXHb0BhwkY7w_6CtTwaUZ_K0,960
48
+ airbyte_cdk/manifest_migrations/migrations/registry.yaml,sha256=K5KBQ2C1T_dWExEJFuEAe1VO_QqOijOCh90rnUOCEyc,960
49
49
  airbyte_cdk/manifest_migrations/migrations_registry.py,sha256=zly2fwaOxDukqC7eowzrDlvhA2v71FjW74kDzvRXhSY,2619
50
50
  airbyte_cdk/models/__init__.py,sha256=Et9wJWs5VOWynGbb-3aJRhsdAHAiLkNNLxdwqJAuqkw,2114
51
51
  airbyte_cdk/models/airbyte_protocol.py,sha256=oZdKsZ7yPjUt9hvxdWNpxCtgjSV2RWhf4R9Np03sqyY,3613
@@ -89,7 +89,7 @@ airbyte_cdk/sources/declarative/concurrent_declarative_source.py,sha256=GoZJ8Oxb
89
89
  airbyte_cdk/sources/declarative/datetime/__init__.py,sha256=4Hw-PX1-VgESLF16cDdvuYCzGJtHntThLF4qIiULWeo,61
90
90
  airbyte_cdk/sources/declarative/datetime/datetime_parser.py,sha256=_zGNGq31RNy_0QBLt_EcTvgPyhj7urPdx6oA3M5-r3o,3150
91
91
  airbyte_cdk/sources/declarative/datetime/min_max_datetime.py,sha256=0BHBtDNQZfvwM45-tY5pNlTcKAFSGGNxemoi0Jic-0E,5785
92
- airbyte_cdk/sources/declarative/declarative_component_schema.yaml,sha256=C_hjPvQHfNGNTt2rXp9nCl8T_tPZBoPx0D5yEBi6ZWg,165127
92
+ airbyte_cdk/sources/declarative/declarative_component_schema.yaml,sha256=AK65U441O1kjmTnURofXyxDVyLkwCI-mVNflOdVpQM8,166443
93
93
  airbyte_cdk/sources/declarative/declarative_source.py,sha256=qmyMnnet92eGc3C22yBtpvD5UZjqdhsAafP_zxI5wp8,1814
94
94
  airbyte_cdk/sources/declarative/declarative_stream.py,sha256=dCRlddBUSaJmBNBz1pSO1r2rTw8AP5d2_vlmIeGs2gg,10767
95
95
  airbyte_cdk/sources/declarative/decoders/__init__.py,sha256=JHb_0d3SE6kNY10mxA5YBEKPeSbsWYjByq1gUQxepoE,953
@@ -133,7 +133,7 @@ airbyte_cdk/sources/declarative/migrations/legacy_to_per_partition_state_migrati
133
133
  airbyte_cdk/sources/declarative/migrations/state_migration.py,sha256=KWPjealMLKSMtajXgkdGgKg7EmTLR-CqqD7UIh0-eDU,794
134
134
  airbyte_cdk/sources/declarative/models/__init__.py,sha256=nUFxNCiKeYRVXuZEKA7GD-lTHxsiKcQ8FitZjKhPIvE,100
135
135
  airbyte_cdk/sources/declarative/models/base_model_with_deprecations.py,sha256=Rq5kzR5bflqBf6td2ZAgw6lP3iN_mNi4tjntn_R01_o,5851
136
- airbyte_cdk/sources/declarative/models/declarative_component_schema.py,sha256=Vf8LSt-leRKOpxQVQsGxWpG2aq9s9yvZKi4DYbpmf0s,117147
136
+ airbyte_cdk/sources/declarative/models/declarative_component_schema.py,sha256=CXk0TwSGrpEwtbrfa8PSt6JZxpov0NqjTpEEu9Pv0OM,118040
137
137
  airbyte_cdk/sources/declarative/parsers/__init__.py,sha256=ZnqYNxHsKCgO38IwB34RQyRMXTs4GTvlRi3ImKnIioo,61
138
138
  airbyte_cdk/sources/declarative/parsers/custom_code_compiler.py,sha256=nlVvHC511NUyDEEIRBkoeDTAvLqKNp-hRy8D19z8tdk,5941
139
139
  airbyte_cdk/sources/declarative/parsers/custom_exceptions.py,sha256=wnRUP0Xeru9Rbu5OexXSDN9QWDo8YU4tT9M2LDVOgGA,802
@@ -189,7 +189,7 @@ airbyte_cdk/sources/declarative/requesters/request_options/datetime_based_reques
189
189
  airbyte_cdk/sources/declarative/requesters/request_options/default_request_options_provider.py,sha256=SRROdPJZ5kuqHLOlkh115pWP9nDGfDxRYPgH9oD3hPo,1798
190
190
  airbyte_cdk/sources/declarative/requesters/request_options/interpolated_nested_request_input_provider.py,sha256=86YozYuBDfu0t9NbevIvQoGU0vqTP4rt3dRSTsHz3PA,2269
191
191
  airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_input_provider.py,sha256=rR00kE64U2yL0McU1gPr4_W5_sLUqwDgL3Nvj691nRU,2884
192
- airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_options_provider.py,sha256=TKerU1oGJJRGPk9_AXpKnaQVdNNIYpdLG1lK3HfaHS8,7741
192
+ airbyte_cdk/sources/declarative/requesters/request_options/interpolated_request_options_provider.py,sha256=ks4rCSdEKTX2bm8obDf-PzWggel1rQEwtu35-rQvqVk,8274
193
193
  airbyte_cdk/sources/declarative/requesters/request_options/request_options_provider.py,sha256=8YRiDzjYvqJ-aMmKFcjqzv_-e8OZ5QG_TbpZ-nuCu6s,2590
194
194
  airbyte_cdk/sources/declarative/requesters/request_path.py,sha256=S3MeFvcaQrMbOkSY2W2VbXLNomqt_3eXqVd9ZhgNwUs,299
195
195
  airbyte_cdk/sources/declarative/requesters/requester.py,sha256=T6tMx_Bx4iT-0YVjY7IzgRil-gaIu9n01b1iwpTh3Ek,5516
@@ -408,9 +408,9 @@ airbyte_cdk/utils/slice_hasher.py,sha256=EDxgROHDbfG-QKQb59m7h_7crN1tRiawdf5uU7G
408
408
  airbyte_cdk/utils/spec_schema_transformations.py,sha256=-5HTuNsnDBAhj-oLeQXwpTGA0HdcjFOf2zTEMUTTg_Y,816
409
409
  airbyte_cdk/utils/stream_status_utils.py,sha256=ZmBoiy5HVbUEHAMrUONxZvxnvfV9CesmQJLDTAIWnWw,1171
410
410
  airbyte_cdk/utils/traced_exception.py,sha256=C8uIBuCL_E4WnBAOPSxBicD06JAldoN9fGsQDp463OY,6292
411
- airbyte_cdk-6.48.2.dist-info/LICENSE.txt,sha256=Wfe61S4BaGPj404v8lrAbvhjYR68SHlkzeYrg3_bbuM,1051
412
- airbyte_cdk-6.48.2.dist-info/LICENSE_SHORT,sha256=aqF6D1NcESmpn-cqsxBtszTEnHKnlsp8L4x9wAh3Nxg,55
413
- airbyte_cdk-6.48.2.dist-info/METADATA,sha256=0SCcRtnWh4AI7620nilMQ_4gxFiiTljCCpb5AB6B_R4,6323
414
- airbyte_cdk-6.48.2.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
415
- airbyte_cdk-6.48.2.dist-info/entry_points.txt,sha256=AKWbEkHfpzzk9nF9tqBUaw1MbvTM4mGtEzmZQm0ZWvM,139
416
- airbyte_cdk-6.48.2.dist-info/RECORD,,
411
+ airbyte_cdk-6.48.3.dist-info/LICENSE.txt,sha256=Wfe61S4BaGPj404v8lrAbvhjYR68SHlkzeYrg3_bbuM,1051
412
+ airbyte_cdk-6.48.3.dist-info/LICENSE_SHORT,sha256=aqF6D1NcESmpn-cqsxBtszTEnHKnlsp8L4x9wAh3Nxg,55
413
+ airbyte_cdk-6.48.3.dist-info/METADATA,sha256=LwIvW38MkG7ondTet4rpAEzG7yFhQkEjmZdtZEKreBc,6323
414
+ airbyte_cdk-6.48.3.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
415
+ airbyte_cdk-6.48.3.dist-info/entry_points.txt,sha256=AKWbEkHfpzzk9nF9tqBUaw1MbvTM4mGtEzmZQm0ZWvM,139
416
+ airbyte_cdk-6.48.3.dist-info/RECORD,,