diff --git a/components/bluesky/bluesky.app.mjs b/components/bluesky/bluesky.app.mjs index ebdf08d9aaf00..c759ef1cae494 100644 --- a/components/bluesky/bluesky.app.mjs +++ b/components/bluesky/bluesky.app.mjs @@ -8,4 +8,4 @@ export default { console.log(Object.keys(this.$auth)); }, }, -}; \ No newline at end of file +}; diff --git a/components/boldsign/actions/send-document-template/send-document-template.mjs b/components/boldsign/actions/send-document-template/send-document-template.mjs new file mode 100644 index 0000000000000..6aae2961da60f --- /dev/null +++ b/components/boldsign/actions/send-document-template/send-document-template.mjs @@ -0,0 +1,270 @@ +import { ConfigurationError } from "@pipedream/platform"; +import fs from "fs"; +import boldsign from "../../boldsign.app.mjs"; +import { DOCUMENT_DOWNLOAD_OPTIONS } from "../../common/constants.mjs"; +import { + checkTmp, + parseObject, +} from "../../common/utils.mjs"; + +export default { + key: "boldsign-send-document-template", + name: "Send Document Using Template", + description: "Send documents for e-signature using a BoldSign template. [See the documentation](https://developers.boldsign.com/documents/send-document-from-template/?region=us)", + version: "0.0.1", + type: "action", + props: { + boldsign, + templateId: { + propDefinition: [ + boldsign, + "templateId", + ], + }, + title: { + type: "string", + label: "Title", + description: "The title of the document.", + optional: true, + }, + message: { + type: "string", + label: "Message", + description: "A message to include with the document.", + optional: true, + }, + roles: { + type: "string[]", + label: "Roles", + description: "A role is simply a placeholder for a real person. For example, if we have a purchase order that will always be signed by two people, one from the company and one from the customer, we can create a template with two roles Customer and Representative. Example: **[{\"roleIndex\": 50,\"signerName\": \"Richard\",\"signerOrder\": 1,\"signerEmail\": \"richard@cubeflakes.com\",\"privateMessage\": \"Please check and sign the document.\",\"authenticationCode\": \"281028\",\"enableEmailOTP\": false,\"signerType\": \"Signer\",\"signerRole\": \"Manager\",\"formFields\": [{\"id\": \"SignField\",\"fieldType\": \"Signature\",\"pageNumber\": 1,\"bounds\": {\"x\": 100,\"y\": 100,\"width\": 100,\"height\": 50},\"isRequired\": true}]**.", + }, + brandId: { + propDefinition: [ + boldsign, + "brandId", + ], + optional: true, + }, + labels: { + propDefinition: [ + boldsign, + "labels", + ], + optional: true, + }, + disableEmails: { + type: "boolean", + label: "Disable Emails", + description: "Disable sending emails to recipients.", + optional: true, + }, + disableSMS: { + type: "boolean", + label: "Disable SMS", + description: "Disable sending SMS to recipients.", + optional: true, + }, + hideDocumentId: { + type: "boolean", + label: "Hide Document ID", + description: "Decides whether the document ID should be hidden or not.", + optional: true, + }, + enableAutoReminder: { + type: "boolean", + label: "Enable Auto Reminder", + description: "Enable automatic reminders.", + reloadProps: true, + optional: true, + }, + reminderDays: { + type: "integer", + label: "Reminder Days", + description: "Number of days between reminders.", + hidden: true, + optional: true, + }, + reminderCount: { + type: "integer", + label: "Reminder Count", + description: "Number of reminder attempts.", + hidden: true, + optional: true, + }, + cc: { + propDefinition: [ + boldsign, + "cc", + ], + optional: true, + }, + expiryDays: { + type: "integer", + label: "Expiry Days", + description: "Number of days before document expires.", + optional: true, + }, + enablePrintAndSign: { + type: "boolean", + label: "Enable Print and Sign", + description: "Allow signers to print and sign document.", + optional: true, + }, + enableReassign: { + type: "boolean", + label: "Enable Reassign", + description: "Allow signers to reassign the document.", + optional: true, + }, + enableSigningOrder: { + type: "boolean", + label: "Enable Signing Order", + description: "Enable signing order for the document.", + optional: true, + }, + disableExpiryAlert: { + type: "boolean", + label: "Disable Expiry Alert", + description: "Disable alerts before document expiry.", + optional: true, + }, + documentInfo: { + type: "string[]", + label: "Document Info", + description: "Custom information fields for the document. [See the documentation](https://developers.boldsign.com/documents/send-document-from-template) for further information.", + optional: true, + }, + roleRemovalIndices: { + type: "integer[]", + label: "Role Removal Indices", + description: "Removes the roles present in the template with their indices given in this property.", + optional: true, + }, + documentDownloadOption: { + type: "string", + label: "Document Download Option", + description: "Option for document download configuration.", + options: DOCUMENT_DOWNLOAD_OPTIONS, + optional: true, + }, + formGroups: { + type: "string[]", + label: "Form Groups", + description: "Manages the rules and configuration of grouped form fields. [See the documentation](https://developers.boldsign.com/documents/send-document-from-template) for further information.", + optional: true, + }, + files: { + type: "string[]", + label: "Files", + description: "A list of paths to files 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, + }, + fileUrls: { + type: "string[]", + label: "File URLs", + description: "URLs of files to include in the document.", + optional: true, + }, + recipientNotificationSettings: { + type: "object", + label: "Recipient Notification Settings", + description: "Settings for recipient notifications. [See the documentation](https://developers.boldsign.com/documents/send-document-from-template) for further information.", + optional: true, + }, + removeFormfields: { + type: "string[]", + label: "Remove Formfields", + description: "The removeFormFields property in API allows you to exclude specific form fields from a document before sending it. You provide a string array with the IDs of the existing form fields you want to remove. One or more values can be specified.", + optional: true, + }, + enableAuditTrailLocalization: { + type: "boolean", + label: "Enable Audit Trail Localization", + description: "Enable localization for audit trail based on the signer's language. If null is provided, the value will be inherited from the Business Profile settings. Only one additional language can be specified in the signer's languages besides English.", + optional: true, + }, + }, + async additionalProps(props) { + props.reminderDays.hidden = !this.enableAutoReminder; + props.reminderCount.hidden = !this.enableAutoReminder; + return {}; + }, + async run({ $ }) { + try { + const files = []; + if (this.files) { + for (const file of parseObject(this.files)) { + const filePath = fs.readFileSync(checkTmp(file), "base64"); + files.push(`data:application/${file.substr(file.length - 3)};base64,${filePath}`); + } + } + + const additionalData = {}; + if (this.enableAutoReminder) { + additionalData.reminderSettings = { + enableAutoReminder: this.enableAutoReminder, + reminderDays: this.reminderDays, + reminderCount: this.reminderCount, + }; + } + + const response = await this.boldsign.sendDocument({ + $, + headers: { + "Content-Type": "application/json;odata.metadata=minimal;odata.streaming=true", + }, + params: { + templateId: this.templateId, + }, + data: { + title: this.title, + message: this.message, + roles: parseObject(this.roles), + brandId: this.brandId, + labels: parseObject(this.labels), + disableEmails: this.disableEmails, + disableSMS: this.disableSMS, + hideDocumentId: this.hideDocumentId, + reminderSettings: { + enableAutoReminder: this.enableAutoReminder, + reminderDays: this.reminderDays, + reminderCount: this.reminderCount, + }, + cc: parseObject(this.cc)?.map((item) => ({ + emailAddress: item, + })), + expiryDays: this.expiryDays, + enablePrintAndSign: this.enablePrintAndSign, + enableReassign: this.enableReassign, + enableSigningOrder: this.enableSigningOrder, + disableExpiryAlert: this.disableExpiryAlert, + documentInfo: parseObject(this.documentInfo), + roleRemovalIndices: parseObject(this.roleRemovalIndices), + documentDownloadOption: this.documentDownloadOption, + formGroups: parseObject(this.formGroups), + files, + fileUrls: parseObject(this.fileUrls), + recipientNotificationSettings: parseObject(this.recipientNotificationSettings), + removeFormfields: parseObject(this.removeFormfields), + enableAuditTrailLocalization: this.enableAuditTrailLocalization, + ...additionalData, + }, + }); + $.export("$summary", `Document sent successfully using template ${this.templateId}`); + return response; + } catch ({ message }) { + const parsedMessage = JSON.parse(message); + let errorMessage = ""; + if (parsedMessage.error) errorMessage = parsedMessage.error; + if (parsedMessage.errors) { + Object.entries(parsedMessage.errors).map(([ + , + value, + ]) => { + errorMessage += `- ${value[0]}\n`; + }); + } + throw new ConfigurationError(errorMessage); + } + }, +}; diff --git a/components/boldsign/boldsign.app.mjs b/components/boldsign/boldsign.app.mjs index e3c1b11cb2149..cd0328e46d266 100644 --- a/components/boldsign/boldsign.app.mjs +++ b/components/boldsign/boldsign.app.mjs @@ -1,11 +1,162 @@ +import { axios } from "@pipedream/platform"; + export default { type: "app", app: "boldsign", - propDefinitions: {}, + propDefinitions: { + templateId: { + type: "string", + label: "Template ID", + description: "The ID of the BoldSign template to use.", + async options({ page }) { + const { result } = await this.listTemplates({ + params: { + page: page + 1, + }, + }); + + return result.map(({ + documentId: value, templateName: label, + }) => ({ + label, + value, + })); + }, + }, + brandId: { + type: "string", + label: "Brand ID", + description: "The brand ID for customizing the document.", + async options() { + const { result } = await this.listBrands(); + return result.map(({ + brandId: value, brandName: label, + }) => ({ + label, + value, + })); + }, + }, + labels: { + type: "string[]", + label: "Labels", + description: "Labels for categorizing documents.", + }, + cc: { + type: "string[]", + label: "CC", + description: "A list of CC recipients for the document.", + async options({ page }) { + const { result } = await this.listContacts({ + params: { + page: page + 1, + }, + }); + + return result.map(({ email }) => email); + }, + }, + sentBy: { + type: "string", + label: "Sent By", + description: "The sender of the document.", + async options({ page }) { + const { result } = await this.listSenderIdentities({ + params: { + page: page + 1, + }, + }); + + return result.map(({ email }) => email); + }, + }, + }, methods: { - // this.$auth contains connected account data - authKeys() { - console.log(Object.keys(this.$auth)); + _baseUrl() { + return "https://api.boldsign.com/v1"; + }, + _headers(headers = {}) { + return { + ...headers, + "Authorization": `Bearer ${this.$auth.oauth_access_token}`, + "accept": "application/json", + }; + }, + _makeRequest({ + $ = this, path, headers, ...opts + }) { + return axios($, { + url: `${this._baseUrl()}${path}`, + headers: this._headers(headers), + ...opts, + }); + }, + listTemplates(opts = {}) { + return this._makeRequest({ + path: "/template/list", + ...opts, + }); + }, + listBrands(opts = {}) { + return this._makeRequest({ + path: "/brand/list", + ...opts, + }); + }, + listContacts(opts = {}) { + return this._makeRequest({ + path: "/contacts/list", + ...opts, + }); + }, + listDocuments(opts = {}) { + return this._makeRequest({ + path: "/document/list", + ...opts, + }); + }, + listSenderIdentities(opts = {}) { + return this._makeRequest({ + path: "/senderIdentities/list", + ...opts, + }); + }, + sendDocument(opts = {}) { + return this._makeRequest({ + method: "POST", + path: "/template/send", + ...opts, + }); + }, + async *paginate({ + fn, params = {}, maxResults = null, ...opts + }) { + let hasMore = false; + let count = 0; + let page = 0; + + do { + params.page = ++page; + const { + result, + pageDetails: { + page: currentPage, totalPages, + }, + } = await fn({ + params, + ...opts, + }); + for (const d of result) { + yield d; + + if (maxResults && ++count === maxResults) { + return count; + } + } + + hasMore = currentPage < totalPages; + + } while (hasMore); }, }, }; diff --git a/components/boldsign/common/constants.mjs b/components/boldsign/common/constants.mjs new file mode 100644 index 0000000000000..412c03323c14c --- /dev/null +++ b/components/boldsign/common/constants.mjs @@ -0,0 +1,4 @@ +export const DOCUMENT_DOWNLOAD_OPTIONS = [ + "Combined", + "Individually", +]; diff --git a/components/boldsign/common/utils.mjs b/components/boldsign/common/utils.mjs new file mode 100644 index 0000000000000..0cd1a12b6a4ba --- /dev/null +++ b/components/boldsign/common/utils.mjs @@ -0,0 +1,31 @@ +export const checkTmp = (filename) => { + if (!filename.startsWith("/tmp")) { + return `/tmp/${filename}`; + } + return filename; +}; + +export const parseObject = (obj) => { + if (!obj) return undefined; + + if (Array.isArray(obj)) { + return obj.map((item) => { + if (typeof item === "string") { + try { + return JSON.parse(item); + } catch (e) { + return item; + } + } + return item; + }); + } + if (typeof obj === "string") { + try { + return JSON.parse(obj); + } catch (e) { + return obj; + } + } + return obj; +}; diff --git a/components/boldsign/package.json b/components/boldsign/package.json index b69400671ddd9..214d46128b487 100644 --- a/components/boldsign/package.json +++ b/components/boldsign/package.json @@ -1,6 +1,6 @@ { "name": "@pipedream/boldsign", - "version": "0.0.1", + "version": "0.1.0", "description": "Pipedream BoldSign Components", "main": "boldsign.app.mjs", "keywords": [ @@ -11,5 +11,8 @@ "author": "Pipedream (https://pipedream.com/)", "publishConfig": { "access": "public" + }, + "dependencies": { + "@pipedream/platform": "^3.0.3" } -} \ No newline at end of file +} diff --git a/components/boldsign/sources/common/base.mjs b/components/boldsign/sources/common/base.mjs new file mode 100644 index 0000000000000..112e52108f74a --- /dev/null +++ b/components/boldsign/sources/common/base.mjs @@ -0,0 +1,106 @@ +import { DEFAULT_POLLING_SOURCE_TIMER_INTERVAL } from "@pipedream/platform"; +import boldsign from "../../boldsign.app.mjs"; +import { parseObject } from "../../common/utils.mjs"; + +export default { + props: { + boldsign, + db: "$.service.db", + timer: { + type: "$.interface.timer", + default: { + intervalSeconds: DEFAULT_POLLING_SOURCE_TIMER_INTERVAL, + }, + }, + sentBy: { + propDefinition: [ + boldsign, + "sentBy", + ], + optional: true, + }, + recipients: { + type: "string[]", + label: "Recipients", + description: "Recipients of the document.", + optional: true, + }, + searchKey: { + type: "string", + label: "Search Key", + description: "Search key for documents.", + optional: true, + }, + labels: { + propDefinition: [ + boldsign, + "labels", + ], + optional: true, + }, + brandIds: { + propDefinition: [ + boldsign, + "brandId", + ], + type: "string[]", + label: "Brand IDs", + description: "Brand IDs associated with the document.", + optional: true, + }, + }, + methods: { + _getLastDate() { + return this.db.get("lastDate") || 0; + }, + _setLastDate(lastDate) { + this.db.set("lastDate", lastDate); + }, + async emitEvent(maxResults = false) { + const lastDate = this._getLastDate(); + const params = { + ...this.getParams(), + }; + + if (this.sentBy) params.sentBy = this.sentBy; + if (this.recipients) params.recipients = parseObject(this.recipients); + if (this.searchKey) params.searchKey = this.searchKey; + if (this.labels) params.labels = parseObject(this.labels); + if (this.brandIds) params.brandIds = parseObject(this.brandIds); + + const response = this.boldsign.paginate({ + fn: this.getFunction(), + params, + }); + + let responseArray = []; + for await (const item of response) { + if (item.activityDate <= lastDate) break; + responseArray.push(item); + } + + if (responseArray.length) { + if (maxResults && (responseArray.length > maxResults)) { + responseArray.length = maxResults; + } + this._setLastDate(responseArray[0].activityDate); + } + + for (const item of responseArray.reverse()) { + this.$emit(item, { + id: item.documentId, + summary: this.getSummary(item), + ts: Date.parse(item.activityDate || new Date()), + }); + } + }, + }, + hooks: { + async deploy() { + await this.emitEvent(25); + }, + }, + async run() { + await this.emitEvent(); + }, +}; diff --git a/components/boldsign/sources/new-document-completed/new-document-completed.mjs b/components/boldsign/sources/new-document-completed/new-document-completed.mjs new file mode 100644 index 0000000000000..96b6916bb6ca8 --- /dev/null +++ b/components/boldsign/sources/new-document-completed/new-document-completed.mjs @@ -0,0 +1,27 @@ +import common from "../common/base.mjs"; +import sampleEmit from "./test-event.mjs"; + +export default { + ...common, + key: "boldsign-new-document-completed", + name: "New Document Completed", + description: "Emit new event when a document is completed by all the signers.", + version: "0.0.1", + type: "source", + dedupe: "unique", + methods: { + ...common.methods, + getFunction() { + return this.boldsign.listDocuments; + }, + getSummary(item) { + return `Document Completed: ${item.documentId}`; + }, + getParams() { + return { + status: "Completed", + }; + }, + }, + sampleEmit, +}; diff --git a/components/boldsign/sources/new-document-completed/test-event.mjs b/components/boldsign/sources/new-document-completed/test-event.mjs new file mode 100644 index 0000000000000..e2ab71be6dac3 --- /dev/null +++ b/components/boldsign/sources/new-document-completed/test-event.mjs @@ -0,0 +1,47 @@ +export default { + "documentId": "755195d8-xxxx-xxxx-xxxx-88ff77d35419", + "senderDetail": { + "name": "Richard", + "privateMessage": null, + "emailAddress": "richard@cubeflakes.com", + "isViewed": false + }, + "ccDetails": [ + { + "emailAddress": "alexgayle@cubeflakes.com", + "isViewed": false + } + ], + "createdDate": 1664961706, + "activityDate": 1665989290, + "activityBy": "alexgayle@cubeflakes.com", + "messageTitle": "565", + "status": "Completed", + "signerDetails": [ + { + "signerName": "Richard", + "signerRole": "", + "signerEmail": "", + "status": "NotCompleted", + "enableAccessCode": false, + "isAuthenticationFailed": null, + "enableEmailOTP": false, + "authenticationType": "None", + "isDeliveryFailed": false, + "isViewed": false, + "order": 1, + "signerType": "Signer", + "hostEmail": "", + "hostName": "", + "isReassigned": true, + "privateMessage": "", + "formFields": [], + "language": 0 + } + ], + "expiryDate": 1670178599, + "enableSigningOrder": false, + "isDeleted": false, + "labels": [], + "nextCursor": 1665989290 +} \ No newline at end of file diff --git a/components/boldsign/sources/new-document-declined/new-document-declined.mjs b/components/boldsign/sources/new-document-declined/new-document-declined.mjs new file mode 100644 index 0000000000000..d190ea58ab1eb --- /dev/null +++ b/components/boldsign/sources/new-document-declined/new-document-declined.mjs @@ -0,0 +1,27 @@ +import common from "../common/base.mjs"; +import sampleEmit from "./test-event.mjs"; + +export default { + ...common, + key: "boldsign-new-document-declined", + name: "New Document Declined", + description: "Emit new event when a document is declined by a signer.", + version: "0.0.1", + type: "source", + dedupe: "unique", + methods: { + ...common.methods, + getFunction() { + return this.boldsign.listDocuments; + }, + getSummary(item) { + return `Document Declined: ${item.documentId}`; + }, + getParams() { + return { + status: "Declined", + }; + }, + }, + sampleEmit, +}; diff --git a/components/boldsign/sources/new-document-declined/test-event.mjs b/components/boldsign/sources/new-document-declined/test-event.mjs new file mode 100644 index 0000000000000..5bb5b3269b125 --- /dev/null +++ b/components/boldsign/sources/new-document-declined/test-event.mjs @@ -0,0 +1,47 @@ +export default { + "documentId": "755195d8-xxxx-xxxx-xxxx-88ff77d35419", + "senderDetail": { + "name": "Richard", + "privateMessage": null, + "emailAddress": "richard@cubeflakes.com", + "isViewed": false + }, + "ccDetails": [ + { + "emailAddress": "alexgayle@cubeflakes.com", + "isViewed": false + } + ], + "createdDate": 1664961706, + "activityDate": 1665989290, + "activityBy": "alexgayle@cubeflakes.com", + "messageTitle": "565", + "status": "Declined", + "signerDetails": [ + { + "signerName": "Richard", + "signerRole": "", + "signerEmail": "", + "status": "NotCompleted", + "enableAccessCode": false, + "isAuthenticationFailed": null, + "enableEmailOTP": false, + "authenticationType": "None", + "isDeliveryFailed": false, + "isViewed": false, + "order": 1, + "signerType": "Signer", + "hostEmail": "", + "hostName": "", + "isReassigned": true, + "privateMessage": "", + "formFields": [], + "language": 0 + } + ], + "expiryDate": 1670178599, + "enableSigningOrder": false, + "isDeleted": false, + "labels": [], + "nextCursor": 1665989290 +} \ No newline at end of file diff --git a/components/boldsign/sources/new-document-sent/new-document-sent.mjs b/components/boldsign/sources/new-document-sent/new-document-sent.mjs new file mode 100644 index 0000000000000..30259ca9aa4b2 --- /dev/null +++ b/components/boldsign/sources/new-document-sent/new-document-sent.mjs @@ -0,0 +1,28 @@ +import common from "../common/base.mjs"; +import sampleEmit from "./test-event.mjs"; + +export default { + ...common, + key: "boldsign-new-document-sent", + name: "New Document Sent", + description: "Emit new event when a document is sent to a signer.", + version: "0.0.1", + type: "source", + dedupe: "unique", + methods: { + ...common.methods, + getFunction() { + return this.boldsign.listDocuments; + }, + getSummary(item) { + return `New Document Sent: ${item.documentId}`; + }, + getParams() { + return { + status: "None", + transmitType: "Sent", + }; + }, + }, + sampleEmit, +}; diff --git a/components/boldsign/sources/new-document-sent/test-event.mjs b/components/boldsign/sources/new-document-sent/test-event.mjs new file mode 100644 index 0000000000000..7cbc93bc10a7f --- /dev/null +++ b/components/boldsign/sources/new-document-sent/test-event.mjs @@ -0,0 +1,47 @@ +export default { + "documentId": "755195d8-xxxx-xxxx-xxxx-88ff77d35419", + "senderDetail": { + "name": "Richard", + "privateMessage": null, + "emailAddress": "richard@cubeflakes.com", + "isViewed": false + }, + "ccDetails": [ + { + "emailAddress": "alexgayle@cubeflakes.com", + "isViewed": false + } + ], + "createdDate": 1664961706, + "activityDate": 1665989290, + "activityBy": "alexgayle@cubeflakes.com", + "messageTitle": "565", + "status": "WaitingForOthers", + "signerDetails": [ + { + "signerName": "Richard", + "signerRole": "", + "signerEmail": "", + "status": "NotCompleted", + "enableAccessCode": false, + "isAuthenticationFailed": null, + "enableEmailOTP": false, + "authenticationType": "None", + "isDeliveryFailed": false, + "isViewed": false, + "order": 1, + "signerType": "Signer", + "hostEmail": "", + "hostName": "", + "isReassigned": true, + "privateMessage": "", + "formFields": [], + "language": 0 + } + ], + "expiryDate": 1670178599, + "enableSigningOrder": false, + "isDeleted": false, + "labels": [], + "nextCursor": 1665989290 +} \ No newline at end of file diff --git a/components/breathe/breathe.app.mjs b/components/breathe/breathe.app.mjs index 14c441066fab0..0bb31c78214d3 100644 --- a/components/breathe/breathe.app.mjs +++ b/components/breathe/breathe.app.mjs @@ -8,4 +8,4 @@ export default { console.log(Object.keys(this.$auth)); }, }, -}; \ No newline at end of file +}; diff --git a/components/change_photos/change_photos.app.mjs b/components/change_photos/change_photos.app.mjs index 19f775a6257fa..c1eb64105c2c6 100644 --- a/components/change_photos/change_photos.app.mjs +++ b/components/change_photos/change_photos.app.mjs @@ -8,4 +8,4 @@ export default { console.log(Object.keys(this.$auth)); }, }, -}; \ No newline at end of file +}; diff --git a/components/kafka/kafka.app.mjs b/components/kafka/kafka.app.mjs index b985bb07542af..069e2bee904ce 100644 --- a/components/kafka/kafka.app.mjs +++ b/components/kafka/kafka.app.mjs @@ -8,4 +8,4 @@ export default { console.log(Object.keys(this.$auth)); }, }, -}; \ No newline at end of file +}; diff --git a/components/openrouter/openrouter.app.mjs b/components/openrouter/openrouter.app.mjs index 35b69d1ec2d5e..65fe721b9dc29 100644 --- a/components/openrouter/openrouter.app.mjs +++ b/components/openrouter/openrouter.app.mjs @@ -8,4 +8,4 @@ export default { console.log(Object.keys(this.$auth)); }, }, -}; \ No newline at end of file +}; diff --git a/components/quriiri/quriiri.app.mjs b/components/quriiri/quriiri.app.mjs index 50d0bf5e1f126..2fdfc4c9390e8 100644 --- a/components/quriiri/quriiri.app.mjs +++ b/components/quriiri/quriiri.app.mjs @@ -8,4 +8,4 @@ export default { console.log(Object.keys(this.$auth)); }, }, -}; \ No newline at end of file +}; diff --git a/components/scrapegraphai/scrapegraphai.app.mjs b/components/scrapegraphai/scrapegraphai.app.mjs index 8cb52844a8eb4..17f74407bfa8c 100644 --- a/components/scrapegraphai/scrapegraphai.app.mjs +++ b/components/scrapegraphai/scrapegraphai.app.mjs @@ -8,4 +8,4 @@ export default { console.log(Object.keys(this.$auth)); }, }, -}; \ No newline at end of file +}; diff --git a/components/screenshot_fyi/screenshot_fyi.app.mjs b/components/screenshot_fyi/screenshot_fyi.app.mjs index baaa2451f0e4f..50d14cb24d837 100644 --- a/components/screenshot_fyi/screenshot_fyi.app.mjs +++ b/components/screenshot_fyi/screenshot_fyi.app.mjs @@ -8,4 +8,4 @@ export default { console.log(Object.keys(this.$auth)); }, }, -}; \ No newline at end of file +}; diff --git a/components/taleez/taleez.app.mjs b/components/taleez/taleez.app.mjs index f9a7c77543bc4..cbeddc24988b6 100644 --- a/components/taleez/taleez.app.mjs +++ b/components/taleez/taleez.app.mjs @@ -8,4 +8,4 @@ export default { console.log(Object.keys(this.$auth)); }, }, -}; \ No newline at end of file +}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 34cca444ff1cb..91a3dfc899c0a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1241,7 +1241,11 @@ importers: specifier: ^1.6.0 version: 1.6.6 - components/boldsign: {} + components/boldsign: + dependencies: + '@pipedream/platform': + specifier: ^3.0.3 + version: 3.0.3 components/boloforms: dependencies: @@ -1624,8 +1628,7 @@ importers: specifier: ^1.5.1 version: 1.6.6 - components/change_photos: - specifiers: {} + components/change_photos: {} components/changenow: {} @@ -5394,8 +5397,7 @@ importers: specifier: ^1.5.1 version: 1.6.6 - components/kafka: - specifiers: {} + components/kafka: {} components/kajabi: {} @@ -8948,8 +8950,7 @@ importers: specifier: ^1.4.1 version: 1.6.6 - components/scrapegraphai: - specifiers: {} + components/scrapegraphai: {} components/scrapein_: {} @@ -10238,8 +10239,7 @@ importers: components/taggun: {} - components/taleez: - specifiers: {} + components/taleez: {} components/talend: {} @@ -24576,22 +24576,22 @@ packages: superagent@3.8.1: resolution: {integrity: sha512-VMBFLYgFuRdfeNQSMLbxGSLfmXL/xc+OO+BZp41Za/NRDBet/BNbkRJrYzCUu0u4GU0i/ml2dtT8b9qgkw9z6Q==} engines: {node: '>= 4.0'} - deprecated: Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net + deprecated: Please upgrade to v7.0.2+ of superagent. We have fixed numerous issues with streams, form-data, attach(), filesystem errors not bubbling up (ENOENT on attach()), and all tests are now passing. See the releases tab for more information at . superagent@4.1.0: resolution: {integrity: sha512-FT3QLMasz0YyCd4uIi5HNe+3t/onxMyEho7C3PSqmti3Twgy2rXT4fmkTz6wRL6bTF4uzPcfkUCa8u4JWHw8Ag==} engines: {node: '>= 6.0'} - deprecated: Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net + deprecated: Please upgrade to v7.0.2+ of superagent. We have fixed numerous issues with streams, form-data, attach(), filesystem errors not bubbling up (ENOENT on attach()), and all tests are now passing. See the releases tab for more information at . superagent@5.3.1: resolution: {integrity: sha512-wjJ/MoTid2/RuGCOFtlacyGNxN9QLMgcpYLDQlWFIhhdJ93kNscFonGvrpAHSCVjRVj++DGCglocF7Aej1KHvQ==} engines: {node: '>= 7.0.0'} - deprecated: Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net + deprecated: Please upgrade to v7.0.2+ of superagent. We have fixed numerous issues with streams, form-data, attach(), filesystem errors not bubbling up (ENOENT on attach()), and all tests are now passing. See the releases tab for more information at . superagent@7.1.6: resolution: {integrity: sha512-gZkVCQR1gy/oUXr+kxJMLDjla434KmSOKbx5iGD30Ql+AkJQ/YlPKECJy2nhqOsHLjGHzoDTXNSjhnvWhzKk7g==} engines: {node: '>=6.4.0 <13 || >=14'} - deprecated: Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net + deprecated: Please downgrade to v7.1.5 if you need IE/ActiveXObject support OR upgrade to v8.0.0 as we no longer support IE and published an incorrect patch version (see https://github.com/visionmedia/superagent/issues/1731) supports-color@2.0.0: resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==}