From 9ab0c77bea55e4fbe588241386cb913d79f369b9 Mon Sep 17 00:00:00 2001 From: Luan Cazarine Date: Thu, 12 Sep 2024 09:38:11 -0300 Subject: [PATCH 1/3] jigsawstack init --- .../object-detection/object-detection.mjs | 26 ++++++ .../sentiment-analysis/sentiment-analysis.mjs | 27 ++++++ .../actions/verify-email/verify-email.mjs | 27 ++++++ components/jigsawstack/jigsawstack.app.mjs | 83 ++++++++++++++++++- components/jigsawstack/package.json | 2 +- 5 files changed, 161 insertions(+), 4 deletions(-) create mode 100644 components/jigsawstack/actions/object-detection/object-detection.mjs create mode 100644 components/jigsawstack/actions/sentiment-analysis/sentiment-analysis.mjs create mode 100644 components/jigsawstack/actions/verify-email/verify-email.mjs diff --git a/components/jigsawstack/actions/object-detection/object-detection.mjs b/components/jigsawstack/actions/object-detection/object-detection.mjs new file mode 100644 index 0000000000000..93af13626a657 --- /dev/null +++ b/components/jigsawstack/actions/object-detection/object-detection.mjs @@ -0,0 +1,26 @@ +import jigsawstack from "../../jigsawstack.app.mjs"; +import { axios } from "@pipedream/platform"; + +export default { + key: "jigsawstack-object-detection", + name: "Object Detection", + description: "Recognize objects within a provided image and retrieve it with great accuracy. [See the documentation](https://docs.jigsawstack.com/api-reference/ai/object-detection)", + version: "0.0.{{ts}}", + type: "action", + props: { + jigsawstack, + imageUrl: { + propDefinition: [ + jigsawstack, + "imageUrl", + ], + }, + }, + async run({ $ }) { + const response = await this.jigsawstack.detectObjectsInImage({ + imageUrl: this.imageUrl, + }); + $.export("$summary", "Successfully detected objects in the image"); + return response; + }, +}; diff --git a/components/jigsawstack/actions/sentiment-analysis/sentiment-analysis.mjs b/components/jigsawstack/actions/sentiment-analysis/sentiment-analysis.mjs new file mode 100644 index 0000000000000..cb068f04d4c2d --- /dev/null +++ b/components/jigsawstack/actions/sentiment-analysis/sentiment-analysis.mjs @@ -0,0 +1,27 @@ +import jigsawstack from "../../jigsawstack.app.mjs"; +import { axios } from "@pipedream/platform"; + +export default { + key: "jigsawstack-sentiment-analysis", + name: "Sentiment Analysis", + description: "Assess sentiment of a provided text. Vibes can be positive, negative, or neutral. [See the documentation](https://docs.jigsawstack.com/api-reference/ai/sentiment)", + version: "0.0.{{ts}}", + type: "action", + props: { + jigsawstack, + text: { + propDefinition: [ + jigsawstack, + "text", + ], + }, + }, + async run({ $ }) { + const response = await this.jigsawstack.analyzeSentiment({ + text: this.text, + }); + + $.export("$summary", `Successfully analyzed sentiment with emotion: ${response.sentiment.emotion} and sentiment: ${response.sentiment.sentiment}`); + return response; + }, +}; diff --git a/components/jigsawstack/actions/verify-email/verify-email.mjs b/components/jigsawstack/actions/verify-email/verify-email.mjs new file mode 100644 index 0000000000000..1f54ba63fd3d3 --- /dev/null +++ b/components/jigsawstack/actions/verify-email/verify-email.mjs @@ -0,0 +1,27 @@ +import jigsawstack from "../../jigsawstack.app.mjs"; +import { axios } from "@pipedream/platform"; + +export default { + key: "jigsawstack-verify-email", + name: "Verify Email", + description: "Validate any email address and determine deliverability as well as disposable status. [See the documentation](https://docs.jigsawstack.com/api-reference/validate/email)", + version: "0.0.{{ts}}", + type: "action", + props: { + jigsawstack, + email: { + propDefinition: [ + jigsawstack, + "email", + ], + }, + }, + async run({ $ }) { + const response = await this.jigsawstack.validateEmail({ + email: this.email, + }); + + $.export("$summary", `Successfully validated email: ${this.email}`); + return response; + }, +}; diff --git a/components/jigsawstack/jigsawstack.app.mjs b/components/jigsawstack/jigsawstack.app.mjs index c60d813849f6f..a7fb45cc04de2 100644 --- a/components/jigsawstack/jigsawstack.app.mjs +++ b/components/jigsawstack/jigsawstack.app.mjs @@ -1,11 +1,88 @@ +import { axios } from "@pipedream/platform"; + export default { type: "app", app: "jigsawstack", - propDefinitions: {}, + propDefinitions: { + email: { + type: "string", + label: "Email Address", + description: "The email address to validate.", + }, + imageUrl: { + type: "string", + label: "Image URL", + description: "The URL of the image to process.", + }, + text: { + type: "string", + label: "Text", + description: "The text to analyze for sentiment.", + }, + }, methods: { - // this.$auth contains connected account data + _baseUrl() { + return "https://api.jigsawstack.com"; + }, + async _makeRequest(opts = {}) { + const { + $ = this, + method = "GET", + path = "/", + headers, + ...otherOpts + } = opts; + return axios($, { + ...otherOpts, + method, + url: this._baseUrl() + path, + headers: { + ...headers, + "x-api-key": this.$auth.api_key, + }, + }); + }, + async validateEmail(opts = {}) { + const { + email, ...otherOpts + } = opts; + return this._makeRequest({ + method: "GET", + path: "/v1/validate/email", + params: { + email, + }, + ...otherOpts, + }); + }, + async detectObjectsInImage(opts = {}) { + const { + imageUrl, ...otherOpts + } = opts; + return this._makeRequest({ + method: "POST", + path: "/v1/ai/object_detection", + data: { + url: imageUrl, + }, + ...otherOpts, + }); + }, + async analyzeSentiment(opts = {}) { + const { + text, ...otherOpts + } = opts; + return this._makeRequest({ + method: "POST", + path: "/v1/ai/sentiment", + data: { + text, + }, + ...otherOpts, + }); + }, authKeys() { console.log(Object.keys(this.$auth)); }, }, -}; \ No newline at end of file +}; diff --git a/components/jigsawstack/package.json b/components/jigsawstack/package.json index 17425b3cfac14..d6efecabbe825 100644 --- a/components/jigsawstack/package.json +++ b/components/jigsawstack/package.json @@ -12,4 +12,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} From 58adceb8922acce398f5951cabfec84118c3746b Mon Sep 17 00:00:00 2001 From: Luan Cazarine Date: Thu, 12 Sep 2024 13:38:40 -0300 Subject: [PATCH 2/3] [Components] jigsawstack #13924 Actions - Verify Email - Object Detection - Sentiment Analysis --- .../object-detection/object-detection.mjs | 71 ++++++++++++--- .../sentiment-analysis/sentiment-analysis.mjs | 28 +++--- .../actions/verify-email/verify-email.mjs | 28 +++--- components/jigsawstack/common/utils.mjs | 13 +++ components/jigsawstack/jigsawstack.app.mjs | 88 ++++++------------- components/jigsawstack/package.json | 7 +- 6 files changed, 139 insertions(+), 96 deletions(-) create mode 100644 components/jigsawstack/common/utils.mjs diff --git a/components/jigsawstack/actions/object-detection/object-detection.mjs b/components/jigsawstack/actions/object-detection/object-detection.mjs index 93af13626a657..dccd2d1bcdbcc 100644 --- a/components/jigsawstack/actions/object-detection/object-detection.mjs +++ b/components/jigsawstack/actions/object-detection/object-detection.mjs @@ -1,26 +1,73 @@ +import { ConfigurationError } from "@pipedream/platform"; +import fs from "fs"; +import mime from "mime"; +import { + checkTmp, + throwError, +} from "../../common/utils.mjs"; import jigsawstack from "../../jigsawstack.app.mjs"; -import { axios } from "@pipedream/platform"; export default { key: "jigsawstack-object-detection", name: "Object Detection", description: "Recognize objects within a provided image and retrieve it with great accuracy. [See the documentation](https://docs.jigsawstack.com/api-reference/ai/object-detection)", - version: "0.0.{{ts}}", + version: "0.0.1", type: "action", props: { jigsawstack, - imageUrl: { - propDefinition: [ - jigsawstack, - "imageUrl", - ], + url: { + type: "string", + label: "Image URL", + description: "The URL of the image to process.", + optional: true, + }, + fileStoreKey: { + type: "string", + label: "File Store Key", + description: "The key used to store the image on Jigsawstack file [Storage](https://docs.jigsawstack.com/api-reference/store/file/add).", + optional: true, + }, + imageFile: { + type: "string", + label: "Image File", + description: "The path to a file in the `/tmp` directory. [See the documentation on working with files](https://pipedream.com/docs/code/nodejs/working-with-files/#writing-a-file-to-tmp).", + optional: true, }, }, async run({ $ }) { - const response = await this.jigsawstack.detectObjectsInImage({ - imageUrl: this.imageUrl, - }); - $.export("$summary", "Successfully detected objects in the image"); - return response; + const { + jigsawstack, + ...data + } = this; + + if (Object.keys(data).length > 1) { + throw new ConfigurationError("You must provide only one option, either the **Image URL**, the **Image File**, or the **File Storage Key**."); + } + + if (data.fileStoreKey) data.file_store_key = data.fileStoreKey; + + if (data.imageFile) { + const filePath = checkTmp(data.imageFile); + const file = fs.readFileSync(filePath); + const { key } = await jigsawstack.uploadFile({ + headers: { + "Content-Type": mime.getType(filePath), + }, + data: file, + }); + data.file_store_key = key; + } + + try { + const response = await jigsawstack.detectObjectsInImage({ + $, + data, + }); + $.export("$summary", "Successfully detected objects in the image"); + return response; + + } catch (e) { + return throwError(e); + } }, }; diff --git a/components/jigsawstack/actions/sentiment-analysis/sentiment-analysis.mjs b/components/jigsawstack/actions/sentiment-analysis/sentiment-analysis.mjs index cb068f04d4c2d..265fe66969bb9 100644 --- a/components/jigsawstack/actions/sentiment-analysis/sentiment-analysis.mjs +++ b/components/jigsawstack/actions/sentiment-analysis/sentiment-analysis.mjs @@ -1,27 +1,33 @@ +import { throwError } from "../../common/utils.mjs"; import jigsawstack from "../../jigsawstack.app.mjs"; -import { axios } from "@pipedream/platform"; export default { key: "jigsawstack-sentiment-analysis", name: "Sentiment Analysis", description: "Assess sentiment of a provided text. Vibes can be positive, negative, or neutral. [See the documentation](https://docs.jigsawstack.com/api-reference/ai/sentiment)", - version: "0.0.{{ts}}", + version: "0.0.1", type: "action", props: { jigsawstack, text: { - propDefinition: [ - jigsawstack, - "text", - ], + type: "string", + label: "Text", + description: "The text to analyze for sentiment.", }, }, async run({ $ }) { - const response = await this.jigsawstack.analyzeSentiment({ - text: this.text, - }); + try { + const response = await this.jigsawstack.analyzeSentiment({ + $, + data: { + text: this.text, + }, + }); - $.export("$summary", `Successfully analyzed sentiment with emotion: ${response.sentiment.emotion} and sentiment: ${response.sentiment.sentiment}`); - return response; + $.export("$summary", `Successfully analyzed sentiment with emotion: ${response.sentiment.emotion} and sentiment: ${response.sentiment.sentiment}`); + return response; + } catch (e) { + return throwError(e); + } }, }; diff --git a/components/jigsawstack/actions/verify-email/verify-email.mjs b/components/jigsawstack/actions/verify-email/verify-email.mjs index 1f54ba63fd3d3..4d9eb4e7bba07 100644 --- a/components/jigsawstack/actions/verify-email/verify-email.mjs +++ b/components/jigsawstack/actions/verify-email/verify-email.mjs @@ -1,27 +1,33 @@ +import { throwError } from "../../common/utils.mjs"; import jigsawstack from "../../jigsawstack.app.mjs"; -import { axios } from "@pipedream/platform"; export default { key: "jigsawstack-verify-email", name: "Verify Email", description: "Validate any email address and determine deliverability as well as disposable status. [See the documentation](https://docs.jigsawstack.com/api-reference/validate/email)", - version: "0.0.{{ts}}", + version: "0.0.1", type: "action", props: { jigsawstack, email: { - propDefinition: [ - jigsawstack, - "email", - ], + type: "string", + label: "Email Address", + description: "The email address to validate.", }, }, async run({ $ }) { - const response = await this.jigsawstack.validateEmail({ - email: this.email, - }); + try { + const response = await this.jigsawstack.validateEmail({ + $, + params: { + email: this.email, + }, + }); - $.export("$summary", `Successfully validated email: ${this.email}`); - return response; + $.export("$summary", `Successfully validated email: ${this.email}`); + return response; + } catch (e) { + return throwError(e); + } }, }; diff --git a/components/jigsawstack/common/utils.mjs b/components/jigsawstack/common/utils.mjs new file mode 100644 index 0000000000000..c6da433bcc10e --- /dev/null +++ b/components/jigsawstack/common/utils.mjs @@ -0,0 +1,13 @@ +import { ConfigurationError } from "@pipedream/platform"; + +export const throwError = ({ message }) => { + const errorMessage = JSON.parse(message).message; + throw new ConfigurationError(errorMessage); +}; + +export const checkTmp = (filename) => { + if (!filename.startsWith("/tmp")) { + return `/tmp/${filename}`; + } + return filename; +}; diff --git a/components/jigsawstack/jigsawstack.app.mjs b/components/jigsawstack/jigsawstack.app.mjs index a7fb45cc04de2..4a1173aaa5047 100644 --- a/components/jigsawstack/jigsawstack.app.mjs +++ b/components/jigsawstack/jigsawstack.app.mjs @@ -3,86 +3,52 @@ import { axios } from "@pipedream/platform"; export default { type: "app", app: "jigsawstack", - propDefinitions: { - email: { - type: "string", - label: "Email Address", - description: "The email address to validate.", - }, - imageUrl: { - type: "string", - label: "Image URL", - description: "The URL of the image to process.", - }, - text: { - type: "string", - label: "Text", - description: "The text to analyze for sentiment.", - }, - }, methods: { _baseUrl() { - return "https://api.jigsawstack.com"; + return "https://api.jigsawstack.com/v1"; }, - async _makeRequest(opts = {}) { - const { - $ = this, - method = "GET", - path = "/", - headers, - ...otherOpts - } = opts; + _headers(headers = {}) { + return { + "x-api-key": this.$auth.api_key, + ...headers, + }; + }, + _makeRequest({ + $ = this, path, headers, ...opts + }) { return axios($, { - ...otherOpts, - method, url: this._baseUrl() + path, - headers: { - ...headers, - "x-api-key": this.$auth.api_key, - }, + headers: this._headers(headers), + ...opts, }); }, - async validateEmail(opts = {}) { - const { - email, ...otherOpts - } = opts; + validateEmail(opts = {}) { return this._makeRequest({ method: "GET", - path: "/v1/validate/email", - params: { - email, - }, - ...otherOpts, + path: "/validate/email", + ...opts, }); }, - async detectObjectsInImage(opts = {}) { - const { - imageUrl, ...otherOpts - } = opts; + detectObjectsInImage(opts = {}) { return this._makeRequest({ method: "POST", - path: "/v1/ai/object_detection", - data: { - url: imageUrl, - }, - ...otherOpts, + path: "/ai/object_detection", + ...opts, }); }, - async analyzeSentiment(opts = {}) { - const { - text, ...otherOpts - } = opts; + analyzeSentiment(opts = {}) { return this._makeRequest({ method: "POST", - path: "/v1/ai/sentiment", - data: { - text, - }, - ...otherOpts, + path: "/ai/sentiment", + ...opts, }); }, - authKeys() { - console.log(Object.keys(this.$auth)); + uploadFile(opts = {}) { + return this._makeRequest({ + method: "POST", + path: "/store/file", + ...opts, + }); }, }, }; diff --git a/components/jigsawstack/package.json b/components/jigsawstack/package.json index d6efecabbe825..f24bbbce6698c 100644 --- a/components/jigsawstack/package.json +++ b/components/jigsawstack/package.json @@ -1,6 +1,6 @@ { "name": "@pipedream/jigsawstack", - "version": "0.0.1", + "version": "0.1.0", "description": "Pipedream JigsawStack Components", "main": "jigsawstack.app.mjs", "keywords": [ @@ -11,5 +11,10 @@ "author": "Pipedream (https://pipedream.com/)", "publishConfig": { "access": "public" + }, + "dependencies": { + "@pipedream/platform": "^3.0.1", + "form-data": "^4.0.0", + "mime": "^4.0.4" } } From 9616f7736211d0f0aad04e9eb74088a33ac0a4ae Mon Sep 17 00:00:00 2001 From: Luan Cazarine Date: Thu, 12 Sep 2024 13:47:30 -0300 Subject: [PATCH 3/3] pnpm update --- pnpm-lock.yaml | 137 +++++++++++++++++++++++++++---------------------- 1 file changed, 75 insertions(+), 62 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2ea918388685a..93d28d176f203 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4850,7 +4850,14 @@ importers: '@pipedream/platform': 1.5.1 components/jigsawstack: - specifiers: {} + specifiers: + '@pipedream/platform': ^3.0.1 + form-data: ^4.0.0 + mime: ^4.0.4 + dependencies: + '@pipedream/platform': 3.0.1 + form-data: 4.0.0 + mime: 4.0.4 components/jira: specifiers: @@ -12656,55 +12663,6 @@ packages: - aws-crt dev: false - /@aws-sdk/client-sso-oidc/3.600.0_tdq3komn4zwyd65w7klbptsu34: - resolution: {integrity: sha512-7+I8RWURGfzvChyNQSyj5/tKrqRbzRl7H+BnTOf/4Vsw1nFOi5ROhlhD4X/Y0QCTacxnaoNcIrqnY7uGGvVRzw==} - engines: {node: '>=16.0.0'} - dependencies: - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sts': 3.600.0 - '@aws-sdk/core': 3.598.0 - '@aws-sdk/credential-provider-node': 3.600.0_f7n47caigsrjd2lr2szmwfuee4 - '@aws-sdk/middleware-host-header': 3.598.0 - '@aws-sdk/middleware-logger': 3.598.0 - '@aws-sdk/middleware-recursion-detection': 3.598.0 - '@aws-sdk/middleware-user-agent': 3.598.0 - '@aws-sdk/region-config-resolver': 3.598.0 - '@aws-sdk/types': 3.598.0 - '@aws-sdk/util-endpoints': 3.598.0 - '@aws-sdk/util-user-agent-browser': 3.598.0 - '@aws-sdk/util-user-agent-node': 3.598.0 - '@smithy/config-resolver': 3.0.3 - '@smithy/core': 2.2.3 - '@smithy/fetch-http-handler': 3.2.1 - '@smithy/hash-node': 3.0.2 - '@smithy/invalid-dependency': 3.0.2 - '@smithy/middleware-content-length': 3.0.2 - '@smithy/middleware-endpoint': 3.0.4 - '@smithy/middleware-retry': 3.0.6 - '@smithy/middleware-serde': 3.0.3 - '@smithy/middleware-stack': 3.0.3 - '@smithy/node-config-provider': 3.1.3 - '@smithy/node-http-handler': 3.1.2 - '@smithy/protocol-http': 4.0.3 - '@smithy/smithy-client': 3.1.6 - '@smithy/types': 3.3.0 - '@smithy/url-parser': 3.0.3 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.6 - '@smithy/util-defaults-mode-node': 3.0.6 - '@smithy/util-endpoints': 2.0.3 - '@smithy/util-middleware': 3.0.3 - '@smithy/util-retry': 3.0.2 - '@smithy/util-utf8': 3.0.0 - tslib: 2.6.3 - transitivePeerDependencies: - - '@aws-sdk/client-sts' - - aws-crt - dev: false - /@aws-sdk/client-sso/3.423.0: resolution: {integrity: sha512-znIufHkwhCIePgaYciIs3x/+BpzR57CZzbCKHR9+oOvGyufEPPpUT5bFLvbwTgfiVkTjuk6sG/ES3U5Bc+xtrA==} engines: {node: '>=14.0.0'} @@ -12940,7 +12898,7 @@ packages: dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sso-oidc': 3.600.0_tdq3komn4zwyd65w7klbptsu34 + '@aws-sdk/client-sso-oidc': 3.600.0 '@aws-sdk/core': 3.598.0 '@aws-sdk/credential-provider-node': 3.600.0_f7n47caigsrjd2lr2szmwfuee4 '@aws-sdk/middleware-host-header': 3.598.0 @@ -12982,6 +12940,55 @@ packages: - aws-crt dev: false + /@aws-sdk/client-sts/3.600.0_dseaa2p5u2yk67qiepewcq3hkq: + resolution: {integrity: sha512-KQG97B7LvTtTiGmjlrG1LRAY8wUvCQzrmZVV5bjrJ/1oXAU7DITYwVbSJeX9NWg6hDuSk0VE3MFwIXS2SvfLIA==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/client-sso-oidc': 3.600.0 + '@aws-sdk/core': 3.598.0 + '@aws-sdk/credential-provider-node': 3.600.0_f7n47caigsrjd2lr2szmwfuee4 + '@aws-sdk/middleware-host-header': 3.598.0 + '@aws-sdk/middleware-logger': 3.598.0 + '@aws-sdk/middleware-recursion-detection': 3.598.0 + '@aws-sdk/middleware-user-agent': 3.598.0 + '@aws-sdk/region-config-resolver': 3.598.0 + '@aws-sdk/types': 3.598.0 + '@aws-sdk/util-endpoints': 3.598.0 + '@aws-sdk/util-user-agent-browser': 3.598.0 + '@aws-sdk/util-user-agent-node': 3.598.0 + '@smithy/config-resolver': 3.0.3 + '@smithy/core': 2.2.3 + '@smithy/fetch-http-handler': 3.2.1 + '@smithy/hash-node': 3.0.2 + '@smithy/invalid-dependency': 3.0.2 + '@smithy/middleware-content-length': 3.0.2 + '@smithy/middleware-endpoint': 3.0.4 + '@smithy/middleware-retry': 3.0.6 + '@smithy/middleware-serde': 3.0.3 + '@smithy/middleware-stack': 3.0.3 + '@smithy/node-config-provider': 3.1.3 + '@smithy/node-http-handler': 3.1.2 + '@smithy/protocol-http': 4.0.3 + '@smithy/smithy-client': 3.1.6 + '@smithy/types': 3.3.0 + '@smithy/url-parser': 3.0.3 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.6 + '@smithy/util-defaults-mode-node': 3.0.6 + '@smithy/util-endpoints': 2.0.3 + '@smithy/util-middleware': 3.0.3 + '@smithy/util-retry': 3.0.2 + '@smithy/util-utf8': 3.0.0 + tslib: 2.6.3 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - aws-crt + dev: false + /@aws-sdk/core/3.556.0: resolution: {integrity: sha512-vJaSaHw2kPQlo11j/Rzuz0gk1tEaKdz+2ser0f0qZ5vwFlANjt08m/frU17ctnVKC1s58bxpctO/1P894fHLrA==} engines: {node: '>=14.0.0'} @@ -17280,7 +17287,7 @@ packages: '@aws-sdk/client-sns': 3.423.0 '@aws-sdk/client-sqs': 3.423.0 '@aws-sdk/client-ssm': 3.423.0 - '@aws-sdk/client-sts': 3.600.0 + '@aws-sdk/client-sts': 3.600.0_dseaa2p5u2yk67qiepewcq3hkq '@aws-sdk/s3-request-presigner': 3.609.0 '@pipedream/helper_functions': 0.3.12 '@pipedream/platform': 1.6.5 @@ -21922,7 +21929,7 @@ packages: /axios/0.24.0: resolution: {integrity: sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==} dependencies: - follow-redirects: 1.15.6 + follow-redirects: 1.15.9 transitivePeerDependencies: - debug dev: false @@ -21938,7 +21945,7 @@ packages: /axios/0.26.1: resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==} dependencies: - follow-redirects: 1.15.6 + follow-redirects: 1.15.9 transitivePeerDependencies: - debug dev: false @@ -21955,7 +21962,7 @@ packages: /axios/1.4.0: resolution: {integrity: sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==} dependencies: - follow-redirects: 1.15.6 + follow-redirects: 1.15.9 form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -21965,7 +21972,7 @@ packages: /axios/1.5.0: resolution: {integrity: sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ==} dependencies: - follow-redirects: 1.15.6 + follow-redirects: 1.15.9 form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -22014,7 +22021,7 @@ packages: /axios/1.6.5_debug@3.2.7: resolution: {integrity: sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==} dependencies: - follow-redirects: 1.15.6_debug@3.2.7 + follow-redirects: 1.15.9_debug@3.2.7 form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -25239,19 +25246,17 @@ packages: optional: true dev: false - /follow-redirects/1.15.6_debug@3.2.7: - resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + /follow-redirects/1.15.9: + resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} engines: {node: '>=4.0'} peerDependencies: debug: '*' peerDependenciesMeta: debug: optional: true - dependencies: - debug: 3.2.7 dev: false - /follow-redirects/1.15.9: + /follow-redirects/1.15.9_debug@3.2.7: resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} engines: {node: '>=4.0'} peerDependencies: @@ -25259,6 +25264,8 @@ packages: peerDependenciesMeta: debug: optional: true + dependencies: + debug: 3.2.7 dev: false /follow-redirects/1.5.10: @@ -29752,6 +29759,12 @@ packages: hasBin: true dev: false + /mime/4.0.4: + resolution: {integrity: sha512-v8yqInVjhXyqP6+Kw4fV3ZzeMRqEW6FotRsKXjRS5VMTNIuXsdRoAvklpoRgSqXm6o9VNH4/C0mgedko9DdLsQ==} + engines: {node: '>=16'} + hasBin: true + dev: false + /mimer/2.0.2: resolution: {integrity: sha512-izxvjsB7Ur5HrTbPu6VKTrzxSMBFBqyZQc6dWlZNQ4/wAvf886fD4lrjtFd8IQ8/WmZKdxKjUtqFFNaj3hQ52g==} engines: {node: '>= 12'}