From 88c121a91575646ff5baeadb42b71f9cfcf2c260 Mon Sep 17 00:00:00 2001 From: Luan Cazarine Date: Fri, 4 Oct 2024 12:03:41 -0300 Subject: [PATCH 1/3] daktela init --- .../actions/create-account/create-account.mjs | 70 ++++++++ .../daktela/actions/make-call/make-call.mjs | 44 +++++ .../daktela/actions/send-sms/send-sms.mjs | 44 +++++ components/daktela/daktela.app.mjs | 162 +++++++++++++++++- components/daktela/package.json | 2 +- .../sources/new-account/new-account.mjs | 63 +++++++ .../sources/new-contact/new-contact.mjs | 65 +++++++ .../sources/updated-ticket/updated-ticket.mjs | 69 ++++++++ 8 files changed, 513 insertions(+), 6 deletions(-) create mode 100644 components/daktela/actions/create-account/create-account.mjs create mode 100644 components/daktela/actions/make-call/make-call.mjs create mode 100644 components/daktela/actions/send-sms/send-sms.mjs create mode 100644 components/daktela/sources/new-account/new-account.mjs create mode 100644 components/daktela/sources/new-contact/new-contact.mjs create mode 100644 components/daktela/sources/updated-ticket/updated-ticket.mjs diff --git a/components/daktela/actions/create-account/create-account.mjs b/components/daktela/actions/create-account/create-account.mjs new file mode 100644 index 0000000000000..c2d7d823e3979 --- /dev/null +++ b/components/daktela/actions/create-account/create-account.mjs @@ -0,0 +1,70 @@ +import daktela from "../../daktela.app.mjs"; +import { axios } from "@pipedream/platform"; + +export default { + key: "daktela-create-account", + name: "Create Account", + description: "Creates a new account on Daktela. [See the documentation](https://customer.daktela.com/apihelp/v6/global/general-information)", + version: "0.0.{{ts}}", + type: "action", + props: { + daktela, + user: { + propDefinition: [ + daktela, + "user", + ], + optional: true, + }, + sla: { + propDefinition: [ + daktela, + "sla", + ], + optional: true, + }, + survey: { + propDefinition: [ + daktela, + "survey", + ], + optional: true, + }, + name: { + propDefinition: [ + daktela, + "name", + ], + optional: true, + }, + title: { + propDefinition: [ + daktela, + "title", + ], + optional: true, + }, + description: { + propDefinition: [ + daktela, + "description", + ], + optional: true, + }, + }, + async run({ $ }) { + const params = { + user: this.user, + sla: this.sla, + survey: this.survey, + name: this.name, + title: this.title, + description: this.description, + }; + + const response = await this.daktela.createAccount(params); + + $.export("$summary", `Successfully created account: ${response.title}`); + return response; + }, +}; diff --git a/components/daktela/actions/make-call/make-call.mjs b/components/daktela/actions/make-call/make-call.mjs new file mode 100644 index 0000000000000..63adef09c442b --- /dev/null +++ b/components/daktela/actions/make-call/make-call.mjs @@ -0,0 +1,44 @@ +import daktela from "../../daktela.app.mjs"; +import { axios } from "@pipedream/platform"; + +export default { + key: "daktela-make-call", + name: "Initiate Phone Call", + description: "Initiates a phone call via Daktela. [See the documentation](https://customer.daktela.com/apihelp/v6/working-with/call-activities)", + version: "0.0.{{ts}}", + type: "action", + props: { + daktela, + phoneNumber: { + propDefinition: [ + daktela, + "phoneNumber", + ], + }, + callerNumber: { + propDefinition: [ + daktela, + "callerNumber", + ], + optional: true, + }, + callingTime: { + propDefinition: [ + daktela, + "callingTime", + ], + optional: true, + }, + }, + async run({ $ }) { + const params = { + phoneNumber: this.phoneNumber, + callerNumber: this.callerNumber, + callingTime: this.callingTime, + }; + + const response = await this.daktela.initiateCall(params); + $.export("$summary", `Successfully initiated call to ${this.phoneNumber}`); + return response; + }, +}; diff --git a/components/daktela/actions/send-sms/send-sms.mjs b/components/daktela/actions/send-sms/send-sms.mjs new file mode 100644 index 0000000000000..70a0bd242cd6a --- /dev/null +++ b/components/daktela/actions/send-sms/send-sms.mjs @@ -0,0 +1,44 @@ +import daktela from "../../daktela.app.mjs"; +import { axios } from "@pipedream/platform"; + +export default { + key: "daktela-send-sms", + name: "Send SMS", + description: "Sends an SMS from the Daktela platform. [See the documentation](https://customer.daktela.com/apihelp/v6/working-with/sms-chat-activities)", + version: "0.0.1", + type: "action", + props: { + daktela, + receiverNumber: { + propDefinition: [ + daktela, + "receiverNumber", + ], + }, + textContent: { + propDefinition: [ + daktela, + "textContent", + ], + }, + senderName: { + propDefinition: [ + daktela, + "senderName", + ], + optional: true, + }, + }, + async run({ $ }) { + const params = { + to: this.receiverNumber, + text: this.textContent, + from: this.senderName, + }; + + const response = await this.daktela.sendSms(params); + + $.export("$summary", `Successfully sent SMS to ${this.receiverNumber}`); + return response; + }, +}; diff --git a/components/daktela/daktela.app.mjs b/components/daktela/daktela.app.mjs index 210e26efe7add..6e87d9f6d57bd 100644 --- a/components/daktela/daktela.app.mjs +++ b/components/daktela/daktela.app.mjs @@ -1,11 +1,163 @@ +import { axios } from "@pipedream/platform"; + export default { type: "app", app: "daktela", - propDefinitions: {}, + propDefinitions: { + user: { + type: "string", + label: "User", + description: "The user associated with the account", + async options() { + const users = await this.getUsers(); + return users.map((user) => ({ + label: user.name, + value: user.id, + })); + }, + }, + sla: { + type: "integer", + label: "SLA", + description: "The SLA ID for the account", + optional: true, + }, + survey: { + type: "boolean", + label: "Survey", + description: "Indicate if a survey should be sent", + optional: true, + }, + name: { + type: "string", + label: "Name", + description: "Unique identification for the account", + optional: true, + }, + title: { + type: "string", + label: "Title", + description: "Display name for the account", + optional: true, + }, + description: { + type: "string", + label: "Description", + description: "Optional description for the account", + optional: true, + }, + receiverNumber: { + type: "string", + label: "Receiver's Number", + description: "The phone number to send the SMS to", + }, + textContent: { + type: "string", + label: "Text Content", + description: "The content of the SMS", + }, + senderName: { + type: "string", + label: "Sender's Name", + description: "Optional sender's name for the SMS", + optional: true, + }, + phoneNumber: { + type: "string", + label: "Phone Number to Call", + description: "The phone number to initiate the call", + }, + callerNumber: { + type: "string", + label: "Caller’s Number", + description: "The number being used to make the call", + optional: true, + }, + callingTime: { + type: "string", + label: "Calling Time", + description: "Time to initiate the call", + optional: true, + }, + }, methods: { - // this.$auth contains connected account data - authKeys() { - console.log(Object.keys(this.$auth)); + _baseUrl() { + return "https://customer.daktela.com/api/v6"; + }, + async _makeRequest(opts = {}) { + const { + $ = this, method = "GET", path = "/", headers, ...otherOpts + } = opts; + return axios($, { + ...otherOpts, + method, + url: this._baseUrl() + path, + headers: { + ...headers, + "Content-Type": "application/json", + "Authorization": `Bearer ${this.$auth.access_token}`, + }, + }); + }, + async createAccount(params) { + return this._makeRequest({ + method: "POST", + path: "/accounts", + data: params, + }); + }, + async sendSms(params) { + return this._makeRequest({ + method: "POST", + path: "/sms_activities", + data: params, + }); + }, + async initiateCall(params) { + return this._makeRequest({ + method: "POST", + path: "/call_activities", + data: params, + }); + }, + async getUsers(opts = {}) { + return this._makeRequest({ + path: "/users", + ...opts, + }); + }, + async emitNewAccountCreated() { + const accounts = await this._makeRequest({ + path: "/accounts", + }); + accounts.forEach((account) => { + this.$emit(account, { + summary: `New account created: ${account.title}`, + id: account.account, + }); + }); + }, + async emitTicketUpdated() { + const tickets = await this._makeRequest({ + path: "/tickets", + }); + tickets.forEach((ticket) => { + this.$emit(ticket, { + summary: `Ticket updated: ${ticket.title}`, + id: ticket.ticket, + }); + }); + }, + async emitNewContactAdded() { + const contacts = await this._makeRequest({ + path: "/contacts", + }); + contacts.forEach((contact) => { + this.$emit(contact, { + summary: `New contact added: ${contact.firstname} ${contact.lastname}`, + id: contact.contact, + }); + }); }, }, -}; \ No newline at end of file +}; diff --git a/components/daktela/package.json b/components/daktela/package.json index d392a4365e380..fb7d8a484827e 100644 --- a/components/daktela/package.json +++ b/components/daktela/package.json @@ -12,4 +12,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/components/daktela/sources/new-account/new-account.mjs b/components/daktela/sources/new-account/new-account.mjs new file mode 100644 index 0000000000000..b4f5e0a42ac8a --- /dev/null +++ b/components/daktela/sources/new-account/new-account.mjs @@ -0,0 +1,63 @@ +import daktela from "../../daktela.app.mjs"; +import { axios } from "@pipedream/platform"; + +export default { + key: "daktela-new-account", + name: "New Account Created", + description: "Emit a new event when a new account is created. [See the documentation](https://customer.daktela.com/apihelp/v6/global/general-information)", + version: "0.0.{{ts}}", + type: "source", + dedupe: "unique", + props: { + daktela, + db: "$.service.db", + timer: { + type: "$.interface.timer", + default: { + intervalSeconds: 60 * 15, // 15 minutes + }, + }, + }, + hooks: { + async deploy() { + const accounts = await this.daktela._makeRequest({ + path: "/accounts", + }); + + accounts.slice(-50).forEach((account) => { + this.$emit(account, { + id: account.account, + summary: `New account created: ${account.title}`, + ts: new Date().getTime(), + }); + }); + + if (accounts.length) { + const maxId = Math.max(...accounts.map((account) => account.account)); + await this.db.set("lastMaxAccountId", maxId); + } + }, + }, + async run() { + const lastMaxAccountId = (await this.db.get("lastMaxAccountId")) || 0; + + const accounts = await this.daktela._makeRequest({ + path: "/accounts", + }); + + const newAccounts = accounts.filter((account) => account.account > lastMaxAccountId); + + newAccounts.forEach((account) => { + this.$emit(account, { + id: account.account, + summary: `New account created: ${account.title}`, + ts: new Date().getTime(), + }); + }); + + if (newAccounts.length) { + const newMaxId = Math.max(...newAccounts.map((account) => account.account)); + await this.db.set("lastMaxAccountId", newMaxId); + } + }, +}; diff --git a/components/daktela/sources/new-contact/new-contact.mjs b/components/daktela/sources/new-contact/new-contact.mjs new file mode 100644 index 0000000000000..4c35e673b2acd --- /dev/null +++ b/components/daktela/sources/new-contact/new-contact.mjs @@ -0,0 +1,65 @@ +import daktela from "../../daktela.app.mjs"; + +export default { + key: "daktela-new-contact", + name: "New Contact Added", + description: "Emit a new event when a new contact is added to the system. [See the documentation](https://customer.daktela.com/apihelp/v6/global/general-information)", + version: "0.0.{{ts}}", + type: "source", + dedupe: "unique", + props: { + daktela, + db: "$.service.db", + timer: { + type: "$.interface.timer", + default: { + intervalSeconds: 900, // every 15 minutes + }, + }, + }, + methods: { + _getLastContactId() { + return this.db.get("lastContactId") || 0; + }, + _setLastContactId(id) { + this.db.set("lastContactId", id); + }, + }, + hooks: { + async deploy() { + const contacts = await this.daktela._makeRequest({ + path: "/contacts", + }); + + contacts.slice(-50).forEach((contact) => { + this.$emit(contact, { + id: contact.contact, + summary: `New contact added: ${contact.firstname} ${contact.lastname}`, + }); + }); + + if (contacts.length > 0) { + this._setLastContactId(contacts[contacts.length - 1].contact); + } + }, + }, + async run() { + const lastContactId = this._getLastContactId(); + const contacts = await this.daktela._makeRequest({ + path: "/contacts", + }); + + contacts.forEach((contact) => { + if (contact.contact > lastContactId) { + this.$emit(contact, { + id: contact.contact, + summary: `New contact added: ${contact.firstname} ${contact.lastname}`, + }); + } + }); + + if (contacts.length > 0) { + this._setLastContactId(contacts[contacts.length - 1].contact); + } + }, +}; diff --git a/components/daktela/sources/updated-ticket/updated-ticket.mjs b/components/daktela/sources/updated-ticket/updated-ticket.mjs new file mode 100644 index 0000000000000..4d8c6a69952e1 --- /dev/null +++ b/components/daktela/sources/updated-ticket/updated-ticket.mjs @@ -0,0 +1,69 @@ +import daktela from "../../daktela.app.mjs"; +import { axios } from "@pipedream/platform"; + +export default { + key: "daktela-updated-ticket", + name: "Updated Ticket", + description: "Emit new event when an existing ticket is updated. [See the documentation](https://customer.daktela.com/apihelp/v6/global/general-information)", + version: "0.0.{{ts}}", + type: "source", + dedupe: "unique", + props: { + daktela, + db: "$.service.db", + timer: { + type: "$.interface.timer", + default: { + intervalSeconds: 60 * 15, // Polling every 15 minutes + }, + }, + }, + methods: { + _getLastCheckedTime() { + return this.db.get("lastCheckedTime") || 0; + }, + _setLastCheckedTime(time) { + this.db.set("lastCheckedTime", time); + }, + async _getUpdatedTickets() { + const currentTime = Date.now(); + const lastCheckedTime = this._getLastCheckedTime(); + const tickets = await this.daktela._makeRequest({ + path: "/tickets", + }); + + // Filter tickets updated since the last checked time + const updatedTickets = tickets.filter((ticket) => { + const updatedTime = Date.parse(ticket.updated); + return updatedTime > lastCheckedTime; + }); + + // Update last checked time to current time + this._setLastCheckedTime(currentTime); + + return updatedTickets; + }, + }, + hooks: { + async deploy() { + const updatedTickets = await this._getUpdatedTickets(); + for (const ticket of updatedTickets.slice(-50)) { + this.$emit(ticket, { + id: ticket.ticket, + summary: `Updated ticket: ${ticket.title}`, + ts: Date.parse(ticket.updated), + }); + } + }, + }, + async run() { + const updatedTickets = await this._getUpdatedTickets(); + for (const ticket of updatedTickets) { + this.$emit(ticket, { + id: ticket.ticket, + summary: `Updated ticket: ${ticket.title}`, + ts: Date.parse(ticket.updated), + }); + } + }, +}; From aa3f6703ba0a449cb25cb41a667f672b1971853b Mon Sep 17 00:00:00 2001 From: Luan Cazarine Date: Mon, 7 Oct 2024 10:00:45 -0300 Subject: [PATCH 2/3] init --- .../actions/create-account/create-account.mjs | 22 +++--- components/daktela/common/constants.mjs | 1 + components/daktela/daktela.app.mjs | 74 +++++++++---------- components/daktela/package.json | 5 +- 4 files changed, 53 insertions(+), 49 deletions(-) create mode 100644 components/daktela/common/constants.mjs diff --git a/components/daktela/actions/create-account/create-account.mjs b/components/daktela/actions/create-account/create-account.mjs index c2d7d823e3979..76f44964e557d 100644 --- a/components/daktela/actions/create-account/create-account.mjs +++ b/components/daktela/actions/create-account/create-account.mjs @@ -1,5 +1,4 @@ import daktela from "../../daktela.app.mjs"; -import { axios } from "@pipedream/platform"; export default { key: "daktela-create-account", @@ -53,16 +52,17 @@ export default { }, }, async run({ $ }) { - const params = { - user: this.user, - sla: this.sla, - survey: this.survey, - name: this.name, - title: this.title, - description: this.description, - }; - - const response = await this.daktela.createAccount(params); + const response = await this.daktela.createAccount({ + $, + data: { + user: this.user, + sla: this.sla, + survey: this.survey, + name: this.name, + title: this.title, + description: this.description, + }, + }); $.export("$summary", `Successfully created account: ${response.title}`); return response; diff --git a/components/daktela/common/constants.mjs b/components/daktela/common/constants.mjs new file mode 100644 index 0000000000000..ea830c15a04cb --- /dev/null +++ b/components/daktela/common/constants.mjs @@ -0,0 +1 @@ +export const LIMIT = 100; diff --git a/components/daktela/daktela.app.mjs b/components/daktela/daktela.app.mjs index 6e87d9f6d57bd..d5a5dfb2f47ec 100644 --- a/components/daktela/daktela.app.mjs +++ b/components/daktela/daktela.app.mjs @@ -1,4 +1,5 @@ import { axios } from "@pipedream/platform"; +import { LIMIT } from "./common/constants.mjs"; export default { type: "app", @@ -8,8 +9,13 @@ export default { type: "string", label: "User", description: "The user associated with the account", - async options() { - const users = await this.getUsers(); + async options({ page }) { + const users = await this.getUsers({ + params: { + take: LIMIT, + skip: LIMIT * page, + }, + }); return users.map((user) => ({ label: user.name, value: user.id, @@ -20,31 +26,26 @@ export default { type: "integer", label: "SLA", description: "The SLA ID for the account", - optional: true, }, survey: { type: "boolean", label: "Survey", description: "Indicate if a survey should be sent", - optional: true, }, name: { type: "string", label: "Name", description: "Unique identification for the account", - optional: true, }, title: { type: "string", label: "Title", description: "Display name for the account", - optional: true, }, description: { type: "string", label: "Description", description: "Optional description for the account", - optional: true, }, receiverNumber: { type: "string", @@ -60,7 +61,6 @@ export default { type: "string", label: "Sender's Name", description: "Optional sender's name for the SMS", - optional: true, }, phoneNumber: { type: "string", @@ -69,60 +69,60 @@ export default { }, callerNumber: { type: "string", - label: "Caller’s Number", + label: "Caller's Number", description: "The number being used to make the call", - optional: true, }, callingTime: { type: "string", label: "Calling Time", description: "Time to initiate the call", - optional: true, }, }, methods: { - _baseUrl() { - return "https://customer.daktela.com/api/v6"; - }, - async _makeRequest(opts = {}) { - const { - $ = this, method = "GET", path = "/", headers, ...otherOpts - } = opts; - return axios($, { - ...otherOpts, - method, - url: this._baseUrl() + path, - headers: { - ...headers, - "Content-Type": "application/json", - "Authorization": `Bearer ${this.$auth.access_token}`, - }, - }); + _baseUrl(version = "v5.0") { + return `${this.$auth.instance_url}/api/${version}`; + }, + _params(params = {}) { + return { + ...params, + "Authorization": `Bearer ${this.$auth.access_token}`, + }; + }, + _makeRequest({ + $ = this, path, version, params, ...opts + }) { + const config = { + url: this._baseUrl(version) + path, + params: this._params(params), + ...opts, + }; + console.log("config: ", config); + return axios($, config); }, - async createAccount(params) { + createAccount(opts = {}) { return this._makeRequest({ method: "POST", - path: "/accounts", - data: params, + path: "/accounts.json", + ...opts, }); }, - async sendSms(params) { + sendSms(opts = {}) { return this._makeRequest({ method: "POST", path: "/sms_activities", - data: params, + ...opts, }); }, - async initiateCall(params) { + initiateCall(opts = {}) { return this._makeRequest({ method: "POST", path: "/call_activities", - data: params, + ...opts, }); }, - async getUsers(opts = {}) { + getUsers(opts = {}) { return this._makeRequest({ - path: "/users", + path: "/users.json", ...opts, }); }, diff --git a/components/daktela/package.json b/components/daktela/package.json index fb7d8a484827e..11c6a3430448c 100644 --- a/components/daktela/package.json +++ b/components/daktela/package.json @@ -1,6 +1,6 @@ { "name": "@pipedream/daktela", - "version": "0.0.1", + "version": "0.1.0", "description": "Pipedream Daktela Components", "main": "daktela.app.mjs", "keywords": [ @@ -11,5 +11,8 @@ "author": "Pipedream (https://pipedream.com/)", "publishConfig": { "access": "public" + }, + "dependencies": { + "@pipedream/platform": "^3.0.3" } } From 4bdb08568dccd861fdbee1efd1fa7963866dcf21 Mon Sep 17 00:00:00 2001 From: Luan Cazarine Date: Mon, 7 Oct 2024 10:01:27 -0300 Subject: [PATCH 3/3] pnpm update --- pnpm-lock.yaml | 107 +++++++++++++++++++++++++------------------------ 1 file changed, 55 insertions(+), 52 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1b5dbd55befa8..89ec89211b685 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2266,7 +2266,10 @@ importers: '@pipedream/platform': 1.6.0 components/daktela: - specifiers: {} + specifiers: + '@pipedream/platform': ^3.0.3 + dependencies: + '@pipedream/platform': 3.0.3 components/damstra_forms: specifiers: {} @@ -12897,55 +12900,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'} @@ -13181,7 +13135,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 @@ -13223,6 +13177,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'} @@ -17549,7 +17552,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.6