diff --git a/airbyte-connector-builder-resources/CDK_VERSION b/airbyte-connector-builder-resources/CDK_VERSION index 5e3ec53ea6..2dd517aa61 100644 --- a/airbyte-connector-builder-resources/CDK_VERSION +++ b/airbyte-connector-builder-resources/CDK_VERSION @@ -1 +1 @@ -6.5.2 +6.7.2 diff --git a/airbyte-connector-builder-server/Dockerfile b/airbyte-connector-builder-server/Dockerfile index ea6e3a08a2..f2402e5900 100644 --- a/airbyte-connector-builder-server/Dockerfile +++ b/airbyte-connector-builder-server/Dockerfile @@ -2,7 +2,7 @@ ARG JAVA_PYTHON_BASE_IMAGE_VERSION=2.2.1 FROM airbyte/airbyte-base-java-python-image:${JAVA_PYTHON_BASE_IMAGE_VERSION} AS connector-builder-server # Set up CDK requirements -ARG CDK_VERSION=6.7.1 +ARG CDK_VERSION=6.7.2 ENV CDK_PYTHON=${PYENV_ROOT}/versions/${PYTHON_VERSION}/bin/python ENV CDK_ENTRYPOINT ${PYENV_ROOT}/versions/${PYTHON_VERSION}/lib/python3.10/site-packages/airbyte_cdk/connector_builder/main.py # Set up CDK diff --git a/airbyte-connector-builder-server/requirements.in b/airbyte-connector-builder-server/requirements.in index a180b944cf..b50fbe2f9c 100644 --- a/airbyte-connector-builder-server/requirements.in +++ b/airbyte-connector-builder-server/requirements.in @@ -1 +1 @@ -airbyte-cdk==6.7.1 +airbyte-cdk==6.7.2 diff --git a/airbyte-connector-builder-server/requirements.txt b/airbyte-connector-builder-server/requirements.txt index 761f3dc868..b4560f0628 100644 --- a/airbyte-connector-builder-server/requirements.txt +++ b/airbyte-connector-builder-server/requirements.txt @@ -4,7 +4,7 @@ # # pip-compile # -airbyte-cdk==6.7.1 +airbyte-cdk==6.7.2 # via -r requirements.in airbyte-protocol-models-dataclasses==0.14.1 # via airbyte-cdk diff --git a/airbyte-webapp/src/components/connectorBuilder/Builder/StreamConfigView.tsx b/airbyte-webapp/src/components/connectorBuilder/Builder/StreamConfigView.tsx index 3ae5997428..7d9944a172 100644 --- a/airbyte-webapp/src/components/connectorBuilder/Builder/StreamConfigView.tsx +++ b/airbyte-webapp/src/components/connectorBuilder/Builder/StreamConfigView.tsx @@ -12,6 +12,7 @@ import { Pre } from "components/ui/Pre"; import { Text } from "components/ui/Text"; import { + GzipJsonDecoderType, IterableDecoderType, JsonDecoderType, JsonlDecoderType, @@ -109,6 +110,7 @@ export const StreamConfigView: React.FC = React.memo(({ s XmlDecoderType.XmlDecoder, JsonlDecoderType.JsonlDecoder, IterableDecoderType.IterableDecoder, + GzipJsonDecoderType.GzipJsonDecoder, ]} /> { + const supportedDecoderTypes: Array = [ + undefined, + JsonDecoderType.JsonDecoder, + JsonlDecoderType.JsonlDecoder, + XmlDecoderType.XmlDecoder, + IterableDecoderType.IterableDecoder, + GzipJsonDecoderType.GzipJsonDecoder, + ]; const decoderType = decoder?.type; - if ( - ![ - undefined, - JsonDecoderType.JsonDecoder, - JsonlDecoderType.JsonlDecoder, - XmlDecoderType.XmlDecoder, - IterableDecoderType.IterableDecoder, - ].includes(decoderType) - ) { + if (!supportedDecoderTypes.includes(decoderType)) { throw new ManifestCompatibilityError(streamName, "decoder is not supported"); } @@ -406,6 +407,8 @@ const manifestDecoderToBuilder = (decoder: SimpleRetrieverDecoder | undefined, s return "JSON Lines"; case IterableDecoderType.IterableDecoder: return "Iterable"; + case GzipJsonDecoderType.GzipJsonDecoder: + return "gzip JSON"; default: return "JSON"; } diff --git a/airbyte-webapp/src/components/connectorBuilder/types.ts b/airbyte-webapp/src/components/connectorBuilder/types.ts index c57336b412..ffde91d1ea 100644 --- a/airbyte-webapp/src/components/connectorBuilder/types.ts +++ b/airbyte-webapp/src/components/connectorBuilder/types.ts @@ -88,7 +88,7 @@ export interface BuilderFormInput { type BuilderHttpMethod = "GET" | "POST"; -export const BUILDER_DECODER_TYPES = ["JSON", "XML", "JSON Lines", "Iterable"] as const; +export const BUILDER_DECODER_TYPES = ["JSON", "XML", "JSON Lines", "Iterable", "gzip JSON"] as const; export type BuilderDecoder = (typeof BUILDER_DECODER_TYPES)[number]; interface BuilderRequestOptions { @@ -896,6 +896,8 @@ const builderDecoderToManifest = (decoder: BuilderDecoder): SimpleRetrieverDecod return { type: "JsonlDecoder" }; case "Iterable": return { type: "IterableDecoder" }; + case "gzip JSON": + return { type: "GzipJsonDecoder" }; } };