From c772a4dcdda3b1cc19ce3c0de08c0a6b6da7d34d Mon Sep 17 00:00:00 2001 From: Gabriel Almeida Date: Sat, 27 May 2023 11:55:41 -0300 Subject: [PATCH 01/69] =?UTF-8?q?=F0=9F=9A=80=20chore(package.json):=20add?= =?UTF-8?q?=20vite-plugin-svgr=20dependency=20to=20both=20root=20and=20fro?= =?UTF-8?q?ntend=20package.json=20=E2=9C=A8=20feat(GenericNode):=20add=20C?= =?UTF-8?q?hromaIcon=20and=20fix=20validation=20status=20icons=20?= =?UTF-8?q?=F0=9F=8E=A8=20style(GenericNode):=20refactor=20GenericNode=20c?= =?UTF-8?q?omponent=20to=20improve=20readability=20=F0=9F=90=9B=20fix(vite?= =?UTF-8?q?.config.ts):=20add=20svgr=20plugin=20to=20the=20frontend=20Vite?= =?UTF-8?q?=20configuration=20The=20vite-plugin-svgr=20dependency=20was=20?= =?UTF-8?q?added=20to=20both=20the=20root=20and=20frontend=20package.json?= =?UTF-8?q?=20files=20to=20enable=20the=20use=20of=20SVG=20files=20as=20Re?= =?UTF-8?q?act=20components.=20The=20GenericNode=20component=20was=20updat?= =?UTF-8?q?ed=20to=20include=20the=20ChromaIcon=20component=20and=20to=20f?= =?UTF-8?q?ix=20the=20validation=20status=20icons.=20The=20component=20was?= =?UTF-8?q?=20also=20refactored=20to=20improve=20readability.=20The=20svgr?= =?UTF-8?q?=20plugin=20was=20added=20to=20the=20frontend=20Vite=20configur?= =?UTF-8?q?ation=20to=20enable=20the=20use=20of=20SVG=20files=20as=20React?= =?UTF-8?q?=20components.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 5 + src/frontend/package-lock.json | 510 +++++++++++++----- src/frontend/package.json | 3 +- .../src/CustomNodes/GenericNode/index.tsx | 37 +- src/frontend/src/icons/ChromaIcon/chroma.svg | 7 + src/frontend/src/icons/ChromaIcon/index.tsx | 12 + src/frontend/src/icons/index.tsx | 1 + src/frontend/vite.config.ts | 4 +- 8 files changed, 421 insertions(+), 158 deletions(-) create mode 100644 package.json create mode 100644 src/frontend/src/icons/ChromaIcon/chroma.svg create mode 100644 src/frontend/src/icons/ChromaIcon/index.tsx create mode 100644 src/frontend/src/icons/index.tsx diff --git a/package.json b/package.json new file mode 100644 index 000000000..091eb76c4 --- /dev/null +++ b/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "vite-plugin-svgr": "^3.2.0" + } +} diff --git a/src/frontend/package-lock.json b/src/frontend/package-lock.json index b98a26b64..b55c44b46 100644 --- a/src/frontend/package-lock.json +++ b/src/frontend/package-lock.json @@ -37,6 +37,7 @@ "remark-gfm": "^3.0.1", "remark-math": "^5.1.1", "uuid": "^9.0.0", + "vite-plugin-svgr": "^3.2.0", "web-vitals": "^2.1.4" }, "devDependencies": { @@ -79,7 +80,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "peer": true, "dependencies": { "@jridgewell/gen-mapping": "^0.1.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -100,30 +100,28 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.21.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.7.tgz", - "integrity": "sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA==", - "peer": true, + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.3.tgz", + "integrity": "sha512-aNtko9OPOwVESUFp3MZfD8Uzxl7JzSeJpd7npIoxCasU37PFbAQRpKglkaKwlHOyeJdrREpo8TW8ldrkYWwvIQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.20.12", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz", - "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==", - "peer": true, + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.1.tgz", + "integrity": "sha512-Hkqu7J4ynysSXxmAahpN1jjRwVJ+NdpraFLIWflgjpVob3KNyK3/tIUc7Q7szed8WMp0JNa7Qtd1E9Oo22F9gA==", "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.5", - "@babel/helper-compilation-targets": "^7.21.5", - "@babel/helper-module-transforms": "^7.21.5", - "@babel/helpers": "^7.21.5", - "@babel/parser": "^7.21.8", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5", + "@babel/generator": "^7.22.0", + "@babel/helper-compilation-targets": "^7.22.1", + "@babel/helper-module-transforms": "^7.22.1", + "@babel/helpers": "^7.22.0", + "@babel/parser": "^7.22.0", + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -138,22 +136,12 @@ "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "peer": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/generator": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.5.tgz", - "integrity": "sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==", - "peer": true, + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.3.tgz", + "integrity": "sha512-C17MW4wlk//ES/CJDL51kPNwl+qiBQyN7b9SKyVp11BLGFeSPoVaHrv+MNt8jwQFhQWowW88z1eeBx3pFz9v8A==", "dependencies": { - "@babel/types": "^7.21.5", + "@babel/types": "^7.22.3", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -163,10 +151,9 @@ } }, "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "peer": true, + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dependencies": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -177,12 +164,11 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz", - "integrity": "sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w==", - "peer": true, + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.1.tgz", + "integrity": "sha512-Rqx13UM3yVB5q0D/KwQ8+SPfX/+Rnsy1Lw1k/UwOC4KC6qrzIQoY3lYnBu5EHKBlEHHcj0M0W8ltPSkD8rqfsQ==", "dependencies": { - "@babel/compat-data": "^7.21.5", + "@babel/compat-data": "^7.22.0", "@babel/helper-validator-option": "^7.21.0", "browserslist": "^4.21.3", "lru-cache": "^5.1.1", @@ -195,20 +181,10 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "peer": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz", - "integrity": "sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==", - "peer": true, + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.1.tgz", + "integrity": "sha512-Z2tgopurB/kTbidvzeBrc2To3PUP/9i5MUe+fU6QJCQDyPwSH2oRapkLw3KGECDYSjhQZCNxEvNvZlLw8JjGwA==", "engines": { "node": ">=6.9.0" } @@ -217,7 +193,6 @@ "version": "7.21.0", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", - "peer": true, "dependencies": { "@babel/template": "^7.20.7", "@babel/types": "^7.21.0" @@ -230,7 +205,6 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "peer": true, "dependencies": { "@babel/types": "^7.18.6" }, @@ -250,19 +224,18 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz", - "integrity": "sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==", - "peer": true, + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.1.tgz", + "integrity": "sha512-dxAe9E7ySDGbQdCVOY/4+UcD8M9ZFqZcZhSPsPacvCG4M+9lwtDDQfI2EoaSvmf7W/8yCBkGU0m7Pvt1ru3UZw==", "dependencies": { - "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-environment-visitor": "^7.22.1", "@babel/helper-module-imports": "^7.21.4", "@babel/helper-simple-access": "^7.21.5", "@babel/helper-split-export-declaration": "^7.18.6", "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.0" }, "engines": { "node": ">=6.9.0" @@ -280,7 +253,6 @@ "version": "7.21.5", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz", "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==", - "peer": true, "dependencies": { "@babel/types": "^7.21.5" }, @@ -292,7 +264,6 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "peer": true, "dependencies": { "@babel/types": "^7.18.6" }, @@ -320,20 +291,18 @@ "version": "7.21.0", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", - "peer": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.5.tgz", - "integrity": "sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==", - "peer": true, + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.3.tgz", + "integrity": "sha512-jBJ7jWblbgr7r6wYZHMdIqKc73ycaTcCaWRq4/2LpuPHcx7xMlZvpGQkOYc9HeSjn6rcx15CPlgVcBtZ4WZJ2w==", "dependencies": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.3" }, "engines": { "node": ">=6.9.0" @@ -353,10 +322,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.21.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz", - "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==", - "peer": true, + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.3.tgz", + "integrity": "sha512-vrukxyW/ep8UD1UDzOYpTKQ6abgjFoeG6L+4ar9+c5TN9QnlqiOi6QK7LSR5ewm/ERyGkT/Ai6VboNrxhbr9Uw==", "bin": { "parser": "bin/babel-parser.js" }, @@ -390,33 +358,31 @@ } }, "node_modules/@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", - "peer": true, + "version": "7.21.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.21.9.tgz", + "integrity": "sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==", "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/code-frame": "^7.21.4", + "@babel/parser": "^7.21.9", + "@babel/types": "^7.21.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.5.tgz", - "integrity": "sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==", - "peer": true, + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.1.tgz", + "integrity": "sha512-lAWkdCoUFnmwLBhIRLciFntGYsIIoC6vIbN8zrLPqBnJmPu7Z6nzqnKd7FsxQUNAvZfVZ0x6KdNvNp8zWIOHSQ==", "dependencies": { "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.5", - "@babel/helper-environment-visitor": "^7.21.5", + "@babel/generator": "^7.22.0", + "@babel/helper-environment-visitor": "^7.22.1", "@babel/helper-function-name": "^7.21.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.5", - "@babel/types": "^7.21.5", + "@babel/parser": "^7.22.0", + "@babel/types": "^7.22.0", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -425,9 +391,9 @@ } }, "node_modules/@babel/types": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz", - "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==", + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.3.tgz", + "integrity": "sha512-P3na3xIQHTKY4L0YOG7pM8M8uoUIB910WQaSiiMCZUC2Cy8XFEQONGABFnHWBa2gpGKODTAJcNhi5Zk0sLRrzg==", "dependencies": { "@babel/helper-string-parser": "^7.21.5", "@babel/helper-validator-identifier": "^7.19.1", @@ -608,7 +574,6 @@ "cpu": [ "arm" ], - "dev": true, "optional": true, "os": [ "android" @@ -624,7 +589,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "android" @@ -640,7 +604,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "android" @@ -656,7 +619,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "darwin" @@ -672,7 +634,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "darwin" @@ -688,7 +649,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "freebsd" @@ -704,7 +664,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "freebsd" @@ -720,7 +679,6 @@ "cpu": [ "arm" ], - "dev": true, "optional": true, "os": [ "linux" @@ -736,7 +694,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -752,7 +709,6 @@ "cpu": [ "ia32" ], - "dev": true, "optional": true, "os": [ "linux" @@ -768,7 +724,6 @@ "cpu": [ "loong64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -784,7 +739,6 @@ "cpu": [ "mips64el" ], - "dev": true, "optional": true, "os": [ "linux" @@ -800,7 +754,6 @@ "cpu": [ "ppc64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -816,7 +769,6 @@ "cpu": [ "riscv64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -832,7 +784,6 @@ "cpu": [ "s390x" ], - "dev": true, "optional": true, "os": [ "linux" @@ -848,7 +799,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -864,7 +814,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "netbsd" @@ -880,7 +829,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "openbsd" @@ -896,7 +844,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "sunos" @@ -912,7 +859,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "win32" @@ -928,7 +874,6 @@ "cpu": [ "ia32" ], - "dev": true, "optional": true, "os": [ "win32" @@ -944,7 +889,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "win32" @@ -980,7 +924,6 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "peer": true, "dependencies": { "@jridgewell/set-array": "^1.0.0", "@jridgewell/sourcemap-codec": "^1.4.10" @@ -1009,7 +952,6 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -1021,7 +963,6 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -1406,6 +1347,252 @@ "node": ">=14" } }, + "node_modules/@rollup/pluginutils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", + "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-7.0.0.tgz", + "integrity": "sha512-khWbXesWIP9v8HuKCl2NU2HNAyqpSQ/vkIl36Nbn4HIwEYSRWL0H7Gs6idJdha2DkpFDWlsqMELvoCE8lfFY6Q==", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-7.0.0.tgz", + "integrity": "sha512-iiZaIvb3H/c7d3TH2HBeK91uI2rMhZNwnsIrvd7ZwGLkFw6mmunOCoVnjdYua662MqGFxlN9xTq4fv9hgR4VXQ==", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-7.0.0.tgz", + "integrity": "sha512-sQQmyo+qegBx8DfFc04PFmIO1FP1MHI1/QEpzcIcclo5OAISsOJPW76ZIs0bDyO/DBSJEa/tDa1W26pVtt0FRw==", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-7.0.0.tgz", + "integrity": "sha512-i6MaAqIZXDOJeikJuzocByBf8zO+meLwfQ/qMHIjCcvpnfvWf82PFvredEZElErB5glQFJa2KVKk8N2xV6tRRA==", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-7.0.0.tgz", + "integrity": "sha512-BoVSh6ge3SLLpKC0pmmN9DFlqgFy4NxNgdZNLPNJWBUU7TQpDWeBuyVuDW88iXydb5Cv0ReC+ffa5h3VrKfk1w==", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-7.0.0.tgz", + "integrity": "sha512-tNDcBa+hYn0gO+GkP/AuNKdVtMufVhU9fdzu+vUQsR18RIJ9RWe7h/pSBY338RO08wArntwbDk5WhQBmhf2PaA==", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-7.0.0.tgz", + "integrity": "sha512-qw54u8ljCJYL2KtBOjI5z7Nzg8LnSvQOP5hPKj77H4VQL4+HdKbAT5pnkkZLmHKYwzsIHSYKXxHouD8zZamCFQ==", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-7.0.0.tgz", + "integrity": "sha512-CcFECkDj98daOg9jE3Bh3uyD9kzevCAnZ+UtzG6+BQG/jOQ2OA3jHnX6iG4G1MCJkUQFnUvEv33NvQfqrb/F3A==", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-7.0.0.tgz", + "integrity": "sha512-EX/NHeFa30j5UjldQGVQikuuQNHUdGmbh9kEpBKofGUtF0GUPJ4T4rhoYiqDAOmBOxojyot36JIFiDUHUK1ilQ==", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^7.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^7.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^7.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^7.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "^7.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "^7.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "^7.0.0", + "@svgr/babel-plugin-transform-svg-component": "^7.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/core": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-7.0.0.tgz", + "integrity": "sha512-ztAoxkaKhRVloa3XydohgQQCb0/8x9T63yXovpmHzKMkHO6pkjdsIAWKOS4bE95P/2quVh1NtjSKlMRNzSBffw==", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "^7.0.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^8.1.3" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/core/node_modules/cosmiconfig": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz", + "integrity": "sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==", + "dependencies": { + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-7.0.0.tgz", + "integrity": "sha512-42Ej9sDDEmsJKjrfQ1PHmiDiHagh/u9AHO9QWbeNx4KmD9yS5d1XHmXUNINfUcykAU+4431Cn+k6Vn5mWBYimQ==", + "dependencies": { + "@babel/types": "^7.21.3", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-7.0.0.tgz", + "integrity": "sha512-SWlTpPQmBUtLKxXWgpv8syzqIU8XgFRvyhfkam2So8b3BE0OS0HPe5UfmlJ2KIC+a7dpuuYovPR2WAQuSyMoPw==", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "^7.0.0", + "@svgr/hast-util-to-babel-ast": "^7.0.0", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, "node_modules/@swc/core": { "version": "1.3.57", "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.57.tgz", @@ -2125,6 +2312,11 @@ "@types/ms": "*" } }, + "node_modules/@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" + }, "node_modules/@types/geojson": { "version": "7946.0.10", "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.10.tgz", @@ -2190,7 +2382,7 @@ "version": "16.18.12", "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.12.tgz", "integrity": "sha512-vzLe5NaNMjIE3mcddFVGlAXN1LEWueUsMsOJWaT6wWMJGyljHAWHznqfnKUQWGzu7TLPrGvWdNAsvQYW+C0xtw==", - "dev": true + "devOptional": true }, "node_modules/@types/parse-json": { "version": "4.0.0", @@ -2395,6 +2587,11 @@ "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, "node_modules/aria-query": { "version": "5.1.3", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", @@ -2588,7 +2785,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true, "optional": true, "peer": true }, @@ -2613,6 +2809,17 @@ "node": ">=6" } }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/camelcase-css": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", @@ -3134,7 +3341,6 @@ "version": "0.17.18", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.18.tgz", "integrity": "sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w==", - "dev": true, "hasInstallScript": true, "bin": { "esbuild": "bin/esbuild" @@ -3288,6 +3494,11 @@ "node": ">=4.0" } }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -3453,7 +3664,6 @@ "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "peer": true, "engines": { "node": ">=6.9.0" } @@ -3487,7 +3697,6 @@ "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "peer": true, "engines": { "node": ">=4" } @@ -4360,11 +4569,21 @@ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "peer": true, "bin": { "jsesc": "bin/jsesc" }, @@ -4381,7 +4600,6 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "peer": true, "bin": { "json5": "lib/cli.js" }, @@ -4487,7 +4705,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "peer": true, "dependencies": { "yallist": "^3.0.2" } @@ -6541,6 +6758,14 @@ "loose-envify": "^1.1.0" } }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", @@ -6567,7 +6792,6 @@ "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -6579,7 +6803,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, "optional": true, "peer": true, "engines": { @@ -6736,6 +6959,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + }, "node_modules/symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", @@ -6782,7 +7010,6 @@ "version": "5.16.3", "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.3.tgz", "integrity": "sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q==", - "dev": true, "optional": true, "peer": true, "dependencies": { @@ -6802,7 +7029,6 @@ "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true, "optional": true, "peer": true }, @@ -7150,7 +7376,6 @@ "version": "4.3.5", "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.5.tgz", "integrity": "sha512-0gEnL9wiRFxgz40o/i/eTBwm+NEbpUeTWhzKrZDSdKm6nplj+z4lKz8ANDgildxHm47Vg8EUia0aicKbawUVVA==", - "dev": true, "dependencies": { "esbuild": "^0.17.5", "postcss": "^8.4.23", @@ -7194,11 +7419,23 @@ } } }, + "node_modules/vite-plugin-svgr": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/vite-plugin-svgr/-/vite-plugin-svgr-3.2.0.tgz", + "integrity": "sha512-Uvq6niTvhqJU6ga78qLKBFJSDvxWhOnyfQSoKpDPMAGxJPo5S3+9hyjExE5YDj6Lpa4uaLkGc1cBgxXov+LjSw==", + "dependencies": { + "@rollup/pluginutils": "^5.0.2", + "@svgr/core": "^7.0.0", + "@svgr/plugin-jsx": "^7.0.0" + }, + "peerDependencies": { + "vite": "^2.6.0 || 3 || 4" + } + }, "node_modules/vite/node_modules/rollup": { "version": "3.21.6", "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.6.tgz", "integrity": "sha512-SXIICxvxQxR3D4dp/3LDHZIJPC8a4anKMHd4E3Jiz2/JnY+2bEjqrOokAauc5ShGVNFHlEFjBXAXlaxkJqIqSg==", - "dev": true, "bin": { "rollup": "dist/bin/rollup" }, @@ -7326,8 +7563,7 @@ "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "peer": true + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "node_modules/yaml": { "version": "1.10.2", @@ -7370,4 +7606,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/frontend/package.json b/src/frontend/package.json index 6315deb05..9fffaca0b 100644 --- a/src/frontend/package.json +++ b/src/frontend/package.json @@ -32,6 +32,7 @@ "remark-gfm": "^3.0.1", "remark-math": "^5.1.1", "uuid": "^9.0.0", + "vite-plugin-svgr": "^3.2.0", "web-vitals": "^2.1.4" }, "scripts": { @@ -77,4 +78,4 @@ "typescript": "^5.0.2", "vite": "^4.3.5" } -} \ No newline at end of file +} diff --git a/src/frontend/src/CustomNodes/GenericNode/index.tsx b/src/frontend/src/CustomNodes/GenericNode/index.tsx index 96890d76e..9d5ad3128 100644 --- a/src/frontend/src/CustomNodes/GenericNode/index.tsx +++ b/src/frontend/src/CustomNodes/GenericNode/index.tsx @@ -30,7 +30,8 @@ export default function GenericNode({ const showError = useRef(true); const { types, deleteNode } = useContext(typesContext); const { openPopUp } = useContext(PopUpContext); - const Icon = nodeIcons[types[data.type]]; + + const Icon = nodeIcons[data.type] || nodeIcons[types[data.type]]; const [validationStatus, setValidationStatus] = useState(null); // State for outline color const [isValid, setIsValid] = useState(false); @@ -90,13 +91,13 @@ export default function GenericNode({
-
-
+
+
-
+
@@ -153,7 +154,7 @@ export default function GenericNode({ openPopUp(); }} > -
+
{Object.keys(data.node.template).some( (t) => data.node.template[t].advanced && @@ -170,7 +171,7 @@ export default function GenericNode({ ) ? "" : "hidden", - "w-6 h-6 dark:text-gray-300 hover:animate-spin" + "h-6 w-6 hover:animate-spin dark:text-gray-300" )} > @@ -179,13 +180,13 @@ export default function GenericNode({ deleteNode(data.id); }} > - +
-
-
+
+
{data.node.description}
@@ -247,7 +248,7 @@ export default function GenericNode({
{" "} diff --git a/src/frontend/src/icons/ChromaIcon/chroma.svg b/src/frontend/src/icons/ChromaIcon/chroma.svg new file mode 100644 index 000000000..64090685b --- /dev/null +++ b/src/frontend/src/icons/ChromaIcon/chroma.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/frontend/src/icons/ChromaIcon/index.tsx b/src/frontend/src/icons/ChromaIcon/index.tsx new file mode 100644 index 000000000..045108535 --- /dev/null +++ b/src/frontend/src/icons/ChromaIcon/index.tsx @@ -0,0 +1,12 @@ +import React, { forwardRef } from "react"; +import { ReactComponent as ChromaSVG } from "./chroma.svg"; + +const ChromaIcon = forwardRef>( + (props, ref) => { + return ( + + ); + } +); + +export default ChromaIcon; diff --git a/src/frontend/src/icons/index.tsx b/src/frontend/src/icons/index.tsx new file mode 100644 index 000000000..2b01bf567 --- /dev/null +++ b/src/frontend/src/icons/index.tsx @@ -0,0 +1 @@ +export { default as ChromaIcon } from "./ChromaIcon"; diff --git a/src/frontend/vite.config.ts b/src/frontend/vite.config.ts index 39f563827..172b37733 100644 --- a/src/frontend/vite.config.ts +++ b/src/frontend/vite.config.ts @@ -1,6 +1,6 @@ import { defineConfig } from "vite"; import react from "@vitejs/plugin-react-swc"; - +import svgr from "vite-plugin-svgr"; const apiRoutes = [ "/all", "/predict", @@ -28,7 +28,7 @@ export default defineConfig(() => { build: { outDir: "build", }, - plugins: [react()], + plugins: [react(), svgr()], server: { port: 3000, proxy: { From fbe6e2beb85c84f1cda609467960db51fd4a08cd Mon Sep 17 00:00:00 2001 From: Gabriel Almeida Date: Sat, 27 May 2023 11:57:16 -0300 Subject: [PATCH 02/69] Format --- src/frontend/src/utils.ts | 786 +++++++++++++++++++------------------- 1 file changed, 392 insertions(+), 394 deletions(-) diff --git a/src/frontend/src/utils.ts b/src/frontend/src/utils.ts index 72e44f781..d464290e1 100644 --- a/src/frontend/src/utils.ts +++ b/src/frontend/src/utils.ts @@ -1,20 +1,20 @@ import { - RocketLaunchIcon, - LinkIcon, - CpuChipIcon, - LightBulbIcon, - CommandLineIcon, - WrenchScrewdriverIcon, - WrenchIcon, - ComputerDesktopIcon, - Bars3CenterLeftIcon, - GiftIcon, - PaperClipIcon, - QuestionMarkCircleIcon, - FingerPrintIcon, - ScissorsIcon, - CircleStackIcon, - Squares2X2Icon, + RocketLaunchIcon, + LinkIcon, + CpuChipIcon, + LightBulbIcon, + CommandLineIcon, + WrenchScrewdriverIcon, + WrenchIcon, + ComputerDesktopIcon, + Bars3CenterLeftIcon, + GiftIcon, + PaperClipIcon, + QuestionMarkCircleIcon, + FingerPrintIcon, + ScissorsIcon, + CircleStackIcon, + Squares2X2Icon, } from "@heroicons/react/24/outline"; import { Connection, Edge, Node, ReactFlowInstance } from "reactflow"; import { FlowType } from "./types/flow"; @@ -22,475 +22,473 @@ import { APITemplateType, TemplateVariableType } from "./types/api"; import _ from "lodash"; export function classNames(...classes: Array) { - return classes.filter(Boolean).join(" "); + return classes.filter(Boolean).join(" "); } export const textColors = { - white: "text-white", - red: "text-red-700", - orange: "text-orange-700", - amber: "text-amber-700", - yellow: "text-yellow-700", - lime: "text-lime-700", - green: "text-green-700", - emerald: "text-emerald-700", - teal: "text-teal-700", - cyan: "text-cyan-700", - sky: "text-sky-700", - blue: "text-blue-700", - indigo: "text-indigo-700", - violet: "text-violet-700", - purple: "text-purple-700", - fuchsia: "text-fuchsia-700", - pink: "text-pink-700", - rose: "text-rose-700", - black: "text-black-700", - gray: "text-gray-700", + white: "text-white", + red: "text-red-700", + orange: "text-orange-700", + amber: "text-amber-700", + yellow: "text-yellow-700", + lime: "text-lime-700", + green: "text-green-700", + emerald: "text-emerald-700", + teal: "text-teal-700", + cyan: "text-cyan-700", + sky: "text-sky-700", + blue: "text-blue-700", + indigo: "text-indigo-700", + violet: "text-violet-700", + purple: "text-purple-700", + fuchsia: "text-fuchsia-700", + pink: "text-pink-700", + rose: "text-rose-700", + black: "text-black-700", + gray: "text-gray-700", }; export const borderLColors = { - white: "border-l-white", - red: "border-l-red-500", - orange: "border-l-orange-500", - amber: "border-l-amber-500", - yellow: "border-l-yellow-500", - lime: "border-l-lime-500", - green: "border-l-green-500", - emerald: "border-l-emerald-500", - teal: "border-l-teal-500", - cyan: "border-l-cyan-500", - sky: "border-l-sky-500", - blue: "border-l-blue-500", - indigo: "border-l-indigo-500", - violet: "border-l-violet-500", - purple: "border-l-purple-500", - fuchsia: "border-l-fuchsia-500", - pink: "border-l-pink-500", - rose: "border-l-rose-500", - black: "border-l-black-500", - gray: "border-l-gray-500", + white: "border-l-white", + red: "border-l-red-500", + orange: "border-l-orange-500", + amber: "border-l-amber-500", + yellow: "border-l-yellow-500", + lime: "border-l-lime-500", + green: "border-l-green-500", + emerald: "border-l-emerald-500", + teal: "border-l-teal-500", + cyan: "border-l-cyan-500", + sky: "border-l-sky-500", + blue: "border-l-blue-500", + indigo: "border-l-indigo-500", + violet: "border-l-violet-500", + purple: "border-l-purple-500", + fuchsia: "border-l-fuchsia-500", + pink: "border-l-pink-500", + rose: "border-l-rose-500", + black: "border-l-black-500", + gray: "border-l-gray-500", }; export const nodeColors: { [char: string]: string } = { - prompts: "#4367BF", - llms: "#6344BE", - chains: "#FE7500", - agents: "#903BBE", - tools: "#FF3434", - memories: "#F5B85A", - advanced: "#000000", - chat: "#198BF6", - thought: "#272541", - embeddings: "#42BAA7", - documentloaders: "#7AAE42", - vectorstores: "#AA8742", - textsplitters: "#B47CB5", - toolkits: "#DB2C2C", - wrappers: "#E6277A", - utilities: "#31A3CC", - unknown: "#9CA3AF", + prompts: "#4367BF", + llms: "#6344BE", + chains: "#FE7500", + agents: "#903BBE", + tools: "#FF3434", + memories: "#F5B85A", + advanced: "#000000", + chat: "#198BF6", + thought: "#272541", + embeddings: "#42BAA7", + documentloaders: "#7AAE42", + vectorstores: "#AA8742", + textsplitters: "#B47CB5", + toolkits: "#DB2C2C", + wrappers: "#E6277A", + utilities: "#31A3CC", + unknown: "#9CA3AF", }; export const nodeNames: { [char: string]: string } = { - prompts: "Prompts", - llms: "LLMs", - chains: "Chains", - agents: "Agents", - tools: "Tools", - memories: "Memories", - advanced: "Advanced", - chat: "Chat", - embeddings: "Embeddings", - documentloaders: "Loaders", - vectorstores: "Vector Stores", - toolkits: "Toolkits", - wrappers: "Wrappers", - textsplitters: "Text Splitters", - utilities: "Utilities", - unknown: "Unknown", + prompts: "Prompts", + llms: "LLMs", + chains: "Chains", + agents: "Agents", + tools: "Tools", + memories: "Memories", + advanced: "Advanced", + chat: "Chat", + embeddings: "Embeddings", + documentloaders: "Loaders", + vectorstores: "Vector Stores", + toolkits: "Toolkits", + wrappers: "Wrappers", + textsplitters: "Text Splitters", + utilities: "Utilities", + unknown: "Unknown", }; export const nodeIcons: { - [char: string]: React.ForwardRefExoticComponent< - React.SVGProps - >; + [char: string]: React.ForwardRefExoticComponent< + React.SVGProps + >; } = { - agents: RocketLaunchIcon, - chains: LinkIcon, - memories: CpuChipIcon, - llms: LightBulbIcon, - prompts: CommandLineIcon, - tools: WrenchIcon, - advanced: ComputerDesktopIcon, - chat: Bars3CenterLeftIcon, - embeddings: FingerPrintIcon, - documentloaders: PaperClipIcon, - vectorstores: CircleStackIcon, - toolkits: WrenchScrewdriverIcon, - textsplitters: ScissorsIcon, - wrappers: GiftIcon, - utilities: Squares2X2Icon, - unknown: QuestionMarkCircleIcon, + agents: RocketLaunchIcon, + chains: LinkIcon, + memories: CpuChipIcon, + llms: LightBulbIcon, + prompts: CommandLineIcon, + tools: WrenchIcon, + advanced: ComputerDesktopIcon, + chat: Bars3CenterLeftIcon, + embeddings: FingerPrintIcon, + documentloaders: PaperClipIcon, + vectorstores: CircleStackIcon, + toolkits: WrenchScrewdriverIcon, + textsplitters: ScissorsIcon, + wrappers: GiftIcon, + utilities: Squares2X2Icon, + unknown: QuestionMarkCircleIcon, }; export const bgColors = { - white: "bg-white", - red: "bg-red-100", - orange: "bg-orange-100", - amber: "bg-amber-100", - yellow: "bg-yellow-100", - lime: "bg-lime-100", - green: "bg-green-100", - emerald: "bg-emerald-100", - teal: "bg-teal-100", - cyan: "bg-cyan-100", - sky: "bg-sky-100", - blue: "bg-blue-100", - indigo: "bg-indigo-100", - violet: "bg-violet-100", - purple: "bg-purple-100", - fuchsia: "bg-fuchsia-100", - pink: "bg-pink-100", - rose: "bg-rose-100", - black: "bg-black-100", - gray: "bg-gray-100", + white: "bg-white", + red: "bg-red-100", + orange: "bg-orange-100", + amber: "bg-amber-100", + yellow: "bg-yellow-100", + lime: "bg-lime-100", + green: "bg-green-100", + emerald: "bg-emerald-100", + teal: "bg-teal-100", + cyan: "bg-cyan-100", + sky: "bg-sky-100", + blue: "bg-blue-100", + indigo: "bg-indigo-100", + violet: "bg-violet-100", + purple: "bg-purple-100", + fuchsia: "bg-fuchsia-100", + pink: "bg-pink-100", + rose: "bg-rose-100", + black: "bg-black-100", + gray: "bg-gray-100", }; export const bgColorsHover = { - white: "hover:bg-white", - black: "hover:bg-black-50", - gray: "hover:bg-gray-50", - red: "hover:bg-red-50", - orange: "hover:bg-orange-50", - amber: "hover:bg-amber-50", - yellow: "hover:bg-yellow-50", - lime: "hover:bg-lime-50", - green: "hover:bg-green-50", - emerald: "hover:bg-emerald-50", - teal: "hover:bg-teal-50", - cyan: "hover:bg-cyan-50", - sky: "hover:bg-sky-50", - blue: "hover:bg-blue-50", - indigo: "hover:bg-indigo-50", - violet: "hover:bg-violet-50", - purple: "hover:bg-purple-50", - fuchsia: "hover:bg-fuchsia-50", - pink: "hover:bg-pink-50", - rose: "hover:bg-rose-50", + white: "hover:bg-white", + black: "hover:bg-black-50", + gray: "hover:bg-gray-50", + red: "hover:bg-red-50", + orange: "hover:bg-orange-50", + amber: "hover:bg-amber-50", + yellow: "hover:bg-yellow-50", + lime: "hover:bg-lime-50", + green: "hover:bg-green-50", + emerald: "hover:bg-emerald-50", + teal: "hover:bg-teal-50", + cyan: "hover:bg-cyan-50", + sky: "hover:bg-sky-50", + blue: "hover:bg-blue-50", + indigo: "hover:bg-indigo-50", + violet: "hover:bg-violet-50", + purple: "hover:bg-purple-50", + fuchsia: "hover:bg-fuchsia-50", + pink: "hover:bg-pink-50", + rose: "hover:bg-rose-50", }; export const textColorsHex = { - red: "rgb(185 28 28)", - orange: "rgb(194 65 12)", - amber: "rgb(180 83 9)", - yellow: "rgb(161 98 7)", - lime: "rgb(77 124 15)", - green: "rgb(21 128 61)", - emerald: "rgb(4 120 87)", - teal: "rgb(15 118 110)", - cyan: "rgb(14 116 144)", - sky: "rgb(3 105 161)", - blue: "rgb(29 78 216)", - indigo: "rgb(67 56 202)", - violet: "rgb(109 40 217)", - purple: "rgb(126 34 206)", - fuchsia: "rgb(162 28 175)", - pink: "rgb(190 24 93)", - rose: "rgb(190 18 60)", + red: "rgb(185 28 28)", + orange: "rgb(194 65 12)", + amber: "rgb(180 83 9)", + yellow: "rgb(161 98 7)", + lime: "rgb(77 124 15)", + green: "rgb(21 128 61)", + emerald: "rgb(4 120 87)", + teal: "rgb(15 118 110)", + cyan: "rgb(14 116 144)", + sky: "rgb(3 105 161)", + blue: "rgb(29 78 216)", + indigo: "rgb(67 56 202)", + violet: "rgb(109 40 217)", + purple: "rgb(126 34 206)", + fuchsia: "rgb(162 28 175)", + pink: "rgb(190 24 93)", + rose: "rgb(190 18 60)", }; export const bgColorsHex = { - red: "rgb(254 226 226)", - orange: "rgb(255 237 213)", - amber: "rgb(254 243 199)", - yellow: "rgb(254 249 195)", - lime: "rgb(236 252 203)", - green: "rgb(220 252 231)", - emerald: "rgb(209 250 229)", - teal: "rgb(204 251 241)", - cyan: "rgb(207 250 254)", - sky: "rgb(224 242 254)", - blue: "rgb(219 234 254)", - indigo: "rgb(224 231 255)", - violet: "rgb(237 233 254)", - purple: "rgb(243 232 255)", - fuchsia: "rgb(250 232 255)", - pink: "rgb(252 231 243)", - rose: "rgb(255 228 230)", + red: "rgb(254 226 226)", + orange: "rgb(255 237 213)", + amber: "rgb(254 243 199)", + yellow: "rgb(254 249 195)", + lime: "rgb(236 252 203)", + green: "rgb(220 252 231)", + emerald: "rgb(209 250 229)", + teal: "rgb(204 251 241)", + cyan: "rgb(207 250 254)", + sky: "rgb(224 242 254)", + blue: "rgb(219 234 254)", + indigo: "rgb(224 231 255)", + violet: "rgb(237 233 254)", + purple: "rgb(243 232 255)", + fuchsia: "rgb(250 232 255)", + pink: "rgb(252 231 243)", + rose: "rgb(255 228 230)", }; export const taskTypeMap: { [key: string]: string } = { - MULTICLASS_CLASSIFICATION: "Multiclass Classification", + MULTICLASS_CLASSIFICATION: "Multiclass Classification", }; const charWidths: { [char: string]: number } = { - " ": 0.2, - "!": 0.2, - '"': 0.3, - "#": 0.5, - $: 0.5, - "%": 0.5, - "&": 0.5, - "(": 0.2, - ")": 0.2, - "*": 0.5, - "+": 0.5, - ",": 0.2, - "-": 0.2, - ".": 0.1, - "/": 0.5, - ":": 0.2, - ";": 0.2, - "<": 0.5, - "=": 0.5, - ">": 0.5, - "?": 0.2, - "@": 0.5, - "[": 0.2, - "\\": 0.5, - "]": 0.2, - "^": 0.5, - _: 0.2, - "`": 0.5, - "{": 0.2, - "|": 0.2, - "}": 0.2, - "~": 0.5, + " ": 0.2, + "!": 0.2, + '"': 0.3, + "#": 0.5, + $: 0.5, + "%": 0.5, + "&": 0.5, + "(": 0.2, + ")": 0.2, + "*": 0.5, + "+": 0.5, + ",": 0.2, + "-": 0.2, + ".": 0.1, + "/": 0.5, + ":": 0.2, + ";": 0.2, + "<": 0.5, + "=": 0.5, + ">": 0.5, + "?": 0.2, + "@": 0.5, + "[": 0.2, + "\\": 0.5, + "]": 0.2, + "^": 0.5, + _: 0.2, + "`": 0.5, + "{": 0.2, + "|": 0.2, + "}": 0.2, + "~": 0.5, }; for (let i = 65; i <= 90; i++) { - charWidths[String.fromCharCode(i)] = 0.6; + charWidths[String.fromCharCode(i)] = 0.6; } for (let i = 97; i <= 122; i++) { - charWidths[String.fromCharCode(i)] = 0.5; + charWidths[String.fromCharCode(i)] = 0.5; } export function measureTextWidth(text: string, fontSize: number) { - let wordWidth = 0; - for (let j = 0; j < text.length; j++) { - let char = text[j]; - let charWidth = charWidths[char] || 0.5; - wordWidth += charWidth * fontSize; - } - return wordWidth; + let wordWidth = 0; + for (let j = 0; j < text.length; j++) { + let char = text[j]; + let charWidth = charWidths[char] || 0.5; + wordWidth += charWidth * fontSize; + } + return wordWidth; } export function measureTextHeight( - text: string, - width: number, - fontSize: number + text: string, + width: number, + fontSize: number ) { - const charHeight = fontSize; - const lineHeight = charHeight * 1.5; - const words = text.split(" "); - let lineWidth = 0; - let totalHeight = 0; - for (let i = 0; i < words.length; i++) { - let word = words[i]; - let wordWidth = measureTextWidth(word, fontSize); - if (lineWidth + wordWidth + charWidths[" "] * fontSize <= width) { - lineWidth += wordWidth + charWidths[" "] * fontSize; - } else { - totalHeight += lineHeight; - lineWidth = wordWidth; - } - } - totalHeight += lineHeight; - return totalHeight; + const charHeight = fontSize; + const lineHeight = charHeight * 1.5; + const words = text.split(" "); + let lineWidth = 0; + let totalHeight = 0; + for (let i = 0; i < words.length; i++) { + let word = words[i]; + let wordWidth = measureTextWidth(word, fontSize); + if (lineWidth + wordWidth + charWidths[" "] * fontSize <= width) { + lineWidth += wordWidth + charWidths[" "] * fontSize; + } else { + totalHeight += lineHeight; + lineWidth = wordWidth; + } + } + totalHeight += lineHeight; + return totalHeight; } export function toCamelCase(str: string) { - return str - .split(" ") - .map((word, index) => - index === 0 - ? word.toLowerCase() - : word[0].toUpperCase() + word.slice(1).toLowerCase() - ) - .join(""); + return str + .split(" ") + .map((word, index) => + index === 0 + ? word.toLowerCase() + : word[0].toUpperCase() + word.slice(1).toLowerCase() + ) + .join(""); } export function toFirstUpperCase(str: string) { - return str - .split(" ") - .map((word, index) => word[0].toUpperCase() + word.slice(1).toLowerCase()) - .join(""); + return str + .split(" ") + .map((word, index) => word[0].toUpperCase() + word.slice(1).toLowerCase()) + .join(""); } export function snakeToSpaces(str: string) { - let result = str - .split("_") - .join(" "); + let result = str.split("_").join(" "); - return result + return result; } export function toNormalCase(str: string) { - let result = str - .split("_") - .map((word, index) => { - if (index === 0) { - return word[0].toUpperCase() + word.slice(1).toLowerCase(); - } - return word.toLowerCase(); - }) - .join(" "); + let result = str + .split("_") + .map((word, index) => { + if (index === 0) { + return word[0].toUpperCase() + word.slice(1).toLowerCase(); + } + return word.toLowerCase(); + }) + .join(" "); - return result - .split("-") - .map((word, index) => { - if (index === 0) { - return word[0].toUpperCase() + word.slice(1).toLowerCase(); - } - return word.toLowerCase(); - }) - .join(" "); + return result + .split("-") + .map((word, index) => { + if (index === 0) { + return word[0].toUpperCase() + word.slice(1).toLowerCase(); + } + return word.toLowerCase(); + }) + .join(" "); } export function normalCaseToSnakeCase(str: string) { - return str - .split(" ") - .map((word, index) => { - if (index === 0) { - return word[0].toUpperCase() + word.slice(1).toLowerCase(); - } - return word.toLowerCase(); - }) - .join("_"); + return str + .split(" ") + .map((word, index) => { + if (index === 0) { + return word[0].toUpperCase() + word.slice(1).toLowerCase(); + } + return word.toLowerCase(); + }) + .join("_"); } export function roundNumber(x: number, decimals: number) { - return Math.round(x * Math.pow(10, decimals)) / Math.pow(10, decimals); + return Math.round(x * Math.pow(10, decimals)) / Math.pow(10, decimals); } export function getConnectedNodes(edge: Edge, nodes: Array): Array { - const sourceId = edge.source; - const targetId = edge.target; - const connectedNodes = nodes.filter( - (node) => node.id === targetId || node.id === sourceId - ); - return connectedNodes; + const sourceId = edge.source; + const targetId = edge.target; + const connectedNodes = nodes.filter( + (node) => node.id === targetId || node.id === sourceId + ); + return connectedNodes; } export function isValidConnection( - { source, target, sourceHandle, targetHandle }: Connection, - reactFlowInstance: ReactFlowInstance + { source, target, sourceHandle, targetHandle }: Connection, + reactFlowInstance: ReactFlowInstance ) { - if ( - sourceHandle.split("|")[0] === targetHandle.split("|")[0] || - sourceHandle - .split("|") - .slice(2) - .some((t) => t === targetHandle.split("|")[0]) || - targetHandle.split("|")[0] === "str" - ) { - let targetNode = reactFlowInstance.getNode(target).data.node; - if (!targetNode) { - if ( - !reactFlowInstance - .getEdges() - .find((e) => e.targetHandle === targetHandle) - ) { - return true; - } - } else if ( - (!targetNode.template[targetHandle.split("|")[1]].list && - !reactFlowInstance - .getEdges() - .find((e) => e.targetHandle === targetHandle)) || - targetNode.template[targetHandle.split("|")[1]].list - ) { - return true; - } - } - return false; + if ( + sourceHandle.split("|")[0] === targetHandle.split("|")[0] || + sourceHandle + .split("|") + .slice(2) + .some((t) => t === targetHandle.split("|")[0]) || + targetHandle.split("|")[0] === "str" + ) { + let targetNode = reactFlowInstance.getNode(target).data.node; + if (!targetNode) { + if ( + !reactFlowInstance + .getEdges() + .find((e) => e.targetHandle === targetHandle) + ) { + return true; + } + } else if ( + (!targetNode.template[targetHandle.split("|")[1]].list && + !reactFlowInstance + .getEdges() + .find((e) => e.targetHandle === targetHandle)) || + targetNode.template[targetHandle.split("|")[1]].list + ) { + return true; + } + } + return false; } export function removeApiKeys(flow: FlowType): FlowType { - let cleanFLow = _.cloneDeep(flow); - cleanFLow.data.nodes.forEach((node) => { - for (const key in node.data.node.template) { - if (key.includes("api")) { - node.data.node.template[key].value = ""; - } - } - }); - return cleanFLow; + let cleanFLow = _.cloneDeep(flow); + cleanFLow.data.nodes.forEach((node) => { + for (const key in node.data.node.template) { + if (key.includes("api")) { + node.data.node.template[key].value = ""; + } + } + }); + return cleanFLow; } export function updateObject>( - reference: T, - objectToUpdate: T + reference: T, + objectToUpdate: T ): T { - let clonedObject = _.cloneDeep(objectToUpdate); - // Loop through each key in the object to update - for (const key in clonedObject) { - // If the key is not in the reference object, delete it - if (!(key in reference)) { - delete clonedObject[key]; - } - } - // Loop through each key in the reference object - for (const key in reference) { - // If the key is not in the object to update, add it - if (!(key in clonedObject)) { - clonedObject[key] = reference[key]; - } - } - return clonedObject; + let clonedObject = _.cloneDeep(objectToUpdate); + // Loop through each key in the object to update + for (const key in clonedObject) { + // If the key is not in the reference object, delete it + if (!(key in reference)) { + delete clonedObject[key]; + } + } + // Loop through each key in the reference object + for (const key in reference) { + // If the key is not in the object to update, add it + if (!(key in clonedObject)) { + clonedObject[key] = reference[key]; + } + } + return clonedObject; } export function debounce(func, wait) { - let timeout; - return function (...args) { - const context = this; - clearTimeout(timeout); - timeout = setTimeout(() => func.apply(context, args), wait); - }; + let timeout; + return function (...args) { + const context = this; + clearTimeout(timeout); + timeout = setTimeout(() => func.apply(context, args), wait); + }; } export function updateTemplate( - reference: APITemplateType, - objectToUpdate: APITemplateType + reference: APITemplateType, + objectToUpdate: APITemplateType ): APITemplateType { - let clonedObject: APITemplateType = _.cloneDeep(reference); + let clonedObject: APITemplateType = _.cloneDeep(reference); - // Loop through each key in the reference object - for (const key in clonedObject) { - // If the key is not in the object to update, add it - if (objectToUpdate[key] && objectToUpdate[key].value) { - clonedObject[key].value = objectToUpdate[key].value; - } - } - return clonedObject; + // Loop through each key in the reference object + for (const key in clonedObject) { + // If the key is not in the object to update, add it + if (objectToUpdate[key] && objectToUpdate[key].value) { + clonedObject[key].value = objectToUpdate[key].value; + } + } + return clonedObject; } interface languageMap { - [key: string]: string | undefined; + [key: string]: string | undefined; } export const programmingLanguages: languageMap = { - javascript: ".js", - python: ".py", - java: ".java", - c: ".c", - cpp: ".cpp", - "c++": ".cpp", - "c#": ".cs", - ruby: ".rb", - php: ".php", - swift: ".swift", - "objective-c": ".m", - kotlin: ".kt", - typescript: ".ts", - go: ".go", - perl: ".pl", - rust: ".rs", - scala: ".scala", - haskell: ".hs", - lua: ".lua", - shell: ".sh", - sql: ".sql", - html: ".html", - css: ".css", - // add more file extensions here, make sure the key is same as language prop in CodeBlock.tsx component + javascript: ".js", + python: ".py", + java: ".java", + c: ".c", + cpp: ".cpp", + "c++": ".cpp", + "c#": ".cs", + ruby: ".rb", + php: ".php", + swift: ".swift", + "objective-c": ".m", + kotlin: ".kt", + typescript: ".ts", + go: ".go", + perl: ".pl", + rust: ".rs", + scala: ".scala", + haskell: ".hs", + lua: ".lua", + shell: ".sh", + sql: ".sql", + html: ".html", + css: ".css", + // add more file extensions here, make sure the key is same as language prop in CodeBlock.tsx component }; From 3f12363adc7af8ccbf68d342f4a82ecabf045eaa Mon Sep 17 00:00:00 2001 From: Gabriel Almeida Date: Sat, 27 May 2023 11:58:15 -0300 Subject: [PATCH 03/69] Format and add ChromaIcon --- src/frontend/src/utils.ts | 788 +++++++++++++++++++------------------- 1 file changed, 396 insertions(+), 392 deletions(-) diff --git a/src/frontend/src/utils.ts b/src/frontend/src/utils.ts index d464290e1..2f7c91f7c 100644 --- a/src/frontend/src/utils.ts +++ b/src/frontend/src/utils.ts @@ -1,494 +1,498 @@ import { - RocketLaunchIcon, - LinkIcon, - CpuChipIcon, - LightBulbIcon, - CommandLineIcon, - WrenchScrewdriverIcon, - WrenchIcon, - ComputerDesktopIcon, - Bars3CenterLeftIcon, - GiftIcon, - PaperClipIcon, - QuestionMarkCircleIcon, - FingerPrintIcon, - ScissorsIcon, - CircleStackIcon, - Squares2X2Icon, + RocketLaunchIcon, + LinkIcon, + CpuChipIcon, + LightBulbIcon, + CommandLineIcon, + WrenchScrewdriverIcon, + WrenchIcon, + ComputerDesktopIcon, + Bars3CenterLeftIcon, + GiftIcon, + PaperClipIcon, + QuestionMarkCircleIcon, + FingerPrintIcon, + ScissorsIcon, + CircleStackIcon, + Squares2X2Icon, } from "@heroicons/react/24/outline"; import { Connection, Edge, Node, ReactFlowInstance } from "reactflow"; import { FlowType } from "./types/flow"; import { APITemplateType, TemplateVariableType } from "./types/api"; import _ from "lodash"; +import { ChromaIcon } from "./icons"; export function classNames(...classes: Array) { - return classes.filter(Boolean).join(" "); + return classes.filter(Boolean).join(" "); } export const textColors = { - white: "text-white", - red: "text-red-700", - orange: "text-orange-700", - amber: "text-amber-700", - yellow: "text-yellow-700", - lime: "text-lime-700", - green: "text-green-700", - emerald: "text-emerald-700", - teal: "text-teal-700", - cyan: "text-cyan-700", - sky: "text-sky-700", - blue: "text-blue-700", - indigo: "text-indigo-700", - violet: "text-violet-700", - purple: "text-purple-700", - fuchsia: "text-fuchsia-700", - pink: "text-pink-700", - rose: "text-rose-700", - black: "text-black-700", - gray: "text-gray-700", + white: "text-white", + red: "text-red-700", + orange: "text-orange-700", + amber: "text-amber-700", + yellow: "text-yellow-700", + lime: "text-lime-700", + green: "text-green-700", + emerald: "text-emerald-700", + teal: "text-teal-700", + cyan: "text-cyan-700", + sky: "text-sky-700", + blue: "text-blue-700", + indigo: "text-indigo-700", + violet: "text-violet-700", + purple: "text-purple-700", + fuchsia: "text-fuchsia-700", + pink: "text-pink-700", + rose: "text-rose-700", + black: "text-black-700", + gray: "text-gray-700", }; export const borderLColors = { - white: "border-l-white", - red: "border-l-red-500", - orange: "border-l-orange-500", - amber: "border-l-amber-500", - yellow: "border-l-yellow-500", - lime: "border-l-lime-500", - green: "border-l-green-500", - emerald: "border-l-emerald-500", - teal: "border-l-teal-500", - cyan: "border-l-cyan-500", - sky: "border-l-sky-500", - blue: "border-l-blue-500", - indigo: "border-l-indigo-500", - violet: "border-l-violet-500", - purple: "border-l-purple-500", - fuchsia: "border-l-fuchsia-500", - pink: "border-l-pink-500", - rose: "border-l-rose-500", - black: "border-l-black-500", - gray: "border-l-gray-500", + white: "border-l-white", + red: "border-l-red-500", + orange: "border-l-orange-500", + amber: "border-l-amber-500", + yellow: "border-l-yellow-500", + lime: "border-l-lime-500", + green: "border-l-green-500", + emerald: "border-l-emerald-500", + teal: "border-l-teal-500", + cyan: "border-l-cyan-500", + sky: "border-l-sky-500", + blue: "border-l-blue-500", + indigo: "border-l-indigo-500", + violet: "border-l-violet-500", + purple: "border-l-purple-500", + fuchsia: "border-l-fuchsia-500", + pink: "border-l-pink-500", + rose: "border-l-rose-500", + black: "border-l-black-500", + gray: "border-l-gray-500", }; export const nodeColors: { [char: string]: string } = { - prompts: "#4367BF", - llms: "#6344BE", - chains: "#FE7500", - agents: "#903BBE", - tools: "#FF3434", - memories: "#F5B85A", - advanced: "#000000", - chat: "#198BF6", - thought: "#272541", - embeddings: "#42BAA7", - documentloaders: "#7AAE42", - vectorstores: "#AA8742", - textsplitters: "#B47CB5", - toolkits: "#DB2C2C", - wrappers: "#E6277A", - utilities: "#31A3CC", - unknown: "#9CA3AF", + prompts: "#4367BF", + llms: "#6344BE", + chains: "#FE7500", + agents: "#903BBE", + tools: "#FF3434", + memories: "#F5B85A", + advanced: "#000000", + chat: "#198BF6", + thought: "#272541", + embeddings: "#42BAA7", + documentloaders: "#7AAE42", + vectorstores: "#AA8742", + textsplitters: "#B47CB5", + toolkits: "#DB2C2C", + wrappers: "#E6277A", + utilities: "#31A3CC", + unknown: "#9CA3AF", }; export const nodeNames: { [char: string]: string } = { - prompts: "Prompts", - llms: "LLMs", - chains: "Chains", - agents: "Agents", - tools: "Tools", - memories: "Memories", - advanced: "Advanced", - chat: "Chat", - embeddings: "Embeddings", - documentloaders: "Loaders", - vectorstores: "Vector Stores", - toolkits: "Toolkits", - wrappers: "Wrappers", - textsplitters: "Text Splitters", - utilities: "Utilities", - unknown: "Unknown", + prompts: "Prompts", + llms: "LLMs", + chains: "Chains", + agents: "Agents", + tools: "Tools", + memories: "Memories", + advanced: "Advanced", + chat: "Chat", + embeddings: "Embeddings", + documentloaders: "Loaders", + vectorstores: "Vector Stores", + toolkits: "Toolkits", + wrappers: "Wrappers", + textsplitters: "Text Splitters", + utilities: "Utilities", + unknown: "Unknown", }; export const nodeIcons: { - [char: string]: React.ForwardRefExoticComponent< - React.SVGProps - >; + [char: string]: React.ForwardRefExoticComponent< + React.SVGProps + >; } = { - agents: RocketLaunchIcon, - chains: LinkIcon, - memories: CpuChipIcon, - llms: LightBulbIcon, - prompts: CommandLineIcon, - tools: WrenchIcon, - advanced: ComputerDesktopIcon, - chat: Bars3CenterLeftIcon, - embeddings: FingerPrintIcon, - documentloaders: PaperClipIcon, - vectorstores: CircleStackIcon, - toolkits: WrenchScrewdriverIcon, - textsplitters: ScissorsIcon, - wrappers: GiftIcon, - utilities: Squares2X2Icon, - unknown: QuestionMarkCircleIcon, + Chroma: ChromaIcon, + agents: RocketLaunchIcon, + chains: LinkIcon, + memories: CpuChipIcon, + llms: LightBulbIcon, + prompts: CommandLineIcon, + tools: WrenchIcon, + advanced: ComputerDesktopIcon, + chat: Bars3CenterLeftIcon, + embeddings: FingerPrintIcon, + documentloaders: PaperClipIcon, + vectorstores: CircleStackIcon, + toolkits: WrenchScrewdriverIcon, + textsplitters: ScissorsIcon, + wrappers: GiftIcon, + utilities: Squares2X2Icon, + unknown: QuestionMarkCircleIcon, }; export const bgColors = { - white: "bg-white", - red: "bg-red-100", - orange: "bg-orange-100", - amber: "bg-amber-100", - yellow: "bg-yellow-100", - lime: "bg-lime-100", - green: "bg-green-100", - emerald: "bg-emerald-100", - teal: "bg-teal-100", - cyan: "bg-cyan-100", - sky: "bg-sky-100", - blue: "bg-blue-100", - indigo: "bg-indigo-100", - violet: "bg-violet-100", - purple: "bg-purple-100", - fuchsia: "bg-fuchsia-100", - pink: "bg-pink-100", - rose: "bg-rose-100", - black: "bg-black-100", - gray: "bg-gray-100", + white: "bg-white", + red: "bg-red-100", + orange: "bg-orange-100", + amber: "bg-amber-100", + yellow: "bg-yellow-100", + lime: "bg-lime-100", + green: "bg-green-100", + emerald: "bg-emerald-100", + teal: "bg-teal-100", + cyan: "bg-cyan-100", + sky: "bg-sky-100", + blue: "bg-blue-100", + indigo: "bg-indigo-100", + violet: "bg-violet-100", + purple: "bg-purple-100", + fuchsia: "bg-fuchsia-100", + pink: "bg-pink-100", + rose: "bg-rose-100", + black: "bg-black-100", + gray: "bg-gray-100", }; export const bgColorsHover = { - white: "hover:bg-white", - black: "hover:bg-black-50", - gray: "hover:bg-gray-50", - red: "hover:bg-red-50", - orange: "hover:bg-orange-50", - amber: "hover:bg-amber-50", - yellow: "hover:bg-yellow-50", - lime: "hover:bg-lime-50", - green: "hover:bg-green-50", - emerald: "hover:bg-emerald-50", - teal: "hover:bg-teal-50", - cyan: "hover:bg-cyan-50", - sky: "hover:bg-sky-50", - blue: "hover:bg-blue-50", - indigo: "hover:bg-indigo-50", - violet: "hover:bg-violet-50", - purple: "hover:bg-purple-50", - fuchsia: "hover:bg-fuchsia-50", - pink: "hover:bg-pink-50", - rose: "hover:bg-rose-50", + white: "hover:bg-white", + black: "hover:bg-black-50", + gray: "hover:bg-gray-50", + red: "hover:bg-red-50", + orange: "hover:bg-orange-50", + amber: "hover:bg-amber-50", + yellow: "hover:bg-yellow-50", + lime: "hover:bg-lime-50", + green: "hover:bg-green-50", + emerald: "hover:bg-emerald-50", + teal: "hover:bg-teal-50", + cyan: "hover:bg-cyan-50", + sky: "hover:bg-sky-50", + blue: "hover:bg-blue-50", + indigo: "hover:bg-indigo-50", + violet: "hover:bg-violet-50", + purple: "hover:bg-purple-50", + fuchsia: "hover:bg-fuchsia-50", + pink: "hover:bg-pink-50", + rose: "hover:bg-rose-50", }; export const textColorsHex = { - red: "rgb(185 28 28)", - orange: "rgb(194 65 12)", - amber: "rgb(180 83 9)", - yellow: "rgb(161 98 7)", - lime: "rgb(77 124 15)", - green: "rgb(21 128 61)", - emerald: "rgb(4 120 87)", - teal: "rgb(15 118 110)", - cyan: "rgb(14 116 144)", - sky: "rgb(3 105 161)", - blue: "rgb(29 78 216)", - indigo: "rgb(67 56 202)", - violet: "rgb(109 40 217)", - purple: "rgb(126 34 206)", - fuchsia: "rgb(162 28 175)", - pink: "rgb(190 24 93)", - rose: "rgb(190 18 60)", + red: "rgb(185 28 28)", + orange: "rgb(194 65 12)", + amber: "rgb(180 83 9)", + yellow: "rgb(161 98 7)", + lime: "rgb(77 124 15)", + green: "rgb(21 128 61)", + emerald: "rgb(4 120 87)", + teal: "rgb(15 118 110)", + cyan: "rgb(14 116 144)", + sky: "rgb(3 105 161)", + blue: "rgb(29 78 216)", + indigo: "rgb(67 56 202)", + violet: "rgb(109 40 217)", + purple: "rgb(126 34 206)", + fuchsia: "rgb(162 28 175)", + pink: "rgb(190 24 93)", + rose: "rgb(190 18 60)", }; export const bgColorsHex = { - red: "rgb(254 226 226)", - orange: "rgb(255 237 213)", - amber: "rgb(254 243 199)", - yellow: "rgb(254 249 195)", - lime: "rgb(236 252 203)", - green: "rgb(220 252 231)", - emerald: "rgb(209 250 229)", - teal: "rgb(204 251 241)", - cyan: "rgb(207 250 254)", - sky: "rgb(224 242 254)", - blue: "rgb(219 234 254)", - indigo: "rgb(224 231 255)", - violet: "rgb(237 233 254)", - purple: "rgb(243 232 255)", - fuchsia: "rgb(250 232 255)", - pink: "rgb(252 231 243)", - rose: "rgb(255 228 230)", + red: "rgb(254 226 226)", + orange: "rgb(255 237 213)", + amber: "rgb(254 243 199)", + yellow: "rgb(254 249 195)", + lime: "rgb(236 252 203)", + green: "rgb(220 252 231)", + emerald: "rgb(209 250 229)", + teal: "rgb(204 251 241)", + cyan: "rgb(207 250 254)", + sky: "rgb(224 242 254)", + blue: "rgb(219 234 254)", + indigo: "rgb(224 231 255)", + violet: "rgb(237 233 254)", + purple: "rgb(243 232 255)", + fuchsia: "rgb(250 232 255)", + pink: "rgb(252 231 243)", + rose: "rgb(255 228 230)", }; export const taskTypeMap: { [key: string]: string } = { - MULTICLASS_CLASSIFICATION: "Multiclass Classification", + MULTICLASS_CLASSIFICATION: "Multiclass Classification", }; const charWidths: { [char: string]: number } = { - " ": 0.2, - "!": 0.2, - '"': 0.3, - "#": 0.5, - $: 0.5, - "%": 0.5, - "&": 0.5, - "(": 0.2, - ")": 0.2, - "*": 0.5, - "+": 0.5, - ",": 0.2, - "-": 0.2, - ".": 0.1, - "/": 0.5, - ":": 0.2, - ";": 0.2, - "<": 0.5, - "=": 0.5, - ">": 0.5, - "?": 0.2, - "@": 0.5, - "[": 0.2, - "\\": 0.5, - "]": 0.2, - "^": 0.5, - _: 0.2, - "`": 0.5, - "{": 0.2, - "|": 0.2, - "}": 0.2, - "~": 0.5, + " ": 0.2, + "!": 0.2, + '"': 0.3, + "#": 0.5, + $: 0.5, + "%": 0.5, + "&": 0.5, + "(": 0.2, + ")": 0.2, + "*": 0.5, + "+": 0.5, + ",": 0.2, + "-": 0.2, + ".": 0.1, + "/": 0.5, + ":": 0.2, + ";": 0.2, + "<": 0.5, + "=": 0.5, + ">": 0.5, + "?": 0.2, + "@": 0.5, + "[": 0.2, + "\\": 0.5, + "]": 0.2, + "^": 0.5, + _: 0.2, + "`": 0.5, + "{": 0.2, + "|": 0.2, + "}": 0.2, + "~": 0.5, }; for (let i = 65; i <= 90; i++) { - charWidths[String.fromCharCode(i)] = 0.6; + charWidths[String.fromCharCode(i)] = 0.6; } for (let i = 97; i <= 122; i++) { - charWidths[String.fromCharCode(i)] = 0.5; + charWidths[String.fromCharCode(i)] = 0.5; } export function measureTextWidth(text: string, fontSize: number) { - let wordWidth = 0; - for (let j = 0; j < text.length; j++) { - let char = text[j]; - let charWidth = charWidths[char] || 0.5; - wordWidth += charWidth * fontSize; - } - return wordWidth; + let wordWidth = 0; + for (let j = 0; j < text.length; j++) { + let char = text[j]; + let charWidth = charWidths[char] || 0.5; + wordWidth += charWidth * fontSize; + } + return wordWidth; } export function measureTextHeight( - text: string, - width: number, - fontSize: number + text: string, + width: number, + fontSize: number ) { - const charHeight = fontSize; - const lineHeight = charHeight * 1.5; - const words = text.split(" "); - let lineWidth = 0; - let totalHeight = 0; - for (let i = 0; i < words.length; i++) { - let word = words[i]; - let wordWidth = measureTextWidth(word, fontSize); - if (lineWidth + wordWidth + charWidths[" "] * fontSize <= width) { - lineWidth += wordWidth + charWidths[" "] * fontSize; - } else { - totalHeight += lineHeight; - lineWidth = wordWidth; - } - } - totalHeight += lineHeight; - return totalHeight; + const charHeight = fontSize; + const lineHeight = charHeight * 1.5; + const words = text.split(" "); + let lineWidth = 0; + let totalHeight = 0; + for (let i = 0; i < words.length; i++) { + let word = words[i]; + let wordWidth = measureTextWidth(word, fontSize); + if (lineWidth + wordWidth + charWidths[" "] * fontSize <= width) { + lineWidth += wordWidth + charWidths[" "] * fontSize; + } else { + totalHeight += lineHeight; + lineWidth = wordWidth; + } + } + totalHeight += lineHeight; + return totalHeight; } export function toCamelCase(str: string) { - return str - .split(" ") - .map((word, index) => - index === 0 - ? word.toLowerCase() - : word[0].toUpperCase() + word.slice(1).toLowerCase() - ) - .join(""); + return str + .split(" ") + .map((word, index) => + index === 0 + ? word.toLowerCase() + : word[0].toUpperCase() + word.slice(1).toLowerCase() + ) + .join(""); } export function toFirstUpperCase(str: string) { - return str - .split(" ") - .map((word, index) => word[0].toUpperCase() + word.slice(1).toLowerCase()) - .join(""); + return str + .split(" ") + .map((word, index) => word[0].toUpperCase() + word.slice(1).toLowerCase()) + .join(""); } export function snakeToSpaces(str: string) { - let result = str.split("_").join(" "); + let result = str + .split("_") + .join(" "); - return result; + return result } export function toNormalCase(str: string) { - let result = str - .split("_") - .map((word, index) => { - if (index === 0) { - return word[0].toUpperCase() + word.slice(1).toLowerCase(); - } - return word.toLowerCase(); - }) - .join(" "); + let result = str + .split("_") + .map((word, index) => { + if (index === 0) { + return word[0].toUpperCase() + word.slice(1).toLowerCase(); + } + return word.toLowerCase(); + }) + .join(" "); - return result - .split("-") - .map((word, index) => { - if (index === 0) { - return word[0].toUpperCase() + word.slice(1).toLowerCase(); - } - return word.toLowerCase(); - }) - .join(" "); + return result + .split("-") + .map((word, index) => { + if (index === 0) { + return word[0].toUpperCase() + word.slice(1).toLowerCase(); + } + return word.toLowerCase(); + }) + .join(" "); } export function normalCaseToSnakeCase(str: string) { - return str - .split(" ") - .map((word, index) => { - if (index === 0) { - return word[0].toUpperCase() + word.slice(1).toLowerCase(); - } - return word.toLowerCase(); - }) - .join("_"); + return str + .split(" ") + .map((word, index) => { + if (index === 0) { + return word[0].toUpperCase() + word.slice(1).toLowerCase(); + } + return word.toLowerCase(); + }) + .join("_"); } export function roundNumber(x: number, decimals: number) { - return Math.round(x * Math.pow(10, decimals)) / Math.pow(10, decimals); + return Math.round(x * Math.pow(10, decimals)) / Math.pow(10, decimals); } export function getConnectedNodes(edge: Edge, nodes: Array): Array { - const sourceId = edge.source; - const targetId = edge.target; - const connectedNodes = nodes.filter( - (node) => node.id === targetId || node.id === sourceId - ); - return connectedNodes; + const sourceId = edge.source; + const targetId = edge.target; + const connectedNodes = nodes.filter( + (node) => node.id === targetId || node.id === sourceId + ); + return connectedNodes; } export function isValidConnection( - { source, target, sourceHandle, targetHandle }: Connection, - reactFlowInstance: ReactFlowInstance + { source, target, sourceHandle, targetHandle }: Connection, + reactFlowInstance: ReactFlowInstance ) { - if ( - sourceHandle.split("|")[0] === targetHandle.split("|")[0] || - sourceHandle - .split("|") - .slice(2) - .some((t) => t === targetHandle.split("|")[0]) || - targetHandle.split("|")[0] === "str" - ) { - let targetNode = reactFlowInstance.getNode(target).data.node; - if (!targetNode) { - if ( - !reactFlowInstance - .getEdges() - .find((e) => e.targetHandle === targetHandle) - ) { - return true; - } - } else if ( - (!targetNode.template[targetHandle.split("|")[1]].list && - !reactFlowInstance - .getEdges() - .find((e) => e.targetHandle === targetHandle)) || - targetNode.template[targetHandle.split("|")[1]].list - ) { - return true; - } - } - return false; + if ( + sourceHandle.split("|")[0] === targetHandle.split("|")[0] || + sourceHandle + .split("|") + .slice(2) + .some((t) => t === targetHandle.split("|")[0]) || + targetHandle.split("|")[0] === "str" + ) { + let targetNode = reactFlowInstance.getNode(target).data.node; + if (!targetNode) { + if ( + !reactFlowInstance + .getEdges() + .find((e) => e.targetHandle === targetHandle) + ) { + return true; + } + } else if ( + (!targetNode.template[targetHandle.split("|")[1]].list && + !reactFlowInstance + .getEdges() + .find((e) => e.targetHandle === targetHandle)) || + targetNode.template[targetHandle.split("|")[1]].list + ) { + return true; + } + } + return false; } export function removeApiKeys(flow: FlowType): FlowType { - let cleanFLow = _.cloneDeep(flow); - cleanFLow.data.nodes.forEach((node) => { - for (const key in node.data.node.template) { - if (key.includes("api")) { - node.data.node.template[key].value = ""; - } - } - }); - return cleanFLow; + let cleanFLow = _.cloneDeep(flow); + cleanFLow.data.nodes.forEach((node) => { + for (const key in node.data.node.template) { + if (key.includes("api")) { + node.data.node.template[key].value = ""; + } + } + }); + return cleanFLow; } export function updateObject>( - reference: T, - objectToUpdate: T + reference: T, + objectToUpdate: T ): T { - let clonedObject = _.cloneDeep(objectToUpdate); - // Loop through each key in the object to update - for (const key in clonedObject) { - // If the key is not in the reference object, delete it - if (!(key in reference)) { - delete clonedObject[key]; - } - } - // Loop through each key in the reference object - for (const key in reference) { - // If the key is not in the object to update, add it - if (!(key in clonedObject)) { - clonedObject[key] = reference[key]; - } - } - return clonedObject; + let clonedObject = _.cloneDeep(objectToUpdate); + // Loop through each key in the object to update + for (const key in clonedObject) { + // If the key is not in the reference object, delete it + if (!(key in reference)) { + delete clonedObject[key]; + } + } + // Loop through each key in the reference object + for (const key in reference) { + // If the key is not in the object to update, add it + if (!(key in clonedObject)) { + clonedObject[key] = reference[key]; + } + } + return clonedObject; } export function debounce(func, wait) { - let timeout; - return function (...args) { - const context = this; - clearTimeout(timeout); - timeout = setTimeout(() => func.apply(context, args), wait); - }; + let timeout; + return function (...args) { + const context = this; + clearTimeout(timeout); + timeout = setTimeout(() => func.apply(context, args), wait); + }; } export function updateTemplate( - reference: APITemplateType, - objectToUpdate: APITemplateType + reference: APITemplateType, + objectToUpdate: APITemplateType ): APITemplateType { - let clonedObject: APITemplateType = _.cloneDeep(reference); + let clonedObject: APITemplateType = _.cloneDeep(reference); - // Loop through each key in the reference object - for (const key in clonedObject) { - // If the key is not in the object to update, add it - if (objectToUpdate[key] && objectToUpdate[key].value) { - clonedObject[key].value = objectToUpdate[key].value; - } - } - return clonedObject; + // Loop through each key in the reference object + for (const key in clonedObject) { + // If the key is not in the object to update, add it + if (objectToUpdate[key] && objectToUpdate[key].value) { + clonedObject[key].value = objectToUpdate[key].value; + } + } + return clonedObject; } interface languageMap { - [key: string]: string | undefined; + [key: string]: string | undefined; } export const programmingLanguages: languageMap = { - javascript: ".js", - python: ".py", - java: ".java", - c: ".c", - cpp: ".cpp", - "c++": ".cpp", - "c#": ".cs", - ruby: ".rb", - php: ".php", - swift: ".swift", - "objective-c": ".m", - kotlin: ".kt", - typescript: ".ts", - go: ".go", - perl: ".pl", - rust: ".rs", - scala: ".scala", - haskell: ".hs", - lua: ".lua", - shell: ".sh", - sql: ".sql", - html: ".html", - css: ".css", - // add more file extensions here, make sure the key is same as language prop in CodeBlock.tsx component + javascript: ".js", + python: ".py", + java: ".java", + c: ".c", + cpp: ".cpp", + "c++": ".cpp", + "c#": ".cs", + ruby: ".rb", + php: ".php", + swift: ".swift", + "objective-c": ".m", + kotlin: ".kt", + typescript: ".ts", + go: ".go", + perl: ".pl", + rust: ".rs", + scala: ".scala", + haskell: ".hs", + lua: ".lua", + shell: ".sh", + sql: ".sql", + html: ".html", + css: ".css", + // add more file extensions here, make sure the key is same as language prop in CodeBlock.tsx component }; From b16b9d687becfce6e2fc301d702bf63d2d8110b8 Mon Sep 17 00:00:00 2001 From: Gabriel Ferreira Rosalino Date: Sun, 28 May 2023 02:10:31 -0300 Subject: [PATCH 04/69] feat: SlackDirectoryLoader --- src/backend/langflow/config.yaml | 1 + src/backend/langflow/interface/document_loaders/base.py | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/backend/langflow/config.yaml b/src/backend/langflow/config.yaml index b1da1b622..9f069d2f4 100644 --- a/src/backend/langflow/config.yaml +++ b/src/backend/langflow/config.yaml @@ -42,6 +42,7 @@ documentloaders: - IMSDbLoader - GitbookLoader - ReadTheDocsLoader + - SlackDirectoryLoader embeddings: - OpenAIEmbeddings - HuggingFaceEmbeddings diff --git a/src/backend/langflow/interface/document_loaders/base.py b/src/backend/langflow/interface/document_loaders/base.py index aab017c0f..35a7c7add 100644 --- a/src/backend/langflow/interface/document_loaders/base.py +++ b/src/backend/langflow/interface/document_loaders/base.py @@ -89,6 +89,9 @@ class DocumentLoaderCreator(LangChainTypeCreator): "UnstructuredWordDocumentLoader": build_file_path_template( suffixes=[".docx", ".doc"], fileTypes=["docx", "doc"] ), + "SlackDirectoryLoader": build_file_path_template( + suffixes=[".zip"], fileTypes=["zip"] + ), } if name in file_path_templates: From af2a8b743e529a5c06d024bbce21ac569b7f6233 Mon Sep 17 00:00:00 2001 From: anovazzi1 Date: Sun, 28 May 2023 10:34:39 -0300 Subject: [PATCH 05/69] added clone deep to saveFlow --- src/frontend/src/contexts/tabsContext.tsx | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/frontend/src/contexts/tabsContext.tsx b/src/frontend/src/contexts/tabsContext.tsx index f34e1bc7a..f6b62a2b3 100644 --- a/src/frontend/src/contexts/tabsContext.tsx +++ b/src/frontend/src/contexts/tabsContext.tsx @@ -14,6 +14,7 @@ import { typesContext } from "./typesContext"; import { APITemplateType, TemplateVariableType } from "../types/api"; import { v4 as uuidv4 } from "uuid"; import { addEdge } from "reactflow"; +import _ from "lodash"; const TabsContextInitialValue: TabsContextType = { save: () => {}, @@ -50,7 +51,7 @@ export function TabsProvider({ children }: { children: ReactNode }) { return newNodeId.current; } function save() { - let Saveflows = [...flows]; + let Saveflows = _.cloneDeep(flows); if (Saveflows.length !== 0) Saveflows.forEach((flow) => { if(flow.data && flow.data?.nodes) flow.data?.nodes.forEach((node) => { @@ -69,15 +70,11 @@ export function TabsProvider({ children }: { children: ReactNode }) { JSON.stringify({ tabIndex, flows:Saveflows, id}) ); } - useEffect(() => { - //save tabs locally - // console.log(id) - save(); - }, [flows, id, tabIndex, newNodeId]); useEffect(() => { //get tabs locally saved let cookie = window.localStorage.getItem("tabsData"); + console.log(cookie) if (cookie && Object.keys(templates).length > 0) { let cookieObject: LangFlowState = JSON.parse(cookie); cookieObject.flows.forEach((flow) => { @@ -99,6 +96,12 @@ export function TabsProvider({ children }: { children: ReactNode }) { } }, [templates]); + useEffect(() => { + //save tabs locally + console.log(id) + save(); + }, [flows, id, tabIndex, newNodeId]); + function hardReset() { newNodeId.current = uuidv4(); setTabIndex(0); From 129088d61ee7c475281669fce20311731ed1e12d Mon Sep 17 00:00:00 2001 From: anovazzi1 Date: Sun, 28 May 2023 10:49:23 -0300 Subject: [PATCH 06/69] hotfix for file nodes and save on localStorage --- .../src/CustomNodes/GenericNode/index.tsx | 1 + src/frontend/src/contexts/tabsContext.tsx | 34 +++++++++++-------- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/src/frontend/src/CustomNodes/GenericNode/index.tsx b/src/frontend/src/CustomNodes/GenericNode/index.tsx index 059fdfb81..8005a8a30 100644 --- a/src/frontend/src/CustomNodes/GenericNode/index.tsx +++ b/src/frontend/src/CustomNodes/GenericNode/index.tsx @@ -86,6 +86,7 @@ export default function GenericNode({ deleteNode(data.id); return; } + console.log(data) return (
{ - if(flow.data && flow.data?.nodes) flow.data?.nodes.forEach((node) => { - console.log(node.data.type) - Object.keys(node.data.node.template).forEach((key) => { - console.log(node.data.node.template[key].type) - if(node.data.node.template[key].type==="file"){ - console.log(node.data.node.template[key]) - node.data.node.template[key].content = ""; - } - }) - }) - }) - window.localStorage.setItem( + if (Saveflows.length !== 0){ + Saveflows.forEach((flow) => { + if(flow.data && flow.data?.nodes) flow.data?.nodes.forEach((node) => { + console.log(node.data.type) + //looking for file fields to prevent saving the content and breaking the flow for exceeding the the data limite for local storage + Object.keys(node.data.node.template).forEach((key) => { + console.log(node.data.node.template[key].type) + if(node.data.node.template[key].type==="file"){ + console.log(node.data.node.template[key]) + node.data.node.template[key].content = null; + node.data.node.template[key].value = ""; + + } + }) + }) + }) + window.localStorage.setItem( "tabsData", JSON.stringify({ tabIndex, flows:Saveflows, id}) ); + } } useEffect(() => { //get tabs locally saved let cookie = window.localStorage.getItem("tabsData"); - console.log(cookie) if (cookie && Object.keys(templates).length > 0) { let cookieObject: LangFlowState = JSON.parse(cookie); cookieObject.flows.forEach((flow) => { From c4159f3af40322a144c1dff0d13a925538f9e371 Mon Sep 17 00:00:00 2001 From: Gabriel Almeida Date: Sun, 28 May 2023 11:55:00 -0300 Subject: [PATCH 07/69] =?UTF-8?q?=F0=9F=90=9B=20fix(utilities.py):=20use?= =?UTF-8?q?=20ast.literal=5Feval=20instead=20of=20eval=20to=20improve=20se?= =?UTF-8?q?curity=20=F0=9F=90=9B=20fix(GenericNode):=20add=20semicolon=20t?= =?UTF-8?q?o=20console.log=20statement=20The=20use=20of=20eval=20in=20the?= =?UTF-8?q?=20code=20can=20be=20a=20security=20risk=20as=20it=20can=20exec?= =?UTF-8?q?ute=20arbitrary=20code.=20Using=20ast.literal=5Feval=20instead?= =?UTF-8?q?=20of=20eval=20is=20a=20safer=20alternative=20as=20it=20only=20?= =?UTF-8?q?evaluates=20a=20subset=20of=20Python=20expressions.=20The=20sem?= =?UTF-8?q?icolon=20was=20added=20to=20the=20console.log=20statement=20to?= =?UTF-8?q?=20improve=20code=20consistency.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/langflow/template/frontend_node/utilities.py | 3 ++- src/frontend/src/CustomNodes/GenericNode/index.tsx | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/backend/langflow/template/frontend_node/utilities.py b/src/backend/langflow/template/frontend_node/utilities.py index 77d01a23e..615d7d12f 100644 --- a/src/backend/langflow/template/frontend_node/utilities.py +++ b/src/backend/langflow/template/frontend_node/utilities.py @@ -1,3 +1,4 @@ +import ast import json from typing import Optional @@ -12,7 +13,7 @@ class UtilitiesFrontendNode(FrontendNode): # field.field_type could be "Literal['news', 'search', 'places', 'images'] # we need to convert it to a list if "Literal" in field.field_type: - field.options = eval(field.field_type.replace("Literal", "")) + field.options = ast.literal_eval(field.field_type.replace("Literal", "")) field.is_list = True field.field_type = "str" diff --git a/src/frontend/src/CustomNodes/GenericNode/index.tsx b/src/frontend/src/CustomNodes/GenericNode/index.tsx index 3409f8d9e..1427d1a76 100644 --- a/src/frontend/src/CustomNodes/GenericNode/index.tsx +++ b/src/frontend/src/CustomNodes/GenericNode/index.tsx @@ -85,7 +85,7 @@ export default function GenericNode({ deleteNode(data.id); return; } - console.log(data) + console.log(data); return (
Date: Mon, 29 May 2023 20:40:17 +0100 Subject: [PATCH 08/69] Add Cohere LLM --- poetry.lock | 61 +++++++++++++++----------------- pyproject.toml | 1 + src/backend/langflow/config.yaml | 2 ++ 3 files changed, 32 insertions(+), 32 deletions(-) diff --git a/poetry.lock b/poetry.lock index af757d4b6..80995acba 100644 --- a/poetry.lock +++ b/poetry.lock @@ -717,6 +717,23 @@ pandas = ["pandas"] sqlalchemy = ["sqlalchemy (>1.3.21,<1.4)"] superset = ["apache-superset (>=1.4.1)"] +[[package]] +name = "cohere" +version = "4.6.0" +description = "" +category = "main" +optional = false +python-versions = ">=3.7,<4.0" +files = [ + {file = "cohere-4.6.0-py3-none-any.whl", hash = "sha256:fc60fa73a2d96bdb9f70da4a290d3ede320b74ac01a24c229011049d7cb3511f"}, + {file = "cohere-4.6.0.tar.gz", hash = "sha256:43218a0a40f6fc023e068732994fb631ce5d160a0bc9f9a3a22524b5932f34ea"}, +] + +[package.dependencies] +aiohttp = ">=3.0,<4.0" +backoff = ">=2.0,<3.0" +requests = ">=2.0,<3.0" + [[package]] name = "colorama" version = "0.4.6" @@ -876,24 +893,6 @@ test = ["iso8601", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-co test-randomorder = ["pytest-randomly"] tox = ["tox"] -[[package]] -name = "ctransformers" -version = "0.2.2" -description = "Python bindings for the Transformer models implemented in C/C++ using GGML library." -category = "main" -optional = false -python-versions = "*" -files = [ - {file = "ctransformers-0.2.2-py3-none-any.whl", hash = "sha256:bf682dd0293dd87911c9a9a1169a4873ff55baebc16d465c6029c77f11b18cf6"}, - {file = "ctransformers-0.2.2.tar.gz", hash = "sha256:1fc36b3fde36d9fd3cb69e48993315bb1f5f54ae552720eb909dc4b3a131c743"}, -] - -[package.dependencies] -huggingface-hub = "*" - -[package.extras] -tests = ["pytest"] - [[package]] name = "dataclasses-json" version = "0.5.7" @@ -2311,14 +2310,14 @@ test = ["ipykernel", "pre-commit", "pytest", "pytest-cov", "pytest-timeout"] [[package]] name = "langchain" -version = "0.0.184" +version = "0.0.183" description = "Building applications with LLMs through composability" category = "main" optional = false python-versions = ">=3.8.1,<4.0" files = [ - {file = "langchain-0.0.184-py3-none-any.whl", hash = "sha256:819513b3acbd32ad24a55e48e0cabc8f60e09bb4293ca5b655d18e6d24353940"}, - {file = "langchain-0.0.184.tar.gz", hash = "sha256:e02a73b5cac889e761fc11c12297d4479a9727287c51a251ca2669a8a79ae348"}, + {file = "langchain-0.0.183-py3-none-any.whl", hash = "sha256:d98e56bf5189599f6500d59908f85b5a6cdf65545e34b41165c7c98beb1ccd0e"}, + {file = "langchain-0.0.183.tar.gz", hash = "sha256:ec9712ae9d11b14f02e703f123d9493f82d49fd80e86df4ff4014df2af06aeca"}, ] [package.dependencies] @@ -2348,13 +2347,13 @@ text-helpers = ["chardet (>=5.1.0,<6.0.0)"] [[package]] name = "langchain-serve" -version = "0.0.38" +version = "0.0.33" description = "Langchain Serve - serve your langchain apps on Jina AI Cloud." category = "main" optional = true python-versions = "*" files = [ - {file = "langchain-serve-0.0.38.tar.gz", hash = "sha256:649b8e26eebe6b33960c081b388fb7118acbfdc00f97dd935a580ab88aca53d6"}, + {file = "langchain-serve-0.0.33.tar.gz", hash = "sha256:89396d932c75230ddd7c802824fc766df1ac95872c1a8f2da68d0ec8a54f761a"}, ] [package.dependencies] @@ -2367,8 +2366,6 @@ nest-asyncio = "*" requests = "*" textual = "*" toml = "*" -typing_extensions = "4.5.0" -typing-inspect = "0.8.0" [package.extras] test = ["psutil", "pytest", "pytest-asyncio"] @@ -5492,14 +5489,14 @@ files = [ [[package]] name = "types-requests" -version = "2.31.0.1" +version = "2.31.0.0" description = "Typing stubs for requests" category = "dev" optional = false python-versions = "*" files = [ - {file = "types-requests-2.31.0.1.tar.gz", hash = "sha256:3de667cffa123ce698591de0ad7db034a5317457a596eb0b4944e5a9d9e8d1ac"}, - {file = "types_requests-2.31.0.1-py3-none-any.whl", hash = "sha256:afb06ef8f25ba83d59a1d424bd7a5a939082f94b94e90ab5e6116bd2559deaa3"}, + {file = "types-requests-2.31.0.0.tar.gz", hash = "sha256:c1c29d20ab8d84dff468d7febfe8e0cb0b4664543221b386605e14672b44ea25"}, + {file = "types_requests-2.31.0.0-py3-none-any.whl", hash = "sha256:7c5cea7940f8e92ec560bbc468f65bf684aa3dcf0554a6f8c4710f5f708dc598"}, ] [package.dependencies] @@ -5531,14 +5528,14 @@ files = [ [[package]] name = "typing-inspect" -version = "0.8.0" +version = "0.9.0" description = "Runtime inspection utilities for typing module." category = "main" optional = false python-versions = "*" files = [ - {file = "typing_inspect-0.8.0-py3-none-any.whl", hash = "sha256:5fbf9c1e65d4fa01e701fe12a5bca6c6e08a4ffd5bc60bfac028253a447c5188"}, - {file = "typing_inspect-0.8.0.tar.gz", hash = "sha256:8b1ff0c400943b6145df8119c41c244ca8207f1f10c9c057aeed1560e4806e3d"}, + {file = "typing_inspect-0.9.0-py3-none-any.whl", hash = "sha256:9ee6fc59062311ef8547596ab6b955e1b8aa46242d854bfc78f4f6b0eff35f9f"}, + {file = "typing_inspect-0.9.0.tar.gz", hash = "sha256:b23fc42ff6f6ef6954e4852c1fb512cdd18dbea03134f91f856a95ccc9461f78"}, ] [package.dependencies] @@ -6152,4 +6149,4 @@ deploy = ["langchain-serve"] [metadata] lock-version = "2.0" python-versions = ">=3.9,<3.12" -content-hash = "c51c9c7aa21fbe949ea9218412f9979064c4dd8a7fa23da76347a35333306a6e" +content-hash = "ae4852378416319ee45512e200759438615dc8a4e840369176234dd04ec2a3ec" \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 3a753e3b5..0d3affef3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -56,6 +56,7 @@ weaviate-client = "^3.19.2" jina = "3.15.2" sentence-transformers = "^2.2.2" ctransformers = "^0.2.2" +cohere = "^4.6.0" [tool.poetry.group.dev.dependencies] diff --git a/src/backend/langflow/config.yaml b/src/backend/langflow/config.yaml index 88c0753c4..045d836f2 100644 --- a/src/backend/langflow/config.yaml +++ b/src/backend/langflow/config.yaml @@ -46,6 +46,7 @@ documentloaders: embeddings: - OpenAIEmbeddings - HuggingFaceEmbeddings + - CohereEmbeddings llms: - OpenAI # - AzureOpenAI @@ -53,6 +54,7 @@ llms: - HuggingFaceHub - LlamaCpp - CTransformers + - Cohere memories: - ConversationBufferMemory - ConversationSummaryMemory From 44d6832163c9fb99e847850834ae82fd3f0459e9 Mon Sep 17 00:00:00 2001 From: GMS Date: Mon, 29 May 2023 20:46:47 +0100 Subject: [PATCH 09/69] Poetry.lock dependencies version fixed --- poetry.lock | 301 ++++++++-------------------------------------------- 1 file changed, 45 insertions(+), 256 deletions(-) diff --git a/poetry.lock b/poetry.lock index 80995acba..f08caeada 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,10 +1,9 @@ -# This file is automatically @generated by Poetry 1.4.0 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.5.0 and should not be changed by hand. [[package]] name = "aiofiles" version = "23.1.0" description = "File support for asyncio." -category = "main" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -16,7 +15,6 @@ files = [ name = "aiohttp" version = "3.8.4" description = "Async http client/server framework (asyncio)" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -125,7 +123,6 @@ speedups = ["Brotli", "aiodns", "cchardet"] name = "aiosignal" version = "1.3.1" description = "aiosignal: a list of registered asynchronous callbacks" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -140,7 +137,6 @@ frozenlist = ">=1.1.0" name = "aiostream" version = "0.4.5" description = "Generator-based operators for asynchronous iteration" -category = "main" optional = false python-versions = "*" files = [ @@ -152,7 +148,6 @@ files = [ name = "anyio" version = "3.7.0" description = "High level compatibility layer for multiple asynchronous event loop implementations" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -174,7 +169,6 @@ trio = ["trio (<0.22)"] name = "appnope" version = "0.1.3" description = "Disable App Nap on macOS >= 10.9" -category = "dev" optional = false python-versions = "*" files = [ @@ -186,7 +180,6 @@ files = [ name = "argilla" version = "1.3.2" description = "Open-source tool for exploring, labeling, and monitoring data for NLP projects." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -214,7 +207,6 @@ server = ["Deprecated (>=1.2.0,<1.3.0)", "PyYAML (>=5.4.1,<6.1.0)", "aiofiles (> name = "asgiref" version = "3.7.2" description = "ASGI specs, helper code, and adapters" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -232,7 +224,6 @@ tests = ["mypy (>=0.800)", "pytest", "pytest-asyncio"] name = "asttokens" version = "2.2.1" description = "Annotate AST trees with source code positions" -category = "dev" optional = false python-versions = "*" files = [ @@ -250,7 +241,6 @@ test = ["astroid", "pytest"] name = "async-timeout" version = "4.0.2" description = "Timeout context manager for asyncio programs" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -262,7 +252,6 @@ files = [ name = "attrs" version = "23.1.0" description = "Classes Without Boilerplate" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -281,7 +270,6 @@ tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pyte name = "authlib" version = "1.2.0" description = "The ultimate Python library in building OAuth and OpenID Connect servers and clients." -category = "main" optional = false python-versions = "*" files = [ @@ -296,7 +284,6 @@ cryptography = ">=3.2" name = "backcall" version = "0.2.0" description = "Specifications for callback functions passed in to an API" -category = "dev" optional = false python-versions = "*" files = [ @@ -308,7 +295,6 @@ files = [ name = "backoff" version = "2.2.1" description = "Function decoration for backoff and retry" -category = "main" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -320,7 +306,6 @@ files = [ name = "beautifulsoup4" version = "4.12.2" description = "Screen-scraping library" -category = "main" optional = false python-versions = ">=3.6.0" files = [ @@ -339,7 +324,6 @@ lxml = ["lxml"] name = "black" version = "23.3.0" description = "The uncompromising code formatter." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -389,7 +373,6 @@ uvloop = ["uvloop (>=0.15.2)"] name = "cachetools" version = "5.3.1" description = "Extensible memoizing collections and decorators" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -401,7 +384,6 @@ files = [ name = "certifi" version = "2023.5.7" description = "Python package for providing Mozilla's CA Bundle." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -413,7 +395,6 @@ files = [ name = "cffi" version = "1.15.1" description = "Foreign Function Interface for Python calling C code." -category = "main" optional = false python-versions = "*" files = [ @@ -490,7 +471,6 @@ pycparser = "*" name = "chardet" version = "5.1.0" description = "Universal encoding detector for Python 3" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -502,7 +482,6 @@ files = [ name = "charset-normalizer" version = "3.1.0" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -587,7 +566,6 @@ files = [ name = "chromadb" version = "0.3.25" description = "Chroma." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -616,7 +594,6 @@ uvicorn = {version = ">=0.18.3", extras = ["standard"]} name = "click" version = "8.1.3" description = "Composable command line interface toolkit" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -631,7 +608,6 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} name = "clickhouse-connect" version = "0.5.25" description = "ClickHouse core driver, SqlAlchemy, and Superset libraries" -category = "main" optional = false python-versions = "~=3.7" files = [ @@ -721,7 +697,6 @@ superset = ["apache-superset (>=1.4.1)"] name = "cohere" version = "4.6.0" description = "" -category = "main" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -738,7 +713,6 @@ requests = ">=2.0,<3.0" name = "colorama" version = "0.4.6" description = "Cross-platform colored terminal text." -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ @@ -750,7 +724,6 @@ files = [ name = "coloredlogs" version = "15.0.1" description = "Colored terminal output for Python's logging module" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -768,7 +741,6 @@ cron = ["capturer (>=2.4)"] name = "comm" version = "0.1.3" description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc." -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -788,7 +760,6 @@ typing = ["mypy (>=0.990)"] name = "coverage" version = "7.2.6" description = "Code coverage measurement for Python" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -855,7 +826,6 @@ toml = ["tomli"] name = "cryptography" version = "40.0.2" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -893,11 +863,27 @@ test = ["iso8601", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-co test-randomorder = ["pytest-randomly"] tox = ["tox"] +[[package]] +name = "ctransformers" +version = "0.2.2" +description = "Python bindings for the Transformer models implemented in C/C++ using GGML library." +optional = false +python-versions = "*" +files = [ + {file = "ctransformers-0.2.2-py3-none-any.whl", hash = "sha256:bf682dd0293dd87911c9a9a1169a4873ff55baebc16d465c6029c77f11b18cf6"}, + {file = "ctransformers-0.2.2.tar.gz", hash = "sha256:1fc36b3fde36d9fd3cb69e48993315bb1f5f54ae552720eb909dc4b3a131c743"}, +] + +[package.dependencies] +huggingface-hub = "*" + +[package.extras] +tests = ["pytest"] + [[package]] name = "dataclasses-json" version = "0.5.7" description = "Easily serialize dataclasses to and from JSON" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -917,7 +903,6 @@ dev = ["flake8", "hypothesis", "ipython", "mypy (>=0.710)", "portray", "pytest ( name = "debugpy" version = "1.6.7" description = "An implementation of the Debug Adapter Protocol for Python" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -945,7 +930,6 @@ files = [ name = "decorator" version = "5.1.1" description = "Decorators for Humans" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -957,7 +941,6 @@ files = [ name = "deprecated" version = "1.2.14" description = "Python @deprecated decorator to deprecate old python classes, functions or methods." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -975,7 +958,6 @@ dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "sphinx (<2)", "tox"] name = "dill" version = "0.3.6" description = "serialize all of python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -990,7 +972,6 @@ graph = ["objgraph (>=1.7.2)"] name = "docarray" version = "0.21.0" description = "The data structure for unstructured data" -category = "main" optional = false python-versions = "*" files = [ @@ -1019,7 +1000,6 @@ weaviate = ["weaviate-client (>=3.9.0,<3.10.0)"] name = "docker" version = "6.1.2" description = "A Python library for the Docker Engine API." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1041,7 +1021,6 @@ ssh = ["paramiko (>=2.4.3)"] name = "docstring-parser" version = "0.15" description = "Parse Python docstrings in reST, Google and Numpydoc format" -category = "main" optional = false python-versions = ">=3.6,<4.0" files = [ @@ -1053,7 +1032,6 @@ files = [ name = "duckdb" version = "0.8.0" description = "DuckDB embedded database" -category = "main" optional = false python-versions = "*" files = [ @@ -1069,7 +1047,9 @@ files = [ {file = "duckdb-0.8.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b2707096d6df4321044fcde2c9f04da632d11a8be60957fd09d49a42fae71a29"}, {file = "duckdb-0.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b27df1b70ae74d2c88efb5ffca8490954fdc678099509a9c4404ca30acc53426"}, {file = "duckdb-0.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:75a97c800271b52dd0f37696d074c50576dcb4b2750b6115932a98696a268070"}, + {file = "duckdb-0.8.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:804cac261a5e016506a6d67838a65d19b06a237f7949f1704f0e800eb708286a"}, {file = "duckdb-0.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c6b9abca7fa6713e1d031c18485343b4de99742c7e1b85c10718aa2f31a4e2c6"}, + {file = "duckdb-0.8.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:51aa6d606d49072abcfeb3be209eb559ac94c1b5e70f58ac3adbb94aca9cd69f"}, {file = "duckdb-0.8.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7c8dc769aaf2be0a1c57995ca657e5b92c1c56fc8437edb720ca6cab571adf14"}, {file = "duckdb-0.8.0-cp311-cp311-win32.whl", hash = "sha256:c4207d18b42387c4a035846d8878eb967070198be8ac26fd77797ce320d1a400"}, {file = "duckdb-0.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:0c392257547c20794c3072fcbca99a49ef0a49974005d755e93893e2b4875267"}, @@ -1108,7 +1088,6 @@ files = [ name = "ecdsa" version = "0.18.0" description = "ECDSA cryptographic signature library (pure python)" -category = "main" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -1127,7 +1106,6 @@ gmpy2 = ["gmpy2"] name = "et-xmlfile" version = "1.1.0" description = "An implementation of lxml.xmlfile for the standard library" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1139,7 +1117,6 @@ files = [ name = "exceptiongroup" version = "1.1.1" description = "Backport of PEP 654 (exception groups)" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1154,7 +1131,6 @@ test = ["pytest (>=6)"] name = "executing" version = "1.2.0" description = "Get the currently executing AST node of a frame, and other information" -category = "dev" optional = false python-versions = "*" files = [ @@ -1169,7 +1145,6 @@ tests = ["asttokens", "littleutils", "pytest", "rich"] name = "fake-useragent" version = "1.1.3" description = "Up-to-date simple useragent faker with real world database" -category = "main" optional = false python-versions = "*" files = [ @@ -1184,7 +1159,6 @@ importlib-resources = {version = ">=5.0", markers = "python_version < \"3.10\""} name = "fastapi" version = "0.95.2" description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1206,7 +1180,6 @@ test = ["anyio[trio] (>=3.2.1,<4.0.0)", "black (==23.1.0)", "coverage[toml] (>=6 name = "filelock" version = "3.12.0" description = "A platform independent file lock." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1222,7 +1195,6 @@ testing = ["covdefaults (>=2.3)", "coverage (>=7.2.3)", "diff-cover (>=7.5)", "p name = "flatbuffers" version = "23.5.26" description = "The FlatBuffers serialization format for Python" -category = "main" optional = false python-versions = "*" files = [ @@ -1234,7 +1206,6 @@ files = [ name = "frozenlist" version = "1.3.3" description = "A list-like structure which implements collections.abc.MutableSequence" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1318,7 +1289,6 @@ files = [ name = "google-api-core" version = "2.11.0" description = "Google API client core library" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1341,7 +1311,6 @@ grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0dev)"] name = "google-api-python-client" version = "2.87.0" description = "Google API Client Library for Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1350,7 +1319,7 @@ files = [ ] [package.dependencies] -google-api-core = ">=1.31.5,<2.0.0 || >2.3.0,<3.0.0dev" +google-api-core = ">=1.31.5,<2.0.dev0 || >2.3.0,<3.0.0dev" google-auth = ">=1.19.0,<3.0.0dev" google-auth-httplib2 = ">=0.1.0" httplib2 = ">=0.15.0,<1dev" @@ -1360,7 +1329,6 @@ uritemplate = ">=3.0.1,<5" name = "google-auth" version = "2.19.0" description = "Google Authentication Library" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1386,7 +1354,6 @@ requests = ["requests (>=2.20.0,<3.0.0dev)"] name = "google-auth-httplib2" version = "0.1.0" description = "Google Authentication Library: httplib2 transport" -category = "main" optional = false python-versions = "*" files = [ @@ -1403,7 +1370,6 @@ six = "*" name = "google-search-results" version = "2.4.2" description = "Scrape and search localized results from Google, Bing, Baidu, Yahoo, Yandex, Ebay, Homedepot, youtube at scale using SerpApi.com" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1417,7 +1383,6 @@ requests = "*" name = "googleapis-common-protos" version = "1.59.0" description = "Common protobufs used in Google APIs" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1435,7 +1400,6 @@ grpc = ["grpcio (>=1.44.0,<2.0.0dev)"] name = "greenlet" version = "2.0.2" description = "Lightweight in-process concurrent programming" -category = "main" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" files = [ @@ -1509,7 +1473,6 @@ test = ["objgraph", "psutil"] name = "grpcio" version = "1.47.5" description = "HTTP/2-based RPC framework" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1571,7 +1534,6 @@ protobuf = ["grpcio-tools (>=1.47.5)"] name = "grpcio-health-checking" version = "1.47.5" description = "Standard Health Checking Service for gRPC" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1587,7 +1549,6 @@ protobuf = ">=3.12.0" name = "grpcio-reflection" version = "1.47.5" description = "Standard Protobuf Reflection Service for gRPC" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1603,7 +1564,6 @@ protobuf = ">=3.12.0" name = "grpcio-tools" version = "1.47.5" description = "Protobuf code generator for gRPC" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1664,7 +1624,6 @@ setuptools = "*" name = "gunicorn" version = "20.1.0" description = "WSGI HTTP Server for UNIX" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1685,7 +1644,6 @@ tornado = ["tornado (>=0.2)"] name = "h11" version = "0.14.0" description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1697,7 +1655,6 @@ files = [ name = "h2" version = "4.1.0" description = "HTTP/2 State-Machine based protocol implementation" -category = "main" optional = false python-versions = ">=3.6.1" files = [ @@ -1713,7 +1670,6 @@ hyperframe = ">=6.0,<7" name = "hnswlib" version = "0.7.0" description = "hnswlib" -category = "main" optional = false python-versions = "*" files = [ @@ -1727,7 +1683,6 @@ numpy = "*" name = "hpack" version = "4.0.0" description = "Pure-Python HPACK header compression" -category = "main" optional = false python-versions = ">=3.6.1" files = [ @@ -1739,7 +1694,6 @@ files = [ name = "httpcore" version = "0.16.3" description = "A minimal low-level HTTP client." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1751,17 +1705,16 @@ files = [ anyio = ">=3.0,<5.0" certifi = "*" h11 = ">=0.13,<0.15" -sniffio = ">=1.0.0,<2.0.0" +sniffio = "==1.*" [package.extras] http2 = ["h2 (>=3,<5)"] -socks = ["socksio (>=1.0.0,<2.0.0)"] +socks = ["socksio (==1.*)"] [[package]] name = "httplib2" version = "0.22.0" description = "A comprehensive HTTP client library." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -1776,7 +1729,6 @@ pyparsing = {version = ">=2.4.2,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.0.2 || >3.0 name = "httptools" version = "0.5.0" description = "A collection of framework independent HTTP protocol utils." -category = "main" optional = false python-versions = ">=3.5.0" files = [ @@ -1830,7 +1782,6 @@ test = ["Cython (>=0.29.24,<0.30.0)"] name = "httpx" version = "0.23.3" description = "The next generation HTTP client." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1847,15 +1798,14 @@ sniffio = "*" [package.extras] brotli = ["brotli", "brotlicffi"] -cli = ["click (>=8.0.0,<9.0.0)", "pygments (>=2.0.0,<3.0.0)", "rich (>=10,<13)"] +cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<13)"] http2 = ["h2 (>=3,<5)"] -socks = ["socksio (>=1.0.0,<2.0.0)"] +socks = ["socksio (==1.*)"] [[package]] name = "huggingface-hub" version = "0.13.4" description = "Client library to download and publish models, datasets and other repos on the huggingface.co hub" -category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -1886,7 +1836,6 @@ typing = ["types-PyYAML", "types-requests", "types-simplejson", "types-toml", "t name = "humanfriendly" version = "10.0" description = "Human friendly output for text interfaces using Python" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -1901,7 +1850,6 @@ pyreadline3 = {version = "*", markers = "sys_platform == \"win32\" and python_ve name = "hyperframe" version = "6.0.1" description = "HTTP/2 framing layer for Python" -category = "main" optional = false python-versions = ">=3.6.1" files = [ @@ -1913,7 +1861,6 @@ files = [ name = "idna" version = "3.4" description = "Internationalized Domain Names in Applications (IDNA)" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1925,7 +1872,6 @@ files = [ name = "importlib-metadata" version = "6.0.1" description = "Read metadata from Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1945,7 +1891,6 @@ testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packag name = "importlib-resources" version = "5.12.0" description = "Read resources from Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1964,7 +1909,6 @@ testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-chec name = "iniconfig" version = "2.0.0" description = "brain-dead simple config-ini parsing" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1976,7 +1920,6 @@ files = [ name = "ipykernel" version = "6.23.1" description = "IPython Kernel for Jupyter" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -1990,7 +1933,7 @@ comm = ">=0.1.1" debugpy = ">=1.6.5" ipython = ">=7.23.1" jupyter-client = ">=6.1.12" -jupyter-core = ">=4.12,<5.0.0 || >=5.1.0" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" matplotlib-inline = ">=0.1" nest-asyncio = "*" packaging = "*" @@ -2010,7 +1953,6 @@ test = ["flaky", "ipyparallel", "pre-commit", "pytest (>=7.0)", "pytest-asyncio" name = "ipython" version = "8.13.2" description = "IPython: Productive Interactive Computing" -category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -2050,7 +1992,6 @@ test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.21)", "pa name = "jcloud" version = "0.2.10" description = "Simplify deploying and managing Jina projects on Jina Cloud" -category = "main" optional = false python-versions = "*" files = [ @@ -2073,7 +2014,6 @@ test = ["black (==22.3.0)", "jina (>=3.7.0)", "mock", "pytest", "pytest-asyncio" name = "jedi" version = "0.18.2" description = "An autocompletion tool for Python that can be used for text editors." -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -2093,7 +2033,6 @@ testing = ["Django (<3.1)", "attrs", "colorama", "docopt", "pytest (<7.0.0)"] name = "jina" version = "3.15.2" description = "Build multimodal AI services via cloud native technologies Β· Neural Search Β· Generative AI Β· MLOps" -category = "main" optional = false python-versions = "*" files = [ @@ -2211,7 +2150,6 @@ websockets = ["websockets"] name = "jina-hubble-sdk" version = "0.38.0" description = "SDK for Hubble API at Jina AI." -category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -2237,7 +2175,6 @@ full = ["aiohttp", "black (==22.3.0)", "docker", "filelock", "flake8 (==4.0.1)", name = "jinja2" version = "3.1.2" description = "A very fast and expressive template engine." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2255,7 +2192,6 @@ i18n = ["Babel (>=2.7)"] name = "joblib" version = "1.2.0" description = "Lightweight pipelining with Python functions" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2267,7 +2203,6 @@ files = [ name = "jupyter-client" version = "8.2.0" description = "Jupyter protocol implementation and client libraries" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -2277,7 +2212,7 @@ files = [ [package.dependencies] importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.10\""} -jupyter-core = ">=4.12,<5.0.0 || >=5.1.0" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" python-dateutil = ">=2.8.2" pyzmq = ">=23.0" tornado = ">=6.2" @@ -2291,7 +2226,6 @@ test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pyt name = "jupyter-core" version = "5.3.0" description = "Jupyter core package. A base package on which Jupyter projects rely." -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -2310,14 +2244,13 @@ test = ["ipykernel", "pre-commit", "pytest", "pytest-cov", "pytest-timeout"] [[package]] name = "langchain" -version = "0.0.183" +version = "0.0.184" description = "Building applications with LLMs through composability" -category = "main" optional = false python-versions = ">=3.8.1,<4.0" files = [ - {file = "langchain-0.0.183-py3-none-any.whl", hash = "sha256:d98e56bf5189599f6500d59908f85b5a6cdf65545e34b41165c7c98beb1ccd0e"}, - {file = "langchain-0.0.183.tar.gz", hash = "sha256:ec9712ae9d11b14f02e703f123d9493f82d49fd80e86df4ff4014df2af06aeca"}, + {file = "langchain-0.0.184-py3-none-any.whl", hash = "sha256:819513b3acbd32ad24a55e48e0cabc8f60e09bb4293ca5b655d18e6d24353940"}, + {file = "langchain-0.0.184.tar.gz", hash = "sha256:e02a73b5cac889e761fc11c12297d4479a9727287c51a251ca2669a8a79ae348"}, ] [package.dependencies] @@ -2347,13 +2280,12 @@ text-helpers = ["chardet (>=5.1.0,<6.0.0)"] [[package]] name = "langchain-serve" -version = "0.0.33" +version = "0.0.38" description = "Langchain Serve - serve your langchain apps on Jina AI Cloud." -category = "main" optional = true python-versions = "*" files = [ - {file = "langchain-serve-0.0.33.tar.gz", hash = "sha256:89396d932c75230ddd7c802824fc766df1ac95872c1a8f2da68d0ec8a54f761a"}, + {file = "langchain-serve-0.0.38.tar.gz", hash = "sha256:649b8e26eebe6b33960c081b388fb7118acbfdc00f97dd935a580ab88aca53d6"}, ] [package.dependencies] @@ -2366,6 +2298,8 @@ nest-asyncio = "*" requests = "*" textual = "*" toml = "*" +typing_extensions = "4.5.0" +typing-inspect = "0.8.0" [package.extras] test = ["psutil", "pytest", "pytest-asyncio"] @@ -2374,7 +2308,6 @@ test = ["psutil", "pytest", "pytest-asyncio"] name = "linkify-it-py" version = "2.0.2" description = "Links recognition library with FULL unicode support." -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -2395,7 +2328,6 @@ test = ["coverage", "pytest", "pytest-cov"] name = "llama-cpp-python" version = "0.1.55" description = "A Python wrapper for llama.cpp" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2409,7 +2341,6 @@ typing-extensions = ">=4.5.0,<5.0.0" name = "lxml" version = "4.9.2" description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*" files = [ @@ -2502,7 +2433,6 @@ source = ["Cython (>=0.29.7)"] name = "lz4" version = "4.3.2" description = "LZ4 Bindings for Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2552,7 +2482,6 @@ tests = ["psutil", "pytest (!=3.3.0)", "pytest-cov"] name = "markdown" version = "3.4.3" description = "Python implementation of John Gruber's Markdown." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2570,7 +2499,6 @@ testing = ["coverage", "pyyaml"] name = "markdown-it-py" version = "2.2.0" description = "Python port of markdown-it. Markdown parsing, done right!" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2597,7 +2525,6 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] name = "markupsafe" version = "2.1.2" description = "Safely add untrusted strings to HTML/XML markup." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2657,7 +2584,6 @@ files = [ name = "marshmallow" version = "3.19.0" description = "A lightweight library for converting complex datatypes to and from native Python datatypes." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2678,7 +2604,6 @@ tests = ["pytest", "pytz", "simplejson"] name = "marshmallow-enum" version = "1.5.1" description = "Enum field for Marshmallow" -category = "main" optional = false python-versions = "*" files = [ @@ -2693,7 +2618,6 @@ marshmallow = ">=2.0.0" name = "matplotlib-inline" version = "0.1.6" description = "Inline Matplotlib backend for Jupyter" -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -2708,7 +2632,6 @@ traitlets = "*" name = "mdit-py-plugins" version = "0.3.5" description = "Collection of plugins for markdown-it-py" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -2728,7 +2651,6 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] name = "mdurl" version = "0.1.2" description = "Markdown URL utilities" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2740,7 +2662,6 @@ files = [ name = "monotonic" version = "1.6" description = "An implementation of time.monotonic() for Python 2 & < 3.3" -category = "main" optional = false python-versions = "*" files = [ @@ -2752,7 +2673,6 @@ files = [ name = "mpmath" version = "1.3.0" description = "Python library for arbitrary-precision floating-point arithmetic" -category = "main" optional = false python-versions = "*" files = [ @@ -2770,7 +2690,6 @@ tests = ["pytest (>=4.6)"] name = "msg-parser" version = "1.2.0" description = "This module enables reading, parsing and converting Microsoft Outlook MSG E-Mail files." -category = "main" optional = false python-versions = ">=3.4" files = [ @@ -2788,7 +2707,6 @@ rtf = ["compressed-rtf (>=1.0.5)"] name = "multidict" version = "6.0.4" description = "multidict implementation" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2872,7 +2790,6 @@ files = [ name = "mypy" version = "1.3.0" description = "Optional static typing for Python" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2919,7 +2836,6 @@ reports = ["lxml"] name = "mypy-extensions" version = "1.0.0" description = "Type system extensions for programs checked with the mypy type checker." -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -2931,7 +2847,6 @@ files = [ name = "nest-asyncio" version = "1.5.6" description = "Patch asyncio to allow nested event loops" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -2943,7 +2858,6 @@ files = [ name = "networkx" version = "3.1" description = "Python package for creating and manipulating graphs and networks" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2962,7 +2876,6 @@ test = ["codecov (>=2.1)", "pytest (>=7.2)", "pytest-cov (>=4.0)"] name = "nltk" version = "3.8.1" description = "Natural Language Toolkit" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2988,7 +2901,6 @@ twitter = ["twython"] name = "numexpr" version = "2.8.4" description = "Fast numerical expression evaluator for NumPy" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3031,7 +2943,6 @@ numpy = ">=1.13.3" name = "numpy" version = "1.23.5" description = "NumPy is the fundamental package for array computing with Python." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3069,7 +2980,6 @@ files = [ name = "olefile" version = "0.46" description = "Python package to parse, read and write Microsoft OLE2 files (Structured Storage or Compound Document, Microsoft Office)" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -3080,7 +2990,6 @@ files = [ name = "onnxruntime" version = "1.15.0" description = "ONNX Runtime is a runtime accelerator for Machine Learning models" -category = "main" optional = false python-versions = "*" files = [ @@ -3122,7 +3031,6 @@ sympy = "*" name = "openai" version = "0.27.7" description = "Python client library for the OpenAI API" -category = "main" optional = false python-versions = ">=3.7.1" files = [ @@ -3137,7 +3045,7 @@ tqdm = "*" [package.extras] datalib = ["numpy", "openpyxl (>=3.0.7)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1.0.11)"] -dev = ["black (>=21.6b0,<22.0)", "pytest (>=6.0.0,<7.0.0)", "pytest-asyncio", "pytest-mock"] +dev = ["black (>=21.6b0,<22.0)", "pytest (==6.*)", "pytest-asyncio", "pytest-mock"] embeddings = ["matplotlib", "numpy", "openpyxl (>=3.0.7)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1.0.11)", "plotly", "scikit-learn (>=1.0.2)", "scipy", "tenacity (>=8.0.1)"] wandb = ["numpy", "openpyxl (>=3.0.7)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1.0.11)", "wandb"] @@ -3145,7 +3053,6 @@ wandb = ["numpy", "openpyxl (>=3.0.7)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1 name = "openapi-schema-pydantic" version = "1.2.4" description = "OpenAPI (v3) specification schema as pydantic class" -category = "main" optional = false python-versions = ">=3.6.1" files = [ @@ -3160,7 +3067,6 @@ pydantic = ">=1.8.2" name = "openpyxl" version = "3.1.2" description = "A Python library to read/write Excel 2010 xlsx/xlsm files" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -3175,7 +3081,6 @@ et-xmlfile = "*" name = "opentelemetry-api" version = "1.18.0" description = "OpenTelemetry Python API" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3192,7 +3097,6 @@ setuptools = ">=16.0" name = "opentelemetry-exporter-otlp" version = "1.18.0" description = "OpenTelemetry Collector Exporters" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3208,7 +3112,6 @@ opentelemetry-exporter-otlp-proto-http = "1.18.0" name = "opentelemetry-exporter-otlp-proto-common" version = "1.18.0" description = "OpenTelemetry Protobuf encoding" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3223,7 +3126,6 @@ opentelemetry-proto = "1.18.0" name = "opentelemetry-exporter-otlp-proto-grpc" version = "1.18.0" description = "OpenTelemetry Collector Protobuf over gRPC Exporter" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3248,7 +3150,6 @@ test = ["pytest-grpc"] name = "opentelemetry-exporter-otlp-proto-http" version = "1.18.0" description = "OpenTelemetry Collector Protobuf over HTTP Exporter" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3273,7 +3174,6 @@ test = ["responses (==0.22.0)"] name = "opentelemetry-exporter-prometheus" version = "1.12.0rc1" description = "Prometheus Metric Exporter for OpenTelemetry" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -3290,7 +3190,6 @@ prometheus-client = ">=0.5.0,<1.0.0" name = "opentelemetry-instrumentation" version = "0.39b0" description = "Instrumentation Tools & Auto Instrumentation for OpenTelemetry Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3307,7 +3206,6 @@ wrapt = ">=1.0.0,<2.0.0" name = "opentelemetry-instrumentation-aiohttp-client" version = "0.39b0" description = "OpenTelemetry aiohttp client instrumentation" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3330,7 +3228,6 @@ test = ["opentelemetry-instrumentation-aiohttp-client[instruments]"] name = "opentelemetry-instrumentation-asgi" version = "0.39b0" description = "ASGI instrumentation for OpenTelemetry" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3353,7 +3250,6 @@ test = ["opentelemetry-instrumentation-asgi[instruments]", "opentelemetry-test-u name = "opentelemetry-instrumentation-fastapi" version = "0.39b0" description = "OpenTelemetry FastAPI Instrumentation" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3376,7 +3272,6 @@ test = ["httpx (>=0.22,<1.0)", "opentelemetry-instrumentation-fastapi[instrument name = "opentelemetry-instrumentation-grpc" version = "0.39b0" description = "OpenTelemetry gRPC instrumentation" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3399,7 +3294,6 @@ test = ["opentelemetry-instrumentation-grpc[instruments]", "opentelemetry-sdk (> name = "opentelemetry-proto" version = "1.18.0" description = "OpenTelemetry Python Proto" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3414,7 +3308,6 @@ protobuf = ">=3.19,<5.0" name = "opentelemetry-sdk" version = "1.18.0" description = "OpenTelemetry Python SDK" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3432,7 +3325,6 @@ typing-extensions = ">=3.7.4" name = "opentelemetry-semantic-conventions" version = "0.39b0" description = "OpenTelemetry Semantic Conventions" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3444,7 +3336,6 @@ files = [ name = "opentelemetry-util-http" version = "0.39b0" description = "Web util for OpenTelemetry" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3456,7 +3347,6 @@ files = [ name = "overrides" version = "7.3.1" description = "A decorator to automatically detect mismatch when overriding a method." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -3468,7 +3358,6 @@ files = [ name = "packaging" version = "23.1" description = "Core utilities for Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3480,7 +3369,6 @@ files = [ name = "pandas" version = "1.5.3" description = "Powerful data structures for data analysis, time series, and statistics" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3529,7 +3417,6 @@ test = ["hypothesis (>=5.5.3)", "pytest (>=6.0)", "pytest-xdist (>=1.31)"] name = "pandas-stubs" version = "2.0.1.230501" description = "Type annotations for pandas" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -3544,7 +3431,6 @@ types-pytz = ">=2022.1.1" name = "parso" version = "0.8.3" description = "A Python Parser" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -3560,7 +3446,6 @@ testing = ["docopt", "pytest (<6.0.0)"] name = "pathspec" version = "0.11.1" description = "Utility library for gitignore style pattern matching of file paths." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3572,7 +3457,6 @@ files = [ name = "pexpect" version = "4.8.0" description = "Pexpect allows easy control of interactive console applications." -category = "dev" optional = false python-versions = "*" files = [ @@ -3587,7 +3471,6 @@ ptyprocess = ">=0.5" name = "pickleshare" version = "0.7.5" description = "Tiny 'shelve'-like database with concurrency support" -category = "dev" optional = false python-versions = "*" files = [ @@ -3599,7 +3482,6 @@ files = [ name = "pillow" version = "9.5.0" description = "Python Imaging Library (Fork)" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3679,7 +3561,6 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa name = "platformdirs" version = "3.5.1" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -3695,7 +3576,6 @@ test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest- name = "pluggy" version = "1.0.0" description = "plugin and hook calling mechanisms for python" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -3711,7 +3591,6 @@ testing = ["pytest", "pytest-benchmark"] name = "portalocker" version = "2.7.0" description = "Wraps the portalocker recipe for easy usage" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -3731,7 +3610,6 @@ tests = ["pytest (>=5.4.1)", "pytest-cov (>=2.8.1)", "pytest-mypy (>=0.8.0)", "p name = "posthog" version = "3.0.1" description = "Integrate PostHog into any python application." -category = "main" optional = false python-versions = "*" files = [ @@ -3755,7 +3633,6 @@ test = ["coverage", "flake8", "freezegun (==0.3.15)", "mock (>=2.0.0)", "pylint" name = "prometheus-client" version = "0.17.0" description = "Python client for the Prometheus monitoring system." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -3770,7 +3647,6 @@ twisted = ["twisted"] name = "prompt-toolkit" version = "3.0.38" description = "Library for building powerful interactive command lines in Python" -category = "dev" optional = false python-versions = ">=3.7.0" files = [ @@ -3785,7 +3661,6 @@ wcwidth = "*" name = "protobuf" version = "3.20.3" description = "Protocol Buffers" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3817,7 +3692,6 @@ files = [ name = "psutil" version = "5.9.5" description = "Cross-platform lib for process and system monitoring in Python." -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -3844,7 +3718,6 @@ test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] name = "psycopg2-binary" version = "2.9.6" description = "psycopg2 - Python-PostgreSQL Database Adapter" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -3916,7 +3789,6 @@ files = [ name = "ptyprocess" version = "0.7.0" description = "Run a subprocess in a pseudo terminal" -category = "dev" optional = false python-versions = "*" files = [ @@ -3928,7 +3800,6 @@ files = [ name = "pure-eval" version = "0.2.2" description = "Safely evaluate AST nodes without side effects" -category = "dev" optional = false python-versions = "*" files = [ @@ -3943,7 +3814,6 @@ tests = ["pytest"] name = "pyarrow" version = "11.0.0" description = "Python library for Apache Arrow" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3981,7 +3851,6 @@ numpy = ">=1.16.6" name = "pyasn1" version = "0.5.0" description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)" -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" files = [ @@ -3993,7 +3862,6 @@ files = [ name = "pyasn1-modules" version = "0.3.0" description = "A collection of ASN.1-based protocols modules" -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" files = [ @@ -4008,7 +3876,6 @@ pyasn1 = ">=0.4.6,<0.6.0" name = "pycparser" version = "2.21" description = "C parser in Python" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -4020,7 +3887,6 @@ files = [ name = "pydantic" version = "1.10.8" description = "Data validation and settings management using python type hints" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4073,7 +3939,6 @@ email = ["email-validator (>=1.0.3)"] name = "pygments" version = "2.15.1" description = "Pygments is a syntax highlighting package written in Python." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4088,7 +3953,6 @@ plugins = ["importlib-metadata"] name = "pypandoc" version = "1.11" description = "Thin wrapper for pandoc." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -4100,7 +3964,6 @@ files = [ name = "pyparsing" version = "3.0.9" description = "pyparsing module - Classes and methods to define and execute parsing grammars" -category = "main" optional = false python-versions = ">=3.6.8" files = [ @@ -4115,7 +3978,6 @@ diagrams = ["jinja2", "railroad-diagrams"] name = "pypdf" version = "3.9.0" description = "A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -4137,7 +3999,6 @@ image = ["Pillow"] name = "pyreadline3" version = "3.4.1" description = "A python implementation of GNU readline." -category = "main" optional = false python-versions = "*" files = [ @@ -4149,7 +4010,6 @@ files = [ name = "pysrt" version = "1.1.2" description = "SubRip (.srt) subtitle parser and writer" -category = "main" optional = false python-versions = "*" files = [ @@ -4163,7 +4023,6 @@ chardet = "*" name = "pytest" version = "7.3.1" description = "pytest: simple powerful testing with Python" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -4186,7 +4045,6 @@ testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "no name = "pytest-cov" version = "4.1.0" description = "Pytest plugin for measuring coverage." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -4205,7 +4063,6 @@ testing = ["fields", "hunter", "process-tests", "pytest-xdist", "six", "virtuale name = "python-dateutil" version = "2.8.2" description = "Extensions to the standard Python datetime module" -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ @@ -4220,7 +4077,6 @@ six = ">=1.5" name = "python-docx" version = "0.8.11" description = "Create and update Microsoft Word .docx files." -category = "main" optional = false python-versions = "*" files = [ @@ -4234,7 +4090,6 @@ lxml = ">=2.3.2" name = "python-dotenv" version = "1.0.0" description = "Read key-value pairs from a .env file and set them as environment variables" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -4249,7 +4104,6 @@ cli = ["click (>=5.0)"] name = "python-jose" version = "3.3.0" description = "JOSE implementation in Python" -category = "main" optional = false python-versions = "*" files = [ @@ -4271,7 +4125,6 @@ pycryptodome = ["pyasn1", "pycryptodome (>=3.3.1,<4.0.0)"] name = "python-magic" version = "0.4.27" description = "File type identification using libmagic" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -4283,7 +4136,6 @@ files = [ name = "python-multipart" version = "0.0.6" description = "A streaming multipart parser for Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4298,7 +4150,6 @@ dev = ["atomicwrites (==1.2.1)", "attrs (==19.2.0)", "coverage (==6.5.0)", "hatc name = "python-pptx" version = "0.6.21" description = "Generate and manipulate Open XML PowerPoint (.pptx) files" -category = "main" optional = false python-versions = "*" files = [ @@ -4314,7 +4165,6 @@ XlsxWriter = ">=0.5.7" name = "pytz" version = "2023.3" description = "World timezone definitions, modern and historical" -category = "main" optional = false python-versions = "*" files = [ @@ -4326,7 +4176,6 @@ files = [ name = "pywin32" version = "306" description = "Python for Window Extensions" -category = "main" optional = false python-versions = "*" files = [ @@ -4350,7 +4199,6 @@ files = [ name = "pyyaml" version = "6.0" description = "YAML parser and emitter for Python" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -4400,7 +4248,6 @@ files = [ name = "pyzmq" version = "25.1.0" description = "Python bindings for 0MQ" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -4490,7 +4337,6 @@ cffi = {version = "*", markers = "implementation_name == \"pypy\""} name = "qdrant-client" version = "1.2.0" description = "Client library for the Qdrant vector search engine" -category = "main" optional = false python-versions = ">=3.7,<3.12" files = [ @@ -4512,7 +4358,6 @@ urllib3 = ">=1.26.14,<2.0.0" name = "regex" version = "2023.5.5" description = "Alternative regular expression module, to replace re." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -4610,7 +4455,6 @@ files = [ name = "requests" version = "2.28.2" description = "Python HTTP for Humans." -category = "main" optional = false python-versions = ">=3.7, <4" files = [ @@ -4632,7 +4476,6 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] name = "rfc3986" version = "1.5.0" description = "Validating URI References per RFC 3986" -category = "main" optional = false python-versions = "*" files = [ @@ -4650,7 +4493,6 @@ idna2008 = ["idna"] name = "rich" version = "13.3.5" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" -category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -4669,7 +4511,6 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"] name = "rsa" version = "4.9" description = "Pure-Python RSA implementation" -category = "main" optional = false python-versions = ">=3.6,<4" files = [ @@ -4684,7 +4525,6 @@ pyasn1 = ">=0.1.3" name = "ruff" version = "0.0.254" description = "An extremely fast Python linter, written in Rust." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -4711,7 +4551,6 @@ files = [ name = "scikit-learn" version = "1.2.2" description = "A set of python modules for machine learning and data mining" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -4754,7 +4593,6 @@ tests = ["black (>=22.3.0)", "flake8 (>=3.8.2)", "matplotlib (>=3.1.3)", "mypy ( name = "scipy" version = "1.10.1" description = "Fundamental algorithms for scientific computing in Python" -category = "main" optional = false python-versions = "<3.12,>=3.8" files = [ @@ -4793,7 +4631,6 @@ test = ["asv", "gmpy2", "mpmath", "pooch", "pytest", "pytest-cov", "pytest-timeo name = "sentence-transformers" version = "2.2.2" description = "Multilingual text embeddings" -category = "main" optional = false python-versions = ">=3.6.0" files = [ @@ -4816,7 +4653,6 @@ transformers = ">=4.6.0,<5.0.0" name = "sentencepiece" version = "0.1.99" description = "SentencePiece python wrapper" -category = "main" optional = false python-versions = "*" files = [ @@ -4871,7 +4707,6 @@ files = [ name = "setuptools" version = "67.8.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4888,7 +4723,6 @@ testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs ( name = "six" version = "1.16.0" description = "Python 2 and 3 compatibility utilities" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -4900,7 +4734,6 @@ files = [ name = "sniffio" version = "1.3.0" description = "Sniff out which async library your code is running under" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4912,7 +4745,6 @@ files = [ name = "soupsieve" version = "2.4.1" description = "A modern CSS selector implementation for Beautiful Soup." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4924,7 +4756,6 @@ files = [ name = "sqlalchemy" version = "2.0.15" description = "Database Abstraction Library" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4972,7 +4803,7 @@ files = [ ] [package.dependencies] -greenlet = {version = "!=0.4.17", markers = "platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\""} +greenlet = {version = "!=0.4.17", markers = "platform_machine == \"win32\" or platform_machine == \"WIN32\" or platform_machine == \"AMD64\" or platform_machine == \"amd64\" or platform_machine == \"x86_64\" or platform_machine == \"ppc64le\" or platform_machine == \"aarch64\""} typing-extensions = ">=4.2.0" [package.extras] @@ -5002,7 +4833,6 @@ sqlcipher = ["sqlcipher3-binary"] name = "stack-data" version = "0.6.2" description = "Extract data from python stack frames and tracebacks for informative displays" -category = "dev" optional = false python-versions = "*" files = [ @@ -5022,7 +4852,6 @@ tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"] name = "starlette" version = "0.27.0" description = "The little ASGI library that shines." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5041,7 +4870,6 @@ full = ["httpx (>=0.22.0)", "itsdangerous", "jinja2", "python-multipart", "pyyam name = "sympy" version = "1.12" description = "Computer algebra system (CAS) in Python" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -5056,7 +4884,6 @@ mpmath = ">=0.19" name = "tenacity" version = "8.2.2" description = "Retry code until it succeeds" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -5071,7 +4898,6 @@ doc = ["reno", "sphinx", "tornado (>=4.5)"] name = "textual" version = "0.26.0" description = "Modern Text User Interface framework" -category = "main" optional = true python-versions = ">=3.7,<4.0" files = [ @@ -5092,7 +4918,6 @@ dev = ["aiohttp (>=3.8.1)", "click (>=8.1.2)", "msgpack (>=1.0.3)"] name = "threadpoolctl" version = "3.1.0" description = "threadpoolctl" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -5104,7 +4929,6 @@ files = [ name = "tiktoken" version = "0.3.3" description = "tiktoken is a fast BPE tokeniser for use with OpenAI's models" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -5150,7 +4974,6 @@ blobfile = ["blobfile (>=2)"] name = "tokenizers" version = "0.13.3" description = "Fast and Customizable Tokenizers" -category = "main" optional = false python-versions = "*" files = [ @@ -5205,7 +5028,6 @@ testing = ["black (==22.3)", "datasets", "numpy", "pytest", "requests"] name = "toml" version = "0.10.2" description = "Python Library for Tom's Obvious, Minimal Language" -category = "main" optional = true python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -5217,7 +5039,6 @@ files = [ name = "tomli" version = "2.0.1" description = "A lil' TOML parser" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -5229,7 +5050,6 @@ files = [ name = "torch" version = "2.0.1" description = "Tensors and Dynamic neural networks in Python with strong GPU acceleration" -category = "main" optional = false python-versions = ">=3.8.0" files = [ @@ -5269,7 +5089,6 @@ opt-einsum = ["opt-einsum (>=3.3)"] name = "torchvision" version = "0.15.2" description = "image and video datasets and models for torch deep learning" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -5297,7 +5116,7 @@ files = [ [package.dependencies] numpy = "*" -pillow = ">=5.3.0,<8.3.0 || >=8.4.0" +pillow = ">=5.3.0,<8.3.dev0 || >=8.4.dev0" requests = "*" torch = "2.0.1" @@ -5308,7 +5127,6 @@ scipy = ["scipy"] name = "tornado" version = "6.3.2" description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." -category = "dev" optional = false python-versions = ">= 3.8" files = [ @@ -5329,7 +5147,6 @@ files = [ name = "tqdm" version = "4.65.0" description = "Fast, Extensible Progress Meter" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5350,7 +5167,6 @@ telegram = ["requests"] name = "traitlets" version = "5.9.0" description = "Traitlets Python configuration system" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -5366,7 +5182,6 @@ test = ["argcomplete (>=2.0)", "pre-commit", "pytest", "pytest-mock"] name = "transformers" version = "4.29.0" description = "State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow" -category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -5434,7 +5249,6 @@ vision = ["Pillow"] name = "typer" version = "0.7.0" description = "Typer, build great CLIs. Easy to code. Based on Python type hints." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -5455,7 +5269,6 @@ test = ["black (>=22.3.0,<23.0.0)", "coverage (>=6.2,<7.0)", "isort (>=5.0.6,<6. name = "types-pillow" version = "9.5.0.4" description = "Typing stubs for Pillow" -category = "dev" optional = false python-versions = "*" files = [ @@ -5467,7 +5280,6 @@ files = [ name = "types-pytz" version = "2023.3.0.0" description = "Typing stubs for pytz" -category = "dev" optional = false python-versions = "*" files = [ @@ -5479,7 +5291,6 @@ files = [ name = "types-pyyaml" version = "6.0.12.10" description = "Typing stubs for PyYAML" -category = "main" optional = false python-versions = "*" files = [ @@ -5489,14 +5300,13 @@ files = [ [[package]] name = "types-requests" -version = "2.31.0.0" +version = "2.31.0.1" description = "Typing stubs for requests" -category = "dev" optional = false python-versions = "*" files = [ - {file = "types-requests-2.31.0.0.tar.gz", hash = "sha256:c1c29d20ab8d84dff468d7febfe8e0cb0b4664543221b386605e14672b44ea25"}, - {file = "types_requests-2.31.0.0-py3-none-any.whl", hash = "sha256:7c5cea7940f8e92ec560bbc468f65bf684aa3dcf0554a6f8c4710f5f708dc598"}, + {file = "types-requests-2.31.0.1.tar.gz", hash = "sha256:3de667cffa123ce698591de0ad7db034a5317457a596eb0b4944e5a9d9e8d1ac"}, + {file = "types_requests-2.31.0.1-py3-none-any.whl", hash = "sha256:afb06ef8f25ba83d59a1d424bd7a5a939082f94b94e90ab5e6116bd2559deaa3"}, ] [package.dependencies] @@ -5506,7 +5316,6 @@ types-urllib3 = "*" name = "types-urllib3" version = "1.26.25.13" description = "Typing stubs for urllib3" -category = "dev" optional = false python-versions = "*" files = [ @@ -5518,7 +5327,6 @@ files = [ name = "typing-extensions" version = "4.5.0" description = "Backported and Experimental Type Hints for Python 3.7+" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5528,14 +5336,13 @@ files = [ [[package]] name = "typing-inspect" -version = "0.9.0" +version = "0.8.0" description = "Runtime inspection utilities for typing module." -category = "main" optional = false python-versions = "*" files = [ - {file = "typing_inspect-0.9.0-py3-none-any.whl", hash = "sha256:9ee6fc59062311ef8547596ab6b955e1b8aa46242d854bfc78f4f6b0eff35f9f"}, - {file = "typing_inspect-0.9.0.tar.gz", hash = "sha256:b23fc42ff6f6ef6954e4852c1fb512cdd18dbea03134f91f856a95ccc9461f78"}, + {file = "typing_inspect-0.8.0-py3-none-any.whl", hash = "sha256:5fbf9c1e65d4fa01e701fe12a5bca6c6e08a4ffd5bc60bfac028253a447c5188"}, + {file = "typing_inspect-0.8.0.tar.gz", hash = "sha256:8b1ff0c400943b6145df8119c41c244ca8207f1f10c9c057aeed1560e4806e3d"}, ] [package.dependencies] @@ -5546,7 +5353,6 @@ typing-extensions = ">=3.7.4" name = "uc-micro-py" version = "1.0.2" description = "Micro subset of unicode data files for linkify-it-py projects." -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -5561,7 +5367,6 @@ test = ["coverage", "pytest", "pytest-cov"] name = "unstructured" version = "0.5.13" description = "A library that prepares raw documents for downstream ML tasks." -category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -5601,7 +5406,6 @@ wikipedia = ["wikipedia"] name = "uritemplate" version = "4.1.1" description = "Implementation of RFC 6570 URI Templates" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -5613,7 +5417,6 @@ files = [ name = "urllib3" version = "1.26.16" description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ @@ -5630,7 +5433,6 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] name = "uvicorn" version = "0.20.0" description = "The lightning-fast ASGI server." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5645,7 +5447,7 @@ h11 = ">=0.8" httptools = {version = ">=0.5.0", optional = true, markers = "extra == \"standard\""} python-dotenv = {version = ">=0.13", optional = true, markers = "extra == \"standard\""} pyyaml = {version = ">=5.1", optional = true, markers = "extra == \"standard\""} -uvloop = {version = ">=0.14.0,<0.15.0 || >0.15.0,<0.15.1 || >0.15.1", optional = true, markers = "sys_platform != \"win32\" and sys_platform != \"cygwin\" and platform_python_implementation != \"PyPy\" and extra == \"standard\""} +uvloop = {version = ">=0.14.0,<0.15.0 || >0.15.0,<0.15.1 || >0.15.1", optional = true, markers = "(sys_platform != \"win32\" and sys_platform != \"cygwin\") and platform_python_implementation != \"PyPy\" and extra == \"standard\""} watchfiles = {version = ">=0.13", optional = true, markers = "extra == \"standard\""} websockets = {version = ">=10.4", optional = true, markers = "extra == \"standard\""} @@ -5656,7 +5458,6 @@ standard = ["colorama (>=0.4)", "httptools (>=0.5.0)", "python-dotenv (>=0.13)", name = "uvloop" version = "0.17.0" description = "Fast implementation of asyncio event loop on top of libuv" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5701,7 +5502,6 @@ test = ["Cython (>=0.29.32,<0.30.0)", "aiohttp", "flake8 (>=3.9.2,<3.10.0)", "my name = "validators" version = "0.20.0" description = "Python Data Validation for Humansβ„’." -category = "main" optional = false python-versions = ">=3.4" files = [ @@ -5718,7 +5518,6 @@ test = ["flake8 (>=2.4.0)", "isort (>=4.2.2)", "pytest (>=2.2.3)"] name = "watchfiles" version = "0.19.0" description = "Simple, modern and high performance file watching and code reload in python." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5753,7 +5552,6 @@ anyio = ">=3.0.0" name = "wcwidth" version = "0.2.6" description = "Measures the displayed width of unicode strings in a terminal" -category = "dev" optional = false python-versions = "*" files = [ @@ -5765,7 +5563,6 @@ files = [ name = "weaviate-client" version = "3.19.2" description = "A python native weaviate client" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -5786,7 +5583,6 @@ grpc = ["grpcio", "grpcio-tools"] name = "websocket-client" version = "1.5.2" description = "WebSocket client for Python with low level API options" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5803,7 +5599,6 @@ test = ["websockets"] name = "websockets" version = "11.0.3" description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5883,7 +5678,6 @@ files = [ name = "wikipedia" version = "1.4.0" description = "Wikipedia API for Python" -category = "main" optional = false python-versions = "*" files = [ @@ -5898,7 +5692,6 @@ requests = ">=2.0.0,<3.0.0" name = "wrapt" version = "1.14.1" description = "Module for decorators, wrappers and monkey patching." -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" files = [ @@ -5972,7 +5765,6 @@ files = [ name = "xlsxwriter" version = "3.1.2" description = "A Python module for creating Excel XLSX files." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -5984,7 +5776,6 @@ files = [ name = "yarl" version = "1.9.2" description = "Yet another URL library" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -6072,7 +5863,6 @@ multidict = ">=4.0" name = "zipp" version = "3.15.0" description = "Backport of pathlib-compatible object wrapper for zip files" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -6088,7 +5878,6 @@ testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more name = "zstandard" version = "0.21.0" description = "Zstandard bindings for Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -6149,4 +5938,4 @@ deploy = ["langchain-serve"] [metadata] lock-version = "2.0" python-versions = ">=3.9,<3.12" -content-hash = "ae4852378416319ee45512e200759438615dc8a4e840369176234dd04ec2a3ec" \ No newline at end of file +content-hash = "6560026ff87dd44f900ee5a22caabd294ef20c2b2fbe51e06e418727927d8df2" From 35fd7dabbb2cb7d434bcf45292f5b4a575d7f8a8 Mon Sep 17 00:00:00 2001 From: Lucas Oliveira Date: Mon, 29 May 2023 17:14:08 -0300 Subject: [PATCH 10/69] Copy Paste bug fixed --- .../GenericNode/components/parameterComponent/index.tsx | 1 + src/frontend/src/components/inputComponent/index.tsx | 4 ++++ src/frontend/src/pages/FlowPage/index.tsx | 4 +--- src/frontend/src/types/components/index.ts | 1 + 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx b/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx index d582b2d5b..5668b5430 100644 --- a/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx +++ b/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx @@ -119,6 +119,7 @@ export default function ParameterComponent({ ) : ( { diff --git a/src/frontend/src/components/inputComponent/index.tsx b/src/frontend/src/components/inputComponent/index.tsx index c7047d494..15675d621 100644 --- a/src/frontend/src/components/inputComponent/index.tsx +++ b/src/frontend/src/components/inputComponent/index.tsx @@ -6,11 +6,13 @@ import { TabsContext } from "../../contexts/tabsContext"; export default function InputComponent({ value, onChange, + disableCopyPaste = false, disabled, password, }: InputComponentType) { const [myValue, setMyValue] = useState(value ?? ""); const [pwdVisible, setPwdVisible] = useState(false); + const {setDisableCopyPaste} = useContext(TabsContext); useEffect(() => { if (disabled) { setMyValue(""); @@ -27,6 +29,8 @@ export default function InputComponent({ > {if(disableCopyPaste) setDisableCopyPaste(true)}} + onBlur={() => {if(disableCopyPaste) setDisableCopyPaste(false)}} className={classNames( "block w-full pr-12 form-input dark:bg-gray-900 dark:border-gray-600 rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm", disabled ? " bg-gray-200 dark:bg-gray-700" : "", diff --git a/src/frontend/src/pages/FlowPage/index.tsx b/src/frontend/src/pages/FlowPage/index.tsx index 213b79ab4..91c853f9b 100644 --- a/src/frontend/src/pages/FlowPage/index.tsx +++ b/src/frontend/src/pages/FlowPage/index.tsx @@ -317,10 +317,8 @@ export default function FlowPage({ flow }: { flow: FlowType }) { onPaneClick={() => { setDisableCopyPaste(false); }} - onNodeClick={() => { - setDisableCopyPaste(true); - }} onPaneMouseLeave={() => { + console.log("saiu o mouse") setDisableCopyPaste(true); }} onNodesChange={onNodesChange} diff --git a/src/frontend/src/types/components/index.ts b/src/frontend/src/types/components/index.ts index e5fc986e8..e660e1c4d 100644 --- a/src/frontend/src/types/components/index.ts +++ b/src/frontend/src/types/components/index.ts @@ -10,6 +10,7 @@ export type InputComponentType = { disabled?: boolean; onChange: (value: string) => void; password: boolean; + disableCopyPaste?: boolean; }; export type ToggleComponentType = { enabled: boolean; From c05056c34d2c5cc9e0196144f3294e816e536d2f Mon Sep 17 00:00:00 2001 From: anovazzi1 Date: Mon, 29 May 2023 18:21:54 -0300 Subject: [PATCH 11/69] added code deleted by mistake that update base classes --- .../src/components/inputComponent/index.tsx | 10 +++++--- src/frontend/src/contexts/tabsContext.tsx | 25 +++++++++++++++++++ src/frontend/src/pages/FlowPage/index.tsx | 2 +- 3 files changed, 33 insertions(+), 4 deletions(-) diff --git a/src/frontend/src/components/inputComponent/index.tsx b/src/frontend/src/components/inputComponent/index.tsx index 15675d621..5430795e9 100644 --- a/src/frontend/src/components/inputComponent/index.tsx +++ b/src/frontend/src/components/inputComponent/index.tsx @@ -12,7 +12,7 @@ export default function InputComponent({ }: InputComponentType) { const [myValue, setMyValue] = useState(value ?? ""); const [pwdVisible, setPwdVisible] = useState(false); - const {setDisableCopyPaste} = useContext(TabsContext); + const { setDisableCopyPaste } = useContext(TabsContext); useEffect(() => { if (disabled) { setMyValue(""); @@ -29,8 +29,12 @@ export default function InputComponent({ > {if(disableCopyPaste) setDisableCopyPaste(true)}} - onBlur={() => {if(disableCopyPaste) setDisableCopyPaste(false)}} + onFocus={() => { + if (disableCopyPaste) setDisableCopyPaste(true); + }} + onBlur={() => { + if (disableCopyPaste) setDisableCopyPaste(false); + }} className={classNames( "block w-full pr-12 form-input dark:bg-gray-900 dark:border-gray-600 rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm", disabled ? " bg-gray-200 dark:bg-gray-700" : "", diff --git a/src/frontend/src/contexts/tabsContext.tsx b/src/frontend/src/contexts/tabsContext.tsx index 0c69a6931..a373ad9a7 100644 --- a/src/frontend/src/contexts/tabsContext.tsx +++ b/src/frontend/src/contexts/tabsContext.tsx @@ -87,6 +87,19 @@ export function TabsProvider({ children }: { children: ReactNode }) { cookieObject.flows.forEach((flow) => { flow.data.nodes.forEach((node) => { if (Object.keys(templates[node.data.type]["template"]).length > 0) { + node.data.node.base_classes = + templates[node.data.type]["base_classes"]; + flow.data.edges.forEach((edge) => { + if (edge.source === node.id) { + edge.sourceHandle = edge.sourceHandle + .split("|") + .slice(0, 2) + .concat(templates[node.data.type]["base_classes"]) + .join("|"); + } + }); + node.data.node.description = + templates[node.data.type]["description"]; node.data.node.template = updateTemplate( templates[node.data.type][ "template" @@ -276,6 +289,18 @@ export function TabsProvider({ children }: { children: ReactNode }) { if (data) { data.nodes.forEach((node) => { if (Object.keys(templates[node.data.type]["template"]).length > 0) { + node.data.node.base_classes = + templates[node.data.type]["base_classes"]; + flow.data.edges.forEach((edge) => { + if (edge.source === node.id) { + edge.sourceHandle = edge.sourceHandle + .split("|") + .slice(0, 2) + .concat(templates[node.data.type]["base_classes"]) + .join("|"); + } + }); + node.data.node.description = templates[node.data.type]["description"]; node.data.node.template = updateTemplate( templates[node.data.type]["template"] as unknown as APITemplateType, node.data.node.template as APITemplateType diff --git a/src/frontend/src/pages/FlowPage/index.tsx b/src/frontend/src/pages/FlowPage/index.tsx index 91c853f9b..f1a1f3b74 100644 --- a/src/frontend/src/pages/FlowPage/index.tsx +++ b/src/frontend/src/pages/FlowPage/index.tsx @@ -318,7 +318,7 @@ export default function FlowPage({ flow }: { flow: FlowType }) { setDisableCopyPaste(false); }} onPaneMouseLeave={() => { - console.log("saiu o mouse") + console.log("saiu o mouse"); setDisableCopyPaste(true); }} onNodesChange={onNodesChange} From 3a344125854eb0d0c7808e25e9f624df2cd7aab4 Mon Sep 17 00:00:00 2001 From: anovazzi1 Date: Mon, 29 May 2023 18:24:54 -0300 Subject: [PATCH 12/69] update utils with updateIds function --- src/frontend/src/utils.ts | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/frontend/src/utils.ts b/src/frontend/src/utils.ts index 5084d1076..2c2732962 100644 --- a/src/frontend/src/utils.ts +++ b/src/frontend/src/utils.ts @@ -20,6 +20,7 @@ import { Connection, Edge, Node, ReactFlowInstance } from "reactflow"; import { FlowType } from "./types/flow"; import { APITemplateType, TemplateVariableType } from "./types/api"; import _ from "lodash"; +import { v4 as uuidv4 } from "uuid"; export function classNames(...classes: Array) { return classes.filter(Boolean).join(" "); @@ -534,3 +535,27 @@ export function checkUpperWords(str: string) { return words.join(" "); } + +export function updateIds(newFLow: FlowType, baseFlow: FlowType) { + newFLow.data.nodes.forEach((node) => { + while (baseFlow.data.nodes.some((n) => n.id === node.id)) { + const newId = uuidv4(); + newFLow.data.edges.forEach((edge) => { + if (edge.source === node.id) { + edge.source = newId; + } + if (edge.target === node.id) { + edge.target = newId; + } + const index = edge.id.split("|").findIndex((e) => e === node.id); + if (index != -1) { + let tempList = edge.id.split("|"); + tempList[index] = newId; + edge.id = tempList.concat(newId).join("|"); + } + node.id = newId; + }); + } + }); + return newFLow; +} From a33a4f418cc39778066b245df1eb2ace1dd8686a Mon Sep 17 00:00:00 2001 From: Cristhian Zanforlin Lousa Date: Mon, 29 May 2023 18:25:10 -0300 Subject: [PATCH 13/69] Adding scrollbar on overflow itens modal --- .../src/components/inputComponent/index.tsx | 10 ++++--- .../NodeModal/components/ModalField/index.tsx | 22 ++++++++++++++-- src/frontend/src/modals/NodeModal/index.tsx | 26 ++++++++++++++++--- src/frontend/src/pages/FlowPage/index.tsx | 2 +- src/frontend/src/utils.ts | 2 ++ 5 files changed, 53 insertions(+), 9 deletions(-) diff --git a/src/frontend/src/components/inputComponent/index.tsx b/src/frontend/src/components/inputComponent/index.tsx index 15675d621..5430795e9 100644 --- a/src/frontend/src/components/inputComponent/index.tsx +++ b/src/frontend/src/components/inputComponent/index.tsx @@ -12,7 +12,7 @@ export default function InputComponent({ }: InputComponentType) { const [myValue, setMyValue] = useState(value ?? ""); const [pwdVisible, setPwdVisible] = useState(false); - const {setDisableCopyPaste} = useContext(TabsContext); + const { setDisableCopyPaste } = useContext(TabsContext); useEffect(() => { if (disabled) { setMyValue(""); @@ -29,8 +29,12 @@ export default function InputComponent({ > {if(disableCopyPaste) setDisableCopyPaste(true)}} - onBlur={() => {if(disableCopyPaste) setDisableCopyPaste(false)}} + onFocus={() => { + if (disableCopyPaste) setDisableCopyPaste(true); + }} + onBlur={() => { + if (disableCopyPaste) setDisableCopyPaste(false); + }} className={classNames( "block w-full pr-12 form-input dark:bg-gray-900 dark:border-gray-600 rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm", disabled ? " bg-gray-200 dark:bg-gray-700" : "", diff --git a/src/frontend/src/modals/NodeModal/components/ModalField/index.tsx b/src/frontend/src/modals/NodeModal/components/ModalField/index.tsx index 0c19b9611..0890b25a1 100644 --- a/src/frontend/src/modals/NodeModal/components/ModalField/index.tsx +++ b/src/frontend/src/modals/NodeModal/components/ModalField/index.tsx @@ -12,7 +12,15 @@ import PromptAreaComponent from "../../../../components/promptComponent"; import CodeAreaComponent from "../../../../components/codeAreaComponent"; import { classNames } from "../../../../utils"; -export default function ModalField({ data, title, required, id, name, type }) { +export default function ModalField({ + data, + title, + required, + id, + name, + type, + index, +}) { const { save } = useContext(TabsContext); const [enabled, setEnabled] = useState( data.node.template[name]?.value ?? false @@ -30,7 +38,17 @@ export default function ModalField({ data, title, required, id, name, type }) {
+ t.charAt(0) !== "_" && + data.node.template[t].advanced && + data.node.template[t].show + ).length - + 1 === + index + ? "pb-4" + : "" )} > {display && ( diff --git a/src/frontend/src/modals/NodeModal/index.tsx b/src/frontend/src/modals/NodeModal/index.tsx index 57c5a56e3..b44dd5bf3 100644 --- a/src/frontend/src/modals/NodeModal/index.tsx +++ b/src/frontend/src/modals/NodeModal/index.tsx @@ -3,7 +3,14 @@ import { XMarkIcon } from "@heroicons/react/24/outline"; import { Fragment, useContext, useRef, useState } from "react"; import { PopUpContext } from "../../contexts/popUpContext"; import { NodeDataType } from "../../types/flow"; -import { nodeColors, nodeIcons, toNormalCase, toTitleCase } from "../../utils"; +import { + classNames, + limitScrollFieldsModal, + nodeColors, + nodeIcons, + toNormalCase, + toTitleCase, +} from "../../utils"; import { typesContext } from "../../contexts/typesContext"; import ModalField from "./components/ModalField"; @@ -84,8 +91,20 @@ export default function NodeModal({ data }: { data: NodeDataType }) {
-
-
+
+
+ t.charAt(0) !== "_" && + data.node.template[t].advanced && + data.node.template[t].show + ).length > limitScrollFieldsModal + ? "overflow-scroll overflow-x-hidden custom-scroll" + : "overflow-hidden" + )} + >
{Object.keys(data.node.template) .filter( @@ -116,6 +135,7 @@ export default function NodeModal({ data }: { data: NodeDataType }) { } name={t} type={data.node.template[t].type} + index={idx} /> ); })} diff --git a/src/frontend/src/pages/FlowPage/index.tsx b/src/frontend/src/pages/FlowPage/index.tsx index 91c853f9b..f1a1f3b74 100644 --- a/src/frontend/src/pages/FlowPage/index.tsx +++ b/src/frontend/src/pages/FlowPage/index.tsx @@ -318,7 +318,7 @@ export default function FlowPage({ flow }: { flow: FlowType }) { setDisableCopyPaste(false); }} onPaneMouseLeave={() => { - console.log("saiu o mouse") + console.log("saiu o mouse"); setDisableCopyPaste(true); }} onNodesChange={onNodesChange} diff --git a/src/frontend/src/utils.ts b/src/frontend/src/utils.ts index 5084d1076..d8595b080 100644 --- a/src/frontend/src/utils.ts +++ b/src/frontend/src/utils.ts @@ -25,6 +25,8 @@ export function classNames(...classes: Array) { return classes.filter(Boolean).join(" "); } +export const limitScrollFieldsModal = 7; + export enum TypeModal { TEXT = 1, PROMPT = 2, From 46959acaa95dec3f5bade648eacc0124f723d469 Mon Sep 17 00:00:00 2001 From: Gabriel Almeida Date: Mon, 29 May 2023 18:52:47 -0300 Subject: [PATCH 14/69] =?UTF-8?q?=F0=9F=94=A8=20refactor(prompts.py):=20sw?= =?UTF-8?q?ap=20suffix=20and=20format=5Finstructions=20fields=20?= =?UTF-8?q?=F0=9F=94=A8=20refactor(util.py):=20add=20format=5Finstructions?= =?UTF-8?q?=20to=20the=20list=20of=20fields=20to=20format=20in=20format=5F?= =?UTF-8?q?dict=20function=20The=20suffix=20and=20format=5Finstructions=20?= =?UTF-8?q?fields=20in=20the=20ZeroShotPromptNode=20class=20were=20swapped?= =?UTF-8?q?=20to=20improve=20the=20readability=20of=20the=20code.=20The=20?= =?UTF-8?q?format=5Finstructions=20field=20is=20now=20above=20the=20suffix?= =?UTF-8?q?=20field,=20which=20makes=20more=20sense=20as=20it=20is=20a=20r?= =?UTF-8?q?equired=20field.=20In=20the=20util.py=20file,=20the=20format=5F?= =?UTF-8?q?instructions=20field=20was=20added=20to=20the=20list=20of=20fie?= =?UTF-8?q?lds=20to=20format=20in=20the=20format=5Fdict=20function.=20This?= =?UTF-8?q?=20ensures=20that=20the=20format=5Finstructions=20field=20is=20?= =?UTF-8?q?properly=20formatted=20when=20the=20function=20is=20called.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../langflow/template/frontend_node/prompts.py | 14 +++++++++----- src/backend/langflow/utils/util.py | 1 + 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/backend/langflow/template/frontend_node/prompts.py b/src/backend/langflow/template/frontend_node/prompts.py index 830623a7e..7d7b1cde2 100644 --- a/src/backend/langflow/template/frontend_node/prompts.py +++ b/src/backend/langflow/template/frontend_node/prompts.py @@ -89,18 +89,18 @@ class ZeroShotPromptNode(BasePromptFrontendNode): is_list=False, show=True, multiline=True, - value=prompt.SUFFIX, - name="suffix", + value=prompt.FORMAT_INSTRUCTIONS, + name="format_instructions", ), TemplateField( field_type="str", - required=False, + required=True, placeholder="", is_list=False, show=True, multiline=True, - value=prompt.FORMAT_INSTRUCTIONS, - name="format_instructions", + value=prompt.SUFFIX, + name="suffix", ), ], ) @@ -109,3 +109,7 @@ class ZeroShotPromptNode(BasePromptFrontendNode): def to_dict(self): return super().to_dict() + + @staticmethod + def format_field(field: TemplateField, name: Optional[str] = None) -> None: + PromptFrontendNode.format_field(field, name) diff --git a/src/backend/langflow/utils/util.py b/src/backend/langflow/utils/util.py index af49856d7..0c9a18335 100644 --- a/src/backend/langflow/utils/util.py +++ b/src/backend/langflow/utils/util.py @@ -273,6 +273,7 @@ def format_dict(d, name: Optional[str] = None): "examples", "code", "headers", + "format_instructions", ] # Replace dict type with str From c05b94e4e90e4ece9be16b4f2f54202697448fdd Mon Sep 17 00:00:00 2001 From: Gabriel Almeida Date: Mon, 29 May 2023 18:57:56 -0300 Subject: [PATCH 15/69] =?UTF-8?q?=F0=9F=9A=80=20feat(test=5Fprompts=5Ftemp?= =?UTF-8?q?late.py):=20change=20type=20of=20"suffix"=20and=20"prefix"=20fi?= =?UTF-8?q?elds=20to=20"prompt"=20and=20update=20"format=5Finstructions"?= =?UTF-8?q?=20field=20The=20"suffix"=20and=20"prefix"=20fields=20have=20be?= =?UTF-8?q?en=20changed=20from=20type=20"str"=20to=20"prompt"=20to=20allow?= =?UTF-8?q?=20for=20more=20flexibility=20in=20the=20input.=20The=20"format?= =?UTF-8?q?=5Finstructions"=20field=20has=20been=20updated=20to=20be=20req?= =?UTF-8?q?uired=20and=20multiline,=20and=20to=20show=20the=20instructions?= =?UTF-8?q?=20by=20default.=20This=20change=20will=20make=20it=20easier=20?= =?UTF-8?q?for=20users=20to=20understand=20the=20expected=20input=20format?= =?UTF-8?q?.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/test_prompts_template.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/test_prompts_template.py b/tests/test_prompts_template.py index 1fe6f3775..83da2f14d 100644 --- a/tests/test_prompts_template.py +++ b/tests/test_prompts_template.py @@ -182,7 +182,7 @@ def test_zero_shot_prompt(client: TestClient): "value": "Answer the following questions as best you can. You have access to the following tools:", # noqa: E501 "password": False, "name": "prefix", - "type": "str", + "type": "prompt", "list": False, "advanced": False, } @@ -194,19 +194,19 @@ def test_zero_shot_prompt(client: TestClient): "value": "Begin!\n\nQuestion: {input}\nThought:{agent_scratchpad}", "password": False, "name": "suffix", - "type": "str", + "type": "prompt", "list": False, "advanced": False, } assert template["format_instructions"] == { - "required": False, + "required": True, "placeholder": "", - "show": False, - "multiline": False, + "show": True, + "multiline": True, "value": "Use the following format:\n\nQuestion: the input question you must answer\nThought: you should always think about what to do\nAction: the action to take, should be one of [{tool_names}]\nAction Input: the input to the action\nObservation: the result of the action\n... (this Thought/Action/Action Input/Observation can repeat N times)\nThought: I now know the final answer\nFinal Answer: the final answer to the original input question", # noqa: E501 "password": False, "name": "format_instructions", - "type": "str", + "type": "prompt", "list": False, "advanced": False, } From cc21fb66a7cf5d06361ab615344f698e6eff11d6 Mon Sep 17 00:00:00 2001 From: Lucas Oliveira Date: Mon, 29 May 2023 19:20:47 -0300 Subject: [PATCH 16/69] Import flows nodes id fixed --- src/frontend/src/contexts/tabsContext.tsx | 9 ++-- src/frontend/src/pages/FlowPage/index.tsx | 1 - src/frontend/src/utils.ts | 57 ++++++++++++++--------- 3 files changed, 38 insertions(+), 29 deletions(-) diff --git a/src/frontend/src/contexts/tabsContext.tsx b/src/frontend/src/contexts/tabsContext.tsx index a373ad9a7..f41682b38 100644 --- a/src/frontend/src/contexts/tabsContext.tsx +++ b/src/frontend/src/contexts/tabsContext.tsx @@ -8,7 +8,7 @@ import { } from "react"; import { FlowType, NodeType } from "../types/flow"; import { LangFlowState, TabsContextType } from "../types/tabs"; -import { normalCaseToSnakeCase, updateObject, updateTemplate } from "../utils"; +import { normalCaseToSnakeCase, updateIds, updateObject, updateTemplate } from "../utils"; import { alertContext } from "./alertContext"; import { typesContext } from "./typesContext"; import { APITemplateType, TemplateVariableType } from "../types/api"; @@ -58,11 +58,8 @@ export function TabsProvider({ children }: { children: ReactNode }) { Saveflows.forEach((flow) => { if (flow.data && flow.data?.nodes) flow.data?.nodes.forEach((node) => { - console.log(node.data.type); Object.keys(node.data.node.template).forEach((key) => { - console.log(node.data.node.template[key].type); if (node.data.node.template[key].type === "file") { - console.log(node.data.node.template[key]); // ! Commenting this out for now, as it is causing issues with the file upload // node.data.node.template[key].content = ""; } @@ -283,7 +280,8 @@ export function TabsProvider({ children }: { children: ReactNode }) { function addFlow(flow?: FlowType) { // Get data from the flow or set it to null if there's no flow provided. - const data = flow?.data ? flow.data : null; + + let data = flow?.data ? flow.data : null; const description = flow?.description ? flow.description : ""; if (data) { @@ -307,6 +305,7 @@ export function TabsProvider({ children }: { children: ReactNode }) { ); } }); + updateIds(data, getNodeId); } // Create a new flow with a default name if no flow is provided. let newFlow: FlowType = { diff --git a/src/frontend/src/pages/FlowPage/index.tsx b/src/frontend/src/pages/FlowPage/index.tsx index f1a1f3b74..d8112410d 100644 --- a/src/frontend/src/pages/FlowPage/index.tsx +++ b/src/frontend/src/pages/FlowPage/index.tsx @@ -318,7 +318,6 @@ export default function FlowPage({ flow }: { flow: FlowType }) { setDisableCopyPaste(false); }} onPaneMouseLeave={() => { - console.log("saiu o mouse"); setDisableCopyPaste(true); }} onNodesChange={onNodesChange} diff --git a/src/frontend/src/utils.ts b/src/frontend/src/utils.ts index 2c2732962..9b7e32a92 100644 --- a/src/frontend/src/utils.ts +++ b/src/frontend/src/utils.ts @@ -16,8 +16,8 @@ import { CircleStackIcon, Squares2X2Icon, } from "@heroicons/react/24/outline"; -import { Connection, Edge, Node, ReactFlowInstance } from "reactflow"; -import { FlowType } from "./types/flow"; +import { Connection, Edge, Node, ReactFlowInstance, addEdge } from "reactflow"; +import { FlowType, NodeType } from "./types/flow"; import { APITemplateType, TemplateVariableType } from "./types/api"; import _ from "lodash"; import { v4 as uuidv4 } from "uuid"; @@ -536,26 +536,37 @@ export function checkUpperWords(str: string) { return words.join(" "); } -export function updateIds(newFLow: FlowType, baseFlow: FlowType) { - newFLow.data.nodes.forEach((node) => { - while (baseFlow.data.nodes.some((n) => n.id === node.id)) { - const newId = uuidv4(); - newFLow.data.edges.forEach((edge) => { - if (edge.source === node.id) { - edge.source = newId; - } - if (edge.target === node.id) { - edge.target = newId; - } - const index = edge.id.split("|").findIndex((e) => e === node.id); - if (index != -1) { - let tempList = edge.id.split("|"); - tempList[index] = newId; - edge.id = tempList.concat(newId).join("|"); - } - node.id = newId; - }); - } +export function updateIds(newFlow, getNodeId) { + let idsMap = {}; + + newFlow.nodes.forEach((n) => { + // Generate a unique node ID + let newId = getNodeId(); + idsMap[n.id] = newId; + n.id = newId; + n.data.id = newId; + // Add the new node to the list of nodes in state + }); + + newFlow.edges.forEach((e) => { + e.source = idsMap[e.source]; + e.target = idsMap[e.target]; + let sourceHandleSplitted = e.sourceHandle.split("|"); + e.sourceHandle = + sourceHandleSplitted[0] + + "|" + + e.source + + "|" + + sourceHandleSplitted.slice(2).join("|"); + let targetHandleSplitted = e.targetHandle.split("|"); + e.targetHandle = + targetHandleSplitted.slice(0, -1).join("|") + "|" + e.target; + e.id = + "reactflow__edge-" + + e.source + + e.sourceHandle + + "-" + + e.target + + e.targetHandle; }); - return newFLow; } From 19d54458130cb1557b2f21bd4d700825f5e74d74 Mon Sep 17 00:00:00 2001 From: anovazzi1 Date: Mon, 29 May 2023 19:22:59 -0300 Subject: [PATCH 17/69] remove classname from edges on import --- src/frontend/src/contexts/tabsContext.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/frontend/src/contexts/tabsContext.tsx b/src/frontend/src/contexts/tabsContext.tsx index a373ad9a7..8be0a7c69 100644 --- a/src/frontend/src/contexts/tabsContext.tsx +++ b/src/frontend/src/contexts/tabsContext.tsx @@ -85,6 +85,7 @@ export function TabsProvider({ children }: { children: ReactNode }) { if (cookie && Object.keys(templates).length > 0) { let cookieObject: LangFlowState = JSON.parse(cookie); cookieObject.flows.forEach((flow) => { + flow.data.edges.forEach((edge) => {edge.className = "";}) flow.data.nodes.forEach((node) => { if (Object.keys(templates[node.data.type]["template"]).length > 0) { node.data.node.base_classes = @@ -285,8 +286,8 @@ export function TabsProvider({ children }: { children: ReactNode }) { // Get data from the flow or set it to null if there's no flow provided. const data = flow?.data ? flow.data : null; const description = flow?.description ? flow.description : ""; - if (data) { + data.edges.forEach((edge) => {edge.className = "";}) data.nodes.forEach((node) => { if (Object.keys(templates[node.data.type]["template"]).length > 0) { node.data.node.base_classes = From 2ba5678a1c514fe411a95c99ac4d8bbdafc09270 Mon Sep 17 00:00:00 2001 From: anovazzi1 Date: Mon, 29 May 2023 19:23:24 -0300 Subject: [PATCH 18/69] remove classname from edges on import --- src/frontend/src/contexts/tabsContext.tsx | 8 +++-- src/frontend/src/icons/ChromaIcon/index.tsx | 4 +-- src/frontend/src/utils.ts | 34 ++++++++++----------- 3 files changed, 24 insertions(+), 22 deletions(-) diff --git a/src/frontend/src/contexts/tabsContext.tsx b/src/frontend/src/contexts/tabsContext.tsx index 8be0a7c69..a1d3eda7c 100644 --- a/src/frontend/src/contexts/tabsContext.tsx +++ b/src/frontend/src/contexts/tabsContext.tsx @@ -85,7 +85,9 @@ export function TabsProvider({ children }: { children: ReactNode }) { if (cookie && Object.keys(templates).length > 0) { let cookieObject: LangFlowState = JSON.parse(cookie); cookieObject.flows.forEach((flow) => { - flow.data.edges.forEach((edge) => {edge.className = "";}) + flow.data.edges.forEach((edge) => { + edge.className = ""; + }); flow.data.nodes.forEach((node) => { if (Object.keys(templates[node.data.type]["template"]).length > 0) { node.data.node.base_classes = @@ -287,7 +289,9 @@ export function TabsProvider({ children }: { children: ReactNode }) { const data = flow?.data ? flow.data : null; const description = flow?.description ? flow.description : ""; if (data) { - data.edges.forEach((edge) => {edge.className = "";}) + data.edges.forEach((edge) => { + edge.className = ""; + }); data.nodes.forEach((node) => { if (Object.keys(templates[node.data.type]["template"]).length > 0) { node.data.node.base_classes = diff --git a/src/frontend/src/icons/ChromaIcon/index.tsx b/src/frontend/src/icons/ChromaIcon/index.tsx index 045108535..2e4790edc 100644 --- a/src/frontend/src/icons/ChromaIcon/index.tsx +++ b/src/frontend/src/icons/ChromaIcon/index.tsx @@ -3,9 +3,7 @@ import { ReactComponent as ChromaSVG } from "./chroma.svg"; const ChromaIcon = forwardRef>( (props, ref) => { - return ( - - ); + return ; } ); diff --git a/src/frontend/src/utils.ts b/src/frontend/src/utils.ts index 0d5590ddd..12a2b5805 100644 --- a/src/frontend/src/utils.ts +++ b/src/frontend/src/utils.ts @@ -124,23 +124,23 @@ export const nodeIcons: { React.SVGProps >; } = { - Chroma: ChromaIcon, - agents: RocketLaunchIcon, - chains: LinkIcon, - memories: CpuChipIcon, - llms: LightBulbIcon, - prompts: CommandLineIcon, - tools: WrenchIcon, - advanced: ComputerDesktopIcon, - chat: Bars3CenterLeftIcon, - embeddings: FingerPrintIcon, - documentloaders: PaperClipIcon, - vectorstores: CircleStackIcon, - toolkits: WrenchScrewdriverIcon, - textsplitters: ScissorsIcon, - wrappers: GiftIcon, - utilities: Squares2X2Icon, - unknown: QuestionMarkCircleIcon, + Chroma: ChromaIcon, + agents: RocketLaunchIcon, + chains: LinkIcon, + memories: CpuChipIcon, + llms: LightBulbIcon, + prompts: CommandLineIcon, + tools: WrenchIcon, + advanced: ComputerDesktopIcon, + chat: Bars3CenterLeftIcon, + embeddings: FingerPrintIcon, + documentloaders: PaperClipIcon, + vectorstores: CircleStackIcon, + toolkits: WrenchScrewdriverIcon, + textsplitters: ScissorsIcon, + wrappers: GiftIcon, + utilities: Squares2X2Icon, + unknown: QuestionMarkCircleIcon, }; export const bgColors = { From f9cee9965235484d5feeaf62f0d5f3da194d466e Mon Sep 17 00:00:00 2001 From: Lucas Oliveira Date: Mon, 29 May 2023 19:26:21 -0300 Subject: [PATCH 19/69] Fixed dark mode on input components --- src/frontend/src/components/floatComponent/index.tsx | 2 +- src/frontend/src/components/inputComponent/index.tsx | 2 +- src/frontend/src/components/intComponent/index.tsx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/frontend/src/components/floatComponent/index.tsx b/src/frontend/src/components/floatComponent/index.tsx index f3678b0c1..afef83b0f 100644 --- a/src/frontend/src/components/floatComponent/index.tsx +++ b/src/frontend/src/components/floatComponent/index.tsx @@ -20,7 +20,7 @@ export default function FloatComponent({ type="number" value={myValue} className={ - "block w-full form-input dark:bg-gray-900 arrow-hide dark:border-gray-600 rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm" + + "block w-full form-input dark:bg-gray-900 arrow-hide dark:text-gray-300 dark:border-gray-600 rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm" + (disabled ? " bg-gray-200 dark:bg-gray-700" : "") } placeholder="Type a number from zero to one" diff --git a/src/frontend/src/components/inputComponent/index.tsx b/src/frontend/src/components/inputComponent/index.tsx index 5430795e9..69b442b3c 100644 --- a/src/frontend/src/components/inputComponent/index.tsx +++ b/src/frontend/src/components/inputComponent/index.tsx @@ -36,7 +36,7 @@ export default function InputComponent({ if (disableCopyPaste) setDisableCopyPaste(false); }} className={classNames( - "block w-full pr-12 form-input dark:bg-gray-900 dark:border-gray-600 rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm", + "block w-full pr-12 form-input dark:bg-gray-900 dark:text-gray-300 dark:border-gray-600 rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm", disabled ? " bg-gray-200 dark:bg-gray-700" : "", password && !pwdVisible && myValue !== "" ? "password" : "" )} diff --git a/src/frontend/src/components/intComponent/index.tsx b/src/frontend/src/components/intComponent/index.tsx index 80f687924..29cb81866 100644 --- a/src/frontend/src/components/intComponent/index.tsx +++ b/src/frontend/src/components/intComponent/index.tsx @@ -36,7 +36,7 @@ export default function IntComponent({ type="number" value={myValue} className={ - "block w-full form-input dark:bg-gray-900 arrow-hide dark:border-gray-600 rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm" + + "block w-full form-input dark:bg-gray-900 arrow-hide dark:border-gray-600 dark:text-gray-300 rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 sm:text-sm" + (disabled ? " bg-gray-200 dark:bg-gray-700" : "") } placeholder="Type a integer number" From b1ad21626a5e4a844045b7ae1cb02751acbe3c03 Mon Sep 17 00:00:00 2001 From: anovazzi1 Date: Mon, 29 May 2023 19:28:26 -0300 Subject: [PATCH 20/69] edges with the right color --- src/frontend/src/contexts/tabsContext.tsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/frontend/src/contexts/tabsContext.tsx b/src/frontend/src/contexts/tabsContext.tsx index a76e5fad7..1b13adb7f 100644 --- a/src/frontend/src/contexts/tabsContext.tsx +++ b/src/frontend/src/contexts/tabsContext.tsx @@ -84,6 +84,8 @@ export function TabsProvider({ children }: { children: ReactNode }) { cookieObject.flows.forEach((flow) => { flow.data.edges.forEach((edge) => { edge.className = ""; + edge.style={stroke: "#222222" } + }); flow.data.nodes.forEach((node) => { if (Object.keys(templates[node.data.type]["template"]).length > 0) { @@ -289,6 +291,7 @@ export function TabsProvider({ children }: { children: ReactNode }) { if (data) { data.edges.forEach((edge) => { edge.className = ""; + edge.style={stroke: "#222222" } }); data.nodes.forEach((node) => { if (Object.keys(templates[node.data.type]["template"]).length > 0) { From 254ed68eaaed7c7e0a7f99e07b04807a2f70b303 Mon Sep 17 00:00:00 2001 From: anovazzi1 Date: Mon, 29 May 2023 19:28:32 -0300 Subject: [PATCH 21/69] edges with the right color --- src/frontend/src/contexts/tabsContext.tsx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/frontend/src/contexts/tabsContext.tsx b/src/frontend/src/contexts/tabsContext.tsx index 1b13adb7f..480a154f8 100644 --- a/src/frontend/src/contexts/tabsContext.tsx +++ b/src/frontend/src/contexts/tabsContext.tsx @@ -8,7 +8,12 @@ import { } from "react"; import { FlowType, NodeType } from "../types/flow"; import { LangFlowState, TabsContextType } from "../types/tabs"; -import { normalCaseToSnakeCase, updateIds, updateObject, updateTemplate } from "../utils"; +import { + normalCaseToSnakeCase, + updateIds, + updateObject, + updateTemplate, +} from "../utils"; import { alertContext } from "./alertContext"; import { typesContext } from "./typesContext"; import { APITemplateType, TemplateVariableType } from "../types/api"; @@ -84,8 +89,7 @@ export function TabsProvider({ children }: { children: ReactNode }) { cookieObject.flows.forEach((flow) => { flow.data.edges.forEach((edge) => { edge.className = ""; - edge.style={stroke: "#222222" } - + edge.style = { stroke: "#222222" }; }); flow.data.nodes.forEach((node) => { if (Object.keys(templates[node.data.type]["template"]).length > 0) { @@ -291,7 +295,7 @@ export function TabsProvider({ children }: { children: ReactNode }) { if (data) { data.edges.forEach((edge) => { edge.className = ""; - edge.style={stroke: "#222222" } + edge.style = { stroke: "#222222" }; }); data.nodes.forEach((node) => { if (Object.keys(templates[node.data.type]["template"]).length > 0) { From 6f984ca77fc1b6d418f4a4824f2ceca500bf6ebd Mon Sep 17 00:00:00 2001 From: Lucas Oliveira Date: Mon, 29 May 2023 19:52:49 -0300 Subject: [PATCH 22/69] Fixed node dragging image --- .../components/extraSidebarComponent/index.tsx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx b/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx index 1a9e721f7..7d7ebfb7c 100644 --- a/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx +++ b/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx @@ -14,7 +14,11 @@ export default function ExtraSidebar() { data: { type: string; node?: APIClassType } ) { //start drag event - event.dataTransfer.effectAllowed = "move"; + var crt = event.currentTarget.cloneNode(true); + crt.style.position = "absolute"; crt.style.top = "-500px"; crt.style.right = "-500px"; + crt.classList.add("cursor-grabbing"); + document.body.appendChild(crt); + event.dataTransfer.setDragImage(crt, 0, 0); event.dataTransfer.setData("json", JSON.stringify(data)); } @@ -48,8 +52,13 @@ export default function ExtraSidebar() { node: data[d][t], }) } + onDragEnd={() => { + document.body.removeChild( + document.getElementsByClassName("cursor-grabbing")[0] + ); + }} > -
+
{t} From 9f1d64b93f8facdc3805797b27a0622837e7142f Mon Sep 17 00:00:00 2001 From: Lucas Oliveira Date: Mon, 29 May 2023 19:59:03 -0300 Subject: [PATCH 23/69] Dropdown and input width set to full --- src/frontend/src/components/dropdownComponent/index.tsx | 4 ++-- src/frontend/src/components/floatComponent/index.tsx | 2 +- src/frontend/src/components/intComponent/index.tsx | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/frontend/src/components/dropdownComponent/index.tsx b/src/frontend/src/components/dropdownComponent/index.tsx index bb4cd621c..eebbe1554 100644 --- a/src/frontend/src/components/dropdownComponent/index.tsx +++ b/src/frontend/src/components/dropdownComponent/index.tsx @@ -23,9 +23,9 @@ export default function Dropdown({ > {({ open }) => ( <> -
+
- {internalValue} + {internalValue} +
{ From 92668daf1994f218ee9dc1d3704c38ea4db27214 Mon Sep 17 00:00:00 2001 From: Cristhian Zanforlin Lousa Date: Mon, 29 May 2023 22:11:03 -0300 Subject: [PATCH 24/69] UI Improvements: tooltip, classes icons e icons --- src/frontend/package-lock.json | 32 +++++++++++ src/frontend/package.json | 3 +- .../src/CustomNodes/GenericNode/index.tsx | 48 +++++++++-------- .../ReactTooltipComponent/index.tsx | 54 +++++++++++++++++++ .../extraSidebarComponent/index.tsx | 14 +++-- 5 files changed, 125 insertions(+), 26 deletions(-) create mode 100644 src/frontend/src/components/ReactTooltipComponent/index.tsx diff --git a/src/frontend/package-lock.json b/src/frontend/package-lock.json index 607f4946c..b4a889fcc 100644 --- a/src/frontend/package-lock.json +++ b/src/frontend/package-lock.json @@ -32,6 +32,7 @@ "react-router-dom": "^6.8.1", "react-syntax-highlighter": "^15.5.0", "react-tabs": "^6.0.0", + "react-tooltip": "^5.13.1", "reactflow": "^11.5.5", "rehype-mathjax": "^4.0.2", "remark-gfm": "^3.0.1", @@ -953,6 +954,19 @@ "node": ">=12" } }, + "node_modules/@floating-ui/core": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.2.6.tgz", + "integrity": "sha512-EvYTiXet5XqweYGClEmpu3BoxmsQ4hkj3QaYA6qEnigCWffTP3vNRwBReTdrwDwo7OoJ3wM8Uoe9Uk4n+d4hfg==" + }, + "node_modules/@floating-ui/dom": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.2.9.tgz", + "integrity": "sha512-sosQxsqgxMNkV3C+3UqTS6LxP7isRLwX8WMepp843Rb3/b0Wz8+MdUkxJksByip3C2WwLugLHN1b4ibn//zKwQ==", + "dependencies": { + "@floating-ui/core": "^1.2.6" + } + }, "node_modules/@headlessui/react": { "version": "1.7.10", "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.10.tgz", @@ -2731,6 +2745,11 @@ "resolved": "https://registry.npmjs.org/classcat/-/classcat-5.0.4.tgz", "integrity": "sha512-sbpkOw6z413p+HDGcBENe498WM9woqWHiJxCq7nvmxe9WmrUmqfAcxpIwAiMtM5Q3AhYkzXcNQHqsWq0mND51g==" }, + "node_modules/classnames": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", + "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" + }, "node_modules/client-only": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", @@ -6048,6 +6067,19 @@ "react": "^18.0.0" } }, + "node_modules/react-tooltip": { + "version": "5.13.1", + "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-5.13.1.tgz", + "integrity": "sha512-9NstDFdjyy6cIH9zjeT70zXTHlW/TIGCOWQmhkAyqLFeQioLg1FXvb9ec7AxSpn0zyFUkFSLdFYxZRuewti3Aw==", + "dependencies": { + "@floating-ui/dom": "^1.0.0", + "classnames": "^2.3.0" + }, + "peerDependencies": { + "react": ">=16.14.0", + "react-dom": ">=16.14.0" + } + }, "node_modules/react-transition-group": { "version": "4.4.5", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", diff --git a/src/frontend/package.json b/src/frontend/package.json index 20c62c11d..5b31a177f 100644 --- a/src/frontend/package.json +++ b/src/frontend/package.json @@ -27,6 +27,7 @@ "react-router-dom": "^6.8.1", "react-syntax-highlighter": "^15.5.0", "react-tabs": "^6.0.0", + "react-tooltip": "^5.13.1", "reactflow": "^11.5.5", "rehype-mathjax": "^4.0.2", "remark-gfm": "^3.0.1", @@ -78,4 +79,4 @@ "typescript": "^5.0.2", "vite": "^4.3.5" } -} \ No newline at end of file +} diff --git a/src/frontend/src/CustomNodes/GenericNode/index.tsx b/src/frontend/src/CustomNodes/GenericNode/index.tsx index 572210728..096cdb32c 100644 --- a/src/frontend/src/CustomNodes/GenericNode/index.tsx +++ b/src/frontend/src/CustomNodes/GenericNode/index.tsx @@ -28,6 +28,7 @@ import NodeModal from "../../modals/NodeModal"; import { useCallback } from "react"; import { TabsContext } from "../../contexts/tabsContext"; import { debounce } from "../../utils"; +import TooltipReact from "../../components/ReactTooltipComponent"; import Tooltip from "../../components/TooltipComponent"; export default function GenericNode({ data, @@ -111,9 +112,17 @@ export default function GenericNode({ color: nodeColors[types[data.type]] ?? nodeColors.unknown, }} /> - -
{data.type}
-
+
+ +
{data.type}
+
+
+
-
- +
-
+
-
+
+ >
@@ -182,7 +188,7 @@ export default function GenericNode({ ) ? "" : "hidden", - "w-6 h-6 dark:text-gray-300 hover:animate-spin-once" + "w-6 h-6 dark:text-gray-300" )} > @@ -191,7 +197,7 @@ export default function GenericNode({ deleteNode(data.id); }} > - +
diff --git a/src/frontend/src/components/ReactTooltipComponent/index.tsx b/src/frontend/src/components/ReactTooltipComponent/index.tsx new file mode 100644 index 000000000..87a7508d2 --- /dev/null +++ b/src/frontend/src/components/ReactTooltipComponent/index.tsx @@ -0,0 +1,54 @@ +"use client"; +import type { FC } from "react"; +import React from "react"; +import { Tooltip as ReactTooltip } from "react-tooltip"; +import "react-tooltip/dist/react-tooltip.css"; +import { classNames } from "../../utils"; + +type TooltipProps = { + selector: string; + content?: string; + disabled?: boolean; + htmlContent?: React.ReactNode; + className?: string; // This should use !impornant to override the default styles eg: '!bg-white' + position?: "top" | "right" | "bottom" | "left"; + clickable?: boolean; + children: React.ReactNode; + delayShow?: number; +}; + +const TooltipReact: FC = ({ + selector, + content, + disabled, + position = "top", + children, + htmlContent, + className, + clickable, + delayShow, +}) => { + return ( +
+ {React.cloneElement(children as React.ReactElement, { + "data-tooltip-id": selector, + })} + + {htmlContent && htmlContent} + +
+ ); +}; + +export default TooltipReact; diff --git a/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx b/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx index 1a9e721f7..e698e481a 100644 --- a/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx +++ b/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx @@ -4,7 +4,7 @@ import { nodeColors, nodeIcons, nodeNames } from "../../../../utils"; import { useContext, useEffect, useState } from "react"; import { typesContext } from "../../../../contexts/typesContext"; import { APIClassType, APIObjectType } from "../../../../types/api"; -import Tooltip from "../../../../components/TooltipComponent"; +import TooltipReact from "../../../../components/ReactTooltipComponent"; export default function ExtraSidebar() { const { data } = useContext(typesContext); @@ -34,8 +34,14 @@ export default function ExtraSidebar() { {Object.keys(data[d]) .sort() .map((t: string, k) => ( - 21 ? t : ""} placement="right"> -
+ +
- +
))} {Object.keys(data[d]).length === 0 && (
Coming soon
From 46ffbb5d9de6b006d76c511e31402e70be4f0355 Mon Sep 17 00:00:00 2001 From: anovazzi1 Date: Mon, 29 May 2023 22:54:22 -0300 Subject: [PATCH 25/69] added custom icons for companies, first version --- src/frontend/src/icons/Airbyte/airbyte.svg | 22 + src/frontend/src/icons/Airbyte/index.tsx | 8 + src/frontend/src/icons/AzLogo/az_logo.svg | 49 ++ src/frontend/src/icons/AzLogo/index.tsx | 8 + src/frontend/src/icons/Bing/bing.svg | 1 + src/frontend/src/icons/Bing/index.tsx | 8 + src/frontend/src/icons/ChromaIcon/index.tsx | 4 +- src/frontend/src/icons/Cohere/cohere.svg | 16 + src/frontend/src/icons/Cohere/index.tsx | 8 + .../src/icons/Evernote/evernote-icon.svg | 1 + src/frontend/src/icons/Evernote/index.tsx | 8 + .../Facebook_Messenger_logo_2020.svg | 2 + .../src/icons/FacebookMessenger/index.tsx | 8 + .../src/icons/GitBook/gitbook-svgrepo-com.svg | 2 + src/frontend/src/icons/GitBook/index.tsx | 8 + src/frontend/src/icons/Google/google.svg | 1 + src/frontend/src/icons/Google/index.tsx | 8 + .../src/icons/HuggingFace/hf-logo.svg | 8 + src/frontend/src/icons/HuggingFace/index.tsx | 8 + .../src/icons/IFixIt/ifixit-seeklogo.com.svg | 1 + src/frontend/src/icons/IFixIt/index.tsx | 8 + src/frontend/src/icons/Meta/index.tsx | 8 + src/frontend/src/icons/Meta/meta-icon.svg | 1 + .../src/icons/Midjorney/Midjourney_Emblem.svg | 53 +++ src/frontend/src/icons/Midjorney/index.tsx | 8 + src/frontend/src/icons/Notion/Notion-logo.svg | 4 + src/frontend/src/icons/Notion/index.tsx | 8 + src/frontend/src/icons/OpenAi/index.tsx | 8 + src/frontend/src/icons/OpenAi/openAI.svg | 1 + .../src/icons/PowerPoint/PowerPoint.svg | 52 +++ src/frontend/src/icons/PowerPoint/index.tsx | 8 + src/frontend/src/icons/QDrant/QDrant.svg | 20 + src/frontend/src/icons/QDrant/index.tsx | 8 + src/frontend/src/icons/ReadTheDocs/index.tsx | 8 + .../icons/ReadTheDocs/readthedocsio-icon.svg | 1 + src/frontend/src/icons/Searx/Searx_logo.svg | 198 ++++++++ src/frontend/src/icons/Searx/index.tsx | 8 + src/frontend/src/icons/Slack/index.tsx | 8 + src/frontend/src/icons/Slack/slack-icon.svg | 6 + src/frontend/src/icons/Weaviate/index.tsx | 8 + src/frontend/src/icons/Weaviate/weaviate.svg | 142 ++++++ .../src/icons/Wikipedia/Wikipedia.svg | 424 ++++++++++++++++++ src/frontend/src/icons/Wikipedia/index.tsx | 8 + src/frontend/src/icons/Wolfram/index.tsx | 8 + src/frontend/src/icons/Wolfram/wolfram.svg | 250 +++++++++++ src/frontend/src/icons/Word/index.tsx | 8 + src/frontend/src/icons/Word/word.svg | 50 +++ .../icons/hackerNews/Y_Combinator_logo.svg | 7 + src/frontend/src/icons/hackerNews/index.tsx | 8 + src/frontend/src/icons/index.tsx | 1 - src/frontend/src/utils.ts | 50 ++- 51 files changed, 1554 insertions(+), 5 deletions(-) create mode 100644 src/frontend/src/icons/Airbyte/airbyte.svg create mode 100644 src/frontend/src/icons/Airbyte/index.tsx create mode 100644 src/frontend/src/icons/AzLogo/az_logo.svg create mode 100644 src/frontend/src/icons/AzLogo/index.tsx create mode 100644 src/frontend/src/icons/Bing/bing.svg create mode 100644 src/frontend/src/icons/Bing/index.tsx create mode 100644 src/frontend/src/icons/Cohere/cohere.svg create mode 100644 src/frontend/src/icons/Cohere/index.tsx create mode 100644 src/frontend/src/icons/Evernote/evernote-icon.svg create mode 100644 src/frontend/src/icons/Evernote/index.tsx create mode 100644 src/frontend/src/icons/FacebookMessenger/Facebook_Messenger_logo_2020.svg create mode 100644 src/frontend/src/icons/FacebookMessenger/index.tsx create mode 100644 src/frontend/src/icons/GitBook/gitbook-svgrepo-com.svg create mode 100644 src/frontend/src/icons/GitBook/index.tsx create mode 100644 src/frontend/src/icons/Google/google.svg create mode 100644 src/frontend/src/icons/Google/index.tsx create mode 100644 src/frontend/src/icons/HuggingFace/hf-logo.svg create mode 100644 src/frontend/src/icons/HuggingFace/index.tsx create mode 100644 src/frontend/src/icons/IFixIt/ifixit-seeklogo.com.svg create mode 100644 src/frontend/src/icons/IFixIt/index.tsx create mode 100644 src/frontend/src/icons/Meta/index.tsx create mode 100644 src/frontend/src/icons/Meta/meta-icon.svg create mode 100644 src/frontend/src/icons/Midjorney/Midjourney_Emblem.svg create mode 100644 src/frontend/src/icons/Midjorney/index.tsx create mode 100644 src/frontend/src/icons/Notion/Notion-logo.svg create mode 100644 src/frontend/src/icons/Notion/index.tsx create mode 100644 src/frontend/src/icons/OpenAi/index.tsx create mode 100644 src/frontend/src/icons/OpenAi/openAI.svg create mode 100644 src/frontend/src/icons/PowerPoint/PowerPoint.svg create mode 100644 src/frontend/src/icons/PowerPoint/index.tsx create mode 100644 src/frontend/src/icons/QDrant/QDrant.svg create mode 100644 src/frontend/src/icons/QDrant/index.tsx create mode 100644 src/frontend/src/icons/ReadTheDocs/index.tsx create mode 100644 src/frontend/src/icons/ReadTheDocs/readthedocsio-icon.svg create mode 100644 src/frontend/src/icons/Searx/Searx_logo.svg create mode 100644 src/frontend/src/icons/Searx/index.tsx create mode 100644 src/frontend/src/icons/Slack/index.tsx create mode 100644 src/frontend/src/icons/Slack/slack-icon.svg create mode 100644 src/frontend/src/icons/Weaviate/index.tsx create mode 100644 src/frontend/src/icons/Weaviate/weaviate.svg create mode 100644 src/frontend/src/icons/Wikipedia/Wikipedia.svg create mode 100644 src/frontend/src/icons/Wikipedia/index.tsx create mode 100644 src/frontend/src/icons/Wolfram/index.tsx create mode 100644 src/frontend/src/icons/Wolfram/wolfram.svg create mode 100644 src/frontend/src/icons/Word/index.tsx create mode 100644 src/frontend/src/icons/Word/word.svg create mode 100644 src/frontend/src/icons/hackerNews/Y_Combinator_logo.svg create mode 100644 src/frontend/src/icons/hackerNews/index.tsx delete mode 100644 src/frontend/src/icons/index.tsx diff --git a/src/frontend/src/icons/Airbyte/airbyte.svg b/src/frontend/src/icons/Airbyte/airbyte.svg new file mode 100644 index 000000000..eefa1bceb --- /dev/null +++ b/src/frontend/src/icons/Airbyte/airbyte.svg @@ -0,0 +1,22 @@ + + + + + + diff --git a/src/frontend/src/icons/Airbyte/index.tsx b/src/frontend/src/icons/Airbyte/index.tsx new file mode 100644 index 000000000..c116b5ad2 --- /dev/null +++ b/src/frontend/src/icons/Airbyte/index.tsx @@ -0,0 +1,8 @@ +import React, { forwardRef } from "react"; +import { ReactComponent as AirbyteSVG } from "./airbyte.svg"; + +export const AirbyteIcon = forwardRef>( + (props, ref) => { + return ; + } +); diff --git a/src/frontend/src/icons/AzLogo/az_logo.svg b/src/frontend/src/icons/AzLogo/az_logo.svg new file mode 100644 index 000000000..4f2e75777 --- /dev/null +++ b/src/frontend/src/icons/AzLogo/az_logo.svg @@ -0,0 +1,49 @@ + + diff --git a/src/frontend/src/icons/AzLogo/index.tsx b/src/frontend/src/icons/AzLogo/index.tsx new file mode 100644 index 000000000..96a8a058a --- /dev/null +++ b/src/frontend/src/icons/AzLogo/index.tsx @@ -0,0 +1,8 @@ +import React, { forwardRef } from "react"; +import { ReactComponent as AzSVG } from "./az_logo.svg"; + +export const AzIcon = forwardRef>( + (props, ref) => { + return ; + } +); diff --git a/src/frontend/src/icons/Bing/bing.svg b/src/frontend/src/icons/Bing/bing.svg new file mode 100644 index 000000000..0d93e379c --- /dev/null +++ b/src/frontend/src/icons/Bing/bing.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/frontend/src/icons/Bing/index.tsx b/src/frontend/src/icons/Bing/index.tsx new file mode 100644 index 000000000..abaf31be4 --- /dev/null +++ b/src/frontend/src/icons/Bing/index.tsx @@ -0,0 +1,8 @@ +import React, { forwardRef } from "react"; +import { ReactComponent as BingSVG } from "./bing.svg"; + +export const BingIcon = forwardRef>( + (props, ref) => { + return ; + } +); diff --git a/src/frontend/src/icons/ChromaIcon/index.tsx b/src/frontend/src/icons/ChromaIcon/index.tsx index 2e4790edc..913d651f4 100644 --- a/src/frontend/src/icons/ChromaIcon/index.tsx +++ b/src/frontend/src/icons/ChromaIcon/index.tsx @@ -1,10 +1,8 @@ import React, { forwardRef } from "react"; import { ReactComponent as ChromaSVG } from "./chroma.svg"; -const ChromaIcon = forwardRef>( +export const ChromaIcon = forwardRef>( (props, ref) => { return ; } ); - -export default ChromaIcon; diff --git a/src/frontend/src/icons/Cohere/cohere.svg b/src/frontend/src/icons/Cohere/cohere.svg new file mode 100644 index 000000000..54ead3cf1 --- /dev/null +++ b/src/frontend/src/icons/Cohere/cohere.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/frontend/src/icons/Cohere/index.tsx b/src/frontend/src/icons/Cohere/index.tsx new file mode 100644 index 000000000..0a071b510 --- /dev/null +++ b/src/frontend/src/icons/Cohere/index.tsx @@ -0,0 +1,8 @@ +import React, { forwardRef } from "react"; +import { ReactComponent as CohereSVG } from "./cohere.svg"; + +export const CohereIcon = forwardRef>( + (props, ref) => { + return ; + } +); diff --git a/src/frontend/src/icons/Evernote/evernote-icon.svg b/src/frontend/src/icons/Evernote/evernote-icon.svg new file mode 100644 index 000000000..2a3495980 --- /dev/null +++ b/src/frontend/src/icons/Evernote/evernote-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/frontend/src/icons/Evernote/index.tsx b/src/frontend/src/icons/Evernote/index.tsx new file mode 100644 index 000000000..23e9bc43f --- /dev/null +++ b/src/frontend/src/icons/Evernote/index.tsx @@ -0,0 +1,8 @@ +import React, { forwardRef } from "react"; +import { ReactComponent as EvernoteSVG } from "./evernote-icon.svg"; + +export const EvernoteIcon = forwardRef>( + (props, ref) => { + return ; + } +); diff --git a/src/frontend/src/icons/FacebookMessenger/Facebook_Messenger_logo_2020.svg b/src/frontend/src/icons/FacebookMessenger/Facebook_Messenger_logo_2020.svg new file mode 100644 index 000000000..bd980c3af --- /dev/null +++ b/src/frontend/src/icons/FacebookMessenger/Facebook_Messenger_logo_2020.svg @@ -0,0 +1,2 @@ + + diff --git a/src/frontend/src/icons/FacebookMessenger/index.tsx b/src/frontend/src/icons/FacebookMessenger/index.tsx new file mode 100644 index 000000000..4450570aa --- /dev/null +++ b/src/frontend/src/icons/FacebookMessenger/index.tsx @@ -0,0 +1,8 @@ +import React, { forwardRef } from "react"; +import { ReactComponent as FacebookMessengerSVG } from "./Facebook_Messenger_logo_2020.svg"; + +export const FBIcon = forwardRef>( + (props, ref) => { + return ; + } +); diff --git a/src/frontend/src/icons/GitBook/gitbook-svgrepo-com.svg b/src/frontend/src/icons/GitBook/gitbook-svgrepo-com.svg new file mode 100644 index 000000000..75eaa6da1 --- /dev/null +++ b/src/frontend/src/icons/GitBook/gitbook-svgrepo-com.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/src/frontend/src/icons/GitBook/index.tsx b/src/frontend/src/icons/GitBook/index.tsx new file mode 100644 index 000000000..e25f52d58 --- /dev/null +++ b/src/frontend/src/icons/GitBook/index.tsx @@ -0,0 +1,8 @@ +import React, { forwardRef } from "react"; +import { ReactComponent as GitBookSVG } from "./gitbook-svgrepo-com.svg"; + +export const GitBookIcon = forwardRef>( + (props, ref) => { + return ; + } +); diff --git a/src/frontend/src/icons/Google/google.svg b/src/frontend/src/icons/Google/google.svg new file mode 100644 index 000000000..b518c5270 --- /dev/null +++ b/src/frontend/src/icons/Google/google.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/frontend/src/icons/Google/index.tsx b/src/frontend/src/icons/Google/index.tsx new file mode 100644 index 000000000..527469ca0 --- /dev/null +++ b/src/frontend/src/icons/Google/index.tsx @@ -0,0 +1,8 @@ +import React, { forwardRef } from "react"; +import { ReactComponent as GoogleSVG } from "./google.svg"; + +export const GoogleIcon = forwardRef>( + (props, ref) => { + return ; + } +); diff --git a/src/frontend/src/icons/HuggingFace/hf-logo.svg b/src/frontend/src/icons/HuggingFace/hf-logo.svg new file mode 100644 index 000000000..ab959d165 --- /dev/null +++ b/src/frontend/src/icons/HuggingFace/hf-logo.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/frontend/src/icons/HuggingFace/index.tsx b/src/frontend/src/icons/HuggingFace/index.tsx new file mode 100644 index 000000000..eab851696 --- /dev/null +++ b/src/frontend/src/icons/HuggingFace/index.tsx @@ -0,0 +1,8 @@ +import React, { forwardRef } from "react"; +import { ReactComponent as HugginFaceSVG } from "./hf-logo.svg"; + +export const HugginFaceIcon = forwardRef>( + (props, ref) => { + return ; + } +); diff --git a/src/frontend/src/icons/IFixIt/ifixit-seeklogo.com.svg b/src/frontend/src/icons/IFixIt/ifixit-seeklogo.com.svg new file mode 100644 index 000000000..cbb67cf79 --- /dev/null +++ b/src/frontend/src/icons/IFixIt/ifixit-seeklogo.com.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/frontend/src/icons/IFixIt/index.tsx b/src/frontend/src/icons/IFixIt/index.tsx new file mode 100644 index 000000000..9124266e4 --- /dev/null +++ b/src/frontend/src/icons/IFixIt/index.tsx @@ -0,0 +1,8 @@ +import React, { forwardRef } from "react"; +import { ReactComponent as IFixItSVG } from "./ifixit-seeklogo.com.svg"; + +export const IFixIcon = forwardRef>( + (props, ref) => { + return ; + } +); diff --git a/src/frontend/src/icons/Meta/index.tsx b/src/frontend/src/icons/Meta/index.tsx new file mode 100644 index 000000000..0aabeea74 --- /dev/null +++ b/src/frontend/src/icons/Meta/index.tsx @@ -0,0 +1,8 @@ +import React, { forwardRef } from "react"; +import { ReactComponent as MetaSVG } from "./meta-icon.svg"; + +export const MetaIcon = forwardRef>( + (props, ref) => { + return ; + } +); diff --git a/src/frontend/src/icons/Meta/meta-icon.svg b/src/frontend/src/icons/Meta/meta-icon.svg new file mode 100644 index 000000000..f5e8b583c --- /dev/null +++ b/src/frontend/src/icons/Meta/meta-icon.svg @@ -0,0 +1 @@ +facebook-meta \ No newline at end of file diff --git a/src/frontend/src/icons/Midjorney/Midjourney_Emblem.svg b/src/frontend/src/icons/Midjorney/Midjourney_Emblem.svg new file mode 100644 index 000000000..9c90d37e2 --- /dev/null +++ b/src/frontend/src/icons/Midjorney/Midjourney_Emblem.svg @@ -0,0 +1,53 @@ + + + + + + + + diff --git a/src/frontend/src/icons/Midjorney/index.tsx b/src/frontend/src/icons/Midjorney/index.tsx new file mode 100644 index 000000000..450666cfe --- /dev/null +++ b/src/frontend/src/icons/Midjorney/index.tsx @@ -0,0 +1,8 @@ +import React, { forwardRef } from "react"; +import { ReactComponent as MidjorneySVG } from "./Midjourney_Emblem.svg"; + +export const MidjorneyIcon = forwardRef>( + (props, ref) => { + return ; + } +); diff --git a/src/frontend/src/icons/Notion/Notion-logo.svg b/src/frontend/src/icons/Notion/Notion-logo.svg new file mode 100644 index 000000000..bf6442f76 --- /dev/null +++ b/src/frontend/src/icons/Notion/Notion-logo.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/frontend/src/icons/Notion/index.tsx b/src/frontend/src/icons/Notion/index.tsx new file mode 100644 index 000000000..9666ce80b --- /dev/null +++ b/src/frontend/src/icons/Notion/index.tsx @@ -0,0 +1,8 @@ +import React, { forwardRef } from "react"; +import { ReactComponent as NotionSVG } from "./Notion-logo.svg"; + +export const NotionIcon = forwardRef>( + (props, ref) => { + return ; + } +); diff --git a/src/frontend/src/icons/OpenAi/index.tsx b/src/frontend/src/icons/OpenAi/index.tsx new file mode 100644 index 000000000..ae50fbce3 --- /dev/null +++ b/src/frontend/src/icons/OpenAi/index.tsx @@ -0,0 +1,8 @@ +import React, { forwardRef } from "react"; +import { ReactComponent as OpenAiSVG } from "./openAI.svg"; + +export const OpenAiIcon = forwardRef>( + (props, ref) => { + return ; + } +); diff --git a/src/frontend/src/icons/OpenAi/openAI.svg b/src/frontend/src/icons/OpenAi/openAI.svg new file mode 100644 index 000000000..e81233fe6 --- /dev/null +++ b/src/frontend/src/icons/OpenAi/openAI.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/frontend/src/icons/PowerPoint/PowerPoint.svg b/src/frontend/src/icons/PowerPoint/PowerPoint.svg new file mode 100644 index 000000000..1b9ee4383 --- /dev/null +++ b/src/frontend/src/icons/PowerPoint/PowerPoint.svg @@ -0,0 +1,52 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/frontend/src/icons/PowerPoint/index.tsx b/src/frontend/src/icons/PowerPoint/index.tsx new file mode 100644 index 000000000..fbb68d533 --- /dev/null +++ b/src/frontend/src/icons/PowerPoint/index.tsx @@ -0,0 +1,8 @@ +import React, { forwardRef } from "react"; +import { ReactComponent as PowerPointSVG } from "./PowerPoint.svg"; + +export const PowerPointIcon = forwardRef>( + (props, ref) => { + return ; + } +); diff --git a/src/frontend/src/icons/QDrant/QDrant.svg b/src/frontend/src/icons/QDrant/QDrant.svg new file mode 100644 index 000000000..a53c6596c --- /dev/null +++ b/src/frontend/src/icons/QDrant/QDrant.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/frontend/src/icons/QDrant/index.tsx b/src/frontend/src/icons/QDrant/index.tsx new file mode 100644 index 000000000..7e8ec655d --- /dev/null +++ b/src/frontend/src/icons/QDrant/index.tsx @@ -0,0 +1,8 @@ +import React, { forwardRef } from "react"; +import { ReactComponent as QDrantSVG } from "./QDrant.svg"; + +export const QDrantIcon = forwardRef>( + (props, ref) => { + return ; + } +); diff --git a/src/frontend/src/icons/ReadTheDocs/index.tsx b/src/frontend/src/icons/ReadTheDocs/index.tsx new file mode 100644 index 000000000..c87a624de --- /dev/null +++ b/src/frontend/src/icons/ReadTheDocs/index.tsx @@ -0,0 +1,8 @@ +import React, { forwardRef } from "react"; +import { ReactComponent as ReadTheDocsSVG } from "./readthedocsio-icon.svg"; + +export const ReadTheDocsIcon = forwardRef>( + (props, ref) => { + return ; + } +); diff --git a/src/frontend/src/icons/ReadTheDocs/readthedocsio-icon.svg b/src/frontend/src/icons/ReadTheDocs/readthedocsio-icon.svg new file mode 100644 index 000000000..22f38b47a --- /dev/null +++ b/src/frontend/src/icons/ReadTheDocs/readthedocsio-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/frontend/src/icons/Searx/Searx_logo.svg b/src/frontend/src/icons/Searx/Searx_logo.svg new file mode 100644 index 000000000..45eecb16c --- /dev/null +++ b/src/frontend/src/icons/Searx/Searx_logo.svg @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/src/frontend/src/icons/Searx/index.tsx b/src/frontend/src/icons/Searx/index.tsx new file mode 100644 index 000000000..c1196c68a --- /dev/null +++ b/src/frontend/src/icons/Searx/index.tsx @@ -0,0 +1,8 @@ +import React, { forwardRef } from "react"; +import { ReactComponent as SearxSVG } from "./Searx_logo.svg"; + +export const SearxIcon = forwardRef>( + (props, ref) => { + return ; + } +); diff --git a/src/frontend/src/icons/Slack/index.tsx b/src/frontend/src/icons/Slack/index.tsx new file mode 100644 index 000000000..ec5bdc108 --- /dev/null +++ b/src/frontend/src/icons/Slack/index.tsx @@ -0,0 +1,8 @@ +import React, { forwardRef } from "react"; +import { ReactComponent as SlackSVG } from "./slack-icon.svg"; + +export const SlackIcon = forwardRef>( + (props, ref) => { + return ; + } +); diff --git a/src/frontend/src/icons/Slack/slack-icon.svg b/src/frontend/src/icons/Slack/slack-icon.svg new file mode 100644 index 000000000..c5f26c10e --- /dev/null +++ b/src/frontend/src/icons/Slack/slack-icon.svg @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/src/frontend/src/icons/Weaviate/index.tsx b/src/frontend/src/icons/Weaviate/index.tsx new file mode 100644 index 000000000..f454e4f15 --- /dev/null +++ b/src/frontend/src/icons/Weaviate/index.tsx @@ -0,0 +1,8 @@ +import React, { forwardRef } from "react"; +import { ReactComponent as WeaviateSVG } from "./weaviate.svg"; + +export const WeaviateIcon = forwardRef>( + (props, ref) => { + return ; + } +); diff --git a/src/frontend/src/icons/Weaviate/weaviate.svg b/src/frontend/src/icons/Weaviate/weaviate.svg new file mode 100644 index 000000000..d5b3bda24 --- /dev/null +++ b/src/frontend/src/icons/Weaviate/weaviate.svg @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/frontend/src/icons/Wikipedia/Wikipedia.svg b/src/frontend/src/icons/Wikipedia/Wikipedia.svg new file mode 100644 index 000000000..aa0cec73f --- /dev/null +++ b/src/frontend/src/icons/Wikipedia/Wikipedia.svg @@ -0,0 +1,424 @@ + + + + + + + image/svg+xml + + + Wikipedia's W + + + STyx + + + none + + + Wikipedia + favicon + + + 2007-06-26 + + + GFDL + + + W de WikipΓ©dia + + + Inkscape + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/frontend/src/icons/Wikipedia/index.tsx b/src/frontend/src/icons/Wikipedia/index.tsx new file mode 100644 index 000000000..06c1c5b4d --- /dev/null +++ b/src/frontend/src/icons/Wikipedia/index.tsx @@ -0,0 +1,8 @@ +import React, { forwardRef } from "react"; +import { ReactComponent as WikipediaSVG } from "./Wikipedia.svg"; + +export const WikipediaIcon = forwardRef>( + (props, ref) => { + return ; + } +); diff --git a/src/frontend/src/icons/Wolfram/index.tsx b/src/frontend/src/icons/Wolfram/index.tsx new file mode 100644 index 000000000..c8b94ebf1 --- /dev/null +++ b/src/frontend/src/icons/Wolfram/index.tsx @@ -0,0 +1,8 @@ +import React, { forwardRef } from "react"; +import { ReactComponent as WolframSVG } from "./wolfram.svg"; + +export const WolframIcon = forwardRef>( + (props, ref) => { + return ; + } +); diff --git a/src/frontend/src/icons/Wolfram/wolfram.svg b/src/frontend/src/icons/Wolfram/wolfram.svg new file mode 100644 index 000000000..105a2c12b --- /dev/null +++ b/src/frontend/src/icons/Wolfram/wolfram.svg @@ -0,0 +1,250 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/frontend/src/icons/Word/index.tsx b/src/frontend/src/icons/Word/index.tsx new file mode 100644 index 000000000..8c6cf9f31 --- /dev/null +++ b/src/frontend/src/icons/Word/index.tsx @@ -0,0 +1,8 @@ +import React, { forwardRef } from "react"; +import { ReactComponent as WordSVG } from "./word.svg"; + +export const WordIcon = forwardRef>( + (props, ref) => { + return ; + } +); diff --git a/src/frontend/src/icons/Word/word.svg b/src/frontend/src/icons/Word/word.svg new file mode 100644 index 000000000..2060f5289 --- /dev/null +++ b/src/frontend/src/icons/Word/word.svg @@ -0,0 +1,50 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/frontend/src/icons/hackerNews/Y_Combinator_logo.svg b/src/frontend/src/icons/hackerNews/Y_Combinator_logo.svg new file mode 100644 index 000000000..b502950a2 --- /dev/null +++ b/src/frontend/src/icons/hackerNews/Y_Combinator_logo.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/frontend/src/icons/hackerNews/index.tsx b/src/frontend/src/icons/hackerNews/index.tsx new file mode 100644 index 000000000..d1c47e7db --- /dev/null +++ b/src/frontend/src/icons/hackerNews/index.tsx @@ -0,0 +1,8 @@ +import React, { forwardRef } from "react"; +import { ReactComponent as HackerNewsSVG } from "./Y_Combinator_logo.svg"; + +export const HackerNewsIcon = forwardRef>( + (props, ref) => { + return ; + } +); diff --git a/src/frontend/src/icons/index.tsx b/src/frontend/src/icons/index.tsx deleted file mode 100644 index 2b01bf567..000000000 --- a/src/frontend/src/icons/index.tsx +++ /dev/null @@ -1 +0,0 @@ -export { default as ChromaIcon } from "./ChromaIcon"; diff --git a/src/frontend/src/utils.ts b/src/frontend/src/utils.ts index ef944aa47..585e93664 100644 --- a/src/frontend/src/utils.ts +++ b/src/frontend/src/utils.ts @@ -20,7 +20,31 @@ import { Connection, Edge, Node, ReactFlowInstance, addEdge } from "reactflow"; import { FlowType, NodeType } from "./types/flow"; import { APITemplateType, TemplateVariableType } from "./types/api"; import _ from "lodash"; -import { ChromaIcon } from "./icons"; +import { ChromaIcon} from "./icons/ChromaIcon"; +import { AirbyteIcon } from "./icons/Airbyte"; +import { AzIcon } from "./icons/AzLogo"; +import { BingIcon } from "./icons/Bing"; +import { CohereIcon } from "./icons/Cohere"; +import { EvernoteIcon } from "./icons/Evernote"; +import { FBIcon } from "./icons/FacebookMessenger"; +import { GitBookIcon } from "./icons/GitBook"; +import { GoogleIcon } from "./icons/Google"; +import { HackerNewsIcon } from "./icons/hackerNews"; +import { HugginFaceIcon } from "./icons/HuggingFace"; +import { IFixIcon } from "./icons/IFixIt"; +import { MetaIcon } from "./icons/Meta"; +import { MidjorneyIcon } from "./icons/Midjorney"; +import { NotionIcon } from "./icons/Notion"; +import { OpenAiIcon } from "./icons/OpenAi"; +import { PowerPointIcon } from "./icons/PowerPoint"; +import { QDrantIcon } from "./icons/QDrant"; +import { ReadTheDocsIcon } from "./icons/ReadTheDocs"; +import { SearxIcon } from "./icons/Searx"; +import { SlackIcon } from "./icons/Slack"; +import { WeaviateIcon } from "./icons/Weaviate"; +import { WikipediaIcon } from "./icons/Wikipedia"; +import { WolframIcon } from "./icons/Wolfram"; +import { WordIcon } from "./icons/Word"; import { v4 as uuidv4 } from "uuid"; export function classNames(...classes: Array) { @@ -125,6 +149,30 @@ export const nodeIcons: { >; } = { Chroma: ChromaIcon, + Airbyte: AirbyteIcon, + AzLogo: AzIcon, + Bing: BingIcon, + Cohere: CohereIcon, + Evernote: EvernoteIcon, + FacebookMessenger: FBIcon, + GitBook: GitBookIcon, + Google: GoogleIcon, + HackerNews: HackerNewsIcon, + HuggingFace: HugginFaceIcon, + IFixIt: IFixIcon, + Meta: MetaIcon, + Midjorney: MidjorneyIcon, + Notion: NotionIcon, + OpenAi: OpenAiIcon, + PowerPoint: PowerPointIcon, + QDrant: QDrantIcon, + ReadTheDocs: ReadTheDocsIcon, + Searx: SearxIcon, + Slack: SlackIcon, + Weaviate: WeaviateIcon, + Wikipedia: WikipediaIcon, + Wolfram: WolframIcon, + Word: WordIcon, agents: RocketLaunchIcon, chains: LinkIcon, memories: CpuChipIcon, From 8b5a4438805fa682357f9fec56b7c3cbfcf82628 Mon Sep 17 00:00:00 2001 From: anovazzi1 Date: Mon, 29 May 2023 22:54:30 -0300 Subject: [PATCH 26/69] added custom icons for companies, first version --- src/frontend/src/icons/Airbyte/index.tsx | 11 ++++++----- src/frontend/src/icons/ChromaIcon/index.tsx | 11 ++++++----- src/frontend/src/icons/Cohere/index.tsx | 11 ++++++----- src/frontend/src/icons/Evernote/index.tsx | 11 ++++++----- src/frontend/src/icons/GitBook/index.tsx | 11 ++++++----- src/frontend/src/icons/Google/index.tsx | 11 ++++++----- src/frontend/src/icons/HuggingFace/index.tsx | 11 ++++++----- src/frontend/src/icons/Midjorney/index.tsx | 11 ++++++----- src/frontend/src/icons/Notion/index.tsx | 11 ++++++----- src/frontend/src/icons/OpenAi/index.tsx | 11 ++++++----- src/frontend/src/icons/PowerPoint/index.tsx | 11 ++++++----- src/frontend/src/icons/QDrant/index.tsx | 11 ++++++----- src/frontend/src/icons/ReadTheDocs/index.tsx | 11 ++++++----- src/frontend/src/icons/Weaviate/index.tsx | 11 ++++++----- src/frontend/src/icons/Wikipedia/index.tsx | 11 ++++++----- src/frontend/src/icons/Wolfram/index.tsx | 11 ++++++----- src/frontend/src/icons/hackerNews/index.tsx | 11 ++++++----- src/frontend/src/utils.ts | 2 +- 18 files changed, 103 insertions(+), 86 deletions(-) diff --git a/src/frontend/src/icons/Airbyte/index.tsx b/src/frontend/src/icons/Airbyte/index.tsx index c116b5ad2..6fb8daf24 100644 --- a/src/frontend/src/icons/Airbyte/index.tsx +++ b/src/frontend/src/icons/Airbyte/index.tsx @@ -1,8 +1,9 @@ import React, { forwardRef } from "react"; import { ReactComponent as AirbyteSVG } from "./airbyte.svg"; -export const AirbyteIcon = forwardRef>( - (props, ref) => { - return ; - } -); +export const AirbyteIcon = forwardRef< + SVGSVGElement, + React.PropsWithChildren<{}> +>((props, ref) => { + return ; +}); diff --git a/src/frontend/src/icons/ChromaIcon/index.tsx b/src/frontend/src/icons/ChromaIcon/index.tsx index 913d651f4..afcb868a8 100644 --- a/src/frontend/src/icons/ChromaIcon/index.tsx +++ b/src/frontend/src/icons/ChromaIcon/index.tsx @@ -1,8 +1,9 @@ import React, { forwardRef } from "react"; import { ReactComponent as ChromaSVG } from "./chroma.svg"; -export const ChromaIcon = forwardRef>( - (props, ref) => { - return ; - } -); +export const ChromaIcon = forwardRef< + SVGSVGElement, + React.PropsWithChildren<{}> +>((props, ref) => { + return ; +}); diff --git a/src/frontend/src/icons/Cohere/index.tsx b/src/frontend/src/icons/Cohere/index.tsx index 0a071b510..bcb15dd24 100644 --- a/src/frontend/src/icons/Cohere/index.tsx +++ b/src/frontend/src/icons/Cohere/index.tsx @@ -1,8 +1,9 @@ import React, { forwardRef } from "react"; import { ReactComponent as CohereSVG } from "./cohere.svg"; -export const CohereIcon = forwardRef>( - (props, ref) => { - return ; - } -); +export const CohereIcon = forwardRef< + SVGSVGElement, + React.PropsWithChildren<{}> +>((props, ref) => { + return ; +}); diff --git a/src/frontend/src/icons/Evernote/index.tsx b/src/frontend/src/icons/Evernote/index.tsx index 23e9bc43f..685d9da13 100644 --- a/src/frontend/src/icons/Evernote/index.tsx +++ b/src/frontend/src/icons/Evernote/index.tsx @@ -1,8 +1,9 @@ import React, { forwardRef } from "react"; import { ReactComponent as EvernoteSVG } from "./evernote-icon.svg"; -export const EvernoteIcon = forwardRef>( - (props, ref) => { - return ; - } -); +export const EvernoteIcon = forwardRef< + SVGSVGElement, + React.PropsWithChildren<{}> +>((props, ref) => { + return ; +}); diff --git a/src/frontend/src/icons/GitBook/index.tsx b/src/frontend/src/icons/GitBook/index.tsx index e25f52d58..0e312a8e1 100644 --- a/src/frontend/src/icons/GitBook/index.tsx +++ b/src/frontend/src/icons/GitBook/index.tsx @@ -1,8 +1,9 @@ import React, { forwardRef } from "react"; import { ReactComponent as GitBookSVG } from "./gitbook-svgrepo-com.svg"; -export const GitBookIcon = forwardRef>( - (props, ref) => { - return ; - } -); +export const GitBookIcon = forwardRef< + SVGSVGElement, + React.PropsWithChildren<{}> +>((props, ref) => { + return ; +}); diff --git a/src/frontend/src/icons/Google/index.tsx b/src/frontend/src/icons/Google/index.tsx index 527469ca0..5159ba23b 100644 --- a/src/frontend/src/icons/Google/index.tsx +++ b/src/frontend/src/icons/Google/index.tsx @@ -1,8 +1,9 @@ import React, { forwardRef } from "react"; import { ReactComponent as GoogleSVG } from "./google.svg"; -export const GoogleIcon = forwardRef>( - (props, ref) => { - return ; - } -); +export const GoogleIcon = forwardRef< + SVGSVGElement, + React.PropsWithChildren<{}> +>((props, ref) => { + return ; +}); diff --git a/src/frontend/src/icons/HuggingFace/index.tsx b/src/frontend/src/icons/HuggingFace/index.tsx index eab851696..44fc68609 100644 --- a/src/frontend/src/icons/HuggingFace/index.tsx +++ b/src/frontend/src/icons/HuggingFace/index.tsx @@ -1,8 +1,9 @@ import React, { forwardRef } from "react"; import { ReactComponent as HugginFaceSVG } from "./hf-logo.svg"; -export const HugginFaceIcon = forwardRef>( - (props, ref) => { - return ; - } -); +export const HugginFaceIcon = forwardRef< + SVGSVGElement, + React.PropsWithChildren<{}> +>((props, ref) => { + return ; +}); diff --git a/src/frontend/src/icons/Midjorney/index.tsx b/src/frontend/src/icons/Midjorney/index.tsx index 450666cfe..fd09aa700 100644 --- a/src/frontend/src/icons/Midjorney/index.tsx +++ b/src/frontend/src/icons/Midjorney/index.tsx @@ -1,8 +1,9 @@ import React, { forwardRef } from "react"; import { ReactComponent as MidjorneySVG } from "./Midjourney_Emblem.svg"; -export const MidjorneyIcon = forwardRef>( - (props, ref) => { - return ; - } -); +export const MidjorneyIcon = forwardRef< + SVGSVGElement, + React.PropsWithChildren<{}> +>((props, ref) => { + return ; +}); diff --git a/src/frontend/src/icons/Notion/index.tsx b/src/frontend/src/icons/Notion/index.tsx index 9666ce80b..265a5c153 100644 --- a/src/frontend/src/icons/Notion/index.tsx +++ b/src/frontend/src/icons/Notion/index.tsx @@ -1,8 +1,9 @@ import React, { forwardRef } from "react"; import { ReactComponent as NotionSVG } from "./Notion-logo.svg"; -export const NotionIcon = forwardRef>( - (props, ref) => { - return ; - } -); +export const NotionIcon = forwardRef< + SVGSVGElement, + React.PropsWithChildren<{}> +>((props, ref) => { + return ; +}); diff --git a/src/frontend/src/icons/OpenAi/index.tsx b/src/frontend/src/icons/OpenAi/index.tsx index ae50fbce3..940f4f908 100644 --- a/src/frontend/src/icons/OpenAi/index.tsx +++ b/src/frontend/src/icons/OpenAi/index.tsx @@ -1,8 +1,9 @@ import React, { forwardRef } from "react"; import { ReactComponent as OpenAiSVG } from "./openAI.svg"; -export const OpenAiIcon = forwardRef>( - (props, ref) => { - return ; - } -); +export const OpenAiIcon = forwardRef< + SVGSVGElement, + React.PropsWithChildren<{}> +>((props, ref) => { + return ; +}); diff --git a/src/frontend/src/icons/PowerPoint/index.tsx b/src/frontend/src/icons/PowerPoint/index.tsx index fbb68d533..89d6fb53b 100644 --- a/src/frontend/src/icons/PowerPoint/index.tsx +++ b/src/frontend/src/icons/PowerPoint/index.tsx @@ -1,8 +1,9 @@ import React, { forwardRef } from "react"; import { ReactComponent as PowerPointSVG } from "./PowerPoint.svg"; -export const PowerPointIcon = forwardRef>( - (props, ref) => { - return ; - } -); +export const PowerPointIcon = forwardRef< + SVGSVGElement, + React.PropsWithChildren<{}> +>((props, ref) => { + return ; +}); diff --git a/src/frontend/src/icons/QDrant/index.tsx b/src/frontend/src/icons/QDrant/index.tsx index 7e8ec655d..5bc03e070 100644 --- a/src/frontend/src/icons/QDrant/index.tsx +++ b/src/frontend/src/icons/QDrant/index.tsx @@ -1,8 +1,9 @@ import React, { forwardRef } from "react"; import { ReactComponent as QDrantSVG } from "./QDrant.svg"; -export const QDrantIcon = forwardRef>( - (props, ref) => { - return ; - } -); +export const QDrantIcon = forwardRef< + SVGSVGElement, + React.PropsWithChildren<{}> +>((props, ref) => { + return ; +}); diff --git a/src/frontend/src/icons/ReadTheDocs/index.tsx b/src/frontend/src/icons/ReadTheDocs/index.tsx index c87a624de..87a327912 100644 --- a/src/frontend/src/icons/ReadTheDocs/index.tsx +++ b/src/frontend/src/icons/ReadTheDocs/index.tsx @@ -1,8 +1,9 @@ import React, { forwardRef } from "react"; import { ReactComponent as ReadTheDocsSVG } from "./readthedocsio-icon.svg"; -export const ReadTheDocsIcon = forwardRef>( - (props, ref) => { - return ; - } -); +export const ReadTheDocsIcon = forwardRef< + SVGSVGElement, + React.PropsWithChildren<{}> +>((props, ref) => { + return ; +}); diff --git a/src/frontend/src/icons/Weaviate/index.tsx b/src/frontend/src/icons/Weaviate/index.tsx index f454e4f15..f1aeeb1af 100644 --- a/src/frontend/src/icons/Weaviate/index.tsx +++ b/src/frontend/src/icons/Weaviate/index.tsx @@ -1,8 +1,9 @@ import React, { forwardRef } from "react"; import { ReactComponent as WeaviateSVG } from "./weaviate.svg"; -export const WeaviateIcon = forwardRef>( - (props, ref) => { - return ; - } -); +export const WeaviateIcon = forwardRef< + SVGSVGElement, + React.PropsWithChildren<{}> +>((props, ref) => { + return ; +}); diff --git a/src/frontend/src/icons/Wikipedia/index.tsx b/src/frontend/src/icons/Wikipedia/index.tsx index 06c1c5b4d..446f9c108 100644 --- a/src/frontend/src/icons/Wikipedia/index.tsx +++ b/src/frontend/src/icons/Wikipedia/index.tsx @@ -1,8 +1,9 @@ import React, { forwardRef } from "react"; import { ReactComponent as WikipediaSVG } from "./Wikipedia.svg"; -export const WikipediaIcon = forwardRef>( - (props, ref) => { - return ; - } -); +export const WikipediaIcon = forwardRef< + SVGSVGElement, + React.PropsWithChildren<{}> +>((props, ref) => { + return ; +}); diff --git a/src/frontend/src/icons/Wolfram/index.tsx b/src/frontend/src/icons/Wolfram/index.tsx index c8b94ebf1..8f1b3e089 100644 --- a/src/frontend/src/icons/Wolfram/index.tsx +++ b/src/frontend/src/icons/Wolfram/index.tsx @@ -1,8 +1,9 @@ import React, { forwardRef } from "react"; import { ReactComponent as WolframSVG } from "./wolfram.svg"; -export const WolframIcon = forwardRef>( - (props, ref) => { - return ; - } -); +export const WolframIcon = forwardRef< + SVGSVGElement, + React.PropsWithChildren<{}> +>((props, ref) => { + return ; +}); diff --git a/src/frontend/src/icons/hackerNews/index.tsx b/src/frontend/src/icons/hackerNews/index.tsx index d1c47e7db..787a94274 100644 --- a/src/frontend/src/icons/hackerNews/index.tsx +++ b/src/frontend/src/icons/hackerNews/index.tsx @@ -1,8 +1,9 @@ import React, { forwardRef } from "react"; import { ReactComponent as HackerNewsSVG } from "./Y_Combinator_logo.svg"; -export const HackerNewsIcon = forwardRef>( - (props, ref) => { - return ; - } -); +export const HackerNewsIcon = forwardRef< + SVGSVGElement, + React.PropsWithChildren<{}> +>((props, ref) => { + return ; +}); diff --git a/src/frontend/src/utils.ts b/src/frontend/src/utils.ts index 585e93664..be7314ade 100644 --- a/src/frontend/src/utils.ts +++ b/src/frontend/src/utils.ts @@ -20,7 +20,7 @@ import { Connection, Edge, Node, ReactFlowInstance, addEdge } from "reactflow"; import { FlowType, NodeType } from "./types/flow"; import { APITemplateType, TemplateVariableType } from "./types/api"; import _ from "lodash"; -import { ChromaIcon} from "./icons/ChromaIcon"; +import { ChromaIcon } from "./icons/ChromaIcon"; import { AirbyteIcon } from "./icons/Airbyte"; import { AzIcon } from "./icons/AzLogo"; import { BingIcon } from "./icons/Bing"; From 95eab00a5e42f4780c37ad2050f11b3427b3f765 Mon Sep 17 00:00:00 2001 From: Cristhian Zanforlin Lousa Date: Mon, 29 May 2023 22:56:26 -0300 Subject: [PATCH 27/69] Removing trash icon --- .../src/CustomNodes/GenericNode/index.tsx | 91 +++++++++---------- .../ReactTooltipComponent/index.tsx | 2 +- 2 files changed, 45 insertions(+), 48 deletions(-) diff --git a/src/frontend/src/CustomNodes/GenericNode/index.tsx b/src/frontend/src/CustomNodes/GenericNode/index.tsx index e2576bd08..5c0248ae4 100644 --- a/src/frontend/src/CustomNodes/GenericNode/index.tsx +++ b/src/frontend/src/CustomNodes/GenericNode/index.tsx @@ -123,46 +123,6 @@ export default function GenericNode({
{data.type}
- -
- - {validationStatus.params.split("\n").map((line, index) => ( -
{line}
- ))} -
- ) - } - > -
-
-
-
-
-
-
- + +
+ + {validationStatus.params.split("\n").map((line, index) => ( +
{line}
+ ))} +
+ ) + } + > +
+ + + +
+ +
+
diff --git a/src/frontend/src/components/ReactTooltipComponent/index.tsx b/src/frontend/src/components/ReactTooltipComponent/index.tsx index 87a7508d2..aa736c212 100644 --- a/src/frontend/src/components/ReactTooltipComponent/index.tsx +++ b/src/frontend/src/components/ReactTooltipComponent/index.tsx @@ -37,7 +37,7 @@ const TooltipReact: FC = ({ id={selector} content={content} className={classNames( - "!bg-white !text-xs !font-normal !text-gray-700 !shadow-lg !opacity-100 z-10", + "!bg-white !text-xs !font-normal !text-gray-700 !shadow-md !opacity-100 z-20", className )} place={position} From 9f27a3e1cc2d04c08362a6e275739b007a30cc56 Mon Sep 17 00:00:00 2001 From: Cristhian Zanforlin Lousa Date: Mon, 29 May 2023 23:45:02 -0300 Subject: [PATCH 28/69] Changing edge colors dark mode --- src/frontend/src/CustomNodes/GenericNode/index.tsx | 7 +++---- src/frontend/src/components/floatComponent/index.tsx | 6 +++++- src/frontend/src/components/intComponent/index.tsx | 7 ++++--- src/frontend/src/contexts/tabsContext.tsx | 4 ++-- .../FlowPage/components/extraSidebarComponent/index.tsx | 8 ++++++-- src/frontend/src/pages/FlowPage/index.tsx | 2 +- 6 files changed, 21 insertions(+), 13 deletions(-) diff --git a/src/frontend/src/CustomNodes/GenericNode/index.tsx b/src/frontend/src/CustomNodes/GenericNode/index.tsx index 5c0248ae4..94e1ee6bd 100644 --- a/src/frontend/src/CustomNodes/GenericNode/index.tsx +++ b/src/frontend/src/CustomNodes/GenericNode/index.tsx @@ -174,7 +174,7 @@ export default function GenericNode({ validationStatus && validationStatus.valid ? "w-4 h-4 rounded-full bg-green-500 opacity-100" : "w-4 h-4 rounded-full bg-gray-500 opacity-0 hidden animate-spin", - "absolute w-4 hover:text-gray-500 hover:dark:text-gray-300 transition-all ease-in-out duration-200" + "absolute w-4 hover:text-gray-500 hover:dark:text-gray-300 transition-all ease-in-out duration-200" )} >
-
diff --git a/src/frontend/src/components/floatComponent/index.tsx b/src/frontend/src/components/floatComponent/index.tsx index 4c4d0ad9a..c6b1befe3 100644 --- a/src/frontend/src/components/floatComponent/index.tsx +++ b/src/frontend/src/components/floatComponent/index.tsx @@ -15,7 +15,11 @@ export default function FloatComponent({ } }, [disabled, onChange]); return ( -
+
{ diff --git a/src/frontend/src/contexts/tabsContext.tsx b/src/frontend/src/contexts/tabsContext.tsx index 480a154f8..f8015a21e 100644 --- a/src/frontend/src/contexts/tabsContext.tsx +++ b/src/frontend/src/contexts/tabsContext.tsx @@ -89,7 +89,7 @@ export function TabsProvider({ children }: { children: ReactNode }) { cookieObject.flows.forEach((flow) => { flow.data.edges.forEach((edge) => { edge.className = ""; - edge.style = { stroke: "#222222" }; + edge.style = { stroke: "#555555" }; }); flow.data.nodes.forEach((node) => { if (Object.keys(templates[node.data.type]["template"]).length > 0) { @@ -295,7 +295,7 @@ export function TabsProvider({ children }: { children: ReactNode }) { if (data) { data.edges.forEach((edge) => { edge.className = ""; - edge.style = { stroke: "#222222" }; + edge.style = { stroke: "#555555" }; }); data.nodes.forEach((node) => { if (Object.keys(templates[node.data.type]["template"]).length > 0) { diff --git a/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx b/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx index eb2581225..b88e13586 100644 --- a/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx +++ b/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx @@ -15,7 +15,9 @@ export default function ExtraSidebar() { ) { //start drag event var crt = event.currentTarget.cloneNode(true); - crt.style.position = "absolute"; crt.style.top = "-500px"; crt.style.right = "-500px"; + crt.style.position = "absolute"; + crt.style.top = "-500px"; + crt.style.right = "-500px"; crt.classList.add("cursor-grabbing"); document.body.appendChild(crt); event.dataTransfer.setDragImage(crt, 0, 0); @@ -60,7 +62,9 @@ export default function ExtraSidebar() { } onDragEnd={() => { document.body.removeChild( - document.getElementsByClassName("cursor-grabbing")[0] + document.getElementsByClassName( + "cursor-grabbing" + )[0] ); }} > diff --git a/src/frontend/src/pages/FlowPage/index.tsx b/src/frontend/src/pages/FlowPage/index.tsx index d8112410d..3216b44e4 100644 --- a/src/frontend/src/pages/FlowPage/index.tsx +++ b/src/frontend/src/pages/FlowPage/index.tsx @@ -154,7 +154,7 @@ export default function FlowPage({ flow }: { flow: FlowType }) { style: params.targetHandle.split("|")[0] === "Text" ? { stroke: "#333333", strokeWidth: 2 } - : { stroke: "#222222" }, + : { stroke: "#555555" }, animated: params.targetHandle.split("|")[0] === "Text", }, eds From 44faf64e09fe560db21a3ba219f3e991026ebd32 Mon Sep 17 00:00:00 2001 From: Gabriel Almeida Date: Mon, 29 May 2023 23:45:13 -0300 Subject: [PATCH 29/69] =?UTF-8?q?=F0=9F=94=A8=20refactor(utils.ts):=20rena?= =?UTF-8?q?me=20nodeIcons=20keys=20to=20improve=20semantics=20The=20keys?= =?UTF-8?q?=20of=20the=20nodeIcons=20object=20have=20been=20renamed=20to?= =?UTF-8?q?=20improve=20semantics=20and=20readability.=20The=20new=20names?= =?UTF-8?q?=20are=20more=20descriptive=20of=20the=20functionality=20of=20t?= =?UTF-8?q?he=20corresponding=20icons.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/frontend/src/utils.ts | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/src/frontend/src/utils.ts b/src/frontend/src/utils.ts index be7314ade..2c895938c 100644 --- a/src/frontend/src/utils.ts +++ b/src/frontend/src/utils.ts @@ -149,29 +149,33 @@ export const nodeIcons: { >; } = { Chroma: ChromaIcon, - Airbyte: AirbyteIcon, - AzLogo: AzIcon, - Bing: BingIcon, + AirbyteJSONLoader: AirbyteIcon, + // AZLyricsLoader: AzIcon, + BingSearchAPIWrapper: BingIcon, Cohere: CohereIcon, - Evernote: EvernoteIcon, - FacebookMessenger: FBIcon, - GitBook: GitBookIcon, - Google: GoogleIcon, - HackerNews: HackerNewsIcon, - HuggingFace: HugginFaceIcon, - IFixIt: IFixIcon, + CohereEmbeddings: CohereIcon, + EverNoteLoader: EvernoteIcon, + FacebookChatLoader: FBIcon, + GitbookLoader: GitBookIcon, + GoogleSearchAPIWrapper: GoogleIcon, + HNLoader: HackerNewsIcon, + HuggingFaceHub: HugginFaceIcon, + HuggingFaceEmbeddings: HugginFaceIcon, + IFixitLoader: IFixIcon, Meta: MetaIcon, Midjorney: MidjorneyIcon, - Notion: NotionIcon, - OpenAi: OpenAiIcon, + NotionDirectoryLoader: NotionIcon, + ChatOpenAI: OpenAiIcon, + OpenAI: OpenAiIcon, + OpenAIEmbeddings: OpenAiIcon, PowerPoint: PowerPointIcon, - QDrant: QDrantIcon, + Qdrant: QDrantIcon, ReadTheDocs: ReadTheDocsIcon, Searx: SearxIcon, - Slack: SlackIcon, - Weaviate: WeaviateIcon, - Wikipedia: WikipediaIcon, - Wolfram: WolframIcon, + SlackDirectoryLoader: SlackIcon, + // Weaviate: WeaviateIcon, + // WikipediaAPIWrapper: WikipediaIcon, + WolframAlphaQueryRun: WolframIcon, Word: WordIcon, agents: RocketLaunchIcon, chains: LinkIcon, From c9403b6433fba97dc50f3ba713c026230cfc74f3 Mon Sep 17 00:00:00 2001 From: Cristhian Zanforlin Lousa Date: Tue, 30 May 2023 00:03:27 -0300 Subject: [PATCH 30/69] Adding the trash icon and height icons --- src/frontend/src/CustomNodes/GenericNode/index.tsx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/frontend/src/CustomNodes/GenericNode/index.tsx b/src/frontend/src/CustomNodes/GenericNode/index.tsx index 94e1ee6bd..83806455b 100644 --- a/src/frontend/src/CustomNodes/GenericNode/index.tsx +++ b/src/frontend/src/CustomNodes/GenericNode/index.tsx @@ -149,11 +149,19 @@ export default function GenericNode({ ) ? "" : "hidden", - "w-6 h-6 dark:text-gray-300" + "w-5 h-5 dark:text-gray-300" )} > + +
-
+
Date: Tue, 30 May 2023 00:16:19 -0300 Subject: [PATCH 31/69] fix refresh error --- src/frontend/src/contexts/tabsContext.tsx | 33 ++++++++++---------- src/frontend/src/icons/Serper/index.tsx | 8 +++++ src/frontend/src/icons/Serper/serper.svg | 38 +++++++++++++++++++++++ src/frontend/src/utils.ts | 7 ++++- 4 files changed, 69 insertions(+), 17 deletions(-) create mode 100644 src/frontend/src/icons/Serper/index.tsx create mode 100644 src/frontend/src/icons/Serper/serper.svg diff --git a/src/frontend/src/contexts/tabsContext.tsx b/src/frontend/src/contexts/tabsContext.tsx index 480a154f8..ff882e1b6 100644 --- a/src/frontend/src/contexts/tabsContext.tsx +++ b/src/frontend/src/contexts/tabsContext.tsx @@ -21,24 +21,24 @@ import { v4 as uuidv4 } from "uuid"; import { addEdge } from "reactflow"; const TabsContextInitialValue: TabsContextType = { - save: () => {}, + save: () => { }, tabIndex: 0, - setTabIndex: (index: number) => {}, + setTabIndex: (index: number) => { }, flows: [], - removeFlow: (id: string) => {}, - addFlow: (flowData?: any) => {}, - updateFlow: (newFlow: FlowType) => {}, + removeFlow: (id: string) => { }, + addFlow: (flowData?: any) => { }, + updateFlow: (newFlow: FlowType) => { }, incrementNodeId: () => uuidv4(), - downloadFlow: (flow: FlowType) => {}, - uploadFlow: () => {}, - hardReset: () => {}, + downloadFlow: (flow: FlowType) => { }, + uploadFlow: () => { }, + hardReset: () => { }, disableCopyPaste: false, - setDisableCopyPaste: (state: boolean) => {}, + setDisableCopyPaste: (state: boolean) => { }, getNodeId: () => "", paste: ( selection: { nodes: any; edges: any }, position: { x: number; y: number } - ) => {}, + ) => { }, }; export const TabsContext = createContext( @@ -59,7 +59,7 @@ export function TabsProvider({ children }: { children: ReactNode }) { } function save() { let Saveflows = [...flows]; - if (Saveflows.length !== 0) + if (Saveflows.length !== 0) { Saveflows.forEach((flow) => { if (flow.data && flow.data?.nodes) flow.data?.nodes.forEach((node) => { @@ -71,10 +71,11 @@ export function TabsProvider({ children }: { children: ReactNode }) { }); }); }); - window.localStorage.setItem( - "tabsData", - JSON.stringify({ tabIndex, flows: Saveflows, id }) - ); + window.localStorage.setItem( + "tabsData", + JSON.stringify({ tabIndex, flows: Saveflows, id }) + ); + } } useEffect(() => { //save tabs locally @@ -108,7 +109,7 @@ export function TabsProvider({ children }: { children: ReactNode }) { templates[node.data.type]["description"]; node.data.node.template = updateTemplate( templates[node.data.type][ - "template" + "template" ] as unknown as APITemplateType, node.data.node.template as APITemplateType diff --git a/src/frontend/src/icons/Serper/index.tsx b/src/frontend/src/icons/Serper/index.tsx new file mode 100644 index 000000000..2100695ff --- /dev/null +++ b/src/frontend/src/icons/Serper/index.tsx @@ -0,0 +1,8 @@ +import React, { forwardRef } from "react"; +import { ReactComponent as SerperSVG } from "./serper.svg"; + +export const SerperIcon = forwardRef>( + (props, ref) => { + return ; + } +); \ No newline at end of file diff --git a/src/frontend/src/icons/Serper/serper.svg b/src/frontend/src/icons/Serper/serper.svg new file mode 100644 index 000000000..a984dbfe8 --- /dev/null +++ b/src/frontend/src/icons/Serper/serper.svg @@ -0,0 +1,38 @@ + + + + diff --git a/src/frontend/src/utils.ts b/src/frontend/src/utils.ts index 2c895938c..5f8e85242 100644 --- a/src/frontend/src/utils.ts +++ b/src/frontend/src/utils.ts @@ -45,6 +45,7 @@ import { WeaviateIcon } from "./icons/Weaviate"; import { WikipediaIcon } from "./icons/Wikipedia"; import { WolframIcon } from "./icons/Wolfram"; import { WordIcon } from "./icons/Word"; +import { SerperIcon } from "./icons/Serper"; import { v4 as uuidv4 } from "uuid"; export function classNames(...classes: Array) { @@ -150,6 +151,7 @@ export const nodeIcons: { } = { Chroma: ChromaIcon, AirbyteJSONLoader: AirbyteIcon, + // SerpAPIWrapper: SerperIcon, // AZLyricsLoader: AzIcon, BingSearchAPIWrapper: BingIcon, Cohere: CohereIcon, @@ -158,6 +160,8 @@ export const nodeIcons: { FacebookChatLoader: FBIcon, GitbookLoader: GitBookIcon, GoogleSearchAPIWrapper: GoogleIcon, + GoogleSearchResults: GoogleIcon, + GoogleSearchRun: GoogleIcon, HNLoader: HackerNewsIcon, HuggingFaceHub: HugginFaceIcon, HuggingFaceEmbeddings: HugginFaceIcon, @@ -175,7 +179,8 @@ export const nodeIcons: { SlackDirectoryLoader: SlackIcon, // Weaviate: WeaviateIcon, // WikipediaAPIWrapper: WikipediaIcon, - WolframAlphaQueryRun: WolframIcon, + // WolframAlphaQueryRun: WolframIcon, + // WolframAlphaAPIWrapper: WolframIcon, Word: WordIcon, agents: RocketLaunchIcon, chains: LinkIcon, From 8a2cf0f72141c00406f07be0740c327be6740253 Mon Sep 17 00:00:00 2001 From: anovazzi1 Date: Tue, 30 May 2023 00:16:30 -0300 Subject: [PATCH 32/69] format --- src/frontend/src/contexts/tabsContext.tsx | 22 +++++++++++----------- src/frontend/src/icons/Serper/index.tsx | 11 ++++++----- src/frontend/src/utils.ts | 2 +- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/frontend/src/contexts/tabsContext.tsx b/src/frontend/src/contexts/tabsContext.tsx index ff882e1b6..1a95d3157 100644 --- a/src/frontend/src/contexts/tabsContext.tsx +++ b/src/frontend/src/contexts/tabsContext.tsx @@ -21,24 +21,24 @@ import { v4 as uuidv4 } from "uuid"; import { addEdge } from "reactflow"; const TabsContextInitialValue: TabsContextType = { - save: () => { }, + save: () => {}, tabIndex: 0, - setTabIndex: (index: number) => { }, + setTabIndex: (index: number) => {}, flows: [], - removeFlow: (id: string) => { }, - addFlow: (flowData?: any) => { }, - updateFlow: (newFlow: FlowType) => { }, + removeFlow: (id: string) => {}, + addFlow: (flowData?: any) => {}, + updateFlow: (newFlow: FlowType) => {}, incrementNodeId: () => uuidv4(), - downloadFlow: (flow: FlowType) => { }, - uploadFlow: () => { }, - hardReset: () => { }, + downloadFlow: (flow: FlowType) => {}, + uploadFlow: () => {}, + hardReset: () => {}, disableCopyPaste: false, - setDisableCopyPaste: (state: boolean) => { }, + setDisableCopyPaste: (state: boolean) => {}, getNodeId: () => "", paste: ( selection: { nodes: any; edges: any }, position: { x: number; y: number } - ) => { }, + ) => {}, }; export const TabsContext = createContext( @@ -109,7 +109,7 @@ export function TabsProvider({ children }: { children: ReactNode }) { templates[node.data.type]["description"]; node.data.node.template = updateTemplate( templates[node.data.type][ - "template" + "template" ] as unknown as APITemplateType, node.data.node.template as APITemplateType diff --git a/src/frontend/src/icons/Serper/index.tsx b/src/frontend/src/icons/Serper/index.tsx index 2100695ff..77ea58077 100644 --- a/src/frontend/src/icons/Serper/index.tsx +++ b/src/frontend/src/icons/Serper/index.tsx @@ -1,8 +1,9 @@ import React, { forwardRef } from "react"; import { ReactComponent as SerperSVG } from "./serper.svg"; -export const SerperIcon = forwardRef>( - (props, ref) => { - return ; - } -); \ No newline at end of file +export const SerperIcon = forwardRef< + SVGSVGElement, + React.PropsWithChildren<{}> +>((props, ref) => { + return ; +}); diff --git a/src/frontend/src/utils.ts b/src/frontend/src/utils.ts index 5f8e85242..cebf4fb02 100644 --- a/src/frontend/src/utils.ts +++ b/src/frontend/src/utils.ts @@ -180,7 +180,7 @@ export const nodeIcons: { // Weaviate: WeaviateIcon, // WikipediaAPIWrapper: WikipediaIcon, // WolframAlphaQueryRun: WolframIcon, - // WolframAlphaAPIWrapper: WolframIcon, + // WolframAlphaAPIWrapper: WolframIcon, Word: WordIcon, agents: RocketLaunchIcon, chains: LinkIcon, From 82a8b633a6b3395096276ace308d96dcd945f17a Mon Sep 17 00:00:00 2001 From: anovazzi1 Date: Tue, 30 May 2023 00:40:50 -0300 Subject: [PATCH 33/69] new save function to prevent break with large files --- src/frontend/src/contexts/tabsContext.tsx | 38 +++++++++++++---------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/src/frontend/src/contexts/tabsContext.tsx b/src/frontend/src/contexts/tabsContext.tsx index 1a95d3157..2c3103477 100644 --- a/src/frontend/src/contexts/tabsContext.tsx +++ b/src/frontend/src/contexts/tabsContext.tsx @@ -19,6 +19,7 @@ import { typesContext } from "./typesContext"; import { APITemplateType, TemplateVariableType } from "../types/api"; import { v4 as uuidv4 } from "uuid"; import { addEdge } from "reactflow"; +import _ from "lodash"; const TabsContextInitialValue: TabsContextType = { save: () => {}, @@ -58,25 +59,30 @@ export function TabsProvider({ children }: { children: ReactNode }) { return newNodeId.current; } function save() { - let Saveflows = [...flows]; - if (Saveflows.length !== 0) { + // added clone deep to avoid mutating the original object + let Saveflows = _.cloneDeep(flows); + if (Saveflows.length !== 0){ Saveflows.forEach((flow) => { - if (flow.data && flow.data?.nodes) - flow.data?.nodes.forEach((node) => { - Object.keys(node.data.node.template).forEach((key) => { - if (node.data.node.template[key].type === "file") { - // ! Commenting this out for now, as it is causing issues with the file upload - // node.data.node.template[key].content = ""; - } - }); - }); - }); + if(flow.data && flow.data?.nodes) flow.data?.nodes.forEach((node) => { + console.log(node.data.type) + //looking for file fields to prevent saving the content and breaking the flow for exceeding the the data limite for local storage + Object.keys(node.data.node.template).forEach((key) => { + console.log(node.data.node.template[key].type) + if(node.data.node.template[key].type==="file"){ + console.log(node.data.node.template[key]) + node.data.node.template[key].content = null; + node.data.node.template[key].value = ""; + + } + }) + }) + }) window.localStorage.setItem( - "tabsData", - JSON.stringify({ tabIndex, flows: Saveflows, id }) - ); + "tabsData", + JSON.stringify({ tabIndex, flows:Saveflows, id}) + ); } - } + } useEffect(() => { //save tabs locally save(); From 1981321b1a6b73754f647772c1c51efc6f39d98b Mon Sep 17 00:00:00 2001 From: anovazzi1 Date: Tue, 30 May 2023 00:41:07 -0300 Subject: [PATCH 34/69] format --- src/frontend/src/contexts/tabsContext.tsx | 40 +++++++++++------------ 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/src/frontend/src/contexts/tabsContext.tsx b/src/frontend/src/contexts/tabsContext.tsx index 2c3103477..18927a480 100644 --- a/src/frontend/src/contexts/tabsContext.tsx +++ b/src/frontend/src/contexts/tabsContext.tsx @@ -60,29 +60,29 @@ export function TabsProvider({ children }: { children: ReactNode }) { } function save() { // added clone deep to avoid mutating the original object - let Saveflows = _.cloneDeep(flows); - if (Saveflows.length !== 0){ + let Saveflows = _.cloneDeep(flows); + if (Saveflows.length !== 0) { Saveflows.forEach((flow) => { - if(flow.data && flow.data?.nodes) flow.data?.nodes.forEach((node) => { - console.log(node.data.type) - //looking for file fields to prevent saving the content and breaking the flow for exceeding the the data limite for local storage - Object.keys(node.data.node.template).forEach((key) => { - console.log(node.data.node.template[key].type) - if(node.data.node.template[key].type==="file"){ - console.log(node.data.node.template[key]) - node.data.node.template[key].content = null; - node.data.node.template[key].value = ""; - - } - }) - }) - }) + if (flow.data && flow.data?.nodes) + flow.data?.nodes.forEach((node) => { + console.log(node.data.type); + //looking for file fields to prevent saving the content and breaking the flow for exceeding the the data limite for local storage + Object.keys(node.data.node.template).forEach((key) => { + console.log(node.data.node.template[key].type); + if (node.data.node.template[key].type === "file") { + console.log(node.data.node.template[key]); + node.data.node.template[key].content = null; + node.data.node.template[key].value = ""; + } + }); + }); + }); window.localStorage.setItem( - "tabsData", - JSON.stringify({ tabIndex, flows:Saveflows, id}) - ); + "tabsData", + JSON.stringify({ tabIndex, flows: Saveflows, id }) + ); } - } + } useEffect(() => { //save tabs locally save(); From 6f80c7a6c2ad2f09f867dd41b9403d9ccdf6314b Mon Sep 17 00:00:00 2001 From: Lucas Oliveira Date: Tue, 30 May 2023 10:16:20 -0300 Subject: [PATCH 35/69] Fixed stroke color on dark mode --- src/frontend/src/pages/FlowPage/index.tsx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/frontend/src/pages/FlowPage/index.tsx b/src/frontend/src/pages/FlowPage/index.tsx index 3216b44e4..69fa6eb08 100644 --- a/src/frontend/src/pages/FlowPage/index.tsx +++ b/src/frontend/src/pages/FlowPage/index.tsx @@ -151,10 +151,11 @@ export default function FlowPage({ flow }: { flow: FlowType }) { addEdge( { ...params, - style: + style: { stroke: "inherit" }, + className: params.targetHandle.split("|")[0] === "Text" - ? { stroke: "#333333", strokeWidth: 2 } - : { stroke: "#555555" }, + ? "stroke-gray-800 dark:stroke-gray-300" + : "stroke-gray-900 dark:stroke-gray-200", animated: params.targetHandle.split("|")[0] === "Text", }, eds From 6ac4e427ee734a20d26d139a00922405533dc7aa Mon Sep 17 00:00:00 2001 From: Lucas Oliveira Date: Tue, 30 May 2023 10:21:26 -0300 Subject: [PATCH 36/69] Added stroke fix on Paste and Add Flow --- src/frontend/src/contexts/tabsContext.tsx | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/frontend/src/contexts/tabsContext.tsx b/src/frontend/src/contexts/tabsContext.tsx index f8015a21e..172bc9ff4 100644 --- a/src/frontend/src/contexts/tabsContext.tsx +++ b/src/frontend/src/contexts/tabsContext.tsx @@ -278,7 +278,12 @@ export function TabsProvider({ children }: { children: ReactNode }) { sourceHandle, targetHandle, id, - className: "animate-pulse", + style: { stroke: "inherit" }, + className: + targetHandle.split("|")[0] === "Text" + ? "stroke-gray-800 dark:stroke-gray-300" + : "stroke-gray-900 dark:stroke-gray-200", + animated: targetHandle.split("|")[0] === "Text", selected: false, }, edges.map((e) => ({ ...e, selected: false })) @@ -294,8 +299,12 @@ export function TabsProvider({ children }: { children: ReactNode }) { const description = flow?.description ? flow.description : ""; if (data) { data.edges.forEach((edge) => { - edge.className = ""; - edge.style = { stroke: "#555555" }; + edge.style = { stroke: "inherit" }; + edge.className = + edge.targetHandle.split("|")[0] === "Text" + ? "stroke-gray-800 dark:stroke-gray-300" + : "stroke-gray-900 dark:stroke-gray-200"; + edge.animated = edge.targetHandle.split("|")[0] === "Text"; }); data.nodes.forEach((node) => { if (Object.keys(templates[node.data.type]["template"]).length > 0) { From 6fa08264df99d5c982330654cc55738c227d2456 Mon Sep 17 00:00:00 2001 From: Lucas Oliveira Date: Tue, 30 May 2023 10:36:56 -0300 Subject: [PATCH 37/69] Fixed copy paste on int and float parameters --- .../components/parameterComponent/index.tsx | 2 ++ .../src/components/floatComponent/index.tsx | 9 +++++++++ .../src/components/intComponent/index.tsx | 16 ++++++++++++++++ src/frontend/src/types/components/index.ts | 1 + 4 files changed, 28 insertions(+) diff --git a/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx b/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx index 5668b5430..653248763 100644 --- a/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx +++ b/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx @@ -144,6 +144,7 @@ export default function ParameterComponent({ ) : left === true && type === "float" ? ( { data.node.template[name].value = t; @@ -184,6 +185,7 @@ export default function ParameterComponent({ ) : left === true && type === "int" ? ( { data.node.template[name].value = t; diff --git a/src/frontend/src/components/floatComponent/index.tsx b/src/frontend/src/components/floatComponent/index.tsx index c6b1befe3..1fe3e3f76 100644 --- a/src/frontend/src/components/floatComponent/index.tsx +++ b/src/frontend/src/components/floatComponent/index.tsx @@ -5,9 +5,12 @@ import { TabsContext } from "../../contexts/tabsContext"; export default function FloatComponent({ value, onChange, + disableCopyPaste = false, disabled, }: FloatComponentType) { const [myValue, setMyValue] = useState(value ?? ""); + const { setDisableCopyPaste } = useContext(TabsContext); + useEffect(() => { if (disabled) { setMyValue(""); @@ -21,6 +24,12 @@ export default function FloatComponent({ } > { + if (disableCopyPaste) setDisableCopyPaste(true); + }} + onBlur={() => { + if (disableCopyPaste) setDisableCopyPaste(false); + }} type="number" value={myValue} className={ diff --git a/src/frontend/src/components/intComponent/index.tsx b/src/frontend/src/components/intComponent/index.tsx index 6353dff60..5ca68c5ce 100644 --- a/src/frontend/src/components/intComponent/index.tsx +++ b/src/frontend/src/components/intComponent/index.tsx @@ -5,9 +5,12 @@ import { TabsContext } from "../../contexts/tabsContext"; export default function IntComponent({ value, onChange, + disableCopyPaste = false, disabled, }: FloatComponentType) { const [myValue, setMyValue] = useState(value ?? ""); + const { setDisableCopyPaste } = useContext(TabsContext); + useEffect(() => { if (disabled) { setMyValue(""); @@ -22,13 +25,26 @@ export default function IntComponent({ } > { + if (disableCopyPaste) setDisableCopyPaste(true); + }} + onBlur={() => { + if (disableCopyPaste) setDisableCopyPaste(false); + }} onKeyDown={(event) => { + console.log(event); if ( event.key !== "Backspace" && event.key !== "Enter" && event.key !== "Delete" && event.key !== "ArrowLeft" && event.key !== "ArrowRight" && + event.key !== "Control" && + event.key !== "Meta" && + event.key !== "Shift" && + event.key !== "c" && + event.key !== "v" && + event.key !== "a" && !/^[-]?\d*$/.test(event.key) ) { event.preventDefault(); diff --git a/src/frontend/src/types/components/index.ts b/src/frontend/src/types/components/index.ts index e660e1c4d..e7559023a 100644 --- a/src/frontend/src/types/components/index.ts +++ b/src/frontend/src/types/components/index.ts @@ -69,6 +69,7 @@ export type DisclosureComponentType = { export type FloatComponentType = { value: string; disabled?: boolean; + disableCopyPaste?: boolean; onChange: (value: string) => void; }; From 9c8bd4b0a515c76ae95c3d7769b2d79bc69c5f0b Mon Sep 17 00:00:00 2001 From: Lucas Oliveira Date: Tue, 30 May 2023 10:38:59 -0300 Subject: [PATCH 38/69] Fixed node moving when selecting with arrow --- src/frontend/src/pages/FlowPage/index.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/frontend/src/pages/FlowPage/index.tsx b/src/frontend/src/pages/FlowPage/index.tsx index 69fa6eb08..9d66f06fe 100644 --- a/src/frontend/src/pages/FlowPage/index.tsx +++ b/src/frontend/src/pages/FlowPage/index.tsx @@ -324,6 +324,7 @@ export default function FlowPage({ flow }: { flow: FlowType }) { onNodesChange={onNodesChange} onEdgesChange={onEdgesChangeMod} onConnect={onConnect} + disableKeyboardA11y={true} onLoad={setReactFlowInstance} onInit={setReactFlowInstance} nodeTypes={nodeTypes} From ea59375ba58640fc890e1d761fc173c8bdd3da8e Mon Sep 17 00:00:00 2001 From: Gabriel Almeida Date: Tue, 30 May 2023 10:41:48 -0300 Subject: [PATCH 39/69] =?UTF-8?q?=F0=9F=94=A5=20chore(template):=20delete?= =?UTF-8?q?=20unused=20files=20and=20imports=20This=20commit=20removes=20u?= =?UTF-8?q?nused=20files=20and=20imports=20from=20the=20template=20directo?= =?UTF-8?q?ry.=20The=20deleted=20files=20are=20base.py,=20fields.py,=20and?= =?UTF-8?q?=20nodes.py.=20The=20deleted=20imports=20are=20from=20langflow.?= =?UTF-8?q?template.constants.=20This=20improves=20the=20codebase=20by=20r?= =?UTF-8?q?emoving=20unnecessary=20code=20and=20reducing=20clutter.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ✨ feat(frontend_node): add constants module This commit adds a new module called constants to the frontend_node directory. The module contains constants used in the frontend_node module. The constants are FORCE_SHOW_FIELDS, DEFAULT_PROMPT, SYSTEM_PROMPT, and HUMAN_PROMPT. This improves the codebase by centralizing the constants in one module. πŸ› fix(frontend_node): use ast.literal_eval instead of eval This commit fixes a security vulnerability by replacing the use of eval with ast.literal_eval in the UtilitiesFrontendNode class. The method converts a string representation of a list to an actual list. The use of eval is dangerous as it can execute arbitrary code. This improves the codebase by making it more secure. --- src/backend/langflow/template/base.py | 1 - src/backend/langflow/template/fields.py | 0 src/backend/langflow/template/frontend_node/base.py | 2 +- .../langflow/template/{ => frontend_node}/constants.py | 0 src/backend/langflow/template/frontend_node/prompts.py | 6 +++++- src/backend/langflow/template/frontend_node/utilities.py | 3 ++- src/backend/langflow/template/nodes.py | 1 - src/backend/langflow/utils/util.py | 2 +- 8 files changed, 9 insertions(+), 6 deletions(-) delete mode 100644 src/backend/langflow/template/base.py delete mode 100644 src/backend/langflow/template/fields.py rename src/backend/langflow/template/{ => frontend_node}/constants.py (100%) delete mode 100644 src/backend/langflow/template/nodes.py diff --git a/src/backend/langflow/template/base.py b/src/backend/langflow/template/base.py deleted file mode 100644 index 8b1378917..000000000 --- a/src/backend/langflow/template/base.py +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/backend/langflow/template/fields.py b/src/backend/langflow/template/fields.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/backend/langflow/template/frontend_node/base.py b/src/backend/langflow/template/frontend_node/base.py index cb762f28e..a64195813 100644 --- a/src/backend/langflow/template/frontend_node/base.py +++ b/src/backend/langflow/template/frontend_node/base.py @@ -3,7 +3,7 @@ from typing import List, Optional from pydantic import BaseModel -from langflow.template.constants import FORCE_SHOW_FIELDS +from langflow.template.frontend_node.constants import FORCE_SHOW_FIELDS from langflow.template.field.base import TemplateField from langflow.template.template.base import Template from langflow.utils import constants diff --git a/src/backend/langflow/template/constants.py b/src/backend/langflow/template/frontend_node/constants.py similarity index 100% rename from src/backend/langflow/template/constants.py rename to src/backend/langflow/template/frontend_node/constants.py diff --git a/src/backend/langflow/template/frontend_node/prompts.py b/src/backend/langflow/template/frontend_node/prompts.py index 7d7b1cde2..8738f1795 100644 --- a/src/backend/langflow/template/frontend_node/prompts.py +++ b/src/backend/langflow/template/frontend_node/prompts.py @@ -2,7 +2,11 @@ from typing import Optional from langchain.agents.mrkl import prompt -from langflow.template.constants import DEFAULT_PROMPT, HUMAN_PROMPT, SYSTEM_PROMPT +from langflow.template.frontend_node.constants import ( + DEFAULT_PROMPT, + HUMAN_PROMPT, + SYSTEM_PROMPT, +) from langflow.template.field.base import TemplateField from langflow.template.frontend_node.base import FrontendNode from langflow.template.template.base import Template diff --git a/src/backend/langflow/template/frontend_node/utilities.py b/src/backend/langflow/template/frontend_node/utilities.py index 77d01a23e..615d7d12f 100644 --- a/src/backend/langflow/template/frontend_node/utilities.py +++ b/src/backend/langflow/template/frontend_node/utilities.py @@ -1,3 +1,4 @@ +import ast import json from typing import Optional @@ -12,7 +13,7 @@ class UtilitiesFrontendNode(FrontendNode): # field.field_type could be "Literal['news', 'search', 'places', 'images'] # we need to convert it to a list if "Literal" in field.field_type: - field.options = eval(field.field_type.replace("Literal", "")) + field.options = ast.literal_eval(field.field_type.replace("Literal", "")) field.is_list = True field.field_type = "str" diff --git a/src/backend/langflow/template/nodes.py b/src/backend/langflow/template/nodes.py deleted file mode 100644 index 8b1378917..000000000 --- a/src/backend/langflow/template/nodes.py +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/backend/langflow/utils/util.py b/src/backend/langflow/utils/util.py index 0c9a18335..293d31154 100644 --- a/src/backend/langflow/utils/util.py +++ b/src/backend/langflow/utils/util.py @@ -6,7 +6,7 @@ from typing import Dict, Optional from docstring_parser import parse # type: ignore -from langflow.template.constants import FORCE_SHOW_FIELDS +from langflow.template.frontend_node.constants import FORCE_SHOW_FIELDS from langflow.utils import constants From 7d014f0372a8430b4f3d8b3d932a096ec818b619 Mon Sep 17 00:00:00 2001 From: Gabriel Almeida Date: Tue, 30 May 2023 10:44:10 -0300 Subject: [PATCH 40/69] =?UTF-8?q?=F0=9F=8E=A8=20style(modals):=20simplify?= =?UTF-8?q?=20modal=20titles=20The=20modal=20titles=20were=20simplified=20?= =?UTF-8?q?to=20remove=20the=20unnecessary=20"as"=20preposition=20and=20to?= =?UTF-8?q?=20make=20them=20more=20concise.=20The=20"Export=20as"=20and=20?= =?UTF-8?q?"Import=20from"=20titles=20were=20changed=20to=20"Export"=20and?= =?UTF-8?q?=20"Import"=20respectively.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/frontend/src/modals/exportModal/index.tsx | 2 +- src/frontend/src/modals/importModal/index.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/frontend/src/modals/exportModal/index.tsx b/src/frontend/src/modals/exportModal/index.tsx index 6bcedc60c..8aff12586 100644 --- a/src/frontend/src/modals/exportModal/index.tsx +++ b/src/frontend/src/modals/exportModal/index.tsx @@ -84,7 +84,7 @@ export default function ExportModal() { as="h3" className="text-lg font-medium dark:text-white leading-10 text-gray-900" > - Export as + Export
diff --git a/src/frontend/src/modals/importModal/index.tsx b/src/frontend/src/modals/importModal/index.tsx index aa25e058b..d0808c541 100644 --- a/src/frontend/src/modals/importModal/index.tsx +++ b/src/frontend/src/modals/importModal/index.tsx @@ -124,7 +124,7 @@ export default function ImportModal() { as="h3" className="text-lg font-medium dark:text-white leading-10 text-gray-900" > - {showExamples ? "Select an example" : "Import from"} + {showExamples ? "Select an example" : "Import"}
From bc198bd2375bd07720e88037792c512a747e452c Mon Sep 17 00:00:00 2001 From: Lucas Oliveira Date: Tue, 30 May 2023 10:44:47 -0300 Subject: [PATCH 41/69] Removed Markdown from user message on chat --- src/frontend/src/modals/chatModal/chatMessage/index.tsx | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/frontend/src/modals/chatModal/chatMessage/index.tsx b/src/frontend/src/modals/chatModal/chatMessage/index.tsx index 5e0f3e051..c456ad6a9 100644 --- a/src/frontend/src/modals/chatModal/chatMessage/index.tsx +++ b/src/frontend/src/modals/chatModal/chatMessage/index.tsx @@ -151,13 +151,7 @@ export default function ChatMessage({ ) : (
- - {message} - +
{message}
)} From f6fac380bbcf743493038071cb80250e0cf6bef2 Mon Sep 17 00:00:00 2001 From: Lucas Oliveira Date: Tue, 30 May 2023 10:50:29 -0300 Subject: [PATCH 42/69] Fixed node moving when trying to select text --- src/frontend/src/pages/FlowPage/index.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/frontend/src/pages/FlowPage/index.tsx b/src/frontend/src/pages/FlowPage/index.tsx index 9d66f06fe..caaddfe0d 100644 --- a/src/frontend/src/pages/FlowPage/index.tsx +++ b/src/frontend/src/pages/FlowPage/index.tsx @@ -341,6 +341,8 @@ export default function FlowPage({ flow }: { flow: FlowType }) { onDrop={onDrop} onNodesDelete={onDelete} onSelectionChange={onSelectionChange} + nodesDraggable={!disableCopyPaste} + panOnDrag={!disableCopyPaste} selectNodesOnDrag={false} > From a0996e3420920d943573d78879fe1ccb2cb7b182 Mon Sep 17 00:00:00 2001 From: Lucas Oliveira Date: Tue, 30 May 2023 11:06:20 -0300 Subject: [PATCH 43/69] Fixed line breaks not appearing on messages --- src/frontend/src/modals/chatModal/chatMessage/index.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/frontend/src/modals/chatModal/chatMessage/index.tsx b/src/frontend/src/modals/chatModal/chatMessage/index.tsx index c456ad6a9..2db84adbc 100644 --- a/src/frontend/src/modals/chatModal/chatMessage/index.tsx +++ b/src/frontend/src/modals/chatModal/chatMessage/index.tsx @@ -151,7 +151,12 @@ export default function ChatMessage({ ) : (
-
{message}
+ "), + }} + >
)} From 4ae1ef0faae59c067f777686b088383c21b3a252 Mon Sep 17 00:00:00 2001 From: Gabriel Almeida Date: Tue, 30 May 2023 11:46:14 -0300 Subject: [PATCH 44/69] =?UTF-8?q?=F0=9F=9A=80=20feat(utils.ts):=20add=20Bi?= =?UTF-8?q?ngSearchRun=20to=20nodeIcons=20The=20BingSearchRun=20node=20is?= =?UTF-8?q?=20now=20included=20in=20the=20nodeIcons=20object.=20This=20all?= =?UTF-8?q?ows=20the=20application=20to=20display=20the=20BingSearchRun=20?= =?UTF-8?q?icon=20in=20the=20UI.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/frontend/src/utils.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/frontend/src/utils.ts b/src/frontend/src/utils.ts index cebf4fb02..b65c40fbc 100644 --- a/src/frontend/src/utils.ts +++ b/src/frontend/src/utils.ts @@ -154,6 +154,7 @@ export const nodeIcons: { // SerpAPIWrapper: SerperIcon, // AZLyricsLoader: AzIcon, BingSearchAPIWrapper: BingIcon, + BingSearchRun: BingIcon, Cohere: CohereIcon, CohereEmbeddings: CohereIcon, EverNoteLoader: EvernoteIcon, From bea040f31a89feb1ee3ad4f119406c48cad7cb09 Mon Sep 17 00:00:00 2001 From: Gabriel Almeida Date: Tue, 30 May 2023 11:47:42 -0300 Subject: [PATCH 45/69] =?UTF-8?q?=F0=9F=90=9B=20fix(GenericNode):=20fix=20?= =?UTF-8?q?validation=20status=20colors=20The=20validation=20status=20colo?= =?UTF-8?q?rs=20were=20swapped,=20causing=20the=20wrong=20color=20to=20be?= =?UTF-8?q?=20displayed=20for=20the=20wrong=20status.=20This=20commit=20fi?= =?UTF-8?q?xes=20the=20issue=20by=20swapping=20the=20colors=20to=20match?= =?UTF-8?q?=20the=20correct=20status.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/frontend/src/CustomNodes/GenericNode/index.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/frontend/src/CustomNodes/GenericNode/index.tsx b/src/frontend/src/CustomNodes/GenericNode/index.tsx index 4f5389dc3..1a7f93ae5 100644 --- a/src/frontend/src/CustomNodes/GenericNode/index.tsx +++ b/src/frontend/src/CustomNodes/GenericNode/index.tsx @@ -189,7 +189,7 @@ export default function GenericNode({ -
+
{chatHistory.length > 0 ? ( chatHistory.map((c, i) => ( From 588f0da625b587a0980574e3c389b7799cdbb390 Mon Sep 17 00:00:00 2001 From: Gabriel Almeida Date: Tue, 30 May 2023 16:09:13 -0300 Subject: [PATCH 51/69] =?UTF-8?q?=F0=9F=94=A5=20refactor(base.py):=20remov?= =?UTF-8?q?e=20unnecessary=20deepcopy=20in=20Node=20class=20The=20deepcopy?= =?UTF-8?q?=20method=20was=20being=20used=20unnecessarily=20in=20the=20Nod?= =?UTF-8?q?e=20class,=20which=20was=20causing=20issues=20with=20certain=20?= =?UTF-8?q?types=20of=20objects.=20The=20method=20has=20been=20removed=20a?= =?UTF-8?q?nd=20replaced=20with=20a=20simple=20return=20statement.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/langflow/graph/base.py | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/src/backend/langflow/graph/base.py b/src/backend/langflow/graph/base.py index 187d2983e..5b64885fb 100644 --- a/src/backend/langflow/graph/base.py +++ b/src/backend/langflow/graph/base.py @@ -212,19 +212,7 @@ class Node: if not self._built or force: self._build() - #! Deepcopy is breaking for vectorstores - if self.base_type in [ - "vectorstores", - "VectorStoreRouterAgent", - "VectorStoreAgent", - "VectorStoreInfo", - ] or self.node_type in [ - "VectorStoreInfo", - "VectorStoreRouterToolkit", - "SQLDatabase", - ]: - return self._built_object - return deepcopy(self._built_object) + return self._built_object def add_edge(self, edge: "Edge") -> None: self.edges.append(edge) From 38148677f1ddd9cb9febb10ba54c8dde6cc38e26 Mon Sep 17 00:00:00 2001 From: Gabriel Almeida Date: Tue, 30 May 2023 16:15:30 -0300 Subject: [PATCH 52/69] =?UTF-8?q?=F0=9F=90=9B=20fix(base.py):=20decrease?= =?UTF-8?q?=20default=20chunk=20size=20from=204000=20to=201000=20The=20def?= =?UTF-8?q?ault=20chunk=20size=20for=20text=20splitting=20has=20been=20dec?= =?UTF-8?q?reased=20from=204000=20to=201000=20to=20improve=20performance?= =?UTF-8?q?=20and=20reduce=20memory=20usage.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/langflow/interface/text_splitters/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/langflow/interface/text_splitters/base.py b/src/backend/langflow/interface/text_splitters/base.py index e58a5bfa6..fbacae4f9 100644 --- a/src/backend/langflow/interface/text_splitters/base.py +++ b/src/backend/langflow/interface/text_splitters/base.py @@ -39,7 +39,7 @@ class TextSplitterCreator(LangChainTypeCreator): "type": "int", "required": True, "show": True, - "value": 4000, + "value": 1000, "name": "chunk_size", "display_name": "Chunk Size", } From 2d52c684c475c65ec919d5ddfd215645d23dad8c Mon Sep 17 00:00:00 2001 From: Gabriel Almeida Date: Tue, 30 May 2023 16:59:38 -0300 Subject: [PATCH 53/69] =?UTF-8?q?=F0=9F=94=A5=20refactor(config.yaml):=20r?= =?UTF-8?q?emove=20HuggingFaceHub=20from=20list=20of=20supported=20models?= =?UTF-8?q?=20=F0=9F=94=A8=20refactor(loading.py):=20convert=20kwargs=20pa?= =?UTF-8?q?ssed=20as=20string=20to=20dict=20The=20HuggingFaceHub=20model?= =?UTF-8?q?=20was=20removed=20from=20the=20list=20of=20supported=20models?= =?UTF-8?q?=20in=20the=20config.yaml=20file.=20The=20model=20was=20removed?= =?UTF-8?q?=20because=20it=20is=20no=20longer=20being=20used=20in=20the=20?= =?UTF-8?q?project.=20In=20the=20loading.py=20file,=20the=20convert=5Fkwar?= =?UTF-8?q?gs=20function=20was=20added=20to=20convert=20kwargs=20passed=20?= =?UTF-8?q?as=20a=20string=20to=20a=20dictionary.=20This=20was=20done=20to?= =?UTF-8?q?=20ensure=20that=20the=20function=20can=20handle=20both=20strin?= =?UTF-8?q?g=20and=20dictionary=20inputs.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/langflow/config.yaml | 1 - src/backend/langflow/interface/loading.py | 12 +++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/backend/langflow/config.yaml b/src/backend/langflow/config.yaml index 1ff2c026b..4060d1f3e 100644 --- a/src/backend/langflow/config.yaml +++ b/src/backend/langflow/config.yaml @@ -52,7 +52,6 @@ llms: - OpenAI # - AzureOpenAI - ChatOpenAI - - HuggingFaceHub - LlamaCpp - CTransformers - Cohere diff --git a/src/backend/langflow/interface/loading.py b/src/backend/langflow/interface/loading.py index cd6898a7f..69c697823 100644 --- a/src/backend/langflow/interface/loading.py +++ b/src/backend/langflow/interface/loading.py @@ -31,7 +31,7 @@ from langflow.utils import util, validate def instantiate_class(node_type: str, base_type: str, params: Dict) -> Any: """Instantiate class from module type and key, and params""" params = convert_params_to_sets(params) - + params = convert_kwargs(params) if node_type in CUSTOM_AGENTS: custom_agent = CUSTOM_AGENTS.get(node_type) if custom_agent: @@ -50,6 +50,16 @@ def convert_params_to_sets(params): return params +def convert_kwargs(params): + # if *kwargs are passed as a string, convert to dict + # first find any key that has kwargs in it + kwargs_keys = [key for key in params.keys() if "kwargs" in key] + for key in kwargs_keys: + if isinstance(params[key], str): + params[key] = json.loads(params[key]) + return params + + def instantiate_based_on_type(class_object, base_type, node_type, params): if base_type == "agents": return instantiate_agent(class_object, params) From c1477735aaa78ca0c7b01859175868cf6c4ba5df Mon Sep 17 00:00:00 2001 From: Gabriel Almeida Date: Tue, 30 May 2023 17:30:00 -0300 Subject: [PATCH 54/69] =?UTF-8?q?=F0=9F=9A=9A=20chore(base.py):=20rename?= =?UTF-8?q?=20loading=20module=20to=20types=20The=20loading=20module=20was?= =?UTF-8?q?=20renamed=20to=20types=20to=20better=20reflect=20its=20content?= =?UTF-8?q?s.=20The=20import=20statement=20was=20updated=20to=20reflect=20?= =?UTF-8?q?this=20change.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/langflow/interface/agents/base.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/langflow/interface/agents/base.py b/src/backend/langflow/interface/agents/base.py index 1d23b481e..d404f845d 100644 --- a/src/backend/langflow/interface/agents/base.py +++ b/src/backend/langflow/interface/agents/base.py @@ -1,6 +1,6 @@ from typing import Dict, List, Optional -from langchain.agents import loading +from langchain.agents import types from langflow.custom.customs import get_custom_nodes from langflow.interface.agents.custom import CUSTOM_AGENTS @@ -16,7 +16,7 @@ class AgentCreator(LangChainTypeCreator): @property def type_to_loader_dict(self) -> Dict: if self.type_dict is None: - self.type_dict = loading.AGENT_TO_CLASS + self.type_dict = types.AGENT_TO_CLASS # Add JsonAgent to the list of agents for name, agent in CUSTOM_AGENTS.items(): # TODO: validate AgentType From 244eee8523e3666711639cb55ed016e1b3aa0ed5 Mon Sep 17 00:00:00 2001 From: Gabriel Almeida Date: Tue, 30 May 2023 17:36:59 -0300 Subject: [PATCH 55/69] =?UTF-8?q?=F0=9F=94=A5=20refactor(base.py):=20remov?= =?UTF-8?q?e=20unused=20import=20statement=20=F0=9F=9A=A8=20test(llms=5Fte?= =?UTF-8?q?mplate.py):=20comment=20out=20failing=20test=20for=20HuggingFac?= =?UTF-8?q?eHub=20template=20The=20unused=20import=20statement=20in=20base?= =?UTF-8?q?.py=20has=20been=20removed=20to=20improve=20code=20readability.?= =?UTF-8?q?=20The=20test=20for=20the=20HuggingFaceHub=20template=20has=20b?= =?UTF-8?q?een=20commented=20out=20as=20it=20is=20currently=20failing=20an?= =?UTF-8?q?d=20needs=20to=20be=20fixed.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/langflow/graph/base.py | 1 - tests/test_llms_template.py | 176 ++++++++++++++--------------- 2 files changed, 88 insertions(+), 89 deletions(-) diff --git a/src/backend/langflow/graph/base.py b/src/backend/langflow/graph/base.py index 5b64885fb..cc5e2902b 100644 --- a/src/backend/langflow/graph/base.py +++ b/src/backend/langflow/graph/base.py @@ -7,7 +7,6 @@ import contextlib import inspect import types import warnings -from copy import deepcopy from typing import Any, Dict, List, Optional from langflow.cache import base as cache_utils diff --git a/tests/test_llms_template.py b/tests/test_llms_template.py index dc0149520..ccf2f6388 100644 --- a/tests/test_llms_template.py +++ b/tests/test_llms_template.py @@ -10,96 +10,96 @@ def test_llms_settings(client: TestClient): assert set(llms.keys()) == set(settings.llms) -def test_hugging_face_hub(client: TestClient): - response = client.get("/all") - assert response.status_code == 200 - json_response = response.json() - language_models = json_response["llms"] +# def test_hugging_face_hub(client: TestClient): +# response = client.get("/all") +# assert response.status_code == 200 +# json_response = response.json() +# language_models = json_response["llms"] - model = language_models["HuggingFaceHub"] - template = model["template"] +# model = language_models["HuggingFaceHub"] +# template = model["template"] - assert template["cache"] == { - "required": False, - "placeholder": "", - "show": False, - "multiline": False, - "password": False, - "name": "cache", - "type": "bool", - "list": False, - "advanced": False, - } - assert template["verbose"] == { - "required": False, - "placeholder": "", - "show": False, - "multiline": False, - "value": False, - "password": False, - "name": "verbose", - "type": "bool", - "list": False, - "advanced": False, - } - assert template["client"] == { - "required": False, - "placeholder": "", - "show": False, - "multiline": False, - "password": False, - "name": "client", - "type": "Any", - "list": False, - "advanced": False, - } - assert template["repo_id"] == { - "required": False, - "placeholder": "", - "show": True, - "multiline": False, - "value": "gpt2", - "password": False, - "name": "repo_id", - "type": "str", - "list": False, - "advanced": False, - } - assert template["task"] == { - "required": True, - "placeholder": "", - "show": True, - "multiline": False, - "password": False, - "options": ["text-generation", "text2text-generation"], - "name": "task", - "type": "str", - "list": True, - "advanced": True, - } - assert template["model_kwargs"] == { - "required": False, - "placeholder": "", - "show": True, - "multiline": False, - "password": False, - "name": "model_kwargs", - "type": "code", - "list": False, - "advanced": True, - } - assert template["huggingfacehub_api_token"] == { - "required": False, - "placeholder": "", - "show": True, - "multiline": False, - "password": True, - "name": "huggingfacehub_api_token", - "display_name": "HuggingFace Hub API Token", - "type": "str", - "list": False, - "advanced": False, - } +# assert template["cache"] == { +# "required": False, +# "placeholder": "", +# "show": False, +# "multiline": False, +# "password": False, +# "name": "cache", +# "type": "bool", +# "list": False, +# "advanced": False, +# } +# assert template["verbose"] == { +# "required": False, +# "placeholder": "", +# "show": False, +# "multiline": False, +# "value": False, +# "password": False, +# "name": "verbose", +# "type": "bool", +# "list": False, +# "advanced": False, +# } +# assert template["client"] == { +# "required": False, +# "placeholder": "", +# "show": False, +# "multiline": False, +# "password": False, +# "name": "client", +# "type": "Any", +# "list": False, +# "advanced": False, +# } +# assert template["repo_id"] == { +# "required": False, +# "placeholder": "", +# "show": True, +# "multiline": False, +# "value": "gpt2", +# "password": False, +# "name": "repo_id", +# "type": "str", +# "list": False, +# "advanced": False, +# } +# assert template["task"] == { +# "required": True, +# "placeholder": "", +# "show": True, +# "multiline": False, +# "password": False, +# "options": ["text-generation", "text2text-generation"], +# "name": "task", +# "type": "str", +# "list": True, +# "advanced": True, +# } +# assert template["model_kwargs"] == { +# "required": False, +# "placeholder": "", +# "show": True, +# "multiline": False, +# "password": False, +# "name": "model_kwargs", +# "type": "code", +# "list": False, +# "advanced": True, +# } +# assert template["huggingfacehub_api_token"] == { +# "required": False, +# "placeholder": "", +# "show": True, +# "multiline": False, +# "password": True, +# "name": "huggingfacehub_api_token", +# "display_name": "HuggingFace Hub API Token", +# "type": "str", +# "list": False, +# "advanced": False, +# } def test_openai(client: TestClient): From 38d0c9b170a6bb58e147ba642375d83482d024ca Mon Sep 17 00:00:00 2001 From: Gabriel Almeida Date: Tue, 30 May 2023 17:40:09 -0300 Subject: [PATCH 56/69] =?UTF-8?q?=F0=9F=94=BC=20chore(pyproject.toml):=20u?= =?UTF-8?q?pdate=20langchain=20package=20version=20to=200.0.186=20?= =?UTF-8?q?=F0=9F=94=BC=20chore(pyproject.toml):=20update=20package=20vers?= =?UTF-8?q?ion=20to=200.0.79=20The=20langchain=20package=20version=20has?= =?UTF-8?q?=20been=20updated=20to=200.0.186=20to=20include=20the=20latest?= =?UTF-8?q?=20changes=20and=20improvements.=20The=20package=20version=20ha?= =?UTF-8?q?s=20also=20been=20updated=20to=200.0.79=20to=20reflect=20the=20?= =?UTF-8?q?changes=20made=20to=20the=20dependencies.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- poetry.lock | 390 +++++++++++++++++++++++++++++++++++++++---------- pyproject.toml | 4 +- 2 files changed, 317 insertions(+), 77 deletions(-) diff --git a/poetry.lock b/poetry.lock index f08caeada..a414aab16 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,9 +1,10 @@ -# This file is automatically @generated by Poetry 1.5.0 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.4.0 and should not be changed by hand. [[package]] name = "aiofiles" version = "23.1.0" description = "File support for asyncio." +category = "main" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -15,6 +16,7 @@ files = [ name = "aiohttp" version = "3.8.4" description = "Async http client/server framework (asyncio)" +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -123,6 +125,7 @@ speedups = ["Brotli", "aiodns", "cchardet"] name = "aiosignal" version = "1.3.1" description = "aiosignal: a list of registered asynchronous callbacks" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -137,6 +140,7 @@ frozenlist = ">=1.1.0" name = "aiostream" version = "0.4.5" description = "Generator-based operators for asynchronous iteration" +category = "main" optional = false python-versions = "*" files = [ @@ -148,6 +152,7 @@ files = [ name = "anyio" version = "3.7.0" description = "High level compatibility layer for multiple asynchronous event loop implementations" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -169,6 +174,7 @@ trio = ["trio (<0.22)"] name = "appnope" version = "0.1.3" description = "Disable App Nap on macOS >= 10.9" +category = "dev" optional = false python-versions = "*" files = [ @@ -180,6 +186,7 @@ files = [ name = "argilla" version = "1.3.2" description = "Open-source tool for exploring, labeling, and monitoring data for NLP projects." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -207,6 +214,7 @@ server = ["Deprecated (>=1.2.0,<1.3.0)", "PyYAML (>=5.4.1,<6.1.0)", "aiofiles (> name = "asgiref" version = "3.7.2" description = "ASGI specs, helper code, and adapters" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -224,6 +232,7 @@ tests = ["mypy (>=0.800)", "pytest", "pytest-asyncio"] name = "asttokens" version = "2.2.1" description = "Annotate AST trees with source code positions" +category = "dev" optional = false python-versions = "*" files = [ @@ -241,6 +250,7 @@ test = ["astroid", "pytest"] name = "async-timeout" version = "4.0.2" description = "Timeout context manager for asyncio programs" +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -252,6 +262,7 @@ files = [ name = "attrs" version = "23.1.0" description = "Classes Without Boilerplate" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -270,6 +281,7 @@ tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pyte name = "authlib" version = "1.2.0" description = "The ultimate Python library in building OAuth and OpenID Connect servers and clients." +category = "main" optional = false python-versions = "*" files = [ @@ -284,6 +296,7 @@ cryptography = ">=3.2" name = "backcall" version = "0.2.0" description = "Specifications for callback functions passed in to an API" +category = "dev" optional = false python-versions = "*" files = [ @@ -295,6 +308,7 @@ files = [ name = "backoff" version = "2.2.1" description = "Function decoration for backoff and retry" +category = "main" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -306,6 +320,7 @@ files = [ name = "beautifulsoup4" version = "4.12.2" description = "Screen-scraping library" +category = "main" optional = false python-versions = ">=3.6.0" files = [ @@ -324,6 +339,7 @@ lxml = ["lxml"] name = "black" version = "23.3.0" description = "The uncompromising code formatter." +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -373,6 +389,7 @@ uvloop = ["uvloop (>=0.15.2)"] name = "cachetools" version = "5.3.1" description = "Extensible memoizing collections and decorators" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -384,6 +401,7 @@ files = [ name = "certifi" version = "2023.5.7" description = "Python package for providing Mozilla's CA Bundle." +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -395,6 +413,7 @@ files = [ name = "cffi" version = "1.15.1" description = "Foreign Function Interface for Python calling C code." +category = "main" optional = false python-versions = "*" files = [ @@ -471,6 +490,7 @@ pycparser = "*" name = "chardet" version = "5.1.0" description = "Universal encoding detector for Python 3" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -482,6 +502,7 @@ files = [ name = "charset-normalizer" version = "3.1.0" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -566,6 +587,7 @@ files = [ name = "chromadb" version = "0.3.25" description = "Chroma." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -594,6 +616,7 @@ uvicorn = {version = ">=0.18.3", extras = ["standard"]} name = "click" version = "8.1.3" description = "Composable command line interface toolkit" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -608,6 +631,7 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} name = "clickhouse-connect" version = "0.5.25" description = "ClickHouse core driver, SqlAlchemy, and Superset libraries" +category = "main" optional = false python-versions = "~=3.7" files = [ @@ -697,6 +721,7 @@ superset = ["apache-superset (>=1.4.1)"] name = "cohere" version = "4.6.0" description = "" +category = "main" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -713,6 +738,7 @@ requests = ">=2.0,<3.0" name = "colorama" version = "0.4.6" description = "Cross-platform colored terminal text." +category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ @@ -724,6 +750,7 @@ files = [ name = "coloredlogs" version = "15.0.1" description = "Colored terminal output for Python's logging module" +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -741,6 +768,7 @@ cron = ["capturer (>=2.4)"] name = "comm" version = "0.1.3" description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc." +category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -758,62 +786,72 @@ typing = ["mypy (>=0.990)"] [[package]] name = "coverage" -version = "7.2.6" +version = "7.2.7" description = "Code coverage measurement for Python" +category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "coverage-7.2.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:496b86f1fc9c81a1cd53d8842ef712e950a4611bba0c42d33366a7b91ba969ec"}, - {file = "coverage-7.2.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fbe6e8c0a9a7193ba10ee52977d4d5e7652957c1f56ccefed0701db8801a2a3b"}, - {file = "coverage-7.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76d06b721c2550c01a60e5d3093f417168658fb454e5dfd9a23570e9bffe39a1"}, - {file = "coverage-7.2.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:77a04b84d01f0e12c66f16e69e92616442dc675bbe51b90bfb074b1e5d1c7fbd"}, - {file = "coverage-7.2.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:35db06450272473eab4449e9c2ad9bc6a0a68dab8e81a0eae6b50d9c2838767e"}, - {file = "coverage-7.2.6-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6727a0d929ff0028b1ed8b3e7f8701670b1d7032f219110b55476bb60c390bfb"}, - {file = "coverage-7.2.6-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aac1d5fdc5378f6bac2c0c7ebe7635a6809f5b4376f6cf5d43243c1917a67087"}, - {file = "coverage-7.2.6-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1c9e4a5eb1bbc3675ee57bc31f8eea4cd7fb0cbcbe4912cf1cb2bf3b754f4a80"}, - {file = "coverage-7.2.6-cp310-cp310-win32.whl", hash = "sha256:71f739f97f5f80627f1fee2331e63261355fd1e9a9cce0016394b6707ac3f4ec"}, - {file = "coverage-7.2.6-cp310-cp310-win_amd64.whl", hash = "sha256:fde5c7a9d9864d3e07992f66767a9817f24324f354caa3d8129735a3dc74f126"}, - {file = "coverage-7.2.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:bc7b667f8654376e9353dd93e55e12ce2a59fb6d8e29fce40de682273425e044"}, - {file = "coverage-7.2.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:697f4742aa3f26c107ddcb2b1784a74fe40180014edbd9adaa574eac0529914c"}, - {file = "coverage-7.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:541280dde49ce74a4262c5e395b48ea1207e78454788887118c421cb4ffbfcac"}, - {file = "coverage-7.2.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6e7f1a8328eeec34c54f1d5968a708b50fc38d31e62ca8b0560e84a968fbf9a9"}, - {file = "coverage-7.2.6-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4bbd58eb5a2371bf160590f4262109f66b6043b0b991930693134cb617bc0169"}, - {file = "coverage-7.2.6-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ae82c5f168d2a39a5d69a12a69d4dc23837a43cf2ca99be60dfe59996ea6b113"}, - {file = "coverage-7.2.6-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:f5440cdaf3099e7ab17a5a7065aed59aff8c8b079597b61c1f8be6f32fe60636"}, - {file = "coverage-7.2.6-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a6f03f87fea579d55e0b690d28f5042ec1368650466520fbc400e7aeaf09e995"}, - {file = "coverage-7.2.6-cp311-cp311-win32.whl", hash = "sha256:dc4d5187ef4d53e0d4c8eaf530233685667844c5fb0b855fea71ae659017854b"}, - {file = "coverage-7.2.6-cp311-cp311-win_amd64.whl", hash = "sha256:c93d52c3dc7b9c65e39473704988602300e3cc1bad08b5ab5b03ca98bbbc68c1"}, - {file = "coverage-7.2.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:42c692b55a647a832025a4c048007034fe77b162b566ad537ce65ad824b12a84"}, - {file = "coverage-7.2.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7786b2fa7809bf835f830779ad285215a04da76293164bb6745796873f0942d"}, - {file = "coverage-7.2.6-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:25bad4196104761bc26b1dae9b57383826542ec689ff0042f7f4f4dd7a815cba"}, - {file = "coverage-7.2.6-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2692306d3d4cb32d2cceed1e47cebd6b1d2565c993d6d2eda8e6e6adf53301e6"}, - {file = "coverage-7.2.6-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:392154d09bd4473b9d11351ab5d63391f3d5d24d752f27b3be7498b0ee2b5226"}, - {file = "coverage-7.2.6-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:fa079995432037b5e2ef5ddbb270bcd2ded9f52b8e191a5de11fe59a00ea30d8"}, - {file = "coverage-7.2.6-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d712cefff15c712329113b01088ba71bbcef0f7ea58478ca0bbec63a824844cb"}, - {file = "coverage-7.2.6-cp37-cp37m-win32.whl", hash = "sha256:004948e296149644d208964300cb3d98affc5211e9e490e9979af4030b0d6473"}, - {file = "coverage-7.2.6-cp37-cp37m-win_amd64.whl", hash = "sha256:c1d7a31603c3483ac49c1726723b0934f88f2c011c660e6471e7bd735c2fa110"}, - {file = "coverage-7.2.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3436927d1794fa6763b89b60c896f9e3bd53212001026ebc9080d23f0c2733c1"}, - {file = "coverage-7.2.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:44c9b9f1a245f3d0d202b1a8fa666a80b5ecbe4ad5d0859c0fb16a52d9763224"}, - {file = "coverage-7.2.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e3783a286d5a93a2921396d50ce45a909aa8f13eee964465012f110f0cbb611"}, - {file = "coverage-7.2.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3cff6980fe7100242170092bb40d2b1cdad79502cd532fd26b12a2b8a5f9aee0"}, - {file = "coverage-7.2.6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c534431153caffc7c495c3eddf7e6a6033e7f81d78385b4e41611b51e8870446"}, - {file = "coverage-7.2.6-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:3062fd5c62df988cea9f2972c593f77fed1182bfddc5a3b12b1e606cb7aba99e"}, - {file = "coverage-7.2.6-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:6284a2005e4f8061c58c814b1600ad0074ccb0289fe61ea709655c5969877b70"}, - {file = "coverage-7.2.6-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:97729e6828643f168a2a3f07848e1b1b94a366b13a9f5aba5484c2215724edc8"}, - {file = "coverage-7.2.6-cp38-cp38-win32.whl", hash = "sha256:dc11b42fa61ff1e788dd095726a0aed6aad9c03d5c5984b54cb9e1e67b276aa5"}, - {file = "coverage-7.2.6-cp38-cp38-win_amd64.whl", hash = "sha256:cbcc874f454ee51f158afd604a315f30c0e31dff1d5d5bf499fc529229d964dd"}, - {file = "coverage-7.2.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d3cacc6a665221108ecdf90517a8028d07a2783df3417d12dcfef1c517e67478"}, - {file = "coverage-7.2.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:272ab31228a9df857ab5df5d67936d8861464dc89c5d3fab35132626e9369379"}, - {file = "coverage-7.2.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9a8723ccec4e564d4b9a79923246f7b9a8de4ec55fa03ec4ec804459dade3c4f"}, - {file = "coverage-7.2.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5906f6a84b47f995cd1bf0aca1c72d591c55ee955f98074e93660d64dfc66eb9"}, - {file = "coverage-7.2.6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:52c139b7ab3f0b15f9aad0a3fedef5a1f8c0b2bdc291d88639ca2c97d3682416"}, - {file = "coverage-7.2.6-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:a5ffd45c6b93c23a8507e2f436983015c6457aa832496b6a095505ca2f63e8f1"}, - {file = "coverage-7.2.6-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:4f3c7c19581d471af0e9cb49d928172cd8492cd78a2b7a4e82345d33662929bb"}, - {file = "coverage-7.2.6-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2e8c0e79820cdd67978e1120983786422d279e07a381dbf89d03bbb23ec670a6"}, - {file = "coverage-7.2.6-cp39-cp39-win32.whl", hash = "sha256:13cde6bb0e58fb67d09e2f373de3899d1d1e866c5a9ff05d93615f2f54fbd2bb"}, - {file = "coverage-7.2.6-cp39-cp39-win_amd64.whl", hash = "sha256:6b9f64526286255735847aed0221b189486e0b9ed943446936e41b7e44b08783"}, - {file = "coverage-7.2.6-pp37.pp38.pp39-none-any.whl", hash = "sha256:6babcbf1e66e46052442f10833cfc4a0d3554d8276aa37af8531a83ed3c1a01d"}, - {file = "coverage-7.2.6.tar.gz", hash = "sha256:2025f913f2edb0272ef15d00b1f335ff8908c921c8eb2013536fcaf61f5a683d"}, + {file = "coverage-7.2.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d39b5b4f2a66ccae8b7263ac3c8170994b65266797fb96cbbfd3fb5b23921db8"}, + {file = "coverage-7.2.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6d040ef7c9859bb11dfeb056ff5b3872436e3b5e401817d87a31e1750b9ae2fb"}, + {file = "coverage-7.2.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba90a9563ba44a72fda2e85302c3abc71c5589cea608ca16c22b9804262aaeb6"}, + {file = "coverage-7.2.7-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7d9405291c6928619403db1d10bd07888888ec1abcbd9748fdaa971d7d661b2"}, + {file = "coverage-7.2.7-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31563e97dae5598556600466ad9beea39fb04e0229e61c12eaa206e0aa202063"}, + {file = "coverage-7.2.7-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:ebba1cd308ef115925421d3e6a586e655ca5a77b5bf41e02eb0e4562a111f2d1"}, + {file = "coverage-7.2.7-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:cb017fd1b2603ef59e374ba2063f593abe0fc45f2ad9abdde5b4d83bd922a353"}, + {file = "coverage-7.2.7-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d62a5c7dad11015c66fbb9d881bc4caa5b12f16292f857842d9d1871595f4495"}, + {file = "coverage-7.2.7-cp310-cp310-win32.whl", hash = "sha256:ee57190f24fba796e36bb6d3aa8a8783c643d8fa9760c89f7a98ab5455fbf818"}, + {file = "coverage-7.2.7-cp310-cp310-win_amd64.whl", hash = "sha256:f75f7168ab25dd93110c8a8117a22450c19976afbc44234cbf71481094c1b850"}, + {file = "coverage-7.2.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:06a9a2be0b5b576c3f18f1a241f0473575c4a26021b52b2a85263a00f034d51f"}, + {file = "coverage-7.2.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5baa06420f837184130752b7c5ea0808762083bf3487b5038d68b012e5937dbe"}, + {file = "coverage-7.2.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fdec9e8cbf13a5bf63290fc6013d216a4c7232efb51548594ca3631a7f13c3a3"}, + {file = "coverage-7.2.7-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:52edc1a60c0d34afa421c9c37078817b2e67a392cab17d97283b64c5833f427f"}, + {file = "coverage-7.2.7-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63426706118b7f5cf6bb6c895dc215d8a418d5952544042c8a2d9fe87fcf09cb"}, + {file = "coverage-7.2.7-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:afb17f84d56068a7c29f5fa37bfd38d5aba69e3304af08ee94da8ed5b0865833"}, + {file = "coverage-7.2.7-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:48c19d2159d433ccc99e729ceae7d5293fbffa0bdb94952d3579983d1c8c9d97"}, + {file = "coverage-7.2.7-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0e1f928eaf5469c11e886fe0885ad2bf1ec606434e79842a879277895a50942a"}, + {file = "coverage-7.2.7-cp311-cp311-win32.whl", hash = "sha256:33d6d3ea29d5b3a1a632b3c4e4f4ecae24ef170b0b9ee493883f2df10039959a"}, + {file = "coverage-7.2.7-cp311-cp311-win_amd64.whl", hash = "sha256:5b7540161790b2f28143191f5f8ec02fb132660ff175b7747b95dcb77ac26562"}, + {file = "coverage-7.2.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f2f67fe12b22cd130d34d0ef79206061bfb5eda52feb6ce0dba0644e20a03cf4"}, + {file = "coverage-7.2.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a342242fe22407f3c17f4b499276a02b01e80f861f1682ad1d95b04018e0c0d4"}, + {file = "coverage-7.2.7-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:171717c7cb6b453aebac9a2ef603699da237f341b38eebfee9be75d27dc38e01"}, + {file = "coverage-7.2.7-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49969a9f7ffa086d973d91cec8d2e31080436ef0fb4a359cae927e742abfaaa6"}, + {file = "coverage-7.2.7-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b46517c02ccd08092f4fa99f24c3b83d8f92f739b4657b0f146246a0ca6a831d"}, + {file = "coverage-7.2.7-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:a3d33a6b3eae87ceaefa91ffdc130b5e8536182cd6dfdbfc1aa56b46ff8c86de"}, + {file = "coverage-7.2.7-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:976b9c42fb2a43ebf304fa7d4a310e5f16cc99992f33eced91ef6f908bd8f33d"}, + {file = "coverage-7.2.7-cp312-cp312-win32.whl", hash = "sha256:8de8bb0e5ad103888d65abef8bca41ab93721647590a3f740100cd65c3b00511"}, + {file = "coverage-7.2.7-cp312-cp312-win_amd64.whl", hash = "sha256:9e31cb64d7de6b6f09702bb27c02d1904b3aebfca610c12772452c4e6c21a0d3"}, + {file = "coverage-7.2.7-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:58c2ccc2f00ecb51253cbe5d8d7122a34590fac9646a960d1430d5b15321d95f"}, + {file = "coverage-7.2.7-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d22656368f0e6189e24722214ed8d66b8022db19d182927b9a248a2a8a2f67eb"}, + {file = "coverage-7.2.7-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a895fcc7b15c3fc72beb43cdcbdf0ddb7d2ebc959edac9cef390b0d14f39f8a9"}, + {file = "coverage-7.2.7-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e84606b74eb7de6ff581a7915e2dab7a28a0517fbe1c9239eb227e1354064dcd"}, + {file = "coverage-7.2.7-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:0a5f9e1dbd7fbe30196578ca36f3fba75376fb99888c395c5880b355e2875f8a"}, + {file = "coverage-7.2.7-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:419bfd2caae268623dd469eff96d510a920c90928b60f2073d79f8fe2bbc5959"}, + {file = "coverage-7.2.7-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:2aee274c46590717f38ae5e4650988d1af340fe06167546cc32fe2f58ed05b02"}, + {file = "coverage-7.2.7-cp37-cp37m-win32.whl", hash = "sha256:61b9a528fb348373c433e8966535074b802c7a5d7f23c4f421e6c6e2f1697a6f"}, + {file = "coverage-7.2.7-cp37-cp37m-win_amd64.whl", hash = "sha256:b1c546aca0ca4d028901d825015dc8e4d56aac4b541877690eb76490f1dc8ed0"}, + {file = "coverage-7.2.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:54b896376ab563bd38453cecb813c295cf347cf5906e8b41d340b0321a5433e5"}, + {file = "coverage-7.2.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3d376df58cc111dc8e21e3b6e24606b5bb5dee6024f46a5abca99124b2229ef5"}, + {file = "coverage-7.2.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e330fc79bd7207e46c7d7fd2bb4af2963f5f635703925543a70b99574b0fea9"}, + {file = "coverage-7.2.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e9d683426464e4a252bf70c3498756055016f99ddaec3774bf368e76bbe02b6"}, + {file = "coverage-7.2.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d13c64ee2d33eccf7437961b6ea7ad8673e2be040b4f7fd4fd4d4d28d9ccb1e"}, + {file = "coverage-7.2.7-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b7aa5f8a41217360e600da646004f878250a0d6738bcdc11a0a39928d7dc2050"}, + {file = "coverage-7.2.7-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8fa03bce9bfbeeef9f3b160a8bed39a221d82308b4152b27d82d8daa7041fee5"}, + {file = "coverage-7.2.7-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:245167dd26180ab4c91d5e1496a30be4cd721a5cf2abf52974f965f10f11419f"}, + {file = "coverage-7.2.7-cp38-cp38-win32.whl", hash = "sha256:d2c2db7fd82e9b72937969bceac4d6ca89660db0a0967614ce2481e81a0b771e"}, + {file = "coverage-7.2.7-cp38-cp38-win_amd64.whl", hash = "sha256:2e07b54284e381531c87f785f613b833569c14ecacdcb85d56b25c4622c16c3c"}, + {file = "coverage-7.2.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:537891ae8ce59ef63d0123f7ac9e2ae0fc8b72c7ccbe5296fec45fd68967b6c9"}, + {file = "coverage-7.2.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:06fb182e69f33f6cd1d39a6c597294cff3143554b64b9825d1dc69d18cc2fff2"}, + {file = "coverage-7.2.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:201e7389591af40950a6480bd9edfa8ed04346ff80002cec1a66cac4549c1ad7"}, + {file = "coverage-7.2.7-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f6951407391b639504e3b3be51b7ba5f3528adbf1a8ac3302b687ecababf929e"}, + {file = "coverage-7.2.7-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f48351d66575f535669306aa7d6d6f71bc43372473b54a832222803eb956fd1"}, + {file = "coverage-7.2.7-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b29019c76039dc3c0fd815c41392a044ce555d9bcdd38b0fb60fb4cd8e475ba9"}, + {file = "coverage-7.2.7-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:81c13a1fc7468c40f13420732805a4c38a105d89848b7c10af65a90beff25250"}, + {file = "coverage-7.2.7-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:975d70ab7e3c80a3fe86001d8751f6778905ec723f5b110aed1e450da9d4b7f2"}, + {file = "coverage-7.2.7-cp39-cp39-win32.whl", hash = "sha256:7ee7d9d4822c8acc74a5e26c50604dff824710bc8de424904c0982e25c39c6cb"}, + {file = "coverage-7.2.7-cp39-cp39-win_amd64.whl", hash = "sha256:eb393e5ebc85245347950143969b241d08b52b88a3dc39479822e073a1a8eb27"}, + {file = "coverage-7.2.7-pp37.pp38.pp39-none-any.whl", hash = "sha256:b7b4c971f05e6ae490fef852c218b0e79d4e52f79ef0c8475566584a8fb3e01d"}, + {file = "coverage-7.2.7.tar.gz", hash = "sha256:924d94291ca674905fe9481f12294eb11f2d3d3fd1adb20314ba89e94f44ed59"}, ] [package.dependencies] @@ -826,6 +864,7 @@ toml = ["tomli"] name = "cryptography" version = "40.0.2" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -867,6 +906,7 @@ tox = ["tox"] name = "ctransformers" version = "0.2.2" description = "Python bindings for the Transformer models implemented in C/C++ using GGML library." +category = "main" optional = false python-versions = "*" files = [ @@ -884,6 +924,7 @@ tests = ["pytest"] name = "dataclasses-json" version = "0.5.7" description = "Easily serialize dataclasses to and from JSON" +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -903,6 +944,7 @@ dev = ["flake8", "hypothesis", "ipython", "mypy (>=0.710)", "portray", "pytest ( name = "debugpy" version = "1.6.7" description = "An implementation of the Debug Adapter Protocol for Python" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -930,6 +972,7 @@ files = [ name = "decorator" version = "5.1.1" description = "Decorators for Humans" +category = "main" optional = false python-versions = ">=3.5" files = [ @@ -941,6 +984,7 @@ files = [ name = "deprecated" version = "1.2.14" description = "Python @deprecated decorator to deprecate old python classes, functions or methods." +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -958,6 +1002,7 @@ dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "sphinx (<2)", "tox"] name = "dill" version = "0.3.6" description = "serialize all of python" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -972,6 +1017,7 @@ graph = ["objgraph (>=1.7.2)"] name = "docarray" version = "0.21.0" description = "The data structure for unstructured data" +category = "main" optional = false python-versions = "*" files = [ @@ -1000,6 +1046,7 @@ weaviate = ["weaviate-client (>=3.9.0,<3.10.0)"] name = "docker" version = "6.1.2" description = "A Python library for the Docker Engine API." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1021,6 +1068,7 @@ ssh = ["paramiko (>=2.4.3)"] name = "docstring-parser" version = "0.15" description = "Parse Python docstrings in reST, Google and Numpydoc format" +category = "main" optional = false python-versions = ">=3.6,<4.0" files = [ @@ -1032,6 +1080,7 @@ files = [ name = "duckdb" version = "0.8.0" description = "DuckDB embedded database" +category = "main" optional = false python-versions = "*" files = [ @@ -1047,9 +1096,7 @@ files = [ {file = "duckdb-0.8.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b2707096d6df4321044fcde2c9f04da632d11a8be60957fd09d49a42fae71a29"}, {file = "duckdb-0.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b27df1b70ae74d2c88efb5ffca8490954fdc678099509a9c4404ca30acc53426"}, {file = "duckdb-0.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:75a97c800271b52dd0f37696d074c50576dcb4b2750b6115932a98696a268070"}, - {file = "duckdb-0.8.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:804cac261a5e016506a6d67838a65d19b06a237f7949f1704f0e800eb708286a"}, {file = "duckdb-0.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c6b9abca7fa6713e1d031c18485343b4de99742c7e1b85c10718aa2f31a4e2c6"}, - {file = "duckdb-0.8.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:51aa6d606d49072abcfeb3be209eb559ac94c1b5e70f58ac3adbb94aca9cd69f"}, {file = "duckdb-0.8.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7c8dc769aaf2be0a1c57995ca657e5b92c1c56fc8437edb720ca6cab571adf14"}, {file = "duckdb-0.8.0-cp311-cp311-win32.whl", hash = "sha256:c4207d18b42387c4a035846d8878eb967070198be8ac26fd77797ce320d1a400"}, {file = "duckdb-0.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:0c392257547c20794c3072fcbca99a49ef0a49974005d755e93893e2b4875267"}, @@ -1088,6 +1135,7 @@ files = [ name = "ecdsa" version = "0.18.0" description = "ECDSA cryptographic signature library (pure python)" +category = "main" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -1106,6 +1154,7 @@ gmpy2 = ["gmpy2"] name = "et-xmlfile" version = "1.1.0" description = "An implementation of lxml.xmlfile for the standard library" +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1117,6 +1166,7 @@ files = [ name = "exceptiongroup" version = "1.1.1" description = "Backport of PEP 654 (exception groups)" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1131,6 +1181,7 @@ test = ["pytest (>=6)"] name = "executing" version = "1.2.0" description = "Get the currently executing AST node of a frame, and other information" +category = "dev" optional = false python-versions = "*" files = [ @@ -1145,6 +1196,7 @@ tests = ["asttokens", "littleutils", "pytest", "rich"] name = "fake-useragent" version = "1.1.3" description = "Up-to-date simple useragent faker with real world database" +category = "main" optional = false python-versions = "*" files = [ @@ -1159,6 +1211,7 @@ importlib-resources = {version = ">=5.0", markers = "python_version < \"3.10\""} name = "fastapi" version = "0.95.2" description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1180,6 +1233,7 @@ test = ["anyio[trio] (>=3.2.1,<4.0.0)", "black (==23.1.0)", "coverage[toml] (>=6 name = "filelock" version = "3.12.0" description = "A platform independent file lock." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1195,6 +1249,7 @@ testing = ["covdefaults (>=2.3)", "coverage (>=7.2.3)", "diff-cover (>=7.5)", "p name = "flatbuffers" version = "23.5.26" description = "The FlatBuffers serialization format for Python" +category = "main" optional = false python-versions = "*" files = [ @@ -1206,6 +1261,7 @@ files = [ name = "frozenlist" version = "1.3.3" description = "A list-like structure which implements collections.abc.MutableSequence" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1289,6 +1345,7 @@ files = [ name = "google-api-core" version = "2.11.0" description = "Google API client core library" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1309,17 +1366,18 @@ grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0dev)"] [[package]] name = "google-api-python-client" -version = "2.87.0" +version = "2.88.0" description = "Google API Client Library for Python" +category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "google-api-python-client-2.87.0.tar.gz", hash = "sha256:bbea5869877c822d12d318943833d988497b3a18b9ca2386967118074db676f3"}, - {file = "google_api_python_client-2.87.0-py2.py3-none-any.whl", hash = "sha256:29b52232b159be72a79890b6d9f703cf6d8ebbec0ef6371c5670c1abeca5a9f9"}, + {file = "google-api-python-client-2.88.0.tar.gz", hash = "sha256:37068453f79ea28e5394a8fe20a4ba620594e7f8541068bea2e844dacdcc9d33"}, + {file = "google_api_python_client-2.88.0-py2.py3-none-any.whl", hash = "sha256:d003008400a779524ea21b5a3ddc6fc59327d401fb8c37c466d413694c279cae"}, ] [package.dependencies] -google-api-core = ">=1.31.5,<2.0.dev0 || >2.3.0,<3.0.0dev" +google-api-core = ">=1.31.5,<2.0.0 || >2.3.0,<3.0.0dev" google-auth = ">=1.19.0,<3.0.0dev" google-auth-httplib2 = ">=0.1.0" httplib2 = ">=0.15.0,<1dev" @@ -1329,6 +1387,7 @@ uritemplate = ">=3.0.1,<5" name = "google-auth" version = "2.19.0" description = "Google Authentication Library" +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1354,6 +1413,7 @@ requests = ["requests (>=2.20.0,<3.0.0dev)"] name = "google-auth-httplib2" version = "0.1.0" description = "Google Authentication Library: httplib2 transport" +category = "main" optional = false python-versions = "*" files = [ @@ -1370,6 +1430,7 @@ six = "*" name = "google-search-results" version = "2.4.2" description = "Scrape and search localized results from Google, Bing, Baidu, Yahoo, Yandex, Ebay, Homedepot, youtube at scale using SerpApi.com" +category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1383,6 +1444,7 @@ requests = "*" name = "googleapis-common-protos" version = "1.59.0" description = "Common protobufs used in Google APIs" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1400,6 +1462,7 @@ grpc = ["grpcio (>=1.44.0,<2.0.0dev)"] name = "greenlet" version = "2.0.2" description = "Lightweight in-process concurrent programming" +category = "main" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" files = [ @@ -1473,6 +1536,7 @@ test = ["objgraph", "psutil"] name = "grpcio" version = "1.47.5" description = "HTTP/2-based RPC framework" +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1534,6 +1598,7 @@ protobuf = ["grpcio-tools (>=1.47.5)"] name = "grpcio-health-checking" version = "1.47.5" description = "Standard Health Checking Service for gRPC" +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1549,6 +1614,7 @@ protobuf = ">=3.12.0" name = "grpcio-reflection" version = "1.47.5" description = "Standard Protobuf Reflection Service for gRPC" +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1564,6 +1630,7 @@ protobuf = ">=3.12.0" name = "grpcio-tools" version = "1.47.5" description = "Protobuf code generator for gRPC" +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1624,6 +1691,7 @@ setuptools = "*" name = "gunicorn" version = "20.1.0" description = "WSGI HTTP Server for UNIX" +category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1644,6 +1712,7 @@ tornado = ["tornado (>=0.2)"] name = "h11" version = "0.14.0" description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1655,6 +1724,7 @@ files = [ name = "h2" version = "4.1.0" description = "HTTP/2 State-Machine based protocol implementation" +category = "main" optional = false python-versions = ">=3.6.1" files = [ @@ -1670,6 +1740,7 @@ hyperframe = ">=6.0,<7" name = "hnswlib" version = "0.7.0" description = "hnswlib" +category = "main" optional = false python-versions = "*" files = [ @@ -1683,6 +1754,7 @@ numpy = "*" name = "hpack" version = "4.0.0" description = "Pure-Python HPACK header compression" +category = "main" optional = false python-versions = ">=3.6.1" files = [ @@ -1694,6 +1766,7 @@ files = [ name = "httpcore" version = "0.16.3" description = "A minimal low-level HTTP client." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1705,16 +1778,17 @@ files = [ anyio = ">=3.0,<5.0" certifi = "*" h11 = ">=0.13,<0.15" -sniffio = "==1.*" +sniffio = ">=1.0.0,<2.0.0" [package.extras] http2 = ["h2 (>=3,<5)"] -socks = ["socksio (==1.*)"] +socks = ["socksio (>=1.0.0,<2.0.0)"] [[package]] name = "httplib2" version = "0.22.0" description = "A comprehensive HTTP client library." +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -1729,6 +1803,7 @@ pyparsing = {version = ">=2.4.2,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.0.2 || >3.0 name = "httptools" version = "0.5.0" description = "A collection of framework independent HTTP protocol utils." +category = "main" optional = false python-versions = ">=3.5.0" files = [ @@ -1782,6 +1857,7 @@ test = ["Cython (>=0.29.24,<0.30.0)"] name = "httpx" version = "0.23.3" description = "The next generation HTTP client." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1798,14 +1874,15 @@ sniffio = "*" [package.extras] brotli = ["brotli", "brotlicffi"] -cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<13)"] +cli = ["click (>=8.0.0,<9.0.0)", "pygments (>=2.0.0,<3.0.0)", "rich (>=10,<13)"] http2 = ["h2 (>=3,<5)"] -socks = ["socksio (==1.*)"] +socks = ["socksio (>=1.0.0,<2.0.0)"] [[package]] name = "huggingface-hub" version = "0.13.4" description = "Client library to download and publish models, datasets and other repos on the huggingface.co hub" +category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -1836,6 +1913,7 @@ typing = ["types-PyYAML", "types-requests", "types-simplejson", "types-toml", "t name = "humanfriendly" version = "10.0" description = "Human friendly output for text interfaces using Python" +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -1850,6 +1928,7 @@ pyreadline3 = {version = "*", markers = "sys_platform == \"win32\" and python_ve name = "hyperframe" version = "6.0.1" description = "HTTP/2 framing layer for Python" +category = "main" optional = false python-versions = ">=3.6.1" files = [ @@ -1861,6 +1940,7 @@ files = [ name = "idna" version = "3.4" description = "Internationalized Domain Names in Applications (IDNA)" +category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1872,6 +1952,7 @@ files = [ name = "importlib-metadata" version = "6.0.1" description = "Read metadata from Python packages" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1891,6 +1972,7 @@ testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packag name = "importlib-resources" version = "5.12.0" description = "Read resources from Python packages" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1909,6 +1991,7 @@ testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-chec name = "iniconfig" version = "2.0.0" description = "brain-dead simple config-ini parsing" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1920,6 +2003,7 @@ files = [ name = "ipykernel" version = "6.23.1" description = "IPython Kernel for Jupyter" +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -1933,7 +2017,7 @@ comm = ">=0.1.1" debugpy = ">=1.6.5" ipython = ">=7.23.1" jupyter-client = ">=6.1.12" -jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +jupyter-core = ">=4.12,<5.0.0 || >=5.1.0" matplotlib-inline = ">=0.1" nest-asyncio = "*" packaging = "*" @@ -1953,6 +2037,7 @@ test = ["flaky", "ipyparallel", "pre-commit", "pytest (>=7.0)", "pytest-asyncio" name = "ipython" version = "8.13.2" description = "IPython: Productive Interactive Computing" +category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -1992,6 +2077,7 @@ test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.21)", "pa name = "jcloud" version = "0.2.10" description = "Simplify deploying and managing Jina projects on Jina Cloud" +category = "main" optional = false python-versions = "*" files = [ @@ -2014,6 +2100,7 @@ test = ["black (==22.3.0)", "jina (>=3.7.0)", "mock", "pytest", "pytest-asyncio" name = "jedi" version = "0.18.2" description = "An autocompletion tool for Python that can be used for text editors." +category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -2033,6 +2120,7 @@ testing = ["Django (<3.1)", "attrs", "colorama", "docopt", "pytest (<7.0.0)"] name = "jina" version = "3.15.2" description = "Build multimodal AI services via cloud native technologies Β· Neural Search Β· Generative AI Β· MLOps" +category = "main" optional = false python-versions = "*" files = [ @@ -2150,6 +2238,7 @@ websockets = ["websockets"] name = "jina-hubble-sdk" version = "0.38.0" description = "SDK for Hubble API at Jina AI." +category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -2175,6 +2264,7 @@ full = ["aiohttp", "black (==22.3.0)", "docker", "filelock", "flake8 (==4.0.1)", name = "jinja2" version = "3.1.2" description = "A very fast and expressive template engine." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2192,6 +2282,7 @@ i18n = ["Babel (>=2.7)"] name = "joblib" version = "1.2.0" description = "Lightweight pipelining with Python functions" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2203,6 +2294,7 @@ files = [ name = "jupyter-client" version = "8.2.0" description = "Jupyter protocol implementation and client libraries" +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -2212,7 +2304,7 @@ files = [ [package.dependencies] importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.10\""} -jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +jupyter-core = ">=4.12,<5.0.0 || >=5.1.0" python-dateutil = ">=2.8.2" pyzmq = ">=23.0" tornado = ">=6.2" @@ -2226,6 +2318,7 @@ test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pyt name = "jupyter-core" version = "5.3.0" description = "Jupyter core package. A base package on which Jupyter projects rely." +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -2244,13 +2337,14 @@ test = ["ipykernel", "pre-commit", "pytest", "pytest-cov", "pytest-timeout"] [[package]] name = "langchain" -version = "0.0.184" +version = "0.0.186" description = "Building applications with LLMs through composability" +category = "main" optional = false python-versions = ">=3.8.1,<4.0" files = [ - {file = "langchain-0.0.184-py3-none-any.whl", hash = "sha256:819513b3acbd32ad24a55e48e0cabc8f60e09bb4293ca5b655d18e6d24353940"}, - {file = "langchain-0.0.184.tar.gz", hash = "sha256:e02a73b5cac889e761fc11c12297d4479a9727287c51a251ca2669a8a79ae348"}, + {file = "langchain-0.0.186-py3-none-any.whl", hash = "sha256:c53ac8943351602dbde84759d32d57fe2e6599279576935a004688e43ee8ffbf"}, + {file = "langchain-0.0.186.tar.gz", hash = "sha256:36d6d3872727a6f7d6db1b05b13caac35fed19a0d395d2264ed82aae53cfddfd"}, ] [package.dependencies] @@ -2267,12 +2361,12 @@ SQLAlchemy = ">=1.4,<3" tenacity = ">=8.1.0,<9.0.0" [package.extras] -all = ["O365 (>=2.0.26,<3.0.0)", "aleph-alpha-client (>=2.15.0,<3.0.0)", "anthropic (>=0.2.6,<0.3.0)", "arxiv (>=1.4,<2.0)", "atlassian-python-api (>=3.36.0,<4.0.0)", "azure-ai-formrecognizer (>=3.2.1,<4.0.0)", "azure-ai-vision (>=0.11.1b1,<0.12.0)", "azure-cognitiveservices-speech (>=1.28.0,<2.0.0)", "azure-cosmos (>=4.4.0b1,<5.0.0)", "azure-identity (>=1.12.0,<2.0.0)", "beautifulsoup4 (>=4,<5)", "clickhouse-connect (>=0.5.14,<0.6.0)", "cohere (>=3,<4)", "deeplake (>=3.3.0,<4.0.0)", "docarray[hnswlib] (>=0.32.0,<0.33.0)", "duckduckgo-search (>=2.8.6,<3.0.0)", "elasticsearch (>=8,<9)", "faiss-cpu (>=1,<2)", "google-api-python-client (==2.70.0)", "google-search-results (>=2,<3)", "gptcache (>=0.1.7)", "html2text (>=2020.1.16,<2021.0.0)", "huggingface_hub (>=0,<1)", "jina (>=3.14,<4.0)", "jinja2 (>=3,<4)", "jq (>=1.4.1,<2.0.0)", "lancedb (>=0.1,<0.2)", "langkit (>=0.0.1.dev3,<0.1.0)", "lark (>=1.1.5,<2.0.0)", "lxml (>=4.9.2,<5.0.0)", "manifest-ml (>=0.0.1,<0.0.2)", "momento (>=1.5.0,<2.0.0)", "neo4j (>=5.8.1,<6.0.0)", "networkx (>=2.6.3,<3.0.0)", "nlpcloud (>=1,<2)", "nltk (>=3,<4)", "nomic (>=1.0.43,<2.0.0)", "openai (>=0,<1)", "openlm (>=0.0.5,<0.0.6)", "opensearch-py (>=2.0.0,<3.0.0)", "pdfminer-six (>=20221105,<20221106)", "pexpect (>=4.8.0,<5.0.0)", "pgvector (>=0.1.6,<0.2.0)", "pinecone-client (>=2,<3)", "pinecone-text (>=0.4.2,<0.5.0)", "psycopg2-binary (>=2.9.5,<3.0.0)", "pyowm (>=3.3.0,<4.0.0)", "pypdf (>=3.4.0,<4.0.0)", "pytesseract (>=0.3.10,<0.4.0)", "pyvespa (>=0.33.0,<0.34.0)", "qdrant-client (>=1.1.2,<2.0.0)", "redis (>=4,<5)", "requests-toolbelt (>=1.0.0,<2.0.0)", "sentence-transformers (>=2,<3)", "spacy (>=3,<4)", "steamship (>=2.16.9,<3.0.0)", "tensorflow-text (>=2.11.0,<3.0.0)", "tiktoken (>=0.3.2,<0.4.0)", "torch (>=1,<3)", "transformers (>=4,<5)", "weaviate-client (>=3,<4)", "wikipedia (>=1,<2)", "wolframalpha (==5.0.0)"] +all = ["O365 (>=2.0.26,<3.0.0)", "aleph-alpha-client (>=2.15.0,<3.0.0)", "anthropic (>=0.2.6,<0.3.0)", "arxiv (>=1.4,<2.0)", "atlassian-python-api (>=3.36.0,<4.0.0)", "azure-ai-formrecognizer (>=3.2.1,<4.0.0)", "azure-ai-vision (>=0.11.1b1,<0.12.0)", "azure-cognitiveservices-speech (>=1.28.0,<2.0.0)", "azure-cosmos (>=4.4.0b1,<5.0.0)", "azure-identity (>=1.12.0,<2.0.0)", "beautifulsoup4 (>=4,<5)", "clickhouse-connect (>=0.5.14,<0.6.0)", "cohere (>=3,<4)", "deeplake (>=3.3.0,<4.0.0)", "docarray[hnswlib] (>=0.32.0,<0.33.0)", "duckduckgo-search (>=2.8.6,<3.0.0)", "elasticsearch (>=8,<9)", "faiss-cpu (>=1,<2)", "google-api-python-client (==2.70.0)", "google-search-results (>=2,<3)", "gptcache (>=0.1.7)", "html2text (>=2020.1.16,<2021.0.0)", "huggingface_hub (>=0,<1)", "jina (>=3.14,<4.0)", "jinja2 (>=3,<4)", "jq (>=1.4.1,<2.0.0)", "lancedb (>=0.1,<0.2)", "langkit (>=0.0.1.dev3,<0.1.0)", "lark (>=1.1.5,<2.0.0)", "lxml (>=4.9.2,<5.0.0)", "manifest-ml (>=0.0.1,<0.0.2)", "momento (>=1.5.0,<2.0.0)", "neo4j (>=5.8.1,<6.0.0)", "networkx (>=2.6.3,<3.0.0)", "nlpcloud (>=1,<2)", "nltk (>=3,<4)", "nomic (>=1.0.43,<2.0.0)", "openai (>=0,<1)", "openlm (>=0.0.5,<0.0.6)", "opensearch-py (>=2.0.0,<3.0.0)", "pdfminer-six (>=20221105,<20221106)", "pexpect (>=4.8.0,<5.0.0)", "pgvector (>=0.1.6,<0.2.0)", "pinecone-client (>=2,<3)", "pinecone-text (>=0.4.2,<0.5.0)", "psycopg2-binary (>=2.9.5,<3.0.0)", "pymongo (>=4.3.3,<5.0.0)", "pyowm (>=3.3.0,<4.0.0)", "pypdf (>=3.4.0,<4.0.0)", "pytesseract (>=0.3.10,<0.4.0)", "pyvespa (>=0.33.0,<0.34.0)", "qdrant-client (>=1.1.2,<2.0.0)", "redis (>=4,<5)", "requests-toolbelt (>=1.0.0,<2.0.0)", "sentence-transformers (>=2,<3)", "spacy (>=3,<4)", "steamship (>=2.16.9,<3.0.0)", "tensorflow-text (>=2.11.0,<3.0.0)", "tiktoken (>=0.3.2,<0.4.0)", "torch (>=1,<3)", "transformers (>=4,<5)", "weaviate-client (>=3,<4)", "wikipedia (>=1,<2)", "wolframalpha (==5.0.0)"] azure = ["azure-ai-formrecognizer (>=3.2.1,<4.0.0)", "azure-ai-vision (>=0.11.1b1,<0.12.0)", "azure-cognitiveservices-speech (>=1.28.0,<2.0.0)", "azure-core (>=1.26.4,<2.0.0)", "azure-cosmos (>=4.4.0b1,<5.0.0)", "azure-identity (>=1.12.0,<2.0.0)", "openai (>=0,<1)"] cohere = ["cohere (>=3,<4)"] docarray = ["docarray[hnswlib] (>=0.32.0,<0.33.0)"] embeddings = ["sentence-transformers (>=2,<3)"] -extended-testing = ["atlassian-python-api (>=3.36.0,<4.0.0)", "beautifulsoup4 (>=4,<5)", "bibtexparser (>=1.4.0,<2.0.0)", "chardet (>=5.1.0,<6.0.0)", "gql (>=3.4.1,<4.0.0)", "html2text (>=2020.1.16,<2021.0.0)", "jq (>=1.4.1,<2.0.0)", "lxml (>=4.9.2,<5.0.0)", "pandas (>=2.0.1,<3.0.0)", "pdfminer-six (>=20221105,<20221106)", "psychicapi (>=0.2,<0.3)", "pymupdf (>=1.22.3,<2.0.0)", "pypdf (>=3.4.0,<4.0.0)", "pypdfium2 (>=4.10.0,<5.0.0)", "requests-toolbelt (>=1.0.0,<2.0.0)", "scikit-learn (>=1.2.2,<2.0.0)", "telethon (>=1.28.5,<2.0.0)", "tqdm (>=4.48.0)", "zep-python (>=0.30,<0.31)"] +extended-testing = ["atlassian-python-api (>=3.36.0,<4.0.0)", "beautifulsoup4 (>=4,<5)", "bibtexparser (>=1.4.0,<2.0.0)", "chardet (>=5.1.0,<6.0.0)", "gql (>=3.4.1,<4.0.0)", "html2text (>=2020.1.16,<2021.0.0)", "jq (>=1.4.1,<2.0.0)", "lxml (>=4.9.2,<5.0.0)", "pandas (>=2.0.1,<3.0.0)", "pdfminer-six (>=20221105,<20221106)", "psychicapi (>=0.2,<0.3)", "py-trello (>=0.19.0,<0.20.0)", "pymupdf (>=1.22.3,<2.0.0)", "pypdf (>=3.4.0,<4.0.0)", "pypdfium2 (>=4.10.0,<5.0.0)", "pyspark (>=3.4.0,<4.0.0)", "requests-toolbelt (>=1.0.0,<2.0.0)", "scikit-learn (>=1.2.2,<2.0.0)", "telethon (>=1.28.5,<2.0.0)", "tqdm (>=4.48.0)", "zep-python (>=0.30,<0.31)"] llms = ["anthropic (>=0.2.6,<0.3.0)", "cohere (>=3,<4)", "huggingface_hub (>=0,<1)", "manifest-ml (>=0.0.1,<0.0.2)", "nlpcloud (>=1,<2)", "openai (>=0,<1)", "openlm (>=0.0.5,<0.0.6)", "torch (>=1,<3)", "transformers (>=4,<5)"] openai = ["openai (>=0,<1)", "tiktoken (>=0.3.2,<0.4.0)"] qdrant = ["qdrant-client (>=1.1.2,<2.0.0)"] @@ -2282,6 +2376,7 @@ text-helpers = ["chardet (>=5.1.0,<6.0.0)"] name = "langchain-serve" version = "0.0.38" description = "Langchain Serve - serve your langchain apps on Jina AI Cloud." +category = "main" optional = true python-versions = "*" files = [ @@ -2308,6 +2403,7 @@ test = ["psutil", "pytest", "pytest-asyncio"] name = "linkify-it-py" version = "2.0.2" description = "Links recognition library with FULL unicode support." +category = "main" optional = true python-versions = ">=3.7" files = [ @@ -2328,6 +2424,7 @@ test = ["coverage", "pytest", "pytest-cov"] name = "llama-cpp-python" version = "0.1.55" description = "A Python wrapper for llama.cpp" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2341,6 +2438,7 @@ typing-extensions = ">=4.5.0,<5.0.0" name = "lxml" version = "4.9.2" description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*" files = [ @@ -2433,6 +2531,7 @@ source = ["Cython (>=0.29.7)"] name = "lz4" version = "4.3.2" description = "LZ4 Bindings for Python" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2482,6 +2581,7 @@ tests = ["psutil", "pytest (!=3.3.0)", "pytest-cov"] name = "markdown" version = "3.4.3" description = "Python implementation of John Gruber's Markdown." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2499,6 +2599,7 @@ testing = ["coverage", "pyyaml"] name = "markdown-it-py" version = "2.2.0" description = "Python port of markdown-it. Markdown parsing, done right!" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2525,6 +2626,7 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] name = "markupsafe" version = "2.1.2" description = "Safely add untrusted strings to HTML/XML markup." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2584,6 +2686,7 @@ files = [ name = "marshmallow" version = "3.19.0" description = "A lightweight library for converting complex datatypes to and from native Python datatypes." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2604,6 +2707,7 @@ tests = ["pytest", "pytz", "simplejson"] name = "marshmallow-enum" version = "1.5.1" description = "Enum field for Marshmallow" +category = "main" optional = false python-versions = "*" files = [ @@ -2618,6 +2722,7 @@ marshmallow = ">=2.0.0" name = "matplotlib-inline" version = "0.1.6" description = "Inline Matplotlib backend for Jupyter" +category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -2632,6 +2737,7 @@ traitlets = "*" name = "mdit-py-plugins" version = "0.3.5" description = "Collection of plugins for markdown-it-py" +category = "main" optional = true python-versions = ">=3.7" files = [ @@ -2651,6 +2757,7 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] name = "mdurl" version = "0.1.2" description = "Markdown URL utilities" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2662,6 +2769,7 @@ files = [ name = "monotonic" version = "1.6" description = "An implementation of time.monotonic() for Python 2 & < 3.3" +category = "main" optional = false python-versions = "*" files = [ @@ -2673,6 +2781,7 @@ files = [ name = "mpmath" version = "1.3.0" description = "Python library for arbitrary-precision floating-point arithmetic" +category = "main" optional = false python-versions = "*" files = [ @@ -2690,6 +2799,7 @@ tests = ["pytest (>=4.6)"] name = "msg-parser" version = "1.2.0" description = "This module enables reading, parsing and converting Microsoft Outlook MSG E-Mail files." +category = "main" optional = false python-versions = ">=3.4" files = [ @@ -2707,6 +2817,7 @@ rtf = ["compressed-rtf (>=1.0.5)"] name = "multidict" version = "6.0.4" description = "multidict implementation" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2790,6 +2901,7 @@ files = [ name = "mypy" version = "1.3.0" description = "Optional static typing for Python" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2836,6 +2948,7 @@ reports = ["lxml"] name = "mypy-extensions" version = "1.0.0" description = "Type system extensions for programs checked with the mypy type checker." +category = "main" optional = false python-versions = ">=3.5" files = [ @@ -2847,6 +2960,7 @@ files = [ name = "nest-asyncio" version = "1.5.6" description = "Patch asyncio to allow nested event loops" +category = "main" optional = false python-versions = ">=3.5" files = [ @@ -2858,6 +2972,7 @@ files = [ name = "networkx" version = "3.1" description = "Python package for creating and manipulating graphs and networks" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2876,6 +2991,7 @@ test = ["codecov (>=2.1)", "pytest (>=7.2)", "pytest-cov (>=4.0)"] name = "nltk" version = "3.8.1" description = "Natural Language Toolkit" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2901,6 +3017,7 @@ twitter = ["twython"] name = "numexpr" version = "2.8.4" description = "Fast numerical expression evaluator for NumPy" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2943,6 +3060,7 @@ numpy = ">=1.13.3" name = "numpy" version = "1.23.5" description = "NumPy is the fundamental package for array computing with Python." +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2980,6 +3098,7 @@ files = [ name = "olefile" version = "0.46" description = "Python package to parse, read and write Microsoft OLE2 files (Structured Storage or Compound Document, Microsoft Office)" +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -2990,6 +3109,7 @@ files = [ name = "onnxruntime" version = "1.15.0" description = "ONNX Runtime is a runtime accelerator for Machine Learning models" +category = "main" optional = false python-versions = "*" files = [ @@ -3031,6 +3151,7 @@ sympy = "*" name = "openai" version = "0.27.7" description = "Python client library for the OpenAI API" +category = "main" optional = false python-versions = ">=3.7.1" files = [ @@ -3045,7 +3166,7 @@ tqdm = "*" [package.extras] datalib = ["numpy", "openpyxl (>=3.0.7)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1.0.11)"] -dev = ["black (>=21.6b0,<22.0)", "pytest (==6.*)", "pytest-asyncio", "pytest-mock"] +dev = ["black (>=21.6b0,<22.0)", "pytest (>=6.0.0,<7.0.0)", "pytest-asyncio", "pytest-mock"] embeddings = ["matplotlib", "numpy", "openpyxl (>=3.0.7)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1.0.11)", "plotly", "scikit-learn (>=1.0.2)", "scipy", "tenacity (>=8.0.1)"] wandb = ["numpy", "openpyxl (>=3.0.7)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1.0.11)", "wandb"] @@ -3053,6 +3174,7 @@ wandb = ["numpy", "openpyxl (>=3.0.7)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1 name = "openapi-schema-pydantic" version = "1.2.4" description = "OpenAPI (v3) specification schema as pydantic class" +category = "main" optional = false python-versions = ">=3.6.1" files = [ @@ -3067,6 +3189,7 @@ pydantic = ">=1.8.2" name = "openpyxl" version = "3.1.2" description = "A Python library to read/write Excel 2010 xlsx/xlsm files" +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -3081,6 +3204,7 @@ et-xmlfile = "*" name = "opentelemetry-api" version = "1.18.0" description = "OpenTelemetry Python API" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3097,6 +3221,7 @@ setuptools = ">=16.0" name = "opentelemetry-exporter-otlp" version = "1.18.0" description = "OpenTelemetry Collector Exporters" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3112,6 +3237,7 @@ opentelemetry-exporter-otlp-proto-http = "1.18.0" name = "opentelemetry-exporter-otlp-proto-common" version = "1.18.0" description = "OpenTelemetry Protobuf encoding" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3126,6 +3252,7 @@ opentelemetry-proto = "1.18.0" name = "opentelemetry-exporter-otlp-proto-grpc" version = "1.18.0" description = "OpenTelemetry Collector Protobuf over gRPC Exporter" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3150,6 +3277,7 @@ test = ["pytest-grpc"] name = "opentelemetry-exporter-otlp-proto-http" version = "1.18.0" description = "OpenTelemetry Collector Protobuf over HTTP Exporter" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3174,6 +3302,7 @@ test = ["responses (==0.22.0)"] name = "opentelemetry-exporter-prometheus" version = "1.12.0rc1" description = "Prometheus Metric Exporter for OpenTelemetry" +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -3190,6 +3319,7 @@ prometheus-client = ">=0.5.0,<1.0.0" name = "opentelemetry-instrumentation" version = "0.39b0" description = "Instrumentation Tools & Auto Instrumentation for OpenTelemetry Python" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3206,6 +3336,7 @@ wrapt = ">=1.0.0,<2.0.0" name = "opentelemetry-instrumentation-aiohttp-client" version = "0.39b0" description = "OpenTelemetry aiohttp client instrumentation" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3228,6 +3359,7 @@ test = ["opentelemetry-instrumentation-aiohttp-client[instruments]"] name = "opentelemetry-instrumentation-asgi" version = "0.39b0" description = "ASGI instrumentation for OpenTelemetry" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3250,6 +3382,7 @@ test = ["opentelemetry-instrumentation-asgi[instruments]", "opentelemetry-test-u name = "opentelemetry-instrumentation-fastapi" version = "0.39b0" description = "OpenTelemetry FastAPI Instrumentation" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3272,6 +3405,7 @@ test = ["httpx (>=0.22,<1.0)", "opentelemetry-instrumentation-fastapi[instrument name = "opentelemetry-instrumentation-grpc" version = "0.39b0" description = "OpenTelemetry gRPC instrumentation" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3294,6 +3428,7 @@ test = ["opentelemetry-instrumentation-grpc[instruments]", "opentelemetry-sdk (> name = "opentelemetry-proto" version = "1.18.0" description = "OpenTelemetry Python Proto" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3308,6 +3443,7 @@ protobuf = ">=3.19,<5.0" name = "opentelemetry-sdk" version = "1.18.0" description = "OpenTelemetry Python SDK" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3325,6 +3461,7 @@ typing-extensions = ">=3.7.4" name = "opentelemetry-semantic-conventions" version = "0.39b0" description = "OpenTelemetry Semantic Conventions" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3336,6 +3473,7 @@ files = [ name = "opentelemetry-util-http" version = "0.39b0" description = "Web util for OpenTelemetry" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3347,6 +3485,7 @@ files = [ name = "overrides" version = "7.3.1" description = "A decorator to automatically detect mismatch when overriding a method." +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -3358,6 +3497,7 @@ files = [ name = "packaging" version = "23.1" description = "Core utilities for Python packages" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3369,6 +3509,7 @@ files = [ name = "pandas" version = "1.5.3" description = "Powerful data structures for data analysis, time series, and statistics" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3417,6 +3558,7 @@ test = ["hypothesis (>=5.5.3)", "pytest (>=6.0)", "pytest-xdist (>=1.31)"] name = "pandas-stubs" version = "2.0.1.230501" description = "Type annotations for pandas" +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -3431,6 +3573,7 @@ types-pytz = ">=2022.1.1" name = "parso" version = "0.8.3" description = "A Python Parser" +category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -3446,6 +3589,7 @@ testing = ["docopt", "pytest (<6.0.0)"] name = "pathspec" version = "0.11.1" description = "Utility library for gitignore style pattern matching of file paths." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3457,6 +3601,7 @@ files = [ name = "pexpect" version = "4.8.0" description = "Pexpect allows easy control of interactive console applications." +category = "dev" optional = false python-versions = "*" files = [ @@ -3471,6 +3616,7 @@ ptyprocess = ">=0.5" name = "pickleshare" version = "0.7.5" description = "Tiny 'shelve'-like database with concurrency support" +category = "dev" optional = false python-versions = "*" files = [ @@ -3482,6 +3628,7 @@ files = [ name = "pillow" version = "9.5.0" description = "Python Imaging Library (Fork)" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3561,6 +3708,7 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa name = "platformdirs" version = "3.5.1" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -3576,6 +3724,7 @@ test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest- name = "pluggy" version = "1.0.0" description = "plugin and hook calling mechanisms for python" +category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -3591,6 +3740,7 @@ testing = ["pytest", "pytest-benchmark"] name = "portalocker" version = "2.7.0" description = "Wraps the portalocker recipe for easy usage" +category = "main" optional = false python-versions = ">=3.5" files = [ @@ -3610,6 +3760,7 @@ tests = ["pytest (>=5.4.1)", "pytest-cov (>=2.8.1)", "pytest-mypy (>=0.8.0)", "p name = "posthog" version = "3.0.1" description = "Integrate PostHog into any python application." +category = "main" optional = false python-versions = "*" files = [ @@ -3633,6 +3784,7 @@ test = ["coverage", "flake8", "freezegun (==0.3.15)", "mock (>=2.0.0)", "pylint" name = "prometheus-client" version = "0.17.0" description = "Python client for the Prometheus monitoring system." +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -3647,6 +3799,7 @@ twisted = ["twisted"] name = "prompt-toolkit" version = "3.0.38" description = "Library for building powerful interactive command lines in Python" +category = "dev" optional = false python-versions = ">=3.7.0" files = [ @@ -3661,6 +3814,7 @@ wcwidth = "*" name = "protobuf" version = "3.20.3" description = "Protocol Buffers" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3692,6 +3846,7 @@ files = [ name = "psutil" version = "5.9.5" description = "Cross-platform lib for process and system monitoring in Python." +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -3718,6 +3873,7 @@ test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] name = "psycopg2-binary" version = "2.9.6" description = "psycopg2 - Python-PostgreSQL Database Adapter" +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -3789,6 +3945,7 @@ files = [ name = "ptyprocess" version = "0.7.0" description = "Run a subprocess in a pseudo terminal" +category = "dev" optional = false python-versions = "*" files = [ @@ -3800,6 +3957,7 @@ files = [ name = "pure-eval" version = "0.2.2" description = "Safely evaluate AST nodes without side effects" +category = "dev" optional = false python-versions = "*" files = [ @@ -3814,6 +3972,7 @@ tests = ["pytest"] name = "pyarrow" version = "11.0.0" description = "Python library for Apache Arrow" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3851,6 +4010,7 @@ numpy = ">=1.16.6" name = "pyasn1" version = "0.5.0" description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)" +category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" files = [ @@ -3862,6 +4022,7 @@ files = [ name = "pyasn1-modules" version = "0.3.0" description = "A collection of ASN.1-based protocols modules" +category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" files = [ @@ -3876,6 +4037,7 @@ pyasn1 = ">=0.4.6,<0.6.0" name = "pycparser" version = "2.21" description = "C parser in Python" +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -3887,6 +4049,7 @@ files = [ name = "pydantic" version = "1.10.8" description = "Data validation and settings management using python type hints" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3939,6 +4102,7 @@ email = ["email-validator (>=1.0.3)"] name = "pygments" version = "2.15.1" description = "Pygments is a syntax highlighting package written in Python." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3953,6 +4117,7 @@ plugins = ["importlib-metadata"] name = "pypandoc" version = "1.11" description = "Thin wrapper for pandoc." +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -3964,6 +4129,7 @@ files = [ name = "pyparsing" version = "3.0.9" description = "pyparsing module - Classes and methods to define and execute parsing grammars" +category = "main" optional = false python-versions = ">=3.6.8" files = [ @@ -3978,6 +4144,7 @@ diagrams = ["jinja2", "railroad-diagrams"] name = "pypdf" version = "3.9.0" description = "A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files" +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -3999,6 +4166,7 @@ image = ["Pillow"] name = "pyreadline3" version = "3.4.1" description = "A python implementation of GNU readline." +category = "main" optional = false python-versions = "*" files = [ @@ -4010,6 +4178,7 @@ files = [ name = "pysrt" version = "1.1.2" description = "SubRip (.srt) subtitle parser and writer" +category = "main" optional = false python-versions = "*" files = [ @@ -4023,6 +4192,7 @@ chardet = "*" name = "pytest" version = "7.3.1" description = "pytest: simple powerful testing with Python" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -4045,6 +4215,7 @@ testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "no name = "pytest-cov" version = "4.1.0" description = "Pytest plugin for measuring coverage." +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -4063,6 +4234,7 @@ testing = ["fields", "hunter", "process-tests", "pytest-xdist", "six", "virtuale name = "python-dateutil" version = "2.8.2" description = "Extensions to the standard Python datetime module" +category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ @@ -4077,6 +4249,7 @@ six = ">=1.5" name = "python-docx" version = "0.8.11" description = "Create and update Microsoft Word .docx files." +category = "main" optional = false python-versions = "*" files = [ @@ -4090,6 +4263,7 @@ lxml = ">=2.3.2" name = "python-dotenv" version = "1.0.0" description = "Read key-value pairs from a .env file and set them as environment variables" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -4104,6 +4278,7 @@ cli = ["click (>=5.0)"] name = "python-jose" version = "3.3.0" description = "JOSE implementation in Python" +category = "main" optional = false python-versions = "*" files = [ @@ -4125,6 +4300,7 @@ pycryptodome = ["pyasn1", "pycryptodome (>=3.3.1,<4.0.0)"] name = "python-magic" version = "0.4.27" description = "File type identification using libmagic" +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -4136,6 +4312,7 @@ files = [ name = "python-multipart" version = "0.0.6" description = "A streaming multipart parser for Python" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4150,6 +4327,7 @@ dev = ["atomicwrites (==1.2.1)", "attrs (==19.2.0)", "coverage (==6.5.0)", "hatc name = "python-pptx" version = "0.6.21" description = "Generate and manipulate Open XML PowerPoint (.pptx) files" +category = "main" optional = false python-versions = "*" files = [ @@ -4165,6 +4343,7 @@ XlsxWriter = ">=0.5.7" name = "pytz" version = "2023.3" description = "World timezone definitions, modern and historical" +category = "main" optional = false python-versions = "*" files = [ @@ -4176,6 +4355,7 @@ files = [ name = "pywin32" version = "306" description = "Python for Window Extensions" +category = "main" optional = false python-versions = "*" files = [ @@ -4199,6 +4379,7 @@ files = [ name = "pyyaml" version = "6.0" description = "YAML parser and emitter for Python" +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -4248,6 +4429,7 @@ files = [ name = "pyzmq" version = "25.1.0" description = "Python bindings for 0MQ" +category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -4337,6 +4519,7 @@ cffi = {version = "*", markers = "implementation_name == \"pypy\""} name = "qdrant-client" version = "1.2.0" description = "Client library for the Qdrant vector search engine" +category = "main" optional = false python-versions = ">=3.7,<3.12" files = [ @@ -4358,6 +4541,7 @@ urllib3 = ">=1.26.14,<2.0.0" name = "regex" version = "2023.5.5" description = "Alternative regular expression module, to replace re." +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -4455,6 +4639,7 @@ files = [ name = "requests" version = "2.28.2" description = "Python HTTP for Humans." +category = "main" optional = false python-versions = ">=3.7, <4" files = [ @@ -4476,6 +4661,7 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] name = "rfc3986" version = "1.5.0" description = "Validating URI References per RFC 3986" +category = "main" optional = false python-versions = "*" files = [ @@ -4493,6 +4679,7 @@ idna2008 = ["idna"] name = "rich" version = "13.3.5" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" +category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -4511,6 +4698,7 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"] name = "rsa" version = "4.9" description = "Pure-Python RSA implementation" +category = "main" optional = false python-versions = ">=3.6,<4" files = [ @@ -4525,6 +4713,7 @@ pyasn1 = ">=0.1.3" name = "ruff" version = "0.0.254" description = "An extremely fast Python linter, written in Rust." +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -4551,6 +4740,7 @@ files = [ name = "scikit-learn" version = "1.2.2" description = "A set of python modules for machine learning and data mining" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -4593,6 +4783,7 @@ tests = ["black (>=22.3.0)", "flake8 (>=3.8.2)", "matplotlib (>=3.1.3)", "mypy ( name = "scipy" version = "1.10.1" description = "Fundamental algorithms for scientific computing in Python" +category = "main" optional = false python-versions = "<3.12,>=3.8" files = [ @@ -4631,6 +4822,7 @@ test = ["asv", "gmpy2", "mpmath", "pooch", "pytest", "pytest-cov", "pytest-timeo name = "sentence-transformers" version = "2.2.2" description = "Multilingual text embeddings" +category = "main" optional = false python-versions = ">=3.6.0" files = [ @@ -4653,6 +4845,7 @@ transformers = ">=4.6.0,<5.0.0" name = "sentencepiece" version = "0.1.99" description = "SentencePiece python wrapper" +category = "main" optional = false python-versions = "*" files = [ @@ -4707,6 +4900,7 @@ files = [ name = "setuptools" version = "67.8.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4723,6 +4917,7 @@ testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs ( name = "six" version = "1.16.0" description = "Python 2 and 3 compatibility utilities" +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -4734,6 +4929,7 @@ files = [ name = "sniffio" version = "1.3.0" description = "Sniff out which async library your code is running under" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4745,6 +4941,7 @@ files = [ name = "soupsieve" version = "2.4.1" description = "A modern CSS selector implementation for Beautiful Soup." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4756,6 +4953,7 @@ files = [ name = "sqlalchemy" version = "2.0.15" description = "Database Abstraction Library" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4803,7 +5001,7 @@ files = [ ] [package.dependencies] -greenlet = {version = "!=0.4.17", markers = "platform_machine == \"win32\" or platform_machine == \"WIN32\" or platform_machine == \"AMD64\" or platform_machine == \"amd64\" or platform_machine == \"x86_64\" or platform_machine == \"ppc64le\" or platform_machine == \"aarch64\""} +greenlet = {version = "!=0.4.17", markers = "platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\""} typing-extensions = ">=4.2.0" [package.extras] @@ -4833,6 +5031,7 @@ sqlcipher = ["sqlcipher3-binary"] name = "stack-data" version = "0.6.2" description = "Extract data from python stack frames and tracebacks for informative displays" +category = "dev" optional = false python-versions = "*" files = [ @@ -4852,6 +5051,7 @@ tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"] name = "starlette" version = "0.27.0" description = "The little ASGI library that shines." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4870,6 +5070,7 @@ full = ["httpx (>=0.22.0)", "itsdangerous", "jinja2", "python-multipart", "pyyam name = "sympy" version = "1.12" description = "Computer algebra system (CAS) in Python" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -4884,6 +5085,7 @@ mpmath = ">=0.19" name = "tenacity" version = "8.2.2" description = "Retry code until it succeeds" +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -4898,6 +5100,7 @@ doc = ["reno", "sphinx", "tornado (>=4.5)"] name = "textual" version = "0.26.0" description = "Modern Text User Interface framework" +category = "main" optional = true python-versions = ">=3.7,<4.0" files = [ @@ -4918,6 +5121,7 @@ dev = ["aiohttp (>=3.8.1)", "click (>=8.1.2)", "msgpack (>=1.0.3)"] name = "threadpoolctl" version = "3.1.0" description = "threadpoolctl" +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -4929,6 +5133,7 @@ files = [ name = "tiktoken" version = "0.3.3" description = "tiktoken is a fast BPE tokeniser for use with OpenAI's models" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -4974,6 +5179,7 @@ blobfile = ["blobfile (>=2)"] name = "tokenizers" version = "0.13.3" description = "Fast and Customizable Tokenizers" +category = "main" optional = false python-versions = "*" files = [ @@ -5028,6 +5234,7 @@ testing = ["black (==22.3)", "datasets", "numpy", "pytest", "requests"] name = "toml" version = "0.10.2" description = "Python Library for Tom's Obvious, Minimal Language" +category = "main" optional = true python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -5039,6 +5246,7 @@ files = [ name = "tomli" version = "2.0.1" description = "A lil' TOML parser" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -5050,6 +5258,7 @@ files = [ name = "torch" version = "2.0.1" description = "Tensors and Dynamic neural networks in Python with strong GPU acceleration" +category = "main" optional = false python-versions = ">=3.8.0" files = [ @@ -5089,6 +5298,7 @@ opt-einsum = ["opt-einsum (>=3.3)"] name = "torchvision" version = "0.15.2" description = "image and video datasets and models for torch deep learning" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -5116,7 +5326,7 @@ files = [ [package.dependencies] numpy = "*" -pillow = ">=5.3.0,<8.3.dev0 || >=8.4.dev0" +pillow = ">=5.3.0,<8.3.0 || >=8.4.0" requests = "*" torch = "2.0.1" @@ -5127,6 +5337,7 @@ scipy = ["scipy"] name = "tornado" version = "6.3.2" description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." +category = "dev" optional = false python-versions = ">= 3.8" files = [ @@ -5147,6 +5358,7 @@ files = [ name = "tqdm" version = "4.65.0" description = "Fast, Extensible Progress Meter" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5167,6 +5379,7 @@ telegram = ["requests"] name = "traitlets" version = "5.9.0" description = "Traitlets Python configuration system" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -5182,6 +5395,7 @@ test = ["argcomplete (>=2.0)", "pre-commit", "pytest", "pytest-mock"] name = "transformers" version = "4.29.0" description = "State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow" +category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -5249,6 +5463,7 @@ vision = ["Pillow"] name = "typer" version = "0.7.0" description = "Typer, build great CLIs. Easy to code. Based on Python type hints." +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -5269,6 +5484,7 @@ test = ["black (>=22.3.0,<23.0.0)", "coverage (>=6.2,<7.0)", "isort (>=5.0.6,<6. name = "types-pillow" version = "9.5.0.4" description = "Typing stubs for Pillow" +category = "dev" optional = false python-versions = "*" files = [ @@ -5280,6 +5496,7 @@ files = [ name = "types-pytz" version = "2023.3.0.0" description = "Typing stubs for pytz" +category = "dev" optional = false python-versions = "*" files = [ @@ -5291,6 +5508,7 @@ files = [ name = "types-pyyaml" version = "6.0.12.10" description = "Typing stubs for PyYAML" +category = "main" optional = false python-versions = "*" files = [ @@ -5302,6 +5520,7 @@ files = [ name = "types-requests" version = "2.31.0.1" description = "Typing stubs for requests" +category = "dev" optional = false python-versions = "*" files = [ @@ -5316,6 +5535,7 @@ types-urllib3 = "*" name = "types-urllib3" version = "1.26.25.13" description = "Typing stubs for urllib3" +category = "dev" optional = false python-versions = "*" files = [ @@ -5327,6 +5547,7 @@ files = [ name = "typing-extensions" version = "4.5.0" description = "Backported and Experimental Type Hints for Python 3.7+" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5338,6 +5559,7 @@ files = [ name = "typing-inspect" version = "0.8.0" description = "Runtime inspection utilities for typing module." +category = "main" optional = false python-versions = "*" files = [ @@ -5353,6 +5575,7 @@ typing-extensions = ">=3.7.4" name = "uc-micro-py" version = "1.0.2" description = "Micro subset of unicode data files for linkify-it-py projects." +category = "main" optional = true python-versions = ">=3.7" files = [ @@ -5367,6 +5590,7 @@ test = ["coverage", "pytest", "pytest-cov"] name = "unstructured" version = "0.5.13" description = "A library that prepares raw documents for downstream ML tasks." +category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -5406,6 +5630,7 @@ wikipedia = ["wikipedia"] name = "uritemplate" version = "4.1.1" description = "Implementation of RFC 6570 URI Templates" +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -5417,6 +5642,7 @@ files = [ name = "urllib3" version = "1.26.16" description = "HTTP library with thread-safe connection pooling, file post, and more." +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ @@ -5433,6 +5659,7 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] name = "uvicorn" version = "0.20.0" description = "The lightning-fast ASGI server." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5447,7 +5674,7 @@ h11 = ">=0.8" httptools = {version = ">=0.5.0", optional = true, markers = "extra == \"standard\""} python-dotenv = {version = ">=0.13", optional = true, markers = "extra == \"standard\""} pyyaml = {version = ">=5.1", optional = true, markers = "extra == \"standard\""} -uvloop = {version = ">=0.14.0,<0.15.0 || >0.15.0,<0.15.1 || >0.15.1", optional = true, markers = "(sys_platform != \"win32\" and sys_platform != \"cygwin\") and platform_python_implementation != \"PyPy\" and extra == \"standard\""} +uvloop = {version = ">=0.14.0,<0.15.0 || >0.15.0,<0.15.1 || >0.15.1", optional = true, markers = "sys_platform != \"win32\" and sys_platform != \"cygwin\" and platform_python_implementation != \"PyPy\" and extra == \"standard\""} watchfiles = {version = ">=0.13", optional = true, markers = "extra == \"standard\""} websockets = {version = ">=10.4", optional = true, markers = "extra == \"standard\""} @@ -5458,6 +5685,7 @@ standard = ["colorama (>=0.4)", "httptools (>=0.5.0)", "python-dotenv (>=0.13)", name = "uvloop" version = "0.17.0" description = "Fast implementation of asyncio event loop on top of libuv" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5502,6 +5730,7 @@ test = ["Cython (>=0.29.32,<0.30.0)", "aiohttp", "flake8 (>=3.9.2,<3.10.0)", "my name = "validators" version = "0.20.0" description = "Python Data Validation for Humansβ„’." +category = "main" optional = false python-versions = ">=3.4" files = [ @@ -5518,6 +5747,7 @@ test = ["flake8 (>=2.4.0)", "isort (>=4.2.2)", "pytest (>=2.2.3)"] name = "watchfiles" version = "0.19.0" description = "Simple, modern and high performance file watching and code reload in python." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5552,6 +5782,7 @@ anyio = ">=3.0.0" name = "wcwidth" version = "0.2.6" description = "Measures the displayed width of unicode strings in a terminal" +category = "dev" optional = false python-versions = "*" files = [ @@ -5563,6 +5794,7 @@ files = [ name = "weaviate-client" version = "3.19.2" description = "A python native weaviate client" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -5583,6 +5815,7 @@ grpc = ["grpcio", "grpcio-tools"] name = "websocket-client" version = "1.5.2" description = "WebSocket client for Python with low level API options" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5599,6 +5832,7 @@ test = ["websockets"] name = "websockets" version = "11.0.3" description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5678,6 +5912,7 @@ files = [ name = "wikipedia" version = "1.4.0" description = "Wikipedia API for Python" +category = "main" optional = false python-versions = "*" files = [ @@ -5692,6 +5927,7 @@ requests = ">=2.0.0,<3.0.0" name = "wrapt" version = "1.14.1" description = "Module for decorators, wrappers and monkey patching." +category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" files = [ @@ -5765,6 +6001,7 @@ files = [ name = "xlsxwriter" version = "3.1.2" description = "A Python module for creating Excel XLSX files." +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -5776,6 +6013,7 @@ files = [ name = "yarl" version = "1.9.2" description = "Yet another URL library" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5863,6 +6101,7 @@ multidict = ">=4.0" name = "zipp" version = "3.15.0" description = "Backport of pathlib-compatible object wrapper for zip files" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5878,6 +6117,7 @@ testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more name = "zstandard" version = "0.21.0" description = "Zstandard bindings for Python" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5938,4 +6178,4 @@ deploy = ["langchain-serve"] [metadata] lock-version = "2.0" python-versions = ">=3.9,<3.12" -content-hash = "6560026ff87dd44f900ee5a22caabd294ef20c2b2fbe51e06e418727927d8df2" +content-hash = "9ce165d2decf2190d7ce69be608872b3ed9abe705a276045623706d01665754b" diff --git a/pyproject.toml b/pyproject.toml index 0d3affef3..79d09b422 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "langflow" -version = "0.0.78" +version = "0.0.79" description = "A Python package with a built-in web application" authors = ["Logspace "] maintainers = [ @@ -29,7 +29,7 @@ google-search-results = "^2.4.1" google-api-python-client = "^2.79.0" typer = "^0.7.0" gunicorn = "^20.1.0" -langchain = "^0.0.184" +langchain = "^0.0.186" openai = "^0.27.7" types-pyyaml = "^6.0.12.8" dill = "^0.3.6" From 4160274b298a8ade902eccecc36268a80bb849dd Mon Sep 17 00:00:00 2001 From: Cristhian Zanforlin Lousa Date: Tue, 30 May 2023 22:15:01 -0300 Subject: [PATCH 57/69] Adding search nodes to ExtraSideBarComponent --- .../ExtraSidebarComponent/index.tsx | 9 +- .../extraSidebarComponent/index.tsx | 163 +++++++++++------- 2 files changed, 107 insertions(+), 65 deletions(-) diff --git a/src/frontend/src/components/ExtraSidebarComponent/index.tsx b/src/frontend/src/components/ExtraSidebarComponent/index.tsx index f5acd5a23..b06a58d9c 100644 --- a/src/frontend/src/components/ExtraSidebarComponent/index.tsx +++ b/src/frontend/src/components/ExtraSidebarComponent/index.tsx @@ -1,6 +1,6 @@ import { Disclosure } from "@headlessui/react"; import { ChevronLeftIcon } from "@heroicons/react/24/outline"; -import { useContext } from "react"; +import { useContext, useState } from "react"; import { Link } from "react-router-dom"; import { classNames } from "../../utils"; import { locationContext } from "../../contexts/locationContext"; @@ -13,6 +13,7 @@ export default function ExtraSidebar() { extraNavigation, extraComponent, } = useContext(locationContext); + return ( <>