From dd6bbe9d2636d0bf0d2d064c79f14f4fc27bd82b Mon Sep 17 00:00:00 2001 From: Gayathri <142381512+gaya3-zipstack@users.noreply.github.com> Date: Fri, 24 Jan 2025 10:53:23 +0530 Subject: [PATCH 01/11] [FIX] Workflows & API deployments failing for specific cases in remote storage (#1088) * FIx auth middleware and pdm.lock issue for filesystem * Fixes for writing to destination connector --- .../endpoint_v2/destination.py | 15 +++++++++++---- tools/structure/src/main.py | 2 +- .../azure_cloud_storage.py | 17 ++++++++++++++--- .../filesystems/unstract_file_system.py | 19 ++++++++++++++++--- 4 files changed, 42 insertions(+), 11 deletions(-) diff --git a/backend/workflow_manager/endpoint_v2/destination.py b/backend/workflow_manager/endpoint_v2/destination.py index 45047419f..fe8e1dce6 100644 --- a/backend/workflow_manager/endpoint_v2/destination.py +++ b/backend/workflow_manager/endpoint_v2/destination.py @@ -237,10 +237,15 @@ def copy_output_to_output_directory(self) -> None: try: destination_fs.create_dir_if_not_exists(input_dir=output_directory) - # Traverse local directory and create the same structure in the # output_directory - for root, dirs, files in os.walk(destination_volume_path): + if check_feature_flag_status(FeatureFlag.REMOTE_FILE_STORAGE): + file_system = FileSystem(FileStorageType.WORKFLOW_EXECUTION) + fs = file_system.get_file_storage() + dir_path = fs.walk(str(destination_volume_path)) + else: + dir_path = os.walk(destination_volume_path) + for root, dirs, files in dir_path: for dir_name in dirs: current_dir = os.path.join( output_directory, @@ -504,7 +509,8 @@ def delete_execution_directory(self) -> None: if check_feature_flag_status(FeatureFlag.REMOTE_FILE_STORAGE): file_system = FileSystem(FileStorageType.WORKFLOW_EXECUTION) file_storage = file_system.get_file_storage() - file_storage.rm(self.execution_dir, recursive=True) + if file_storage.exists(self.execution_dir): + file_storage.rm(self.execution_dir, recursive=True) else: fs: LocalFileSystem = fsspec.filesystem("file") fs.rm(self.execution_dir, recursive=True) @@ -523,7 +529,8 @@ def delete_api_storage_dir(cls, workflow_id: str, execution_id: str) -> None: if check_feature_flag_status(FeatureFlag.REMOTE_FILE_STORAGE): file_system = FileSystem(FileStorageType.API_EXECUTION) file_storage = file_system.get_file_storage() - file_storage.rm(api_storage_dir, recursive=True) + if file_storage.exists(api_storage_dir): + file_storage.rm(api_storage_dir, recursive=True) else: fs: LocalFileSystem = fsspec.filesystem("file") fs.rm(api_storage_dir, recursive=True) diff --git a/tools/structure/src/main.py b/tools/structure/src/main.py index 09f400f8b..6a6149ef6 100644 --- a/tools/structure/src/main.py +++ b/tools/structure/src/main.py @@ -385,7 +385,7 @@ def _summarize_and_index( self.stream_log("Indexing summarized context") if self.workflow_filestorage: summarize_file_hash: str = self.workflow_filestorage.get_hash_from_file( - file_path=summarize_file_path + path=summarize_file_path ) else: summarize_file_hash: str = ToolUtils.get_hash_from_file( diff --git a/unstract/connectors/src/unstract/connectors/filesystems/azure_cloud_storage/azure_cloud_storage.py b/unstract/connectors/src/unstract/connectors/filesystems/azure_cloud_storage/azure_cloud_storage.py index caa5ca179..c9898343e 100644 --- a/unstract/connectors/src/unstract/connectors/filesystems/azure_cloud_storage/azure_cloud_storage.py +++ b/unstract/connectors/src/unstract/connectors/filesystems/azure_cloud_storage/azure_cloud_storage.py @@ -5,8 +5,13 @@ import azure.core.exceptions as AzureException from adlfs import AzureBlobFileSystem +from backend.constants import FeatureFlag from unstract.connectors.exceptions import AzureHttpError, ConnectorError from unstract.connectors.filesystems.unstract_file_system import UnstractFileSystem +from unstract.flags.feature_flag import check_feature_flag_status + +if check_feature_flag_status(FeatureFlag.REMOTE_FILE_STORAGE): + from unstract.filesystem import FileStorageType, FileSystem logging.getLogger("azurefs").setLevel(logging.ERROR) logger = logging.getLogger(__name__) @@ -90,10 +95,16 @@ def upload_file_to_storage(self, source_path: str, destination_path: str) -> Non AzureHttpError: returns error for invalid directory """ normalized_path = os.path.normpath(destination_path) - fs = self.get_fsspec_fs() + destination_connector_fs = self.get_fsspec_fs() try: - with open(source_path, "rb") as source_file: - fs.write_bytes(normalized_path, source_file.read()) + if check_feature_flag_status(FeatureFlag.REMOTE_FILE_STORAGE): + file_system = FileSystem(FileStorageType.WORKFLOW_EXECUTION) + workflow_fs = file_system.get_file_storage() + data = workflow_fs.read(path=source_path, mode="rb") + else: + with open(source_path, "rb") as source_file: + data = source_file.read() + destination_connector_fs.write_bytes(normalized_path, data) except AzureException.HttpResponseError as e: self.raise_http_exception(e=e, path=normalized_path) diff --git a/unstract/connectors/src/unstract/connectors/filesystems/unstract_file_system.py b/unstract/connectors/src/unstract/connectors/filesystems/unstract_file_system.py index 75389c772..51542357d 100644 --- a/unstract/connectors/src/unstract/connectors/filesystems/unstract_file_system.py +++ b/unstract/connectors/src/unstract/connectors/filesystems/unstract_file_system.py @@ -5,8 +5,15 @@ from fsspec import AbstractFileSystem +from backend.constants import FeatureFlag from unstract.connectors.base import UnstractConnector from unstract.connectors.enums import ConnectorMode +from unstract.flags.feature_flag import check_feature_flag_status + +if check_feature_flag_status(FeatureFlag.REMOTE_FILE_STORAGE): + from unstract.filesystem import FileStorageType, FileSystem + +logger = logging.getLogger(__name__) class UnstractFileSystem(UnstractConnector, ABC): @@ -98,6 +105,12 @@ def upload_file_to_storage(self, source_path: str, destination_path: str) -> Non uploaded """ normalized_path = os.path.normpath(destination_path) - fs = self.get_fsspec_fs() - with open(source_path, "rb") as source_file: - fs.write_bytes(normalized_path, source_file.read()) + destination_connector_fs = self.get_fsspec_fs() + if check_feature_flag_status(FeatureFlag.REMOTE_FILE_STORAGE): + file_system = FileSystem(FileStorageType.WORKFLOW_EXECUTION) + workflow_fs = file_system.get_file_storage() + data = workflow_fs.read(path=source_path, mode="rb") + else: + with open(source_path, "rb") as source_file: + data = source_file.read() + destination_connector_fs.write_bytes(normalized_path, data) From 28e216322ba28cc1ff340a1ea32a519af951d0e9 Mon Sep 17 00:00:00 2001 From: Gayathri <142381512+gaya3-zipstack@users.noreply.github.com> Date: Fri, 24 Jan 2025 11:38:04 +0530 Subject: [PATCH 02/11] SDK version 0.56.0rc3 roll (#1090) * SDK version 0.56.0rc3 roll * Update platform-service/pyproject.toml Co-authored-by: Praveen Kumar Signed-off-by: Gayathri <142381512+gaya3-zipstack@users.noreply.github.com> * Commit pdm.lock changes --------- Signed-off-by: Gayathri <142381512+gaya3-zipstack@users.noreply.github.com> Co-authored-by: Praveen Kumar --- backend/pdm.lock | 12 +- backend/pyproject.toml | 2 +- backend/sample.env | 4 +- pdm.lock | 189 ++++++++--------- platform-service/pdm.lock | 199 +++++++++--------- platform-service/pyproject.toml | 2 +- prompt-service/pdm.lock | 177 ++++++++-------- prompt-service/pyproject.toml | 2 +- pyproject.toml | 2 +- tools/classifier/requirements.txt | 2 +- tools/classifier/src/config/properties.json | 2 +- tools/structure/requirements.txt | 2 +- tools/structure/src/config/properties.json | 2 +- tools/text_extractor/requirements.txt | 2 +- .../text_extractor/src/config/properties.json | 2 +- unstract/filesystem/pdm.lock | 74 +++---- unstract/filesystem/pyproject.toml | 2 +- unstract/tool-registry/pyproject.toml | 2 +- .../tool_registry_config/public_tools.json | 12 +- 19 files changed, 347 insertions(+), 344 deletions(-) diff --git a/backend/pdm.lock b/backend/pdm.lock index 4afb0d994..4b623c155 100644 --- a/backend/pdm.lock +++ b/backend/pdm.lock @@ -5,7 +5,7 @@ groups = ["default", "deploy", "dev", "test"] strategy = ["cross_platform", "inherit_metadata"] lock_version = "4.4.2" -content_hash = "sha256:8840d46b34ffa521b5a4d19a7e22636a1e34669bfb52dac91d8bf6ffa2dce6f3" +content_hash = "sha256:082fcff0302d049c12d2ad56e54cc76ad29a4c9e5c52d242a63190c5ce8ac2a1" [[package]] name = "adlfs" @@ -4991,7 +4991,7 @@ path = "../unstract/filesystem" summary = "Unstract filesystem package" groups = ["default", "dev"] dependencies = [ - "unstract-sdk~=0.55.0rc2", + "unstract-sdk~=0.56.0rc3", ] [[package]] @@ -5009,7 +5009,7 @@ dependencies = [ [[package]] name = "unstract-sdk" -version = "0.55.0rc2" +version = "0.56.0rc3" requires_python = "<3.11.1,>=3.9" summary = "A framework for writing Unstract Tools/Apps" groups = ["default", "dev"] @@ -5048,8 +5048,8 @@ dependencies = [ "transformers==4.37.0", ] files = [ - {file = "unstract_sdk-0.55.0rc2-py3-none-any.whl", hash = "sha256:d3cdd3c06f3b773ecf26f2abc0f71f89e5bbc9748b1ddb0ea5a29c4164c28da3"}, - {file = "unstract_sdk-0.55.0rc2.tar.gz", hash = "sha256:d4cb9a58a7740b01854e372472901761e86e64eca83d6250ff17b047ad25b39c"}, + {file = "unstract_sdk-0.56.0rc3-py3-none-any.whl", hash = "sha256:abc8ee27b4eaa9694f272460b2696ed2798ff60b9b12539d327cdeaacbb02914"}, + {file = "unstract_sdk-0.56.0rc3.tar.gz", hash = "sha256:f09db70f91fe5405918a27b91b3807d812b223dae54b9ad1f688f02a88512bb1"}, ] [[package]] @@ -5065,7 +5065,7 @@ dependencies = [ "docker~=6.1.3", "jsonschema~=4.18.2", "unstract-flags", - "unstract-sdk~=0.55.0rc2", + "unstract-sdk~=0.56.0rc3", "unstract-tool-sandbox", ] diff --git a/backend/pyproject.toml b/backend/pyproject.toml index 8db5dbdf6..c0bb2bd01 100644 --- a/backend/pyproject.toml +++ b/backend/pyproject.toml @@ -32,7 +32,7 @@ dependencies = [ "python-socketio==5.9.0", # For log_events "social-auth-app-django==5.3.0", # For OAuth "social-auth-core==4.4.2", # For OAuth - "unstract-sdk~=0.55.0rc2", + "unstract-sdk~=0.56.0rc3", # ! IMPORTANT! # Indirect local dependencies usually need to be added in their own projects # as: https://pdm-project.org/latest/usage/dependency/#local-dependencies. diff --git a/backend/sample.env b/backend/sample.env index 352a37450..2ee45e4ad 100644 --- a/backend/sample.env +++ b/backend/sample.env @@ -82,9 +82,9 @@ REMOTE_PROMPT_STUDIO_FILE_PATH= # Structure Tool Image (Runs prompt studio exported tools) # https://hub.docker.com/r/unstract/tool-structure -STRUCTURE_TOOL_IMAGE_URL="docker:unstract/tool-structure:0.0.56" +STRUCTURE_TOOL_IMAGE_URL="docker:unstract/tool-structure:0.0.59" STRUCTURE_TOOL_IMAGE_NAME="unstract/tool-structure" -STRUCTURE_TOOL_IMAGE_TAG="0.0.56" +STRUCTURE_TOOL_IMAGE_TAG="0.0.59" # Feature Flags EVALUATION_SERVER_IP=unstract-flipt diff --git a/pdm.lock b/pdm.lock index dc76f849c..584b93e1e 100644 --- a/pdm.lock +++ b/pdm.lock @@ -2,10 +2,10 @@ # It is not intended for manual editing. [metadata] -groups = ["default", "lint", "hook-check-django-migrations"] +groups = ["default", "hook-check-django-migrations", "lint"] strategy = ["cross_platform", "inherit_metadata"] lock_version = "4.4.2" -content_hash = "sha256:57c9799f6208a76092e6b89d1ed443da20b3e27658ae856756b48696bf739fea" +content_hash = "sha256:d993c122bcfa80cbba27d8290731522e4fe18415b2054ca313bab38e994513ae" [[package]] name = "adlfs" @@ -190,7 +190,7 @@ files = [ [[package]] name = "anthropic" -version = "0.43.0" +version = "0.45.0" requires_python = ">=3.8" summary = "The official Python library for the anthropic API" groups = ["hook-check-django-migrations"] @@ -204,26 +204,26 @@ dependencies = [ "typing-extensions<5,>=4.10", ] files = [ - {file = "anthropic-0.43.0-py3-none-any.whl", hash = "sha256:f748a703f77b3244975e1aace3a935840dc653a4714fb6bba644f97cc76847b4"}, - {file = "anthropic-0.43.0.tar.gz", hash = "sha256:06801f01d317a431d883230024318d48981758058bf7e079f33fb11f64b5a5c1"}, + {file = "anthropic-0.45.0-py3-none-any.whl", hash = "sha256:f36aff71d2c232945e64d1970be68a91b05a2ef5e3afa6c1ff195c3303a95ad3"}, + {file = "anthropic-0.45.0.tar.gz", hash = "sha256:4e8541dc355332090bfc51b84549c19b649a13a23dbd6bd68e1d012e08551025"}, ] [[package]] name = "anthropic" -version = "0.43.0" +version = "0.45.0" extras = ["bedrock", "vertex"] requires_python = ">=3.8" summary = "The official Python library for the anthropic API" groups = ["hook-check-django-migrations"] dependencies = [ - "anthropic==0.43.0", + "anthropic==0.45.0", "boto3>=1.28.57", "botocore>=1.31.57", "google-auth<3,>=2", ] files = [ - {file = "anthropic-0.43.0-py3-none-any.whl", hash = "sha256:f748a703f77b3244975e1aace3a935840dc653a4714fb6bba644f97cc76847b4"}, - {file = "anthropic-0.43.0.tar.gz", hash = "sha256:06801f01d317a431d883230024318d48981758058bf7e079f33fb11f64b5a5c1"}, + {file = "anthropic-0.45.0-py3-none-any.whl", hash = "sha256:f36aff71d2c232945e64d1970be68a91b05a2ef5e3afa6c1ff195c3303a95ad3"}, + {file = "anthropic-0.45.0.tar.gz", hash = "sha256:4e8541dc355332090bfc51b84549c19b649a13a23dbd6bd68e1d012e08551025"}, ] [[package]] @@ -417,7 +417,7 @@ files = [ [[package]] name = "azure-storage-blob" -version = "12.24.0" +version = "12.24.1" requires_python = ">=3.8" summary = "Microsoft Azure Blob Storage Client Library for Python" groups = ["hook-check-django-migrations"] @@ -428,8 +428,8 @@ dependencies = [ "typing-extensions>=4.6.0", ] files = [ - {file = "azure_storage_blob-12.24.0-py3-none-any.whl", hash = "sha256:4f0bb4592ea79a2d986063696514c781c9e62be240f09f6397986e01755bc071"}, - {file = "azure_storage_blob-12.24.0.tar.gz", hash = "sha256:eaaaa1507c8c363d6e1d1342bd549938fdf1adec9b1ada8658c8f5bf3aea844e"}, + {file = "azure_storage_blob-12.24.1-py3-none-any.whl", hash = "sha256:77fb823fdbac7f3c11f7d86a5892e2f85e161e8440a7489babe2195bf248f09e"}, + {file = "azure_storage_blob-12.24.1.tar.gz", hash = "sha256:052b2a1ea41725ba12e2f4f17be85a54df1129e13ea0321f5a2fcc851cbf47d4"}, ] [[package]] @@ -606,13 +606,13 @@ files = [ [[package]] name = "cachetools" -version = "5.5.0" +version = "5.5.1" requires_python = ">=3.7" summary = "Extensible memoizing collections and decorators" groups = ["hook-check-django-migrations"] files = [ - {file = "cachetools-5.5.0-py3-none-any.whl", hash = "sha256:02134e8439cdc2ffb62023ce1debca2944c3f289d66bb17ead3ab3dede74b292"}, - {file = "cachetools-5.5.0.tar.gz", hash = "sha256:2cc24fb4cbe39633fb7badd9db9ca6295d766d9c2995f245725a46715d050f2a"}, + {file = "cachetools-5.5.1-py3-none-any.whl", hash = "sha256:b76651fdc3b24ead3c648bbdeeb940c1b04d365b38b4af66788f9ec4a81d42bb"}, + {file = "cachetools-5.5.1.tar.gz", hash = "sha256:70f238fbba50383ef62e55c6aff6d9673175fe59f7c6782c7a0b9e38f4a9df95"}, ] [[package]] @@ -1187,13 +1187,13 @@ files = [ [[package]] name = "filelock" -version = "3.16.1" -requires_python = ">=3.8" +version = "3.17.0" +requires_python = ">=3.9" summary = "A platform independent file lock." groups = ["hook-check-django-migrations", "lint"] files = [ - {file = "filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0"}, - {file = "filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"}, + {file = "filelock-3.17.0-py3-none-any.whl", hash = "sha256:533dc2f7ba78dc2f0f531fc6c4940addf7b70a481e269a5a3b93be94ffbe8338"}, + {file = "filelock-3.17.0.tar.gz", hash = "sha256:ee4e77401ef576ebb38cd7f13b9b28893194acc20a8e68e18730ba9c0e54660e"}, ] [[package]] @@ -1368,7 +1368,7 @@ files = [ [[package]] name = "google-api-core" -version = "2.24.0" +version = "2.24.1rc1" requires_python = ">=3.7" summary = "Google API client core library" groups = ["hook-check-django-migrations"] @@ -1380,27 +1380,27 @@ dependencies = [ "requests<3.0.0.dev0,>=2.18.0", ] files = [ - {file = "google_api_core-2.24.0-py3-none-any.whl", hash = "sha256:10d82ac0fca69c82a25b3efdeefccf6f28e02ebb97925a8cce8edbfe379929d9"}, - {file = "google_api_core-2.24.0.tar.gz", hash = "sha256:e255640547a597a4da010876d333208ddac417d60add22b6851a0c66a831fcaf"}, + {file = "google_api_core-2.24.1rc1-py3-none-any.whl", hash = "sha256:92ee3eed90a397a9f4dd13c034a36cbe7dba2a58e01e5668619847b68a527b73"}, + {file = "google_api_core-2.24.1rc1.tar.gz", hash = "sha256:d1cf8265c8b0b171a87d84adc8709a5e48147ca529d6f96d6a2be613a195eb78"}, ] [[package]] name = "google-api-core" -version = "2.24.0" +version = "2.24.1rc1" extras = ["grpc"] requires_python = ">=3.7" summary = "Google API client core library" groups = ["hook-check-django-migrations"] dependencies = [ - "google-api-core==2.24.0", + "google-api-core==2.24.1rc1", "grpcio-status<2.0.dev0,>=1.33.2", "grpcio-status<2.0.dev0,>=1.49.1; python_version >= \"3.11\"", "grpcio<2.0dev,>=1.33.2", "grpcio<2.0dev,>=1.49.1; python_version >= \"3.11\"", ] files = [ - {file = "google_api_core-2.24.0-py3-none-any.whl", hash = "sha256:10d82ac0fca69c82a25b3efdeefccf6f28e02ebb97925a8cce8edbfe379929d9"}, - {file = "google_api_core-2.24.0.tar.gz", hash = "sha256:e255640547a597a4da010876d333208ddac417d60add22b6851a0c66a831fcaf"}, + {file = "google_api_core-2.24.1rc1-py3-none-any.whl", hash = "sha256:92ee3eed90a397a9f4dd13c034a36cbe7dba2a58e01e5668619847b68a527b73"}, + {file = "google_api_core-2.24.1rc1.tar.gz", hash = "sha256:d1cf8265c8b0b171a87d84adc8709a5e48147ca529d6f96d6a2be613a195eb78"}, ] [[package]] @@ -1470,7 +1470,7 @@ files = [ [[package]] name = "google-cloud-aiplatform" -version = "1.77.0" +version = "1.78.0" requires_python = ">=3.8" summary = "Vertex AI API client library" groups = ["hook-check-django-migrations"] @@ -1489,8 +1489,8 @@ dependencies = [ "typing-extensions", ] files = [ - {file = "google_cloud_aiplatform-1.77.0-py2.py3-none-any.whl", hash = "sha256:e9dd1bcb1b9a85eddd452916cd6ad1d9ce2d487772a9e45b1814aa0ac5633689"}, - {file = "google_cloud_aiplatform-1.77.0.tar.gz", hash = "sha256:1e5b77fe6c7f276d7aae65bcf08a273122a71f6c4af1f43cf45821f603a74080"}, + {file = "google_cloud_aiplatform-1.78.0-py2.py3-none-any.whl", hash = "sha256:e2663b715bdeb5f4c9bf72defc5bd9abdb182048b012b83231dd0708dbc8b7ba"}, + {file = "google_cloud_aiplatform-1.78.0.tar.gz", hash = "sha256:c42a8e9981afb7964d14c3109e1eae0892785c746235acb1f990cdfd40ce9d13"}, ] [[package]] @@ -1872,13 +1872,13 @@ files = [ [[package]] name = "hpack" -version = "4.0.0" -requires_python = ">=3.6.1" -summary = "Pure-Python HPACK header compression" +version = "4.1.0" +requires_python = ">=3.9" +summary = "Pure-Python HPACK header encoding" groups = ["hook-check-django-migrations"] files = [ - {file = "hpack-4.0.0-py3-none-any.whl", hash = "sha256:84a076fad3dc9a9f8063ccb8041ef100867b1878b25ef0ee63847a5d53818a6c"}, - {file = "hpack-4.0.0.tar.gz", hash = "sha256:fc41de0c63e687ebffde81187a948221294896f6bdc0ae2312708df339430095"}, + {file = "hpack-4.1.0-py3-none-any.whl", hash = "sha256:157ac792668d995c657d93111f46b4535ed114f0c9c8d672271bbec7eae1b496"}, + {file = "hpack-4.1.0.tar.gz", hash = "sha256:ec5eca154f7056aa06f196a557655c5b009b382873ac8d1e66e79e87535f1dca"}, ] [[package]] @@ -1966,24 +1966,24 @@ files = [ [[package]] name = "hyperframe" -version = "6.0.1" -requires_python = ">=3.6.1" -summary = "HTTP/2 framing layer for Python" +version = "6.1.0" +requires_python = ">=3.9" +summary = "Pure-Python HTTP/2 framing" groups = ["hook-check-django-migrations"] files = [ - {file = "hyperframe-6.0.1-py3-none-any.whl", hash = "sha256:0ec6bafd80d8ad2195c4f03aacba3a8265e57bc4cff261e802bf39970ed02a15"}, - {file = "hyperframe-6.0.1.tar.gz", hash = "sha256:ae510046231dc8e9ecb1a6586f63d2347bf4c8905914aa84ba585ae85f28a914"}, + {file = "hyperframe-6.1.0-py3-none-any.whl", hash = "sha256:b03380493a519fce58ea5af42e4a42317bf9bd425596f7a0835ffce80f1a42e5"}, + {file = "hyperframe-6.1.0.tar.gz", hash = "sha256:f630908a00854a7adeabd6382b43923a4c4cd4b821fcb527e6ab9e15382a3b08"}, ] [[package]] name = "identify" -version = "2.6.5" +version = "2.6.6" requires_python = ">=3.9" summary = "File identification library for Python" groups = ["lint"] files = [ - {file = "identify-2.6.5-py2.py3-none-any.whl", hash = "sha256:14181a47091eb75b337af4c23078c9d09225cd4c48929f521f3bf16b09d02566"}, - {file = "identify-2.6.5.tar.gz", hash = "sha256:c10b33f250e5bba374fae86fb57f3adcebf1161bce7cdf92031915fd480c13bc"}, + {file = "identify-2.6.6-py2.py3-none-any.whl", hash = "sha256:cbd1810bce79f8b671ecb20f53ee0ae8e86ae84b557de31d89709dc2a48ba881"}, + {file = "identify-2.6.6.tar.gz", hash = "sha256:7bec12768ed44ea4761efb47806f0a41f86e7c0a5fdf5950d4648c90eca7e251"}, ] [[package]] @@ -2158,7 +2158,7 @@ files = [ [[package]] name = "llama-cloud" -version = "0.1.9" +version = "0.1.10" requires_python = "<4,>=3.8" summary = "" groups = ["hook-check-django-migrations"] @@ -2168,8 +2168,8 @@ dependencies = [ "pydantic>=1.10", ] files = [ - {file = "llama_cloud-0.1.9-py3-none-any.whl", hash = "sha256:792ee316985bbf4dd0294007105a100489d4baba0bcc4f3e16284f0c01d832d4"}, - {file = "llama_cloud-0.1.9.tar.gz", hash = "sha256:fc03bd338a1da04b7607a44d82a62b3eb178d80af05a53653e801d6f8bb67df7"}, + {file = "llama_cloud-0.1.10-py3-none-any.whl", hash = "sha256:d91198ad92ea6c3a25757e5d6cb565b4bd6db385dc4fa596a725c0fb81a68f4e"}, + {file = "llama_cloud-0.1.10.tar.gz", hash = "sha256:56ffe8f2910c2047dd4eb1b13da31ee5f67321a000794eee559e0b56954d2f76"}, ] [[package]] @@ -2231,7 +2231,7 @@ files = [ [[package]] name = "llama-index-core" -version = "0.12.11" +version = "0.12.13" requires_python = "<4.0,>=3.9" summary = "Interface between LLMs and your data" groups = ["hook-check-django-migrations"] @@ -2261,8 +2261,8 @@ dependencies = [ "wrapt", ] files = [ - {file = "llama_index_core-0.12.11-py3-none-any.whl", hash = "sha256:3b1e019c899e9e011dfa01c96b7e3f666e0c161035fbca6cb787b4c61e0c94db"}, - {file = "llama_index_core-0.12.11.tar.gz", hash = "sha256:9a41ca91167ea5eec9ebaac7f5e958b7feddbd8af3bfbf7c393a5edfb994d566"}, + {file = "llama_index_core-0.12.13-py3-none-any.whl", hash = "sha256:9708bb594bbddffd6ff0767242e49d8978d1ba60a2e62e071d9d123ad2f17e6f"}, + {file = "llama_index_core-0.12.13.tar.gz", hash = "sha256:77af0161246ce1de38efc17cb6438dfff9e9558af00bcfac7dd4d0b7325efa4b"}, ] [[package]] @@ -2328,17 +2328,17 @@ files = [ [[package]] name = "llama-index-indices-managed-llama-cloud" -version = "0.6.3" +version = "0.6.4" requires_python = "<4.0,>=3.9" summary = "llama-index indices llama-cloud integration" groups = ["hook-check-django-migrations"] dependencies = [ - "llama-cloud>=0.1.5", + "llama-cloud<0.2.0,>=0.1.8", "llama-index-core<0.13.0,>=0.12.0", ] files = [ - {file = "llama_index_indices_managed_llama_cloud-0.6.3-py3-none-any.whl", hash = "sha256:7f125602f624a2d321b6a4130cd98df35eb8c15818a159390755b2c13068f4ce"}, - {file = "llama_index_indices_managed_llama_cloud-0.6.3.tar.gz", hash = "sha256:f09e4182cbc2a2bd75ae85cebb1681075247f0d91b931b094cac4315386ce87a"}, + {file = "llama_index_indices_managed_llama_cloud-0.6.4-py3-none-any.whl", hash = "sha256:d7e85844a2e343dacebdef424decab3f5fd6361e25b3ff2bdcfb18607c1a49c5"}, + {file = "llama_index_indices_managed_llama_cloud-0.6.4.tar.gz", hash = "sha256:0b45973cb2dc9702122006019bfb556dcabba31b0bdf79afc7b376ca8143df03"}, ] [[package]] @@ -2542,7 +2542,7 @@ files = [ [[package]] name = "llama-index-readers-file" -version = "0.4.3" +version = "0.4.4" requires_python = "<4.0,>=3.9" summary = "llama-index readers file integration" groups = ["hook-check-django-migrations"] @@ -2554,8 +2554,8 @@ dependencies = [ "striprtf<0.0.27,>=0.0.26", ] files = [ - {file = "llama_index_readers_file-0.4.3-py3-none-any.whl", hash = "sha256:c669da967ea534e3af3660f9fd730c71c725288f5c57906bcce338414ebeee5c"}, - {file = "llama_index_readers_file-0.4.3.tar.gz", hash = "sha256:07514bebed7ce431c1b3ef9279d09aa3d1bba8e342d661860a033355b98fb33a"}, + {file = "llama_index_readers_file-0.4.4-py3-none-any.whl", hash = "sha256:01589a4895e2d4abad30294c9b0d2813520ee1f5164922ad92f11e64a1d65d6c"}, + {file = "llama_index_readers_file-0.4.4.tar.gz", hash = "sha256:e076b3fa1e68eea1594d47cec1f64b384fb6067f2697ca8aae22b4a21ad27ca7"}, ] [[package]] @@ -2670,7 +2670,7 @@ files = [ [[package]] name = "marshmallow" -version = "3.25.1" +version = "3.26.0" requires_python = ">=3.9" summary = "A lightweight library for converting complex datatypes to and from native Python datatypes." groups = ["hook-check-django-migrations"] @@ -2678,8 +2678,8 @@ dependencies = [ "packaging>=17.0", ] files = [ - {file = "marshmallow-3.25.1-py3-none-any.whl", hash = "sha256:ec5d00d873ce473b7f2ffcb7104286a376c354cab0c2fa12f5573dab03e87210"}, - {file = "marshmallow-3.25.1.tar.gz", hash = "sha256:f4debda3bb11153d81ac34b0d582bf23053055ee11e791b54b4b35493468040a"}, + {file = "marshmallow-3.26.0-py3-none-any.whl", hash = "sha256:1287bca04e6a5f4094822ac153c03da5e214a0a60bcd557b140f3e66991b8ca1"}, + {file = "marshmallow-3.26.0.tar.gz", hash = "sha256:eb36762a1cc76d7abf831e18a3a1b26d3d481bbc74581b8e532a3d3a8115e1cb"}, ] [[package]] @@ -2978,22 +2978,22 @@ files = [ [[package]] name = "ollama" -version = "0.4.6" +version = "0.4.7" requires_python = "<4.0,>=3.8" summary = "The official Python client for Ollama." groups = ["hook-check-django-migrations"] dependencies = [ - "httpx<0.28.0,>=0.27.0", + "httpx<0.29,>=0.27", "pydantic<3.0.0,>=2.9.0", ] files = [ - {file = "ollama-0.4.6-py3-none-any.whl", hash = "sha256:cbb4ebe009e10dd12bdd82508ab415fd131945e185753d728a7747c9ebe762e9"}, - {file = "ollama-0.4.6.tar.gz", hash = "sha256:b00717651c829f96094ed4231b9f0d87e33cc92dc235aca50aeb5a2a4e6e95b7"}, + {file = "ollama-0.4.7-py3-none-any.whl", hash = "sha256:85505663cca67a83707be5fb3aeff0ea72e67846cea5985529d8eca4366564a1"}, + {file = "ollama-0.4.7.tar.gz", hash = "sha256:891dcbe54f55397d82d289c459de0ea897e103b86a3f1fad0fdb1895922a75ff"}, ] [[package]] name = "openai" -version = "1.59.7" +version = "1.60.0" requires_python = ">=3.8" summary = "The official Python library for the openai API" groups = ["hook-check-django-migrations"] @@ -3008,8 +3008,8 @@ dependencies = [ "typing-extensions<5,>=4.11", ] files = [ - {file = "openai-1.59.7-py3-none-any.whl", hash = "sha256:cfa806556226fa96df7380ab2e29814181d56fea44738c2b0e581b462c268692"}, - {file = "openai-1.59.7.tar.gz", hash = "sha256:043603def78c00befb857df9f0a16ee76a3af5984ba40cb7ee5e2f40db4646bf"}, + {file = "openai-1.60.0-py3-none-any.whl", hash = "sha256:df06c43be8018274980ac363da07d4b417bd835ead1c66e14396f6f15a0d5dda"}, + {file = "openai-1.60.0.tar.gz", hash = "sha256:7fa536cd4b644718645b874d2706e36dbbef38b327e42ca0623275da347ee1a9"}, ] [[package]] @@ -3307,16 +3307,16 @@ files = [ [[package]] name = "prompt-toolkit" -version = "3.0.48" -requires_python = ">=3.7.0" +version = "3.0.50" +requires_python = ">=3.8.0" summary = "Library for building powerful interactive command lines in Python" groups = ["hook-check-django-migrations"] dependencies = [ "wcwidth", ] files = [ - {file = "prompt_toolkit-3.0.48-py3-none-any.whl", hash = "sha256:f49a827f90062e411f1ce1f854f2aedb3c23353244f8108b89283587397ac10e"}, - {file = "prompt_toolkit-3.0.48.tar.gz", hash = "sha256:d6623ab0477a80df74e646bdbc93621143f5caf104206aa29294d53de1a03d90"}, + {file = "prompt_toolkit-3.0.50-py3-none-any.whl", hash = "sha256:9b6427eb19e479d98acff65196a307c555eb567989e6d88ebbb1b509d9779198"}, + {file = "prompt_toolkit-3.0.50.tar.gz", hash = "sha256:544748f3860a2623ca5cd6d2795e7a14f3d0e1c3c9728359013f79877fc89bab"}, ] [[package]] @@ -3380,16 +3380,16 @@ files = [ [[package]] name = "proto-plus" -version = "1.25.0" +version = "1.26.0rc1" requires_python = ">=3.7" -summary = "Beautiful, Pythonic protocol buffers." +summary = "Beautiful, Pythonic protocol buffers" groups = ["hook-check-django-migrations"] dependencies = [ "protobuf<6.0.0dev,>=3.19.0", ] files = [ - {file = "proto_plus-1.25.0-py3-none-any.whl", hash = "sha256:c91fc4a65074ade8e458e95ef8bac34d4008daa7cce4a12d6707066fca648961"}, - {file = "proto_plus-1.25.0.tar.gz", hash = "sha256:fbb17f57f7bd05a68b7707e745e26528b0b3c34e378db91eef93912c54982d91"}, + {file = "proto_plus-1.26.0rc1-py3-none-any.whl", hash = "sha256:a0ad6fbc2e194dbbb813edc22ee2e509a7c38df7ecea2fd2803bce0536eaf0f4"}, + {file = "proto_plus-1.26.0rc1.tar.gz", hash = "sha256:04eeceecd6a038285e2aa8996b53c045d04a568c5c48b7eaa79c097a4984a4c7"}, ] [[package]] @@ -3536,7 +3536,7 @@ files = [ [[package]] name = "pydantic" -version = "2.10.5" +version = "2.10.6" requires_python = ">=3.8" summary = "Data validation using Python type hints" groups = ["hook-check-django-migrations"] @@ -3546,8 +3546,8 @@ dependencies = [ "typing-extensions>=4.12.2", ] files = [ - {file = "pydantic-2.10.5-py3-none-any.whl", hash = "sha256:4dd4e322dbe55472cb7ca7e73f4b63574eecccf2835ffa2af9021ce113c83c53"}, - {file = "pydantic-2.10.5.tar.gz", hash = "sha256:278b38dbbaec562011d659ee05f63346951b3a248a6f3642e1bc68894ea2b4ff"}, + {file = "pydantic-2.10.6-py3-none-any.whl", hash = "sha256:427d664bf0b8a2b34ff5dd0f5a18df00591adcee7198fbd71981054cef37b584"}, + {file = "pydantic-2.10.6.tar.gz", hash = "sha256:ca5daa827cce33de7a42be142548b0096bf05a7e7b365aebfa5f8eeec7128236"}, ] [[package]] @@ -3962,7 +3962,7 @@ files = [ [[package]] name = "qdrant-client" -version = "1.12.2" +version = "1.13.2" requires_python = ">=3.9" summary = "Client library for the Qdrant vector search engine" groups = ["hook-check-django-migrations"] @@ -3977,8 +3977,8 @@ dependencies = [ "urllib3<3,>=1.26.14", ] files = [ - {file = "qdrant_client-1.12.2-py3-none-any.whl", hash = "sha256:a0ae500a46a679ff3521ba3f1f1cf3d72b57090a768cec65fc317066bcbac1e6"}, - {file = "qdrant_client-1.12.2.tar.gz", hash = "sha256:2777e09b3e89bb22bb490384d8b1fa8140f3915287884f18984f7031a346aba5"}, + {file = "qdrant_client-1.13.2-py3-none-any.whl", hash = "sha256:db97e759bd3f8d483a383984ba4c2a158eef56f2188d83df7771591d43de2201"}, + {file = "qdrant_client-1.13.2.tar.gz", hash = "sha256:c8cce87ce67b006f49430a050a35c85b78e3b896c0c756dafc13bdeca543ec13"}, ] [[package]] @@ -3997,17 +3997,18 @@ files = [ [[package]] name = "referencing" -version = "0.35.1" -requires_python = ">=3.8" +version = "0.36.1" +requires_python = ">=3.9" summary = "JSON Referencing + Python" groups = ["hook-check-django-migrations"] dependencies = [ "attrs>=22.2.0", "rpds-py>=0.7.0", + "typing-extensions>=4.4.0; python_version < \"3.13\"", ] files = [ - {file = "referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de"}, - {file = "referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c"}, + {file = "referencing-0.36.1-py3-none-any.whl", hash = "sha256:363d9c65f080d0d70bc41c721dce3c7f3e77fc09f269cd5c8813da18069a6794"}, + {file = "referencing-0.36.1.tar.gz", hash = "sha256:ca2e6492769e3602957e9b831b94211599d2aade9477f5d44110d2530cf9aade"}, ] [[package]] @@ -4933,13 +4934,13 @@ files = [ [[package]] name = "tzdata" -version = "2024.2" +version = "2025.1" requires_python = ">=2" summary = "Provider of IANA time zone data" groups = ["hook-check-django-migrations"] files = [ - {file = "tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd"}, - {file = "tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc"}, + {file = "tzdata-2025.1-py2.py3-none-any.whl", hash = "sha256:7e127113816800496f027041c570f50bcd464a020098a3b6b199517772303639"}, + {file = "tzdata-2025.1.tar.gz", hash = "sha256:24894909e88cdb28bd1636c6887801df64cb485bd593f2fd83ef29075a81d694"}, ] [[package]] @@ -5055,7 +5056,7 @@ path = "./unstract/filesystem" summary = "Unstract filesystem package" groups = ["hook-check-django-migrations"] dependencies = [ - "unstract-sdk~=0.55.0rc2", + "unstract-sdk~=0.56.0rc3", ] [[package]] @@ -5073,7 +5074,7 @@ dependencies = [ [[package]] name = "unstract-sdk" -version = "0.55.0rc2" +version = "0.56.0rc3" requires_python = "<3.11.1,>=3.9" summary = "A framework for writing Unstract Tools/Apps" groups = ["hook-check-django-migrations"] @@ -5112,8 +5113,8 @@ dependencies = [ "transformers==4.37.0", ] files = [ - {file = "unstract_sdk-0.55.0rc2-py3-none-any.whl", hash = "sha256:d3cdd3c06f3b773ecf26f2abc0f71f89e5bbc9748b1ddb0ea5a29c4164c28da3"}, - {file = "unstract_sdk-0.55.0rc2.tar.gz", hash = "sha256:d4cb9a58a7740b01854e372472901761e86e64eca83d6250ff17b047ad25b39c"}, + {file = "unstract_sdk-0.56.0rc3-py3-none-any.whl", hash = "sha256:abc8ee27b4eaa9694f272460b2696ed2798ff60b9b12539d327cdeaacbb02914"}, + {file = "unstract_sdk-0.56.0rc3.tar.gz", hash = "sha256:f09db70f91fe5405918a27b91b3807d812b223dae54b9ad1f688f02a88512bb1"}, ] [[package]] @@ -5129,7 +5130,7 @@ dependencies = [ "docker~=6.1.3", "jsonschema~=4.18.2", "unstract-flags", - "unstract-sdk~=0.55.0rc2", + "unstract-sdk~=0.56.0rc3", "unstract-tool-sandbox", ] @@ -5207,7 +5208,7 @@ files = [ [[package]] name = "virtualenv" -version = "20.29.0" +version = "20.29.1" requires_python = ">=3.8" summary = "Virtual Python Environment builder" groups = ["lint"] @@ -5217,8 +5218,8 @@ dependencies = [ "platformdirs<5,>=3.9.1", ] files = [ - {file = "virtualenv-20.29.0-py3-none-any.whl", hash = "sha256:c12311863497992dc4b8644f8ea82d3b35bb7ef8ee82e6630d76d0197c39baf9"}, - {file = "virtualenv-20.29.0.tar.gz", hash = "sha256:6345e1ff19d4b1296954cee076baaf58ff2a12a84a338c62b02eda39f20aa982"}, + {file = "virtualenv-20.29.1-py3-none-any.whl", hash = "sha256:4e4cb403c0b0da39e13b46b1b2476e505cb0046b25f242bee80f62bf990b2779"}, + {file = "virtualenv-20.29.1.tar.gz", hash = "sha256:b8b8970138d32fb606192cb97f6cd4bb644fa486be9308fb9b63f81091b5dc35"}, ] [[package]] diff --git a/platform-service/pdm.lock b/platform-service/pdm.lock index a34d3d8cd..332594542 100644 --- a/platform-service/pdm.lock +++ b/platform-service/pdm.lock @@ -5,7 +5,7 @@ groups = ["default", "deploy", "test"] strategy = ["cross_platform", "inherit_metadata"] lock_version = "4.4.2" -content_hash = "sha256:bd8d6f7345ff039addf61d61a74a713cdf3914365cf35ac42f997944149a0380" +content_hash = "sha256:9940aa58ddcb8af9387e35b778efcac832eb0a5fcaff4c6f50edde59f5f49d96" [[package]] name = "aiohappyeyeballs" @@ -110,7 +110,7 @@ files = [ [[package]] name = "anthropic" -version = "0.43.0" +version = "0.45.0" requires_python = ">=3.8" summary = "The official Python library for the anthropic API" groups = ["default"] @@ -124,26 +124,26 @@ dependencies = [ "typing-extensions<5,>=4.10", ] files = [ - {file = "anthropic-0.43.0-py3-none-any.whl", hash = "sha256:f748a703f77b3244975e1aace3a935840dc653a4714fb6bba644f97cc76847b4"}, - {file = "anthropic-0.43.0.tar.gz", hash = "sha256:06801f01d317a431d883230024318d48981758058bf7e079f33fb11f64b5a5c1"}, + {file = "anthropic-0.45.0-py3-none-any.whl", hash = "sha256:f36aff71d2c232945e64d1970be68a91b05a2ef5e3afa6c1ff195c3303a95ad3"}, + {file = "anthropic-0.45.0.tar.gz", hash = "sha256:4e8541dc355332090bfc51b84549c19b649a13a23dbd6bd68e1d012e08551025"}, ] [[package]] name = "anthropic" -version = "0.43.0" +version = "0.45.0" extras = ["bedrock", "vertex"] requires_python = ">=3.8" summary = "The official Python library for the anthropic API" groups = ["default"] dependencies = [ - "anthropic==0.43.0", + "anthropic==0.45.0", "boto3>=1.28.57", "botocore>=1.31.57", "google-auth<3,>=2", ] files = [ - {file = "anthropic-0.43.0-py3-none-any.whl", hash = "sha256:f748a703f77b3244975e1aace3a935840dc653a4714fb6bba644f97cc76847b4"}, - {file = "anthropic-0.43.0.tar.gz", hash = "sha256:06801f01d317a431d883230024318d48981758058bf7e079f33fb11f64b5a5c1"}, + {file = "anthropic-0.45.0-py3-none-any.whl", hash = "sha256:f36aff71d2c232945e64d1970be68a91b05a2ef5e3afa6c1ff195c3303a95ad3"}, + {file = "anthropic-0.45.0.tar.gz", hash = "sha256:4e8541dc355332090bfc51b84549c19b649a13a23dbd6bd68e1d012e08551025"}, ] [[package]] @@ -298,23 +298,23 @@ files = [ [[package]] name = "boto3" -version = "1.36.0" +version = "1.36.5" requires_python = ">=3.8" summary = "The AWS SDK for Python" groups = ["default"] dependencies = [ - "botocore<1.37.0,>=1.36.0", + "botocore<1.37.0,>=1.36.5", "jmespath<2.0.0,>=0.7.1", "s3transfer<0.12.0,>=0.11.0", ] files = [ - {file = "boto3-1.36.0-py3-none-any.whl", hash = "sha256:d0ca7a58ce25701a52232cc8df9d87854824f1f2964b929305722ebc7959d5a9"}, - {file = "boto3-1.36.0.tar.gz", hash = "sha256:159898f51c2997a12541c0e02d6e5a8fe2993ddb307b9478fd9a339f98b57e00"}, + {file = "boto3-1.36.5-py3-none-any.whl", hash = "sha256:a404ad5ec94ff40c176215a991bf62f0db5514a93a3dd361b7b2ab9660f811f4"}, + {file = "boto3-1.36.5.tar.gz", hash = "sha256:58a6b7c3d5145b3ac04d4b6caa76223b8ef88004b4237444e553041e29581a11"}, ] [[package]] name = "botocore" -version = "1.36.0" +version = "1.36.5" requires_python = ">=3.8" summary = "Low-level, data-driven core of boto 3." groups = ["default"] @@ -325,19 +325,19 @@ dependencies = [ "urllib3<1.27,>=1.25.4; python_version < \"3.10\"", ] files = [ - {file = "botocore-1.36.0-py3-none-any.whl", hash = "sha256:b54b11f0cfc47fc1243ada0f7f461266c279968487616720fa8ebb02183917d7"}, - {file = "botocore-1.36.0.tar.gz", hash = "sha256:0232029ff9ae3f5b50cdb25cbd257c16f87402b6d31a05bd6483638ee6434c4b"}, + {file = "botocore-1.36.5-py3-none-any.whl", hash = "sha256:6d9f70afa9bf9d21407089dc22b8cc8ec6fa44866d4660858c062c74fc8555eb"}, + {file = "botocore-1.36.5.tar.gz", hash = "sha256:234ed3d29a8954c37a551c933453bf14c6ae44a69a4f273ffef377a2612ca6a6"}, ] [[package]] name = "cachetools" -version = "5.5.0" +version = "5.5.1" requires_python = ">=3.7" summary = "Extensible memoizing collections and decorators" groups = ["default"] files = [ - {file = "cachetools-5.5.0-py3-none-any.whl", hash = "sha256:02134e8439cdc2ffb62023ce1debca2944c3f289d66bb17ead3ab3dede74b292"}, - {file = "cachetools-5.5.0.tar.gz", hash = "sha256:2cc24fb4cbe39633fb7badd9db9ca6295d766d9c2995f245725a46715d050f2a"}, + {file = "cachetools-5.5.1-py3-none-any.whl", hash = "sha256:b76651fdc3b24ead3c648bbdeeb940c1b04d365b38b4af66788f9ec4a81d42bb"}, + {file = "cachetools-5.5.1.tar.gz", hash = "sha256:70f238fbba50383ef62e55c6aff6d9673175fe59f7c6782c7a0b9e38f4a9df95"}, ] [[package]] @@ -628,13 +628,13 @@ files = [ [[package]] name = "filelock" -version = "3.16.1" -requires_python = ">=3.8" +version = "3.17.0" +requires_python = ">=3.9" summary = "A platform independent file lock." groups = ["default"] files = [ - {file = "filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0"}, - {file = "filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"}, + {file = "filelock-3.17.0-py3-none-any.whl", hash = "sha256:533dc2f7ba78dc2f0f531fc6c4940addf7b70a481e269a5a3b93be94ffbe8338"}, + {file = "filelock-3.17.0.tar.gz", hash = "sha256:ee4e77401ef576ebb38cd7f13b9b28893194acc20a8e68e18730ba9c0e54660e"}, ] [[package]] @@ -772,7 +772,7 @@ files = [ [[package]] name = "google-api-core" -version = "2.24.0" +version = "2.24.1rc1" requires_python = ">=3.7" summary = "Google API client core library" groups = ["default"] @@ -784,27 +784,27 @@ dependencies = [ "requests<3.0.0.dev0,>=2.18.0", ] files = [ - {file = "google_api_core-2.24.0-py3-none-any.whl", hash = "sha256:10d82ac0fca69c82a25b3efdeefccf6f28e02ebb97925a8cce8edbfe379929d9"}, - {file = "google_api_core-2.24.0.tar.gz", hash = "sha256:e255640547a597a4da010876d333208ddac417d60add22b6851a0c66a831fcaf"}, + {file = "google_api_core-2.24.1rc1-py3-none-any.whl", hash = "sha256:92ee3eed90a397a9f4dd13c034a36cbe7dba2a58e01e5668619847b68a527b73"}, + {file = "google_api_core-2.24.1rc1.tar.gz", hash = "sha256:d1cf8265c8b0b171a87d84adc8709a5e48147ca529d6f96d6a2be613a195eb78"}, ] [[package]] name = "google-api-core" -version = "2.24.0" +version = "2.24.1rc1" extras = ["grpc"] requires_python = ">=3.7" summary = "Google API client core library" groups = ["default"] dependencies = [ - "google-api-core==2.24.0", + "google-api-core==2.24.1rc1", "grpcio-status<2.0.dev0,>=1.33.2", "grpcio-status<2.0.dev0,>=1.49.1; python_version >= \"3.11\"", "grpcio<2.0dev,>=1.33.2", "grpcio<2.0dev,>=1.49.1; python_version >= \"3.11\"", ] files = [ - {file = "google_api_core-2.24.0-py3-none-any.whl", hash = "sha256:10d82ac0fca69c82a25b3efdeefccf6f28e02ebb97925a8cce8edbfe379929d9"}, - {file = "google_api_core-2.24.0.tar.gz", hash = "sha256:e255640547a597a4da010876d333208ddac417d60add22b6851a0c66a831fcaf"}, + {file = "google_api_core-2.24.1rc1-py3-none-any.whl", hash = "sha256:92ee3eed90a397a9f4dd13c034a36cbe7dba2a58e01e5668619847b68a527b73"}, + {file = "google_api_core-2.24.1rc1.tar.gz", hash = "sha256:d1cf8265c8b0b171a87d84adc8709a5e48147ca529d6f96d6a2be613a195eb78"}, ] [[package]] @@ -827,7 +827,7 @@ files = [ [[package]] name = "google-auth" -version = "2.37.0" +version = "2.38.0" requires_python = ">=3.7" summary = "Google Authentication Library" groups = ["default"] @@ -837,8 +837,8 @@ dependencies = [ "rsa<5,>=3.1.4", ] files = [ - {file = "google_auth-2.37.0-py2.py3-none-any.whl", hash = "sha256:42664f18290a6be591be5329a96fe30184be1a1badb7292a7f686a9659de9ca0"}, - {file = "google_auth-2.37.0.tar.gz", hash = "sha256:0054623abf1f9c83492c63d3f47e77f0a544caa3d40b2d98e099a611c2dd5d00"}, + {file = "google_auth-2.38.0-py2.py3-none-any.whl", hash = "sha256:e7dae6694313f434a2727bf2906f27ad259bae090d7aa896590d86feec3d9d4a"}, + {file = "google_auth-2.38.0.tar.gz", hash = "sha256:8285113607d3b80a3f1543b75962447ba8a09fe85783432a784fdeef6ac094c4"}, ] [[package]] @@ -872,7 +872,7 @@ files = [ [[package]] name = "google-cloud-aiplatform" -version = "1.77.0" +version = "1.78.0" requires_python = ">=3.8" summary = "Vertex AI API client library" groups = ["default"] @@ -891,13 +891,13 @@ dependencies = [ "typing-extensions", ] files = [ - {file = "google_cloud_aiplatform-1.77.0-py2.py3-none-any.whl", hash = "sha256:e9dd1bcb1b9a85eddd452916cd6ad1d9ce2d487772a9e45b1814aa0ac5633689"}, - {file = "google_cloud_aiplatform-1.77.0.tar.gz", hash = "sha256:1e5b77fe6c7f276d7aae65bcf08a273122a71f6c4af1f43cf45821f603a74080"}, + {file = "google_cloud_aiplatform-1.78.0-py2.py3-none-any.whl", hash = "sha256:e2663b715bdeb5f4c9bf72defc5bd9abdb182048b012b83231dd0708dbc8b7ba"}, + {file = "google_cloud_aiplatform-1.78.0.tar.gz", hash = "sha256:c42a8e9981afb7964d14c3109e1eae0892785c746235acb1f990cdfd40ce9d13"}, ] [[package]] name = "google-cloud-bigquery" -version = "3.28.0" +version = "3.29.0" requires_python = ">=3.7" summary = "Google BigQuery API client library" groups = ["default"] @@ -911,8 +911,8 @@ dependencies = [ "requests<3.0.0dev,>=2.21.0", ] files = [ - {file = "google_cloud_bigquery-3.28.0-py2.py3-none-any.whl", hash = "sha256:29a0ed6ea19eab9bf59429f66d7a2b20ebea78597e76ed6fb653a581486e90c8"}, - {file = "google_cloud_bigquery-3.28.0.tar.gz", hash = "sha256:161f9f424400f7bd0a4885ee80027f0030f4f5ff6feaaa1c30bb12c2c5a0e783"}, + {file = "google_cloud_bigquery-3.29.0-py2.py3-none-any.whl", hash = "sha256:5453a4eabe50118254eda9778f3d7dad413490de5f7046b5e66c98f5a1580308"}, + {file = "google_cloud_bigquery-3.29.0.tar.gz", hash = "sha256:fafc2b455ffce3bcc6ce0e884184ef50b6a11350a83b91e327fadda4d5566e72"}, ] [[package]] @@ -1268,13 +1268,13 @@ files = [ [[package]] name = "hpack" -version = "4.0.0" -requires_python = ">=3.6.1" -summary = "Pure-Python HPACK header compression" +version = "4.1.0" +requires_python = ">=3.9" +summary = "Pure-Python HPACK header encoding" groups = ["default"] files = [ - {file = "hpack-4.0.0-py3-none-any.whl", hash = "sha256:84a076fad3dc9a9f8063ccb8041ef100867b1878b25ef0ee63847a5d53818a6c"}, - {file = "hpack-4.0.0.tar.gz", hash = "sha256:fc41de0c63e687ebffde81187a948221294896f6bdc0ae2312708df339430095"}, + {file = "hpack-4.1.0-py3-none-any.whl", hash = "sha256:157ac792668d995c657d93111f46b4535ed114f0c9c8d672271bbec7eae1b496"}, + {file = "hpack-4.1.0.tar.gz", hash = "sha256:ec5eca154f7056aa06f196a557655c5b009b382873ac8d1e66e79e87535f1dca"}, ] [[package]] @@ -1362,13 +1362,13 @@ files = [ [[package]] name = "hyperframe" -version = "6.0.1" -requires_python = ">=3.6.1" -summary = "HTTP/2 framing layer for Python" +version = "6.1.0" +requires_python = ">=3.9" +summary = "Pure-Python HTTP/2 framing" groups = ["default"] files = [ - {file = "hyperframe-6.0.1-py3-none-any.whl", hash = "sha256:0ec6bafd80d8ad2195c4f03aacba3a8265e57bc4cff261e802bf39970ed02a15"}, - {file = "hyperframe-6.0.1.tar.gz", hash = "sha256:ae510046231dc8e9ecb1a6586f63d2347bf4c8905914aa84ba585ae85f28a914"}, + {file = "hyperframe-6.1.0-py3-none-any.whl", hash = "sha256:b03380493a519fce58ea5af42e4a42317bf9bd425596f7a0835ffce80f1a42e5"}, + {file = "hyperframe-6.1.0.tar.gz", hash = "sha256:f630908a00854a7adeabd6382b43923a4c4cd4b821fcb527e6ab9e15382a3b08"}, ] [[package]] @@ -1384,8 +1384,8 @@ files = [ [[package]] name = "importlib-metadata" -version = "8.5.0" -requires_python = ">=3.8" +version = "8.6.1" +requires_python = ">=3.9" summary = "Read metadata from Python packages" groups = ["default"] marker = "python_version < \"3.10\"" @@ -1393,8 +1393,8 @@ dependencies = [ "zipp>=3.20", ] files = [ - {file = "importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b"}, - {file = "importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7"}, + {file = "importlib_metadata-8.6.1-py3-none-any.whl", hash = "sha256:02a89390c1e15fdfdc0d7c6b25cb3e62650d0494005c97d6f148bf5b9787525e"}, + {file = "importlib_metadata-8.6.1.tar.gz", hash = "sha256:310b41d755445d74569f993ccfc22838295d9fe005425094fad953d7f15c8580"}, ] [[package]] @@ -1545,7 +1545,7 @@ files = [ [[package]] name = "llama-cloud" -version = "0.1.9" +version = "0.1.10" requires_python = "<4,>=3.8" summary = "" groups = ["default"] @@ -1555,8 +1555,8 @@ dependencies = [ "pydantic>=1.10", ] files = [ - {file = "llama_cloud-0.1.9-py3-none-any.whl", hash = "sha256:792ee316985bbf4dd0294007105a100489d4baba0bcc4f3e16284f0c01d832d4"}, - {file = "llama_cloud-0.1.9.tar.gz", hash = "sha256:fc03bd338a1da04b7607a44d82a62b3eb178d80af05a53653e801d6f8bb67df7"}, + {file = "llama_cloud-0.1.10-py3-none-any.whl", hash = "sha256:d91198ad92ea6c3a25757e5d6cb565b4bd6db385dc4fa596a725c0fb81a68f4e"}, + {file = "llama_cloud-0.1.10.tar.gz", hash = "sha256:56ffe8f2910c2047dd4eb1b13da31ee5f67321a000794eee559e0b56954d2f76"}, ] [[package]] @@ -1618,7 +1618,7 @@ files = [ [[package]] name = "llama-index-core" -version = "0.12.11" +version = "0.12.13" requires_python = "<4.0,>=3.9" summary = "Interface between LLMs and your data" groups = ["default"] @@ -1648,8 +1648,8 @@ dependencies = [ "wrapt", ] files = [ - {file = "llama_index_core-0.12.11-py3-none-any.whl", hash = "sha256:3b1e019c899e9e011dfa01c96b7e3f666e0c161035fbca6cb787b4c61e0c94db"}, - {file = "llama_index_core-0.12.11.tar.gz", hash = "sha256:9a41ca91167ea5eec9ebaac7f5e958b7feddbd8af3bfbf7c393a5edfb994d566"}, + {file = "llama_index_core-0.12.13-py3-none-any.whl", hash = "sha256:9708bb594bbddffd6ff0767242e49d8978d1ba60a2e62e071d9d123ad2f17e6f"}, + {file = "llama_index_core-0.12.13.tar.gz", hash = "sha256:77af0161246ce1de38efc17cb6438dfff9e9558af00bcfac7dd4d0b7325efa4b"}, ] [[package]] @@ -1715,17 +1715,17 @@ files = [ [[package]] name = "llama-index-indices-managed-llama-cloud" -version = "0.6.3" +version = "0.6.4" requires_python = "<4.0,>=3.9" summary = "llama-index indices llama-cloud integration" groups = ["default"] dependencies = [ - "llama-cloud>=0.1.5", + "llama-cloud<0.2.0,>=0.1.8", "llama-index-core<0.13.0,>=0.12.0", ] files = [ - {file = "llama_index_indices_managed_llama_cloud-0.6.3-py3-none-any.whl", hash = "sha256:7f125602f624a2d321b6a4130cd98df35eb8c15818a159390755b2c13068f4ce"}, - {file = "llama_index_indices_managed_llama_cloud-0.6.3.tar.gz", hash = "sha256:f09e4182cbc2a2bd75ae85cebb1681075247f0d91b931b094cac4315386ce87a"}, + {file = "llama_index_indices_managed_llama_cloud-0.6.4-py3-none-any.whl", hash = "sha256:d7e85844a2e343dacebdef424decab3f5fd6361e25b3ff2bdcfb18607c1a49c5"}, + {file = "llama_index_indices_managed_llama_cloud-0.6.4.tar.gz", hash = "sha256:0b45973cb2dc9702122006019bfb556dcabba31b0bdf79afc7b376ca8143df03"}, ] [[package]] @@ -1929,7 +1929,7 @@ files = [ [[package]] name = "llama-index-readers-file" -version = "0.4.3" +version = "0.4.4" requires_python = "<4.0,>=3.9" summary = "llama-index readers file integration" groups = ["default"] @@ -1941,8 +1941,8 @@ dependencies = [ "striprtf<0.0.27,>=0.0.26", ] files = [ - {file = "llama_index_readers_file-0.4.3-py3-none-any.whl", hash = "sha256:c669da967ea534e3af3660f9fd730c71c725288f5c57906bcce338414ebeee5c"}, - {file = "llama_index_readers_file-0.4.3.tar.gz", hash = "sha256:07514bebed7ce431c1b3ef9279d09aa3d1bba8e342d661860a033355b98fb33a"}, + {file = "llama_index_readers_file-0.4.4-py3-none-any.whl", hash = "sha256:01589a4895e2d4abad30294c9b0d2813520ee1f5164922ad92f11e64a1d65d6c"}, + {file = "llama_index_readers_file-0.4.4.tar.gz", hash = "sha256:e076b3fa1e68eea1594d47cec1f64b384fb6067f2697ca8aae22b4a21ad27ca7"}, ] [[package]] @@ -2097,7 +2097,7 @@ files = [ [[package]] name = "marshmallow" -version = "3.25.1" +version = "3.26.0" requires_python = ">=3.9" summary = "A lightweight library for converting complex datatypes to and from native Python datatypes." groups = ["default"] @@ -2105,8 +2105,8 @@ dependencies = [ "packaging>=17.0", ] files = [ - {file = "marshmallow-3.25.1-py3-none-any.whl", hash = "sha256:ec5d00d873ce473b7f2ffcb7104286a376c354cab0c2fa12f5573dab03e87210"}, - {file = "marshmallow-3.25.1.tar.gz", hash = "sha256:f4debda3bb11153d81ac34b0d582bf23053055ee11e791b54b4b35493468040a"}, + {file = "marshmallow-3.26.0-py3-none-any.whl", hash = "sha256:1287bca04e6a5f4094822ac153c03da5e214a0a60bcd557b140f3e66991b8ca1"}, + {file = "marshmallow-3.26.0.tar.gz", hash = "sha256:eb36762a1cc76d7abf831e18a3a1b26d3d481bbc74581b8e532a3d3a8115e1cb"}, ] [[package]] @@ -2342,22 +2342,22 @@ files = [ [[package]] name = "ollama" -version = "0.4.6" +version = "0.4.7" requires_python = "<4.0,>=3.8" summary = "The official Python client for Ollama." groups = ["default"] dependencies = [ - "httpx<0.28.0,>=0.27.0", + "httpx<0.29,>=0.27", "pydantic<3.0.0,>=2.9.0", ] files = [ - {file = "ollama-0.4.6-py3-none-any.whl", hash = "sha256:cbb4ebe009e10dd12bdd82508ab415fd131945e185753d728a7747c9ebe762e9"}, - {file = "ollama-0.4.6.tar.gz", hash = "sha256:b00717651c829f96094ed4231b9f0d87e33cc92dc235aca50aeb5a2a4e6e95b7"}, + {file = "ollama-0.4.7-py3-none-any.whl", hash = "sha256:85505663cca67a83707be5fb3aeff0ea72e67846cea5985529d8eca4366564a1"}, + {file = "ollama-0.4.7.tar.gz", hash = "sha256:891dcbe54f55397d82d289c459de0ea897e103b86a3f1fad0fdb1895922a75ff"}, ] [[package]] name = "openai" -version = "1.59.7" +version = "1.60.0" requires_python = ">=3.8" summary = "The official Python library for the openai API" groups = ["default"] @@ -2372,8 +2372,8 @@ dependencies = [ "typing-extensions<5,>=4.11", ] files = [ - {file = "openai-1.59.7-py3-none-any.whl", hash = "sha256:cfa806556226fa96df7380ab2e29814181d56fea44738c2b0e581b462c268692"}, - {file = "openai-1.59.7.tar.gz", hash = "sha256:043603def78c00befb857df9f0a16ee76a3af5984ba40cb7ee5e2f40db4646bf"}, + {file = "openai-1.60.0-py3-none-any.whl", hash = "sha256:df06c43be8018274980ac363da07d4b417bd835ead1c66e14396f6f15a0d5dda"}, + {file = "openai-1.60.0.tar.gz", hash = "sha256:7fa536cd4b644718645b874d2706e36dbbef38b327e42ca0623275da347ee1a9"}, ] [[package]] @@ -2659,16 +2659,16 @@ files = [ [[package]] name = "proto-plus" -version = "1.25.0" +version = "1.26.0rc1" requires_python = ">=3.7" -summary = "Beautiful, Pythonic protocol buffers." +summary = "Beautiful, Pythonic protocol buffers" groups = ["default"] dependencies = [ "protobuf<6.0.0dev,>=3.19.0", ] files = [ - {file = "proto_plus-1.25.0-py3-none-any.whl", hash = "sha256:c91fc4a65074ade8e458e95ef8bac34d4008daa7cce4a12d6707066fca648961"}, - {file = "proto_plus-1.25.0.tar.gz", hash = "sha256:fbb17f57f7bd05a68b7707e745e26528b0b3c34e378db91eef93912c54982d91"}, + {file = "proto_plus-1.26.0rc1-py3-none-any.whl", hash = "sha256:a0ad6fbc2e194dbbb813edc22ee2e509a7c38df7ecea2fd2803bce0536eaf0f4"}, + {file = "proto_plus-1.26.0rc1.tar.gz", hash = "sha256:04eeceecd6a038285e2aa8996b53c045d04a568c5c48b7eaa79c097a4984a4c7"}, ] [[package]] @@ -2773,7 +2773,7 @@ files = [ [[package]] name = "pydantic" -version = "2.10.5" +version = "2.10.6" requires_python = ">=3.8" summary = "Data validation using Python type hints" groups = ["default"] @@ -2783,8 +2783,8 @@ dependencies = [ "typing-extensions>=4.12.2", ] files = [ - {file = "pydantic-2.10.5-py3-none-any.whl", hash = "sha256:4dd4e322dbe55472cb7ca7e73f4b63574eecccf2835ffa2af9021ce113c83c53"}, - {file = "pydantic-2.10.5.tar.gz", hash = "sha256:278b38dbbaec562011d659ee05f63346951b3a248a6f3642e1bc68894ea2b4ff"}, + {file = "pydantic-2.10.6-py3-none-any.whl", hash = "sha256:427d664bf0b8a2b34ff5dd0f5a18df00591adcee7198fbd71981054cef37b584"}, + {file = "pydantic-2.10.6.tar.gz", hash = "sha256:ca5daa827cce33de7a42be142548b0096bf05a7e7b365aebfa5f8eeec7128236"}, ] [[package]] @@ -3074,7 +3074,7 @@ files = [ [[package]] name = "qdrant-client" -version = "1.12.2" +version = "1.13.2" requires_python = ">=3.9" summary = "Client library for the Qdrant vector search engine" groups = ["default"] @@ -3089,8 +3089,8 @@ dependencies = [ "urllib3<3,>=1.26.14", ] files = [ - {file = "qdrant_client-1.12.2-py3-none-any.whl", hash = "sha256:a0ae500a46a679ff3521ba3f1f1cf3d72b57090a768cec65fc317066bcbac1e6"}, - {file = "qdrant_client-1.12.2.tar.gz", hash = "sha256:2777e09b3e89bb22bb490384d8b1fa8140f3915287884f18984f7031a346aba5"}, + {file = "qdrant_client-1.13.2-py3-none-any.whl", hash = "sha256:db97e759bd3f8d483a383984ba4c2a158eef56f2188d83df7771591d43de2201"}, + {file = "qdrant_client-1.13.2.tar.gz", hash = "sha256:c8cce87ce67b006f49430a050a35c85b78e3b896c0c756dafc13bdeca543ec13"}, ] [[package]] @@ -3109,17 +3109,18 @@ files = [ [[package]] name = "referencing" -version = "0.35.1" -requires_python = ">=3.8" +version = "0.36.1" +requires_python = ">=3.9" summary = "JSON Referencing + Python" groups = ["default"] dependencies = [ "attrs>=22.2.0", "rpds-py>=0.7.0", + "typing-extensions>=4.4.0; python_version < \"3.13\"", ] files = [ - {file = "referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de"}, - {file = "referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c"}, + {file = "referencing-0.36.1-py3-none-any.whl", hash = "sha256:363d9c65f080d0d70bc41c721dce3c7f3e77fc09f269cd5c8813da18069a6794"}, + {file = "referencing-0.36.1.tar.gz", hash = "sha256:ca2e6492769e3602957e9b831b94211599d2aade9477f5d44110d2530cf9aade"}, ] [[package]] @@ -3300,16 +3301,16 @@ files = [ [[package]] name = "s3transfer" -version = "0.11.0" +version = "0.11.2" requires_python = ">=3.8" summary = "An Amazon S3 Transfer Manager" groups = ["default"] dependencies = [ - "botocore<2.0a.0,>=1.33.2", + "botocore<2.0a.0,>=1.36.0", ] files = [ - {file = "s3transfer-0.11.0-py3-none-any.whl", hash = "sha256:f43b03931c198743569bbfb6a328a53f4b2b4ec723cd7c01fab68e3119db3f8b"}, - {file = "s3transfer-0.11.0.tar.gz", hash = "sha256:6563eda054c33bdebef7cbf309488634651c47270d828e594d151cd289fb7cf7"}, + {file = "s3transfer-0.11.2-py3-none-any.whl", hash = "sha256:be6ecb39fadd986ef1701097771f87e4d2f821f27f6071c872143884d2950fbc"}, + {file = "s3transfer-0.11.2.tar.gz", hash = "sha256:3b39185cb72f5acc77db1a58b6e25b977f28d20496b6e58d6813d75f464d632f"}, ] [[package]] @@ -3717,13 +3718,13 @@ files = [ [[package]] name = "tzdata" -version = "2024.2" +version = "2025.1" requires_python = ">=2" summary = "Provider of IANA time zone data" groups = ["default"] files = [ - {file = "tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd"}, - {file = "tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc"}, + {file = "tzdata-2025.1-py2.py3-none-any.whl", hash = "sha256:7e127113816800496f027041c570f50bcd464a020098a3b6b199517772303639"}, + {file = "tzdata-2025.1.tar.gz", hash = "sha256:24894909e88cdb28bd1636c6887801df64cb485bd593f2fd83ef29075a81d694"}, ] [[package]] @@ -3797,7 +3798,7 @@ dependencies = [ [[package]] name = "unstract-sdk" -version = "0.55.0rc2" +version = "0.56.0rc3" requires_python = "<3.11.1,>=3.9" summary = "A framework for writing Unstract Tools/Apps" groups = ["default"] @@ -3836,8 +3837,8 @@ dependencies = [ "transformers==4.37.0", ] files = [ - {file = "unstract_sdk-0.55.0rc2-py3-none-any.whl", hash = "sha256:d3cdd3c06f3b773ecf26f2abc0f71f89e5bbc9748b1ddb0ea5a29c4164c28da3"}, - {file = "unstract_sdk-0.55.0rc2.tar.gz", hash = "sha256:d4cb9a58a7740b01854e372472901761e86e64eca83d6250ff17b047ad25b39c"}, + {file = "unstract_sdk-0.56.0rc3-py3-none-any.whl", hash = "sha256:abc8ee27b4eaa9694f272460b2696ed2798ff60b9b12539d327cdeaacbb02914"}, + {file = "unstract_sdk-0.56.0rc3.tar.gz", hash = "sha256:f09db70f91fe5405918a27b91b3807d812b223dae54b9ad1f688f02a88512bb1"}, ] [[package]] diff --git a/platform-service/pyproject.toml b/platform-service/pyproject.toml index 5cf2a4d5b..b64804b1e 100644 --- a/platform-service/pyproject.toml +++ b/platform-service/pyproject.toml @@ -13,7 +13,7 @@ dependencies = [ "redis~=5.2.1", "cryptography>=41.0.7", "requests>=2.31.0", - "unstract-sdk~=0.55.0rc2", + "unstract-sdk~=0.56.0rc3", "gcsfs==2024.10.0", "unstract-flags @ file:///${PROJECT_ROOT}/../unstract/flags", ] diff --git a/prompt-service/pdm.lock b/prompt-service/pdm.lock index 586d8b61d..13377409d 100644 --- a/prompt-service/pdm.lock +++ b/prompt-service/pdm.lock @@ -5,7 +5,7 @@ groups = ["default", "deploy"] strategy = ["cross_platform", "inherit_metadata"] lock_version = "4.4.2" -content_hash = "sha256:d840a9a53d631e2a29fc3aa8bca77c6817d9cdb96548f0b3de4110aeb0fc9123" +content_hash = "sha256:9d7ce6b714514f621bd8bd3ac42172b526cd79cb67d77b10634f274e44575f84" [[package]] name = "aiohappyeyeballs" @@ -124,7 +124,7 @@ files = [ [[package]] name = "anthropic" -version = "0.43.0" +version = "0.45.0" requires_python = ">=3.8" summary = "The official Python library for the anthropic API" groups = ["default"] @@ -138,26 +138,26 @@ dependencies = [ "typing-extensions<5,>=4.10", ] files = [ - {file = "anthropic-0.43.0-py3-none-any.whl", hash = "sha256:f748a703f77b3244975e1aace3a935840dc653a4714fb6bba644f97cc76847b4"}, - {file = "anthropic-0.43.0.tar.gz", hash = "sha256:06801f01d317a431d883230024318d48981758058bf7e079f33fb11f64b5a5c1"}, + {file = "anthropic-0.45.0-py3-none-any.whl", hash = "sha256:f36aff71d2c232945e64d1970be68a91b05a2ef5e3afa6c1ff195c3303a95ad3"}, + {file = "anthropic-0.45.0.tar.gz", hash = "sha256:4e8541dc355332090bfc51b84549c19b649a13a23dbd6bd68e1d012e08551025"}, ] [[package]] name = "anthropic" -version = "0.43.0" +version = "0.45.0" extras = ["bedrock", "vertex"] requires_python = ">=3.8" summary = "The official Python library for the anthropic API" groups = ["default"] dependencies = [ - "anthropic==0.43.0", + "anthropic==0.45.0", "boto3>=1.28.57", "botocore>=1.31.57", "google-auth<3,>=2", ] files = [ - {file = "anthropic-0.43.0-py3-none-any.whl", hash = "sha256:f748a703f77b3244975e1aace3a935840dc653a4714fb6bba644f97cc76847b4"}, - {file = "anthropic-0.43.0.tar.gz", hash = "sha256:06801f01d317a431d883230024318d48981758058bf7e079f33fb11f64b5a5c1"}, + {file = "anthropic-0.45.0-py3-none-any.whl", hash = "sha256:f36aff71d2c232945e64d1970be68a91b05a2ef5e3afa6c1ff195c3303a95ad3"}, + {file = "anthropic-0.45.0.tar.gz", hash = "sha256:4e8541dc355332090bfc51b84549c19b649a13a23dbd6bd68e1d012e08551025"}, ] [[package]] @@ -345,13 +345,13 @@ files = [ [[package]] name = "cachetools" -version = "5.5.0" +version = "5.5.1" requires_python = ">=3.7" summary = "Extensible memoizing collections and decorators" groups = ["default"] files = [ - {file = "cachetools-5.5.0-py3-none-any.whl", hash = "sha256:02134e8439cdc2ffb62023ce1debca2944c3f289d66bb17ead3ab3dede74b292"}, - {file = "cachetools-5.5.0.tar.gz", hash = "sha256:2cc24fb4cbe39633fb7badd9db9ca6295d766d9c2995f245725a46715d050f2a"}, + {file = "cachetools-5.5.1-py3-none-any.whl", hash = "sha256:b76651fdc3b24ead3c648bbdeeb940c1b04d365b38b4af66788f9ec4a81d42bb"}, + {file = "cachetools-5.5.1.tar.gz", hash = "sha256:70f238fbba50383ef62e55c6aff6d9673175fe59f7c6782c7a0b9e38f4a9df95"}, ] [[package]] @@ -631,13 +631,13 @@ files = [ [[package]] name = "filelock" -version = "3.16.1" -requires_python = ">=3.8" +version = "3.17.0" +requires_python = ">=3.9" summary = "A platform independent file lock." groups = ["default"] files = [ - {file = "filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0"}, - {file = "filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"}, + {file = "filelock-3.17.0-py3-none-any.whl", hash = "sha256:533dc2f7ba78dc2f0f531fc6c4940addf7b70a481e269a5a3b93be94ffbe8338"}, + {file = "filelock-3.17.0.tar.gz", hash = "sha256:ee4e77401ef576ebb38cd7f13b9b28893194acc20a8e68e18730ba9c0e54660e"}, ] [[package]] @@ -755,7 +755,7 @@ files = [ [[package]] name = "google-api-core" -version = "2.24.0" +version = "2.24.1rc1" requires_python = ">=3.7" summary = "Google API client core library" groups = ["default"] @@ -767,27 +767,27 @@ dependencies = [ "requests<3.0.0.dev0,>=2.18.0", ] files = [ - {file = "google_api_core-2.24.0-py3-none-any.whl", hash = "sha256:10d82ac0fca69c82a25b3efdeefccf6f28e02ebb97925a8cce8edbfe379929d9"}, - {file = "google_api_core-2.24.0.tar.gz", hash = "sha256:e255640547a597a4da010876d333208ddac417d60add22b6851a0c66a831fcaf"}, + {file = "google_api_core-2.24.1rc1-py3-none-any.whl", hash = "sha256:92ee3eed90a397a9f4dd13c034a36cbe7dba2a58e01e5668619847b68a527b73"}, + {file = "google_api_core-2.24.1rc1.tar.gz", hash = "sha256:d1cf8265c8b0b171a87d84adc8709a5e48147ca529d6f96d6a2be613a195eb78"}, ] [[package]] name = "google-api-core" -version = "2.24.0" +version = "2.24.1rc1" extras = ["grpc"] requires_python = ">=3.7" summary = "Google API client core library" groups = ["default"] dependencies = [ - "google-api-core==2.24.0", + "google-api-core==2.24.1rc1", "grpcio-status<2.0.dev0,>=1.33.2", "grpcio-status<2.0.dev0,>=1.49.1; python_version >= \"3.11\"", "grpcio<2.0dev,>=1.33.2", "grpcio<2.0dev,>=1.49.1; python_version >= \"3.11\"", ] files = [ - {file = "google_api_core-2.24.0-py3-none-any.whl", hash = "sha256:10d82ac0fca69c82a25b3efdeefccf6f28e02ebb97925a8cce8edbfe379929d9"}, - {file = "google_api_core-2.24.0.tar.gz", hash = "sha256:e255640547a597a4da010876d333208ddac417d60add22b6851a0c66a831fcaf"}, + {file = "google_api_core-2.24.1rc1-py3-none-any.whl", hash = "sha256:92ee3eed90a397a9f4dd13c034a36cbe7dba2a58e01e5668619847b68a527b73"}, + {file = "google_api_core-2.24.1rc1.tar.gz", hash = "sha256:d1cf8265c8b0b171a87d84adc8709a5e48147ca529d6f96d6a2be613a195eb78"}, ] [[package]] @@ -810,7 +810,7 @@ files = [ [[package]] name = "google-auth" -version = "2.37.0" +version = "2.38.0" requires_python = ">=3.7" summary = "Google Authentication Library" groups = ["default"] @@ -820,8 +820,8 @@ dependencies = [ "rsa<5,>=3.1.4", ] files = [ - {file = "google_auth-2.37.0-py2.py3-none-any.whl", hash = "sha256:42664f18290a6be591be5329a96fe30184be1a1badb7292a7f686a9659de9ca0"}, - {file = "google_auth-2.37.0.tar.gz", hash = "sha256:0054623abf1f9c83492c63d3f47e77f0a544caa3d40b2d98e099a611c2dd5d00"}, + {file = "google_auth-2.38.0-py2.py3-none-any.whl", hash = "sha256:e7dae6694313f434a2727bf2906f27ad259bae090d7aa896590d86feec3d9d4a"}, + {file = "google_auth-2.38.0.tar.gz", hash = "sha256:8285113607d3b80a3f1543b75962447ba8a09fe85783432a784fdeef6ac094c4"}, ] [[package]] @@ -840,7 +840,7 @@ files = [ [[package]] name = "google-cloud-aiplatform" -version = "1.77.0" +version = "1.78.0" requires_python = ">=3.8" summary = "Vertex AI API client library" groups = ["default"] @@ -859,13 +859,13 @@ dependencies = [ "typing-extensions", ] files = [ - {file = "google_cloud_aiplatform-1.77.0-py2.py3-none-any.whl", hash = "sha256:e9dd1bcb1b9a85eddd452916cd6ad1d9ce2d487772a9e45b1814aa0ac5633689"}, - {file = "google_cloud_aiplatform-1.77.0.tar.gz", hash = "sha256:1e5b77fe6c7f276d7aae65bcf08a273122a71f6c4af1f43cf45821f603a74080"}, + {file = "google_cloud_aiplatform-1.78.0-py2.py3-none-any.whl", hash = "sha256:e2663b715bdeb5f4c9bf72defc5bd9abdb182048b012b83231dd0708dbc8b7ba"}, + {file = "google_cloud_aiplatform-1.78.0.tar.gz", hash = "sha256:c42a8e9981afb7964d14c3109e1eae0892785c746235acb1f990cdfd40ce9d13"}, ] [[package]] name = "google-cloud-bigquery" -version = "3.28.0" +version = "3.29.0" requires_python = ">=3.7" summary = "Google BigQuery API client library" groups = ["default"] @@ -879,8 +879,8 @@ dependencies = [ "requests<3.0.0dev,>=2.21.0", ] files = [ - {file = "google_cloud_bigquery-3.28.0-py2.py3-none-any.whl", hash = "sha256:29a0ed6ea19eab9bf59429f66d7a2b20ebea78597e76ed6fb653a581486e90c8"}, - {file = "google_cloud_bigquery-3.28.0.tar.gz", hash = "sha256:161f9f424400f7bd0a4885ee80027f0030f4f5ff6feaaa1c30bb12c2c5a0e783"}, + {file = "google_cloud_bigquery-3.29.0-py2.py3-none-any.whl", hash = "sha256:5453a4eabe50118254eda9778f3d7dad413490de5f7046b5e66c98f5a1580308"}, + {file = "google_cloud_bigquery-3.29.0.tar.gz", hash = "sha256:fafc2b455ffce3bcc6ce0e884184ef50b6a11350a83b91e327fadda4d5566e72"}, ] [[package]] @@ -1236,13 +1236,13 @@ files = [ [[package]] name = "hpack" -version = "4.0.0" -requires_python = ">=3.6.1" -summary = "Pure-Python HPACK header compression" +version = "4.1.0" +requires_python = ">=3.9" +summary = "Pure-Python HPACK header encoding" groups = ["default"] files = [ - {file = "hpack-4.0.0-py3-none-any.whl", hash = "sha256:84a076fad3dc9a9f8063ccb8041ef100867b1878b25ef0ee63847a5d53818a6c"}, - {file = "hpack-4.0.0.tar.gz", hash = "sha256:fc41de0c63e687ebffde81187a948221294896f6bdc0ae2312708df339430095"}, + {file = "hpack-4.1.0-py3-none-any.whl", hash = "sha256:157ac792668d995c657d93111f46b4535ed114f0c9c8d672271bbec7eae1b496"}, + {file = "hpack-4.1.0.tar.gz", hash = "sha256:ec5eca154f7056aa06f196a557655c5b009b382873ac8d1e66e79e87535f1dca"}, ] [[package]] @@ -1330,13 +1330,13 @@ files = [ [[package]] name = "hyperframe" -version = "6.0.1" -requires_python = ">=3.6.1" -summary = "HTTP/2 framing layer for Python" +version = "6.1.0" +requires_python = ">=3.9" +summary = "Pure-Python HTTP/2 framing" groups = ["default"] files = [ - {file = "hyperframe-6.0.1-py3-none-any.whl", hash = "sha256:0ec6bafd80d8ad2195c4f03aacba3a8265e57bc4cff261e802bf39970ed02a15"}, - {file = "hyperframe-6.0.1.tar.gz", hash = "sha256:ae510046231dc8e9ecb1a6586f63d2347bf4c8905914aa84ba585ae85f28a914"}, + {file = "hyperframe-6.1.0-py3-none-any.whl", hash = "sha256:b03380493a519fce58ea5af42e4a42317bf9bd425596f7a0835ffce80f1a42e5"}, + {file = "hyperframe-6.1.0.tar.gz", hash = "sha256:f630908a00854a7adeabd6382b43923a4c4cd4b821fcb527e6ab9e15382a3b08"}, ] [[package]] @@ -1352,8 +1352,8 @@ files = [ [[package]] name = "importlib-metadata" -version = "8.5.0" -requires_python = ">=3.8" +version = "8.6.1" +requires_python = ">=3.9" summary = "Read metadata from Python packages" groups = ["default"] marker = "python_version < \"3.10\"" @@ -1361,8 +1361,8 @@ dependencies = [ "zipp>=3.20", ] files = [ - {file = "importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b"}, - {file = "importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7"}, + {file = "importlib_metadata-8.6.1-py3-none-any.whl", hash = "sha256:02a89390c1e15fdfdc0d7c6b25cb3e62650d0494005c97d6f148bf5b9787525e"}, + {file = "importlib_metadata-8.6.1.tar.gz", hash = "sha256:310b41d755445d74569f993ccfc22838295d9fe005425094fad953d7f15c8580"}, ] [[package]] @@ -1518,7 +1518,7 @@ files = [ [[package]] name = "llama-cloud" -version = "0.1.9" +version = "0.1.10" requires_python = "<4,>=3.8" summary = "" groups = ["default"] @@ -1528,8 +1528,8 @@ dependencies = [ "pydantic>=1.10", ] files = [ - {file = "llama_cloud-0.1.9-py3-none-any.whl", hash = "sha256:792ee316985bbf4dd0294007105a100489d4baba0bcc4f3e16284f0c01d832d4"}, - {file = "llama_cloud-0.1.9.tar.gz", hash = "sha256:fc03bd338a1da04b7607a44d82a62b3eb178d80af05a53653e801d6f8bb67df7"}, + {file = "llama_cloud-0.1.10-py3-none-any.whl", hash = "sha256:d91198ad92ea6c3a25757e5d6cb565b4bd6db385dc4fa596a725c0fb81a68f4e"}, + {file = "llama_cloud-0.1.10.tar.gz", hash = "sha256:56ffe8f2910c2047dd4eb1b13da31ee5f67321a000794eee559e0b56954d2f76"}, ] [[package]] @@ -1591,7 +1591,7 @@ files = [ [[package]] name = "llama-index-core" -version = "0.12.11" +version = "0.12.13" requires_python = "<4.0,>=3.9" summary = "Interface between LLMs and your data" groups = ["default"] @@ -1621,8 +1621,8 @@ dependencies = [ "wrapt", ] files = [ - {file = "llama_index_core-0.12.11-py3-none-any.whl", hash = "sha256:3b1e019c899e9e011dfa01c96b7e3f666e0c161035fbca6cb787b4c61e0c94db"}, - {file = "llama_index_core-0.12.11.tar.gz", hash = "sha256:9a41ca91167ea5eec9ebaac7f5e958b7feddbd8af3bfbf7c393a5edfb994d566"}, + {file = "llama_index_core-0.12.13-py3-none-any.whl", hash = "sha256:9708bb594bbddffd6ff0767242e49d8978d1ba60a2e62e071d9d123ad2f17e6f"}, + {file = "llama_index_core-0.12.13.tar.gz", hash = "sha256:77af0161246ce1de38efc17cb6438dfff9e9558af00bcfac7dd4d0b7325efa4b"}, ] [[package]] @@ -1688,17 +1688,17 @@ files = [ [[package]] name = "llama-index-indices-managed-llama-cloud" -version = "0.6.3" +version = "0.6.4" requires_python = "<4.0,>=3.9" summary = "llama-index indices llama-cloud integration" groups = ["default"] dependencies = [ - "llama-cloud>=0.1.5", + "llama-cloud<0.2.0,>=0.1.8", "llama-index-core<0.13.0,>=0.12.0", ] files = [ - {file = "llama_index_indices_managed_llama_cloud-0.6.3-py3-none-any.whl", hash = "sha256:7f125602f624a2d321b6a4130cd98df35eb8c15818a159390755b2c13068f4ce"}, - {file = "llama_index_indices_managed_llama_cloud-0.6.3.tar.gz", hash = "sha256:f09e4182cbc2a2bd75ae85cebb1681075247f0d91b931b094cac4315386ce87a"}, + {file = "llama_index_indices_managed_llama_cloud-0.6.4-py3-none-any.whl", hash = "sha256:d7e85844a2e343dacebdef424decab3f5fd6361e25b3ff2bdcfb18607c1a49c5"}, + {file = "llama_index_indices_managed_llama_cloud-0.6.4.tar.gz", hash = "sha256:0b45973cb2dc9702122006019bfb556dcabba31b0bdf79afc7b376ca8143df03"}, ] [[package]] @@ -1902,7 +1902,7 @@ files = [ [[package]] name = "llama-index-readers-file" -version = "0.4.3" +version = "0.4.4" requires_python = "<4.0,>=3.9" summary = "llama-index readers file integration" groups = ["default"] @@ -1914,8 +1914,8 @@ dependencies = [ "striprtf<0.0.27,>=0.0.26", ] files = [ - {file = "llama_index_readers_file-0.4.3-py3-none-any.whl", hash = "sha256:c669da967ea534e3af3660f9fd730c71c725288f5c57906bcce338414ebeee5c"}, - {file = "llama_index_readers_file-0.4.3.tar.gz", hash = "sha256:07514bebed7ce431c1b3ef9279d09aa3d1bba8e342d661860a033355b98fb33a"}, + {file = "llama_index_readers_file-0.4.4-py3-none-any.whl", hash = "sha256:01589a4895e2d4abad30294c9b0d2813520ee1f5164922ad92f11e64a1d65d6c"}, + {file = "llama_index_readers_file-0.4.4.tar.gz", hash = "sha256:e076b3fa1e68eea1594d47cec1f64b384fb6067f2697ca8aae22b4a21ad27ca7"}, ] [[package]] @@ -2070,7 +2070,7 @@ files = [ [[package]] name = "marshmallow" -version = "3.25.1" +version = "3.26.0" requires_python = ">=3.9" summary = "A lightweight library for converting complex datatypes to and from native Python datatypes." groups = ["default"] @@ -2078,8 +2078,8 @@ dependencies = [ "packaging>=17.0", ] files = [ - {file = "marshmallow-3.25.1-py3-none-any.whl", hash = "sha256:ec5d00d873ce473b7f2ffcb7104286a376c354cab0c2fa12f5573dab03e87210"}, - {file = "marshmallow-3.25.1.tar.gz", hash = "sha256:f4debda3bb11153d81ac34b0d582bf23053055ee11e791b54b4b35493468040a"}, + {file = "marshmallow-3.26.0-py3-none-any.whl", hash = "sha256:1287bca04e6a5f4094822ac153c03da5e214a0a60bcd557b140f3e66991b8ca1"}, + {file = "marshmallow-3.26.0.tar.gz", hash = "sha256:eb36762a1cc76d7abf831e18a3a1b26d3d481bbc74581b8e532a3d3a8115e1cb"}, ] [[package]] @@ -2304,22 +2304,22 @@ files = [ [[package]] name = "ollama" -version = "0.4.6" +version = "0.4.7" requires_python = "<4.0,>=3.8" summary = "The official Python client for Ollama." groups = ["default"] dependencies = [ - "httpx<0.28.0,>=0.27.0", + "httpx<0.29,>=0.27", "pydantic<3.0.0,>=2.9.0", ] files = [ - {file = "ollama-0.4.6-py3-none-any.whl", hash = "sha256:cbb4ebe009e10dd12bdd82508ab415fd131945e185753d728a7747c9ebe762e9"}, - {file = "ollama-0.4.6.tar.gz", hash = "sha256:b00717651c829f96094ed4231b9f0d87e33cc92dc235aca50aeb5a2a4e6e95b7"}, + {file = "ollama-0.4.7-py3-none-any.whl", hash = "sha256:85505663cca67a83707be5fb3aeff0ea72e67846cea5985529d8eca4366564a1"}, + {file = "ollama-0.4.7.tar.gz", hash = "sha256:891dcbe54f55397d82d289c459de0ea897e103b86a3f1fad0fdb1895922a75ff"}, ] [[package]] name = "openai" -version = "1.59.7" +version = "1.60.0" requires_python = ">=3.8" summary = "The official Python library for the openai API" groups = ["default"] @@ -2334,8 +2334,8 @@ dependencies = [ "typing-extensions<5,>=4.11", ] files = [ - {file = "openai-1.59.7-py3-none-any.whl", hash = "sha256:cfa806556226fa96df7380ab2e29814181d56fea44738c2b0e581b462c268692"}, - {file = "openai-1.59.7.tar.gz", hash = "sha256:043603def78c00befb857df9f0a16ee76a3af5984ba40cb7ee5e2f40db4646bf"}, + {file = "openai-1.60.0-py3-none-any.whl", hash = "sha256:df06c43be8018274980ac363da07d4b417bd835ead1c66e14396f6f15a0d5dda"}, + {file = "openai-1.60.0.tar.gz", hash = "sha256:7fa536cd4b644718645b874d2706e36dbbef38b327e42ca0623275da347ee1a9"}, ] [[package]] @@ -2610,16 +2610,16 @@ files = [ [[package]] name = "proto-plus" -version = "1.25.0" +version = "1.26.0rc1" requires_python = ">=3.7" -summary = "Beautiful, Pythonic protocol buffers." +summary = "Beautiful, Pythonic protocol buffers" groups = ["default"] dependencies = [ "protobuf<6.0.0dev,>=3.19.0", ] files = [ - {file = "proto_plus-1.25.0-py3-none-any.whl", hash = "sha256:c91fc4a65074ade8e458e95ef8bac34d4008daa7cce4a12d6707066fca648961"}, - {file = "proto_plus-1.25.0.tar.gz", hash = "sha256:fbb17f57f7bd05a68b7707e745e26528b0b3c34e378db91eef93912c54982d91"}, + {file = "proto_plus-1.26.0rc1-py3-none-any.whl", hash = "sha256:a0ad6fbc2e194dbbb813edc22ee2e509a7c38df7ecea2fd2803bce0536eaf0f4"}, + {file = "proto_plus-1.26.0rc1.tar.gz", hash = "sha256:04eeceecd6a038285e2aa8996b53c045d04a568c5c48b7eaa79c097a4984a4c7"}, ] [[package]] @@ -2724,7 +2724,7 @@ files = [ [[package]] name = "pydantic" -version = "2.10.5" +version = "2.10.6" requires_python = ">=3.8" summary = "Data validation using Python type hints" groups = ["default"] @@ -2734,8 +2734,8 @@ dependencies = [ "typing-extensions>=4.12.2", ] files = [ - {file = "pydantic-2.10.5-py3-none-any.whl", hash = "sha256:4dd4e322dbe55472cb7ca7e73f4b63574eecccf2835ffa2af9021ce113c83c53"}, - {file = "pydantic-2.10.5.tar.gz", hash = "sha256:278b38dbbaec562011d659ee05f63346951b3a248a6f3642e1bc68894ea2b4ff"}, + {file = "pydantic-2.10.6-py3-none-any.whl", hash = "sha256:427d664bf0b8a2b34ff5dd0f5a18df00591adcee7198fbd71981054cef37b584"}, + {file = "pydantic-2.10.6.tar.gz", hash = "sha256:ca5daa827cce33de7a42be142548b0096bf05a7e7b365aebfa5f8eeec7128236"}, ] [[package]] @@ -3006,7 +3006,7 @@ files = [ [[package]] name = "qdrant-client" -version = "1.12.2" +version = "1.13.2" requires_python = ">=3.9" summary = "Client library for the Qdrant vector search engine" groups = ["default"] @@ -3021,8 +3021,8 @@ dependencies = [ "urllib3<3,>=1.26.14", ] files = [ - {file = "qdrant_client-1.12.2-py3-none-any.whl", hash = "sha256:a0ae500a46a679ff3521ba3f1f1cf3d72b57090a768cec65fc317066bcbac1e6"}, - {file = "qdrant_client-1.12.2.tar.gz", hash = "sha256:2777e09b3e89bb22bb490384d8b1fa8140f3915287884f18984f7031a346aba5"}, + {file = "qdrant_client-1.13.2-py3-none-any.whl", hash = "sha256:db97e759bd3f8d483a383984ba4c2a158eef56f2188d83df7771591d43de2201"}, + {file = "qdrant_client-1.13.2.tar.gz", hash = "sha256:c8cce87ce67b006f49430a050a35c85b78e3b896c0c756dafc13bdeca543ec13"}, ] [[package]] @@ -3041,17 +3041,18 @@ files = [ [[package]] name = "referencing" -version = "0.35.1" -requires_python = ">=3.8" +version = "0.36.1" +requires_python = ">=3.9" summary = "JSON Referencing + Python" groups = ["default"] dependencies = [ "attrs>=22.2.0", "rpds-py>=0.7.0", + "typing-extensions>=4.4.0; python_version < \"3.13\"", ] files = [ - {file = "referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de"}, - {file = "referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c"}, + {file = "referencing-0.36.1-py3-none-any.whl", hash = "sha256:363d9c65f080d0d70bc41c721dce3c7f3e77fc09f269cd5c8813da18069a6794"}, + {file = "referencing-0.36.1.tar.gz", hash = "sha256:ca2e6492769e3602957e9b831b94211599d2aade9477f5d44110d2530cf9aade"}, ] [[package]] @@ -3612,13 +3613,13 @@ files = [ [[package]] name = "tzdata" -version = "2024.2" +version = "2025.1" requires_python = ">=2" summary = "Provider of IANA time zone data" groups = ["default"] files = [ - {file = "tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd"}, - {file = "tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc"}, + {file = "tzdata-2025.1-py2.py3-none-any.whl", hash = "sha256:7e127113816800496f027041c570f50bcd464a020098a3b6b199517772303639"}, + {file = "tzdata-2025.1.tar.gz", hash = "sha256:24894909e88cdb28bd1636c6887801df64cb485bd593f2fd83ef29075a81d694"}, ] [[package]] @@ -3709,7 +3710,7 @@ dependencies = [ [[package]] name = "unstract-sdk" -version = "0.55.0rc2" +version = "0.56.0rc3" requires_python = "<3.11.1,>=3.9" summary = "A framework for writing Unstract Tools/Apps" groups = ["default"] @@ -3748,8 +3749,8 @@ dependencies = [ "transformers==4.37.0", ] files = [ - {file = "unstract_sdk-0.55.0rc2-py3-none-any.whl", hash = "sha256:d3cdd3c06f3b773ecf26f2abc0f71f89e5bbc9748b1ddb0ea5a29c4164c28da3"}, - {file = "unstract_sdk-0.55.0rc2.tar.gz", hash = "sha256:d4cb9a58a7740b01854e372472901761e86e64eca83d6250ff17b047ad25b39c"}, + {file = "unstract_sdk-0.56.0rc3-py3-none-any.whl", hash = "sha256:abc8ee27b4eaa9694f272460b2696ed2798ff60b9b12539d327cdeaacbb02914"}, + {file = "unstract_sdk-0.56.0rc3.tar.gz", hash = "sha256:f09db70f91fe5405918a27b91b3807d812b223dae54b9ad1f688f02a88512bb1"}, ] [[package]] diff --git a/prompt-service/pyproject.toml b/prompt-service/pyproject.toml index 86f870f32..54ae937da 100644 --- a/prompt-service/pyproject.toml +++ b/prompt-service/pyproject.toml @@ -15,7 +15,7 @@ dependencies = [ "flask~=3.0", "llama-index==0.12.8", "python-dotenv==1.0.0", - "unstract-sdk~=0.55.0rc2", + "unstract-sdk~=0.56.0rc3", "redis>=5.0.3", "unstract-core @ file:///${PROJECT_ROOT}/../unstract/core", "unstract-flags @ file:///${PROJECT_ROOT}/../unstract/flags", diff --git a/pyproject.toml b/pyproject.toml index 436e6c70b..a8417e9c1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -41,7 +41,7 @@ hook-check-django-migrations = [ "psycopg2-binary==2.9.9", "python-dotenv==1.0.0", "python-magic==0.4.27", - "unstract-sdk~=0.55.0rc2", + "unstract-sdk~=0.56.0rc3", "-e unstract-connectors @ file:///${PROJECT_ROOT}/unstract/connectors", "-e unstract-core @ file:///${PROJECT_ROOT}/unstract/core", "-e unstract-flags @ file:///${PROJECT_ROOT}/unstract/flags", diff --git a/tools/classifier/requirements.txt b/tools/classifier/requirements.txt index 77e9841a2..beac09d05 100644 --- a/tools/classifier/requirements.txt +++ b/tools/classifier/requirements.txt @@ -1,6 +1,6 @@ # Add your dependencies here # Required for all unstract tools -unstract-sdk~=0.56.0rc1 +unstract-sdk~=0.56.0rc3 # Required for remote storage support s3fs[boto3]==2024.6.0 diff --git a/tools/classifier/src/config/properties.json b/tools/classifier/src/config/properties.json index 0e7eb073a..a6d737b87 100644 --- a/tools/classifier/src/config/properties.json +++ b/tools/classifier/src/config/properties.json @@ -2,7 +2,7 @@ "schemaVersion": "0.0.1", "displayName": "File Classifier", "functionName": "classify", - "toolVersion": "0.0.48", + "toolVersion": "0.0.49", "description": "Classifies a file into a bin based on its contents", "input": { "description": "File to be classified" diff --git a/tools/structure/requirements.txt b/tools/structure/requirements.txt index 77e9841a2..beac09d05 100644 --- a/tools/structure/requirements.txt +++ b/tools/structure/requirements.txt @@ -1,6 +1,6 @@ # Add your dependencies here # Required for all unstract tools -unstract-sdk~=0.56.0rc1 +unstract-sdk~=0.56.0rc3 # Required for remote storage support s3fs[boto3]==2024.6.0 diff --git a/tools/structure/src/config/properties.json b/tools/structure/src/config/properties.json index 4b13b2af1..50d41130b 100644 --- a/tools/structure/src/config/properties.json +++ b/tools/structure/src/config/properties.json @@ -2,7 +2,7 @@ "schemaVersion": "0.0.1", "displayName": "Structure Tool", "functionName": "structure_tool", - "toolVersion": "0.0.58", + "toolVersion": "0.0.59", "description": "This is a template tool which can answer set of input prompts designed in the Prompt Studio", "input": { "description": "File that needs to be indexed and parsed for answers" diff --git a/tools/text_extractor/requirements.txt b/tools/text_extractor/requirements.txt index 77e9841a2..beac09d05 100644 --- a/tools/text_extractor/requirements.txt +++ b/tools/text_extractor/requirements.txt @@ -1,6 +1,6 @@ # Add your dependencies here # Required for all unstract tools -unstract-sdk~=0.56.0rc1 +unstract-sdk~=0.56.0rc3 # Required for remote storage support s3fs[boto3]==2024.6.0 diff --git a/tools/text_extractor/src/config/properties.json b/tools/text_extractor/src/config/properties.json index 43c25ae1e..1c4a6b9c3 100644 --- a/tools/text_extractor/src/config/properties.json +++ b/tools/text_extractor/src/config/properties.json @@ -2,7 +2,7 @@ "schemaVersion": "0.0.1", "displayName": "Text Extractor", "functionName": "text_extractor", - "toolVersion": "0.0.45", + "toolVersion": "0.0.46", "description": "The Text Extractor is a powerful tool designed to convert documents to its text form or Extract texts from documents", "input": { "description": "Document" diff --git a/unstract/filesystem/pdm.lock b/unstract/filesystem/pdm.lock index 71d4f5f05..fd28836ad 100644 --- a/unstract/filesystem/pdm.lock +++ b/unstract/filesystem/pdm.lock @@ -5,7 +5,7 @@ groups = ["default"] strategy = ["cross_platform", "inherit_metadata"] lock_version = "4.4.2" -content_hash = "sha256:5111c92e7ad214e27e366db8473c173d245113e0696d3b4625b004b79a6a9a3f" +content_hash = "sha256:0feefc31b976567b21f22a884beec5e403b86fc5dda1eb7be2ad6e8c8be76205" [[package]] name = "aiohappyeyeballs" @@ -110,7 +110,7 @@ files = [ [[package]] name = "anthropic" -version = "0.44.0" +version = "0.45.0" requires_python = ">=3.8" summary = "The official Python library for the anthropic API" groups = ["default"] @@ -124,26 +124,26 @@ dependencies = [ "typing-extensions<5,>=4.10", ] files = [ - {file = "anthropic-0.44.0-py3-none-any.whl", hash = "sha256:7087ccfc8ed7b164f971e094495cd3aeabac1e435fa393480cc146c87946c21c"}, - {file = "anthropic-0.44.0.tar.gz", hash = "sha256:dc5c91c8b0463f97513d2e79350511ef295a56910bac4fbbe9491016c71f2ef0"}, + {file = "anthropic-0.45.0-py3-none-any.whl", hash = "sha256:f36aff71d2c232945e64d1970be68a91b05a2ef5e3afa6c1ff195c3303a95ad3"}, + {file = "anthropic-0.45.0.tar.gz", hash = "sha256:4e8541dc355332090bfc51b84549c19b649a13a23dbd6bd68e1d012e08551025"}, ] [[package]] name = "anthropic" -version = "0.44.0" +version = "0.45.0" extras = ["bedrock", "vertex"] requires_python = ">=3.8" summary = "The official Python library for the anthropic API" groups = ["default"] dependencies = [ - "anthropic==0.44.0", + "anthropic==0.45.0", "boto3>=1.28.57", "botocore>=1.31.57", "google-auth<3,>=2", ] files = [ - {file = "anthropic-0.44.0-py3-none-any.whl", hash = "sha256:7087ccfc8ed7b164f971e094495cd3aeabac1e435fa393480cc146c87946c21c"}, - {file = "anthropic-0.44.0.tar.gz", hash = "sha256:dc5c91c8b0463f97513d2e79350511ef295a56910bac4fbbe9491016c71f2ef0"}, + {file = "anthropic-0.45.0-py3-none-any.whl", hash = "sha256:f36aff71d2c232945e64d1970be68a91b05a2ef5e3afa6c1ff195c3303a95ad3"}, + {file = "anthropic-0.45.0.tar.gz", hash = "sha256:4e8541dc355332090bfc51b84549c19b649a13a23dbd6bd68e1d012e08551025"}, ] [[package]] @@ -287,23 +287,23 @@ files = [ [[package]] name = "boto3" -version = "1.36.4" +version = "1.36.5" requires_python = ">=3.8" summary = "The AWS SDK for Python" groups = ["default"] dependencies = [ - "botocore<1.37.0,>=1.36.4", + "botocore<1.37.0,>=1.36.5", "jmespath<2.0.0,>=0.7.1", "s3transfer<0.12.0,>=0.11.0", ] files = [ - {file = "boto3-1.36.4-py3-none-any.whl", hash = "sha256:9f8f699e75ec63fcc98c4dd7290997c7c06c68d3ac8161ad4735fe71f5fe945c"}, - {file = "boto3-1.36.4.tar.gz", hash = "sha256:eeceeb74ef8b65634d358c27aa074917f4449dc828f79301f1075232618eb502"}, + {file = "boto3-1.36.5-py3-none-any.whl", hash = "sha256:a404ad5ec94ff40c176215a991bf62f0db5514a93a3dd361b7b2ab9660f811f4"}, + {file = "boto3-1.36.5.tar.gz", hash = "sha256:58a6b7c3d5145b3ac04d4b6caa76223b8ef88004b4237444e553041e29581a11"}, ] [[package]] name = "botocore" -version = "1.36.4" +version = "1.36.5" requires_python = ">=3.8" summary = "Low-level, data-driven core of boto 3." groups = ["default"] @@ -314,8 +314,8 @@ dependencies = [ "urllib3<1.27,>=1.25.4; python_version < \"3.10\"", ] files = [ - {file = "botocore-1.36.4-py3-none-any.whl", hash = "sha256:3f183aa7bb0c1ba02171143a05f28a4438abdf89dd6b8c0a7727040375a90520"}, - {file = "botocore-1.36.4.tar.gz", hash = "sha256:ef54f5e3316040b6ff775941e6ed052c3230dda0079d17d9f9e3c757375f2027"}, + {file = "botocore-1.36.5-py3-none-any.whl", hash = "sha256:6d9f70afa9bf9d21407089dc22b8cc8ec6fa44866d4660858c062c74fc8555eb"}, + {file = "botocore-1.36.5.tar.gz", hash = "sha256:234ed3d29a8954c37a551c933453bf14c6ae44a69a4f273ffef377a2612ca6a6"}, ] [[package]] @@ -711,7 +711,7 @@ files = [ [[package]] name = "google-api-core" -version = "2.24.1rc0" +version = "2.24.1rc1" requires_python = ">=3.7" summary = "Google API client core library" groups = ["default"] @@ -723,27 +723,27 @@ dependencies = [ "requests<3.0.0.dev0,>=2.18.0", ] files = [ - {file = "google_api_core-2.24.1rc0-py3-none-any.whl", hash = "sha256:3eba70aefbc0e87d87dc4602ca2174ab72a112501f1d0d60a9b183b45aa0c86d"}, - {file = "google_api_core-2.24.1rc0.tar.gz", hash = "sha256:790c89649b86fb79b168b9955c9ed35612fbe966a89994675c193c26599859dc"}, + {file = "google_api_core-2.24.1rc1-py3-none-any.whl", hash = "sha256:92ee3eed90a397a9f4dd13c034a36cbe7dba2a58e01e5668619847b68a527b73"}, + {file = "google_api_core-2.24.1rc1.tar.gz", hash = "sha256:d1cf8265c8b0b171a87d84adc8709a5e48147ca529d6f96d6a2be613a195eb78"}, ] [[package]] name = "google-api-core" -version = "2.24.1rc0" +version = "2.24.1rc1" extras = ["grpc"] requires_python = ">=3.7" summary = "Google API client core library" groups = ["default"] dependencies = [ - "google-api-core==2.24.1rc0", + "google-api-core==2.24.1rc1", "grpcio-status<2.0.dev0,>=1.33.2", "grpcio-status<2.0.dev0,>=1.49.1; python_version >= \"3.11\"", "grpcio<2.0dev,>=1.33.2", "grpcio<2.0dev,>=1.49.1; python_version >= \"3.11\"", ] files = [ - {file = "google_api_core-2.24.1rc0-py3-none-any.whl", hash = "sha256:3eba70aefbc0e87d87dc4602ca2174ab72a112501f1d0d60a9b183b45aa0c86d"}, - {file = "google_api_core-2.24.1rc0.tar.gz", hash = "sha256:790c89649b86fb79b168b9955c9ed35612fbe966a89994675c193c26599859dc"}, + {file = "google_api_core-2.24.1rc1-py3-none-any.whl", hash = "sha256:92ee3eed90a397a9f4dd13c034a36cbe7dba2a58e01e5668619847b68a527b73"}, + {file = "google_api_core-2.24.1rc1.tar.gz", hash = "sha256:d1cf8265c8b0b171a87d84adc8709a5e48147ca529d6f96d6a2be613a195eb78"}, ] [[package]] @@ -1474,7 +1474,7 @@ files = [ [[package]] name = "llama-index-core" -version = "0.12.12" +version = "0.12.13" requires_python = "<4.0,>=3.9" summary = "Interface between LLMs and your data" groups = ["default"] @@ -1504,8 +1504,8 @@ dependencies = [ "wrapt", ] files = [ - {file = "llama_index_core-0.12.12-py3-none-any.whl", hash = "sha256:cea491e87f65e6b775b5aef95720de302b85af1bdc67d779c4b09170a30e5b98"}, - {file = "llama_index_core-0.12.12.tar.gz", hash = "sha256:068b755bbc681731336e822f5977d7608585e8f759c6293ebd812e2659316a37"}, + {file = "llama_index_core-0.12.13-py3-none-any.whl", hash = "sha256:9708bb594bbddffd6ff0767242e49d8978d1ba60a2e62e071d9d123ad2f17e6f"}, + {file = "llama_index_core-0.12.13.tar.gz", hash = "sha256:77af0161246ce1de38efc17cb6438dfff9e9558af00bcfac7dd4d0b7325efa4b"}, ] [[package]] @@ -1785,7 +1785,7 @@ files = [ [[package]] name = "llama-index-readers-file" -version = "0.4.3" +version = "0.4.4" requires_python = "<4.0,>=3.9" summary = "llama-index readers file integration" groups = ["default"] @@ -1797,8 +1797,8 @@ dependencies = [ "striprtf<0.0.27,>=0.0.26", ] files = [ - {file = "llama_index_readers_file-0.4.3-py3-none-any.whl", hash = "sha256:c669da967ea534e3af3660f9fd730c71c725288f5c57906bcce338414ebeee5c"}, - {file = "llama_index_readers_file-0.4.3.tar.gz", hash = "sha256:07514bebed7ce431c1b3ef9279d09aa3d1bba8e342d661860a033355b98fb33a"}, + {file = "llama_index_readers_file-0.4.4-py3-none-any.whl", hash = "sha256:01589a4895e2d4abad30294c9b0d2813520ee1f5164922ad92f11e64a1d65d6c"}, + {file = "llama_index_readers_file-0.4.4.tar.gz", hash = "sha256:e076b3fa1e68eea1594d47cec1f64b384fb6067f2697ca8aae22b4a21ad27ca7"}, ] [[package]] @@ -2558,7 +2558,7 @@ files = [ [[package]] name = "pydantic" -version = "2.10.5" +version = "2.10.6" requires_python = ">=3.8" summary = "Data validation using Python type hints" groups = ["default"] @@ -2568,8 +2568,8 @@ dependencies = [ "typing-extensions>=4.12.2", ] files = [ - {file = "pydantic-2.10.5-py3-none-any.whl", hash = "sha256:4dd4e322dbe55472cb7ca7e73f4b63574eecccf2835ffa2af9021ce113c83c53"}, - {file = "pydantic-2.10.5.tar.gz", hash = "sha256:278b38dbbaec562011d659ee05f63346951b3a248a6f3642e1bc68894ea2b4ff"}, + {file = "pydantic-2.10.6-py3-none-any.whl", hash = "sha256:427d664bf0b8a2b34ff5dd0f5a18df00591adcee7198fbd71981054cef37b584"}, + {file = "pydantic-2.10.6.tar.gz", hash = "sha256:ca5daa827cce33de7a42be142548b0096bf05a7e7b365aebfa5f8eeec7128236"}, ] [[package]] @@ -3052,7 +3052,7 @@ files = [ [[package]] name = "s3transfer" -version = "0.11.1" +version = "0.11.2" requires_python = ">=3.8" summary = "An Amazon S3 Transfer Manager" groups = ["default"] @@ -3060,8 +3060,8 @@ dependencies = [ "botocore<2.0a.0,>=1.36.0", ] files = [ - {file = "s3transfer-0.11.1-py3-none-any.whl", hash = "sha256:8fa0aa48177be1f3425176dfe1ab85dcd3d962df603c3dbfc585e6bf857ef0ff"}, - {file = "s3transfer-0.11.1.tar.gz", hash = "sha256:3f25c900a367c8b7f7d8f9c34edc87e300bde424f779dc9f0a8ae4f9df9264f6"}, + {file = "s3transfer-0.11.2-py3-none-any.whl", hash = "sha256:be6ecb39fadd986ef1701097771f87e4d2f821f27f6071c872143884d2950fbc"}, + {file = "s3transfer-0.11.2.tar.gz", hash = "sha256:3b39185cb72f5acc77db1a58b6e25b977f28d20496b6e58d6813d75f464d632f"}, ] [[package]] @@ -3515,7 +3515,7 @@ files = [ [[package]] name = "unstract-sdk" -version = "0.55.0rc2" +version = "0.56.0rc3" requires_python = "<3.11.1,>=3.9" summary = "A framework for writing Unstract Tools/Apps" groups = ["default"] @@ -3554,8 +3554,8 @@ dependencies = [ "transformers==4.37.0", ] files = [ - {file = "unstract_sdk-0.55.0rc2-py3-none-any.whl", hash = "sha256:d3cdd3c06f3b773ecf26f2abc0f71f89e5bbc9748b1ddb0ea5a29c4164c28da3"}, - {file = "unstract_sdk-0.55.0rc2.tar.gz", hash = "sha256:d4cb9a58a7740b01854e372472901761e86e64eca83d6250ff17b047ad25b39c"}, + {file = "unstract_sdk-0.56.0rc3-py3-none-any.whl", hash = "sha256:abc8ee27b4eaa9694f272460b2696ed2798ff60b9b12539d327cdeaacbb02914"}, + {file = "unstract_sdk-0.56.0rc3.tar.gz", hash = "sha256:f09db70f91fe5405918a27b91b3807d812b223dae54b9ad1f688f02a88512bb1"}, ] [[package]] diff --git a/unstract/filesystem/pyproject.toml b/unstract/filesystem/pyproject.toml index 6414b44bb..8cb87aa01 100644 --- a/unstract/filesystem/pyproject.toml +++ b/unstract/filesystem/pyproject.toml @@ -10,7 +10,7 @@ authors = [ {name = "Zipstack Inc.", email = "devsupport@zipstack.com"}, ] dependencies = [ - "unstract-sdk~=0.55.0rc2", + "unstract-sdk~=0.56.0rc3", ] requires-python = ">=3.9,<3.11.1" readme = "README.md" diff --git a/unstract/tool-registry/pyproject.toml b/unstract/tool-registry/pyproject.toml index 053f3b7a6..de9edf549 100644 --- a/unstract/tool-registry/pyproject.toml +++ b/unstract/tool-registry/pyproject.toml @@ -13,7 +13,7 @@ dependencies = [ "docker~=6.1.3", "jsonschema~=4.18.2", "PyYAML~=6.0.1", - "unstract-sdk~=0.55.0rc2", + "unstract-sdk~=0.56.0rc3", # ! IMPORTANT! # Local dependencies usually need to be added as: # https://pdm-project.org/latest/usage/dependency/#local-dependencies diff --git a/unstract/tool-registry/tool_registry_config/public_tools.json b/unstract/tool-registry/tool_registry_config/public_tools.json index eec0a0fd9..29c00087b 100644 --- a/unstract/tool-registry/tool_registry_config/public_tools.json +++ b/unstract/tool-registry/tool_registry_config/public_tools.json @@ -5,7 +5,7 @@ "schemaVersion": "0.0.1", "displayName": "File Classifier", "functionName": "classify", - "toolVersion": "0.0.46", + "toolVersion": "0.0.49", "description": "Classifies a file into a bin based on its contents", "input": { "description": "File to be classified" @@ -106,9 +106,9 @@ "properties": {} }, "icon": "\n\n \n \n \n \n \n \n \n \n \n \n \n\n", - "image_url": "docker:unstract/tool-classifier:0.0.46", + "image_url": "docker:unstract/tool-classifier:0.0.49", "image_name": "unstract/tool-classifier", - "image_tag": "0.0.46" + "image_tag": "0.0.49" }, "text_extractor": { "tool_uid": "text_extractor", @@ -116,7 +116,7 @@ "schemaVersion": "0.0.1", "displayName": "Text Extractor", "functionName": "text_extractor", - "toolVersion": "0.0.43", + "toolVersion": "0.0.46", "description": "The Text Extractor is a powerful tool designed to convert documents to its text form or Extract texts from documents", "input": { "description": "Document" @@ -191,8 +191,8 @@ } }, "icon": "\n\n \n \n \n \n \n \n \n \n \n \n \n\n", - "image_url": "docker:unstract/tool-text-extractor:0.0.43", + "image_url": "docker:unstract/tool-text-extractor:0.0.46", "image_name": "unstract/tool-text-extractor", - "image_tag": "0.0.43" + "image_tag": "0.0.46" } } From c3980ec0fe1504c8fd81bc510804b4ce3d648b4d Mon Sep 17 00:00:00 2001 From: ali <117142933+muhammad-ali-e@users.noreply.github.com> Date: Fri, 24 Jan 2025 15:47:28 +0530 Subject: [PATCH 03/11] updated migration with datamigation from empty string to null (#1091) --- backend/usage_v2/migrations/0002_alter_usage_run_id.py | 8 ++++++++ .../src/unstract/platform_service/controller/platform.py | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/backend/usage_v2/migrations/0002_alter_usage_run_id.py b/backend/usage_v2/migrations/0002_alter_usage_run_id.py index 1aa9c0472..f2e310ca3 100644 --- a/backend/usage_v2/migrations/0002_alter_usage_run_id.py +++ b/backend/usage_v2/migrations/0002_alter_usage_run_id.py @@ -3,6 +3,11 @@ from django.db import migrations, models +def convert_empty_to_null(apps, schema_editor): + usage = apps.get_model("usage_v2", "Usage") + usage.objects.filter(run_id="").update(run_id=None) + + class Migration(migrations.Migration): dependencies = [ @@ -10,6 +15,9 @@ class Migration(migrations.Migration): ] operations = [ + migrations.RunPython( + convert_empty_to_null, reverse_code=migrations.RunPython.noop + ), migrations.AlterField( model_name="usage", name="run_id", diff --git a/platform-service/src/unstract/platform_service/controller/platform.py b/platform-service/src/unstract/platform_service/controller/platform.py index fc6c83edf..39f277ae8 100644 --- a/platform-service/src/unstract/platform_service/controller/platform.py +++ b/platform-service/src/unstract/platform_service/controller/platform.py @@ -198,7 +198,7 @@ def usage() -> Any: workflow_id = payload.get("workflow_id") execution_id = payload.get("execution_id", "") adapter_instance_id = payload.get("adapter_instance_id", "") - run_id = payload.get("run_id", "") + run_id = payload.get("run_id") usage_type = payload.get("usage_type", "") llm_usage_reason = payload.get("llm_usage_reason", "") model_name = payload.get("model_name", "") From cbc8f648491900317d753a20f19d85e118a80bd6 Mon Sep 17 00:00:00 2001 From: harini-venkataraman <115449948+harini-venkataraman@users.noreply.github.com> Date: Mon, 27 Jan 2025 17:12:29 +0530 Subject: [PATCH 04/11] [FIX] Adding execution source for Prompt run (#1094) Adding execution source for fetch response --- .../prompt_studio/prompt_studio_core_v2/prompt_studio_helper.py | 1 + 1 file changed, 1 insertion(+) diff --git a/backend/prompt_studio/prompt_studio_core_v2/prompt_studio_helper.py b/backend/prompt_studio/prompt_studio_core_v2/prompt_studio_helper.py index f5ccf5419..3c6044223 100644 --- a/backend/prompt_studio/prompt_studio_core_v2/prompt_studio_helper.py +++ b/backend/prompt_studio/prompt_studio_core_v2/prompt_studio_helper.py @@ -902,6 +902,7 @@ def _fetch_response( TSPKeys.FILE_HASH: file_hash, TSPKeys.FILE_PATH: doc_path, Common.LOG_EVENTS_ID: StateStore.get(Common.LOG_EVENTS_ID), + TSPKeys.EXECUTION_SOURCE: ExecutionSource.IDE.value, } util = PromptIdeBaseTool(log_level=LogLevel.INFO, org_id=org_id) From 77c84720027ea2441dd9ab528d53a9113128ccb6 Mon Sep 17 00:00:00 2001 From: Gayathri <142381512+gaya3-zipstack@users.noreply.github.com> Date: Tue, 28 Jan 2025 09:09:00 +0530 Subject: [PATCH 05/11] Version roll for sdk 0.56.0rc4 (#1097) * SDK version 0.56.0rc4 roll * Commit pdm.lock changes --- backend/pdm.lock | 68 ++++++++-------- backend/pyproject.toml | 2 +- backend/sample.env | 4 +- pdm.lock | 68 ++++++++-------- platform-service/pdm.lock | 78 +++++++++---------- platform-service/pyproject.toml | 2 +- prompt-service/pdm.lock | 64 +++++++-------- prompt-service/pyproject.toml | 2 +- pyproject.toml | 2 +- tools/classifier/requirements.txt | 2 +- tools/classifier/src/config/properties.json | 2 +- tools/structure/requirements.txt | 2 +- tools/structure/src/config/properties.json | 2 +- tools/text_extractor/requirements.txt | 2 +- .../text_extractor/src/config/properties.json | 2 +- unstract/filesystem/pdm.lock | 78 +++++++++---------- unstract/filesystem/pyproject.toml | 2 +- unstract/tool-registry/pyproject.toml | 2 +- .../tool_registry_config/public_tools.json | 12 +-- 19 files changed, 198 insertions(+), 198 deletions(-) diff --git a/backend/pdm.lock b/backend/pdm.lock index 4b623c155..c9b2ee969 100644 --- a/backend/pdm.lock +++ b/backend/pdm.lock @@ -5,7 +5,7 @@ groups = ["default", "deploy", "dev", "test"] strategy = ["cross_platform", "inherit_metadata"] lock_version = "4.4.2" -content_hash = "sha256:082fcff0302d049c12d2ad56e54cc76ad29a4c9e5c52d242a63190c5ce8ac2a1" +content_hash = "sha256:91a2107cba5ace82af1ff886802662781f7736cb1c414561d6de9b4b4c3f77d4" [[package]] name = "adlfs" @@ -328,13 +328,13 @@ files = [ [[package]] name = "attrs" -version = "24.3.0" +version = "25.1.0" requires_python = ">=3.8" summary = "Classes Without Boilerplate" groups = ["default", "dev"] files = [ - {file = "attrs-24.3.0-py3-none-any.whl", hash = "sha256:ac96cd038792094f438ad1f6ff80837353805ac950cd2aa0e0625ef19850c308"}, - {file = "attrs-24.3.0.tar.gz", hash = "sha256:8f5c07333d543103541ba7be0e2ce16eeee8130cb0b3f9238ab904ce1e85baff"}, + {file = "attrs-25.1.0-py3-none-any.whl", hash = "sha256:c75a69e28a550a7e93789579c22aa26b0f5b83b75dc4e08fe092980051e1090a"}, + {file = "attrs-25.1.0.tar.gz", hash = "sha256:1c97078a80c814273a76b2a298a932eb681c87415c11dee0a6921de7f1b02c3e"}, ] [[package]] @@ -915,7 +915,7 @@ files = [ [[package]] name = "deprecated" -version = "1.2.15" +version = "1.2.18" requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" summary = "Python @deprecated decorator to deprecate old python classes, functions or methods." groups = ["default", "dev"] @@ -923,8 +923,8 @@ dependencies = [ "wrapt<2,>=1.10", ] files = [ - {file = "Deprecated-1.2.15-py2.py3-none-any.whl", hash = "sha256:353bc4a8ac4bfc96800ddab349d89c25dec1079f65fd53acdcc1e0b975b21320"}, - {file = "deprecated-1.2.15.tar.gz", hash = "sha256:683e561a90de76239796e6b6feac66b99030d2dd3fcf61ef996330f14bbb9b0d"}, + {file = "Deprecated-1.2.18-py2.py3-none-any.whl", hash = "sha256:bd5011788200372a32418f888e326a09ff80d0214bd961147cfed01b5c018eec"}, + {file = "deprecated-1.2.18.tar.gz", hash = "sha256:422b6f6d859da6f2ef57857761bfb392480502a64c3028ca9bbe86085d72115d"}, ] [[package]] @@ -2260,7 +2260,7 @@ files = [ [[package]] name = "llama-index-core" -version = "0.12.13" +version = "0.12.14" requires_python = "<4.0,>=3.9" summary = "Interface between LLMs and your data" groups = ["default", "dev"] @@ -2290,8 +2290,8 @@ dependencies = [ "wrapt", ] files = [ - {file = "llama_index_core-0.12.13-py3-none-any.whl", hash = "sha256:9708bb594bbddffd6ff0767242e49d8978d1ba60a2e62e071d9d123ad2f17e6f"}, - {file = "llama_index_core-0.12.13.tar.gz", hash = "sha256:77af0161246ce1de38efc17cb6438dfff9e9558af00bcfac7dd4d0b7325efa4b"}, + {file = "llama_index_core-0.12.14-py3-none-any.whl", hash = "sha256:6fdb30e3fadf98e7df75f9db5d06f6a7f8503ca545a71e048d786ff88012bd50"}, + {file = "llama_index_core-0.12.14.tar.gz", hash = "sha256:378bbf5bf4d1a8c692d3a980c1a6ed3be7a9afb676a4960429dea15f62d06cd3"}, ] [[package]] @@ -2987,7 +2987,7 @@ files = [ [[package]] name = "openai" -version = "1.60.0" +version = "1.60.1" requires_python = ">=3.8" summary = "The official Python library for the openai API" groups = ["default", "dev"] @@ -3002,8 +3002,8 @@ dependencies = [ "typing-extensions<5,>=4.11", ] files = [ - {file = "openai-1.60.0-py3-none-any.whl", hash = "sha256:df06c43be8018274980ac363da07d4b417bd835ead1c66e14396f6f15a0d5dda"}, - {file = "openai-1.60.0.tar.gz", hash = "sha256:7fa536cd4b644718645b874d2706e36dbbef38b327e42ca0623275da347ee1a9"}, + {file = "openai-1.60.1-py3-none-any.whl", hash = "sha256:714181ec1c452353d456f143c22db892de7b373e3165063d02a2b798ed575ba1"}, + {file = "openai-1.60.1.tar.gz", hash = "sha256:beb1541dfc38b002bd629ab68b0d6fe35b870c5f4311d9bc4404d85af3214d5e"}, ] [[package]] @@ -3381,20 +3381,20 @@ files = [ [[package]] name = "protobuf" -version = "4.25.5" +version = "4.25.6" requires_python = ">=3.8" summary = "" groups = ["default", "dev"] files = [ - {file = "protobuf-4.25.5-cp310-abi3-win32.whl", hash = "sha256:5e61fd921603f58d2f5acb2806a929b4675f8874ff5f330b7d6f7e2e784bbcd8"}, - {file = "protobuf-4.25.5-cp310-abi3-win_amd64.whl", hash = "sha256:4be0571adcbe712b282a330c6e89eae24281344429ae95c6d85e79e84780f5ea"}, - {file = "protobuf-4.25.5-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:b2fde3d805354df675ea4c7c6338c1aecd254dfc9925e88c6d31a2bcb97eb173"}, - {file = "protobuf-4.25.5-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:919ad92d9b0310070f8356c24b855c98df2b8bd207ebc1c0c6fcc9ab1e007f3d"}, - {file = "protobuf-4.25.5-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:fe14e16c22be926d3abfcb500e60cab068baf10b542b8c858fa27e098123e331"}, - {file = "protobuf-4.25.5-cp39-cp39-win32.whl", hash = "sha256:abe32aad8561aa7cc94fc7ba4fdef646e576983edb94a73381b03c53728a626f"}, - {file = "protobuf-4.25.5-cp39-cp39-win_amd64.whl", hash = "sha256:7a183f592dc80aa7c8da7ad9e55091c4ffc9497b3054452d629bb85fa27c2a45"}, - {file = "protobuf-4.25.5-py3-none-any.whl", hash = "sha256:0aebecb809cae990f8129ada5ca273d9d670b76d9bfc9b1809f0a9c02b7dbf41"}, - {file = "protobuf-4.25.5.tar.gz", hash = "sha256:7f8249476b4a9473645db7f8ab42b02fe1488cbe5fb72fddd445e0665afd8584"}, + {file = "protobuf-4.25.6-cp310-abi3-win32.whl", hash = "sha256:61df6b5786e2b49fc0055f636c1e8f0aff263808bb724b95b164685ac1bcc13a"}, + {file = "protobuf-4.25.6-cp310-abi3-win_amd64.whl", hash = "sha256:b8f837bfb77513fe0e2f263250f423217a173b6d85135be4d81e96a4653bcd3c"}, + {file = "protobuf-4.25.6-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:6d4381f2417606d7e01750e2729fe6fbcda3f9883aa0c32b51d23012bded6c91"}, + {file = "protobuf-4.25.6-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:5dd800da412ba7f6f26d2c08868a5023ce624e1fdb28bccca2dc957191e81fb5"}, + {file = "protobuf-4.25.6-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:4434ff8bb5576f9e0c78f47c41cdf3a152c0b44de475784cd3fd170aef16205a"}, + {file = "protobuf-4.25.6-cp39-cp39-win32.whl", hash = "sha256:3f3b0b39db04b509859361ac9bca65a265fe9342e6b9406eda58029f5b1d10b2"}, + {file = "protobuf-4.25.6-cp39-cp39-win_amd64.whl", hash = "sha256:6ef2045f89d4ad8d95fd43cd84621487832a61d15b49500e4c1350e8a0ef96be"}, + {file = "protobuf-4.25.6-py3-none-any.whl", hash = "sha256:07972021c8e30b870cfc0863409d033af940213e0e7f64e27fe017b929d2c9f7"}, + {file = "protobuf-4.25.6.tar.gz", hash = "sha256:f8cfbae7c5afd0d0eaccbe73267339bff605a2315860bb1ba08eb66670a9a91f"}, ] [[package]] @@ -3765,7 +3765,7 @@ files = [ [[package]] name = "pypdf" -version = "5.1.0" +version = "5.2.0" requires_python = ">=3.8" summary = "A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files" groups = ["default", "dev"] @@ -3773,8 +3773,8 @@ dependencies = [ "typing-extensions>=4.0; python_version < \"3.11\"", ] files = [ - {file = "pypdf-5.1.0-py3-none-any.whl", hash = "sha256:3bd4f503f4ebc58bae40d81e81a9176c400cbbac2ba2d877367595fb524dfdfc"}, - {file = "pypdf-5.1.0.tar.gz", hash = "sha256:425a129abb1614183fd1aca6982f650b47f8026867c0ce7c4b9f281c443d2740"}, + {file = "pypdf-5.2.0-py3-none-any.whl", hash = "sha256:d107962ec45e65e3bd10c1d9242bdbbedaa38193c9e3a6617bd6d996e5747b19"}, + {file = "pypdf-5.2.0.tar.gz", hash = "sha256:7c38e68420f038f2c4998fd9d6717b6db4f6cef1642e9cf384d519c9cf094663"}, ] [[package]] @@ -4024,7 +4024,7 @@ files = [ [[package]] name = "referencing" -version = "0.36.1" +version = "0.36.2" requires_python = ">=3.9" summary = "JSON Referencing + Python" groups = ["default", "dev"] @@ -4034,8 +4034,8 @@ dependencies = [ "typing-extensions>=4.4.0; python_version < \"3.13\"", ] files = [ - {file = "referencing-0.36.1-py3-none-any.whl", hash = "sha256:363d9c65f080d0d70bc41c721dce3c7f3e77fc09f269cd5c8813da18069a6794"}, - {file = "referencing-0.36.1.tar.gz", hash = "sha256:ca2e6492769e3602957e9b831b94211599d2aade9477f5d44110d2530cf9aade"}, + {file = "referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0"}, + {file = "referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa"}, ] [[package]] @@ -4991,7 +4991,7 @@ path = "../unstract/filesystem" summary = "Unstract filesystem package" groups = ["default", "dev"] dependencies = [ - "unstract-sdk~=0.56.0rc3", + "unstract-sdk~=0.56.0rc4", ] [[package]] @@ -5009,7 +5009,7 @@ dependencies = [ [[package]] name = "unstract-sdk" -version = "0.56.0rc3" +version = "0.56.0rc4" requires_python = "<3.11.1,>=3.9" summary = "A framework for writing Unstract Tools/Apps" groups = ["default", "dev"] @@ -5048,8 +5048,8 @@ dependencies = [ "transformers==4.37.0", ] files = [ - {file = "unstract_sdk-0.56.0rc3-py3-none-any.whl", hash = "sha256:abc8ee27b4eaa9694f272460b2696ed2798ff60b9b12539d327cdeaacbb02914"}, - {file = "unstract_sdk-0.56.0rc3.tar.gz", hash = "sha256:f09db70f91fe5405918a27b91b3807d812b223dae54b9ad1f688f02a88512bb1"}, + {file = "unstract_sdk-0.56.0rc4-py3-none-any.whl", hash = "sha256:e9128fc444b6d5fa5bc3dc9cd533113abb13bb4ff4ffd9195b18ca5e2450419c"}, + {file = "unstract_sdk-0.56.0rc4.tar.gz", hash = "sha256:ac5430ac48094aa15c45fb90f05c11c8d5a62d79c8cc8fd48a4639724588b897"}, ] [[package]] @@ -5065,7 +5065,7 @@ dependencies = [ "docker~=6.1.3", "jsonschema~=4.18.2", "unstract-flags", - "unstract-sdk~=0.56.0rc3", + "unstract-sdk~=0.56.0rc4", "unstract-tool-sandbox", ] diff --git a/backend/pyproject.toml b/backend/pyproject.toml index c0bb2bd01..4b9b59092 100644 --- a/backend/pyproject.toml +++ b/backend/pyproject.toml @@ -32,7 +32,7 @@ dependencies = [ "python-socketio==5.9.0", # For log_events "social-auth-app-django==5.3.0", # For OAuth "social-auth-core==4.4.2", # For OAuth - "unstract-sdk~=0.56.0rc3", + "unstract-sdk~=0.56.0rc4", # ! IMPORTANT! # Indirect local dependencies usually need to be added in their own projects # as: https://pdm-project.org/latest/usage/dependency/#local-dependencies. diff --git a/backend/sample.env b/backend/sample.env index 2ee45e4ad..b81af5053 100644 --- a/backend/sample.env +++ b/backend/sample.env @@ -82,9 +82,9 @@ REMOTE_PROMPT_STUDIO_FILE_PATH= # Structure Tool Image (Runs prompt studio exported tools) # https://hub.docker.com/r/unstract/tool-structure -STRUCTURE_TOOL_IMAGE_URL="docker:unstract/tool-structure:0.0.59" +STRUCTURE_TOOL_IMAGE_URL="docker:unstract/tool-structure:0.0.60" STRUCTURE_TOOL_IMAGE_NAME="unstract/tool-structure" -STRUCTURE_TOOL_IMAGE_TAG="0.0.59" +STRUCTURE_TOOL_IMAGE_TAG="0.0.60" # Feature Flags EVALUATION_SERVER_IP=unstract-flipt diff --git a/pdm.lock b/pdm.lock index 584b93e1e..5e87c74b2 100644 --- a/pdm.lock +++ b/pdm.lock @@ -5,7 +5,7 @@ groups = ["default", "hook-check-django-migrations", "lint"] strategy = ["cross_platform", "inherit_metadata"] lock_version = "4.4.2" -content_hash = "sha256:d993c122bcfa80cbba27d8290731522e4fe18415b2054ca313bab38e994513ae" +content_hash = "sha256:9dc5e146b58d8cf31432d2a076127c65181c5bbffc5e8ef79ec87287fe3b30d3" [[package]] name = "adlfs" @@ -328,13 +328,13 @@ files = [ [[package]] name = "attrs" -version = "24.3.0" +version = "25.1.0" requires_python = ">=3.8" summary = "Classes Without Boilerplate" groups = ["hook-check-django-migrations"] files = [ - {file = "attrs-24.3.0-py3-none-any.whl", hash = "sha256:ac96cd038792094f438ad1f6ff80837353805ac950cd2aa0e0625ef19850c308"}, - {file = "attrs-24.3.0.tar.gz", hash = "sha256:8f5c07333d543103541ba7be0e2ce16eeee8130cb0b3f9238ab904ce1e85baff"}, + {file = "attrs-25.1.0-py3-none-any.whl", hash = "sha256:c75a69e28a550a7e93789579c22aa26b0f5b83b75dc4e08fe092980051e1090a"}, + {file = "attrs-25.1.0.tar.gz", hash = "sha256:1c97078a80c814273a76b2a298a932eb681c87415c11dee0a6921de7f1b02c3e"}, ] [[package]] @@ -909,7 +909,7 @@ files = [ [[package]] name = "deprecated" -version = "1.2.15" +version = "1.2.18" requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" summary = "Python @deprecated decorator to deprecate old python classes, functions or methods." groups = ["hook-check-django-migrations"] @@ -917,8 +917,8 @@ dependencies = [ "wrapt<2,>=1.10", ] files = [ - {file = "Deprecated-1.2.15-py2.py3-none-any.whl", hash = "sha256:353bc4a8ac4bfc96800ddab349d89c25dec1079f65fd53acdcc1e0b975b21320"}, - {file = "deprecated-1.2.15.tar.gz", hash = "sha256:683e561a90de76239796e6b6feac66b99030d2dd3fcf61ef996330f14bbb9b0d"}, + {file = "Deprecated-1.2.18-py2.py3-none-any.whl", hash = "sha256:bd5011788200372a32418f888e326a09ff80d0214bd961147cfed01b5c018eec"}, + {file = "deprecated-1.2.18.tar.gz", hash = "sha256:422b6f6d859da6f2ef57857761bfb392480502a64c3028ca9bbe86085d72115d"}, ] [[package]] @@ -2231,7 +2231,7 @@ files = [ [[package]] name = "llama-index-core" -version = "0.12.13" +version = "0.12.14" requires_python = "<4.0,>=3.9" summary = "Interface between LLMs and your data" groups = ["hook-check-django-migrations"] @@ -2261,8 +2261,8 @@ dependencies = [ "wrapt", ] files = [ - {file = "llama_index_core-0.12.13-py3-none-any.whl", hash = "sha256:9708bb594bbddffd6ff0767242e49d8978d1ba60a2e62e071d9d123ad2f17e6f"}, - {file = "llama_index_core-0.12.13.tar.gz", hash = "sha256:77af0161246ce1de38efc17cb6438dfff9e9558af00bcfac7dd4d0b7325efa4b"}, + {file = "llama_index_core-0.12.14-py3-none-any.whl", hash = "sha256:6fdb30e3fadf98e7df75f9db5d06f6a7f8503ca545a71e048d786ff88012bd50"}, + {file = "llama_index_core-0.12.14.tar.gz", hash = "sha256:378bbf5bf4d1a8c692d3a980c1a6ed3be7a9afb676a4960429dea15f62d06cd3"}, ] [[package]] @@ -2993,7 +2993,7 @@ files = [ [[package]] name = "openai" -version = "1.60.0" +version = "1.60.1" requires_python = ">=3.8" summary = "The official Python library for the openai API" groups = ["hook-check-django-migrations"] @@ -3008,8 +3008,8 @@ dependencies = [ "typing-extensions<5,>=4.11", ] files = [ - {file = "openai-1.60.0-py3-none-any.whl", hash = "sha256:df06c43be8018274980ac363da07d4b417bd835ead1c66e14396f6f15a0d5dda"}, - {file = "openai-1.60.0.tar.gz", hash = "sha256:7fa536cd4b644718645b874d2706e36dbbef38b327e42ca0623275da347ee1a9"}, + {file = "openai-1.60.1-py3-none-any.whl", hash = "sha256:714181ec1c452353d456f143c22db892de7b373e3165063d02a2b798ed575ba1"}, + {file = "openai-1.60.1.tar.gz", hash = "sha256:beb1541dfc38b002bd629ab68b0d6fe35b870c5f4311d9bc4404d85af3214d5e"}, ] [[package]] @@ -3394,20 +3394,20 @@ files = [ [[package]] name = "protobuf" -version = "4.25.5" +version = "4.25.6" requires_python = ">=3.8" summary = "" groups = ["hook-check-django-migrations"] files = [ - {file = "protobuf-4.25.5-cp310-abi3-win32.whl", hash = "sha256:5e61fd921603f58d2f5acb2806a929b4675f8874ff5f330b7d6f7e2e784bbcd8"}, - {file = "protobuf-4.25.5-cp310-abi3-win_amd64.whl", hash = "sha256:4be0571adcbe712b282a330c6e89eae24281344429ae95c6d85e79e84780f5ea"}, - {file = "protobuf-4.25.5-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:b2fde3d805354df675ea4c7c6338c1aecd254dfc9925e88c6d31a2bcb97eb173"}, - {file = "protobuf-4.25.5-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:919ad92d9b0310070f8356c24b855c98df2b8bd207ebc1c0c6fcc9ab1e007f3d"}, - {file = "protobuf-4.25.5-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:fe14e16c22be926d3abfcb500e60cab068baf10b542b8c858fa27e098123e331"}, - {file = "protobuf-4.25.5-cp39-cp39-win32.whl", hash = "sha256:abe32aad8561aa7cc94fc7ba4fdef646e576983edb94a73381b03c53728a626f"}, - {file = "protobuf-4.25.5-cp39-cp39-win_amd64.whl", hash = "sha256:7a183f592dc80aa7c8da7ad9e55091c4ffc9497b3054452d629bb85fa27c2a45"}, - {file = "protobuf-4.25.5-py3-none-any.whl", hash = "sha256:0aebecb809cae990f8129ada5ca273d9d670b76d9bfc9b1809f0a9c02b7dbf41"}, - {file = "protobuf-4.25.5.tar.gz", hash = "sha256:7f8249476b4a9473645db7f8ab42b02fe1488cbe5fb72fddd445e0665afd8584"}, + {file = "protobuf-4.25.6-cp310-abi3-win32.whl", hash = "sha256:61df6b5786e2b49fc0055f636c1e8f0aff263808bb724b95b164685ac1bcc13a"}, + {file = "protobuf-4.25.6-cp310-abi3-win_amd64.whl", hash = "sha256:b8f837bfb77513fe0e2f263250f423217a173b6d85135be4d81e96a4653bcd3c"}, + {file = "protobuf-4.25.6-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:6d4381f2417606d7e01750e2729fe6fbcda3f9883aa0c32b51d23012bded6c91"}, + {file = "protobuf-4.25.6-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:5dd800da412ba7f6f26d2c08868a5023ce624e1fdb28bccca2dc957191e81fb5"}, + {file = "protobuf-4.25.6-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:4434ff8bb5576f9e0c78f47c41cdf3a152c0b44de475784cd3fd170aef16205a"}, + {file = "protobuf-4.25.6-cp39-cp39-win32.whl", hash = "sha256:3f3b0b39db04b509859361ac9bca65a265fe9342e6b9406eda58029f5b1d10b2"}, + {file = "protobuf-4.25.6-cp39-cp39-win_amd64.whl", hash = "sha256:6ef2045f89d4ad8d95fd43cd84621487832a61d15b49500e4c1350e8a0ef96be"}, + {file = "protobuf-4.25.6-py3-none-any.whl", hash = "sha256:07972021c8e30b870cfc0863409d033af940213e0e7f64e27fe017b929d2c9f7"}, + {file = "protobuf-4.25.6.tar.gz", hash = "sha256:f8cfbae7c5afd0d0eaccbe73267339bff605a2315860bb1ba08eb66670a9a91f"}, ] [[package]] @@ -3800,7 +3800,7 @@ files = [ [[package]] name = "pypdf" -version = "5.1.0" +version = "5.2.0" requires_python = ">=3.8" summary = "A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files" groups = ["hook-check-django-migrations"] @@ -3808,8 +3808,8 @@ dependencies = [ "typing-extensions>=4.0; python_version < \"3.11\"", ] files = [ - {file = "pypdf-5.1.0-py3-none-any.whl", hash = "sha256:3bd4f503f4ebc58bae40d81e81a9176c400cbbac2ba2d877367595fb524dfdfc"}, - {file = "pypdf-5.1.0.tar.gz", hash = "sha256:425a129abb1614183fd1aca6982f650b47f8026867c0ce7c4b9f281c443d2740"}, + {file = "pypdf-5.2.0-py3-none-any.whl", hash = "sha256:d107962ec45e65e3bd10c1d9242bdbbedaa38193c9e3a6617bd6d996e5747b19"}, + {file = "pypdf-5.2.0.tar.gz", hash = "sha256:7c38e68420f038f2c4998fd9d6717b6db4f6cef1642e9cf384d519c9cf094663"}, ] [[package]] @@ -3997,7 +3997,7 @@ files = [ [[package]] name = "referencing" -version = "0.36.1" +version = "0.36.2" requires_python = ">=3.9" summary = "JSON Referencing + Python" groups = ["hook-check-django-migrations"] @@ -4007,8 +4007,8 @@ dependencies = [ "typing-extensions>=4.4.0; python_version < \"3.13\"", ] files = [ - {file = "referencing-0.36.1-py3-none-any.whl", hash = "sha256:363d9c65f080d0d70bc41c721dce3c7f3e77fc09f269cd5c8813da18069a6794"}, - {file = "referencing-0.36.1.tar.gz", hash = "sha256:ca2e6492769e3602957e9b831b94211599d2aade9477f5d44110d2530cf9aade"}, + {file = "referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0"}, + {file = "referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa"}, ] [[package]] @@ -5056,7 +5056,7 @@ path = "./unstract/filesystem" summary = "Unstract filesystem package" groups = ["hook-check-django-migrations"] dependencies = [ - "unstract-sdk~=0.56.0rc3", + "unstract-sdk~=0.56.0rc4", ] [[package]] @@ -5074,7 +5074,7 @@ dependencies = [ [[package]] name = "unstract-sdk" -version = "0.56.0rc3" +version = "0.56.0rc4" requires_python = "<3.11.1,>=3.9" summary = "A framework for writing Unstract Tools/Apps" groups = ["hook-check-django-migrations"] @@ -5113,8 +5113,8 @@ dependencies = [ "transformers==4.37.0", ] files = [ - {file = "unstract_sdk-0.56.0rc3-py3-none-any.whl", hash = "sha256:abc8ee27b4eaa9694f272460b2696ed2798ff60b9b12539d327cdeaacbb02914"}, - {file = "unstract_sdk-0.56.0rc3.tar.gz", hash = "sha256:f09db70f91fe5405918a27b91b3807d812b223dae54b9ad1f688f02a88512bb1"}, + {file = "unstract_sdk-0.56.0rc4-py3-none-any.whl", hash = "sha256:e9128fc444b6d5fa5bc3dc9cd533113abb13bb4ff4ffd9195b18ca5e2450419c"}, + {file = "unstract_sdk-0.56.0rc4.tar.gz", hash = "sha256:ac5430ac48094aa15c45fb90f05c11c8d5a62d79c8cc8fd48a4639724588b897"}, ] [[package]] @@ -5130,7 +5130,7 @@ dependencies = [ "docker~=6.1.3", "jsonschema~=4.18.2", "unstract-flags", - "unstract-sdk~=0.56.0rc3", + "unstract-sdk~=0.56.0rc4", "unstract-tool-sandbox", ] diff --git a/platform-service/pdm.lock b/platform-service/pdm.lock index 332594542..1887fe542 100644 --- a/platform-service/pdm.lock +++ b/platform-service/pdm.lock @@ -5,7 +5,7 @@ groups = ["default", "deploy", "test"] strategy = ["cross_platform", "inherit_metadata"] lock_version = "4.4.2" -content_hash = "sha256:9940aa58ddcb8af9387e35b778efcac832eb0a5fcaff4c6f50edde59f5f49d96" +content_hash = "sha256:dd32742fd92bdfef161dbc96c10c753e8dded5271b6185cb9b39dd4fcf5263a8" [[package]] name = "aiohappyeyeballs" @@ -214,13 +214,13 @@ files = [ [[package]] name = "attrs" -version = "24.3.0" +version = "25.1.0" requires_python = ">=3.8" summary = "Classes Without Boilerplate" groups = ["default"] files = [ - {file = "attrs-24.3.0-py3-none-any.whl", hash = "sha256:ac96cd038792094f438ad1f6ff80837353805ac950cd2aa0e0625ef19850c308"}, - {file = "attrs-24.3.0.tar.gz", hash = "sha256:8f5c07333d543103541ba7be0e2ce16eeee8130cb0b3f9238ab904ce1e85baff"}, + {file = "attrs-25.1.0-py3-none-any.whl", hash = "sha256:c75a69e28a550a7e93789579c22aa26b0f5b83b75dc4e08fe092980051e1090a"}, + {file = "attrs-25.1.0.tar.gz", hash = "sha256:1c97078a80c814273a76b2a298a932eb681c87415c11dee0a6921de7f1b02c3e"}, ] [[package]] @@ -298,23 +298,23 @@ files = [ [[package]] name = "boto3" -version = "1.36.5" +version = "1.36.6" requires_python = ">=3.8" summary = "The AWS SDK for Python" groups = ["default"] dependencies = [ - "botocore<1.37.0,>=1.36.5", + "botocore<1.37.0,>=1.36.6", "jmespath<2.0.0,>=0.7.1", "s3transfer<0.12.0,>=0.11.0", ] files = [ - {file = "boto3-1.36.5-py3-none-any.whl", hash = "sha256:a404ad5ec94ff40c176215a991bf62f0db5514a93a3dd361b7b2ab9660f811f4"}, - {file = "boto3-1.36.5.tar.gz", hash = "sha256:58a6b7c3d5145b3ac04d4b6caa76223b8ef88004b4237444e553041e29581a11"}, + {file = "boto3-1.36.6-py3-none-any.whl", hash = "sha256:6d473f0f340d02b4e9ad5b8e68786a09728101a8b950231b89ebdaf72b6dca21"}, + {file = "boto3-1.36.6.tar.gz", hash = "sha256:b36feae061dc0793cf311468956a0a9e99215ce38bc99a1a4e55a5b105f16297"}, ] [[package]] name = "botocore" -version = "1.36.5" +version = "1.36.6" requires_python = ">=3.8" summary = "Low-level, data-driven core of boto 3." groups = ["default"] @@ -325,8 +325,8 @@ dependencies = [ "urllib3<1.27,>=1.25.4; python_version < \"3.10\"", ] files = [ - {file = "botocore-1.36.5-py3-none-any.whl", hash = "sha256:6d9f70afa9bf9d21407089dc22b8cc8ec6fa44866d4660858c062c74fc8555eb"}, - {file = "botocore-1.36.5.tar.gz", hash = "sha256:234ed3d29a8954c37a551c933453bf14c6ae44a69a4f273ffef377a2612ca6a6"}, + {file = "botocore-1.36.6-py3-none-any.whl", hash = "sha256:f77bbbb03fb420e260174650fb5c0cc142ec20a96967734eed2b0ef24334ef34"}, + {file = "botocore-1.36.6.tar.gz", hash = "sha256:4864c53d638da191a34daf3ede3ff1371a3719d952cc0c6bd24ce2836a38dd77"}, ] [[package]] @@ -544,7 +544,7 @@ files = [ [[package]] name = "deprecated" -version = "1.2.15" +version = "1.2.18" requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" summary = "Python @deprecated decorator to deprecate old python classes, functions or methods." groups = ["default"] @@ -552,8 +552,8 @@ dependencies = [ "wrapt<2,>=1.10", ] files = [ - {file = "Deprecated-1.2.15-py2.py3-none-any.whl", hash = "sha256:353bc4a8ac4bfc96800ddab349d89c25dec1079f65fd53acdcc1e0b975b21320"}, - {file = "deprecated-1.2.15.tar.gz", hash = "sha256:683e561a90de76239796e6b6feac66b99030d2dd3fcf61ef996330f14bbb9b0d"}, + {file = "Deprecated-1.2.18-py2.py3-none-any.whl", hash = "sha256:bd5011788200372a32418f888e326a09ff80d0214bd961147cfed01b5c018eec"}, + {file = "deprecated-1.2.18.tar.gz", hash = "sha256:422b6f6d859da6f2ef57857761bfb392480502a64c3028ca9bbe86085d72115d"}, ] [[package]] @@ -1618,7 +1618,7 @@ files = [ [[package]] name = "llama-index-core" -version = "0.12.13" +version = "0.12.14" requires_python = "<4.0,>=3.9" summary = "Interface between LLMs and your data" groups = ["default"] @@ -1648,8 +1648,8 @@ dependencies = [ "wrapt", ] files = [ - {file = "llama_index_core-0.12.13-py3-none-any.whl", hash = "sha256:9708bb594bbddffd6ff0767242e49d8978d1ba60a2e62e071d9d123ad2f17e6f"}, - {file = "llama_index_core-0.12.13.tar.gz", hash = "sha256:77af0161246ce1de38efc17cb6438dfff9e9558af00bcfac7dd4d0b7325efa4b"}, + {file = "llama_index_core-0.12.14-py3-none-any.whl", hash = "sha256:6fdb30e3fadf98e7df75f9db5d06f6a7f8503ca545a71e048d786ff88012bd50"}, + {file = "llama_index_core-0.12.14.tar.gz", hash = "sha256:378bbf5bf4d1a8c692d3a980c1a6ed3be7a9afb676a4960429dea15f62d06cd3"}, ] [[package]] @@ -2357,7 +2357,7 @@ files = [ [[package]] name = "openai" -version = "1.60.0" +version = "1.60.1" requires_python = ">=3.8" summary = "The official Python library for the openai API" groups = ["default"] @@ -2372,8 +2372,8 @@ dependencies = [ "typing-extensions<5,>=4.11", ] files = [ - {file = "openai-1.60.0-py3-none-any.whl", hash = "sha256:df06c43be8018274980ac363da07d4b417bd835ead1c66e14396f6f15a0d5dda"}, - {file = "openai-1.60.0.tar.gz", hash = "sha256:7fa536cd4b644718645b874d2706e36dbbef38b327e42ca0623275da347ee1a9"}, + {file = "openai-1.60.1-py3-none-any.whl", hash = "sha256:714181ec1c452353d456f143c22db892de7b373e3165063d02a2b798ed575ba1"}, + {file = "openai-1.60.1.tar.gz", hash = "sha256:beb1541dfc38b002bd629ab68b0d6fe35b870c5f4311d9bc4404d85af3214d5e"}, ] [[package]] @@ -2673,20 +2673,20 @@ files = [ [[package]] name = "protobuf" -version = "4.25.5" +version = "4.25.6" requires_python = ">=3.8" summary = "" groups = ["default"] files = [ - {file = "protobuf-4.25.5-cp310-abi3-win32.whl", hash = "sha256:5e61fd921603f58d2f5acb2806a929b4675f8874ff5f330b7d6f7e2e784bbcd8"}, - {file = "protobuf-4.25.5-cp310-abi3-win_amd64.whl", hash = "sha256:4be0571adcbe712b282a330c6e89eae24281344429ae95c6d85e79e84780f5ea"}, - {file = "protobuf-4.25.5-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:b2fde3d805354df675ea4c7c6338c1aecd254dfc9925e88c6d31a2bcb97eb173"}, - {file = "protobuf-4.25.5-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:919ad92d9b0310070f8356c24b855c98df2b8bd207ebc1c0c6fcc9ab1e007f3d"}, - {file = "protobuf-4.25.5-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:fe14e16c22be926d3abfcb500e60cab068baf10b542b8c858fa27e098123e331"}, - {file = "protobuf-4.25.5-cp39-cp39-win32.whl", hash = "sha256:abe32aad8561aa7cc94fc7ba4fdef646e576983edb94a73381b03c53728a626f"}, - {file = "protobuf-4.25.5-cp39-cp39-win_amd64.whl", hash = "sha256:7a183f592dc80aa7c8da7ad9e55091c4ffc9497b3054452d629bb85fa27c2a45"}, - {file = "protobuf-4.25.5-py3-none-any.whl", hash = "sha256:0aebecb809cae990f8129ada5ca273d9d670b76d9bfc9b1809f0a9c02b7dbf41"}, - {file = "protobuf-4.25.5.tar.gz", hash = "sha256:7f8249476b4a9473645db7f8ab42b02fe1488cbe5fb72fddd445e0665afd8584"}, + {file = "protobuf-4.25.6-cp310-abi3-win32.whl", hash = "sha256:61df6b5786e2b49fc0055f636c1e8f0aff263808bb724b95b164685ac1bcc13a"}, + {file = "protobuf-4.25.6-cp310-abi3-win_amd64.whl", hash = "sha256:b8f837bfb77513fe0e2f263250f423217a173b6d85135be4d81e96a4653bcd3c"}, + {file = "protobuf-4.25.6-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:6d4381f2417606d7e01750e2729fe6fbcda3f9883aa0c32b51d23012bded6c91"}, + {file = "protobuf-4.25.6-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:5dd800da412ba7f6f26d2c08868a5023ce624e1fdb28bccca2dc957191e81fb5"}, + {file = "protobuf-4.25.6-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:4434ff8bb5576f9e0c78f47c41cdf3a152c0b44de475784cd3fd170aef16205a"}, + {file = "protobuf-4.25.6-cp39-cp39-win32.whl", hash = "sha256:3f3b0b39db04b509859361ac9bca65a265fe9342e6b9406eda58029f5b1d10b2"}, + {file = "protobuf-4.25.6-cp39-cp39-win_amd64.whl", hash = "sha256:6ef2045f89d4ad8d95fd43cd84621487832a61d15b49500e4c1350e8a0ef96be"}, + {file = "protobuf-4.25.6-py3-none-any.whl", hash = "sha256:07972021c8e30b870cfc0863409d033af940213e0e7f64e27fe017b929d2c9f7"}, + {file = "protobuf-4.25.6.tar.gz", hash = "sha256:f8cfbae7c5afd0d0eaccbe73267339bff605a2315860bb1ba08eb66670a9a91f"}, ] [[package]] @@ -2919,7 +2919,7 @@ files = [ [[package]] name = "pypdf" -version = "5.1.0" +version = "5.2.0" requires_python = ">=3.8" summary = "A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files" groups = ["default"] @@ -2927,8 +2927,8 @@ dependencies = [ "typing-extensions>=4.0; python_version < \"3.11\"", ] files = [ - {file = "pypdf-5.1.0-py3-none-any.whl", hash = "sha256:3bd4f503f4ebc58bae40d81e81a9176c400cbbac2ba2d877367595fb524dfdfc"}, - {file = "pypdf-5.1.0.tar.gz", hash = "sha256:425a129abb1614183fd1aca6982f650b47f8026867c0ce7c4b9f281c443d2740"}, + {file = "pypdf-5.2.0-py3-none-any.whl", hash = "sha256:d107962ec45e65e3bd10c1d9242bdbbedaa38193c9e3a6617bd6d996e5747b19"}, + {file = "pypdf-5.2.0.tar.gz", hash = "sha256:7c38e68420f038f2c4998fd9d6717b6db4f6cef1642e9cf384d519c9cf094663"}, ] [[package]] @@ -3109,7 +3109,7 @@ files = [ [[package]] name = "referencing" -version = "0.36.1" +version = "0.36.2" requires_python = ">=3.9" summary = "JSON Referencing + Python" groups = ["default"] @@ -3119,8 +3119,8 @@ dependencies = [ "typing-extensions>=4.4.0; python_version < \"3.13\"", ] files = [ - {file = "referencing-0.36.1-py3-none-any.whl", hash = "sha256:363d9c65f080d0d70bc41c721dce3c7f3e77fc09f269cd5c8813da18069a6794"}, - {file = "referencing-0.36.1.tar.gz", hash = "sha256:ca2e6492769e3602957e9b831b94211599d2aade9477f5d44110d2530cf9aade"}, + {file = "referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0"}, + {file = "referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa"}, ] [[package]] @@ -3798,7 +3798,7 @@ dependencies = [ [[package]] name = "unstract-sdk" -version = "0.56.0rc3" +version = "0.56.0rc4" requires_python = "<3.11.1,>=3.9" summary = "A framework for writing Unstract Tools/Apps" groups = ["default"] @@ -3837,8 +3837,8 @@ dependencies = [ "transformers==4.37.0", ] files = [ - {file = "unstract_sdk-0.56.0rc3-py3-none-any.whl", hash = "sha256:abc8ee27b4eaa9694f272460b2696ed2798ff60b9b12539d327cdeaacbb02914"}, - {file = "unstract_sdk-0.56.0rc3.tar.gz", hash = "sha256:f09db70f91fe5405918a27b91b3807d812b223dae54b9ad1f688f02a88512bb1"}, + {file = "unstract_sdk-0.56.0rc4-py3-none-any.whl", hash = "sha256:e9128fc444b6d5fa5bc3dc9cd533113abb13bb4ff4ffd9195b18ca5e2450419c"}, + {file = "unstract_sdk-0.56.0rc4.tar.gz", hash = "sha256:ac5430ac48094aa15c45fb90f05c11c8d5a62d79c8cc8fd48a4639724588b897"}, ] [[package]] diff --git a/platform-service/pyproject.toml b/platform-service/pyproject.toml index b64804b1e..4884daee9 100644 --- a/platform-service/pyproject.toml +++ b/platform-service/pyproject.toml @@ -13,7 +13,7 @@ dependencies = [ "redis~=5.2.1", "cryptography>=41.0.7", "requests>=2.31.0", - "unstract-sdk~=0.56.0rc3", + "unstract-sdk~=0.56.0rc4", "gcsfs==2024.10.0", "unstract-flags @ file:///${PROJECT_ROOT}/../unstract/flags", ] diff --git a/prompt-service/pdm.lock b/prompt-service/pdm.lock index 13377409d..525ca2318 100644 --- a/prompt-service/pdm.lock +++ b/prompt-service/pdm.lock @@ -5,7 +5,7 @@ groups = ["default", "deploy"] strategy = ["cross_platform", "inherit_metadata"] lock_version = "4.4.2" -content_hash = "sha256:9d7ce6b714514f621bd8bd3ac42172b526cd79cb67d77b10634f274e44575f84" +content_hash = "sha256:f0bc9f8759075827a9083394dff530f3733b42534be1d35d5685b299c58b0ab4" [[package]] name = "aiohappyeyeballs" @@ -228,13 +228,13 @@ files = [ [[package]] name = "attrs" -version = "24.3.0" +version = "25.1.0" requires_python = ">=3.8" summary = "Classes Without Boilerplate" groups = ["default"] files = [ - {file = "attrs-24.3.0-py3-none-any.whl", hash = "sha256:ac96cd038792094f438ad1f6ff80837353805ac950cd2aa0e0625ef19850c308"}, - {file = "attrs-24.3.0.tar.gz", hash = "sha256:8f5c07333d543103541ba7be0e2ce16eeee8130cb0b3f9238ab904ce1e85baff"}, + {file = "attrs-25.1.0-py3-none-any.whl", hash = "sha256:c75a69e28a550a7e93789579c22aa26b0f5b83b75dc4e08fe092980051e1090a"}, + {file = "attrs-25.1.0.tar.gz", hash = "sha256:1c97078a80c814273a76b2a298a932eb681c87415c11dee0a6921de7f1b02c3e"}, ] [[package]] @@ -547,7 +547,7 @@ files = [ [[package]] name = "deprecated" -version = "1.2.15" +version = "1.2.18" requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" summary = "Python @deprecated decorator to deprecate old python classes, functions or methods." groups = ["default"] @@ -555,8 +555,8 @@ dependencies = [ "wrapt<2,>=1.10", ] files = [ - {file = "Deprecated-1.2.15-py2.py3-none-any.whl", hash = "sha256:353bc4a8ac4bfc96800ddab349d89c25dec1079f65fd53acdcc1e0b975b21320"}, - {file = "deprecated-1.2.15.tar.gz", hash = "sha256:683e561a90de76239796e6b6feac66b99030d2dd3fcf61ef996330f14bbb9b0d"}, + {file = "Deprecated-1.2.18-py2.py3-none-any.whl", hash = "sha256:bd5011788200372a32418f888e326a09ff80d0214bd961147cfed01b5c018eec"}, + {file = "deprecated-1.2.18.tar.gz", hash = "sha256:422b6f6d859da6f2ef57857761bfb392480502a64c3028ca9bbe86085d72115d"}, ] [[package]] @@ -1591,7 +1591,7 @@ files = [ [[package]] name = "llama-index-core" -version = "0.12.13" +version = "0.12.14" requires_python = "<4.0,>=3.9" summary = "Interface between LLMs and your data" groups = ["default"] @@ -1621,8 +1621,8 @@ dependencies = [ "wrapt", ] files = [ - {file = "llama_index_core-0.12.13-py3-none-any.whl", hash = "sha256:9708bb594bbddffd6ff0767242e49d8978d1ba60a2e62e071d9d123ad2f17e6f"}, - {file = "llama_index_core-0.12.13.tar.gz", hash = "sha256:77af0161246ce1de38efc17cb6438dfff9e9558af00bcfac7dd4d0b7325efa4b"}, + {file = "llama_index_core-0.12.14-py3-none-any.whl", hash = "sha256:6fdb30e3fadf98e7df75f9db5d06f6a7f8503ca545a71e048d786ff88012bd50"}, + {file = "llama_index_core-0.12.14.tar.gz", hash = "sha256:378bbf5bf4d1a8c692d3a980c1a6ed3be7a9afb676a4960429dea15f62d06cd3"}, ] [[package]] @@ -2319,7 +2319,7 @@ files = [ [[package]] name = "openai" -version = "1.60.0" +version = "1.60.1" requires_python = ">=3.8" summary = "The official Python library for the openai API" groups = ["default"] @@ -2334,8 +2334,8 @@ dependencies = [ "typing-extensions<5,>=4.11", ] files = [ - {file = "openai-1.60.0-py3-none-any.whl", hash = "sha256:df06c43be8018274980ac363da07d4b417bd835ead1c66e14396f6f15a0d5dda"}, - {file = "openai-1.60.0.tar.gz", hash = "sha256:7fa536cd4b644718645b874d2706e36dbbef38b327e42ca0623275da347ee1a9"}, + {file = "openai-1.60.1-py3-none-any.whl", hash = "sha256:714181ec1c452353d456f143c22db892de7b373e3165063d02a2b798ed575ba1"}, + {file = "openai-1.60.1.tar.gz", hash = "sha256:beb1541dfc38b002bd629ab68b0d6fe35b870c5f4311d9bc4404d85af3214d5e"}, ] [[package]] @@ -2624,20 +2624,20 @@ files = [ [[package]] name = "protobuf" -version = "4.25.5" +version = "4.25.6" requires_python = ">=3.8" summary = "" groups = ["default"] files = [ - {file = "protobuf-4.25.5-cp310-abi3-win32.whl", hash = "sha256:5e61fd921603f58d2f5acb2806a929b4675f8874ff5f330b7d6f7e2e784bbcd8"}, - {file = "protobuf-4.25.5-cp310-abi3-win_amd64.whl", hash = "sha256:4be0571adcbe712b282a330c6e89eae24281344429ae95c6d85e79e84780f5ea"}, - {file = "protobuf-4.25.5-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:b2fde3d805354df675ea4c7c6338c1aecd254dfc9925e88c6d31a2bcb97eb173"}, - {file = "protobuf-4.25.5-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:919ad92d9b0310070f8356c24b855c98df2b8bd207ebc1c0c6fcc9ab1e007f3d"}, - {file = "protobuf-4.25.5-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:fe14e16c22be926d3abfcb500e60cab068baf10b542b8c858fa27e098123e331"}, - {file = "protobuf-4.25.5-cp39-cp39-win32.whl", hash = "sha256:abe32aad8561aa7cc94fc7ba4fdef646e576983edb94a73381b03c53728a626f"}, - {file = "protobuf-4.25.5-cp39-cp39-win_amd64.whl", hash = "sha256:7a183f592dc80aa7c8da7ad9e55091c4ffc9497b3054452d629bb85fa27c2a45"}, - {file = "protobuf-4.25.5-py3-none-any.whl", hash = "sha256:0aebecb809cae990f8129ada5ca273d9d670b76d9bfc9b1809f0a9c02b7dbf41"}, - {file = "protobuf-4.25.5.tar.gz", hash = "sha256:7f8249476b4a9473645db7f8ab42b02fe1488cbe5fb72fddd445e0665afd8584"}, + {file = "protobuf-4.25.6-cp310-abi3-win32.whl", hash = "sha256:61df6b5786e2b49fc0055f636c1e8f0aff263808bb724b95b164685ac1bcc13a"}, + {file = "protobuf-4.25.6-cp310-abi3-win_amd64.whl", hash = "sha256:b8f837bfb77513fe0e2f263250f423217a173b6d85135be4d81e96a4653bcd3c"}, + {file = "protobuf-4.25.6-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:6d4381f2417606d7e01750e2729fe6fbcda3f9883aa0c32b51d23012bded6c91"}, + {file = "protobuf-4.25.6-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:5dd800da412ba7f6f26d2c08868a5023ce624e1fdb28bccca2dc957191e81fb5"}, + {file = "protobuf-4.25.6-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:4434ff8bb5576f9e0c78f47c41cdf3a152c0b44de475784cd3fd170aef16205a"}, + {file = "protobuf-4.25.6-cp39-cp39-win32.whl", hash = "sha256:3f3b0b39db04b509859361ac9bca65a265fe9342e6b9406eda58029f5b1d10b2"}, + {file = "protobuf-4.25.6-cp39-cp39-win_amd64.whl", hash = "sha256:6ef2045f89d4ad8d95fd43cd84621487832a61d15b49500e4c1350e8a0ef96be"}, + {file = "protobuf-4.25.6-py3-none-any.whl", hash = "sha256:07972021c8e30b870cfc0863409d033af940213e0e7f64e27fe017b929d2c9f7"}, + {file = "protobuf-4.25.6.tar.gz", hash = "sha256:f8cfbae7c5afd0d0eaccbe73267339bff605a2315860bb1ba08eb66670a9a91f"}, ] [[package]] @@ -2870,7 +2870,7 @@ files = [ [[package]] name = "pypdf" -version = "5.1.0" +version = "5.2.0" requires_python = ">=3.8" summary = "A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files" groups = ["default"] @@ -2878,8 +2878,8 @@ dependencies = [ "typing-extensions>=4.0; python_version < \"3.11\"", ] files = [ - {file = "pypdf-5.1.0-py3-none-any.whl", hash = "sha256:3bd4f503f4ebc58bae40d81e81a9176c400cbbac2ba2d877367595fb524dfdfc"}, - {file = "pypdf-5.1.0.tar.gz", hash = "sha256:425a129abb1614183fd1aca6982f650b47f8026867c0ce7c4b9f281c443d2740"}, + {file = "pypdf-5.2.0-py3-none-any.whl", hash = "sha256:d107962ec45e65e3bd10c1d9242bdbbedaa38193c9e3a6617bd6d996e5747b19"}, + {file = "pypdf-5.2.0.tar.gz", hash = "sha256:7c38e68420f038f2c4998fd9d6717b6db4f6cef1642e9cf384d519c9cf094663"}, ] [[package]] @@ -3041,7 +3041,7 @@ files = [ [[package]] name = "referencing" -version = "0.36.1" +version = "0.36.2" requires_python = ">=3.9" summary = "JSON Referencing + Python" groups = ["default"] @@ -3051,8 +3051,8 @@ dependencies = [ "typing-extensions>=4.4.0; python_version < \"3.13\"", ] files = [ - {file = "referencing-0.36.1-py3-none-any.whl", hash = "sha256:363d9c65f080d0d70bc41c721dce3c7f3e77fc09f269cd5c8813da18069a6794"}, - {file = "referencing-0.36.1.tar.gz", hash = "sha256:ca2e6492769e3602957e9b831b94211599d2aade9477f5d44110d2530cf9aade"}, + {file = "referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0"}, + {file = "referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa"}, ] [[package]] @@ -3710,7 +3710,7 @@ dependencies = [ [[package]] name = "unstract-sdk" -version = "0.56.0rc3" +version = "0.56.0rc4" requires_python = "<3.11.1,>=3.9" summary = "A framework for writing Unstract Tools/Apps" groups = ["default"] @@ -3749,8 +3749,8 @@ dependencies = [ "transformers==4.37.0", ] files = [ - {file = "unstract_sdk-0.56.0rc3-py3-none-any.whl", hash = "sha256:abc8ee27b4eaa9694f272460b2696ed2798ff60b9b12539d327cdeaacbb02914"}, - {file = "unstract_sdk-0.56.0rc3.tar.gz", hash = "sha256:f09db70f91fe5405918a27b91b3807d812b223dae54b9ad1f688f02a88512bb1"}, + {file = "unstract_sdk-0.56.0rc4-py3-none-any.whl", hash = "sha256:e9128fc444b6d5fa5bc3dc9cd533113abb13bb4ff4ffd9195b18ca5e2450419c"}, + {file = "unstract_sdk-0.56.0rc4.tar.gz", hash = "sha256:ac5430ac48094aa15c45fb90f05c11c8d5a62d79c8cc8fd48a4639724588b897"}, ] [[package]] diff --git a/prompt-service/pyproject.toml b/prompt-service/pyproject.toml index 54ae937da..253125eaa 100644 --- a/prompt-service/pyproject.toml +++ b/prompt-service/pyproject.toml @@ -15,7 +15,7 @@ dependencies = [ "flask~=3.0", "llama-index==0.12.8", "python-dotenv==1.0.0", - "unstract-sdk~=0.56.0rc3", + "unstract-sdk~=0.56.0rc4", "redis>=5.0.3", "unstract-core @ file:///${PROJECT_ROOT}/../unstract/core", "unstract-flags @ file:///${PROJECT_ROOT}/../unstract/flags", diff --git a/pyproject.toml b/pyproject.toml index a8417e9c1..37f1b4544 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -41,7 +41,7 @@ hook-check-django-migrations = [ "psycopg2-binary==2.9.9", "python-dotenv==1.0.0", "python-magic==0.4.27", - "unstract-sdk~=0.56.0rc3", + "unstract-sdk~=0.56.0rc4", "-e unstract-connectors @ file:///${PROJECT_ROOT}/unstract/connectors", "-e unstract-core @ file:///${PROJECT_ROOT}/unstract/core", "-e unstract-flags @ file:///${PROJECT_ROOT}/unstract/flags", diff --git a/tools/classifier/requirements.txt b/tools/classifier/requirements.txt index beac09d05..352bd4212 100644 --- a/tools/classifier/requirements.txt +++ b/tools/classifier/requirements.txt @@ -1,6 +1,6 @@ # Add your dependencies here # Required for all unstract tools -unstract-sdk~=0.56.0rc3 +unstract-sdk~=0.56.0rc4 # Required for remote storage support s3fs[boto3]==2024.6.0 diff --git a/tools/classifier/src/config/properties.json b/tools/classifier/src/config/properties.json index a6d737b87..c80d4c84b 100644 --- a/tools/classifier/src/config/properties.json +++ b/tools/classifier/src/config/properties.json @@ -2,7 +2,7 @@ "schemaVersion": "0.0.1", "displayName": "File Classifier", "functionName": "classify", - "toolVersion": "0.0.49", + "toolVersion": "0.0.50", "description": "Classifies a file into a bin based on its contents", "input": { "description": "File to be classified" diff --git a/tools/structure/requirements.txt b/tools/structure/requirements.txt index beac09d05..352bd4212 100644 --- a/tools/structure/requirements.txt +++ b/tools/structure/requirements.txt @@ -1,6 +1,6 @@ # Add your dependencies here # Required for all unstract tools -unstract-sdk~=0.56.0rc3 +unstract-sdk~=0.56.0rc4 # Required for remote storage support s3fs[boto3]==2024.6.0 diff --git a/tools/structure/src/config/properties.json b/tools/structure/src/config/properties.json index 50d41130b..c0e8ce2c6 100644 --- a/tools/structure/src/config/properties.json +++ b/tools/structure/src/config/properties.json @@ -2,7 +2,7 @@ "schemaVersion": "0.0.1", "displayName": "Structure Tool", "functionName": "structure_tool", - "toolVersion": "0.0.59", + "toolVersion": "0.0.60", "description": "This is a template tool which can answer set of input prompts designed in the Prompt Studio", "input": { "description": "File that needs to be indexed and parsed for answers" diff --git a/tools/text_extractor/requirements.txt b/tools/text_extractor/requirements.txt index beac09d05..352bd4212 100644 --- a/tools/text_extractor/requirements.txt +++ b/tools/text_extractor/requirements.txt @@ -1,6 +1,6 @@ # Add your dependencies here # Required for all unstract tools -unstract-sdk~=0.56.0rc3 +unstract-sdk~=0.56.0rc4 # Required for remote storage support s3fs[boto3]==2024.6.0 diff --git a/tools/text_extractor/src/config/properties.json b/tools/text_extractor/src/config/properties.json index 1c4a6b9c3..6e102c6c0 100644 --- a/tools/text_extractor/src/config/properties.json +++ b/tools/text_extractor/src/config/properties.json @@ -2,7 +2,7 @@ "schemaVersion": "0.0.1", "displayName": "Text Extractor", "functionName": "text_extractor", - "toolVersion": "0.0.46", + "toolVersion": "0.0.47", "description": "The Text Extractor is a powerful tool designed to convert documents to its text form or Extract texts from documents", "input": { "description": "Document" diff --git a/unstract/filesystem/pdm.lock b/unstract/filesystem/pdm.lock index fd28836ad..fb734f7ac 100644 --- a/unstract/filesystem/pdm.lock +++ b/unstract/filesystem/pdm.lock @@ -5,7 +5,7 @@ groups = ["default"] strategy = ["cross_platform", "inherit_metadata"] lock_version = "4.4.2" -content_hash = "sha256:0feefc31b976567b21f22a884beec5e403b86fc5dda1eb7be2ad6e8c8be76205" +content_hash = "sha256:8ee9130ddcfdcf15a71d0f27371cbd6af5a1823cc2db739fc90d744438f6dff8" [[package]] name = "aiohappyeyeballs" @@ -214,13 +214,13 @@ files = [ [[package]] name = "attrs" -version = "24.3.0" +version = "25.1.0" requires_python = ">=3.8" summary = "Classes Without Boilerplate" groups = ["default"] files = [ - {file = "attrs-24.3.0-py3-none-any.whl", hash = "sha256:ac96cd038792094f438ad1f6ff80837353805ac950cd2aa0e0625ef19850c308"}, - {file = "attrs-24.3.0.tar.gz", hash = "sha256:8f5c07333d543103541ba7be0e2ce16eeee8130cb0b3f9238ab904ce1e85baff"}, + {file = "attrs-25.1.0-py3-none-any.whl", hash = "sha256:c75a69e28a550a7e93789579c22aa26b0f5b83b75dc4e08fe092980051e1090a"}, + {file = "attrs-25.1.0.tar.gz", hash = "sha256:1c97078a80c814273a76b2a298a932eb681c87415c11dee0a6921de7f1b02c3e"}, ] [[package]] @@ -287,23 +287,23 @@ files = [ [[package]] name = "boto3" -version = "1.36.5" +version = "1.36.6" requires_python = ">=3.8" summary = "The AWS SDK for Python" groups = ["default"] dependencies = [ - "botocore<1.37.0,>=1.36.5", + "botocore<1.37.0,>=1.36.6", "jmespath<2.0.0,>=0.7.1", "s3transfer<0.12.0,>=0.11.0", ] files = [ - {file = "boto3-1.36.5-py3-none-any.whl", hash = "sha256:a404ad5ec94ff40c176215a991bf62f0db5514a93a3dd361b7b2ab9660f811f4"}, - {file = "boto3-1.36.5.tar.gz", hash = "sha256:58a6b7c3d5145b3ac04d4b6caa76223b8ef88004b4237444e553041e29581a11"}, + {file = "boto3-1.36.6-py3-none-any.whl", hash = "sha256:6d473f0f340d02b4e9ad5b8e68786a09728101a8b950231b89ebdaf72b6dca21"}, + {file = "boto3-1.36.6.tar.gz", hash = "sha256:b36feae061dc0793cf311468956a0a9e99215ce38bc99a1a4e55a5b105f16297"}, ] [[package]] name = "botocore" -version = "1.36.5" +version = "1.36.6" requires_python = ">=3.8" summary = "Low-level, data-driven core of boto 3." groups = ["default"] @@ -314,8 +314,8 @@ dependencies = [ "urllib3<1.27,>=1.25.4; python_version < \"3.10\"", ] files = [ - {file = "botocore-1.36.5-py3-none-any.whl", hash = "sha256:6d9f70afa9bf9d21407089dc22b8cc8ec6fa44866d4660858c062c74fc8555eb"}, - {file = "botocore-1.36.5.tar.gz", hash = "sha256:234ed3d29a8954c37a551c933453bf14c6ae44a69a4f273ffef377a2612ca6a6"}, + {file = "botocore-1.36.6-py3-none-any.whl", hash = "sha256:f77bbbb03fb420e260174650fb5c0cc142ec20a96967734eed2b0ef24334ef34"}, + {file = "botocore-1.36.6.tar.gz", hash = "sha256:4864c53d638da191a34daf3ede3ff1371a3719d952cc0c6bd24ce2836a38dd77"}, ] [[package]] @@ -522,7 +522,7 @@ files = [ [[package]] name = "deprecated" -version = "1.2.15" +version = "1.2.18" requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" summary = "Python @deprecated decorator to deprecate old python classes, functions or methods." groups = ["default"] @@ -530,8 +530,8 @@ dependencies = [ "wrapt<2,>=1.10", ] files = [ - {file = "Deprecated-1.2.15-py2.py3-none-any.whl", hash = "sha256:353bc4a8ac4bfc96800ddab349d89c25dec1079f65fd53acdcc1e0b975b21320"}, - {file = "deprecated-1.2.15.tar.gz", hash = "sha256:683e561a90de76239796e6b6feac66b99030d2dd3fcf61ef996330f14bbb9b0d"}, + {file = "Deprecated-1.2.18-py2.py3-none-any.whl", hash = "sha256:bd5011788200372a32418f888e326a09ff80d0214bd961147cfed01b5c018eec"}, + {file = "deprecated-1.2.18.tar.gz", hash = "sha256:422b6f6d859da6f2ef57857761bfb392480502a64c3028ca9bbe86085d72115d"}, ] [[package]] @@ -1474,7 +1474,7 @@ files = [ [[package]] name = "llama-index-core" -version = "0.12.13" +version = "0.12.14" requires_python = "<4.0,>=3.9" summary = "Interface between LLMs and your data" groups = ["default"] @@ -1504,8 +1504,8 @@ dependencies = [ "wrapt", ] files = [ - {file = "llama_index_core-0.12.13-py3-none-any.whl", hash = "sha256:9708bb594bbddffd6ff0767242e49d8978d1ba60a2e62e071d9d123ad2f17e6f"}, - {file = "llama_index_core-0.12.13.tar.gz", hash = "sha256:77af0161246ce1de38efc17cb6438dfff9e9558af00bcfac7dd4d0b7325efa4b"}, + {file = "llama_index_core-0.12.14-py3-none-any.whl", hash = "sha256:6fdb30e3fadf98e7df75f9db5d06f6a7f8503ca545a71e048d786ff88012bd50"}, + {file = "llama_index_core-0.12.14.tar.gz", hash = "sha256:378bbf5bf4d1a8c692d3a980c1a6ed3be7a9afb676a4960429dea15f62d06cd3"}, ] [[package]] @@ -2162,7 +2162,7 @@ files = [ [[package]] name = "openai" -version = "1.60.0" +version = "1.60.1" requires_python = ">=3.8" summary = "The official Python library for the openai API" groups = ["default"] @@ -2177,8 +2177,8 @@ dependencies = [ "typing-extensions<5,>=4.11", ] files = [ - {file = "openai-1.60.0-py3-none-any.whl", hash = "sha256:df06c43be8018274980ac363da07d4b417bd835ead1c66e14396f6f15a0d5dda"}, - {file = "openai-1.60.0.tar.gz", hash = "sha256:7fa536cd4b644718645b874d2706e36dbbef38b327e42ca0623275da347ee1a9"}, + {file = "openai-1.60.1-py3-none-any.whl", hash = "sha256:714181ec1c452353d456f143c22db892de7b373e3165063d02a2b798ed575ba1"}, + {file = "openai-1.60.1.tar.gz", hash = "sha256:beb1541dfc38b002bd629ab68b0d6fe35b870c5f4311d9bc4404d85af3214d5e"}, ] [[package]] @@ -2458,20 +2458,20 @@ files = [ [[package]] name = "protobuf" -version = "4.25.5" +version = "4.25.6" requires_python = ">=3.8" summary = "" groups = ["default"] files = [ - {file = "protobuf-4.25.5-cp310-abi3-win32.whl", hash = "sha256:5e61fd921603f58d2f5acb2806a929b4675f8874ff5f330b7d6f7e2e784bbcd8"}, - {file = "protobuf-4.25.5-cp310-abi3-win_amd64.whl", hash = "sha256:4be0571adcbe712b282a330c6e89eae24281344429ae95c6d85e79e84780f5ea"}, - {file = "protobuf-4.25.5-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:b2fde3d805354df675ea4c7c6338c1aecd254dfc9925e88c6d31a2bcb97eb173"}, - {file = "protobuf-4.25.5-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:919ad92d9b0310070f8356c24b855c98df2b8bd207ebc1c0c6fcc9ab1e007f3d"}, - {file = "protobuf-4.25.5-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:fe14e16c22be926d3abfcb500e60cab068baf10b542b8c858fa27e098123e331"}, - {file = "protobuf-4.25.5-cp39-cp39-win32.whl", hash = "sha256:abe32aad8561aa7cc94fc7ba4fdef646e576983edb94a73381b03c53728a626f"}, - {file = "protobuf-4.25.5-cp39-cp39-win_amd64.whl", hash = "sha256:7a183f592dc80aa7c8da7ad9e55091c4ffc9497b3054452d629bb85fa27c2a45"}, - {file = "protobuf-4.25.5-py3-none-any.whl", hash = "sha256:0aebecb809cae990f8129ada5ca273d9d670b76d9bfc9b1809f0a9c02b7dbf41"}, - {file = "protobuf-4.25.5.tar.gz", hash = "sha256:7f8249476b4a9473645db7f8ab42b02fe1488cbe5fb72fddd445e0665afd8584"}, + {file = "protobuf-4.25.6-cp310-abi3-win32.whl", hash = "sha256:61df6b5786e2b49fc0055f636c1e8f0aff263808bb724b95b164685ac1bcc13a"}, + {file = "protobuf-4.25.6-cp310-abi3-win_amd64.whl", hash = "sha256:b8f837bfb77513fe0e2f263250f423217a173b6d85135be4d81e96a4653bcd3c"}, + {file = "protobuf-4.25.6-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:6d4381f2417606d7e01750e2729fe6fbcda3f9883aa0c32b51d23012bded6c91"}, + {file = "protobuf-4.25.6-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:5dd800da412ba7f6f26d2c08868a5023ce624e1fdb28bccca2dc957191e81fb5"}, + {file = "protobuf-4.25.6-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:4434ff8bb5576f9e0c78f47c41cdf3a152c0b44de475784cd3fd170aef16205a"}, + {file = "protobuf-4.25.6-cp39-cp39-win32.whl", hash = "sha256:3f3b0b39db04b509859361ac9bca65a265fe9342e6b9406eda58029f5b1d10b2"}, + {file = "protobuf-4.25.6-cp39-cp39-win_amd64.whl", hash = "sha256:6ef2045f89d4ad8d95fd43cd84621487832a61d15b49500e4c1350e8a0ef96be"}, + {file = "protobuf-4.25.6-py3-none-any.whl", hash = "sha256:07972021c8e30b870cfc0863409d033af940213e0e7f64e27fe017b929d2c9f7"}, + {file = "protobuf-4.25.6.tar.gz", hash = "sha256:f8cfbae7c5afd0d0eaccbe73267339bff605a2315860bb1ba08eb66670a9a91f"}, ] [[package]] @@ -2704,7 +2704,7 @@ files = [ [[package]] name = "pypdf" -version = "5.1.0" +version = "5.2.0" requires_python = ">=3.8" summary = "A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files" groups = ["default"] @@ -2712,8 +2712,8 @@ dependencies = [ "typing-extensions>=4.0; python_version < \"3.11\"", ] files = [ - {file = "pypdf-5.1.0-py3-none-any.whl", hash = "sha256:3bd4f503f4ebc58bae40d81e81a9176c400cbbac2ba2d877367595fb524dfdfc"}, - {file = "pypdf-5.1.0.tar.gz", hash = "sha256:425a129abb1614183fd1aca6982f650b47f8026867c0ce7c4b9f281c443d2740"}, + {file = "pypdf-5.2.0-py3-none-any.whl", hash = "sha256:d107962ec45e65e3bd10c1d9242bdbbedaa38193c9e3a6617bd6d996e5747b19"}, + {file = "pypdf-5.2.0.tar.gz", hash = "sha256:7c38e68420f038f2c4998fd9d6717b6db4f6cef1642e9cf384d519c9cf094663"}, ] [[package]] @@ -2875,7 +2875,7 @@ files = [ [[package]] name = "referencing" -version = "0.36.1" +version = "0.36.2" requires_python = ">=3.9" summary = "JSON Referencing + Python" groups = ["default"] @@ -2885,8 +2885,8 @@ dependencies = [ "typing-extensions>=4.4.0; python_version < \"3.13\"", ] files = [ - {file = "referencing-0.36.1-py3-none-any.whl", hash = "sha256:363d9c65f080d0d70bc41c721dce3c7f3e77fc09f269cd5c8813da18069a6794"}, - {file = "referencing-0.36.1.tar.gz", hash = "sha256:ca2e6492769e3602957e9b831b94211599d2aade9477f5d44110d2530cf9aade"}, + {file = "referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0"}, + {file = "referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa"}, ] [[package]] @@ -3515,7 +3515,7 @@ files = [ [[package]] name = "unstract-sdk" -version = "0.56.0rc3" +version = "0.56.0rc4" requires_python = "<3.11.1,>=3.9" summary = "A framework for writing Unstract Tools/Apps" groups = ["default"] @@ -3554,8 +3554,8 @@ dependencies = [ "transformers==4.37.0", ] files = [ - {file = "unstract_sdk-0.56.0rc3-py3-none-any.whl", hash = "sha256:abc8ee27b4eaa9694f272460b2696ed2798ff60b9b12539d327cdeaacbb02914"}, - {file = "unstract_sdk-0.56.0rc3.tar.gz", hash = "sha256:f09db70f91fe5405918a27b91b3807d812b223dae54b9ad1f688f02a88512bb1"}, + {file = "unstract_sdk-0.56.0rc4-py3-none-any.whl", hash = "sha256:e9128fc444b6d5fa5bc3dc9cd533113abb13bb4ff4ffd9195b18ca5e2450419c"}, + {file = "unstract_sdk-0.56.0rc4.tar.gz", hash = "sha256:ac5430ac48094aa15c45fb90f05c11c8d5a62d79c8cc8fd48a4639724588b897"}, ] [[package]] diff --git a/unstract/filesystem/pyproject.toml b/unstract/filesystem/pyproject.toml index 8cb87aa01..a30cf45b9 100644 --- a/unstract/filesystem/pyproject.toml +++ b/unstract/filesystem/pyproject.toml @@ -10,7 +10,7 @@ authors = [ {name = "Zipstack Inc.", email = "devsupport@zipstack.com"}, ] dependencies = [ - "unstract-sdk~=0.56.0rc3", + "unstract-sdk~=0.56.0rc4", ] requires-python = ">=3.9,<3.11.1" readme = "README.md" diff --git a/unstract/tool-registry/pyproject.toml b/unstract/tool-registry/pyproject.toml index de9edf549..813e1ef93 100644 --- a/unstract/tool-registry/pyproject.toml +++ b/unstract/tool-registry/pyproject.toml @@ -13,7 +13,7 @@ dependencies = [ "docker~=6.1.3", "jsonschema~=4.18.2", "PyYAML~=6.0.1", - "unstract-sdk~=0.56.0rc3", + "unstract-sdk~=0.56.0rc4", # ! IMPORTANT! # Local dependencies usually need to be added as: # https://pdm-project.org/latest/usage/dependency/#local-dependencies diff --git a/unstract/tool-registry/tool_registry_config/public_tools.json b/unstract/tool-registry/tool_registry_config/public_tools.json index 29c00087b..1bd11ee4a 100644 --- a/unstract/tool-registry/tool_registry_config/public_tools.json +++ b/unstract/tool-registry/tool_registry_config/public_tools.json @@ -5,7 +5,7 @@ "schemaVersion": "0.0.1", "displayName": "File Classifier", "functionName": "classify", - "toolVersion": "0.0.49", + "toolVersion": "0.0.50", "description": "Classifies a file into a bin based on its contents", "input": { "description": "File to be classified" @@ -106,9 +106,9 @@ "properties": {} }, "icon": "\n\n \n \n \n \n \n \n \n \n \n \n \n\n", - "image_url": "docker:unstract/tool-classifier:0.0.49", + "image_url": "docker:unstract/tool-classifier:0.0.50", "image_name": "unstract/tool-classifier", - "image_tag": "0.0.49" + "image_tag": "0.0.50" }, "text_extractor": { "tool_uid": "text_extractor", @@ -116,7 +116,7 @@ "schemaVersion": "0.0.1", "displayName": "Text Extractor", "functionName": "text_extractor", - "toolVersion": "0.0.46", + "toolVersion": "0.0.47", "description": "The Text Extractor is a powerful tool designed to convert documents to its text form or Extract texts from documents", "input": { "description": "Document" @@ -191,8 +191,8 @@ } }, "icon": "\n\n \n \n \n \n \n \n \n \n \n \n \n\n", - "image_url": "docker:unstract/tool-text-extractor:0.0.46", + "image_url": "docker:unstract/tool-text-extractor:0.0.47", "image_name": "unstract/tool-text-extractor", - "image_tag": "0.0.46" + "image_tag": "0.0.47" } } From d5a342d6e54c73417d625a18e9402afbe5282193 Mon Sep 17 00:00:00 2001 From: Chandrasekharan M <117059509+chandrasekharan-zipstack@users.noreply.github.com> Date: Tue, 28 Jan 2025 10:34:33 +0530 Subject: [PATCH 06/11] feat: API changes for listing logs with file / level based filter support (#1083) * v2 API for listing logs with file / level based filter support * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Commented code removed * Minor pre-commit fix and markdown text changes * refactor: Removed v2 API support for execution logs, using filters instead * Fixed org middleware behaviour for whitelisted paths --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Rahul Johny <116638720+johnyrahul@users.noreply.github.com> --- .pre-commit-config.yaml | 2 +- backend/backend/public_urls_v2.py | 3 --- backend/backend/settings/base.py | 7 ++++++- backend/file_management/constants.py | 6 ------ backend/middleware/organization_middleware.py | 7 +++---- .../workflow_manager/endpoint_v2/source.py | 7 ++++--- backend/workflow_manager/urls.py | 2 +- .../workflow_v2/execution_log_view.py | 21 +++++++++++++++---- .../workflow_v2/urls/__init__.py | 0 .../workflow_v2/{urls.py => urls/workflow.py} | 0 10 files changed, 32 insertions(+), 23 deletions(-) create mode 100644 backend/workflow_manager/workflow_v2/urls/__init__.py rename backend/workflow_manager/workflow_v2/{urls.py => urls/workflow.py} (100%) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 7792b3e33..6e80808bc 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -80,7 +80,7 @@ repos: --settings-path=pyproject.toml, ] - repo: https://github.com/hadialqattan/pycln - rev: v2.4.0 + rev: v2.5.0 hooks: - id: pycln args: [--config=pyproject.toml] diff --git a/backend/backend/public_urls_v2.py b/backend/backend/public_urls_v2.py index 366fc695f..bc1eca2ac 100644 --- a/backend/backend/public_urls_v2.py +++ b/backend/backend/public_urls_v2.py @@ -20,9 +20,6 @@ from django.conf.urls.static import static from django.urls import include, path -path_prefix = settings.PATH_PREFIX -api_path_prefix = settings.API_DEPLOYMENT_PATH_PREFIX - urlpatterns = [ path("", include("account_v2.urls")), # Connector OAuth diff --git a/backend/backend/settings/base.py b/backend/backend/settings/base.py index c49673d06..104ffc9f6 100644 --- a/backend/backend/settings/base.py +++ b/backend/backend/settings/base.py @@ -323,7 +323,7 @@ def get_required_setting( "middleware.cache_control.CacheControlMiddleware", ] -TENANT_SUBFOLDER_PREFIX = f"/{PATH_PREFIX}/unstract" +TENANT_SUBFOLDER_PREFIX = f"{PATH_PREFIX}/unstract" SHOW_PUBLIC_IF_NO_TENANT_FOUND = True TEMPLATES = [ @@ -435,6 +435,11 @@ def get_required_setting( "django_filters.rest_framework.DjangoFilterBackend", "rest_framework.filters.OrderingFilter", ], + # For API versioning + "DEFAULT_VERSIONING_CLASS": "rest_framework.versioning.URLPathVersioning", + "DEFAULT_VERSION": "v1", + "ALLOWED_VERSIONS": ["v1"], + "VERSION_PARAM": "version", } # These paths will work without authentication diff --git a/backend/file_management/constants.py b/backend/file_management/constants.py index a17b60b4c..b348066ad 100644 --- a/backend/file_management/constants.py +++ b/backend/file_management/constants.py @@ -6,9 +6,3 @@ class FileInformationKey: FILE_UPLOAD_MAX_SIZE = 100 * 1024 * 1024 FILE_UPLOAD_ALLOWED_EXT = ["pdf"] FILE_UPLOAD_ALLOWED_MIME = ["application/pdf"] - - -class FileViewTypes: - ORIGINAL = "ORIGINAL" - EXTRACT = "EXTRACT" - SUMMARIZE = "SUMMARIZE" diff --git a/backend/middleware/organization_middleware.py b/backend/middleware/organization_middleware.py index 848dd2c2c..5b0ffa605 100644 --- a/backend/middleware/organization_middleware.py +++ b/backend/middleware/organization_middleware.py @@ -6,8 +6,7 @@ class OrganizationMiddleware(MiddlewareMixin): def process_request(self, request): - tenant_prefix = settings.TENANT_SUBFOLDER_PREFIX.rstrip("/") + "/" - pattern = rf"^{tenant_prefix}(?P[^/]+)/" + pattern = r"^/api/(?Pv[12])/unstract/(?P[^/]+)/" # Check if the URL matches the pattern with organization ID match = re.match(pattern, request.path) @@ -17,12 +16,12 @@ def process_request(self, request): re.match(path, request.path) for path in settings.ORGANIZATION_MIDDLEWARE_WHITELISTED_PATHS ): - request.path_info = "/" + request.path_info return org_id = match.group("org_id") + version = match.group("version") request.organization_id = org_id - new_path = re.sub(pattern, "/" + tenant_prefix, request.path_info) + new_path = re.sub(pattern, f"/api/{version}/unstract/", request.path_info) request.path_info = new_path else: request.organization_id = None diff --git a/backend/workflow_manager/endpoint_v2/source.py b/backend/workflow_manager/endpoint_v2/source.py index 194b321ce..633d4db6e 100644 --- a/backend/workflow_manager/endpoint_v2/source.py +++ b/backend/workflow_manager/endpoint_v2/source.py @@ -244,7 +244,7 @@ def publish_input_output_list_file_logs( return None folders_list = "\n".join(f"- `{folder.strip()}`" for folder in folders) - input_log = f"##Folders to process:\n\n{folders_list}\n\n" + input_log = f"## Folders to process:\n\n{folders_list}\n\n" self.execution_service.publish_update_log( state=LogState.INPUT_UPDATE, message=input_log ) @@ -256,9 +256,10 @@ def publish_input_output_list_file_logs( def publish_input_file_content(self, input_file_path: str, input_text: str) -> None: if not self.execution_service: return None - output_log_message = f"##Input text:\n\n```text\n{input_text}\n```\n\n" + output_log_message = f"## Input text:\n\n```text\n{input_text}\n```\n\n" input_log_message = ( - "##Input file:\n\n```text\n" f"{os.path.basename(input_file_path)}\n```\n\n" + "## Input file:\n\n```text\n" + f"{os.path.basename(input_file_path)}\n```\n\n" ) self.execution_service.publish_update_log( state=LogState.INPUT_UPDATE, message=input_log_message diff --git a/backend/workflow_manager/urls.py b/backend/workflow_manager/urls.py index 42c972973..43ee3ccb2 100644 --- a/backend/workflow_manager/urls.py +++ b/backend/workflow_manager/urls.py @@ -1,6 +1,6 @@ from django.urls import include, path from workflow_manager.endpoint_v2 import urls as endpoint_urls -from workflow_manager.workflow_v2 import urls as workflow_urls +from workflow_manager.workflow_v2.urls import workflow as workflow_urls urlpatterns = [ path("endpoint/", include(endpoint_urls)), diff --git a/backend/workflow_manager/workflow_v2/execution_log_view.py b/backend/workflow_manager/workflow_v2/execution_log_view.py index 96f557b77..711789e8f 100644 --- a/backend/workflow_manager/workflow_v2/execution_log_view.py +++ b/backend/workflow_manager/workflow_v2/execution_log_view.py @@ -1,5 +1,6 @@ import logging +from django.db.models.query import QuerySet from permissions.permission import IsOwner from rest_framework import viewsets from rest_framework.versioning import URLPathVersioning @@ -16,12 +17,24 @@ class WorkflowExecutionLogViewSet(viewsets.ModelViewSet): serializer_class = WorkflowExecutionLogSerializer pagination_class = CustomPagination - EVENT_TIME_FELID_ASC = "event_time" + EVENT_TIME_FIELD_ASC = "event_time" - def get_queryset(self): + def get_queryset(self) -> QuerySet: # Get the execution_id:pk from the URL path execution_id = self.kwargs.get("pk") - queryset = ExecutionLog.objects.filter(execution_id=execution_id).order_by( - self.EVENT_TIME_FELID_ASC + filter_param = {"execution_id": execution_id} + + file_execution_id = self.request.query_params.get("file_execution_id") + if file_execution_id and file_execution_id == "null": + filter_param["file_execution_id"] = None + elif file_execution_id: + filter_param["file_execution_id"] = file_execution_id + + log_level = self.request.query_params.get("log_level") + if log_level: + filter_param["data__level"] = log_level.upper() + + queryset = ExecutionLog.objects.filter(**filter_param).order_by( + self.EVENT_TIME_FIELD_ASC ) return queryset diff --git a/backend/workflow_manager/workflow_v2/urls/__init__.py b/backend/workflow_manager/workflow_v2/urls/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/backend/workflow_manager/workflow_v2/urls.py b/backend/workflow_manager/workflow_v2/urls/workflow.py similarity index 100% rename from backend/workflow_manager/workflow_v2/urls.py rename to backend/workflow_manager/workflow_v2/urls/workflow.py From df47b4ab79ce4916ad43ef412e43f300b027e4e4 Mon Sep 17 00:00:00 2001 From: ali <117142933+muhammad-ali-e@users.noreply.github.com> Date: Tue, 28 Jan 2025 10:51:11 +0530 Subject: [PATCH 07/11] fix for duplicate container while retrying executions (#1096) Co-authored-by: Rahul Johny <116638720+johnyrahul@users.noreply.github.com> --- unstract/core/src/unstract/core/utilities.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/unstract/core/src/unstract/core/utilities.py b/unstract/core/src/unstract/core/utilities.py index 89213e49f..34d5c1729 100644 --- a/unstract/core/src/unstract/core/utilities.py +++ b/unstract/core/src/unstract/core/utilities.py @@ -1,5 +1,6 @@ import logging import os +import uuid from typing import Optional logger = logging.getLogger() @@ -31,7 +32,10 @@ def get_env(env_key: str, default: Optional[str] = None, raise_err=False) -> str def build_tool_container_name( tool_image: str, tool_version: str, run_id: str ) -> str: - container_name = f"{tool_image.split('/')[-1]}-{tool_version}-{run_id}" + tool_name = tool_image.split("/")[-1] + # TODO: Add execution attempt to better track instead of uuid + short_uuid = uuid.uuid4().hex[:6] # To avoid duplicate name collision + container_name = f"{tool_name}-{tool_version}-{short_uuid}-{run_id}" # To support limits of container clients like K8s if len(container_name) > 63: From 28250629742683311f3d33822ce825ccc5c9eb80 Mon Sep 17 00:00:00 2001 From: Praveen Kumar Date: Tue, 28 Jan 2025 12:26:23 +0530 Subject: [PATCH 08/11] Fixed invalid api key format raising 500 (#1079) * Fixed invalid api key format raising 500 * Modified the validate_api_key method to capture validation error and raise a UnauthorizedKey() error * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Gayathri <142381512+gaya3-zipstack@users.noreply.github.com> --- backend/api_v2/key_helper.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/backend/api_v2/key_helper.py b/backend/api_v2/key_helper.py index 2ff10654c..22421ff86 100644 --- a/backend/api_v2/key_helper.py +++ b/backend/api_v2/key_helper.py @@ -4,6 +4,7 @@ from api_v2.exceptions import UnauthorizedKey from api_v2.models import APIDeployment, APIKey from api_v2.serializers import APIKeySerializer +from django.core.exceptions import ValidationError from pipeline_v2.models import Pipeline from rest_framework.request import Request from workflow_manager.workflow_v2.workflow_helper import WorkflowHelper @@ -29,7 +30,7 @@ def validate_api_key( api_key_instance: APIKey = APIKey.objects.get(api_key=api_key) if not KeyHelper.has_access(api_key_instance, instance): raise UnauthorizedKey() - except APIKey.DoesNotExist: + except (APIKey.DoesNotExist, ValidationError): raise UnauthorizedKey() @staticmethod From 9719818bfdf293b291caff3fb44138002bbfb314 Mon Sep 17 00:00:00 2001 From: Tahier Hussain <89440263+tahierhussain@users.noreply.github.com> Date: Tue, 28 Jan 2025 16:37:16 +0530 Subject: [PATCH 09/11] FIX: Improvements in the Unstract Subscription Plugins Integration (#1098) * Fixed related to unstract subscription plugins * Restrict routing from top navbar if case if subscription expired * Modified the to keep the time as optional in the response * Fixed the bugs in disabling the navigation menu items * Fixed sonar cloud issues * Reverted back the approach to call the global store conditionally, as it is intentional * Fix sonar cloud issues * Minor fix * Removed useEffect * Minor fix --- .../navigations/side-nav-bar/SideNavBar.jsx | 136 +++++++++++------- .../navigations/top-nav-bar/TopNavBar.jsx | 38 +++++ frontend/src/helpers/GetStaticData.js | 25 ++-- frontend/src/routes/useMainAppRoutes.js | 5 +- 4 files changed, 145 insertions(+), 59 deletions(-) diff --git a/frontend/src/components/navigations/side-nav-bar/SideNavBar.jsx b/frontend/src/components/navigations/side-nav-bar/SideNavBar.jsx index 2d58d5cd8..57d0820bd 100644 --- a/frontend/src/components/navigations/side-nav-bar/SideNavBar.jsx +++ b/frontend/src/components/navigations/side-nav-bar/SideNavBar.jsx @@ -16,6 +16,7 @@ import task from "../../../assets/task.svg"; import VectorDbIcon from "../../../assets/vector-db.svg"; import TextExtractorIcon from "../../../assets/text-extractor.svg"; import { useSessionStore } from "../../../store/session-store"; +import { useMemo } from "react"; let getMenuItem; try { @@ -31,10 +32,16 @@ try { // Plugin unavailable. } +let unstractSubscriptionPlan; +let unstractSubscriptionPlanStore; let dashboardSideMenuItem; +let UNSTRACT_SUBSCRIPTION_PLANS; try { - dashboardSideMenuItem = - require("../../../plugins/unstract-subscription/helper/constants").dashboardSideMenuItem; + unstractSubscriptionPlanStore = require("../../../plugins/store/unstract-subscription-plan-store"); + const unstractSubscriptionConstants = require("../../../plugins/unstract-subscription/helper/constants"); + dashboardSideMenuItem = unstractSubscriptionConstants?.dashboardSideMenuItem; + UNSTRACT_SUBSCRIPTION_PLANS = + unstractSubscriptionConstants?.UNSTRACT_SUBSCRIPTION_PLANS; } catch (err) { // Plugin unavailable. } @@ -43,6 +50,18 @@ const SideNavBar = ({ collapsed }) => { const navigate = useNavigate(); const { sessionDetails } = useSessionStore(); const { orgName, flags } = sessionDetails; + + try { + if (unstractSubscriptionPlanStore?.useUnstractSubscriptionPlanStore) { + unstractSubscriptionPlan = + unstractSubscriptionPlanStore?.useUnstractSubscriptionPlanStore( + (state) => state?.unstractSubscriptionPlan + ); + } + } catch (error) { + // Do nothing + } + let menu; if (sideMenu) { menu = sideMenu.useSideMenu(); @@ -170,7 +189,26 @@ const SideNavBar = ({ collapsed }) => { const data = menu || unstractMenuItems; if (getMenuItem && flags?.app_deployment) { - data[0]?.subMenu?.splice(1, 0, getMenuItem?.default(orgName)); + data[0]?.subMenu?.splice(1, 0, getMenuItem.default(orgName)); + } + + const shouldDisableAll = useMemo(() => { + if (!unstractSubscriptionPlan || !UNSTRACT_SUBSCRIPTION_PLANS) { + return false; + } + + return ( + !unstractSubscriptionPlan?.subscriptionId && + unstractSubscriptionPlan?.planType !== UNSTRACT_SUBSCRIPTION_PLANS?.TRIAL + ); + }, [unstractSubscriptionPlan]); + + if (shouldDisableAll) { + data.forEach((mainMenuItem) => { + mainMenuItem.subMenu.forEach((subMenuItem) => { + subMenuItem.disable = true; + }); + }); } return ( @@ -184,53 +222,51 @@ const SideNavBar = ({ collapsed }) => { >
- {data?.map((item, index) => { - return ( -
- {!collapsed && ( - - {item.mainTitle} - - )} - - {item.subMenu.map((el) => { - return ( - - { - !el.disable && navigate(el.path); - }} - > - side_icon - {!collapsed && ( -
- - {el.title} - - - {el.description} - -
- )} -
-
- ); - })} -
- {index < data.length - 1 && ( - - )} -
- ); - })} + {data?.map((item, index) => ( +
+ {!collapsed && ( + + {item.mainTitle} + + )} + + {item.subMenu.map((el) => ( + + { + if (!el.disable) { + navigate(el.path); + } + }} + > + side_icon + {!collapsed && ( +
+ + {el.title} + + + {el.description} + +
+ )} +
+
+ ))} +
+ {index < data.length - 1 && ( + + )} +
+ ))}
diff --git a/frontend/src/components/navigations/top-nav-bar/TopNavBar.jsx b/frontend/src/components/navigations/top-nav-bar/TopNavBar.jsx index 2dd2d23ed..7cf512ad4 100644 --- a/frontend/src/components/navigations/top-nav-bar/TopNavBar.jsx +++ b/frontend/src/components/navigations/top-nav-bar/TopNavBar.jsx @@ -68,6 +68,17 @@ try { // Ignore if hook not available } +let unstractSubscriptionPlan; +let unstractSubscriptionPlanStore; +let UNSTRACT_SUBSCRIPTION_PLANS; +try { + unstractSubscriptionPlanStore = require("../../../plugins/store/unstract-subscription-plan-store"); + UNSTRACT_SUBSCRIPTION_PLANS = + require("../../../plugins/unstract-subscription/helper/constants").UNSTRACT_SUBSCRIPTION_PLANS; +} catch (err) { + // Plugin unavailable. +} + function TopNavBar({ isSimpleLayout, topNavBarOptions }) { const navigate = useNavigate(); const { sessionDetails } = useSessionStore(); @@ -89,6 +100,28 @@ function TopNavBar({ isSimpleLayout, topNavBarOptions }) { ); } + try { + if (unstractSubscriptionPlanStore?.useUnstractSubscriptionPlanStore) { + unstractSubscriptionPlan = + unstractSubscriptionPlanStore?.useUnstractSubscriptionPlanStore( + (state) => state?.unstractSubscriptionPlan + ); + } + } catch (error) { + // Do nothing + } + + const shouldDisableRouting = useMemo(() => { + if (!unstractSubscriptionPlan || !UNSTRACT_SUBSCRIPTION_PLANS) { + return false; + } + + return ( + !unstractSubscriptionPlan?.subscriptionId && + unstractSubscriptionPlan?.planType !== UNSTRACT_SUBSCRIPTION_PLANS?.TRIAL + ); + }, [unstractSubscriptionPlan]); + const isUnstract = !(selectedProduct && selectedProduct !== "unstract"); // Check user role and whether the onboarding is incomplete @@ -185,6 +218,7 @@ function TopNavBar({ isSimpleLayout, topNavBarOptions }) { @@ -223,6 +257,7 @@ function TopNavBar({ isSimpleLayout, topNavBarOptions }) { @@ -238,6 +273,7 @@ function TopNavBar({ isSimpleLayout, topNavBarOptions }) { @@ -250,6 +286,7 @@ function TopNavBar({ isSimpleLayout, topNavBarOptions }) { @@ -277,6 +314,7 @@ function TopNavBar({ isSimpleLayout, topNavBarOptions }) { cascadeOptions, orgName, orgId, + shouldDisableRouting, ]); // Function to get the initials from the user name diff --git a/frontend/src/helpers/GetStaticData.js b/frontend/src/helpers/GetStaticData.js index e75e1e560..fc597d652 100644 --- a/frontend/src/helpers/GetStaticData.js +++ b/frontend/src/helpers/GetStaticData.js @@ -170,21 +170,30 @@ const listOfAppDeployments = [ }, ]; -const getReadableDateAndTime = (timestamp) => { +const getReadableDateAndTime = (timestamp, includeTime = true) => { const currentDate = new Date(timestamp); - // Options for formatting the date and time - const options = { - year: "numeric", - month: "long", - day: "numeric", + if (isNaN(currentDate)) { + return "Invalid date"; + } + + // Options for formatting the date + const dateOptions = { year: "numeric", month: "long", day: "numeric" }; + const formattedDate = currentDate.toLocaleDateString("en-US", dateOptions); + + if (!includeTime) { + return formattedDate; + } + + // Options for formatting the time + const timeOptions = { hour: "2-digit", minute: "2-digit", second: "2-digit", timeZoneName: "short", }; - const formattedDate = currentDate.toLocaleDateString("en-US", options); - const formattedTime = currentDate.toLocaleTimeString("en-US", options); + const formattedTime = currentDate.toLocaleTimeString("en-US", timeOptions); + return formattedDate + ", " + formattedTime; }; diff --git a/frontend/src/routes/useMainAppRoutes.js b/frontend/src/routes/useMainAppRoutes.js index f77e96ad5..7309a63b7 100644 --- a/frontend/src/routes/useMainAppRoutes.js +++ b/frontend/src/routes/useMainAppRoutes.js @@ -109,7 +109,10 @@ function useMainAppRoutes() { } /> )} {UnstractSubscriptionPage && ( - } /> + } + /> )} } /> Date: Tue, 28 Jan 2025 18:56:34 +0530 Subject: [PATCH 10/11] added supported plugin and constants for db rules functionality (#1092) * added supported plugin and constants for db rules functionality * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .../workflow_manager/workflow_v2/constants.py | 1 + frontend/package-lock.json | 397 +++++++++++++++++- frontend/package.json | 1 + 3 files changed, 381 insertions(+), 18 deletions(-) diff --git a/backend/workflow_manager/workflow_v2/constants.py b/backend/workflow_manager/workflow_v2/constants.py index c36a435da..29d400ffe 100644 --- a/backend/workflow_manager/workflow_v2/constants.py +++ b/backend/workflow_manager/workflow_v2/constants.py @@ -63,3 +63,4 @@ class WorkflowMessages: class ResultKeys: METADATA = "metadata" CONFIDENCE_DATA = "confidence_data" + OUTPUT = "output" diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 97e09de0d..b566f0ef2 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -9,6 +9,7 @@ "version": "0.1.0", "dependencies": { "@ant-design/icons": "^5.1.4", + "@react-awesome-query-builder/antd": "^6.6.10", "@react-pdf-viewer/core": "^3.12.0", "@react-pdf-viewer/default-layout": "^3.12.0", "@react-pdf-viewer/highlight": "^3.12.0", @@ -2135,9 +2136,10 @@ "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" }, "node_modules/@babel/runtime": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.8.tgz", - "integrity": "sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz", + "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", + "license": "MIT", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -3716,6 +3718,119 @@ "react-dom": ">=16.9.0" } }, + "node_modules/@react-awesome-query-builder/antd": { + "version": "6.6.10", + "resolved": "https://registry.npmjs.org/@react-awesome-query-builder/antd/-/antd-6.6.10.tgz", + "integrity": "sha512-PSIaEk+jVN/x6gK/kOKiK8yjZhazui91sjmKojIQNT9OT1I0GOEmusZVvhHNGKQuUl5sJcn0CdYqsBVL4ECv5A==", + "license": "MIT", + "dependencies": { + "@react-awesome-query-builder/ui": "^6.6.10", + "lodash": "^4.17.21", + "prop-types": "^15.8.1", + "rc-picker": "^4.5.0" + }, + "peerDependencies": { + "@ant-design/icons": "^4.0.0 || ^5.0.0", + "antd": "^4.17.0 || ^5.0.0", + "react": "^16.8.4 || ^17.0.1 || ^18.0.0", + "react-dom": "^16.8.4 || ^17.0.1 || ^18.0.0" + } + }, + "node_modules/@react-awesome-query-builder/antd/node_modules/@rc-component/trigger": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@rc-component/trigger/-/trigger-2.2.6.tgz", + "integrity": "sha512-/9zuTnWwhQ3S3WT1T8BubuFTT46kvnXgaERR9f4BTKyn61/wpf/BvbImzYBubzJibU707FxwbKszLlHjcLiv1Q==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.23.2", + "@rc-component/portal": "^1.1.0", + "classnames": "^2.3.2", + "rc-motion": "^2.0.0", + "rc-resize-observer": "^1.3.1", + "rc-util": "^5.44.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@react-awesome-query-builder/antd/node_modules/rc-picker": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-4.9.2.tgz", + "integrity": "sha512-SLW4PRudODOomipKI0dvykxW4P8LOqtMr17MOaLU6NQJhkh9SZeh44a/8BMxwv5T6e3kiIeYc9k5jFg2Mv35Pg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.24.7", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.2.1", + "rc-overflow": "^1.3.2", + "rc-resize-observer": "^1.4.0", + "rc-util": "^5.43.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "date-fns": ">= 2.x", + "dayjs": ">= 1.x", + "luxon": ">= 3.x", + "moment": ">= 2.x", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + }, + "peerDependenciesMeta": { + "date-fns": { + "optional": true + }, + "dayjs": { + "optional": true + }, + "luxon": { + "optional": true + }, + "moment": { + "optional": true + } + } + }, + "node_modules/@react-awesome-query-builder/core": { + "version": "6.6.10", + "resolved": "https://registry.npmjs.org/@react-awesome-query-builder/core/-/core-6.6.10.tgz", + "integrity": "sha512-6CaQS12LTnYQUfH/Y8jDaiJUcdowKaI9i5Azz8oNvPtZI3hO940fJSdX5brUPD29/H4u888JEh3PQ9u/ANNtbg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.24.5", + "clone": "^2.1.2", + "i18next": "^23.11.5", + "immutable": "^4.3.6", + "json-logic-js": "^2.0.2", + "lodash": "^4.17.21", + "moment": "^2.30.1", + "spel2js": "^0.2.8", + "sqlstring": "^2.3.3" + } + }, + "node_modules/@react-awesome-query-builder/ui": { + "version": "6.6.10", + "resolved": "https://registry.npmjs.org/@react-awesome-query-builder/ui/-/ui-6.6.10.tgz", + "integrity": "sha512-k52hXSWC7emcBfubOyoGSzhxSBSQyLuhCq+3Abnn+zeA70W6kHyy31DjjFryERCg73WJDNESmYjSlu7S3C6n5Q==", + "license": "MIT", + "dependencies": { + "@react-awesome-query-builder/core": "^6.6.10", + "classnames": "^2.5.1", + "lodash": "^4.17.21", + "prop-types": "^15.8.1", + "react-redux": "^8.1.3", + "redux": "^4.2.1" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.1 || ^18.0.0", + "react-dom": "^16.8.4 || ^17.0.1 || ^18.0.0" + } + }, "node_modules/@react-dnd/asap": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/@react-dnd/asap/-/asap-5.0.2.tgz", @@ -4659,6 +4774,16 @@ "@types/node": "*" } }, + "node_modules/@types/hoist-non-react-statics": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.6.tgz", + "integrity": "sha512-lPByRJUer/iN/xa4qpyL0qmL11DqNW81iU/IG1S3uvRUq4oKagz8VCxZjiWkumgt66YT3vOdDgZ0o32sGKtCEw==", + "license": "MIT", + "dependencies": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, "node_modules/@types/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", @@ -4887,6 +5012,12 @@ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.7.tgz", "integrity": "sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==" }, + "node_modules/@types/use-sync-external-store": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", + "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==", + "license": "MIT" + }, "node_modules/@types/ws": { "version": "8.5.5", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz", @@ -6682,6 +6813,15 @@ "wrap-ansi": "^7.0.0" } }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, "node_modules/co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -10198,6 +10338,29 @@ "node": ">=10.17.0" } }, + "node_modules/i18next": { + "version": "23.16.8", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.16.8.tgz", + "integrity": "sha512-06r/TitrM88Mg5FdUXAKL96dJMzgqLE5dv3ryBAra4KCwD9mJ4ndOTS95ZuymIGoE+2hzfdaMak2X11/es7ZWg==", + "funding": [ + { + "type": "individual", + "url": "https://locize.com" + }, + { + "type": "individual", + "url": "https://locize.com/i18next.html" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + } + ], + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.23.2" + } + }, "node_modules/iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -10253,6 +10416,12 @@ "url": "https://opencollective.com/immer" } }, + "node_modules/immutable": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", + "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==", + "license": "MIT" + }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -12834,6 +13003,12 @@ "node": ">= 16" } }, + "node_modules/json-logic-js": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/json-logic-js/-/json-logic-js-2.0.5.tgz", + "integrity": "sha512-rTT2+lqcuUmj4DgWfmzupZqQDA64AdmYqizzMPWj3DxGdfFNsxPpcNVSaTj4l8W2tG/+hg7/mQhxjU3aPacO6g==", + "license": "MIT" + }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", @@ -14116,9 +14291,10 @@ } }, "node_modules/moment": { - "version": "2.29.4", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", - "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==", + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "license": "MIT", "engines": { "node": "*" } @@ -17011,9 +17187,10 @@ } }, "node_modules/rc-util": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.38.1.tgz", - "integrity": "sha512-e4ZMs7q9XqwTuhIK7zBIVFltUtMSjphuPPQXHoHlzRzNdOwUxDejo0Zls5HYaJfRKNURcsS/ceKVULlhjBrxng==", + "version": "5.44.3", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.44.3.tgz", + "integrity": "sha512-q6KCcOFk3rv/zD3MckhJteZxb0VjAIFuf622B7ElK4vfrZdAzs16XR5p3VTdy3+U5jfJU5ACz4QnhLSuAGe5dA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.18.3", "react-is": "^18.2.0" @@ -17237,6 +17414,45 @@ "react": ">= 17.0.0" } }, + "node_modules/react-redux": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.1.3.tgz", + "integrity": "sha512-n0ZrutD7DaX/j9VscF+uTALI3oUPa/pO4Z3soOBIjuRn/FzVu6aehhysxZCLi6y7duMf52WNZGMl7CtuK5EnRw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.1", + "@types/hoist-non-react-statics": "^3.3.1", + "@types/use-sync-external-store": "^0.0.3", + "hoist-non-react-statics": "^3.3.2", + "react-is": "^18.0.0", + "use-sync-external-store": "^1.0.0" + }, + "peerDependencies": { + "@types/react": "^16.8 || ^17.0 || ^18.0", + "@types/react-dom": "^16.8 || ^17.0 || ^18.0", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0", + "react-native": ">=0.59", + "redux": "^4 || ^5.0.0-beta.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + }, + "redux": { + "optional": true + } + } + }, "node_modules/react-refresh": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", @@ -18425,11 +18641,28 @@ "wbuf": "^1.7.3" } }, + "node_modules/spel2js": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/spel2js/-/spel2js-0.2.8.tgz", + "integrity": "sha512-dzYq+v4YV7SPIdNrmvFAUjc0HcgI7b0yoMw7kzOBmlj/GjdOb/+8dVn1I7nLuOS5X2SW+LK3tf2SVkXRjCkWBA==", + "engines": { + "node": ">=8" + } + }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, + "node_modules/sqlstring": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.3.tgz", + "integrity": "sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/stable": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", @@ -22066,9 +22299,9 @@ "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" }, "@babel/runtime": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.8.tgz", - "integrity": "sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz", + "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", "requires": { "regenerator-runtime": "^0.14.0" }, @@ -23217,6 +23450,74 @@ "rc-util": "^5.38.0" } }, + "@react-awesome-query-builder/antd": { + "version": "6.6.10", + "resolved": "https://registry.npmjs.org/@react-awesome-query-builder/antd/-/antd-6.6.10.tgz", + "integrity": "sha512-PSIaEk+jVN/x6gK/kOKiK8yjZhazui91sjmKojIQNT9OT1I0GOEmusZVvhHNGKQuUl5sJcn0CdYqsBVL4ECv5A==", + "requires": { + "@react-awesome-query-builder/ui": "^6.6.10", + "lodash": "^4.17.21", + "prop-types": "^15.8.1", + "rc-picker": "^4.5.0" + }, + "dependencies": { + "@rc-component/trigger": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@rc-component/trigger/-/trigger-2.2.6.tgz", + "integrity": "sha512-/9zuTnWwhQ3S3WT1T8BubuFTT46kvnXgaERR9f4BTKyn61/wpf/BvbImzYBubzJibU707FxwbKszLlHjcLiv1Q==", + "requires": { + "@babel/runtime": "^7.23.2", + "@rc-component/portal": "^1.1.0", + "classnames": "^2.3.2", + "rc-motion": "^2.0.0", + "rc-resize-observer": "^1.3.1", + "rc-util": "^5.44.0" + } + }, + "rc-picker": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-4.9.2.tgz", + "integrity": "sha512-SLW4PRudODOomipKI0dvykxW4P8LOqtMr17MOaLU6NQJhkh9SZeh44a/8BMxwv5T6e3kiIeYc9k5jFg2Mv35Pg==", + "requires": { + "@babel/runtime": "^7.24.7", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.2.1", + "rc-overflow": "^1.3.2", + "rc-resize-observer": "^1.4.0", + "rc-util": "^5.43.0" + } + } + } + }, + "@react-awesome-query-builder/core": { + "version": "6.6.10", + "resolved": "https://registry.npmjs.org/@react-awesome-query-builder/core/-/core-6.6.10.tgz", + "integrity": "sha512-6CaQS12LTnYQUfH/Y8jDaiJUcdowKaI9i5Azz8oNvPtZI3hO940fJSdX5brUPD29/H4u888JEh3PQ9u/ANNtbg==", + "requires": { + "@babel/runtime": "^7.24.5", + "clone": "^2.1.2", + "i18next": "^23.11.5", + "immutable": "^4.3.6", + "json-logic-js": "^2.0.2", + "lodash": "^4.17.21", + "moment": "^2.30.1", + "spel2js": "^0.2.8", + "sqlstring": "^2.3.3" + } + }, + "@react-awesome-query-builder/ui": { + "version": "6.6.10", + "resolved": "https://registry.npmjs.org/@react-awesome-query-builder/ui/-/ui-6.6.10.tgz", + "integrity": "sha512-k52hXSWC7emcBfubOyoGSzhxSBSQyLuhCq+3Abnn+zeA70W6kHyy31DjjFryERCg73WJDNESmYjSlu7S3C6n5Q==", + "requires": { + "@react-awesome-query-builder/core": "^6.6.10", + "classnames": "^2.5.1", + "lodash": "^4.17.21", + "prop-types": "^15.8.1", + "react-redux": "^8.1.3", + "redux": "^4.2.1" + } + }, "@react-dnd/asap": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/@react-dnd/asap/-/asap-5.0.2.tgz", @@ -23890,6 +24191,15 @@ "@types/node": "*" } }, + "@types/hoist-non-react-statics": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.6.tgz", + "integrity": "sha512-lPByRJUer/iN/xa4qpyL0qmL11DqNW81iU/IG1S3uvRUq4oKagz8VCxZjiWkumgt66YT3vOdDgZ0o32sGKtCEw==", + "requires": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, "@types/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", @@ -24111,6 +24421,11 @@ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.7.tgz", "integrity": "sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==" }, + "@types/use-sync-external-store": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", + "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" + }, "@types/ws": { "version": "8.5.5", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz", @@ -25417,6 +25732,11 @@ "wrap-ansi": "^7.0.0" } }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==" + }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -27990,6 +28310,14 @@ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" }, + "i18next": { + "version": "23.16.8", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.16.8.tgz", + "integrity": "sha512-06r/TitrM88Mg5FdUXAKL96dJMzgqLE5dv3ryBAra4KCwD9mJ4ndOTS95ZuymIGoE+2hzfdaMak2X11/es7ZWg==", + "requires": { + "@babel/runtime": "^7.23.2" + } + }, "iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -28027,6 +28355,11 @@ "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==" }, + "immutable": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", + "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==" + }, "import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -30007,6 +30340,11 @@ "doc-path": "4.1.1" } }, + "json-logic-js": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/json-logic-js/-/json-logic-js-2.0.5.tgz", + "integrity": "sha512-rTT2+lqcuUmj4DgWfmzupZqQDA64AdmYqizzMPWj3DxGdfFNsxPpcNVSaTj4l8W2tG/+hg7/mQhxjU3aPacO6g==" + }, "json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", @@ -30861,9 +31199,9 @@ } }, "moment": { - "version": "2.29.4", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", - "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==" + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==" }, "moment-timezone": { "version": "0.5.45", @@ -32753,9 +33091,9 @@ } }, "rc-util": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.38.1.tgz", - "integrity": "sha512-e4ZMs7q9XqwTuhIK7zBIVFltUtMSjphuPPQXHoHlzRzNdOwUxDejo0Zls5HYaJfRKNURcsS/ceKVULlhjBrxng==", + "version": "5.44.3", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.44.3.tgz", + "integrity": "sha512-q6KCcOFk3rv/zD3MckhJteZxb0VjAIFuf622B7ElK4vfrZdAzs16XR5p3VTdy3+U5jfJU5ACz4QnhLSuAGe5dA==", "requires": { "@babel/runtime": "^7.18.3", "react-is": "^18.2.0" @@ -32922,6 +33260,19 @@ "product-fruits": "^1.0.25" } }, + "react-redux": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.1.3.tgz", + "integrity": "sha512-n0ZrutD7DaX/j9VscF+uTALI3oUPa/pO4Z3soOBIjuRn/FzVu6aehhysxZCLi6y7duMf52WNZGMl7CtuK5EnRw==", + "requires": { + "@babel/runtime": "^7.12.1", + "@types/hoist-non-react-statics": "^3.3.1", + "@types/use-sync-external-store": "^0.0.3", + "hoist-non-react-statics": "^3.3.2", + "react-is": "^18.0.0", + "use-sync-external-store": "^1.0.0" + } + }, "react-refresh": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", @@ -33797,11 +34148,21 @@ "wbuf": "^1.7.3" } }, + "spel2js": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/spel2js/-/spel2js-0.2.8.tgz", + "integrity": "sha512-dzYq+v4YV7SPIdNrmvFAUjc0HcgI7b0yoMw7kzOBmlj/GjdOb/+8dVn1I7nLuOS5X2SW+LK3tf2SVkXRjCkWBA==" + }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, + "sqlstring": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.3.tgz", + "integrity": "sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==" + }, "stable": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", diff --git a/frontend/package.json b/frontend/package.json index f0d9aea24..101b61d62 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -4,6 +4,7 @@ "private": true, "dependencies": { "@ant-design/icons": "^5.1.4", + "@react-awesome-query-builder/antd": "^6.6.10", "@react-pdf-viewer/core": "^3.12.0", "@react-pdf-viewer/default-layout": "^3.12.0", "@react-pdf-viewer/highlight": "^3.12.0", From 10f48e098afb051e5bd12372ea84f3db7546de1d Mon Sep 17 00:00:00 2001 From: ali <117142933+muhammad-ali-e@users.noreply.github.com> Date: Wed, 29 Jan 2025 12:37:49 +0530 Subject: [PATCH 11/11] file validation in serailizer with number of file (#1099) --- backend/api_v2/api_deployment_views.py | 6 ++---- backend/api_v2/serializers.py | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/backend/api_v2/api_deployment_views.py b/backend/api_v2/api_deployment_views.py index 580c7494f..656a33ae7 100644 --- a/backend/api_v2/api_deployment_views.py +++ b/backend/api_v2/api_deployment_views.py @@ -4,7 +4,7 @@ from api_v2.constants import ApiExecution from api_v2.deployment_helper import DeploymentHelper -from api_v2.exceptions import InvalidAPIRequest, NoActiveAPIKeyError +from api_v2.exceptions import NoActiveAPIKeyError from api_v2.models import APIDeployment from api_v2.postman_collection.dto import PostmanCollection from api_v2.serializers import ( @@ -47,16 +47,14 @@ def initialize_request( def post( self, request: Request, org_name: str, api_name: str, api: APIDeployment ) -> Response: - file_objs = request.FILES.getlist(ApiExecution.FILES_FORM_DATA) serializer = ExecutionRequestSerializer(data=request.data) serializer.is_valid(raise_exception=True) + file_objs = serializer.validated_data.get(ApiExecution.FILES_FORM_DATA) timeout = serializer.validated_data.get(ApiExecution.TIMEOUT_FORM_DATA) include_metadata = serializer.validated_data.get(ApiExecution.INCLUDE_METADATA) include_metrics = serializer.validated_data.get(ApiExecution.INCLUDE_METRICS) use_file_history = serializer.validated_data.get(ApiExecution.USE_FILE_HISTORY) tag_names = serializer.validated_data.get(ApiExecution.TAGS) - if not file_objs or len(file_objs) == 0: - raise InvalidAPIRequest("File shouldn't be empty") response = DeploymentHelper.execute_workflow( organization_name=org_name, api=api, diff --git a/backend/api_v2/serializers.py b/backend/api_v2/serializers.py index 24bba28cc..611f4079f 100644 --- a/backend/api_v2/serializers.py +++ b/backend/api_v2/serializers.py @@ -9,8 +9,10 @@ from rest_framework.serializers import ( BooleanField, CharField, + FileField, IntegerField, JSONField, + ListField, ModelSerializer, Serializer, ValidationError, @@ -115,12 +117,31 @@ class ExecutionRequestSerializer(TagParamsSerializer): e.g:'tag1,tag2-name,tag3_name' """ + MAX_FILES_ALLOWED = 32 + timeout = IntegerField( min_value=-1, max_value=ApiExecution.MAXIMUM_TIMEOUT_IN_SEC, default=-1 ) include_metadata = BooleanField(default=False) include_metrics = BooleanField(default=False) use_file_history = BooleanField(default=False) + files = ListField( + child=FileField(), + required=True, + allow_empty=False, + error_messages={ + "required": "At least one file must be provided.", + "empty": "The file list cannot be empty.", + }, + ) + + def validate_files(self, value): + """Validate the files field.""" + if len(value) == 0: + raise ValidationError("The file list cannot be empty.") + if len(value) > self.MAX_FILES_ALLOWED: + raise ValidationError(f"Maximum '{self.MAX_FILES_ALLOWED}' files allowed.") + return value class ExecutionQuerySerializer(Serializer):