diff --git a/components/botsonic/botsonic.app.mjs b/components/botsonic/botsonic.app.mjs index 4f89116956b20..27d00d322e1cd 100644 --- a/components/botsonic/botsonic.app.mjs +++ b/components/botsonic/botsonic.app.mjs @@ -8,4 +8,4 @@ export default { console.log(Object.keys(this.$auth)); }, }, -}; \ No newline at end of file +}; diff --git a/components/piped/piped.app.mjs b/components/piped/piped.app.mjs index cfc4041d207a8..4edfd00654ae6 100644 --- a/components/piped/piped.app.mjs +++ b/components/piped/piped.app.mjs @@ -8,4 +8,4 @@ export default { console.log(Object.keys(this.$auth)); }, }, -}; \ No newline at end of file +}; diff --git a/components/rocketadmin/rocketadmin.app.mjs b/components/rocketadmin/rocketadmin.app.mjs index 0e17c694d340c..c78e11134c376 100644 --- a/components/rocketadmin/rocketadmin.app.mjs +++ b/components/rocketadmin/rocketadmin.app.mjs @@ -8,4 +8,4 @@ export default { console.log(Object.keys(this.$auth)); }, }, -}; \ No newline at end of file +}; diff --git a/components/supadata/supadata.app.mjs b/components/supadata/supadata.app.mjs index bb78a42aa76d6..3e7fadebf002f 100644 --- a/components/supadata/supadata.app.mjs +++ b/components/supadata/supadata.app.mjs @@ -8,4 +8,4 @@ export default { console.log(Object.keys(this.$auth)); }, }, -}; \ No newline at end of file +}; diff --git a/components/timelink/timelink.app.mjs b/components/timelink/timelink.app.mjs index 24d8a10fa9fd6..ca74602c846ea 100644 --- a/components/timelink/timelink.app.mjs +++ b/components/timelink/timelink.app.mjs @@ -8,4 +8,4 @@ export default { console.log(Object.keys(this.$auth)); }, }, -}; \ No newline at end of file +}; diff --git a/components/vectorshift/actions/add-data-to-knowledge-base/add-data-to-knowledge-base.mjs b/components/vectorshift/actions/add-data-to-knowledge-base/add-data-to-knowledge-base.mjs new file mode 100644 index 0000000000000..f2eab6d5a0cd1 --- /dev/null +++ b/components/vectorshift/actions/add-data-to-knowledge-base/add-data-to-knowledge-base.mjs @@ -0,0 +1,56 @@ +import { RESCRAPE_FREQUENCY_OPTIONS } from "../../common/constants.mjs"; +import vectorshift from "../../vectorshift.app.mjs"; + +export default { + key: "vectorshift-add-data-to-knowledge-base", + name: "Add Data to Knowledge Base", + description: "Adds data to a knowledge base in VectorShift. [See the documentation](https://docs.vectorshift.ai/api-reference/knowledge-bases/index).", + version: "0.0.1", + type: "action", + props: { + vectorshift, + knowledgeBaseId: { + propDefinition: [ + vectorshift, + "knowledgeBaseId", + ], + }, + url: { + type: "string", + label: "URL", + description: "URL to add to the knowledge base", + }, + recursive: { + type: "boolean", + label: "Recursive", + description: "Whether the scrape is recursive or not", + default: false, + }, + rescrapeFrequency: { + type: "string", + label: "Rescrape Frequency", + description: "The frequency to rescrape the URL", + options: RESCRAPE_FREQUENCY_OPTIONS, + default: RESCRAPE_FREQUENCY_OPTIONS[0], + }, + }, + async run({ $ }) { + const response = await this.vectorshift.addDataToKnowledgeBase({ + $, + knowledgeBaseId: this.knowledgeBaseId, + data: { + url_data: { + request: { + url: this.url, + recursive: this.recursive, + return_type: "CONTENT", + }, + rescrape_frequency: this.rescrapeFrequency, + }, + }, + }); + + $.export("$summary", `Added ${response.document_ids.length} document(s) to knowledge base ${this.knowledgeBaseId}. Document IDs: ${response.document_ids.join(", ")}`); + return response; + }, +}; diff --git a/components/vectorshift/actions/create-pipeline/create-pipeline.mjs b/components/vectorshift/actions/create-pipeline/create-pipeline.mjs new file mode 100644 index 0000000000000..df6e2e149b830 --- /dev/null +++ b/components/vectorshift/actions/create-pipeline/create-pipeline.mjs @@ -0,0 +1,48 @@ +import { ConfigurationError } from "@pipedream/platform"; +import { parseObject } from "../../common/utils.mjs"; +import vectorshift from "../../vectorshift.app.mjs"; + +export default { + key: "vectorshift-create-pipeline", + name: "Create Pipeline", + description: "Creates a new pipeline in VectorShift. [See the documentation](https://docs.vectorshift.ai)", + version: "0.0.1", + type: "action", + props: { + vectorshift, + name: { + type: "string", + label: "Pipeline Name", + description: "Name of the new pipeline", + }, + config: { + type: "object", + label: "Pipeline Config", + description: "Configuration for the new pipeline", + }, + description: { + type: "string", + label: "Description", + description: "Optional description of the new pipeline", + optional: true, + }, + }, + async run({ $ }) { + try { + const response = await this.vectorshift.createPipeline({ + $, + data: { + name: this.name, + config: parseObject(this.config), + description: this.description, + }, + }); + + $.export("$summary", `Created pipeline with ID ${response.id}`); + return response; + } catch ({ message }) { + const parsedError = JSON.parse(message).error; + throw new ConfigurationError(parsedError); + } + }, +}; diff --git a/components/vectorshift/actions/run-pipeline/run-pipeline.mjs b/components/vectorshift/actions/run-pipeline/run-pipeline.mjs new file mode 100644 index 0000000000000..2d33468c9539b --- /dev/null +++ b/components/vectorshift/actions/run-pipeline/run-pipeline.mjs @@ -0,0 +1,42 @@ +import { ConfigurationError } from "@pipedream/platform"; +import { parseObject } from "../../common/utils.mjs"; +import vectorshift from "../../vectorshift.app.mjs"; + +export default { + key: "vectorshift-run-pipeline", + name: "Run Pipeline", + description: "Executes a VectorShift pipeline with specified inputs. [See the documentation](https://docs.vectorshift.ai/api-reference/pipelines/run)", + version: "0.0.1", + type: "action", + props: { + vectorshift, + pipelineId: { + propDefinition: [ + vectorshift, + "pipelineId", + ], + }, + inputs: { + type: "object", + label: "Pipeline Inputs", + description: "Inputs for the pipeline execution. [See the documentation](https://docs.vectorshift.ai/platform/pipelines/general/input) for further details", + optional: true, + }, + }, + async run({ $ }) { + try { + const response = await this.vectorshift.executePipeline({ + $, + pipelineId: this.pipelineId, + data: { + inputs: parseObject(this.inputs), + }, + }); + $.export("$summary", `Pipeline executed successfully. Run ID: ${response.run_id}`); + return response; + } catch ({ message }) { + const parsedError = JSON.parse(message).error; + throw new ConfigurationError(parsedError); + } + }, +}; diff --git a/components/vectorshift/common/constants.mjs b/components/vectorshift/common/constants.mjs new file mode 100644 index 0000000000000..0e174478f1f98 --- /dev/null +++ b/components/vectorshift/common/constants.mjs @@ -0,0 +1,15 @@ +export const DATA_TYPE_OPTIONS = [ + "url", + "wikipedia", + "youtube", + "arxiv", + "git", +]; + +export const RESCRAPE_FREQUENCY_OPTIONS = [ + "Never", + "Hourly", + "Daily", + "Weekly", + "Monthly", +]; diff --git a/components/vectorshift/common/utils.mjs b/components/vectorshift/common/utils.mjs new file mode 100644 index 0000000000000..0cd1a12b6a4ba --- /dev/null +++ b/components/vectorshift/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/vectorshift/package.json b/components/vectorshift/package.json index 1fca8e920ff45..dcb3e1a05fb62 100644 --- a/components/vectorshift/package.json +++ b/components/vectorshift/package.json @@ -1,6 +1,6 @@ { "name": "@pipedream/vectorshift", - "version": "0.0.1", + "version": "0.1.0", "description": "Pipedream VectorShift Components", "main": "vectorshift.app.mjs", "keywords": [ @@ -11,5 +11,9 @@ "author": "Pipedream (https://pipedream.com/)", "publishConfig": { "access": "public" + }, + "dependencies": { + "@pipedream/platform": "^3.0.3", + "fs": "^0.0.1-security" } -} \ No newline at end of file +} diff --git a/components/vectorshift/sources/common/base.mjs b/components/vectorshift/sources/common/base.mjs new file mode 100644 index 0000000000000..2460b1ad3ad3b --- /dev/null +++ b/components/vectorshift/sources/common/base.mjs @@ -0,0 +1,42 @@ +import { DEFAULT_POLLING_SOURCE_TIMER_INTERVAL } from "@pipedream/platform"; +import app from "../../vectorshift.app.mjs"; + +export default { + props: { + app, + timer: { + type: "$.interface.timer", + default: { + intervalSeconds: DEFAULT_POLLING_SOURCE_TIMER_INTERVAL, + }, + }, + }, + methods: { + async emitEvent(maxResults = false) { + const fn = this.getFunction(); + const { objects: response = [] } = await fn(); + + if (response.length) { + if (maxResults && (response.length > maxResults)) { + response.length = maxResults; + } + } + + for (const item of response) { + this.$emit(item, { + id: item._id, + summary: this.getSummary(item), + ts: Date.parse(item.createdDate || new Date()), + }); + } + }, + }, + hooks: { + async deploy() { + await this.emitEvent(25); + }, + }, + async run() { + await this.emitEvent(); + }, +}; diff --git a/components/vectorshift/sources/new-chatbot/new-chatbot.mjs b/components/vectorshift/sources/new-chatbot/new-chatbot.mjs new file mode 100644 index 0000000000000..120365303340a --- /dev/null +++ b/components/vectorshift/sources/new-chatbot/new-chatbot.mjs @@ -0,0 +1,22 @@ +import common from "../common/base.mjs"; +import sampleEmit from "./test-event.mjs"; + +export default { + ...common, + key: "vectorshift-new-chatbot", + name: "New Chatbot Created", + description: "Emit new event when a chatbot is created.", + version: "0.0.1", + type: "source", + dedupe: "unique", + methods: { + ...common.methods, + getFunction() { + return this.app.listChatbots; + }, + getSummary(item) { + return `New Chatbot: ${item.name || item._id}`; + }, + }, + sampleEmit, +}; diff --git a/components/vectorshift/sources/new-chatbot/test-event.mjs b/components/vectorshift/sources/new-chatbot/test-event.mjs new file mode 100644 index 0000000000000..0ec37a46370d0 --- /dev/null +++ b/components/vectorshift/sources/new-chatbot/test-event.mjs @@ -0,0 +1,145 @@ +export default { + "_id": "67ea096700fcfd7de5313ffa", + "access_config": { + "accessContactText": "Please contact the owner to request access", + "accessPermissionText": "You do not have permission to access this chatbot.", + "enablePassword": false, + "enableSSO": false, + "loginButtonText": "Submit", + "loginHeader": "Authenticate to Chatbot", + "loginPasswordText": "Password" + }, + "createdDate": "2025-03-31T17:24:39.768Z", + "deployed": true, + "deployment_options": { + "aIDisclaimerText": "Generated by AI. Double check for accuracy", + "aIDisclaimerVariant": "every_message", + "accentColor": "#6366F1", + "accessColor": "#6366F1", + "accountAuthToken": null, + "accountSid": null, + "assistantImageUrl": "https://vectorshift-public.s3.amazonaws.com/android-chrome-512x512.png", + "backgroundColor": "#FFFFFF", + "borderColor": "#1C2536", + "borderRadius": "8px", + "botName": "Assistant", + "botNameColor": "#6366F1", + "bottomBarIconUrl": "", + "bottomBarRedirectUrl": null, + "bottomBarText": null, + "bottomSpacing": "5px", + "chatBubbleUrl": "", + "chatOpen": true, + "chatbotPassword": "", + "chatbotWelcomeTitle": "Vectorshift", + "clearChat": false, + "copilotMaxWidth": "1000px", + "customDomains": [ + { + "id": "7c539459-ebf9-4d12-9c62-980bafc493ce", + "value": "" + } + ], + "deployed": false, + "disclaimerText": null, + "displayDescription": "Hi, how can I assist you today?", + "displayDescriptionColor": "#656d75", + "displayDescriptionFontSize": "14px", + "displayDescriptionFontWeight": 400, + "displayDescriptionTextAlignment": "center", + "displayImageSize": "80px", + "displayNameColor": "black", + "displayNameFontSize": "20px", + "displayNameFontWeight": 600, + "embedBorderRadius": "large", + "embedPosition": "right", + "errorMessage": null, + "followUpPrompt": "", + "fontSize": "16px", + "fontStyle": "inter", + "headerFont": "inter", + "height": "100%", + "iconUrl": "https://vectorshift-public.s3.amazonaws.com/android-chrome-512x512.png", + "inputFieldPlaceholder": "Write a message", + "inputIconHeight": "28px", + "inputMessageColor": "#EBEEFE", + "inputTextColor": "#000000", + "inputVariant": "single", + "inputboxHeight": "35px", + "integrationID": null, + "launcherBottomSpacing": 20, + "launcherMessage": "", + "launcherSideSpacing": 20, + "launcherSize": 48, + "launcherText": "Chat Launcher", + "launcherVariant": "icon", + "limitDomains": false, + "messageLimitPerConversation": null, + "numberOfRelatedQuestions": 3, + "oAuthToken": null, + "outputMessageColor": "#f1f2f2", + "outputTextColor": "#000000", + "persistenceTimeDuration": "week", + "persistenceTimeQuantity": 1, + "poweredByVectorshift": true, + "promptA": "", + "promptB": "", + "promptC": "", + "promptD": "", + "rbac": false, + "relatedText": "Related", + "responseLoaderIconUrl": "https://vectorshift-public.s3.amazonaws.com/chat-response-loader.svg", + "responseLoaderLabel": "Processing Request", + "saveConversations": false, + "secondaryColor": "#F5F7FF", + "sendBorderRadius": "100px", + "showAIDisclaimer": false, + "showDocumentUpload": false, + "showHeaderLogo": true, + "showLauncherBackgroundColor": true, + "showRemainingMessageInfo": true, + "showSelectedDocuments": true, + "showVoiceinChat": true, + "showWelcomeImage": true, + "slackDeployed": false, + "stopGeneration": true, + "suggestRelatedQuestions": true, + "suggestedMessages": false, + "title": "VectorShift", + "titleColor": "#000000", + "topBarColor": "#EBEEFE", + "topBarPadding": "12px", + "turnOnUserFeedback": true, + "userName": "User", + "userNameColor": "#6366F1", + "variant": "bubbles", + "welcomeDisplayImage": "https://vectorshift-public.s3.amazonaws.com/android-chrome-512x512.png", + "welcomeMessage": null, + "width": "100%" + }, + "description": "", + "input": "input_0", + "mainBranch": "67ea096700fcfd7de5313ffa", + "modifiedDate": "2025-03-31T17:24:39.768Z", + "name": "Chatbot Named", + "orgID": "Personal", + "output": "output_0", + "pipeline": { + "branch_id": null, + "object_id": "67ea096700fcfd7de5313ffa", + "object_type": 0, + "state_id": null, + "version": null + }, + "show_document_upload": false, + "slack_config": { + "integrationID": null, + "oAuthToken": null, + "slackDeployed": false + }, + "twilio_config": { + "accountAuthToken": null, + "accountSid": null + }, + "userID": "auth0|67ea096700fcfd7de5313ffa" +} \ No newline at end of file diff --git a/components/vectorshift/sources/new-knowledge-base/new-knowledge-base.mjs b/components/vectorshift/sources/new-knowledge-base/new-knowledge-base.mjs new file mode 100644 index 0000000000000..6bc6e95a46ee5 --- /dev/null +++ b/components/vectorshift/sources/new-knowledge-base/new-knowledge-base.mjs @@ -0,0 +1,22 @@ +import common from "../common/base.mjs"; +import sampleEmit from "./test-event.mjs"; + +export default { + ...common, + key: "vectorshift-new-knowledge-base", + name: "New Knowledge Base Created", + description: "Emit new event when a knowledge base is created in Vectorshift.", + version: "0.0.1", + type: "source", + dedupe: "unique", + methods: { + ...common.methods, + getFunction() { + return this.app.listKnowledgeBases; + }, + getSummary(item) { + return `New Knowledge Base: ${item.name || item._id}`; + }, + }, + sampleEmit, +}; diff --git a/components/vectorshift/sources/new-knowledge-base/test-event.mjs b/components/vectorshift/sources/new-knowledge-base/test-event.mjs new file mode 100644 index 0000000000000..395913b6d0f0c --- /dev/null +++ b/components/vectorshift/sources/new-knowledge-base/test-event.mjs @@ -0,0 +1,37 @@ +export default { + "_id": "7667e40a6c748705592c629b", + "analyzeDocuments": false, + "apifyKey": "", + "chunkOverlap": 0, + "chunkSize": 400, + "createdDate": "2025-03-26T21:41:27.705Z", + "description": "", + "fileProcessingImplementation": "default", + "isHybrid": false, + "modifiedDate": "2025-03-31T16:22:01.405Z", + "name": "Knowledge Base Name", + "orgID": "Personal", + "segmentationMethod": "words", + "sharedWith": [ + { + "id": "auth0|7667e40a6c748705592c629b", + "item_type": "USER", + "org_id": "Personal", + "role": "Owner" + } + ], + "splitterMethod": "markdown", + "userID": "auth0|7667e40a6c748705592c629b", + "vector_db_details": { + "collection_name": "text-embedding-3-small", + "dimension": null, + "embedding_model": "text-embedding-3-small", + "embedding_provider": "openai", + "precision": "Float16", + "query_embedding_model": null, + "sharded": true, + "sparse_embedding_model": null, + "sparse_query_embedding_model": null, + "vector_db_provider": "qdrant" + } +} \ No newline at end of file diff --git a/components/vectorshift/sources/new-pipeline/new-pipeline.mjs b/components/vectorshift/sources/new-pipeline/new-pipeline.mjs new file mode 100644 index 0000000000000..3f791fc000a27 --- /dev/null +++ b/components/vectorshift/sources/new-pipeline/new-pipeline.mjs @@ -0,0 +1,22 @@ +import common from "../common/base.mjs"; +import sampleEmit from "./test-event.mjs"; + +export default { + ...common, + key: "vectorshift-new-pipeline", + name: "New Pipeline Created", + description: "Emit new event when a new pipeline is created in VectorShift.", + version: "0.0.1", + type: "source", + dedupe: "unique", + methods: { + ...common.methods, + getFunction() { + return this.app.listPipelines; + }, + getSummary(item) { + return `New Pipeline Created: ${item.name || item._id}`; + }, + }, + sampleEmit, +}; diff --git a/components/vectorshift/sources/new-pipeline/test-event.mjs b/components/vectorshift/sources/new-pipeline/test-event.mjs new file mode 100644 index 0000000000000..798152185773b --- /dev/null +++ b/components/vectorshift/sources/new-pipeline/test-event.mjs @@ -0,0 +1,10 @@ +export default { + "_id": "6709e0f530eacae6703df110", + "createdDate": "2025-03-31T17:03:31.277Z", + "mainBranch": "6709e0f530eacae6703df110", + "modifiedDate": "2025-03-31T17:03:31.277Z", + "name": "Pipeline Name", + "nodes": {}, + "orgID": "Personal", + "userID": "auth0|6709e0f530eacae6703df110" +} \ No newline at end of file diff --git a/components/vectorshift/vectorshift.app.mjs b/components/vectorshift/vectorshift.app.mjs index 6a8e0a6aeaf84..af4ee7bdbcabd 100644 --- a/components/vectorshift/vectorshift.app.mjs +++ b/components/vectorshift/vectorshift.app.mjs @@ -1,11 +1,123 @@ +import { axios } from "@pipedream/platform"; + export default { type: "app", app: "vectorshift", - propDefinitions: {}, + propDefinitions: { + knowledgeBaseId: { + type: "string", + label: "Knowledge Base ID", + description: "The ID of the knowledge base", + async options() { + const { objects } = await this.listKnowledgeBases({ + params: { + verbose: true, + }, + }); + + return objects?.map(({ + _id: value, name: label, + }) => ({ + label, + value, + })) || []; + }, + }, + pipelineId: { + type: "string", + label: "Pipeline ID", + description: "The ID of the pipeline to execute", + async options() { + const { objects } = await this.listPipelines(); + + return objects.map(({ + _id: value, name: label, + }) => ({ + label, + value, + })); + }, + }, + }, methods: { - // this.$auth contains connected account data - authKeys() { - console.log(Object.keys(this.$auth)); + _baseUrl() { + return "https://api.vectorshift.ai/v1"; + }, + _headers() { + return { + "Authorization": `Bearer ${this.$auth.api_key}`, + "Content-Type": "application/json", + }; + }, + _makeRequest({ + $ = this, path, ...opts + }) { + return axios($, { + url: this._baseUrl() + path, + headers: this._headers(), + ...opts, + }); + }, + listPipelines({ + params = {}, ...opts + } = {}) { + return this._makeRequest({ + path: "/pipelines", + params: { + verbose: true, + ...params, + }, + ...opts, + }); + }, + listKnowledgeBases({ + params = {}, ...opts + } = {}) { + return this._makeRequest({ + path: "/knowledge-bases", + params: { + verbose: true, + ...params, + }, + ...opts, + }); + }, + listChatbots({ + params = {}, ...opts + } = {}) { + return this._makeRequest({ + path: "/chatbots", + params: { + verbose: true, + ...params, + }, + ...opts, + }); + }, + createPipeline(opts = {}) { + return this._makeRequest({ + method: "POST", + path: "/pipeline", + ...opts, + }); + }, + executePipeline({ + pipelineId, ...opts + }) { + return this._makeRequest({ + method: "POST", + path: `/pipeline/${pipelineId}/run`, + ...opts, + }); + }, + addDataToKnowledgeBase({ + knowledgeBaseId, ...opts + }) { + return this._makeRequest({ + method: "POST", + path: `/knowledge-base/${knowledgeBaseId}/index`, + ...opts, + }); }, }, -}; \ No newline at end of file +}; diff --git a/components/voxapp/voxapp.app.mjs b/components/voxapp/voxapp.app.mjs index 34d1230d7dd8a..c7717fcfcb8c9 100644 --- a/components/voxapp/voxapp.app.mjs +++ b/components/voxapp/voxapp.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 a5967e6847e2c..378470341c641 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13597,7 +13597,14 @@ importers: components/vectera: {} - components/vectorshift: {} + components/vectorshift: + dependencies: + '@pipedream/platform': + specifier: ^3.0.3 + version: 3.0.3 + fs: + specifier: ^0.0.1-security + version: 0.0.1-security components/vend: dependencies: @@ -16394,12 +16401,12 @@ packages: '@dabh/diagnostics@2.0.3': resolution: {integrity: sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==} - '@definitelytyped/header-parser@0.2.17': - resolution: {integrity: sha512-U0juKFkTOcbkSfO83WSzMEJHYDwoBFiq0tf/JszulL3+7UoSiqunpGmxXS54bm3eGqy7GWjV8AqPQHdeoEaWBQ==} + '@definitelytyped/header-parser@0.2.18': + resolution: {integrity: sha512-3JWGzhieGOx+zhy+qaPDoiby2TPA1PZGpEJHt0VwR1aK0R9dER5BoBvnT5zSafg9kHQTw4aBRFbt3o41FNkaLw==} engines: {node: '>=18.18.0'} - '@definitelytyped/typescript-versions@0.1.7': - resolution: {integrity: sha512-sBzBi1SBn79OkSr8V0H+FzR7QumHk23syPyRxod/VRBrSkgN9rCliIe+nqLoWRAKN8EeKbp00ketnJNLZhucdA==} + '@definitelytyped/typescript-versions@0.1.8': + resolution: {integrity: sha512-iz6q9aTwWW7CzN2g8jFQfZ955D63LA+wdIAKz4+2pCc/7kokmEHie1/jVWSczqLFOlmH+69bWQxIurryBP/sig==} engines: {node: '>=18.18.0'} '@definitelytyped/utils@0.1.8': @@ -32140,13 +32147,13 @@ snapshots: enabled: 2.0.0 kuler: 2.0.0 - '@definitelytyped/header-parser@0.2.17': + '@definitelytyped/header-parser@0.2.18': dependencies: - '@definitelytyped/typescript-versions': 0.1.7 + '@definitelytyped/typescript-versions': 0.1.8 '@definitelytyped/utils': 0.1.8 semver: 7.7.1 - '@definitelytyped/typescript-versions@0.1.7': {} + '@definitelytyped/typescript-versions@0.1.8': {} '@definitelytyped/utils@0.1.8': dependencies: @@ -38788,7 +38795,7 @@ snapshots: dts-critic@3.3.11(typescript@5.7.2): dependencies: - '@definitelytyped/header-parser': 0.2.17 + '@definitelytyped/header-parser': 0.2.18 command-exists: 1.2.9 rimraf: 3.0.2 semver: 6.3.1 @@ -38798,8 +38805,8 @@ snapshots: dtslint@4.2.1(typescript@5.7.2): dependencies: - '@definitelytyped/header-parser': 0.2.17 - '@definitelytyped/typescript-versions': 0.1.7 + '@definitelytyped/header-parser': 0.2.18 + '@definitelytyped/typescript-versions': 0.1.8 '@definitelytyped/utils': 0.1.8 dts-critic: 3.3.11(typescript@5.7.2) fs-extra: 6.0.1 @@ -41922,7 +41929,7 @@ snapshots: jest-util: 29.7.0 natural-compare: 1.4.0 pretty-format: 29.7.0 - semver: 7.6.3 + semver: 7.7.1 transitivePeerDependencies: - supports-color @@ -44868,7 +44875,7 @@ snapshots: jsdoc: 4.0.4 minimist: 1.2.8 protobufjs: 7.2.4 - semver: 7.6.3 + semver: 7.7.1 tmp: 0.2.3 uglify-js: 3.19.3