diff --git a/components/inmobile/actions/send-sms-messages/send-sms-messages.mjs b/components/inmobile/actions/send-sms-messages/send-sms-messages.mjs new file mode 100644 index 0000000000000..d73a09e60dbee --- /dev/null +++ b/components/inmobile/actions/send-sms-messages/send-sms-messages.mjs @@ -0,0 +1,73 @@ +import app from "../../inmobile.app.mjs"; +import utils from "../../common/utils.mjs"; + +export default { + key: "inmobile-send-sms-messages", + name: "Send SMS Messages", + description: "Send one or more SMS messages using the InMobile API. [See the documentation](https://www.inmobile.com/docs/rest-api)", + version: "0.0.1", + type: "action", + annotations: { + readOnlyHint: false, + destructiveHint: true, + openWorldHint: true, + }, + props: { + app, + messages: { + type: "string[]", + label: "Messages", + description: `An array of message objects (1-250 messages). Each message object supports the following properties: + +**Required Fields:** +- \`to\` (string): The msisdn (country code and number) to send to. Remember to include country code, e.g. \`4512345678\` +- \`text\` (string): The text message (1-10000 characters) +- \`from\` (string): The sender. Can be a 3-11 character text sender or up to 14 digit sender number + +**Optional Fields:** +- \`countryHint\` (string): Country code for optimal phone number validation, e.g. \`44\` or \`GB\` +- \`messageId\` (string): Optional message ID to identify the message (1-50 characters, must be unique) +- \`respectBlacklist\` (boolean): Block message if target number is blacklisted. Default: \`true\` +- \`validityPeriodInSeconds\` (integer): Validity period (60-172800 seconds). Default: \`172800\` (48 hours) +- \`statusCallbackUrl\` (string): URL for delivery status callbacks +- \`sendTime\` (string): Schedule message for future sending, e.g. \`2024-12-31T14:50:23Z\` (UTC time) +- \`msisdnCooldownInMinutes\` (integer): Prevent sending to same number within period (60-43200 minutes) +- \`flash\` (boolean): Send as flash message (class0). Default: \`false\` +- \`encoding\` (string): Message encoding - \`gsm7\` (default, 160 chars), \`ucs2\` (70 chars), or \`auto\` + +**Example:** +\`\`\`json +[ + { + "to": "4512345678", + "text": "Hello World", + "from": "YourSender", + "encoding": "gsm7" + }, + { + "to": "4587654321", + "text": "Another message", + "from": "YourSender", + "flash": true + } +] +\`\`\``, + }, + }, + async run({ $ }) { + const { + app, + messages, + } = this; + + const response = await app.sendSms({ + $, + data: { + messages: utils.parseArray(messages), + }, + }); + + $.export("$summary", `Successfully sent ${messages.length} SMS message(s)`); + return response; + }, +}; diff --git a/components/inmobile/common/utils.mjs b/components/inmobile/common/utils.mjs new file mode 100644 index 0000000000000..741295400be78 --- /dev/null +++ b/components/inmobile/common/utils.mjs @@ -0,0 +1,68 @@ +const parseJson = (input, maxDepth = 100) => { + const seen = new WeakSet(); + const parse = (value) => { + if (maxDepth <= 0) { + return value; + } + if (typeof(value) === "string") { + // Only parse if the string looks like a JSON object or array + const trimmed = value.trim(); + if ( + (trimmed.startsWith("{") && trimmed.endsWith("}")) || + (trimmed.startsWith("[") && trimmed.endsWith("]")) + ) { + try { + return parseJson(JSON.parse(value), maxDepth - 1); + } catch (e) { + return value; + } + } + return value; + } else if (typeof(value) === "object" && value !== null && !Array.isArray(value)) { + if (seen.has(value)) { + return value; + } + seen.add(value); + return Object.entries(value) + .reduce((acc, [ + key, + val, + ]) => Object.assign(acc, { + [key]: parse(val), + }), {}); + } else if (Array.isArray(value)) { + return value.map((item) => parse(item)); + } + return value; + }; + + return parse(input); +}; + +function parseArray(input, maxDepth = 100) { + if (typeof input === "string") { + const trimmed = input.trim(); + if (trimmed.startsWith("[") && trimmed.endsWith("]")) { + try { + const parsed = JSON.parse(trimmed); + if (Array.isArray(parsed)) { + return parsed.map((item) => parseArray(item, maxDepth - 1)); + } + } catch (e) { + throw new Error(`Invalid JSON array format: ${e.message}`); + } + } + return parseJson(input, maxDepth); + } + + if (Array.isArray(input)) { + return input.map((item) => parseArray(item, maxDepth)); + } + + return input; +} + +export default { + parseJson, + parseArray, +}; diff --git a/components/inmobile/inmobile.app.mjs b/components/inmobile/inmobile.app.mjs index dea1cf6133cf1..2d481ffde5223 100644 --- a/components/inmobile/inmobile.app.mjs +++ b/components/inmobile/inmobile.app.mjs @@ -1,11 +1,38 @@ +import { axios } from "@pipedream/platform"; + export default { type: "app", app: "inmobile", - propDefinitions: {}, methods: { - // this.$auth contains connected account data - authKeys() { - console.log(Object.keys(this.$auth)); + getUrl(path) { + return `https://api.inmobile.com/v4${path}`; + }, + getAuth() { + return { + username: "x", + password: this.$auth.api_key, + }; + }, + makeRequest({ + $ = this, path, ...args + }) { + return axios($, { + url: this.getUrl(path), + auth: this.getAuth(), + ...args, + }); + }, + post(args = {}) { + return this.makeRequest({ + method: "POST", + ...args, + }); + }, + sendSms(args = {}) { + return this.post({ + path: "/sms/outgoing", + ...args, + }); }, }, }; diff --git a/components/inmobile/package.json b/components/inmobile/package.json index 7197bea82766e..8b155ecedf45f 100644 --- a/components/inmobile/package.json +++ b/components/inmobile/package.json @@ -1,6 +1,6 @@ { "name": "@pipedream/inmobile", - "version": "0.0.1", + "version": "0.1.0", "description": "Pipedream InMobile Components", "main": "inmobile.app.mjs", "keywords": [ @@ -11,5 +11,8 @@ "author": "Pipedream (https://pipedream.com/)", "publishConfig": { "access": "public" + }, + "dependencies": { + "@pipedream/platform": "^3.1.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e803108c5fd3b..3e26f03cf6c99 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -104,7 +104,7 @@ importers: version: 4.0.0 ts-jest: specifier: ^29.1.1 - version: 29.2.5(@babel/core@8.0.0-alpha.13)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@8.0.0-alpha.13))(jest@29.7.0(@types/node@20.17.6)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.17.6)(typescript@5.6.3)))(typescript@5.6.3) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@20.17.6)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.17.6)(typescript@5.6.3)))(typescript@5.6.3) tsc-esm-fix: specifier: ^2.18.0 version: 2.20.27 @@ -7088,7 +7088,11 @@ importers: specifier: ^1.2.0 version: 1.6.6 - components/inmobile: {} + components/inmobile: + dependencies: + '@pipedream/platform': + specifier: ^3.1.0 + version: 3.1.0 components/inoreader: dependencies: @@ -16928,7 +16932,7 @@ importers: version: 3.1.7 ts-jest: specifier: ^29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@20.17.30)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.17.30)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@20.17.30)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.17.30)(typescript@5.7.2)))(typescript@5.7.2) tsup: specifier: ^8.3.6 version: 8.3.6(@microsoft/api-extractor@7.47.12(@types/node@20.17.30))(jiti@2.4.2)(postcss@8.5.6)(tsx@4.19.4)(typescript@5.7.2)(yaml@2.8.0) @@ -35752,7 +35756,7 @@ snapshots: '@babel/traverse': 7.25.9 '@babel/types': 7.26.0 convert-source-map: 2.0.0 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -36023,45 +36027,21 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@8.0.0-alpha.13)': - dependencies: - '@babel/core': 8.0.0-alpha.13 - '@babel/helper-plugin-utils': 7.25.9 - optional: true - '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-bigint@7.8.3(@babel/core@8.0.0-alpha.13)': - dependencies: - '@babel/core': 8.0.0-alpha.13 - '@babel/helper-plugin-utils': 7.25.9 - optional: true - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@8.0.0-alpha.13)': - dependencies: - '@babel/core': 8.0.0-alpha.13 - '@babel/helper-plugin-utils': 7.25.9 - optional: true - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@8.0.0-alpha.13)': - dependencies: - '@babel/core': 8.0.0-alpha.13 - '@babel/helper-plugin-utils': 7.25.9 - optional: true - '@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 @@ -36072,34 +36052,16 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@8.0.0-alpha.13)': - dependencies: - '@babel/core': 8.0.0-alpha.13 - '@babel/helper-plugin-utils': 7.25.9 - optional: true - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@8.0.0-alpha.13)': - dependencies: - '@babel/core': 8.0.0-alpha.13 - '@babel/helper-plugin-utils': 7.25.9 - optional: true - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@8.0.0-alpha.13)': - dependencies: - '@babel/core': 8.0.0-alpha.13 - '@babel/helper-plugin-utils': 7.25.9 - optional: true - '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 @@ -36110,89 +36072,41 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@8.0.0-alpha.13)': - dependencies: - '@babel/core': 8.0.0-alpha.13 - '@babel/helper-plugin-utils': 7.25.9 - optional: true - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@8.0.0-alpha.13)': - dependencies: - '@babel/core': 8.0.0-alpha.13 - '@babel/helper-plugin-utils': 7.25.9 - optional: true - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@8.0.0-alpha.13)': - dependencies: - '@babel/core': 8.0.0-alpha.13 - '@babel/helper-plugin-utils': 7.25.9 - optional: true - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@8.0.0-alpha.13)': - dependencies: - '@babel/core': 8.0.0-alpha.13 - '@babel/helper-plugin-utils': 7.25.9 - optional: true - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@8.0.0-alpha.13)': - dependencies: - '@babel/core': 8.0.0-alpha.13 - '@babel/helper-plugin-utils': 7.25.9 - optional: true - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@8.0.0-alpha.13)': - dependencies: - '@babel/core': 8.0.0-alpha.13 - '@babel/helper-plugin-utils': 7.25.9 - optional: true - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@8.0.0-alpha.13)': - dependencies: - '@babel/core': 8.0.0-alpha.13 - '@babel/helper-plugin-utils': 7.25.9 - optional: true - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@8.0.0-alpha.13)': - dependencies: - '@babel/core': 8.0.0-alpha.13 - '@babel/helper-plugin-utils': 7.25.9 - optional: true - '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 @@ -37255,7 +37169,7 @@ snapshots: '@eslint/eslintrc@3.2.0': dependencies: ajv: 6.12.6 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) espree: 10.3.0 globals: 14.0.0 ignore: 5.3.2 @@ -39761,8 +39675,6 @@ snapshots: '@putout/operator-filesystem': 5.0.0(putout@36.13.1(eslint@8.57.1)(typescript@5.6.3)) '@putout/operator-json': 2.2.0 putout: 36.13.1(eslint@8.57.1)(typescript@5.6.3) - transitivePeerDependencies: - - supports-color '@putout/operator-regexp@1.0.0(putout@36.13.1(eslint@8.57.1)(typescript@5.6.3))': dependencies: @@ -42323,7 +42235,7 @@ snapshots: '@typescript-eslint/types': 8.15.0 '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.6.3) '@typescript-eslint/visitor-keys': 8.15.0 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) eslint: 8.57.1 optionalDependencies: typescript: 5.6.3 @@ -43217,20 +43129,6 @@ snapshots: transitivePeerDependencies: - supports-color - babel-jest@29.7.0(@babel/core@8.0.0-alpha.13): - dependencies: - '@babel/core': 8.0.0-alpha.13 - '@jest/transform': 29.7.0 - '@types/babel__core': 7.20.5 - babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@8.0.0-alpha.13) - chalk: 4.1.2 - graceful-fs: 4.2.11 - slash: 3.0.0 - transitivePeerDependencies: - - supports-color - optional: true - babel-plugin-istanbul@6.1.1: dependencies: '@babel/helper-plugin-utils': 7.25.9 @@ -43297,39 +43195,12 @@ snapshots: '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.26.0) '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.26.0) - babel-preset-current-node-syntax@1.1.0(@babel/core@8.0.0-alpha.13): - dependencies: - '@babel/core': 8.0.0-alpha.13 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@8.0.0-alpha.13) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@8.0.0-alpha.13) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@8.0.0-alpha.13) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@8.0.0-alpha.13) - '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@8.0.0-alpha.13) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@8.0.0-alpha.13) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@8.0.0-alpha.13) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@8.0.0-alpha.13) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@8.0.0-alpha.13) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@8.0.0-alpha.13) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@8.0.0-alpha.13) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@8.0.0-alpha.13) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@8.0.0-alpha.13) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@8.0.0-alpha.13) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@8.0.0-alpha.13) - optional: true - babel-preset-jest@29.6.3(@babel/core@7.26.0): dependencies: '@babel/core': 7.26.0 babel-plugin-jest-hoist: 29.6.3 babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.0) - babel-preset-jest@29.6.3(@babel/core@8.0.0-alpha.13): - dependencies: - '@babel/core': 8.0.0-alpha.13 - babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.1.0(@babel/core@8.0.0-alpha.13) - optional: true - backoff@2.5.0: dependencies: precond: 0.2.3 @@ -45538,7 +45409,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -47399,7 +47270,7 @@ snapshots: https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -49980,7 +49851,7 @@ snapshots: dependencies: '@tediousjs/connection-string': 0.5.0 commander: 11.1.0 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) rfdc: 1.4.1 tarn: 3.0.2 tedious: 16.7.1 @@ -51729,7 +51600,7 @@ snapshots: ajv: 8.17.1 chalk: 5.3.0 ci-info: 4.1.0 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) deepmerge: 4.3.1 escalade: 3.2.0 fast-glob: 3.3.2 @@ -53865,7 +53736,7 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-jest@29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@20.17.30)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.17.30)(typescript@5.7.2)))(typescript@5.7.2): + ts-jest@29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@20.17.30)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.17.30)(typescript@5.7.2)))(typescript@5.7.2): dependencies: bs-logger: 0.2.6 ejs: 3.1.10 @@ -53883,8 +53754,9 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.26.0) + esbuild: 0.24.2 - ts-jest@29.2.5(@babel/core@8.0.0-alpha.13)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@8.0.0-alpha.13))(jest@29.7.0(@types/node@20.17.6)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.17.6)(typescript@5.6.3)))(typescript@5.6.3): + ts-jest@29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@20.17.6)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.17.6)(typescript@5.6.3)))(typescript@5.6.3): dependencies: bs-logger: 0.2.6 ejs: 3.1.10 @@ -53898,10 +53770,10 @@ snapshots: typescript: 5.6.3 yargs-parser: 21.1.1 optionalDependencies: - '@babel/core': 8.0.0-alpha.13 + '@babel/core': 7.26.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@8.0.0-alpha.13) + babel-jest: 29.7.0(@babel/core@7.26.0) ts-node@10.9.2(@types/node@20.17.30)(typescript@5.7.2): dependencies: @@ -54073,7 +53945,7 @@ snapshots: cac: 6.7.14 chokidar: 4.0.3 consola: 3.4.0 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) esbuild: 0.24.2 joycon: 3.1.1 picocolors: 1.1.1 @@ -54101,7 +53973,7 @@ snapshots: cac: 6.7.14 chokidar: 4.0.3 consola: 3.4.0 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) esbuild: 0.24.2 joycon: 3.1.1 picocolors: 1.1.1 @@ -54725,7 +54597,7 @@ snapshots: '@volar/typescript': 2.4.10 '@vue/language-core': 2.1.6(typescript@5.9.2) compare-versions: 6.1.1 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@5.5.0) kolorist: 1.8.0 local-pkg: 0.5.1 magic-string: 0.30.13