diff --git a/packages/ai-tools/package-lock.json b/packages/ai-tools/package-lock.json index 47379ebc..c199b641 100644 --- a/packages/ai-tools/package-lock.json +++ b/packages/ai-tools/package-lock.json @@ -617,6 +617,7 @@ }, "../../node_modules/.pnpm/tsup@8.3.5_postcss@8.5.1_typescript@5.7.3_yaml@2.7.0/node_modules/tsup": { "version": "8.3.5", + "extraneous": true, "license": "MIT", "dependencies": { "bundle-require": "^5.0.0", @@ -2053,12 +2054,11 @@ "license": "BSD", "dependencies": { "tslog": "^3.3.3", - "tsup": "^8.3.5", - "type-fest": "^4.34.1", + "type-fest": "^4.37.0", "zod": "^3.24.1" }, "devDependencies": { - "@repo/typescript-config": "workspace:*", + "@repo/typescript-config": "../typescript-config", "@types/node": "^22.12.0", "typescript": "^5.7.3" } @@ -2075,10 +2075,6 @@ "resolved": "../../node_modules/.pnpm/tslog@3.3.4/node_modules/tslog", "link": true }, - "../core/node_modules/tsup": { - "resolved": "../../node_modules/.pnpm/tsup@8.3.5_postcss@8.5.1_typescript@5.7.3_yaml@2.7.0/node_modules/tsup", - "link": true - }, "../core/node_modules/type-fest": { "resolved": "../../node_modules/.pnpm/type-fest@4.34.1/node_modules/type-fest", "link": true diff --git a/packages/cache/package-lock.json b/packages/cache/package-lock.json index a19bb9cf..a74dd0d5 100644 --- a/packages/cache/package-lock.json +++ b/packages/cache/package-lock.json @@ -1,33 +1,128 @@ { - "name": "@polymech/osr-cache", + "name": "@polymech/cache", "version": "0.4.8", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "@polymech/osr-cache", + "name": "@polymech/cache", "version": "0.4.8", "license": "BSD-3-Clause", "dependencies": { - "@polymech/core": "^0.2.6", - "@polymech/fs": "^0.13.41", - "@polymech/osr-cli-commons": "file:../osr-cli-commons", - "@polymech/osr-commons": "file:../osr-commons", + "@polymech/commons": "file:../commons", + "@polymech/core": "file:../core", + "@polymech/fs": "file:../fs", + "@polymech/log": "file:../log", "@types/node": "^22.10.2", - "cacache": "^18.0.3", + "cacache": "^19.0.1", "md5": "^2.3.0", + "p-map": "^7.0.3", + "ssri": "^10.0.1", "yargs": "^17.7.2" }, - "bin": { - "osr-cache": "main.js" - }, "engines": { "node": ">= 14.0.0" } }, + "../commons": { + "name": "@polymech/commons", + "version": "0.2.6", + "license": "BSD", + "dependencies": { + "@polymech/core": "file:../core", + "@polymech/fs": "file:../fs", + "@repo/typescript-config": "file:../typescript-config", + "@schemastore/package": "^0.0.10", + "env-var": "^7.5.0", + "glob": "^10.4.5", + "js-yaml": "^4.1.0", + "jsonpath-plus": "^10.3.0", + "normalize-url": "^8.0.1", + "p-map": "^7.0.3", + "p-throttle": "^4.1.1", + "tslog": "^3.3.3", + "tsup": "^2.0.3", + "yargs": "^17.7.2", + "zod": "^3.24.2", + "zod-to-json-schema": "^3.24.1", + "zod-to-ts": "^1.2.0" + }, + "devDependencies": { + "@types/node": "^22.12.0", + "typescript": "^5.7.3" + } + }, + "../core": { + "name": "@polymech/core", + "version": "0.2.6", + "license": "BSD", + "dependencies": { + "tslog": "^3.3.3", + "type-fest": "^4.37.0", + "zod": "^3.24.1" + }, + "devDependencies": { + "@repo/typescript-config": "../typescript-config", + "@types/node": "^22.12.0", + "typescript": "^5.7.3" + } + }, + "../fs": { + "name": "@polymech/fs", + "version": "0.13.41", + "license": "BSD-3-Clause", + "dependencies": { + "@polymech/core": "file:../core", + "@repo/typescript-config": "file:../typescript-config", + "denodeify": "^1.2.1", + "glob": "^10.4.1", + "mime": "^2.0.3", + "minimatch": "^10.0.1", + "mkdirp": "^3.0.1", + "q": "^1.4.1", + "rimraf": "^6.0.1", + "write-file-atomic": "^6.0.0", + "yargs": "^17.7.2" + }, + "devDependencies": { + "@types/denodeify": "^1.2.31", + "@types/mime": "^2.0.0", + "@types/node": "^22.10.2", + "fs-extra": "^4.0.2", + "globals": "^15.14.0", + "ts-node": "^10.9.1", + "typescript": "^5.7.2" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "../log": { + "name": "@polymech/log", + "version": "0.2.6", + "license": "BSD", + "dependencies": { + "@polymech/core": "file:../core", + "@repo/typescript-config": "file:../typescript-config", + "tslog": "^3.3.3", + "tsup": "^8.3.5", + "zod": "^3.24.1" + }, + "devDependencies": { + "@eslint/js": "^9.18.0", + "@types/node": "^22.10.9", + "eslint": "^8.57.1", + "eslint-plugin-import": "^2.31.0", + "eslint-plugin-regexp": "^2.7.0", + "ts-node": "^10.9.1", + "typescript": "^4.9.5", + "typescript-eslint": "^8.20.0" + } + }, "../osr-cli-commons": { "name": "@polymech/osr-cli-commons", "version": "0.5.7", + "extraneous": true, "license": "BSD-3-Clause", "dependencies": { "@polymech/core": "^0.2.6", @@ -68,6 +163,7 @@ "../osr-commons": { "name": "@polymech/osr-commons", "version": "0.5.2", + "extraneous": true, "license": "BSD-3-Clause", "dependencies": { "@polymech/core": "^0.2.6", @@ -183,15 +279,37 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@isaacs/fs-minipass/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/@npmcli/fs": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", - "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-4.0.0.tgz", + "integrity": "sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==", + "license": "ISC", "dependencies": { "semver": "^7.3.5" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@pkgjs/parseargs": { @@ -203,75 +321,20 @@ "node": ">=14" } }, - "node_modules/@polymech/core": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/@polymech/core/-/core-0.2.6.tgz", - "integrity": "sha512-DF2IUZu6cw8+iVnFv2BFvd+s/7DYfrfXh7o3Uhg0IjbZ/QOIXY21URarnMQoTl9NEwUKN8ZZIHJmOIulT8helg==", - "dependencies": { - "deepmerge": "^4.3.1", - "tslog": "^3.3.3" - } - }, - "node_modules/@polymech/fs": { - "version": "0.13.41", - "resolved": "https://registry.npmjs.org/@polymech/fs/-/fs-0.13.41.tgz", - "integrity": "sha512-anWgtIZnXKhZ0X3eWqrGVc4a3JiOlPZOUhT8knDS5r7cAlZNpdKv1qEaG50V5GkD2cKBm0IGSz7kJdmkGJheLQ==", - "license": "BSD-3-Clause", - "dependencies": { - "@polymech/core": "^0.2.6", - "denodeify": "^1.2.1", - "errno": "^0.1.4", - "glob": "^10.4.1", - "mime": "^2.0.3", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "progress-stream": "^1.2.0", - "q": "^1.4.1", - "rimraf": "^6.0.1", - "write-file-atomic": "^1.3.1", - "yargs": "^17.7.2" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/@polymech/fs/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@polymech/fs/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@polymech/fs/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/@polymech/osr-cli-commons": { - "resolved": "../osr-cli-commons", + "node_modules/@polymech/commons": { + "resolved": "../commons", "link": true }, - "node_modules/@polymech/osr-commons": { - "resolved": "../osr-commons", + "node_modules/@polymech/core": { + "resolved": "../core", + "link": true + }, + "node_modules/@polymech/fs": { + "resolved": "../fs", + "link": true + }, + "node_modules/@polymech/log": { + "resolved": "../log", "link": true }, "node_modules/@types/node": { @@ -283,18 +346,6 @@ "undici-types": "~6.20.0" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -317,18 +368,13 @@ "balanced-match": "^1.0.0" } }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, "node_modules/cacache": { - "version": "18.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.3.tgz", - "integrity": "sha512-qXCd4rh6I07cnDqh8V48/94Tc/WSfj+o3Gn6NZ0aZovS255bUx8O13uKxRFd2eWG0xgsco7+YItQNPaa5E85hg==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-19.0.1.tgz", + "integrity": "sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==", "license": "ISC", "dependencies": { - "@npmcli/fs": "^3.1.0", + "@npmcli/fs": "^4.0.0", "fs-minipass": "^3.0.0", "glob": "^10.2.2", "lru-cache": "^10.0.1", @@ -336,13 +382,13 @@ "minipass-collect": "^2.0.1", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" + "p-map": "^7.0.2", + "ssri": "^12.0.0", + "tar": "^7.4.3", + "unique-filename": "^4.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/cacache/node_modules/fs-minipass": { @@ -387,6 +433,18 @@ "node": ">=16 || 14 >=14.17" } }, + "node_modules/cacache/node_modules/ssri": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz", + "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==", + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, "node_modules/charenc": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", @@ -396,19 +454,12 @@ } }, "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "license": "BlueOak-1.0.0", "engines": { - "node": ">=10" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "engines": { - "node": ">=6" + "node": ">=18" } }, "node_modules/cliui": { @@ -425,16 +476,6 @@ "node": ">=12" } }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, "node_modules/crypt": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", @@ -443,19 +484,6 @@ "node": "*" } }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/denodeify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", - "integrity": "sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==" - }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -467,17 +495,6 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "license": "MIT" }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, "node_modules/escalade": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", @@ -567,17 +584,6 @@ "node": ">= 8" } }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -633,11 +639,6 @@ "node": ">=16 || 14 >=14.17" } }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -646,19 +647,6 @@ "node": ">=0.8.19" } }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, "node_modules/is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", @@ -673,11 +661,6 @@ "node": ">=8" } }, - "node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -700,15 +683,6 @@ "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/lru-cache": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.2.tgz", - "integrity": "sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==", - "license": "ISC", - "engines": { - "node": "20 || >=22" - } - }, "node_modules/md5": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", @@ -719,40 +693,6 @@ "is-buffer": "~1.1.6" } }, - "node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/minimatch": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", - "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/minimist": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/minipass": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", @@ -787,42 +727,64 @@ } }, "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.1.tgz", + "integrity": "sha512-umcy022ILvb5/3Djuu8LWeqUa8D68JaBzlttKeMWen48SjabqS3iY5w/vzeMzMUNhLDifyhbOwKDSznB1vvrwg==", + "license": "MIT", "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" + "minipass": "^7.0.4", + "rimraf": "^5.0.5" }, "engines": { - "node": ">= 8" + "node": ">= 18" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minizlib/node_modules/rimraf": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz", + "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==", + "license": "ISC", + "dependencies": { + "glob": "^10.3.7" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "license": "MIT", "bin": { - "mkdirp": "bin/cmd.js" + "mkdirp": "dist/cjs/src/bin.js" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==" - }, "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dependencies": { - "aggregate-error": "^3.0.0" - }, + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", + "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -865,29 +827,6 @@ "node": ">=16 || 14 >=14.17" } }, - "node_modules/progress-stream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/progress-stream/-/progress-stream-1.2.0.tgz", - "integrity": "sha512-MIBPjZz6oGNSw5rn2mSp+nP9FGoaVo6QsPyPVEaD4puilz5hZNa3kfnrlqRNYFsugslbU3An4mnkLLtZOaWvrA==", - "dependencies": { - "speedometer": "~0.1.2", - "through2": "~0.2.3" - } - }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==" - }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -896,92 +835,11 @@ "node": ">=0.10.0" } }, - "node_modules/rimraf": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz", - "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==", - "license": "ISC", - "dependencies": { - "glob": "^11.0.0", - "package-json-from-dist": "^1.0.0" - }, - "bin": { - "rimraf": "dist/esm/bin.mjs" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/glob": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.1.tgz", - "integrity": "sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==", - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^4.0.1", - "minimatch": "^10.0.0", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^2.0.0" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/jackspeak": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.2.tgz", - "integrity": "sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==", - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/rimraf/node_modules/path-scurry": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", - "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^11.0.0", - "minipass": "^7.1.2" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -989,51 +847,26 @@ "node": ">=10" } }, - "node_modules/slide": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha512-NwrtjCg+lZoqhFU8fOwl4ay2ei8PaqCBOUV3/ektPY9trO1yQ1oXEfmHAhKArUVUr/hOHvy5f6AdP17dCM0zMw==", - "engines": { - "node": "*" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/speedometer": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/speedometer/-/speedometer-0.1.4.tgz", - "integrity": "sha512-phdEoDlA6EUIVtzwq1UiNMXDUogczp204aYF/yfOhjNePWFfIpBJ1k5wLMuXQhEOOMjuTJEcc4vdZa+vuP+n/Q==" - }, "node_modules/ssri": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.0.tgz", - "integrity": "sha512-64ghGOpqW0k+jh7m5jndBGdVEoPikWwGQmBNN5ks6jyUSMymzHDTlnNHOvzp+6MmHOljr2MokUzvRksnTwG0Iw==", + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", + "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", + "license": "ISC", "dependencies": { - "minipass": "^3.1.1" + "minipass": "^7.0.3" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" + "node_modules/ssri/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } }, "node_modules/string-width": { "version": "4.2.3", @@ -1088,58 +921,38 @@ } }, "node_modules/tar": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", + "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", + "license": "ISC", "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" }, "engines": { - "node": ">=10" + "node": ">=18" } }, "node_modules/tar/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/tar/node_modules/yallist": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "license": "BlueOak-1.0.0", "engines": { - "node": ">=8" - } - }, - "node_modules/through2": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.2.3.tgz", - "integrity": "sha512-mLa8Bn2mZurjyomGKWRu3Bo2mvoQojFks9NvOK8H+k4kDJNkdEqG522KFZsEFBEl6rKkxTgFbE5+OPcgfvPEHA==", - "dependencies": { - "readable-stream": "~1.1.9", - "xtend": "~2.1.1" - } - }, - "node_modules/through2/node_modules/readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/tslog": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/tslog/-/tslog-3.3.4.tgz", - "integrity": "sha512-N0HHuHE0e/o75ALfkioFObknHR5dVchUad4F0XyFf3gXJYB++DewEzwGI/uIOM216E5a43ovnRNEeQIq9qgm4Q==", - "dependencies": { - "source-map-support": "^0.5.21" - }, - "engines": { - "node": ">=10" + "node": ">=18" } }, "node_modules/undici-types": { @@ -1149,25 +962,27 @@ "license": "MIT" }, "node_modules/unique-filename": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", - "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-4.0.0.tgz", + "integrity": "sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ==", + "license": "ISC", "dependencies": { - "unique-slug": "^4.0.0" + "unique-slug": "^5.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/unique-slug": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", - "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-5.0.0.tgz", + "integrity": "sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==", + "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/wrap-ansi": { @@ -1267,27 +1082,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT" }, - "node_modules/write-file-atomic": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", - "integrity": "sha512-SdrHoC/yVBPpV0Xq/mUZQIpW2sWXAShb/V4pomcJXh92RuaO+f3UTWItiR3Px+pLnV2PvC2/bfn5cwr5X6Vfxw==", - "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" - } - }, - "node_modules/xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", - "dependencies": { - "object-keys": "~0.4.0" - }, - "engines": { - "node": ">=0.4" - } - }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -1389,10 +1183,25 @@ } } }, + "@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "requires": { + "minipass": "^7.0.4" + }, + "dependencies": { + "minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==" + } + } + }, "@npmcli/fs": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", - "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-4.0.0.tgz", + "integrity": "sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==", "requires": { "semver": "^7.3.5" } @@ -1403,111 +1212,80 @@ "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "optional": true }, - "@polymech/core": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/@polymech/core/-/core-0.2.6.tgz", - "integrity": "sha512-DF2IUZu6cw8+iVnFv2BFvd+s/7DYfrfXh7o3Uhg0IjbZ/QOIXY21URarnMQoTl9NEwUKN8ZZIHJmOIulT8helg==", + "@polymech/commons": { + "version": "file:../commons", "requires": { - "deepmerge": "^4.3.1", - "tslog": "^3.3.3" + "@polymech/core": "file:../core", + "@polymech/fs": "file:../fs", + "@repo/typescript-config": "file:../typescript-config", + "@schemastore/package": "^0.0.10", + "@types/node": "^22.12.0", + "env-var": "^7.5.0", + "glob": "^10.4.5", + "js-yaml": "^4.1.0", + "jsonpath-plus": "^10.3.0", + "normalize-url": "^8.0.1", + "p-map": "^7.0.3", + "p-throttle": "^4.1.1", + "tslog": "^3.3.3", + "tsup": "^2.0.3", + "typescript": "^5.7.3", + "yargs": "^17.7.2", + "zod": "^3.24.2", + "zod-to-json-schema": "^3.24.1", + "zod-to-ts": "^1.2.0" + } + }, + "@polymech/core": { + "version": "file:../core", + "requires": { + "@repo/typescript-config": "../typescript-config", + "@types/node": "^22.12.0", + "tslog": "^3.3.3", + "type-fest": "^4.37.0", + "typescript": "^5.7.3", + "zod": "^3.24.1" } }, "@polymech/fs": { - "version": "0.13.41", - "resolved": "https://registry.npmjs.org/@polymech/fs/-/fs-0.13.41.tgz", - "integrity": "sha512-anWgtIZnXKhZ0X3eWqrGVc4a3JiOlPZOUhT8knDS5r7cAlZNpdKv1qEaG50V5GkD2cKBm0IGSz7kJdmkGJheLQ==", + "version": "file:../fs", "requires": { - "@polymech/core": "^0.2.6", + "@polymech/core": "file:../core", + "@repo/typescript-config": "file:../typescript-config", + "@types/denodeify": "^1.2.31", + "@types/mime": "^2.0.0", + "@types/node": "^22.10.2", "denodeify": "^1.2.1", - "errno": "^0.1.4", + "fs-extra": "^4.0.2", "glob": "^10.4.1", + "globals": "^15.14.0", "mime": "^2.0.3", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "progress-stream": "^1.2.0", + "minimatch": "^10.0.1", + "mkdirp": "^3.0.1", "q": "^1.4.1", "rimraf": "^6.0.1", - "write-file-atomic": "^1.3.1", + "ts-node": "^10.9.1", + "typescript": "^5.7.2", + "write-file-atomic": "^6.0.0", "yargs": "^17.7.2" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "requires": { - "minimist": "^1.2.6" - } - } } }, - "@polymech/osr-cli-commons": { - "version": "file:../osr-cli-commons", + "@polymech/log": { + "version": "file:../log", "requires": { - "@polymech/core": "^0.2.6", - "@polymech/fs": "^0.13.40", - "@polymech/osr-commons": "^0.4.6", - "@polymech/osr-log": "^0.1.2", - "@types/jest": "^29.5.14", - "@types/node": "^20.17.6", - "@types/yargs": "^17.0.33", - "ansi-regex": "^5.0.0", - "cryptr": "^6.0.3", - "env-var": "^7.1.1", - "fast-glob": "^3.2.11", - "glob": "^10.4.1", - "glob-base": "github:justin-caribou/glob-base", - "is-glob": "^4.0.3", - "jest": "^29.7.0", - "p-map": "^4.0.0", - "parse-glob": "^3.0.4", - "ts-jest": "^29.2.5", - "tslog": "^4.9.3", - "typescript": "^5.6.3", - "yaml": "^2.6.0", - "yargs": "^17.7.2", - "zod": "^3.23.8", - "zod-to-json-schema": "^3.23.5", - "zod-to-ts": "^1.2.0" - } - }, - "@polymech/osr-commons": { - "version": "file:../osr-commons", - "requires": { - "@polymech/core": "^0.2.6", - "@polymech/fs": "^0.13.41", - "@types/node": "^22.8.6", - "cryptr": "^6.0.3", - "env-var": "^7.1.1", - "fast-glob": "^3.3.2", - "filenamify": "^4.3.0", - "glob": "^11.0.0", - "is-glob": "^4.0.3", - "parse-glob": "^3.0.4", - "sanitize-filename": "^1.6.3", - "tslog": "^4.9.3", - "typescript": "^5.6.3", - "yargs": "^17.7.2", - "zod": "^3.24.1", - "zod-to-json-schema": "^3.23.5", - "zod-to-ts": "^1.2.0" + "@eslint/js": "^9.18.0", + "@polymech/core": "file:../core", + "@repo/typescript-config": "file:../typescript-config", + "@types/node": "^22.10.9", + "eslint": "^8.57.1", + "eslint-plugin-import": "^2.31.0", + "eslint-plugin-regexp": "^2.7.0", + "ts-node": "^10.9.1", + "tslog": "^3.3.3", + "tsup": "^8.3.5", + "typescript": "^4.9.5", + "typescript-eslint": "^8.20.0", + "zod": "^3.24.1" } }, "@types/node": { @@ -1518,15 +1296,6 @@ "undici-types": "~6.20.0" } }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -1545,17 +1314,12 @@ "balanced-match": "^1.0.0" } }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, "cacache": { - "version": "18.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.3.tgz", - "integrity": "sha512-qXCd4rh6I07cnDqh8V48/94Tc/WSfj+o3Gn6NZ0aZovS255bUx8O13uKxRFd2eWG0xgsco7+YItQNPaa5E85hg==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-19.0.1.tgz", + "integrity": "sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==", "requires": { - "@npmcli/fs": "^3.1.0", + "@npmcli/fs": "^4.0.0", "fs-minipass": "^3.0.0", "glob": "^10.2.2", "lru-cache": "^10.0.1", @@ -1563,10 +1327,10 @@ "minipass-collect": "^2.0.1", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" + "p-map": "^7.0.2", + "ssri": "^12.0.0", + "tar": "^7.4.3", + "unique-filename": "^4.0.0" }, "dependencies": { "fs-minipass": { @@ -1594,6 +1358,14 @@ "requires": { "minipass": "^7.0.3" } + }, + "ssri": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz", + "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==", + "requires": { + "minipass": "^7.0.3" + } } } }, @@ -1603,14 +1375,9 @@ "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==" }, "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==" }, "cliui": { "version": "8.0.1", @@ -1622,31 +1389,11 @@ "wrap-ansi": "^7.0.0" } }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, "crypt": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==" }, - "deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==" - }, - "denodeify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", - "integrity": "sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==" - }, "eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -1657,14 +1404,6 @@ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "requires": { - "prr": "~1.0.1" - } - }, "escalade": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", @@ -1722,14 +1461,6 @@ } } }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "requires": { - "minipass": "^3.0.0" - } - }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -1763,26 +1494,11 @@ } } }, - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", @@ -1793,11 +1509,6 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -1812,11 +1523,6 @@ "@pkgjs/parseargs": "^0.11.0" } }, - "lru-cache": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.2.tgz", - "integrity": "sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==" - }, "md5": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", @@ -1827,24 +1533,6 @@ "is-buffer": "~1.1.6" } }, - "mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==" - }, - "minimatch": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", - "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "minimist": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==" - }, "minipass": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", @@ -1870,31 +1558,38 @@ } }, "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.1.tgz", + "integrity": "sha512-umcy022ILvb5/3Djuu8LWeqUa8D68JaBzlttKeMWen48SjabqS3iY5w/vzeMzMUNhLDifyhbOwKDSznB1vvrwg==", "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" + "minipass": "^7.0.4", + "rimraf": "^5.0.5" + }, + "dependencies": { + "minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==" + }, + "rimraf": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz", + "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==", + "requires": { + "glob": "^10.3.7" + } + } } }, "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==" }, "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "requires": { - "aggregate-error": "^3.0.0" - } + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", + "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==" }, "package-json-from-dist": { "version": "1.0.0", @@ -1922,118 +1617,31 @@ } } }, - "progress-stream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/progress-stream/-/progress-stream-1.2.0.tgz", - "integrity": "sha512-MIBPjZz6oGNSw5rn2mSp+nP9FGoaVo6QsPyPVEaD4puilz5hZNa3kfnrlqRNYFsugslbU3An4mnkLLtZOaWvrA==", - "requires": { - "speedometer": "~0.1.2", - "through2": "~0.2.3" - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==" - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" }, - "rimraf": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz", - "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==", + "semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==" + }, + "ssri": { + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", + "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", "requires": { - "glob": "^11.0.0", - "package-json-from-dist": "^1.0.0" + "minipass": "^7.0.3" }, "dependencies": { - "glob": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.1.tgz", - "integrity": "sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==", - "requires": { - "foreground-child": "^3.1.0", - "jackspeak": "^4.0.1", - "minimatch": "^10.0.0", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^2.0.0" - } - }, - "jackspeak": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.2.tgz", - "integrity": "sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==", - "requires": { - "@isaacs/cliui": "^8.0.2" - } - }, "minipass": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==" - }, - "path-scurry": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", - "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", - "requires": { - "lru-cache": "^11.0.0", - "minipass": "^7.1.2" - } } } }, - "semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==" - }, - "slide": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha512-NwrtjCg+lZoqhFU8fOwl4ay2ei8PaqCBOUV3/ektPY9trO1yQ1oXEfmHAhKArUVUr/hOHvy5f6AdP17dCM0zMw==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "speedometer": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/speedometer/-/speedometer-0.1.4.tgz", - "integrity": "sha512-phdEoDlA6EUIVtzwq1UiNMXDUogczp204aYF/yfOhjNePWFfIpBJ1k5wLMuXQhEOOMjuTJEcc4vdZa+vuP+n/Q==" - }, - "ssri": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.0.tgz", - "integrity": "sha512-64ghGOpqW0k+jh7m5jndBGdVEoPikWwGQmBNN5ks6jyUSMymzHDTlnNHOvzp+6MmHOljr2MokUzvRksnTwG0Iw==", - "requires": { - "minipass": "^3.1.1" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" - }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -2071,72 +1679,47 @@ } }, "tar": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", + "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" }, "dependencies": { "minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==" + }, + "yallist": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==" + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==" } } }, - "through2": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.2.3.tgz", - "integrity": "sha512-mLa8Bn2mZurjyomGKWRu3Bo2mvoQojFks9NvOK8H+k4kDJNkdEqG522KFZsEFBEl6rKkxTgFbE5+OPcgfvPEHA==", - "requires": { - "readable-stream": "~1.1.9", - "xtend": "~2.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - } - } - }, - "tslog": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/tslog/-/tslog-3.3.4.tgz", - "integrity": "sha512-N0HHuHE0e/o75ALfkioFObknHR5dVchUad4F0XyFf3gXJYB++DewEzwGI/uIOM216E5a43ovnRNEeQIq9qgm4Q==", - "requires": { - "source-map-support": "^0.5.21" - } - }, "undici-types": { "version": "6.20.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==" }, "unique-filename": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", - "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-4.0.0.tgz", + "integrity": "sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ==", "requires": { - "unique-slug": "^4.0.0" + "unique-slug": "^5.0.0" } }, "unique-slug": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", - "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-5.0.0.tgz", + "integrity": "sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==", "requires": { "imurmurhash": "^0.1.4" } @@ -2207,24 +1790,6 @@ } } }, - "write-file-atomic": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", - "integrity": "sha512-SdrHoC/yVBPpV0Xq/mUZQIpW2sWXAShb/V4pomcJXh92RuaO+f3UTWItiR3Px+pLnV2PvC2/bfn5cwr5X6Vfxw==", - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" - } - }, - "xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", - "requires": { - "object-keys": "~0.4.0" - } - }, "y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", diff --git a/packages/cache/package.json b/packages/cache/package.json index 8e0f8402..092e45b0 100644 --- a/packages/cache/package.json +++ b/packages/cache/package.json @@ -18,10 +18,10 @@ "access": "public" }, "dependencies": { - "@polymech/commons": "link:..\\commons", - "@polymech/core": "link:..\\core", - "@polymech/fs": "link:..\\fs", - "@polymech/log": "link:..\\log", + "@polymech/commons": "file:../commons", + "@polymech/core": "file:../core", + "@polymech/fs": "file:../fs", + "@polymech/log": "file:../log", "@types/node": "^22.10.2", "cacache": "^19.0.1", "md5": "^2.3.0", diff --git a/packages/cad/dist/cad/sw-convert.d.ts b/packages/cad/dist/cad/sw-convert.d.ts index 69f111a2..b758c807 100644 --- a/packages/cad/dist/cad/sw-convert.d.ts +++ b/packages/cad/dist/cad/sw-convert.d.ts @@ -1,6 +1,6 @@ import { SolidworkOptions } from '../types.js'; export declare const convertFile: (src: any, target: any, view: string, onNode: (data: any) => void, options: SolidworkOptions, configuration: string) => Promise; -export declare function convertFiles(file: any, targets: string[], view: any, onNode: (data: any) => void, options: SolidworkOptions): Promise; +export declare function convertFiles(file: any, targets: string[], view: any, onNode: (data: any) => void, options: SolidworkOptions): Promise; export declare const report: (data: any, dst: string) => any; export declare const targets: (f: string, options: SolidworkOptions) => any[]; -export declare function convert(options: SolidworkOptions): Promise<(void | any[])[]>; +export declare function convert(options: SolidworkOptions): Promise; diff --git a/packages/cad/dist/cad/sw-pack.d.ts b/packages/cad/dist/cad/sw-pack.d.ts index be2f38e9..ba83c293 100644 --- a/packages/cad/dist/cad/sw-pack.d.ts +++ b/packages/cad/dist/cad/sw-pack.d.ts @@ -1,3 +1,3 @@ import { SolidworkOptions } from '../types.js'; export declare function packFile(file: any, onNode: (data: any) => void, options: SolidworkOptions): Promise; -export declare function pack(options: SolidworkOptions): Promise; +export declare function pack(options: SolidworkOptions): Promise; diff --git a/packages/cad/dist/cad/sw-util.d.ts b/packages/cad/dist/cad/sw-util.d.ts index fccf9367..6c153547 100644 --- a/packages/cad/dist/cad/sw-util.d.ts +++ b/packages/cad/dist/cad/sw-util.d.ts @@ -1,10 +1,10 @@ -export declare const dirname: () => string; +export declare const dirname: () => any; export declare const swProcMessage: (log: string) => { logLevel: string; message: string; } | null; -export declare const fileAsBuffer: (path: string) => Buffer; -export declare const getSWBin: (argv: string) => string; +export declare const fileAsBuffer: (path: string) => any; +export declare const getSWBin: (argv: string) => any; export declare function closeAppByName(appName: string): void; export declare function removeEmptyValues(obj: any): any; export declare const equalFiles: (pathA: any, pathB: any) => boolean; diff --git a/packages/cad/dist/commands/sw.d.ts b/packages/cad/dist/commands/sw.d.ts index 3f1b5c02..aa43f884 100644 --- a/packages/cad/dist/commands/sw.d.ts +++ b/packages/cad/dist/commands/sw.d.ts @@ -1,4 +1,3 @@ import CLI from 'yargs'; export declare const options: (yargs: CLI.Argv) => any; -export declare const builder: (yargs: CLI.Argv) => any; export declare const handler: (argv: any) => any; diff --git a/packages/cad/dist/commands/sw.js b/packages/cad/dist/commands/sw.js index 0269a32c..796c2c9a 100644 --- a/packages/cad/dist/commands/sw.js +++ b/packages/cad/dist/commands/sw.js @@ -2,18 +2,6 @@ import { logger } from '../index.js'; import { defaultOptions, sanitize } from '../sw_argv.js'; import { convert } from '../cad/sw-convert.js'; export const options = (yargs) => defaultOptions(yargs); -/* -export const register = (cli: CLI.Argv) => { - return cli.command('sw', 'Convert CAD files via Solidworks Interop API', options, async (argv: CLI.Arguments) => { - if (argv.help) { return } - const options = sanitize(argv) as SolidworkOptions - logger.setSettings({ minLevel: options.logLevel as any }) - logger.info("options " + argv.dst, options) - return convert(options) as any - }) -} -*/ -export const builder = options; export const handler = (argv) => { if (argv.help) { return; @@ -23,4 +11,4 @@ export const handler = (argv) => { logger.info("options " + argv.dst, options); return convert(options); }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvc3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUVwQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFFOUMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUE7QUFFakU7Ozs7Ozs7Ozs7RUFVRTtBQUNGLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUE7QUFFOUIsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUU7SUFDNUIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFBQyxPQUFNO0lBQUMsQ0FBQztJQUNyQixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFxQixDQUFBO0lBQ2xELE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQWUsRUFBRSxDQUFDLENBQUE7SUFDekQsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUMzQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQVEsQ0FBQTtBQUN0QyxDQUFDLENBQUMifQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvc3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUVwQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDOUMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDakUsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUU7SUFDNUIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFBQyxPQUFNO0lBQUMsQ0FBQztJQUN6QixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFxQixDQUFBO0lBQ2xELE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQWUsRUFBRSxDQUFDLENBQUE7SUFDekQsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUMzQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQVEsQ0FBQTtBQUNsQyxDQUFDLENBQUEifQ== \ No newline at end of file diff --git a/packages/cad/dist/index.d.ts b/packages/cad/dist/index.d.ts index 5add8b54..f5fedd89 100644 --- a/packages/cad/dist/index.d.ts +++ b/packages/cad/dist/index.d.ts @@ -4,9 +4,8 @@ export * from './cad/sw-lib.js'; export * from './_cli.js'; export * from './sw_argv.js'; export * from './lib/geometry/dxf.js'; -import { Logger } from "tslog"; -export declare function createLogger(name: string, options?: any): Logger; -export declare const defaultLogger: Logger; +export declare function createLogger(name: string, options?: any): any; +export declare const defaultLogger: any; export { MODULE_NAME } from './constants.js'; -export declare const logger: Logger; -export declare const substitute: (path: string, alt?: boolean, vars?: Record, keep?: boolean) => any; +export declare const logger: any; +export declare const substitute: any; diff --git a/packages/cad/dist/print/slic3r.d.ts b/packages/cad/dist/print/slic3r.d.ts index e0e9ab08..1a599e0d 100644 --- a/packages/cad/dist/print/slic3r.d.ts +++ b/packages/cad/dist/print/slic3r.d.ts @@ -1,9 +1,9 @@ import { SlicerOptions } from '../types.js'; -export declare const fileAsBuffer: (path: string) => Buffer; -export declare const getSlicrDir: (options: SlicerOptions) => string; -export declare const getBin: (options: SlicerOptions) => string; +export declare const fileAsBuffer: (path: string) => any; +export declare const getSlicrDir: (options: SlicerOptions) => any; +export declare const getBin: (options: SlicerOptions) => any; export declare const convertFile: (file: any, target: any, onNode: (data: any) => void, options: SlicerOptions) => Promise; -export declare function convertFiles(file: any, targets: string[], onNode: (data: any) => void, options: SlicerOptions): Promise; +export declare function convertFiles(file: any, targets: string[], onNode: (data: any) => void, options: SlicerOptions): Promise; export declare const report: (data: any, dst: string) => any; export declare const targets: (f: string, options: SlicerOptions) => any[]; export declare function convert(options: SlicerOptions): Promise; diff --git a/packages/cad/dist/report/csv.d.ts b/packages/cad/dist/report/csv.d.ts index 96f91812..327837b8 100644 --- a/packages/cad/dist/report/csv.d.ts +++ b/packages/cad/dist/report/csv.d.ts @@ -1 +1 @@ -export declare const reportCSV: (data: any) => string; +export declare const reportCSV: (data: any) => any; diff --git a/packages/commons/dist/component.d.ts b/packages/commons/dist/component.d.ts index 2ab7c5d3..21d9fd07 100644 --- a/packages/commons/dist/component.d.ts +++ b/packages/commons/dist/component.d.ts @@ -937,2755 +937,7 @@ export declare const ProductionSchema: z.ZodObject<{ url?: string; }[]; }>; -export declare const ComponentConfigSchema: z.ZodObject; - code: z.ZodString; - price: z.ZodOptional; - cscartCats: z.ZodOptional>; - cscartId: z.ZodOptional; - vendorId: z.ZodOptional; - shipping: z.ZodDefault; - transit: z.ZodOptional; - handling: z.ZodOptional; - }, "strip", z.ZodTypeAny, { - price?: number; - transit?: number; - handling?: number; - }, { - price?: number; - transit?: number; - handling?: number; - }>>>; - manufacturing: z.ZodObject<{ - lead_time: z.ZodOptional; - }, "strip", z.ZodTypeAny, { - lead_time?: number; - }, { - lead_time?: number; - }>; - replaced_by: z.ZodOptional; - alternatives: z.ZodOptional, "many">>; - used_by: z.ZodOptional, "many">>; - image: z.ZodOptional; - url: z.ZodString; - thumb: z.ZodOptional; - responsive: z.ZodOptional; - meta: z.ZodOptional; - keywords: z.ZodOptional>; - description: z.ZodOptional; - alt: z.ZodOptional; - title: z.ZodOptional; - height: z.ZodOptional; - width: z.ZodOptional; - order: z.ZodOptional; - exif: z.ZodOptional>; - }, "strip", z.ZodTypeAny, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }>>; - name: z.ZodString; - flags: z.ZodOptional; - edrawings: z.ZodOptional; - cad: z.ZodDefault; - model: z.ZodOptional; - html: z.ZodOptional; - }, "strip", z.ZodTypeAny, { - file?: string; - name?: string; - configuration?: string; - step?: string; - model?: string; - html?: string; - }, { - file?: string; - name?: string; - configuration?: string; - step?: string; - model?: string; - html?: string; - }>, "many">>; - showDimensions: z.ZodOptional; - showParts: z.ZodOptional; - slug: z.ZodString; - keywords: z.ZodOptional; - meta_keywords: z.ZodOptional; - version: z.ZodOptional; - versions: z.ZodOptional; - up: z.ZodOptional; - down: z.ZodOptional; - family: z.ZodOptional; - sheet: z.ZodOptional; - }, "strip", z.ZodTypeAny, { - version?: string; - up?: string; - down?: string; - family?: string; - sheet?: string; - }, { - version?: string; - up?: string; - down?: string; - family?: string; - sheet?: string; - }>>; - status: z.ZodOptional; - authors: z.ZodOptional, "many">>; - assets: z.ZodDefault; - url: z.ZodString; - thumb: z.ZodOptional; - responsive: z.ZodOptional; - meta: z.ZodOptional; - keywords: z.ZodOptional>; - description: z.ZodOptional; - alt: z.ZodOptional; - title: z.ZodOptional; - height: z.ZodOptional; - width: z.ZodOptional; - order: z.ZodOptional; - exif: z.ZodOptional>; - }, "strip", z.ZodTypeAny, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }>, "many">>; - renderings: z.ZodOptional; - url: z.ZodString; - thumb: z.ZodOptional; - responsive: z.ZodOptional; - meta: z.ZodOptional; - keywords: z.ZodOptional>; - description: z.ZodOptional; - alt: z.ZodOptional; - title: z.ZodOptional; - height: z.ZodOptional; - width: z.ZodOptional; - order: z.ZodOptional; - exif: z.ZodOptional>; - }, "strip", z.ZodTypeAny, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }>, "many">>; - components: z.ZodOptional; - url: z.ZodString; - thumb: z.ZodOptional; - responsive: z.ZodOptional; - meta: z.ZodOptional; - keywords: z.ZodOptional>; - description: z.ZodOptional; - alt: z.ZodOptional; - title: z.ZodOptional; - height: z.ZodOptional; - width: z.ZodOptional; - order: z.ZodOptional; - exif: z.ZodOptional>; - }, "strip", z.ZodTypeAny, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }>, "many">>; - configurations: z.ZodOptional; - url: z.ZodString; - thumb: z.ZodOptional; - responsive: z.ZodOptional; - meta: z.ZodOptional; - keywords: z.ZodOptional>; - description: z.ZodOptional; - alt: z.ZodOptional; - title: z.ZodOptional; - height: z.ZodOptional; - width: z.ZodOptional; - order: z.ZodOptional; - exif: z.ZodOptional>; - }, "strip", z.ZodTypeAny, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }>, "many">>; - showcase: z.ZodOptional; - url: z.ZodString; - thumb: z.ZodOptional; - responsive: z.ZodOptional; - meta: z.ZodOptional; - keywords: z.ZodOptional>; - description: z.ZodOptional; - alt: z.ZodOptional; - title: z.ZodOptional; - height: z.ZodOptional; - width: z.ZodOptional; - order: z.ZodOptional; - exif: z.ZodOptional>; - }, "strip", z.ZodTypeAny, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }>, "many">>; - samples: z.ZodOptional; - url: z.ZodString; - thumb: z.ZodOptional; - responsive: z.ZodOptional; - meta: z.ZodOptional; - keywords: z.ZodOptional>; - description: z.ZodOptional; - alt: z.ZodOptional; - title: z.ZodOptional; - height: z.ZodOptional; - width: z.ZodOptional; - order: z.ZodOptional; - exif: z.ZodOptional>; - }, "strip", z.ZodTypeAny, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }>, "many">>; - }, "strip", z.ZodTypeAny, { - gallery?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - renderings?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - components?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - configurations?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - showcase?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - samples?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - }, { - gallery?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - renderings?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - components?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - configurations?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - showcase?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - samples?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - }>>; - resources: z.ZodDefault, "many">>; - tests: z.ZodDefault, "many">>; - download: z.ZodOptional; - gallery: z.ZodDefault; - }, "strip", z.ZodTypeAny, { - glob?: string[]; - }, { - glob?: string[]; - }>>>>; - /** - * @deprecated - */ - Preview3d: z.ZodOptional; - howto_categories: z.ZodOptional]>>; - steps: z.ZodOptional; - sourceLanguage: z.ZodOptional; - category: z.ZodString; - product_dimensions: z.ZodOptional; - production: z.ZodOptional, "many">; - }, "strip", z.ZodTypeAny, { - "fusion-folder"?: string; - "nc-folder"?: string; - cam?: { - name?: string; - url?: string; - }[]; - }, { - "fusion-folder"?: string; - "nc-folder"?: string; - cam?: { - name?: string; - url?: string; - }[]; - }>>; - score: z.ZodOptional; -}, { - body: z.ZodOptional; - features: z.ZodOptional; - highlights: z.ZodOptional; - specs: z.ZodOptional; - license: z.ZodOptional; - resources: z.ZodOptional; - readme: z.ZodOptional; - shared: z.ZodOptional; -}>, "passthrough", z.ZodTypeAny, z.objectOutputType; - code: z.ZodString; - price: z.ZodOptional; - cscartCats: z.ZodOptional>; - cscartId: z.ZodOptional; - vendorId: z.ZodOptional; - shipping: z.ZodDefault; - transit: z.ZodOptional; - handling: z.ZodOptional; - }, "strip", z.ZodTypeAny, { - price?: number; - transit?: number; - handling?: number; - }, { - price?: number; - transit?: number; - handling?: number; - }>>>; - manufacturing: z.ZodObject<{ - lead_time: z.ZodOptional; - }, "strip", z.ZodTypeAny, { - lead_time?: number; - }, { - lead_time?: number; - }>; - replaced_by: z.ZodOptional; - alternatives: z.ZodOptional, "many">>; - used_by: z.ZodOptional, "many">>; - image: z.ZodOptional; - url: z.ZodString; - thumb: z.ZodOptional; - responsive: z.ZodOptional; - meta: z.ZodOptional; - keywords: z.ZodOptional>; - description: z.ZodOptional; - alt: z.ZodOptional; - title: z.ZodOptional; - height: z.ZodOptional; - width: z.ZodOptional; - order: z.ZodOptional; - exif: z.ZodOptional>; - }, "strip", z.ZodTypeAny, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }>>; - name: z.ZodString; - flags: z.ZodOptional; - edrawings: z.ZodOptional; - cad: z.ZodDefault; - model: z.ZodOptional; - html: z.ZodOptional; - }, "strip", z.ZodTypeAny, { - file?: string; - name?: string; - configuration?: string; - step?: string; - model?: string; - html?: string; - }, { - file?: string; - name?: string; - configuration?: string; - step?: string; - model?: string; - html?: string; - }>, "many">>; - showDimensions: z.ZodOptional; - showParts: z.ZodOptional; - slug: z.ZodString; - keywords: z.ZodOptional; - meta_keywords: z.ZodOptional; - version: z.ZodOptional; - versions: z.ZodOptional; - up: z.ZodOptional; - down: z.ZodOptional; - family: z.ZodOptional; - sheet: z.ZodOptional; - }, "strip", z.ZodTypeAny, { - version?: string; - up?: string; - down?: string; - family?: string; - sheet?: string; - }, { - version?: string; - up?: string; - down?: string; - family?: string; - sheet?: string; - }>>; - status: z.ZodOptional; - authors: z.ZodOptional, "many">>; - assets: z.ZodDefault; - url: z.ZodString; - thumb: z.ZodOptional; - responsive: z.ZodOptional; - meta: z.ZodOptional; - keywords: z.ZodOptional>; - description: z.ZodOptional; - alt: z.ZodOptional; - title: z.ZodOptional; - height: z.ZodOptional; - width: z.ZodOptional; - order: z.ZodOptional; - exif: z.ZodOptional>; - }, "strip", z.ZodTypeAny, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }>, "many">>; - renderings: z.ZodOptional; - url: z.ZodString; - thumb: z.ZodOptional; - responsive: z.ZodOptional; - meta: z.ZodOptional; - keywords: z.ZodOptional>; - description: z.ZodOptional; - alt: z.ZodOptional; - title: z.ZodOptional; - height: z.ZodOptional; - width: z.ZodOptional; - order: z.ZodOptional; - exif: z.ZodOptional>; - }, "strip", z.ZodTypeAny, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }>, "many">>; - components: z.ZodOptional; - url: z.ZodString; - thumb: z.ZodOptional; - responsive: z.ZodOptional; - meta: z.ZodOptional; - keywords: z.ZodOptional>; - description: z.ZodOptional; - alt: z.ZodOptional; - title: z.ZodOptional; - height: z.ZodOptional; - width: z.ZodOptional; - order: z.ZodOptional; - exif: z.ZodOptional>; - }, "strip", z.ZodTypeAny, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }>, "many">>; - configurations: z.ZodOptional; - url: z.ZodString; - thumb: z.ZodOptional; - responsive: z.ZodOptional; - meta: z.ZodOptional; - keywords: z.ZodOptional>; - description: z.ZodOptional; - alt: z.ZodOptional; - title: z.ZodOptional; - height: z.ZodOptional; - width: z.ZodOptional; - order: z.ZodOptional; - exif: z.ZodOptional>; - }, "strip", z.ZodTypeAny, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }>, "many">>; - showcase: z.ZodOptional; - url: z.ZodString; - thumb: z.ZodOptional; - responsive: z.ZodOptional; - meta: z.ZodOptional; - keywords: z.ZodOptional>; - description: z.ZodOptional; - alt: z.ZodOptional; - title: z.ZodOptional; - height: z.ZodOptional; - width: z.ZodOptional; - order: z.ZodOptional; - exif: z.ZodOptional>; - }, "strip", z.ZodTypeAny, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }>, "many">>; - samples: z.ZodOptional; - url: z.ZodString; - thumb: z.ZodOptional; - responsive: z.ZodOptional; - meta: z.ZodOptional; - keywords: z.ZodOptional>; - description: z.ZodOptional; - alt: z.ZodOptional; - title: z.ZodOptional; - height: z.ZodOptional; - width: z.ZodOptional; - order: z.ZodOptional; - exif: z.ZodOptional>; - }, "strip", z.ZodTypeAny, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }>, "many">>; - }, "strip", z.ZodTypeAny, { - gallery?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - renderings?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - components?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - configurations?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - showcase?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - samples?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - }, { - gallery?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - renderings?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - components?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - configurations?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - showcase?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - samples?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - }>>; - resources: z.ZodDefault, "many">>; - tests: z.ZodDefault, "many">>; - download: z.ZodOptional; - gallery: z.ZodDefault; - }, "strip", z.ZodTypeAny, { - glob?: string[]; - }, { - glob?: string[]; - }>>>>; - /** - * @deprecated - */ - Preview3d: z.ZodOptional; - howto_categories: z.ZodOptional]>>; - steps: z.ZodOptional; - sourceLanguage: z.ZodOptional; - category: z.ZodString; - product_dimensions: z.ZodOptional; - production: z.ZodOptional, "many">; - }, "strip", z.ZodTypeAny, { - "fusion-folder"?: string; - "nc-folder"?: string; - cam?: { - name?: string; - url?: string; - }[]; - }, { - "fusion-folder"?: string; - "nc-folder"?: string; - cam?: { - name?: string; - url?: string; - }[]; - }>>; - score: z.ZodOptional; -}, { - body: z.ZodOptional; - features: z.ZodOptional; - highlights: z.ZodOptional; - specs: z.ZodOptional; - license: z.ZodOptional; - resources: z.ZodOptional; - readme: z.ZodOptional; - shared: z.ZodOptional; -}>, z.ZodTypeAny, "passthrough">, z.objectInputType; - code: z.ZodString; - price: z.ZodOptional; - cscartCats: z.ZodOptional>; - cscartId: z.ZodOptional; - vendorId: z.ZodOptional; - shipping: z.ZodDefault; - transit: z.ZodOptional; - handling: z.ZodOptional; - }, "strip", z.ZodTypeAny, { - price?: number; - transit?: number; - handling?: number; - }, { - price?: number; - transit?: number; - handling?: number; - }>>>; - manufacturing: z.ZodObject<{ - lead_time: z.ZodOptional; - }, "strip", z.ZodTypeAny, { - lead_time?: number; - }, { - lead_time?: number; - }>; - replaced_by: z.ZodOptional; - alternatives: z.ZodOptional, "many">>; - used_by: z.ZodOptional, "many">>; - image: z.ZodOptional; - url: z.ZodString; - thumb: z.ZodOptional; - responsive: z.ZodOptional; - meta: z.ZodOptional; - keywords: z.ZodOptional>; - description: z.ZodOptional; - alt: z.ZodOptional; - title: z.ZodOptional; - height: z.ZodOptional; - width: z.ZodOptional; - order: z.ZodOptional; - exif: z.ZodOptional>; - }, "strip", z.ZodTypeAny, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }>>; - name: z.ZodString; - flags: z.ZodOptional; - edrawings: z.ZodOptional; - cad: z.ZodDefault; - model: z.ZodOptional; - html: z.ZodOptional; - }, "strip", z.ZodTypeAny, { - file?: string; - name?: string; - configuration?: string; - step?: string; - model?: string; - html?: string; - }, { - file?: string; - name?: string; - configuration?: string; - step?: string; - model?: string; - html?: string; - }>, "many">>; - showDimensions: z.ZodOptional; - showParts: z.ZodOptional; - slug: z.ZodString; - keywords: z.ZodOptional; - meta_keywords: z.ZodOptional; - version: z.ZodOptional; - versions: z.ZodOptional; - up: z.ZodOptional; - down: z.ZodOptional; - family: z.ZodOptional; - sheet: z.ZodOptional; - }, "strip", z.ZodTypeAny, { - version?: string; - up?: string; - down?: string; - family?: string; - sheet?: string; - }, { - version?: string; - up?: string; - down?: string; - family?: string; - sheet?: string; - }>>; - status: z.ZodOptional; - authors: z.ZodOptional, "many">>; - assets: z.ZodDefault; - url: z.ZodString; - thumb: z.ZodOptional; - responsive: z.ZodOptional; - meta: z.ZodOptional; - keywords: z.ZodOptional>; - description: z.ZodOptional; - alt: z.ZodOptional; - title: z.ZodOptional; - height: z.ZodOptional; - width: z.ZodOptional; - order: z.ZodOptional; - exif: z.ZodOptional>; - }, "strip", z.ZodTypeAny, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }>, "many">>; - renderings: z.ZodOptional; - url: z.ZodString; - thumb: z.ZodOptional; - responsive: z.ZodOptional; - meta: z.ZodOptional; - keywords: z.ZodOptional>; - description: z.ZodOptional; - alt: z.ZodOptional; - title: z.ZodOptional; - height: z.ZodOptional; - width: z.ZodOptional; - order: z.ZodOptional; - exif: z.ZodOptional>; - }, "strip", z.ZodTypeAny, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }>, "many">>; - components: z.ZodOptional; - url: z.ZodString; - thumb: z.ZodOptional; - responsive: z.ZodOptional; - meta: z.ZodOptional; - keywords: z.ZodOptional>; - description: z.ZodOptional; - alt: z.ZodOptional; - title: z.ZodOptional; - height: z.ZodOptional; - width: z.ZodOptional; - order: z.ZodOptional; - exif: z.ZodOptional>; - }, "strip", z.ZodTypeAny, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }>, "many">>; - configurations: z.ZodOptional; - url: z.ZodString; - thumb: z.ZodOptional; - responsive: z.ZodOptional; - meta: z.ZodOptional; - keywords: z.ZodOptional>; - description: z.ZodOptional; - alt: z.ZodOptional; - title: z.ZodOptional; - height: z.ZodOptional; - width: z.ZodOptional; - order: z.ZodOptional; - exif: z.ZodOptional>; - }, "strip", z.ZodTypeAny, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }>, "many">>; - showcase: z.ZodOptional; - url: z.ZodString; - thumb: z.ZodOptional; - responsive: z.ZodOptional; - meta: z.ZodOptional; - keywords: z.ZodOptional>; - description: z.ZodOptional; - alt: z.ZodOptional; - title: z.ZodOptional; - height: z.ZodOptional; - width: z.ZodOptional; - order: z.ZodOptional; - exif: z.ZodOptional>; - }, "strip", z.ZodTypeAny, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }>, "many">>; - samples: z.ZodOptional; - url: z.ZodString; - thumb: z.ZodOptional; - responsive: z.ZodOptional; - meta: z.ZodOptional; - keywords: z.ZodOptional>; - description: z.ZodOptional; - alt: z.ZodOptional; - title: z.ZodOptional; - height: z.ZodOptional; - width: z.ZodOptional; - order: z.ZodOptional; - exif: z.ZodOptional>; - }, "strip", z.ZodTypeAny, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }, { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }>, "many">>; - }, "strip", z.ZodTypeAny, { - gallery?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - renderings?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - components?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - configurations?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - showcase?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - samples?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - }, { - gallery?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - renderings?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - components?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - configurations?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - showcase?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - samples?: { - exif?: { - file?: any; - jfif?: any; - exif?: any; - gps?: any; - }; - width?: number; - height?: number; - name?: string; - url?: string; - thumb?: string; - responsive?: string; - meta?: any; - keywords?: string[]; - description?: string; - alt?: string; - title?: string; - order?: number; - }[]; - }>>; - resources: z.ZodDefault, "many">>; - tests: z.ZodDefault, "many">>; - download: z.ZodOptional; - gallery: z.ZodDefault; - }, "strip", z.ZodTypeAny, { - glob?: string[]; - }, { - glob?: string[]; - }>>>>; - /** - * @deprecated - */ - Preview3d: z.ZodOptional; - howto_categories: z.ZodOptional]>>; - steps: z.ZodOptional; - sourceLanguage: z.ZodOptional; - category: z.ZodString; - product_dimensions: z.ZodOptional; - production: z.ZodOptional, "many">; - }, "strip", z.ZodTypeAny, { - "fusion-folder"?: string; - "nc-folder"?: string; - cam?: { - name?: string; - url?: string; - }[]; - }, { - "fusion-folder"?: string; - "nc-folder"?: string; - cam?: { - name?: string; - url?: string; - }[]; - }>>; - score: z.ZodOptional; -}, { - body: z.ZodOptional; - features: z.ZodOptional; - highlights: z.ZodOptional; - specs: z.ZodOptional; - license: z.ZodOptional; - resources: z.ZodOptional; - readme: z.ZodOptional; - shared: z.ZodOptional; -}>, z.ZodTypeAny, "passthrough">>; +export declare const ComponentConfigSchema: any; export type IComponentConfig = z.infer; export type ICADNodeSchema = z.infer; export interface IComponentNode { diff --git a/packages/commons/dist/component.js b/packages/commons/dist/component.js index be21e40d..2a3b6a5e 100644 --- a/packages/commons/dist/component.js +++ b/packages/commons/dist/component.js @@ -155,21 +155,21 @@ export const ComponentConfigSchema = z.object({ transit: 12, handling: 2 }), - manufacturing: ManufacturingSchema, - //internal // references replaced_by: z.string().optional(), alternatives: z.array(ResourceSchema).optional(), used_by: z.array(ResourceSchema).optional(), image: AssetImageSchema.optional(), name: z.string(), - flags: z.number().optional(), // cad edrawings: z.string().optional(), cad: z.array(CADMetaSchema).default([]), + manufacturing: ManufacturingSchema, // settings showDimensions: z.boolean().optional(), showParts: z.boolean().optional(), + Preview3d: z.boolean().optional(), + flags: z.number().optional().default(0), // meta slug: z.string(), keywords: z.string().optional(), @@ -191,30 +191,10 @@ export const ComponentConfigSchema = z.object({ tests: z.array(ResourceSchema).default([]), download: z.boolean().optional(), // galleries - gallery: GalleryConfigsSchema.default({}).default({ - renderings: { - glob: [IMAGES_GLOB] - }, - gallery: { - glob: [IMAGES_GLOB] - }, - components: { - glob: [IMAGES_GLOB] - }, - configurations: { - glob: [IMAGES_GLOB] - }, - showcase: { - glob: [IMAGES_GLOB] - }, - samples: { - glob: [IMAGES_GLOB] - } - }), - /** - * @deprecated - */ - Preview3d: z.boolean().optional(), + gallery: GalleryConfigsSchema.default({}).default(Object.fromEntries(["renderings", "gallery", "components", "configurations", "showcase", "samples"].map(key => [key, { glob: [IMAGES_GLOB] }]))), + // nesting + components: z.array(z.lazy(() => ComponentConfigSchema)).optional().default([]), + // @deprecated howto_categories: z.union([z.string(), z.array(z.string())]).optional(), steps: z.any().optional(), sourceLanguage: z.string().optional(), @@ -223,4 +203,4 @@ export const ComponentConfigSchema = z.object({ production: ProductionSchema.optional(), score: z.number().optional() }).merge(ContentSchema).passthrough(); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUM1QixPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFBO0FBQ3ZCLE9BQU8sWUFBWSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsdUJBQXVCLEVBQUUsMkJBQTJCLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUMvSSxPQUFPLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUUzQyxNQUFNLFdBQVcsR0FBRywwQkFBMEIsQ0FBQTtBQUU5QyxNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQWUsRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUM1QyxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDcEMsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDbkIsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBQzdDLE9BQU87WUFDSCxHQUFHLEVBQUUsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQy9ELElBQUksRUFBRSxhQUFhLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFR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RCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNqQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNoQixHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtDQUNsQixDQUFDLENBQUE7QUFHRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNsQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMzQixRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMvQixVQUFVLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNqQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QixPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM5QixTQUFTLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNoQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUNoQyxDQUFDLENBQUE7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNsQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM5QixFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN6QixJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMzQixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxD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 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUM1QixPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFBO0FBQ3ZCLE9BQU8sWUFBWSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsdUJBQXVCLEVBQUUsMkJBQTJCLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUMvSSxPQUFPLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUUzQyxNQUFNLFdBQVcsR0FBRywwQkFBMEIsQ0FBQTtBQUU5QyxNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQWUsRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUM1QyxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDcEMsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDbkIsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBQzdDLE9BQU87WUFDSCxHQUFHLEVBQUUsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQy9ELElBQUksRUFBRSxhQUFhLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFR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RCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNqQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNoQixHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtDQUNsQixDQUFDLENBQUE7QUFHRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNsQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMzQixRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMvQixVQUFVLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNqQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QixPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM5QixTQUFTLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNoQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUNoQyxDQUFDLENBQUE7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNsQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM5QixFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN6QixJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMzQixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxD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 \ No newline at end of file diff --git a/packages/commons/src/component.ts b/packages/commons/src/component.ts index 97d92acd..1eebd47c 100644 --- a/packages/commons/src/component.ts +++ b/packages/commons/src/component.ts @@ -178,10 +178,9 @@ export const ComponentConfigSchema = z.object({ shipping: ShippingSchema.optional().default({ price: 0, transit: 12, - handling : 2 + handling: 2 }), - manufacturing: ManufacturingSchema, - //internal + // references replaced_by: z.string().optional(), @@ -190,16 +189,17 @@ export const ComponentConfigSchema = z.object({ image: AssetImageSchema.optional(), name: z.string(), - flags: z.number().optional(), // cad edrawings: z.string().optional(), cad: z.array(CADMetaSchema).default([]), - + manufacturing: ManufacturingSchema, // settings showDimensions: z.boolean().optional(), showParts: z.boolean().optional(), + Preview3d: z.boolean().optional(), + flags: z.number().optional().default(0), // meta slug: z.string(), @@ -219,36 +219,20 @@ export const ComponentConfigSchema = z.object({ showcase: [], samples: [] }), + resources: z.array(ResourceSchema).default([]), tests: z.array(ResourceSchema).default([]), download: z.boolean().optional(), // galleries - gallery: GalleryConfigsSchema.default({}).default({ - renderings: { - glob: [IMAGES_GLOB] - }, - gallery: { - glob: [IMAGES_GLOB] - }, - components: { - glob: [IMAGES_GLOB] - }, - configurations: { - glob: [IMAGES_GLOB] - }, - showcase: { - glob: [IMAGES_GLOB] - }, - samples: { - glob: [IMAGES_GLOB] - } - }), + gallery: GalleryConfigsSchema.default({}).default(Object.fromEntries( + ["renderings", "gallery", "components", "configurations", "showcase", "samples"].map(key => [key, { glob: [IMAGES_GLOB] }]) + )), - /** - * @deprecated - */ - Preview3d: z.boolean().optional(), + // nesting + components: z.array(z.lazy(() => ComponentConfigSchema)).optional().default([]), + + // @deprecated howto_categories: z.union([z.string(), z.array(z.string())]).optional(), steps: z.any().optional(), sourceLanguage: z.string().optional(), @@ -256,6 +240,9 @@ export const ComponentConfigSchema = z.object({ product_dimensions: z.string().optional(), production: ProductionSchema.optional(), score: z.number().optional() + + + }).merge(ContentSchema).passthrough() export type IComponentConfig = z.infer diff --git a/packages/core/package.json b/packages/core/package.json index 5c59ea29..43d2cf5e 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -54,19 +54,17 @@ "types": "dist/index.d.ts", "dependencies": { "tslog": "^3.3.3", - "tsup": "^8.3.5", - "type-fest": "^4.34.1", + "type-fest": "^4.37.0", "zod": "^3.24.1" }, "devDependencies": { - "@repo/typescript-config": "workspace:*", + "@repo/typescript-config": "../typescript-config", "@types/node": "^22.12.0", "typescript": "^5.7.3" }, "scripts": { "test": "tsc && mocha build/test", - "buildtsc": "tsc -p . --declaration", - "build": "tsup", + "build": "tsc -p . --declaration", "start": "node build/index.js", "typings": "tsc -p . --declaration", "dev": "tsc -p . --declaration -w" diff --git a/packages/core/tsup.config.ts b/packages/core/tsup.config.ts deleted file mode 100644 index 03b4a81f..00000000 --- a/packages/core/tsup.config.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { defineConfig } from "tsup"; - -export default defineConfig((options) => ({ - entryPoints: [ - "src/*.ts" - ], - format: ["cjs", "esm"], - dts: true, - sourcemap: true, - ...options, - bundle: false -})); diff --git a/packages/kbot/dist-in/data/openai_models.json b/packages/kbot/dist-in/data/openai_models.json index 2276c730..c795fffc 100644 --- a/packages/kbot/dist-in/data/openai_models.json +++ b/packages/kbot/dist-in/data/openai_models.json @@ -1,24 +1,6 @@ { - "timestamp": 1740719291685, + "timestamp": 1742130735205, "models": [ - { - "id": "gpt-4.5-preview", - "object": "model", - "created": 1740623059, - "owned_by": "system" - }, - { - "id": "omni-moderation-2024-09-26", - "object": "model", - "created": 1732734466, - "owned_by": "system" - }, - { - "id": "gpt-4.5-preview-2025-02-27", - "object": "model", - "created": 1740623304, - "owned_by": "system" - }, { "id": "gpt-4o-mini-audio-preview-2024-12-17", "object": "model", @@ -43,6 +25,12 @@ "created": 1727389042, "owned_by": "system" }, + { + "id": "o3-mini-2025-01-31", + "object": "model", + "created": 1738010200, + "owned_by": "system" + }, { "id": "gpt-4o-audio-preview", "object": "model", @@ -67,12 +55,6 @@ "created": 1725648979, "owned_by": "system" }, - { - "id": "o1-preview-2024-09-12", - "object": "model", - "created": 1725648865, - "owned_by": "system" - }, { "id": "o1-mini", "object": "model", @@ -80,9 +62,9 @@ "owned_by": "system" }, { - "id": "o1-preview", + "id": "omni-moderation-latest", "object": "model", - "created": 1725648897, + "created": 1731689265, "owned_by": "system" }, { @@ -92,15 +74,15 @@ "owned_by": "system" }, { - "id": "whisper-1", + "id": "omni-moderation-2024-09-26", "object": "model", - "created": 1677532384, - "owned_by": "openai-internal" + "created": 1732734466, + "owned_by": "system" }, { - "id": "gpt-4-turbo", + "id": "o3-mini", "object": "model", - "created": 1712361441, + "created": 1737146383, "owned_by": "system" }, { @@ -109,30 +91,24 @@ "created": 1727131766, "owned_by": "system" }, - { - "id": "gpt-4", - "object": "model", - "created": 1687882411, - "owned_by": "openai" - }, { "id": "babbage-002", "object": "model", "created": 1692634615, "owned_by": "system" }, - { - "id": "gpt-4-turbo-preview", - "object": "model", - "created": 1706037777, - "owned_by": "system" - }, { "id": "tts-1-hd-1106", "object": "model", "created": 1699053533, "owned_by": "system" }, + { + "id": "text-embedding-3-large", + "object": "model", + "created": 1705953180, + "owned_by": "system" + }, { "id": "gpt-4o-audio-preview-2024-12-17", "object": "model", @@ -140,9 +116,27 @@ "owned_by": "system" }, { - "id": "gpt4o-dream-ev3", + "id": "gpt-4", "object": "model", - "created": 1740596800, + "created": 1687882411, + "owned_by": "openai" + }, + { + "id": "gpt-4o-mini-2024-07-18", + "object": "model", + "created": 1721172717, + "owned_by": "system" + }, + { + "id": "gpt-4o-2024-11-20", + "object": "model", + "created": 1739331543, + "owned_by": "system" + }, + { + "id": "gpt-4o-2024-05-13", + "object": "model", + "created": 1715368132, "owned_by": "system" }, { @@ -152,22 +146,34 @@ "owned_by": "system" }, { - "id": "gpt-4o-mini-2024-07-18", + "id": "o1-preview", "object": "model", - "created": 1721172717, + "created": 1725648897, "owned_by": "system" }, { - "id": "gpt-4-0125-preview", + "id": "o1-preview-2024-09-12", "object": "model", - "created": 1706037612, + "created": 1725648865, "owned_by": "system" }, { - "id": "tts-1", + "id": "gpt-4o-mini", "object": "model", - "created": 1681940951, - "owned_by": "openai-internal" + "created": 1721172741, + "owned_by": "system" + }, + { + "id": "gpt-3.5-turbo-instruct-0914", + "object": "model", + "created": 1694122472, + "owned_by": "system" + }, + { + "id": "gpt-4o-mini-search-preview", + "object": "model", + "created": 1741391161, + "owned_by": "system" }, { "id": "tts-1-1106", @@ -175,12 +181,6 @@ "created": 1699053241, "owned_by": "system" }, - { - "id": "gpt-4-turbo-2024-04-09", - "object": "model", - "created": 1712601677, - "owned_by": "system" - }, { "id": "davinci-002", "object": "model", @@ -194,21 +194,15 @@ "owned_by": "system" }, { - "id": "gpt-4o-2024-08-06", + "id": "gpt-4o-search-preview", "object": "model", - "created": 1722814719, + "created": 1741388720, "owned_by": "system" }, { - "id": "gpt-4o-mini", + "id": "gpt-4-turbo", "object": "model", - "created": 1721172741, - "owned_by": "system" - }, - { - "id": "gpt-4o-2024-05-13", - "object": "model", - "created": 1715368132, + "created": 1712361441, "owned_by": "system" }, { @@ -218,21 +212,21 @@ "owned_by": "system" }, { - "id": "chatgpt-4o-latest", + "id": "gpt-4o-mini-search-preview-2025-03-11", "object": "model", - "created": 1723515131, + "created": 1741390858, "owned_by": "system" }, { - "id": "gpt-4o", + "id": "o1-2024-12-17", "object": "model", - "created": 1715367049, + "created": 1734326976, "owned_by": "system" }, { - "id": "gpt-3.5-turbo-instruct-0914", + "id": "o1", "object": "model", - "created": 1694122472, + "created": 1734375816, "owned_by": "system" }, { @@ -241,6 +235,12 @@ "created": 1706048358, "owned_by": "system" }, + { + "id": "gpt-4o-2024-08-06", + "object": "model", + "created": 1722814719, + "owned_by": "system" + }, { "id": "gpt-4o-realtime-preview-2024-12-17", "object": "model", @@ -253,6 +253,12 @@ "created": 1677610602, "owned_by": "openai" }, + { + "id": "gpt-4-turbo-2024-04-09", + "object": "model", + "created": 1712601677, + "owned_by": "system" + }, { "id": "gpt-4o-realtime-preview", "object": "model", @@ -266,9 +272,9 @@ "owned_by": "openai-internal" }, { - "id": "gpt-4o-2024-11-20", + "id": "gpt-4o", "object": "model", - "created": 1739331543, + "created": 1715367049, "owned_by": "system" }, { @@ -277,6 +283,12 @@ "created": 1705948997, "owned_by": "system" }, + { + "id": "chatgpt-4o-latest", + "object": "model", + "created": 1723515131, + "owned_by": "system" + }, { "id": "gpt-4-1106-preview", "object": "model", @@ -289,12 +301,6 @@ "created": 1671217299, "owned_by": "openai-internal" }, - { - "id": "text-embedding-3-large", - "object": "model", - "created": 1705953180, - "owned_by": "system" - }, { "id": "gpt-4-0613", "object": "model", @@ -302,10 +308,46 @@ "owned_by": "openai" }, { - "id": "omni-moderation-latest", + "id": "gpt-4.5-preview", "object": "model", - "created": 1731689265, + "created": 1740623059, "owned_by": "system" + }, + { + "id": "gpt-4.5-preview-2025-02-27", + "object": "model", + "created": 1740623304, + "owned_by": "system" + }, + { + "id": "gpt-4o-search-preview-2025-03-11", + "object": "model", + "created": 1741388170, + "owned_by": "system" + }, + { + "id": "tts-1", + "object": "model", + "created": 1681940951, + "owned_by": "openai-internal" + }, + { + "id": "gpt-4-0125-preview", + "object": "model", + "created": 1706037612, + "owned_by": "system" + }, + { + "id": "gpt-4-turbo-preview", + "object": "model", + "created": 1706037777, + "owned_by": "system" + }, + { + "id": "whisper-1", + "object": "model", + "created": 1677532384, + "owned_by": "openai-internal" } ] } \ No newline at end of file diff --git a/packages/kbot/dist-in/data/openrouter_models.json b/packages/kbot/dist-in/data/openrouter_models.json index 48367d62..a21fcd56 100644 --- a/packages/kbot/dist-in/data/openrouter_models.json +++ b/packages/kbot/dist-in/data/openrouter_models.json @@ -1,6 +1,818 @@ { - "timestamp": 1740719292168, + "timestamp": 1742130735443, "models": [ + { + "id": "open-r1/olympiccoder-7b:free", + "name": "OlympicCoder 7B (free)", + "created": 1742078265, + "description": "OlympicCoder-7B is an open-source language model fine-tuned on the CodeForces-CoTs dataset, consisting of nearly 100,000 high-quality chain-of-thought examples from competitive programming contexts. Optimized specifically for olympiad-level coding problems, this model demonstrates strong chain-of-thought reasoning and competitive code generation capabilities, achieving performance competitive with frontier closed-source models on tasks from the IOI 2024 and similar coding contests.", + "context_length": 32768, + "architecture": { + "modality": "text->text", + "tokenizer": "Other", + "instruct_type": "deepseek-r1" + }, + "pricing": { + "prompt": "0", + "completion": "0", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 32768, + "max_completion_tokens": null, + "is_moderated": false + }, + "per_request_limits": null + }, + { + "id": "open-r1/olympiccoder-32b:free", + "name": "OlympicCoder 32B (free)", + "created": 1742077228, + "description": "OlympicCoder-32B is a high-performing open-source model fine-tuned using the CodeForces-CoTs dataset, containing approximately 100,000 chain-of-thought programming samples. It excels at complex competitive programming benchmarks, such as IOI 2024 and Codeforces-style challenges, frequently surpassing state-of-the-art closed-source models. OlympicCoder-32B provides advanced reasoning, coherent multi-step problem-solving, and robust code generation capabilities, demonstrating significant potential for olympiad-level competitive programming applications.", + "context_length": 32768, + "architecture": { + "modality": "text->text", + "tokenizer": "Other", + "instruct_type": "deepseek-r1" + }, + "pricing": { + "prompt": "0", + "completion": "0", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 32768, + "max_completion_tokens": null, + "is_moderated": false + }, + "per_request_limits": null + }, + { + "id": "steelskull/l3.3-electra-r1-70b", + "name": "SteelSkull: L3.3 Electra R1 70B", + "created": 1742067611, + "description": "L3.3-Electra-R1-70 is the newest release of the Unnamed series. Built on a DeepSeek R1 Distill base, Electra-R1 integrates various models together to provide an intelligent and coherent model capable of providing deep character insights. Through proper prompting, the model demonstrates advanced reasoning capabilities and unprompted exploration of character inner thoughts and motivations. Read more about the model and [prompting here](https://huggingface.co/Steelskull/L3.3-Electra-R1-70b)", + "context_length": 128000, + "architecture": { + "modality": "text->text", + "tokenizer": "Other", + "instruct_type": "deepseek-r1" + }, + "pricing": { + "prompt": "0.0000007", + "completion": "0.0000007", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 128000, + "max_completion_tokens": null, + "is_moderated": false + }, + "per_request_limits": null + }, + { + "id": "allenai/olmo-2-0325-32b-instruct", + "name": "AllenAI: Olmo 2 32B Instruct", + "created": 1741988556, + "description": "OLMo-2 32B Instruct is a supervised instruction-finetuned variant of the OLMo-2 32B March 2025 base model. It excels in complex reasoning and instruction-following tasks across diverse benchmarks such as GSM8K, MATH, IFEval, and general NLP evaluation. Developed by AI2, OLMo-2 32B is part of an open, research-oriented initiative, trained primarily on English-language datasets to advance the understanding and development of open-source language models.", + "context_length": 4096, + "architecture": { + "modality": "text->text", + "tokenizer": "Other", + "instruct_type": null + }, + "pricing": { + "prompt": "0.0000005", + "completion": "0.0000005", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 4096, + "max_completion_tokens": 4096, + "is_moderated": false + }, + "per_request_limits": null + }, + { + "id": "google/gemma-3-1b-it:free", + "name": "Google: Gemma 3 1B (free)", + "created": 1741963556, + "description": "Gemma 3 1B is the smallest of the new Gemma 3 family. It handles context windows up to 32k tokens, understands over 140 languages, and offers improved math, reasoning, and chat capabilities, including structured outputs and function calling. Note: Gemma 3 1B is not multimodal. For the smallest multimodal Gemma 3 model, please see [Gemma 3 4B](google/gemma-3-4b-it)", + "context_length": 32000, + "architecture": { + "modality": "text+image->text", + "tokenizer": "Gemini", + "instruct_type": "gemma" + }, + "pricing": { + "prompt": "0", + "completion": "0", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 32000, + "max_completion_tokens": 8192, + "is_moderated": false + }, + "per_request_limits": null + }, + { + "id": "google/gemma-3-4b-it:free", + "name": "Google: Gemma 3 4B (free)", + "created": 1741905510, + "description": "Gemma 3 introduces multimodality, supporting vision-language input and text outputs. It handles context windows up to 128k tokens, understands over 140 languages, and offers improved math, reasoning, and chat capabilities, including structured outputs and function calling.", + "context_length": 131072, + "architecture": { + "modality": "text+image->text", + "tokenizer": "Gemini", + "instruct_type": "gemma" + }, + "pricing": { + "prompt": "0", + "completion": "0", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 131072, + "max_completion_tokens": 8192, + "is_moderated": false + }, + "per_request_limits": null + }, + { + "id": "ai21/jamba-1.6-large", + "name": "AI21: Jamba 1.6 Large", + "created": 1741905173, + "description": "AI21 Jamba Large 1.6 is a high-performance hybrid foundation model combining State Space Models (Mamba) with Transformer attention mechanisms. Developed by AI21, it excels in extremely long-context handling (256K tokens), demonstrates superior inference efficiency (up to 2.5x faster than comparable models), and supports structured JSON output and tool-use capabilities. It has 94 billion active parameters (398 billion total), optimized quantization support (ExpertsInt8), and multilingual proficiency in languages such as English, Spanish, French, Portuguese, Italian, Dutch, German, Arabic, and Hebrew.\n\nUsage of this model is subject to the [Jamba Open Model License](https://www.ai21.com/licenses/jamba-open-model-license).", + "context_length": 256000, + "architecture": { + "modality": "text->text", + "tokenizer": "Other", + "instruct_type": null + }, + "pricing": { + "prompt": "0.000002", + "completion": "0.000008", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 256000, + "max_completion_tokens": 4096, + "is_moderated": false + }, + "per_request_limits": null + }, + { + "id": "ai21/jamba-1.6-mini", + "name": "AI21: Jamba Mini 1.6", + "created": 1741905171, + "description": "AI21 Jamba Mini 1.6 is a hybrid foundation model combining State Space Models (Mamba) with Transformer attention mechanisms. With 12 billion active parameters (52 billion total), this model excels in extremely long-context tasks (up to 256K tokens) and achieves superior inference efficiency, outperforming comparable open models on tasks such as retrieval-augmented generation (RAG) and grounded question answering. Jamba Mini 1.6 supports multilingual tasks across English, Spanish, French, Portuguese, Italian, Dutch, German, Arabic, and Hebrew, along with structured JSON output and tool-use capabilities.\n\nUsage of this model is subject to the [Jamba Open Model License](https://www.ai21.com/licenses/jamba-open-model-license).", + "context_length": 256000, + "architecture": { + "modality": "text->text", + "tokenizer": "Other", + "instruct_type": null + }, + "pricing": { + "prompt": "0.0000002", + "completion": "0.0000004", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 256000, + "max_completion_tokens": 4096, + "is_moderated": false + }, + "per_request_limits": null + }, + { + "id": "google/gemma-3-12b-it:free", + "name": "Google: Gemma 3 12B (free)", + "created": 1741902625, + "description": "Gemma 3 introduces multimodality, supporting vision-language input and text outputs. It handles context windows up to 128k tokens, understands over 140 languages, and offers improved math, reasoning, and chat capabilities, including structured outputs and function calling. Gemma 3 12B is the second largest in the family of Gemma 3 models after [Gemma 3 27B](google/gemma-3-27b-it)", + "context_length": 131072, + "architecture": { + "modality": "text+image->text", + "tokenizer": "Gemini", + "instruct_type": "gemma" + }, + "pricing": { + "prompt": "0", + "completion": "0", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 131072, + "max_completion_tokens": 8192, + "is_moderated": false + }, + "per_request_limits": null + }, + { + "id": "cohere/command-a", + "name": "Cohere: Command A", + "created": 1741894342, + "description": "Command A is an open-weights 111B parameter model with a 256k context window focused on delivering great performance across agentic, multilingual, and coding use cases.\nCompared to other leading proprietary and open-weights models Command A delivers maximum performance with minimum hardware costs, excelling on business-critical agentic and multilingual tasks.", + "context_length": 256000, + "architecture": { + "modality": "text->text", + "tokenizer": "Other", + "instruct_type": null + }, + "pricing": { + "prompt": "0.0000025", + "completion": "0.00001", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 256000, + "max_completion_tokens": 8192, + "is_moderated": false + }, + "per_request_limits": null + }, + { + "id": "openai/gpt-4o-mini-search-preview", + "name": "OpenAI: GPT-4o-mini Search Preview", + "created": 1741818122, + "description": "GPT-4o mini Search Preview is a specialized model for web search in Chat Completions. It is trained to understand and execute web search queries.", + "context_length": 128000, + "architecture": { + "modality": "text+image->text", + "tokenizer": "GPT", + "instruct_type": null + }, + "pricing": { + "prompt": "0.00000015", + "completion": "0.0000006", + "image": "0.000217", + "request": "0.0275", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 128000, + "max_completion_tokens": 16384, + "is_moderated": true + }, + "per_request_limits": null + }, + { + "id": "openai/gpt-4o-search-preview", + "name": "OpenAI: GPT-4o Search Preview", + "created": 1741817949, + "description": "GPT-4o Search Previewis a specialized model for web search in Chat Completions. It is trained to understand and execute web search queries.", + "context_length": 128000, + "architecture": { + "modality": "text+image->text", + "tokenizer": "GPT", + "instruct_type": null + }, + "pricing": { + "prompt": "0.0000025", + "completion": "0.00001", + "image": "0.003613", + "request": "0.035", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 128000, + "max_completion_tokens": 16384, + "is_moderated": true + }, + "per_request_limits": null + }, + { + "id": "tokyotech-llm/llama-3.1-swallow-70b-instruct-v0.3", + "name": "Swallow: Llama 3.1 Swallow 70B Instruct V0.3", + "created": 1741813936, + "description": "Llama 3.1 Swallow 70B is a large language model that was built by continual pre-training on the Meta Llama 3.1 70B. Llama 3.1 Swallow enhanced the Japanese language capabilities of the original Llama 3.1 while retaining the English language capabilities. Swallow used approximately 200 billion tokens that were sampled from a large Japanese web corpus (Swallow Corpus Version 2), Japanese and English Wikipedia articles, and mathematical and coding contents, etc (see the Training Datasets section of the base model) for continual pre-training. The instruction-tuned models (Instruct) were built by supervised fine-tuning (SFT) on the synthetic data specially built for Japanese. ", + "context_length": 16384, + "architecture": { + "modality": "text->text", + "tokenizer": "Llama3", + "instruct_type": null + }, + "pricing": { + "prompt": "0.0000006", + "completion": "0.0000012", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 16384, + "max_completion_tokens": 4096, + "is_moderated": false + }, + "per_request_limits": null + }, + { + "id": "rekaai/reka-flash-3:free", + "name": "Reka: Flash 3 (free)", + "created": 1741812813, + "description": "Reka Flash 3 is a general-purpose, instruction-tuned large language model with 21 billion parameters, developed by Reka. It excels at general chat, coding tasks, instruction-following, and function calling. Featuring a 32K context length and optimized through reinforcement learning (RLOO), it provides competitive performance comparable to proprietary models within a smaller parameter footprint. Ideal for low-latency, local, or on-device deployments, Reka Flash 3 is compact, supports efficient quantization (down to 11GB at 4-bit precision), and employs explicit reasoning tags (\"\") to indicate its internal thought process.\n\nReka Flash 3 is primarily an English model with limited multilingual understanding capabilities. The model weights are released under the Apache 2.0 license.", + "context_length": 32768, + "architecture": { + "modality": "text->text", + "tokenizer": "Other", + "instruct_type": null + }, + "pricing": { + "prompt": "0", + "completion": "0", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 32768, + "max_completion_tokens": null, + "is_moderated": false + }, + "per_request_limits": null + }, + { + "id": "google/gemma-3-27b-it:free", + "name": "Google: Gemma 3 27B (free)", + "created": 1741756359, + "description": "Gemma 3 introduces multimodality, supporting vision-language input and text outputs. It handles context windows up to 128k tokens, understands over 140 languages, and offers improved math, reasoning, and chat capabilities, including structured outputs and function calling. Gemma 3 27B is Google's latest open source model, successor to [Gemma 2](google/gemma-2-27b-it)", + "context_length": 96000, + "architecture": { + "modality": "text+image->text", + "tokenizer": "Gemini", + "instruct_type": "gemma" + }, + "pricing": { + "prompt": "0", + "completion": "0", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 96000, + "max_completion_tokens": 8192, + "is_moderated": false + }, + "per_request_limits": null + }, + { + "id": "google/gemma-3-27b-it", + "name": "Google: Gemma 3 27B", + "created": 1741756359, + "description": "Gemma 3 introduces multimodality, supporting vision-language input and text outputs. It handles context windows up to 128k tokens, understands over 140 languages, and offers improved math, reasoning, and chat capabilities, including structured outputs and function calling. Gemma 3 27B is Google's latest open source model, successor to [Gemma 2](google/gemma-2-27b-it)", + "context_length": 131072, + "architecture": { + "modality": "text+image->text", + "tokenizer": "Gemini", + "instruct_type": "gemma" + }, + "pricing": { + "prompt": "0.0000001", + "completion": "0.0000002", + "image": "0.0000256", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 131072, + "max_completion_tokens": 8192, + "is_moderated": false + }, + "per_request_limits": null + }, + { + "id": "thedrummer/anubis-pro-105b-v1", + "name": "TheDrummer: Anubis Pro 105B V1", + "created": 1741642290, + "description": "Anubis Pro 105B v1 is an expanded and refined variant of Meta’s Llama 3.3 70B, featuring 50% additional layers and further fine-tuning to leverage its increased capacity. Designed for advanced narrative, roleplay, and instructional tasks, it demonstrates enhanced emotional intelligence, creativity, nuanced character portrayal, and superior prompt adherence compared to smaller models. Its larger parameter count allows for deeper contextual understanding and extended reasoning capabilities, optimized for engaging, intelligent, and coherent interactions.", + "context_length": 64000, + "architecture": { + "modality": "text->text", + "tokenizer": "Other", + "instruct_type": null + }, + "pricing": { + "prompt": "0.0000008", + "completion": "0.0000008", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 64000, + "max_completion_tokens": 64000, + "is_moderated": false + }, + "per_request_limits": null + }, + { + "id": "latitudegames/wayfarer-large-70b-llama-3.3", + "name": "LatitudeGames: Wayfarer Large 70B Llama 3.3", + "created": 1741636885, + "description": "Wayfarer Large 70B is a roleplay and text-adventure model fine-tuned from Meta’s Llama-3.3-70B-Instruct. Specifically optimized for narrative-driven, challenging scenarios, it introduces realistic stakes, conflicts, and consequences often avoided by standard RLHF-aligned models. Trained using a curated blend of adventure, roleplay, and instructive fiction datasets, Wayfarer emphasizes tense storytelling, authentic player failure scenarios, and robust narrative immersion, making it uniquely suited for interactive fiction and gaming experiences.", + "context_length": 128000, + "architecture": { + "modality": "text->text", + "tokenizer": "Llama3", + "instruct_type": null + }, + "pricing": { + "prompt": "0.0000007", + "completion": "0.0000007", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 128000, + "max_completion_tokens": 128000, + "is_moderated": false + }, + "per_request_limits": null + }, + { + "id": "thedrummer/skyfall-36b-v2", + "name": "TheDrummer: Skyfall 36B V2", + "created": 1741636566, + "description": "Skyfall 36B v2 is an enhanced iteration of Mistral Small 2501, specifically fine-tuned for improved creativity, nuanced writing, role-playing, and coherent storytelling.", + "context_length": 32768, + "architecture": { + "modality": "text->text", + "tokenizer": "Other", + "instruct_type": null + }, + "pricing": { + "prompt": "0.0000005", + "completion": "0.0000005", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 32768, + "max_completion_tokens": 32768, + "is_moderated": false + }, + "per_request_limits": null + }, + { + "id": "microsoft/phi-4-multimodal-instruct", + "name": "Microsoft: Phi 4 Multimodal Instruct", + "created": 1741396284, + "description": "Phi-4 Multimodal Instruct is a versatile 5.6B parameter foundation model that combines advanced reasoning and instruction-following capabilities across both text and visual inputs, providing accurate text outputs. The unified architecture enables efficient, low-latency inference, suitable for edge and mobile deployments. Phi-4 Multimodal Instruct supports text inputs in multiple languages including Arabic, Chinese, English, French, German, Japanese, Spanish, and more, with visual input optimized primarily for English. It delivers impressive performance on multimodal tasks involving mathematical, scientific, and document reasoning, providing developers and enterprises a powerful yet compact model for sophisticated interactive applications. For more information, see the [Phi-4 Multimodal blog post](https://azure.microsoft.com/en-us/blog/empowering-innovation-the-next-generation-of-the-phi-family/).\n", + "context_length": 128000, + "architecture": { + "modality": "text+image->text", + "tokenizer": "Other", + "instruct_type": null + }, + "pricing": { + "prompt": "0.00000007", + "completion": "0.00000011", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 128000, + "max_completion_tokens": null, + "is_moderated": false + }, + "per_request_limits": null + }, + { + "id": "perplexity/sonar-reasoning-pro", + "name": "Perplexity: Sonar Reasoning Pro", + "created": 1741313308, + "description": "Note: Sonar Pro pricing includes Perplexity search pricing. See [details here](https://docs.perplexity.ai/guides/pricing#detailed-pricing-breakdown-for-sonar-reasoning-pro-and-sonar-pro)\n\nSonar Reasoning Pro is a premier reasoning model powered by DeepSeek R1 with Chain of Thought (CoT). Designed for advanced use cases, it supports in-depth, multi-step queries with a larger context window and can surface more citations per search, enabling more comprehensive and extensible responses.", + "context_length": 128000, + "architecture": { + "modality": "text->text", + "tokenizer": "Other", + "instruct_type": "deepseek-r1" + }, + "pricing": { + "prompt": "0.000002", + "completion": "0.000008", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 128000, + "max_completion_tokens": null, + "is_moderated": false + }, + "per_request_limits": null + }, + { + "id": "perplexity/sonar-pro", + "name": "Perplexity: Sonar Pro", + "created": 1741312423, + "description": "Note: Sonar Pro pricing includes Perplexity search pricing. See [details here](https://docs.perplexity.ai/guides/pricing#detailed-pricing-breakdown-for-sonar-reasoning-pro-and-sonar-pro)\n\nFor enterprises seeking more advanced capabilities, the Sonar Pro API can handle in-depth, multi-step queries with added extensibility, like double the number of citations per search as Sonar on average. Plus, with a larger context window, it can handle longer and more nuanced searches and follow-up questions. ", + "context_length": 200000, + "architecture": { + "modality": "text->text", + "tokenizer": "Other", + "instruct_type": null + }, + "pricing": { + "prompt": "0.000003", + "completion": "0.000015", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 200000, + "max_completion_tokens": 8000, + "is_moderated": false + }, + "per_request_limits": null + }, + { + "id": "perplexity/sonar-deep-research", + "name": "Perplexity: Sonar Deep Research", + "created": 1741311246, + "description": "Sonar Deep Research is a research-focused model designed for multi-step retrieval, synthesis, and reasoning across complex topics. It autonomously searches, reads, and evaluates sources, refining its approach as it gathers information. This enables comprehensive report generation across domains like finance, technology, health, and current events.\n\nNotes on Pricing ([Source](https://docs.perplexity.ai/guides/pricing#detailed-pricing-breakdown-for-sonar-deep-research)) \n- Input tokens comprise of Prompt tokens (user prompt) + Citation tokens (these are processed tokens from running searches)\n- Deep Research runs multiple searches to conduct exhaustive research. Searches are priced at $5/1000 searches. A request that does 30 searches will cost $0.15 in this step.\n- Reasoning is a distinct step in Deep Research since it does extensive automated reasoning through all the material it gathers during its research phase. Reasoning tokens here are a bit different than the CoTs in the answer - these are tokens that we use to reason through the research material prior to generating the outputs via the CoTs. Reasoning tokens are priced at $3/1M tokens", + "context_length": 200000, + "architecture": { + "modality": "text->text", + "tokenizer": "Other", + "instruct_type": "deepseek-r1" + }, + "pricing": { + "prompt": "0.000002", + "completion": "0.000008", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 200000, + "max_completion_tokens": null, + "is_moderated": false + }, + "per_request_limits": null + }, + { + "id": "deepseek/deepseek-r1-zero:free", + "name": "DeepSeek: DeepSeek R1 Zero (free)", + "created": 1741297434, + "description": "DeepSeek-R1-Zero is a model trained via large-scale reinforcement learning (RL) without supervised fine-tuning (SFT) as a preliminary step. It's 671B parameters in size, with 37B active in an inference pass.\n\nIt demonstrates remarkable performance on reasoning. With RL, DeepSeek-R1-Zero naturally emerged with numerous powerful and interesting reasoning behaviors.\n\nDeepSeek-R1-Zero encounters challenges such as endless repetition, poor readability, and language mixing. See [DeepSeek R1](/deepseek/deepseek-r1) for the SFT model.\n\n", + "context_length": 163840, + "architecture": { + "modality": "text->text", + "tokenizer": "Other", + "instruct_type": "deepseek-r1" + }, + "pricing": { + "prompt": "0", + "completion": "0", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 163840, + "max_completion_tokens": null, + "is_moderated": false + }, + "per_request_limits": null + }, + { + "id": "qwen/qwq-32b:free", + "name": "Qwen: QwQ 32B (free)", + "created": 1741208814, + "description": "QwQ is the reasoning model of the Qwen series. Compared with conventional instruction-tuned models, QwQ, which is capable of thinking and reasoning, can achieve significantly enhanced performance in downstream tasks, especially hard problems. QwQ-32B is the medium-sized reasoning model, which is capable of achieving competitive performance against state-of-the-art reasoning models, e.g., DeepSeek-R1, o1-mini.", + "context_length": 131072, + "architecture": { + "modality": "text->text", + "tokenizer": "Qwen", + "instruct_type": "qwq" + }, + "pricing": { + "prompt": "0", + "completion": "0", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 131072, + "max_completion_tokens": 131072, + "is_moderated": false + }, + "per_request_limits": null + }, + { + "id": "qwen/qwq-32b", + "name": "Qwen: QwQ 32B", + "created": 1741208814, + "description": "QwQ is the reasoning model of the Qwen series. Compared with conventional instruction-tuned models, QwQ, which is capable of thinking and reasoning, can achieve significantly enhanced performance in downstream tasks, especially hard problems. QwQ-32B is the medium-sized reasoning model, which is capable of achieving competitive performance against state-of-the-art reasoning models, e.g., DeepSeek-R1, o1-mini.", + "context_length": 131072, + "architecture": { + "modality": "text->text", + "tokenizer": "Qwen", + "instruct_type": "qwq" + }, + "pricing": { + "prompt": "0.00000012", + "completion": "0.00000018", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 131072, + "max_completion_tokens": null, + "is_moderated": false + }, + "per_request_limits": null + }, + { + "id": "qwen/qwen2.5-32b-instruct", + "name": "Qwen: Qwen2.5 32B Instruct", + "created": 1741042744, + "description": "Qwen2.5 32B Instruct is the instruction-tuned variant of the latest Qwen large language model series. It provides enhanced instruction-following capabilities, improved proficiency in coding and mathematical reasoning, and robust handling of structured data and outputs such as JSON. It supports long-context processing up to 128K tokens and multilingual tasks across 29+ languages. The model has 32.5 billion parameters, 64 layers, and utilizes an advanced transformer architecture with RoPE, SwiGLU, RMSNorm, and Attention QKV bias.\n\nFor details, please refer to the [Qwen2.5 Blog](https://qwenlm.github.io/blog/qwen2.5/).", + "context_length": 131072, + "architecture": { + "modality": "text->text", + "tokenizer": "Qwen", + "instruct_type": null + }, + "pricing": { + "prompt": "0.00000079", + "completion": "0.00000079", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 131072, + "max_completion_tokens": null, + "is_moderated": false + }, + "per_request_limits": null + }, + { + "id": "moonshotai/moonlight-16b-a3b-instruct:free", + "name": "Moonshot AI: Moonlight 16B A3B Instruct (free)", + "created": 1740719801, + "description": "Moonlight-16B-A3B-Instruct is a 16B-parameter Mixture-of-Experts (MoE) language model developed by Moonshot AI. It is optimized for instruction-following tasks with 3B activated parameters per inference. The model advances the Pareto frontier in performance per FLOP across English, coding, math, and Chinese benchmarks. It outperforms comparable models like Llama3-3B and Deepseek-v2-Lite while maintaining efficient deployment capabilities through Hugging Face integration and compatibility with popular inference engines like vLLM12.", + "context_length": 8192, + "architecture": { + "modality": "text->text", + "tokenizer": "Other", + "instruct_type": null + }, + "pricing": { + "prompt": "0", + "completion": "0", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 8192, + "max_completion_tokens": null, + "is_moderated": false + }, + "per_request_limits": null + }, + { + "id": "nousresearch/deephermes-3-llama-3-8b-preview:free", + "name": "Nous: DeepHermes 3 Llama 3 8B Preview (free)", + "created": 1740719372, + "description": "DeepHermes 3 Preview is the latest version of our flagship Hermes series of LLMs by Nous Research, and one of the first models in the world to unify Reasoning (long chains of thought that improve answer accuracy) and normal LLM response modes into one model. We have also improved LLM annotation, judgement, and function calling.\n\nDeepHermes 3 Preview is one of the first LLM models to unify both \"intuitive\", traditional mode responses and long chain of thought reasoning responses into a single model, toggled by a system prompt.", + "context_length": 131072, + "architecture": { + "modality": "text->text", + "tokenizer": "Other", + "instruct_type": null + }, + "pricing": { + "prompt": "0", + "completion": "0", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 131072, + "max_completion_tokens": null, + "is_moderated": false + }, + "per_request_limits": null + }, { "id": "openai/gpt-4.5-preview", "name": "OpenAI: GPT-4.5 (Preview)", @@ -15,8 +827,12 @@ "pricing": { "prompt": "0.000075", "completion": "0.00015", - "image": "0", - "request": "0" + "image": "0.108375", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -40,7 +856,11 @@ "prompt": "0.000000075", "completion": "0.0000003", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 1048576, @@ -64,7 +884,11 @@ "prompt": "0.000003", "completion": "0.000015", "image": "0.0048", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 200000, @@ -88,7 +912,11 @@ "prompt": "0.000003", "completion": "0.000015", "image": "0.0048", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 200000, @@ -112,7 +940,11 @@ "prompt": "0.000003", "completion": "0.000015", "image": "0.0048", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 200000, @@ -136,7 +968,11 @@ "prompt": "0.000002", "completion": "0.000008", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -160,7 +996,11 @@ "prompt": "0.0000002", "completion": "0.0000006", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32000, @@ -178,13 +1018,17 @@ "architecture": { "modality": "text->text", "tokenizer": "Other", - "instruct_type": null + "instruct_type": "deepseek-r1" }, "pricing": { "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, @@ -208,7 +1052,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, @@ -222,20 +1070,24 @@ "name": "Llama Guard 3 8B", "created": 1739401318, "description": "Llama Guard 3 is a Llama-3.1-8B pretrained model, fine-tuned for content safety classification. Similar to previous versions, it can be used to classify content in both LLM inputs (prompt classification) and in LLM responses (response classification). It acts as an LLM – it generates text in its output that indicates whether a given prompt or response is safe or unsafe, and if unsafe, it also lists the content categories violated.\n\nLlama Guard 3 was aligned to safeguard against the MLCommons standardized hazards taxonomy and designed to support Llama 3.1 capabilities. Specifically, it provides content moderation in 8 languages, and was optimized to support safety and security for search and code interpreter tool calls.\n", - "context_length": 16384, + "context_length": 8192, "architecture": { "modality": "text->text", "tokenizer": "Llama3", "instruct_type": "none" }, "pricing": { - "prompt": "0.0000003", - "completion": "0.0000003", + "prompt": "0.0000002", + "completion": "0.0000002", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { - "context_length": 16384, + "context_length": 8192, "max_completion_tokens": null, "is_moderated": false }, @@ -256,7 +1108,11 @@ "prompt": "0.0000011", "completion": "0.0000044", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 200000, @@ -270,7 +1126,7 @@ "name": "Llama 3.1 Tulu 3 405B", "created": 1739053421, "description": "Tülu 3 405B is the largest model in the Tülu 3 family, applying fully open post-training recipes at a 405B parameter scale. Built on the Llama 3.1 405B base, it leverages Reinforcement Learning with Verifiable Rewards (RLVR) to enhance instruction following, MATH, GSM8K, and IFEval performance. As part of Tülu 3’s fully open-source approach, it offers state-of-the-art capabilities while surpassing prior open-weight models like Llama 3.1 405B Instruct and Nous Hermes 3 405B on multiple benchmarks. To read more, [click here.](https://allenai.org/blog/tulu-3-405B)", - "context_length": 16000, + "context_length": 16384, "architecture": { "modality": "text->text", "tokenizer": "Other", @@ -280,11 +1136,15 @@ "prompt": "0.000005", "completion": "0.00001", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { - "context_length": 16000, - "max_completion_tokens": null, + "context_length": 16384, + "max_completion_tokens": 4096, "is_moderated": false }, "per_request_limits": null @@ -304,7 +1164,11 @@ "prompt": "0.00000004", "completion": "0.00000004", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32000, @@ -328,7 +1192,11 @@ "prompt": "0.0000001", "completion": "0.0000004", "image": "0.0000258", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 1000000, @@ -352,7 +1220,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 1000000, @@ -376,7 +1248,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 2000000, @@ -386,8 +1262,8 @@ "per_request_limits": null }, { - "id": "qwen/qwen-vl-plus:free", - "name": "Qwen: Qwen VL Plus (free)", + "id": "qwen/qwen-vl-plus", + "name": "Qwen: Qwen VL Plus", "created": 1738731255, "description": "Qwen's Enhanced Large Visual Language Model. Significantly upgraded for detailed recognition capabilities and text recognition abilities, supporting ultra-high pixel resolutions up to millions of pixels and extreme aspect ratios for image input. It delivers significant performance across a broad range of visual tasks.\n", "context_length": 7500, @@ -397,10 +1273,14 @@ "instruct_type": null }, "pricing": { - "prompt": "0", - "completion": "0", - "image": "0", - "request": "0" + "prompt": "0.00000021", + "completion": "0.00000063", + "image": "0.0002688", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 7500, @@ -424,7 +1304,11 @@ "prompt": "0.000004", "completion": "0.000008", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, @@ -448,7 +1332,11 @@ "prompt": "0.0000007", "completion": "0.0000014", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, @@ -472,7 +1360,11 @@ "prompt": "0.0000002", "completion": "0.0000002", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, @@ -481,6 +1373,34 @@ }, "per_request_limits": null }, + { + "id": "qwen/qwen-vl-max", + "name": "Qwen: Qwen VL Max", + "created": 1738434304, + "description": "Qwen VL Max is a visual understanding model with 7500 tokens context length. It excels in delivering optimal performance for a broader spectrum of complex tasks.\n", + "context_length": 7500, + "architecture": { + "modality": "text+image->text", + "tokenizer": "Qwen", + "instruct_type": null + }, + "pricing": { + "prompt": "0.0000008", + "completion": "0.0000032", + "image": "0.001024", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 7500, + "max_completion_tokens": 1500, + "is_moderated": false + }, + "per_request_limits": null + }, { "id": "qwen/qwen-turbo", "name": "Qwen: Qwen-Turbo", @@ -496,7 +1416,11 @@ "prompt": "0.00000005", "completion": "0.0000002", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 1000000, @@ -520,7 +1444,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 131072, @@ -544,7 +1472,11 @@ "prompt": "0.0000007", "completion": "0.0000007", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32000, @@ -568,7 +1500,11 @@ "prompt": "0.0000004", "completion": "0.0000012", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 131072, @@ -592,7 +1528,11 @@ "prompt": "0.0000016", "completion": "0.0000064", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, @@ -616,7 +1556,11 @@ "prompt": "0.0000011", "completion": "0.0000044", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 200000, @@ -640,7 +1584,11 @@ "prompt": "0.00000018", "completion": "0.00000018", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 131072, @@ -654,7 +1602,7 @@ "name": "Mistral: Mistral Small 3 (free)", "created": 1738255409, "description": "Mistral Small 3 is a 24B-parameter language model optimized for low-latency performance across common AI tasks. Released under the Apache 2.0 license, it features both pre-trained and instruction-tuned versions designed for efficient local deployment.\n\nThe model achieves 81% accuracy on the MMLU benchmark and performs competitively with larger models like Llama 3.3 70B and Qwen 32B, while operating at three times the speed on equivalent hardware. [Read the blog post about the model here.](https://mistral.ai/news/mistral-small-3/)", - "context_length": 32000, + "context_length": 32768, "architecture": { "modality": "text->text", "tokenizer": "Mistral", @@ -664,10 +1612,14 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { - "context_length": 32000, + "context_length": 32768, "max_completion_tokens": null, "is_moderated": false }, @@ -688,7 +1640,11 @@ "prompt": "0.00000007", "completion": "0.00000014", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, @@ -697,6 +1653,34 @@ }, "per_request_limits": null }, + { + "id": "deepseek/deepseek-r1-distill-qwen-32b:free", + "name": "DeepSeek: R1 Distill Qwen 32B (free)", + "created": 1738194830, + "description": "DeepSeek R1 Distill Qwen 32B is a distilled large language model based on [Qwen 2.5 32B](https://huggingface.co/Qwen/Qwen2.5-32B), using outputs from [DeepSeek R1](/deepseek/deepseek-r1). It outperforms OpenAI's o1-mini across various benchmarks, achieving new state-of-the-art results for dense models.\n\nOther benchmark results include:\n\n- AIME 2024 pass@1: 72.6\n- MATH-500 pass@1: 94.3\n- CodeForces Rating: 1691\n\nThe model leverages fine-tuning from DeepSeek R1's outputs, enabling competitive performance comparable to larger frontier models.", + "context_length": 16000, + "architecture": { + "modality": "text->text", + "tokenizer": "Qwen", + "instruct_type": "deepseek-r1" + }, + "pricing": { + "prompt": "0", + "completion": "0", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 16000, + "max_completion_tokens": 16000, + "is_moderated": false + }, + "per_request_limits": null + }, { "id": "deepseek/deepseek-r1-distill-qwen-32b", "name": "DeepSeek: R1 Distill Qwen 32B", @@ -712,7 +1696,11 @@ "prompt": "0.00000012", "completion": "0.00000018", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 131072, @@ -722,25 +1710,57 @@ "per_request_limits": null }, { - "id": "deepseek/deepseek-r1-distill-qwen-14b", - "name": "DeepSeek: R1 Distill Qwen 14B", + "id": "deepseek/deepseek-r1-distill-qwen-14b:free", + "name": "DeepSeek: R1 Distill Qwen 14B (free)", "created": 1738193940, "description": "DeepSeek R1 Distill Qwen 14B is a distilled large language model based on [Qwen 2.5 14B](https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-14B), using outputs from [DeepSeek R1](/deepseek/deepseek-r1). It outperforms OpenAI's o1-mini across various benchmarks, achieving new state-of-the-art results for dense models.\n\nOther benchmark results include:\n\n- AIME 2024 pass@1: 69.7\n- MATH-500 pass@1: 93.9\n- CodeForces Rating: 1481\n\nThe model leverages fine-tuning from DeepSeek R1's outputs, enabling competitive performance comparable to larger frontier models.", - "context_length": 131072, + "context_length": 64000, "architecture": { "modality": "text->text", "tokenizer": "Qwen", "instruct_type": "deepseek-r1" }, "pricing": { - "prompt": "0.0000016", - "completion": "0.0000016", + "prompt": "0", + "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { - "context_length": 131072, - "max_completion_tokens": 32768, + "context_length": 64000, + "max_completion_tokens": null, + "is_moderated": false + }, + "per_request_limits": null + }, + { + "id": "deepseek/deepseek-r1-distill-qwen-14b", + "name": "DeepSeek: R1 Distill Qwen 14B", + "created": 1738193940, + "description": "DeepSeek R1 Distill Qwen 14B is a distilled large language model based on [Qwen 2.5 14B](https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-14B), using outputs from [DeepSeek R1](/deepseek/deepseek-r1). It outperforms OpenAI's o1-mini across various benchmarks, achieving new state-of-the-art results for dense models.\n\nOther benchmark results include:\n\n- AIME 2024 pass@1: 69.7\n- MATH-500 pass@1: 93.9\n- CodeForces Rating: 1481\n\nThe model leverages fine-tuning from DeepSeek R1's outputs, enabling competitive performance comparable to larger frontier models.", + "context_length": 64000, + "architecture": { + "modality": "text->text", + "tokenizer": "Qwen", + "instruct_type": "deepseek-r1" + }, + "pricing": { + "prompt": "0.00000015", + "completion": "0.00000015", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 64000, + "max_completion_tokens": 64000, "is_moderated": false }, "per_request_limits": null @@ -760,7 +1780,11 @@ "prompt": "0.000001", "completion": "0.000005", "image": "0", - "request": "0.005" + "request": "0.005", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 127000, @@ -784,7 +1808,11 @@ "prompt": "0.000001", "completion": "0.000001", "image": "0", - "request": "0.005" + "request": "0.005", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 127072, @@ -808,7 +1836,11 @@ "prompt": "0.00000001", "completion": "0.00000001", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, @@ -832,7 +1864,11 @@ "prompt": "0.00000002", "completion": "0.00000002", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, @@ -856,7 +1892,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -880,7 +1920,11 @@ "prompt": "0.00000023", "completion": "0.00000069", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 131072, @@ -904,7 +1948,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 1048576, @@ -928,7 +1976,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 163840, @@ -942,21 +1994,25 @@ "name": "DeepSeek: R1", "created": 1737381095, "description": "DeepSeek R1 is here: Performance on par with [OpenAI o1](/openai/o1), but open-sourced and with fully open reasoning tokens. It's 671B parameters in size, with 37B active in an inference pass.\n\nFully open-source model & [technical report](https://api-docs.deepseek.com/news/news250120).\n\nMIT licensed: Distill & commercialize freely!", - "context_length": 128000, + "context_length": 64000, "architecture": { "modality": "text->text", "tokenizer": "DeepSeek", "instruct_type": "deepseek-r1" }, "pricing": { - "prompt": "0.0000008", - "completion": "0.0000024", + "prompt": "0.0000007", + "completion": "0.0000025", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { - "context_length": 128000, - "max_completion_tokens": null, + "context_length": 64000, + "max_completion_tokens": 16000, "is_moderated": false }, "per_request_limits": null @@ -976,7 +2032,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 4096, @@ -1000,7 +2060,11 @@ "prompt": "0.0000002", "completion": "0.0000011", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 1000192, @@ -1024,7 +2088,11 @@ "prompt": "0.0000003", "completion": "0.0000009", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 256000, @@ -1048,7 +2116,11 @@ "prompt": "0.00000007", "completion": "0.00000014", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 16384, @@ -1072,7 +2144,11 @@ "prompt": "0.000003", "completion": "0.000003", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 16000, @@ -1096,7 +2172,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 131072, @@ -1110,45 +2190,25 @@ "name": "DeepSeek: DeepSeek V3", "created": 1735241320, "description": "DeepSeek-V3 is the latest model from the DeepSeek team, building upon the instruction following and coding abilities of the previous versions. Pre-trained on nearly 15 trillion tokens, the reported evaluations reveal that the model outperforms other open-source models and rivals leading closed-source models.\n\nFor model details, please visit [the DeepSeek-V3 repo](https://github.com/deepseek-ai/DeepSeek-V3) for more information, or see the [launch announcement](https://api-docs.deepseek.com/news/news1226).", - "context_length": 131072, + "context_length": 64000, "architecture": { "modality": "text->text", "tokenizer": "DeepSeek", "instruct_type": null }, "pricing": { - "prompt": "0.00000125", - "completion": "0.00000125", + "prompt": "0.0000004", + "completion": "0.0000013", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { - "context_length": 131072, - "max_completion_tokens": 12288, - "is_moderated": false - }, - "per_request_limits": null - }, - { - "id": "qwen/qvq-72b-preview", - "name": "Qwen: QvQ 72B Preview", - "created": 1735088567, - "description": "QVQ-72B-Preview is an experimental research model developed by the [Qwen](/qwen) team, focusing on enhancing visual reasoning capabilities.\n\n## Performance\n\n| | **QVQ-72B-Preview** | o1-2024-12-17 | gpt-4o-2024-05-13 | Claude3.5 Sonnet-20241022 | Qwen2VL-72B |\n|----------------|-----------------|---------------|-------------------|----------------------------|-------------|\n| MMMU(val) | 70.3 | 77.3 | 69.1 | 70.4 | 64.5 |\n| MathVista(mini) | 71.4 | 71.0 | 63.8 | 65.3 | 70.5 |\n| MathVision(full) | 35.9 | – | 30.4 | 35.6 | 25.9 |\n| OlympiadBench | 20.4 | – | 25.9 | – | 11.2 |\n\n\n## Limitations\n\n1. **Language Mixing and Code-Switching:** The model might occasionally mix different languages or unexpectedly switch between them, potentially affecting the clarity of its responses.\n2. **Recursive Reasoning Loops:** There's a risk of the model getting caught in recursive reasoning loops, leading to lengthy responses that may not even arrive at a final answer.\n3. **Safety and Ethical Considerations:** Robust safety measures are needed to ensure reliable and safe performance. Users should exercise caution when deploying this model.\n4. **Performance and Benchmark Limitations:** Despite the improvements in visual reasoning, QVQ doesn’t entirely replace the capabilities of [Qwen2-VL-72B](/qwen/qwen-2-vl-72b-instruct). During multi-step visual reasoning, the model might gradually lose focus on the image content, leading to hallucinations. Moreover, QVQ doesn’t show significant improvement over [Qwen2-VL-72B](/qwen/qwen-2-vl-72b-instruct) in basic recognition tasks like identifying people, animals, or plants.\n\nNote: Currently, the model only supports single-round dialogues and image outputs. It does not support video inputs.", - "context_length": 32000, - "architecture": { - "modality": "text+image->text", - "tokenizer": "Qwen", - "instruct_type": null - }, - "pricing": { - "prompt": "0.00000025", - "completion": "0.0000005", - "image": "0", - "request": "0" - }, - "top_provider": { - "context_length": 32000, - "max_completion_tokens": 8192, + "context_length": 64000, + "max_completion_tokens": 16000, "is_moderated": false }, "per_request_limits": null @@ -1168,7 +2228,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 40000, @@ -1192,7 +2256,11 @@ "prompt": "0.0000007", "completion": "0.0000008", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 131072, @@ -1216,7 +2284,11 @@ "prompt": "0.000015", "completion": "0.00006", "image": "0.021675", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 200000, @@ -1240,7 +2312,11 @@ "prompt": "0.000004", "completion": "0.000006", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 16384, @@ -1264,7 +2340,11 @@ "prompt": "0.000002", "completion": "0.00001", "image": "0.0036", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, @@ -1288,7 +2368,11 @@ "prompt": "0.000002", "completion": "0.00001", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 131072, @@ -1312,7 +2396,11 @@ "prompt": "0.0000000375", "completion": "0.00000015", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -1336,7 +2424,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 1048576, @@ -1360,7 +2452,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 2097152, @@ -1384,7 +2480,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 131072, @@ -1408,7 +2508,11 @@ "prompt": "0.00000012", "completion": "0.0000003", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 131072, @@ -1432,7 +2536,11 @@ "prompt": "0.00000006", "completion": "0.00000024", "image": "0.00009", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 300000, @@ -1456,7 +2564,11 @@ "prompt": "0.000000035", "completion": "0.00000014", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -1480,7 +2592,11 @@ "prompt": "0.0000008", "completion": "0.0000032", "image": "0.0012", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 300000, @@ -1489,6 +2605,34 @@ }, "per_request_limits": null }, + { + "id": "qwen/qwq-32b-preview:free", + "name": "Qwen: QwQ 32B Preview (free)", + "created": 1732754541, + "description": "QwQ-32B-Preview is an experimental research model focused on AI reasoning capabilities developed by the Qwen Team. As a preview release, it demonstrates promising analytical abilities while having several important limitations:\n\n1. **Language Mixing and Code-Switching**: The model may mix languages or switch between them unexpectedly, affecting response clarity.\n2. **Recursive Reasoning Loops**: The model may enter circular reasoning patterns, leading to lengthy responses without a conclusive answer.\n3. **Safety and Ethical Considerations**: The model requires enhanced safety measures to ensure reliable and secure performance, and users should exercise caution when deploying it.\n4. **Performance and Benchmark Limitations**: The model excels in math and coding but has room for improvement in other areas, such as common sense reasoning and nuanced language understanding.\n\n", + "context_length": 16384, + "architecture": { + "modality": "text->text", + "tokenizer": "Qwen", + "instruct_type": null + }, + "pricing": { + "prompt": "0", + "completion": "0", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 16384, + "max_completion_tokens": null, + "is_moderated": false + }, + "per_request_limits": null + }, { "id": "qwen/qwq-32b-preview", "name": "Qwen: QwQ 32B Preview", @@ -1501,14 +2645,18 @@ "instruct_type": null }, "pricing": { - "prompt": "0.00000012", - "completion": "0.00000018", + "prompt": "0.0000002", + "completion": "0.0000002", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, - "max_completion_tokens": 8192, + "max_completion_tokens": null, "is_moderated": false }, "per_request_limits": null @@ -1528,7 +2676,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 40960, @@ -1552,7 +2704,11 @@ "prompt": "0.0000007", "completion": "0.0000007", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32000, @@ -1576,7 +2732,11 @@ "prompt": "0.0000025", "completion": "0.00001", "image": "0.003613", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -1600,7 +2760,11 @@ "prompt": "0.000002", "completion": "0.000006", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -1624,7 +2788,11 @@ "prompt": "0.000002", "completion": "0.000006", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -1648,7 +2816,11 @@ "prompt": "0.000002", "completion": "0.000006", "image": "0.002888", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -1672,7 +2844,11 @@ "prompt": "0.000005", "completion": "0.000015", "image": "0.009", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 8192, @@ -1696,7 +2872,11 @@ "prompt": "0.0000008", "completion": "0.0000012", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 16384, @@ -1705,6 +2885,34 @@ }, "per_request_limits": null }, + { + "id": "qwen/qwen-2.5-coder-32b-instruct:free", + "name": "Qwen2.5 Coder 32B Instruct (free)", + "created": 1731368400, + "description": "Qwen2.5-Coder is the latest series of Code-Specific Qwen large language models (formerly known as CodeQwen). Qwen2.5-Coder brings the following improvements upon CodeQwen1.5:\n\n- Significantly improvements in **code generation**, **code reasoning** and **code fixing**. \n- A more comprehensive foundation for real-world applications such as **Code Agents**. Not only enhancing coding capabilities but also maintaining its strengths in mathematics and general competencies.\n\nTo read more about its evaluation results, check out [Qwen 2.5 Coder's blog](https://qwenlm.github.io/blog/qwen2.5-coder-family/).", + "context_length": 32768, + "architecture": { + "modality": "text->text", + "tokenizer": "Qwen", + "instruct_type": "chatml" + }, + "pricing": { + "prompt": "0", + "completion": "0", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 32768, + "max_completion_tokens": null, + "is_moderated": false + }, + "per_request_limits": null + }, { "id": "qwen/qwen-2.5-coder-32b-instruct", "name": "Qwen2.5 Coder 32B Instruct", @@ -1720,7 +2928,11 @@ "prompt": "0.00000007", "completion": "0.00000016", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 33000, @@ -1744,7 +2956,11 @@ "prompt": "0.0000045", "completion": "0.0000045", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 16000, @@ -1768,7 +2984,11 @@ "prompt": "0.0000026", "completion": "0.0000034", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 16384, @@ -1792,7 +3012,11 @@ "prompt": "0.0000005", "completion": "0.0000005", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32000, @@ -1816,7 +3040,11 @@ "prompt": "0.0000008", "completion": "0.000004", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 200000, @@ -1840,7 +3068,11 @@ "prompt": "0.0000008", "completion": "0.000004", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 200000, @@ -1864,7 +3096,11 @@ "prompt": "0.0000008", "completion": "0.000004", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 200000, @@ -1888,7 +3124,11 @@ "prompt": "0.0000008", "completion": "0.000004", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 200000, @@ -1912,7 +3152,11 @@ "prompt": "0.000003375", "completion": "0.0000045", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 16384, @@ -1936,7 +3180,11 @@ "prompt": "0.000001875", "completion": "0.00000225", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 16384, @@ -1960,7 +3208,11 @@ "prompt": "0.000003", "completion": "0.000015", "image": "0.0048", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 200000, @@ -1984,7 +3236,11 @@ "prompt": "0.000003", "completion": "0.000015", "image": "0.0048", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 200000, @@ -2008,7 +3264,11 @@ "prompt": "0.000005", "completion": "0.000015", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 131072, @@ -2032,7 +3292,11 @@ "prompt": "0.0000001", "completion": "0.0000001", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -2056,7 +3320,11 @@ "prompt": "0.00000004", "completion": "0.00000004", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -2080,7 +3348,11 @@ "prompt": "0.000000025", "completion": "0.00000005", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, @@ -2104,7 +3376,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 131072, @@ -2128,7 +3404,11 @@ "prompt": "0.00000012", "completion": "0.0000003", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 131000, @@ -2152,7 +3432,11 @@ "prompt": "0.0000025", "completion": "0.00001", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 8000, @@ -2176,11 +3460,15 @@ "prompt": "0.0000025", "completion": "0.00001", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 8000, - "max_completion_tokens": null, + "max_completion_tokens": 1024, "is_moderated": false }, "per_request_limits": null @@ -2200,7 +3488,11 @@ "prompt": "0.0000000375", "completion": "0.00000015", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 1000000, @@ -2224,7 +3516,11 @@ "prompt": "0.000003", "completion": "0.000003", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, @@ -2248,7 +3544,11 @@ "prompt": "0.00000015", "completion": "0.00000015", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, @@ -2272,7 +3572,11 @@ "prompt": "0.00000025", "completion": "0.0000005", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, @@ -2281,6 +3585,34 @@ }, "per_request_limits": null }, + { + "id": "meta-llama/llama-3.2-3b-instruct:free", + "name": "Meta: Llama 3.2 3B Instruct (free)", + "created": 1727222400, + "description": "Llama 3.2 3B is a 3-billion-parameter multilingual large language model, optimized for advanced natural language processing tasks like dialogue generation, reasoning, and summarization. Designed with the latest transformer architecture, it supports eight languages, including English, Spanish, and Hindi, and is adaptable for additional languages.\n\nTrained on 9 trillion tokens, the Llama 3.2 3B model excels in instruction-following, complex reasoning, and tool use. Its balanced performance makes it ideal for applications needing accuracy and efficiency in text generation across multilingual settings.\n\nClick here for the [original model card](https://github.com/meta-llama/llama-models/blob/main/models/llama3_2/MODEL_CARD.md).\n\nUsage of this model is subject to [Meta's Acceptable Use Policy](https://www.llama.com/llama3/use-policy/).", + "context_length": 20000, + "architecture": { + "modality": "text->text", + "tokenizer": "Llama3", + "instruct_type": "llama3" + }, + "pricing": { + "prompt": "0", + "completion": "0", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 20000, + "max_completion_tokens": 20000, + "is_moderated": false + }, + "per_request_limits": null + }, { "id": "meta-llama/llama-3.2-3b-instruct", "name": "Meta: Llama 3.2 3B Instruct", @@ -2296,7 +3628,11 @@ "prompt": "0.000000015", "completion": "0.000000025", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 131000, @@ -2320,7 +3656,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 131072, @@ -2344,7 +3684,11 @@ "prompt": "0.00000001", "completion": "0.00000001", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 131072, @@ -2368,11 +3712,15 @@ "prompt": "0.0000008", "completion": "0.0000016", "image": "0.0051456", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 4096, - "max_completion_tokens": 2048, + "max_completion_tokens": 4096, "is_moderated": false }, "per_request_limits": null @@ -2392,7 +3740,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 131072, @@ -2416,10 +3768,42 @@ "prompt": "0.000000055", "completion": "0.000000055", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 16384, + "max_completion_tokens": 16384, + "is_moderated": false + }, + "per_request_limits": null + }, + { + "id": "qwen/qwen-2.5-72b-instruct:free", + "name": "Qwen2.5 72B Instruct (free)", + "created": 1726704000, + "description": "Qwen2.5 72B is the latest series of Qwen large language models. Qwen2.5 brings the following improvements upon Qwen2:\n\n- Significantly more knowledge and has greatly improved capabilities in coding and mathematics, thanks to our specialized expert models in these domains.\n\n- Significant improvements in instruction following, generating long texts (over 8K tokens), understanding structured data (e.g, tables), and generating structured outputs especially JSON. More resilient to the diversity of system prompts, enhancing role-play implementation and condition-setting for chatbots.\n\n- Long-context Support up to 128K tokens and can generate up to 8K tokens.\n\n- Multilingual support for over 29 languages, including Chinese, English, French, Spanish, Portuguese, German, Italian, Russian, Japanese, Korean, Vietnamese, Thai, Arabic, and more.\n\nUsage of this model is subject to [Tongyi Qianwen LICENSE AGREEMENT](https://huggingface.co/Qwen/Qwen1.5-110B-Chat/blob/main/LICENSE).", + "context_length": 32768, + "architecture": { + "modality": "text->text", + "tokenizer": "Qwen", + "instruct_type": "chatml" + }, + "pricing": { + "prompt": "0", + "completion": "0", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 32768, "max_completion_tokens": null, "is_moderated": false }, @@ -2440,7 +3824,11 @@ "prompt": "0.00000013", "completion": "0.0000004", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -2450,10 +3838,10 @@ "per_request_limits": null }, { - "id": "qwen/qwen-2-vl-72b-instruct", - "name": "Qwen2-VL 72B Instruct", + "id": "qwen/qwen-2.5-vl-72b-instruct", + "name": "Qwen: Qwen2.5-VL 72B Instruct", "created": 1726617600, - "description": "Qwen2 VL 72B is a multimodal LLM from the Qwen Team with the following key enhancements:\n\n- SoTA understanding of images of various resolution & ratio: Qwen2-VL achieves state-of-the-art performance on visual understanding benchmarks, including MathVista, DocVQA, RealWorldQA, MTVQA, etc.\n\n- Understanding videos of 20min+: Qwen2-VL can understand videos over 20 minutes for high-quality video-based question answering, dialog, content creation, etc.\n\n- Agent that can operate your mobiles, robots, etc.: with the abilities of complex reasoning and decision making, Qwen2-VL can be integrated with devices like mobile phones, robots, etc., for automatic operation based on visual environment and text instructions.\n\n- Multilingual Support: to serve global users, besides English and Chinese, Qwen2-VL now supports the understanding of texts in different languages inside images, including most European languages, Japanese, Korean, Arabic, Vietnamese, etc.\n\nFor more details, see this [blog post](https://qwenlm.github.io/blog/qwen2-vl/) and [GitHub repo](https://github.com/QwenLM/Qwen2-VL).\n\nUsage of this model is subject to [Tongyi Qianwen LICENSE AGREEMENT](https://huggingface.co/Qwen/Qwen1.5-110B-Chat/blob/main/LICENSE).", + "description": "Qwen2.5 VL 72B is a multimodal LLM from the Qwen Team with the following key enhancements:\n\n- SoTA understanding of images of various resolution & ratio: Qwen2.5-VL achieves state-of-the-art performance on visual understanding benchmarks, including MathVista, DocVQA, RealWorldQA, MTVQA, etc.\n\n- Understanding videos of 20min+: Qwen2.5-VL can understand videos over 20 minutes for high-quality video-based question answering, dialog, content creation, etc.\n\n- Agent that can operate your mobiles, robots, etc.: with the abilities of complex reasoning and decision making, Qwen2.5-VL can be integrated with devices like mobile phones, robots, etc., for automatic operation based on visual environment and text instructions.\n\n- Multilingual Support: to serve global users, besides English and Chinese, Qwen2.5-VL now supports the understanding of texts in different languages inside images, including most European languages, Japanese, Korean, Arabic, Vietnamese, etc.\n\nFor more details, see this [blog post](https://qwenlm.github.io/blog/qwen2-vl/) and [GitHub repo](https://github.com/QwenLM/Qwen2-VL).\n\nUsage of this model is subject to [Tongyi Qianwen LICENSE AGREEMENT](https://huggingface.co/Qwen/Qwen1.5-110B-Chat/blob/main/LICENSE).", "context_length": 4096, "architecture": { "modality": "text+image->text", @@ -2461,10 +3849,14 @@ "instruct_type": null }, "pricing": { - "prompt": "0.0000004", - "completion": "0.0000004", + "prompt": "0.0000006", + "completion": "0.0000006", "image": "0.000578", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 4096, @@ -2488,7 +3880,11 @@ "prompt": "0.0000001875", "completion": "0.000001125", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, @@ -2512,7 +3908,11 @@ "prompt": "0.0000011", "completion": "0.0000044", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -2536,7 +3936,11 @@ "prompt": "0.000015", "completion": "0.00006", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -2560,7 +3964,11 @@ "prompt": "0.000015", "completion": "0.00006", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -2584,7 +3992,11 @@ "prompt": "0.0000011", "completion": "0.0000044", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -2608,7 +4020,11 @@ "prompt": "0.0000001", "completion": "0.0000001", "image": "0.0001445", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 4096, @@ -2632,7 +4048,11 @@ "prompt": "0.0000001425", "completion": "0.00000057", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -2656,7 +4076,11 @@ "prompt": "0.000002375", "completion": "0.0000095", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -2665,30 +4089,6 @@ }, "per_request_limits": null }, - { - "id": "qwen/qwen-2-vl-7b-instruct", - "name": "Qwen2-VL 7B Instruct", - "created": 1724803200, - "description": "Qwen2 VL 7B is a multimodal LLM from the Qwen Team with the following key enhancements:\n\n- SoTA understanding of images of various resolution & ratio: Qwen2-VL achieves state-of-the-art performance on visual understanding benchmarks, including MathVista, DocVQA, RealWorldQA, MTVQA, etc.\n\n- Understanding videos of 20min+: Qwen2-VL can understand videos over 20 minutes for high-quality video-based question answering, dialog, content creation, etc.\n\n- Agent that can operate your mobiles, robots, etc.: with the abilities of complex reasoning and decision making, Qwen2-VL can be integrated with devices like mobile phones, robots, etc., for automatic operation based on visual environment and text instructions.\n\n- Multilingual Support: to serve global users, besides English and Chinese, Qwen2-VL now supports the understanding of texts in different languages inside images, including most European languages, Japanese, Korean, Arabic, Vietnamese, etc.\n\nFor more details, see this [blog post](https://qwenlm.github.io/blog/qwen2-vl/) and [GitHub repo](https://github.com/QwenLM/Qwen2-VL).\n\nUsage of this model is subject to [Tongyi Qianwen LICENSE AGREEMENT](https://huggingface.co/Qwen/Qwen1.5-110B-Chat/blob/main/LICENSE).", - "context_length": 4096, - "architecture": { - "modality": "text+image->text", - "tokenizer": "Qwen", - "instruct_type": null - }, - "pricing": { - "prompt": "0.0000001", - "completion": "0.0000001", - "image": "0.0001445", - "request": "0" - }, - "top_provider": { - "context_length": 4096, - "max_completion_tokens": null, - "is_moderated": false - }, - "per_request_limits": null - }, { "id": "sao10k/l3.1-euryale-70b", "name": "Sao10K: Llama 3.1 Euryale 70B v2.2", @@ -2704,7 +4104,11 @@ "prompt": "0.0000007", "completion": "0.0000008", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 131072, @@ -2728,7 +4132,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 1000000, @@ -2737,6 +4145,34 @@ }, "per_request_limits": null }, + { + "id": "qwen/qwen-2.5-vl-7b-instruct", + "name": "Qwen: Qwen2.5-VL 7B Instruct", + "created": 1724803200, + "description": "Qwen2.5 VL 7B is a multimodal LLM from the Qwen Team with the following key enhancements:\n\n- SoTA understanding of images of various resolution & ratio: Qwen2.5-VL achieves state-of-the-art performance on visual understanding benchmarks, including MathVista, DocVQA, RealWorldQA, MTVQA, etc.\n\n- Understanding videos of 20min+: Qwen2.5-VL can understand videos over 20 minutes for high-quality video-based question answering, dialog, content creation, etc.\n\n- Agent that can operate your mobiles, robots, etc.: with the abilities of complex reasoning and decision making, Qwen2.5-VL can be integrated with devices like mobile phones, robots, etc., for automatic operation based on visual environment and text instructions.\n\n- Multilingual Support: to serve global users, besides English and Chinese, Qwen2.5-VL now supports the understanding of texts in different languages inside images, including most European languages, Japanese, Korean, Arabic, Vietnamese, etc.\n\nFor more details, see this [blog post](https://qwenlm.github.io/blog/qwen2-vl/) and [GitHub repo](https://github.com/QwenLM/Qwen2-VL).\n\nUsage of this model is subject to [Tongyi Qianwen LICENSE AGREEMENT](https://huggingface.co/Qwen/Qwen1.5-110B-Chat/blob/main/LICENSE).", + "context_length": 4096, + "architecture": { + "modality": "text+image->text", + "tokenizer": "Qwen", + "instruct_type": null + }, + "pricing": { + "prompt": "0.0000002", + "completion": "0.0000002", + "image": "0.0001445", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 4096, + "max_completion_tokens": null, + "is_moderated": false + }, + "per_request_limits": null + }, { "id": "ai21/jamba-1-5-large", "name": "AI21: Jamba 1.5 Large", @@ -2752,7 +4188,11 @@ "prompt": "0.000002", "completion": "0.000008", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 256000, @@ -2776,7 +4216,11 @@ "prompt": "0.0000002", "completion": "0.0000004", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 256000, @@ -2800,7 +4244,11 @@ "prompt": "0.0000001", "completion": "0.0000001", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -2824,7 +4272,11 @@ "prompt": "0.00000012", "completion": "0.0000003", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 131000, @@ -2838,7 +4290,7 @@ "name": "Nous: Hermes 3 405B Instruct", "created": 1723766400, "description": "Hermes 3 is a generalist language model with many improvements over Hermes 2, including advanced agentic capabilities, much better roleplaying, reasoning, multi-turn conversation, long context coherence, and improvements across the board.\n\nHermes 3 405B is a frontier-level, full-parameter finetune of the Llama-3.1 405B foundation model, focused on aligning LLMs to the user, with powerful steering capabilities and control given to the end user.\n\nThe Hermes 3 series builds and expands on the Hermes 2 set of capabilities, including more powerful and reliable function calling and structured output capabilities, generalist assistant capabilities, and improved code generation skills.\n\nHermes 3 is competitive, if not superior, to Llama-3.1 Instruct models at general capabilities, with varying strengths and weaknesses attributable between the two.", - "context_length": 131072, + "context_length": 131000, "architecture": { "modality": "text->text", "tokenizer": "Llama3", @@ -2848,35 +4300,15 @@ "prompt": "0.0000008", "completion": "0.0000008", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { - "context_length": 131072, - "max_completion_tokens": 8192, - "is_moderated": false - }, - "per_request_limits": null - }, - { - "id": "perplexity/llama-3.1-sonar-huge-128k-online", - "name": "Perplexity: Llama 3.1 Sonar 405B Online", - "created": 1723593600, - "description": "Llama 3.1 Sonar is Perplexity's latest model family. It surpasses their earlier Sonar models in cost-efficiency, speed, and performance. The model is built upon the Llama 3.1 405B and has internet access.", - "context_length": 127072, - "architecture": { - "modality": "text->text", - "tokenizer": "Llama3", - "instruct_type": null - }, - "pricing": { - "prompt": "0.000005", - "completion": "0.000005", - "image": "0", - "request": "0.005" - }, - "top_provider": { - "context_length": 127072, - "max_completion_tokens": null, + "context_length": 131000, + "max_completion_tokens": 131000, "is_moderated": false }, "per_request_limits": null @@ -2896,7 +4328,11 @@ "prompt": "0.000005", "completion": "0.000015", "image": "0.007225", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -2920,7 +4356,11 @@ "prompt": "0.00000003", "completion": "0.00000006", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 8192, @@ -2944,7 +4384,11 @@ "prompt": "0.0000008", "completion": "0.0000012", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 16384, @@ -2968,7 +4412,11 @@ "prompt": "0.0000025", "completion": "0.00001", "image": "0.003613", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -2992,7 +4440,11 @@ "prompt": "0.000002", "completion": "0.000002", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, @@ -3016,7 +4468,11 @@ "prompt": "0.0000008", "completion": "0.0000012", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 16384, @@ -3040,7 +4496,11 @@ "prompt": "0.0000002", "completion": "0.0000002", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 131072, @@ -3064,7 +4524,11 @@ "prompt": "0.000001", "completion": "0.000001", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 131072, @@ -3088,7 +4552,11 @@ "prompt": "0.000001", "completion": "0.000001", "image": "0", - "request": "0.005" + "request": "0.005", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 127072, @@ -3112,7 +4580,11 @@ "prompt": "0.0000002", "completion": "0.0000002", "image": "0", - "request": "0.005" + "request": "0.005", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 127072, @@ -3136,7 +4608,11 @@ "prompt": "0.0000008", "completion": "0.0000008", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, @@ -3160,7 +4636,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 131072, @@ -3184,7 +4664,11 @@ "prompt": "0.00000002", "completion": "0.00000005", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 131072, @@ -3208,7 +4692,11 @@ "prompt": "0.00000012", "completion": "0.0000003", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 131072, @@ -3232,7 +4720,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -3256,7 +4748,11 @@ "prompt": "0.000000035", "completion": "0.00000008", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 131072, @@ -3280,7 +4776,11 @@ "prompt": "0.00000025", "completion": "0.00000025", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 256000, @@ -3303,8 +4803,12 @@ "pricing": { "prompt": "0.00000015", "completion": "0.0000006", - "image": "0.007225", - "request": "0" + "image": "0.000217", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -3328,7 +4832,11 @@ "prompt": "0.00000015", "completion": "0.0000006", "image": "0.007225", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -3352,7 +4860,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 8192, @@ -3376,7 +4888,11 @@ "prompt": "0.000000054", "completion": "0.000000054", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, @@ -3400,7 +4916,11 @@ "prompt": "0.00000027", "completion": "0.00000027", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 8192, @@ -3424,7 +4944,11 @@ "prompt": "0.000001875", "completion": "0.00000225", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 16384, @@ -3448,7 +4972,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 8192, @@ -3472,7 +5000,11 @@ "prompt": "0.00000003", "completion": "0.00000006", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 8192, @@ -3496,7 +5028,11 @@ "prompt": "0.000003", "completion": "0.000003", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, @@ -3520,7 +5056,11 @@ "prompt": "0.0000005", "completion": "0.0000007", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 256000, @@ -3544,7 +5084,11 @@ "prompt": "0.000003", "completion": "0.000015", "image": "0.0048", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 200000, @@ -3568,7 +5112,11 @@ "prompt": "0.000003", "completion": "0.000015", "image": "0.0048", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 200000, @@ -3592,7 +5140,11 @@ "prompt": "0.0000007", "completion": "0.0000008", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 8192, @@ -3616,7 +5168,11 @@ "prompt": "0.0000009", "completion": "0.0000009", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 16000, @@ -3640,7 +5196,11 @@ "prompt": "0.0000009", "completion": "0.0000009", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, @@ -3664,7 +5224,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 8192, @@ -3688,7 +5252,11 @@ "prompt": "0.00000003", "completion": "0.000000055", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, @@ -3712,7 +5280,11 @@ "prompt": "0.00000003", "completion": "0.000000055", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, @@ -3736,7 +5308,11 @@ "prompt": "0.000000025", "completion": "0.00000004", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 131000, @@ -3760,7 +5336,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 8192, @@ -3784,7 +5364,11 @@ "prompt": "0.0000001", "completion": "0.0000001", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -3808,7 +5392,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 8192, @@ -3832,7 +5420,11 @@ "prompt": "0.000001", "completion": "0.000001", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -3856,7 +5448,11 @@ "prompt": "0.000003375", "completion": "0.0000045", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 8192, @@ -3880,7 +5476,11 @@ "prompt": "0.000000075", "completion": "0.0000003", "image": "0.00004", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 1000000, @@ -3889,30 +5489,6 @@ }, "per_request_limits": null }, - { - "id": "deepseek/deepseek-chat-v2.5", - "name": "DeepSeek V2.5", - "created": 1715644800, - "description": "DeepSeek-V2.5 is an upgraded version that combines DeepSeek-V2-Chat and DeepSeek-Coder-V2-Instruct. The new model integrates the general and coding abilities of the two previous versions. For model details, please visit [DeepSeek-V2 page](https://github.com/deepseek-ai/DeepSeek-V2) for more information.", - "context_length": 8192, - "architecture": { - "modality": "text->text", - "tokenizer": "Other", - "instruct_type": null - }, - "pricing": { - "prompt": "0.000002", - "completion": "0.000002", - "image": "0", - "request": "0" - }, - "top_provider": { - "context_length": 8192, - "max_completion_tokens": null, - "is_moderated": false - }, - "per_request_limits": null - }, { "id": "openai/gpt-4o-2024-05-13", "name": "OpenAI: GPT-4o (2024-05-13)", @@ -3928,7 +5504,11 @@ "prompt": "0.000005", "completion": "0.000015", "image": "0.007225", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -3952,7 +5532,11 @@ "prompt": "0.0000002", "completion": "0.0000002", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 8192, @@ -3976,7 +5560,11 @@ "prompt": "0.0000025", "completion": "0.00001", "image": "0.003613", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -4000,7 +5588,11 @@ "prompt": "0.000006", "completion": "0.000018", "image": "0.007225", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -4024,7 +5616,11 @@ "prompt": "0.0000001875", "completion": "0.000001125", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 24576, @@ -4048,7 +5644,11 @@ "prompt": "0.0000001875", "completion": "0.000001125", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 24576, @@ -4072,7 +5672,11 @@ "prompt": "0.0000008", "completion": "0.0000012", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 4096, @@ -4096,7 +5700,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 8192, @@ -4120,7 +5728,11 @@ "prompt": "0.00000003", "completion": "0.00000006", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 8192, @@ -4144,7 +5756,11 @@ "prompt": "0.00000023", "completion": "0.0000004", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 8192, @@ -4168,7 +5784,11 @@ "prompt": "0.0000009", "completion": "0.0000009", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 65536, @@ -4192,7 +5812,11 @@ "prompt": "0.0000005", "completion": "0.0000005", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 65536, @@ -4216,7 +5840,11 @@ "prompt": "0.00000007", "completion": "0.00000007", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32000, @@ -4240,7 +5868,11 @@ "prompt": "0.00000125", "completion": "0.000005", "image": "0.0006575", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 2000000, @@ -4264,7 +5896,11 @@ "prompt": "0.00001", "completion": "0.00003", "image": "0.01445", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -4288,7 +5924,11 @@ "prompt": "0.00000285", "completion": "0.00001425", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -4312,7 +5952,11 @@ "prompt": "0.00000285", "completion": "0.00001425", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -4321,30 +5965,6 @@ }, "per_request_limits": null }, - { - "id": "databricks/dbrx-instruct", - "name": "Databricks: DBRX 132B Instruct", - "created": 1711670400, - "description": "DBRX is a new open source large language model developed by Databricks. At 132B, it outperforms existing open source LLMs like Llama 2 70B and [Mixtral-8x7b](/models/mistralai/mixtral-8x7b) on standard industry benchmarks for language understanding, programming, math, and logic.\n\nIt uses a fine-grained mixture-of-experts (MoE) architecture. 36B parameters are active on any input. It was pre-trained on 12T tokens of text and code data. Compared to other open MoE models like Mixtral-8x7B and Grok-1, DBRX is fine-grained, meaning it uses a larger number of smaller experts.\n\nSee the launch announcement and benchmark results [here](https://www.databricks.com/blog/introducing-dbrx-new-state-art-open-llm).\n\n#moe", - "context_length": 32768, - "architecture": { - "modality": "text->text", - "tokenizer": "Other", - "instruct_type": "chatml" - }, - "pricing": { - "prompt": "0.0000012", - "completion": "0.0000012", - "image": "0", - "request": "0" - }, - "top_provider": { - "context_length": 32768, - "max_completion_tokens": 2048, - "is_moderated": false - }, - "per_request_limits": null - }, { "id": "sophosympatheia/midnight-rose-70b", "name": "Midnight Rose 70B", @@ -4360,7 +5980,11 @@ "prompt": "0.0000008", "completion": "0.0000008", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 4096, @@ -4384,7 +6008,11 @@ "prompt": "0.00000095", "completion": "0.0000019", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 4096, @@ -4408,7 +6036,11 @@ "prompt": "0.000000475", "completion": "0.000001425", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -4432,7 +6064,11 @@ "prompt": "0.00000025", "completion": "0.00000125", "image": "0.0004", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 200000, @@ -4456,7 +6092,11 @@ "prompt": "0.00000025", "completion": "0.00000125", "image": "0.0004", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 200000, @@ -4480,7 +6120,11 @@ "prompt": "0.000015", "completion": "0.000075", "image": "0.024", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 200000, @@ -4504,7 +6148,11 @@ "prompt": "0.000015", "completion": "0.000075", "image": "0.024", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 200000, @@ -4528,7 +6176,11 @@ "prompt": "0.000003", "completion": "0.000015", "image": "0.0048", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 200000, @@ -4552,7 +6204,11 @@ "prompt": "0.000003", "completion": "0.000015", "image": "0.0048", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 200000, @@ -4576,7 +6232,11 @@ "prompt": "0.000000475", "completion": "0.000001425", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -4600,7 +6260,11 @@ "prompt": "0.000002", "completion": "0.000006", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -4624,7 +6288,11 @@ "prompt": "0.00000015", "completion": "0.00000015", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 8192, @@ -4648,7 +6316,11 @@ "prompt": "0.000001", "completion": "0.000002", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 4095, @@ -4672,7 +6344,11 @@ "prompt": "0.00001", "completion": "0.00003", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -4696,7 +6372,11 @@ "prompt": "0.0000006", "completion": "0.0000006", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, @@ -4720,7 +6400,11 @@ "prompt": "0.0000002", "completion": "0.0000006", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32000, @@ -4744,7 +6428,11 @@ "prompt": "0.00000025", "completion": "0.00000025", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32000, @@ -4768,7 +6456,11 @@ "prompt": "0.00000275", "completion": "0.0000081", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32000, @@ -4777,6 +6469,34 @@ }, "per_request_limits": null }, + { + "id": "mistralai/mistral-7b-instruct-v0.2", + "name": "Mistral: Mistral 7B Instruct v0.2", + "created": 1703721600, + "description": "A high-performing, industry-standard 7.3B parameter model, with optimizations for speed and context length.\n\nAn improved version of [Mistral 7B Instruct](/modelsmistralai/mistral-7b-instruct-v0.1), with the following changes:\n\n- 32k context window (vs 8k context in v0.1)\n- Rope-theta = 1e6\n- No Sliding-Window Attention", + "context_length": 32768, + "architecture": { + "modality": "text->text", + "tokenizer": "Mistral", + "instruct_type": "mistral" + }, + "pricing": { + "prompt": "0.0000002", + "completion": "0.0000002", + "image": "0", + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" + }, + "top_provider": { + "context_length": 32768, + "max_completion_tokens": null, + "is_moderated": false + }, + "per_request_limits": null + }, { "id": "cognitivecomputations/dolphin-mixtral-8x7b", "name": "Dolphin 2.6 Mixtral 8x7B 🐬", @@ -4792,7 +6512,11 @@ "prompt": "0.0000005", "completion": "0.0000005", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, @@ -4816,7 +6540,11 @@ "prompt": "0.0000005", "completion": "0.0000015", "image": "0.0025", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 16384, @@ -4840,7 +6568,11 @@ "prompt": "0.0000005", "completion": "0.0000015", "image": "0.0025", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32760, @@ -4864,7 +6596,11 @@ "prompt": "0.0000006", "completion": "0.0000006", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, @@ -4888,7 +6624,11 @@ "prompt": "0.00000024", "completion": "0.00000024", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, @@ -4912,7 +6652,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 8192, @@ -4936,7 +6680,11 @@ "prompt": "0.000000055", "completion": "0.000000055", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 8192, @@ -4960,7 +6708,11 @@ "prompt": "0.0000015", "completion": "0.00000225", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 8192, @@ -4984,7 +6736,11 @@ "prompt": "0.000008", "completion": "0.000024", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 200000, @@ -5008,7 +6764,11 @@ "prompt": "0.000008", "completion": "0.000024", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 200000, @@ -5032,7 +6792,11 @@ "prompt": "0.000008", "completion": "0.000024", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 200000, @@ -5056,7 +6820,11 @@ "prompt": "0.000008", "completion": "0.000024", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 200000, @@ -5080,7 +6848,11 @@ "prompt": "0.00000017", "completion": "0.00000017", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 4096, @@ -5104,7 +6876,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 4096, @@ -5128,7 +6904,11 @@ "prompt": "0.00000007", "completion": "0.00000007", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 4096, @@ -5152,7 +6932,11 @@ "prompt": "0.000009375", "completion": "0.000009375", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 6144, @@ -5176,7 +6960,11 @@ "prompt": "-1", "completion": "-1", "request": "-1", - "image": "-1" + "image": "-1", + "web_search": "-1", + "input_cache_read": "-1", + "input_cache_write": "-1", + "internal_reasoning": "-1" }, "top_provider": { "context_length": null, @@ -5200,7 +6988,11 @@ "prompt": "0.000001", "completion": "0.000002", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 16385, @@ -5224,7 +7016,11 @@ "prompt": "0.00001", "completion": "0.00003", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 128000, @@ -5248,7 +7044,11 @@ "prompt": "0.000001", "completion": "0.000002", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, @@ -5272,7 +7072,11 @@ "prompt": "0.000001", "completion": "0.000002", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, @@ -5296,7 +7100,11 @@ "prompt": "0.0000005", "completion": "0.0000005", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 4000, @@ -5320,7 +7128,11 @@ "prompt": "0.00000375", "completion": "0.00000375", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 8192, @@ -5344,7 +7156,11 @@ "prompt": "0.0000015", "completion": "0.000002", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 4095, @@ -5368,7 +7184,11 @@ "prompt": "0.0000002", "completion": "0.0000002", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32768, @@ -5392,7 +7212,11 @@ "prompt": "0.0000008", "completion": "0.0000012", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 4096, @@ -5416,7 +7240,11 @@ "prompt": "0.000003", "completion": "0.000004", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 16385, @@ -5440,7 +7268,11 @@ "prompt": "0.00006", "completion": "0.00012", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32767, @@ -5464,7 +7296,11 @@ "prompt": "0.00006", "completion": "0.00012", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 32767, @@ -5485,10 +7321,14 @@ "instruct_type": "alpaca" }, "pricing": { - "prompt": "0.00000018", - "completion": "0.00000018", + "prompt": "0.00000017", + "completion": "0.00000017", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 4096, @@ -5512,7 +7352,11 @@ "prompt": "0.0000015", "completion": "0.00000225", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 8000, @@ -5536,7 +7380,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 4096, @@ -5560,7 +7408,11 @@ "prompt": "0.000008", "completion": "0.000024", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 100000, @@ -5584,7 +7436,11 @@ "prompt": "0.000008", "completion": "0.000024", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 100000, @@ -5608,7 +7464,11 @@ "prompt": "0.0000008", "completion": "0.0000012", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 4096, @@ -5632,7 +7492,11 @@ "prompt": "0.000001", "completion": "0.000002", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 9216, @@ -5656,7 +7520,11 @@ "prompt": "0.000001", "completion": "0.000002", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 7168, @@ -5680,7 +7548,11 @@ "prompt": "0", "completion": "0", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 4096, @@ -5704,7 +7576,11 @@ "prompt": "0.000000065", "completion": "0.000000065", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 4096, @@ -5728,7 +7604,11 @@ "prompt": "0.00000022", "completion": "0.00000022", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 4096, @@ -5752,7 +7632,11 @@ "prompt": "0.0000009", "completion": "0.0000009", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 4096, @@ -5776,7 +7660,11 @@ "prompt": "0.0000005", "completion": "0.0000015", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 16385, @@ -5800,7 +7688,11 @@ "prompt": "0.0000005", "completion": "0.0000015", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 16385, @@ -5824,7 +7716,11 @@ "prompt": "0.00003", "completion": "0.00006", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 8191, @@ -5848,7 +7744,11 @@ "prompt": "0.00003", "completion": "0.00006", "image": "0", - "request": "0" + "request": "0", + "input_cache_read": "0", + "input_cache_write": "0", + "web_search": "0", + "internal_reasoning": "0" }, "top_provider": { "context_length": 8191, diff --git a/packages/kbot/package-lock.json b/packages/kbot/package-lock.json index 38545513..edcbd994 100644 --- a/packages/kbot/package-lock.json +++ b/packages/kbot/package-lock.json @@ -134,12 +134,11 @@ "license": "BSD", "dependencies": { "tslog": "^3.3.3", - "tsup": "^8.3.5", - "type-fest": "^4.34.1", + "type-fest": "^4.37.0", "zod": "^3.24.1" }, "devDependencies": { - "@repo/typescript-config": "workspace:*", + "@repo/typescript-config": "../typescript-config", "@types/node": "^22.12.0", "typescript": "^5.7.3" } diff --git a/packages/media/_cli.js b/packages/media/_cli.js index cf81054e..a4505282 100644 --- a/packages/media/_cli.js +++ b/packages/media/_cli.js @@ -1,146 +1,146 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.sanitizeVideo = exports.sanitize = exports.defaults = void 0; -const osr_commons_1 = require("@plastichub/osr-commons"); -const osr_commons_2 = require("@plastichub/osr-commons"); -const exists_1 = require("@plastichub/fs/exists"); -const images_1 = require("./lib/media/images"); -const _1 = require("./"); -const globBase = require('glob-base'); -const defaults = () => { - const DefaultCommand = 'info'; - if (process.argv.length === 2) { - process.argv.push(DefaultCommand); - } - process.on('unhandledRejection', (reason) => { - console.error('Unhandled rejection, reason: ', reason); - }); -}; -exports.defaults = defaults; -const sanitize = (argv) => { - const options = { - src: argv.src, - dst: argv.dst, - debug: argv.debug, - dry: argv.dry, - alt: argv.alt, - percent: argv.percent, - width: argv.width === false ? undefined : argv.width, - height: argv.height === false ? undefined : argv.height, - minWidth: argv.minWidth === false ? undefined : argv.minWidth, - minHeight: argv.minHeight === false ? undefined : argv.minHeight, - minSize: argv.minSize === false ? undefined : argv.minSize, - fit: argv.fit, - position: argv.position, - logLevel: argv.logLevel, - withoutEnlargement: argv.withoutEnlargement, - withoutReduction: argv.withoutReduction, - fastShrinkOnLoad: argv.fastShrinkOnLoad, - background: argv.background, - ...argv - }; - let srcInfo; - let variables = { - IMAGES: images_1.GLOB_BASIC, - ...options.variables - }; - if (options.src) { - const srcIn = (0, osr_commons_2.resolve)(options.src, options.alt, variables); - options.src = (0, osr_commons_1.forward_slash)((0, _1.substitute)(options.alt, srcIn, variables)); - // in case a file with a glob pattern is provided, strip the glob - // this is a special case, enabling shared scripts in Alt-Tap Salamand - const glob_base = globBase(options.src); - const file = options.src.replace(glob_base.glob, '').replace(/\/$/, ''); - if ((0, exists_1.sync)(file) && (0, osr_commons_2.isFile)(file)) { - options.src = file; - } - srcInfo = (0, osr_commons_1.pathInfo)((0, osr_commons_2.resolve)(options.src, options.alt, variables)); - if (srcInfo && srcInfo.FILES && srcInfo.FILES.length) { - options.srcInfo = srcInfo; - for (const key in srcInfo) { - if (Object.prototype.hasOwnProperty.call(srcInfo, key)) { - variables['SRC_' + key] = srcInfo[key]; - } - } - } - else { - options.src = (0, osr_commons_2.resolve)(options.src, options.alt, variables); - } - } - options.dstInfo = (0, osr_commons_1.pathInfoEx)(options.dst || ""); - if (options.dstInfo && options.dst) { - if (options.srcInfo && options.dstInfo) { - options.dstInfo.PATH = options.dst; - for (const key in options.dstInfo) { - if (Object.prototype.hasOwnProperty.call(options.dstInfo, key)) { - variables['DST_' + key] = options.dstInfo[key]; - } - } - } - else { - options.dst = (0, osr_commons_2.resolve)(options.dst || '', options.alt, variables); - } - } - options.variables = variables; - return options; -}; -exports.sanitize = sanitize; -const sanitizeVideo = (argv) => { - const options = { - src: argv.src, - dst: argv.dst, - dry: argv.dry, - alt: argv.alt, - verb: argv.verb, - audio: argv.audio, - percent: argv.percent, - logLevel: argv.logLevel, - ...argv - }; - let srcInfo; - let variables = { - IMAGES: images_1.GLOB_BASIC, - ...options.variables - }; - if (options.src) { - const srcIn = (0, osr_commons_2.resolve)(options.src, options.alt, variables); - options.src = (0, osr_commons_1.forward_slash)((0, _1.substitute)(options.alt, srcIn, variables)); - // in case a file with a glob pattern is provided, strip the glob - // this is a special case, enabling shared scripts in Alt-Tap Salamand - const glob_base = globBase(options.src); - const file = options.src.replace(glob_base.glob, '').replace(/\/$/, ''); - if ((0, exists_1.sync)(file) && (0, osr_commons_2.isFile)(file)) { - options.src = file; - } - srcInfo = (0, osr_commons_1.pathInfo)((0, osr_commons_2.resolve)(options.src, options.alt, variables)); - if (srcInfo && srcInfo.FILES && srcInfo.FILES.length) { - options.srcInfo = srcInfo; - for (const key in srcInfo) { - if (Object.prototype.hasOwnProperty.call(srcInfo, key)) { - variables['SRC_' + key] = srcInfo[key]; - } - } - } - else { - options.src = (0, osr_commons_2.resolve)(options.src, options.alt, variables); - } - } - options.dstInfo = (0, osr_commons_1.pathInfoEx)(options.dst || ""); - if (options.dstInfo && options.dst) { - if (options.srcInfo && options.dstInfo) { - options.dstInfo.PATH = options.dst; - for (const key in options.dstInfo) { - if (Object.prototype.hasOwnProperty.call(options.dstInfo, key)) { - variables['DST_' + key] = options.dstInfo[key]; - } - } - } - else { - options.dst = (0, osr_commons_2.resolve)(options.dst || '', options.alt, variables); - } - } - options.variables = variables; - return options; -}; -exports.sanitizeVideo = sanitizeVideo; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2NsaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNyYy9fY2xpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHlEQUE2RTtBQUM3RSx5REFBeUQ7QUFDekQsa0RBQXNEO0FBQ3RELCtDQUErQztBQUMvQyx5QkFBK0I7QUFFL0IsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0FBRTlCLE1BQU0sUUFBUSxHQUFHLEdBQUcsRUFBRTtJQUN6QixNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUM7SUFDOUIsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM1QixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsT0FBTyxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLE1BQWMsRUFBRSxFQUFFO1FBQ2hELE9BQU8sQ0FBQyxLQUFLLENBQUMsK0JBQStCLEVBQUUsTUFBTSxDQUFDLENBQUE7SUFDMUQsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUE7QUFSWSxRQUFBLFFBQVEsWUFRcEI7QUFFTSxNQUFNLFFBQVEsR0FBRyxDQUFDLElBQVMsRUFBbUIsRUFBRTtJQUVuRCxNQUFNLE9BQU8sR0FBbUI7UUFDNUIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1FBQ2IsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1FBQ2IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1FBQ2pCLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztRQUNiLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztRQUNiLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztRQUNyQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUs7UUFDcEQsTUFB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 \ No newline at end of file +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.sanitizeVideo = exports.sanitize = exports.defaults = void 0; +const osr_commons_1 = require("@plastichub/osr-commons"); +const osr_commons_2 = require("@plastichub/osr-commons"); +const exists_1 = require("@plastichub/fs/exists"); +const images_1 = require("./lib/media/images"); +const _1 = require("./"); +const globBase = require('glob-base'); +const defaults = () => { + const DefaultCommand = 'info'; + if (process.argv.length === 2) { + process.argv.push(DefaultCommand); + } + process.on('unhandledRejection', (reason) => { + console.error('Unhandled rejection, reason: ', reason); + }); +}; +exports.defaults = defaults; +const sanitize = (argv) => { + const options = { + src: argv.src, + dst: argv.dst, + debug: argv.debug, + dry: argv.dry, + alt: argv.alt, + percent: argv.percent, + width: argv.width === false ? undefined : argv.width, + height: argv.height === false ? undefined : argv.height, + minWidth: argv.minWidth === false ? undefined : argv.minWidth, + minHeight: argv.minHeight === false ? undefined : argv.minHeight, + minSize: argv.minSize === false ? undefined : argv.minSize, + fit: argv.fit, + position: argv.position, + logLevel: argv.logLevel, + withoutEnlargement: argv.withoutEnlargement, + withoutReduction: argv.withoutReduction, + fastShrinkOnLoad: argv.fastShrinkOnLoad, + background: argv.background, + ...argv + }; + let srcInfo; + let variables = { + IMAGES: images_1.GLOB_BASIC, + ...options.variables + }; + if (options.src) { + const srcIn = (0, osr_commons_2.resolve)(options.src, options.alt, variables); + options.src = (0, osr_commons_1.forward_slash)((0, _1.substitute)(options.alt, srcIn, variables)); + // in case a file with a glob pattern is provided, strip the glob + // this is a special case, enabling shared scripts in Alt-Tap Salamand + const glob_base = globBase(options.src); + const file = options.src.replace(glob_base.glob, '').replace(/\/$/, ''); + if ((0, exists_1.sync)(file) && (0, osr_commons_2.isFile)(file)) { + options.src = file; + } + srcInfo = (0, osr_commons_1.pathInfo)((0, osr_commons_2.resolve)(options.src, options.alt, variables)); + if (srcInfo && srcInfo.FILES && srcInfo.FILES.length) { + options.srcInfo = srcInfo; + for (const key in srcInfo) { + if (Object.prototype.hasOwnProperty.call(srcInfo, key)) { + variables['SRC_' + key] = srcInfo[key]; + } + } + } + else { + options.src = (0, osr_commons_2.resolve)(options.src, options.alt, variables); + } + } + options.dstInfo = (0, osr_commons_1.pathInfoEx)(options.dst || ""); + if (options.dstInfo && options.dst) { + if (options.srcInfo && options.dstInfo) { + options.dstInfo.PATH = options.dst; + for (const key in options.dstInfo) { + if (Object.prototype.hasOwnProperty.call(options.dstInfo, key)) { + variables['DST_' + key] = options.dstInfo[key]; + } + } + } + else { + options.dst = (0, osr_commons_2.resolve)(options.dst || '', options.alt, variables); + } + } + options.variables = variables; + return options; +}; +exports.sanitize = sanitize; +const sanitizeVideo = (argv) => { + const options = { + src: argv.src, + dst: argv.dst, + dry: argv.dry, + alt: argv.alt, + verb: argv.verb, + audio: argv.audio, + percent: argv.percent, + logLevel: argv.logLevel, + ...argv + }; + let srcInfo; + let variables = { + IMAGES: images_1.GLOB_BASIC, + ...options.variables + }; + if (options.src) { + const srcIn = (0, osr_commons_2.resolve)(options.src, options.alt, variables); + options.src = (0, osr_commons_1.forward_slash)((0, _1.substitute)(options.alt, srcIn, variables)); + // in case a file with a glob pattern is provided, strip the glob + // this is a special case, enabling shared scripts in Alt-Tap Salamand + const glob_base = globBase(options.src); + const file = options.src.replace(glob_base.glob, '').replace(/\/$/, ''); + if ((0, exists_1.sync)(file) && (0, osr_commons_2.isFile)(file)) { + options.src = file; + } + srcInfo = (0, osr_commons_1.pathInfo)((0, osr_commons_2.resolve)(options.src, options.alt, variables)); + if (srcInfo && srcInfo.FILES && srcInfo.FILES.length) { + options.srcInfo = srcInfo; + for (const key in srcInfo) { + if (Object.prototype.hasOwnProperty.call(srcInfo, key)) { + variables['SRC_' + key] = srcInfo[key]; + } + } + } + else { + options.src = (0, osr_commons_2.resolve)(options.src, options.alt, variables); + } + } + options.dstInfo = (0, osr_commons_1.pathInfoEx)(options.dst || ""); + if (options.dstInfo && options.dst) { + if (options.srcInfo && options.dstInfo) { + options.dstInfo.PATH = options.dst; + for (const key in options.dstInfo) { + if (Object.prototype.hasOwnProperty.call(options.dstInfo, key)) { + variables['DST_' + key] = options.dstInfo[key]; + } + } + } + else { + options.dst = (0, osr_commons_2.resolve)(options.dst || '', options.alt, variables); + } + } + options.variables = variables; + return options; +}; +exports.sanitizeVideo = sanitizeVideo; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2NsaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNyYy9fY2xpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHlEQUE2RTtBQUM3RSx5REFBeUQ7QUFDekQsa0RBQXNEO0FBQ3RELCtDQUErQztBQUMvQyx5QkFBK0I7QUFFL0IsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0FBRTlCLE1BQU0sUUFBUSxHQUFHLEdBQUcsRUFBRTtJQUN6QixNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUM7SUFDOUIsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDM0IsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7S0FDckM7SUFDRCxPQUFPLENBQUMsRUFBRSxDQUFDLG9CQUFvQixFQUFFLENBQUMsTUFBYyxFQUFFLEVBQUU7UUFDaEQsT0FBTyxDQUFDLEtBQUssQ0FBQywrQkFBK0IsRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUMxRCxDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQTtBQVJZLFFBQUEsUUFBUSxZQVFwQjtBQUVNLE1BQU0sUUFBUSxHQUFHLENBQUMsSUFBUyxFQUFtQixFQUFFO0lBRW5ELE1BQU0sT0FBTyxHQUFtQjtRQUM1QixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7UUFDYixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7UUFDYixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7UUFDakIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1FBQ2IsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1FBQ2IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1FBQ3JCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSztRQUNwRCxNQUFNLEVBQUUsSUFB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 \ No newline at end of file diff --git a/packages/media/commands/audio.js b/packages/media/commands/audio.js index 284c7c35..da861d56 100644 --- a/packages/media/commands/audio.js +++ b/packages/media/commands/audio.js @@ -1,36 +1,36 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.register = exports.defaultOptions = void 0; -const __1 = require("../"); -const convert_1 = require("../lib/media/audio/convert"); -const _cli_1 = require("../_cli"); -const defaultOptions = (yargs) => { - return yargs.option('src', { - describe: 'FILE|FOLDER|GLOB', - demandOption: true - }).option('dst', { - describe: 'FILE|FOLDER|GLOB' - }).option('debug', { - default: false, - describe: 'Enable internal debug messages', - type: 'boolean' - }).option('alt', { - default: false, - describe: 'Use alternate tokenizer, & instead of $', - type: 'boolean' - }); -}; -exports.defaultOptions = defaultOptions; -let options = (yargs) => (0, exports.defaultOptions)(yargs); -const register = (cli) => { - return cli.command('video ', 'Convert video', options, (argv) => { - (0, _cli_1.defaults)(); - const options = (0, _cli_1.sanitizeVideo)(argv); - __1.logger.info("options " + argv.dst, options); - if (argv.verb = 'convert') { - return (0, convert_1.convert)(options); - } - }); -}; -exports.register = register; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29tbWFuZHMvYXVkaW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkJBQTRCO0FBQzVCLHdEQUFvRDtBQUVwRCxrQ0FBaUQ7QUFHMUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRTtJQUM5QyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ3ZCLFFBQVEsRUFBRSxrQkFBa0I7UUFDNUIsWUFBWSxFQUFFLElBQUk7S0FDckIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDYixRQUFRLEVBQUUsa0JBQWtCO0tBQy9CLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ2YsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsZ0NBQWdDO1FBQzFDLElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2IsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUseUNBQXlDO1FBQ25ELElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQTtBQWZZLFFBQUEsY0FBYyxrQkFlMUI7QUFFRCxJQUFJLE9BQU8sR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFLENBQUMsSUFBQSxzQkFBYyxFQUFDLEtBQUssQ0FBQyxDQUFBO0FBRWpELE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBYSxFQUFFLEVBQUU7SUFDdEMsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLENBQUMsSUFBbUIsRUFBRSxFQUFFO1FBQ2pGLElBQUEsZUFBUSxHQUFFLENBQUE7UUFDVixNQUFNLE9BQU8sR0FBRyxJQUFBLG9CQUFhLEVBQUMsSUFBSSxDQUF5QixDQUFBO1FBQzNELFVBQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDM0MsSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sSUFBQSxpQkFBTyxFQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQzNCLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQTtBQVRZLFFBQUEsUUFBUSxZQVNwQiJ9 \ No newline at end of file +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.register = exports.defaultOptions = void 0; +const __1 = require("../"); +const convert_1 = require("../lib/media/audio/convert"); +const _cli_1 = require("../_cli"); +const defaultOptions = (yargs) => { + return yargs.option('src', { + describe: 'FILE|FOLDER|GLOB', + demandOption: true + }).option('dst', { + describe: 'FILE|FOLDER|GLOB' + }).option('debug', { + default: false, + describe: 'Enable internal debug messages', + type: 'boolean' + }).option('alt', { + default: false, + describe: 'Use alternate tokenizer, & instead of $', + type: 'boolean' + }); +}; +exports.defaultOptions = defaultOptions; +let options = (yargs) => (0, exports.defaultOptions)(yargs); +const register = (cli) => { + return cli.command('video ', 'Convert video', options, (argv) => { + (0, _cli_1.defaults)(); + const options = (0, _cli_1.sanitizeVideo)(argv); + __1.logger.info("options " + argv.dst, options); + if (argv.verb = 'convert') { + return (0, convert_1.convert)(options); + } + }); +}; +exports.register = register; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29tbWFuZHMvYXVkaW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkJBQTRCO0FBQzVCLHdEQUFvRDtBQUVwRCxrQ0FBaUQ7QUFHMUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRTtJQUM5QyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ3ZCLFFBQVEsRUFBRSxrQkFBa0I7UUFDNUIsWUFBWSxFQUFFLElBQUk7S0FDckIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDYixRQUFRLEVBQUUsa0JBQWtCO0tBQy9CLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ2YsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsZ0NBQWdDO1FBQzFDLElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2IsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUseUNBQXlDO1FBQ25ELElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQTtBQWZZLFFBQUEsY0FBYyxrQkFlMUI7QUFFRCxJQUFJLE9BQU8sR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFLENBQUMsSUFBQSxzQkFBYyxFQUFDLEtBQUssQ0FBQyxDQUFBO0FBRWpELE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBYSxFQUFFLEVBQUU7SUFDdEMsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLENBQUMsSUFBbUIsRUFBRSxFQUFFO1FBQ2pGLElBQUEsZUFBUSxHQUFFLENBQUE7UUFDVixNQUFNLE9BQU8sR0FBRyxJQUFBLG9CQUFhLEVBQUMsSUFBSSxDQUF5QixDQUFBO1FBQzNELFVBQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDM0MsSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsRUFBRTtZQUN2QixPQUFPLElBQUEsaUJBQU8sRUFBQyxPQUFPLENBQUMsQ0FBQTtTQUMxQjtJQUNMLENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFBO0FBVFksUUFBQSxRQUFRLFlBU3BCIn0= \ No newline at end of file diff --git a/packages/media/commands/convert.js b/packages/media/commands/convert.js index feb8545c..f8458a99 100644 --- a/packages/media/commands/convert.js +++ b/packages/media/commands/convert.js @@ -1,42 +1,42 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.register = exports.defaultOptions = void 0; -const __1 = require("../"); -const images_1 = require("../lib/media/images"); -const _cli_1 = require("../_cli"); -const defaultOptions = (yargs) => { - return yargs.option('src', { - describe: 'FILE|FOLDER|GLOB', - demandOption: true - }).option('dst', { - describe: 'FILE|FOLDER|GLOB' - }).option('debug', { - default: false, - describe: 'Enable internal debug messages', - type: 'boolean' - }).option('alt', { - default: false, - describe: 'Use alternate tokenizer, & instead of $', - type: 'boolean' - }).option('dry', { - default: false, - describe: 'Run without conversion', - type: 'boolean' - }).option('verbose', { - default: false, - describe: 'Show internal messages', - type: 'boolean' - }); -}; -exports.defaultOptions = defaultOptions; -let options = (yargs) => (0, exports.defaultOptions)(yargs); -const register = (cli) => { - return cli.command('convert', 'Convert files', options, (argv) => { - (0, _cli_1.defaults)(); - const options = (0, _cli_1.sanitizeVideo)(argv); - options.debug && __1.logger.info("options " + argv.dst, options); - return (0, images_1.convert)(options); - }); -}; -exports.register = register; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.register = exports.defaultOptions = void 0; +const __1 = require("../"); +const images_1 = require("../lib/media/images"); +const _cli_1 = require("../_cli"); +const defaultOptions = (yargs) => { + return yargs.option('src', { + describe: 'FILE|FOLDER|GLOB', + demandOption: true + }).option('dst', { + describe: 'FILE|FOLDER|GLOB' + }).option('debug', { + default: false, + describe: 'Enable internal debug messages', + type: 'boolean' + }).option('alt', { + default: false, + describe: 'Use alternate tokenizer, & instead of $', + type: 'boolean' + }).option('dry', { + default: false, + describe: 'Run without conversion', + type: 'boolean' + }).option('verbose', { + default: false, + describe: 'Show internal messages', + type: 'boolean' + }); +}; +exports.defaultOptions = defaultOptions; +let options = (yargs) => (0, exports.defaultOptions)(yargs); +const register = (cli) => { + return cli.command('convert', 'Convert files', options, (argv) => { + (0, _cli_1.defaults)(); + const options = (0, _cli_1.sanitizeVideo)(argv); + options.debug && __1.logger.info("options " + argv.dst, options); + return (0, images_1.convert)(options); + }); +}; +exports.register = register; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tYW5kcy9jb252ZXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJCQUE0QjtBQUU1QixnREFFNEI7QUFFNUIsa0NBSWdCO0FBT1QsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRTtJQUM5QyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ3ZCLFFBQVEsRUFBRSxrQkFBa0I7UUFDNUIsWUFBWSxFQUFFLElBQUk7S0FDckIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDYixRQUFRLEVBQUUsa0JBQWtCO0tBQy9CLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ2YsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsZ0NBQWdDO1FBQzFDLElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2IsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUseUNBQXlDO1FBQ25ELElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2IsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsd0JBQXdCO1FBQ2xDLElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1FBQ2pCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLHdCQUF3QjtRQUNsQyxJQUFJLEVBQUUsU0FBUztLQUNsQixDQUFDLENBQUE7QUFDTixDQUFDLENBQUE7QUF2QlksUUFBQSxjQUFjLGtCQXVCMUI7QUFFRCxJQUFJLE9BQU8sR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFLENBQUMsSUFBQSxzQkFBYyxFQUFDLEtBQUssQ0FBQyxDQUFBO0FBRWpELE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBYSxFQUFFLEVBQUU7SUFDdEMsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLENBQUMsSUFBbUIsRUFBRSxFQUFFO1FBQzVFLElBQUEsZUFBUSxHQUFFLENBQUE7UUFDVixNQUFNLE9BQU8sR0FBRyxJQUFBLG9CQUFhLEVBQUMsSUFBSSxDQUFhLENBQUE7UUFDL0MsT0FBTyxDQUFDLEtBQUssSUFBSSxVQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQzVELE9BQU8sSUFBQSxnQkFBTyxFQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQzNCLENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFBO0FBUFksUUFBQSxRQUFRLFlBT3BCIn0= \ No newline at end of file diff --git a/packages/media/commands/pdf2jpg.js b/packages/media/commands/pdf2jpg.js index 14fff749..05400291 100644 --- a/packages/media/commands/pdf2jpg.js +++ b/packages/media/commands/pdf2jpg.js @@ -1,53 +1,53 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.register = void 0; -const __1 = require("../"); -const path = require("path"); -const index_1 = require("../lib/process/index"); -const pMap = require("p-map"); -const fg = require('fast-glob'); -const defaultOptions = (yargs) => { - return yargs.option('input', { - default: './', - describe: 'The sources' - }).option('debug', { - default: 'false', - describe: 'Enable internal debug message' - }); -}; -let options = (yargs) => defaultOptions(yargs); -async function convertFiles(files) { - return pMap(files, (file) => { - const inParts = path.parse(file); - // magick convert leg.pdf -quality 100 -density 250 -trim -flatten -resize 200% -sharpen 0x1.0 leg.jpg - const promise = index_1.Helper.run(inParts.dir, 'convert', [ - `"${inParts.base}[0]"`, - '-quality 80', - '-density 250', - '-trim', - '-flatten', - '-sharpen 0x1.0', - `"${inParts.name}.jpg"` - ]); - return promise; - }, { concurrency: 1 }); -} -// node ./build/main.js pdf2jpg --input=../drawings -const register = (cli) => { - return cli.command('pdf2jpg', '', options, async (argv) => { - if (argv.help) { - return; - } - const src = path.resolve('' + argv.input); - if (argv.debug) { - __1.logger.debug(`Begin convert PDF files${src}`); - } - const files = fg.sync('*.pdf|*.PDF', { dot: true, cwd: src, absolute: true }); - await convertFiles(files); - if (argv.debug) { - __1.logger.debug(`Converted ${files.length} files`); - } - }); -}; -exports.register = register; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmMmpwZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tYW5kcy9wZGYyanBnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJCQUE0QjtBQUM1Qiw2QkFBNEI7QUFDNUIsZ0RBQTZDO0FBQzdDLDhCQUE2QjtBQUU3QixNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUE7QUFFL0IsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRTtJQUN2QyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ3pCLE9BQU8sRUFBRSxJQUFJO1FBQ2IsUUFBUSxFQUFFLGFBQWE7S0FDMUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7UUFDZixPQUFPLEVBQUUsT0FBTztRQUNoQixRQUFRLEVBQUUsK0JBQStCO0tBQzVDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQztBQUVGLElBQUksT0FBTyxHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7QUFFekQsS0FBSyxVQUFVLFlBQVksQ0FBQyxLQUFLO0lBQzdCLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1FBQzVCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsc0dBQXNHO1FBQ3RHLE1BQU0sT0FBTyxHQUFHLGNBQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQ2pEO1lBQ0ksSUFBSSxPQUFPLENBQUMsSUFBSSxNQUFNO1lBQ3RCLGFBQWE7WUFDYixjQUFjO1lBQ2QsT0FBTztZQUNQLFVBQVU7WUFDVixnQkFBZ0I7WUFDaEIsSUFBSSxPQUFPLENBQUMsSUFBSSxPQUFPO1NBQzFCLENBQUMsQ0FBQztRQUNILE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUMsRUFBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzFCLENBQUM7QUFFRCxtREFBbUQ7QUFDNUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFhLEVBQUUsRUFBRTtJQUN0QyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQW1CLEVBQUUsRUFBRTtRQUNyRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUFDLE9BQU87UUFBQyxDQUFDO1FBQzFCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNiLFVBQU0sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUNELE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzlFLE1BQU0sWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2IsVUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQTtBQWJZLFFBQUEsUUFBUSxZQWFwQiJ9 \ No newline at end of file +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.register = void 0; +const __1 = require("../"); +const path = require("path"); +const index_1 = require("../lib/process/index"); +const pMap = require("p-map"); +const fg = require('fast-glob'); +const defaultOptions = (yargs) => { + return yargs.option('input', { + default: './', + describe: 'The sources' + }).option('debug', { + default: 'false', + describe: 'Enable internal debug message' + }); +}; +let options = (yargs) => defaultOptions(yargs); +async function convertFiles(files) { + return pMap(files, (file) => { + const inParts = path.parse(file); + // magick convert leg.pdf -quality 100 -density 250 -trim -flatten -resize 200% -sharpen 0x1.0 leg.jpg + const promise = index_1.Helper.run(inParts.dir, 'convert', [ + `"${inParts.base}[0]"`, + '-quality 80', + '-density 250', + '-trim', + '-flatten', + '-sharpen 0x1.0', + `"${inParts.name}.jpg"` + ]); + return promise; + }, { concurrency: 1 }); +} +// node ./build/main.js pdf2jpg --input=../drawings +const register = (cli) => { + return cli.command('pdf2jpg', '', options, async (argv) => { + if (argv.help) { + return; + } + const src = path.resolve('' + argv.input); + if (argv.debug) { + __1.logger.debug(`Begin convert PDF files${src}`); + } + const files = fg.sync('*.pdf|*.PDF', { dot: true, cwd: src, absolute: true }); + await convertFiles(files); + if (argv.debug) { + __1.logger.debug(`Converted ${files.length} files`); + } + }); +}; +exports.register = register; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmMmpwZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tYW5kcy9wZGYyanBnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJCQUE0QjtBQUM1Qiw2QkFBNEI7QUFDNUIsZ0RBQTZDO0FBQzdDLDhCQUE2QjtBQUU3QixNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUE7QUFFL0IsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRTtJQUN2QyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ3pCLE9BQU8sRUFBRSxJQUFJO1FBQ2IsUUFBUSxFQUFFLGFBQWE7S0FDMUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7UUFDZixPQUFPLEVBQUUsT0FBTztRQUNoQixRQUFRLEVBQUUsK0JBQStCO0tBQzVDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQztBQUVGLElBQUksT0FBTyxHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7QUFFekQsS0FBSyxVQUFVLFlBQVksQ0FBQyxLQUFLO0lBQzdCLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1FBQzVCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsc0dBQXNHO1FBQ3RHLE1BQU0sT0FBTyxHQUFHLGNBQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQ2pEO1lBQ0ksSUFBSSxPQUFPLENBQUMsSUFBSSxNQUFNO1lBQ3RCLGFBQWE7WUFDYixjQUFjO1lBQ2QsT0FBTztZQUNQLFVBQVU7WUFDVixnQkFBZ0I7WUFDaEIsSUFBSSxPQUFPLENBQUMsSUFBSSxPQUFPO1NBQzFCLENBQUMsQ0FBQztRQUNILE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUMsRUFBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzFCLENBQUM7QUFFRCxtREFBbUQ7QUFDNUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFhLEVBQUUsRUFBRTtJQUN0QyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQW1CLEVBQUUsRUFBRTtRQUNyRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFDMUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNaLFVBQU0sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLEdBQUcsRUFBRSxDQUFDLENBQUM7U0FDakQ7UUFDRCxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM5RSxNQUFNLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDWixVQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDLENBQUM7U0FDbkQ7SUFDTCxDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQTtBQWJZLFFBQUEsUUFBUSxZQWFwQiJ9 \ No newline at end of file diff --git a/packages/media/commands/resize.js b/packages/media/commands/resize.js index 561caf7e..d8e69519 100644 --- a/packages/media/commands/resize.js +++ b/packages/media/commands/resize.js @@ -1,71 +1,71 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.register = exports.defaultOptions = void 0; -const index_1 = require("../index"); -const resize_1 = require("../lib/media/images/resize"); -const _cli_1 = require("../_cli"); -const defaultOptions = (yargs) => { - return yargs.option('src', { - describe: 'FILE|FOLDER|GLOB', - demandOption: true - }).option('dst', { - describe: 'FILE|FOLDER|GLOB' - }).option('debug', { - default: false, - describe: 'Enable internal debug messages', - type: 'boolean' - }).option('alt', { - default: false, - describe: 'Use alternate tokenizer, & instead of $', - type: 'boolean' - }).option('dry', { - default: false, - describe: 'Run without conversion', - type: 'boolean' - }).option('verbose', { - default: false, - describe: 'Show internal messages', - type: 'boolean' - }).option('percent', { - default: false, - describe: 'Resize image with percent', - type: 'number' - }).option('width', { - describe: 'Resize image with', - type: 'number' - }).option('height', { - describe: 'Resize image height', - type: 'number' - }).option('minHeight', { - describe: 'Resize image minimum height', - type: 'number' - }).option('minWidth', { - describe: 'Resize image minimum width', - type: 'number' - }).option('minSize', { - describe: 'Resize image size (bytes)', - type: 'number' - }).option('percent', { - describe: 'Resize image in percent (width)', - type: 'number' - }).option('logLevel', { - describe: 'Log level : warn, info, debug, error', - type: 'string', - default: 'info' - }); -}; -exports.defaultOptions = defaultOptions; -let options = (yargs) => (0, exports.defaultOptions)(yargs); -const register = (cli) => { - return cli.command('resize', 'Resizes files', options, async (argv) => { - (0, _cli_1.defaults)(); - const options = (0, _cli_1.sanitize)(argv); - index_1.logger.setSettings({ - minLevel: options.logLevel - }); - index_1.logger.info("options " + argv.dst, options); - await (0, resize_1.resize)(options); - }); -}; -exports.register = register; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.register = exports.defaultOptions = void 0; +const index_1 = require("../index"); +const resize_1 = require("../lib/media/images/resize"); +const _cli_1 = require("../_cli"); +const defaultOptions = (yargs) => { + return yargs.option('src', { + describe: 'FILE|FOLDER|GLOB', + demandOption: true + }).option('dst', { + describe: 'FILE|FOLDER|GLOB' + }).option('debug', { + default: false, + describe: 'Enable internal debug messages', + type: 'boolean' + }).option('alt', { + default: false, + describe: 'Use alternate tokenizer, & instead of $', + type: 'boolean' + }).option('dry', { + default: false, + describe: 'Run without conversion', + type: 'boolean' + }).option('verbose', { + default: false, + describe: 'Show internal messages', + type: 'boolean' + }).option('percent', { + default: false, + describe: 'Resize image with percent', + type: 'number' + }).option('width', { + describe: 'Resize image with', + type: 'number' + }).option('height', { + describe: 'Resize image height', + type: 'number' + }).option('minHeight', { + describe: 'Resize image minimum height', + type: 'number' + }).option('minWidth', { + describe: 'Resize image minimum width', + type: 'number' + }).option('minSize', { + describe: 'Resize image size (bytes)', + type: 'number' + }).option('percent', { + describe: 'Resize image in percent (width)', + type: 'number' + }).option('logLevel', { + describe: 'Log level : warn, info, debug, error', + type: 'string', + default: 'info' + }); +}; +exports.defaultOptions = defaultOptions; +let options = (yargs) => (0, exports.defaultOptions)(yargs); +const register = (cli) => { + return cli.command('resize', 'Resizes files', options, async (argv) => { + (0, _cli_1.defaults)(); + const options = (0, _cli_1.sanitize)(argv); + index_1.logger.setSettings({ + minLevel: options.logLevel + }); + index_1.logger.info("options " + argv.dst, options); + await (0, resize_1.resize)(options); + }); +}; +exports.register = register; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbW1hbmRzL3Jlc2l6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxvQ0FBaUM7QUFDakMsdURBRW1DO0FBRW5DLGtDQUdnQjtBQU1ULE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUU7SUFDOUMsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUN2QixRQUFRLEVBQUUsa0JBQWtCO1FBQzVCLFlBQVksRUFBRSxJQUFJO0tBQ3JCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2IsUUFBUSxFQUFFLGtCQUFrQjtLQUMvQixDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtRQUNmLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLGdDQUFnQztRQUMxQyxJQUFJLEVBQUUsU0FBUztLQUNsQixDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUNiLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLHlDQUF5QztRQUNuRCxJQUFJLEVBQUUsU0FBUztLQUNsQixDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUNiLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLHdCQUF3QjtRQUNsQyxJQUFJLEVBQUUsU0FBUztLQUNsQixDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtRQUNqQixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSx3QkFBd0I7UUFDbEMsSUFBSSxFQUFFLFNBQVM7S0FDbEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7UUFDakIsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsMkJBQTJCO1FBQ3JDLElBQUksRUFBRSxRQUFRO0tBQ2pCLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ2YsUUFBUSxFQUFFLG1CQUFtQjtRQUM3QixJQUFJLEVBQUUsUUFBUTtLQUNqQixDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtRQUNoQixRQUFRLEVBQUUscUJBQXFCO1FBQy9CLElBQUksRUFBRSxRQUFRO0tBQ2pCLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFO1FBQ25CLFFBQVEsRUFBRSw2QkFBNkI7UUFDdkMsSUFBSSxFQUFFLFFBQVE7S0FDakIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUU7UUFDbEIsUUFBUSxFQUFFLDRCQUE0QjtRQUN0QyxJQUFJLEVBQUUsUUFBUTtLQUNqQixDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtRQUNqQixRQUFRLEVBQUUsMkJBQTJCO1FBQ3JDLElBQUksRUFBRSxRQUFRO0tBQ2pCLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1FBQ2pCLFFBQVEsRUFBRSxpQ0FBaUM7UUFDM0MsSUFBSSxFQUFFLFFBQVE7S0FDakIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUU7UUFDbEIsUUFBUSxFQUFFLHNDQUFzQztRQUNoRCxJQUFJLEVBQUUsUUFBUTtRQUNkLE9BQU8sRUFBRSxNQUFNO0tBQ2xCLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQTtBQWpEWSxRQUFBLGNBQWMsa0JBaUQxQjtBQUVELElBQUksT0FBTyxHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUUsQ0FBQyxJQUFBLHNCQUFjLEVBQUMsS0FBSyxDQUFDLENBQUE7QUFFakQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFhLEVBQUUsRUFBRTtJQUN0QyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQW1CLEVBQUUsRUFBRTtRQUNqRixJQUFBLGVBQVEsR0FBRSxDQUFBO1FBQ1YsTUFBTSxPQUFPLEdBQUcsSUFBQSxlQUFRLEVBQUMsSUFBSSxDQUFhLENBQUE7UUFDMUMsY0FBTSxDQUFDLFdBQVcsQ0FBQztZQUNmLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBZTtTQUNwQyxDQUFDLENBQUE7UUFDRixjQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQzNDLE1BQU0sSUFBQSxlQUFNLEVBQUMsT0FBTyxDQUFDLENBQUE7SUFDekIsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUE7QUFWWSxRQUFBLFFBQVEsWUFVcEIifQ== \ No newline at end of file diff --git a/packages/media/commands/svg2jpg.js b/packages/media/commands/svg2jpg.js index 595be28b..015da15c 100644 --- a/packages/media/commands/svg2jpg.js +++ b/packages/media/commands/svg2jpg.js @@ -1,49 +1,49 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.register = void 0; -const debug_1 = require("@plastichub/core/debug"); -const path = require("path"); -const index_1 = require("../lib/process/index"); -const bluebird = require("bluebird"); -const fg = require('fast-glob'); -const defaultOptions = (yargs) => { - return yargs.option('input', { - default: './', - describe: 'The sources' - }).option('debug', { - default: 'false', - describe: 'Enable internal debug message' - }); -}; -let options = (yargs) => defaultOptions(yargs); -async function convertFiles(files) { - return bluebird.mapSeries(files, (file) => { - const inParts = path.parse(file); - const promise = index_1.Helper.run(inParts.dir, 'convert', [ - `"${inParts.base}"`, - '-quality 40', - '-sharpen 0x1.0', - `"${inParts.name}.jpg"` - ]); - return promise; - }); -} -//node ./build/main.js svg2jpg --input=../tests/svg/ -const register = (cli) => { - return cli.command('svg2jpg', '', options, async (argv) => { - if (argv.help) { - return; - } - const src = path.resolve('' + argv.input); - const files = fg.sync('*.svg|*.SVG', { dot: true, cwd: src, absolute: true }); - if (argv.debug) { - (0, debug_1.debug)(`Begin convert SVG files at ${src} ${files}`); - } - await convertFiles(files); - if (argv.debug) { - (0, debug_1.debug)(`Converted ${files.length} files`); - } - }); -}; -exports.register = register; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnMmpwZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tYW5kcy9zdmcyanBnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLGtEQUE4QztBQUM5Qyw2QkFBNkI7QUFDN0IsZ0RBQThDO0FBQzlDLHFDQUFxQztBQUVyQyxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7QUFFaEMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRTtJQUN2QyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ3pCLE9BQU8sRUFBRSxJQUFJO1FBQ2IsUUFBUSxFQUFFLGFBQWE7S0FDMUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7UUFDZixPQUFPLEVBQUUsT0FBTztRQUNoQixRQUFRLEVBQUUsK0JBQStCO0tBQzVDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQztBQUVGLElBQUksT0FBTyxHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7QUFFekQsS0FBSyxVQUFVLFlBQVksQ0FBQyxLQUFLO0lBQzdCLE9BQU8sUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRTtRQUM5QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sT0FBTyxHQUFHLGNBQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQ2pEO1lBQ0ksSUFBSSxPQUFPLENBQUMsSUFBSSxHQUFHO1lBQ25CLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsSUFBSSxPQUFPLENBQUMsSUFBSSxPQUFPO1NBQzFCLENBQUMsQ0FBQztRQUNILE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUNELG9EQUFvRDtBQUU3QyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQWEsRUFBRSxFQUFFO0lBQ3RDLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBbUIsRUFBRSxFQUFFO1FBQ3JFLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQUMsT0FBTztRQUFDLENBQUM7UUFDMUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzlFLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2IsSUFBQSxhQUFLLEVBQUMsOEJBQThCLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFDRCxNQUFNLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNiLElBQUEsYUFBSyxFQUFDLGFBQWEsS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDLENBQUM7UUFDN0MsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDO0FBYlcsUUFBQSxRQUFRLFlBYW5CIn0= \ No newline at end of file +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.register = void 0; +const debug_1 = require("@plastichub/core/debug"); +const path = require("path"); +const index_1 = require("../lib/process/index"); +const bluebird = require("bluebird"); +const fg = require('fast-glob'); +const defaultOptions = (yargs) => { + return yargs.option('input', { + default: './', + describe: 'The sources' + }).option('debug', { + default: 'false', + describe: 'Enable internal debug message' + }); +}; +let options = (yargs) => defaultOptions(yargs); +async function convertFiles(files) { + return bluebird.mapSeries(files, (file) => { + const inParts = path.parse(file); + const promise = index_1.Helper.run(inParts.dir, 'convert', [ + `"${inParts.base}"`, + '-quality 40', + '-sharpen 0x1.0', + `"${inParts.name}.jpg"` + ]); + return promise; + }); +} +//node ./build/main.js svg2jpg --input=../tests/svg/ +const register = (cli) => { + return cli.command('svg2jpg', '', options, async (argv) => { + if (argv.help) { + return; + } + const src = path.resolve('' + argv.input); + const files = fg.sync('*.svg|*.SVG', { dot: true, cwd: src, absolute: true }); + if (argv.debug) { + (0, debug_1.debug)(`Begin convert SVG files at ${src} ${files}`); + } + await convertFiles(files); + if (argv.debug) { + (0, debug_1.debug)(`Converted ${files.length} files`); + } + }); +}; +exports.register = register; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnMmpwZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tYW5kcy9zdmcyanBnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLGtEQUE4QztBQUM5Qyw2QkFBNkI7QUFDN0IsZ0RBQThDO0FBQzlDLHFDQUFxQztBQUVyQyxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7QUFFaEMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRTtJQUN2QyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ3pCLE9BQU8sRUFBRSxJQUFJO1FBQ2IsUUFBUSxFQUFFLGFBQWE7S0FDMUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7UUFDZixPQUFPLEVBQUUsT0FBTztRQUNoQixRQUFRLEVBQUUsK0JBQStCO0tBQzVDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQztBQUVGLElBQUksT0FBTyxHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7QUFFekQsS0FBSyxVQUFVLFlBQVksQ0FBQyxLQUFLO0lBQzdCLE9BQU8sUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRTtRQUM5QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sT0FBTyxHQUFHLGNBQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQ2pEO1lBQ0ksSUFBSSxPQUFPLENBQUMsSUFBSSxHQUFHO1lBQ25CLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsSUFBSSxPQUFPLENBQUMsSUFBSSxPQUFPO1NBQzFCLENBQUMsQ0FBQztRQUNILE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUNELG9EQUFvRDtBQUU3QyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQWEsRUFBRSxFQUFFO0lBQ3RDLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBbUIsRUFBRSxFQUFFO1FBQ3JFLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUFFLE9BQU87U0FBRTtRQUMxQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDOUUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1osSUFBQSxhQUFLLEVBQUMsOEJBQThCLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZEO1FBQ0QsTUFBTSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1osSUFBQSxhQUFLLEVBQUMsYUFBYSxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUMsQ0FBQztTQUM1QztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDO0FBYlcsUUFBQSxRQUFRLFlBYW5CIn0= \ No newline at end of file diff --git a/packages/media/commands/video.js b/packages/media/commands/video.js index 2ccd466e..3113cfdc 100644 --- a/packages/media/commands/video.js +++ b/packages/media/commands/video.js @@ -1,39 +1,39 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.register = exports.defaultOptions = void 0; -const __1 = require("../"); -const video_1 = require("../lib/media/video"); -const _cli_1 = require("../_cli"); -const defaultOptions = (yargs) => { - return yargs.option('src', { - describe: 'FILE|FOLDER|GLOB', - demandOption: true - }).option('dst', { - describe: 'FILE|FOLDER|GLOB' - }).option('debug', { - default: false, - describe: 'Enable internal debug messages', - type: 'boolean' - }).option('alt', { - default: false, - describe: 'Use alternate tokenizer, & instead of $', - type: 'boolean' - }); -}; -exports.defaultOptions = defaultOptions; -let options = (yargs) => (0, exports.defaultOptions)(yargs); -const register = (cli) => { - return cli.command('video ', 'Convert video', options, async (argv) => { - (0, _cli_1.defaults)(); - const options = (0, _cli_1.sanitizeVideo)(argv); - __1.logger.info("options " + argv.dst, options); - if (options.verb == 'convert') { - return (0, video_1.convert)(options); - } - if (options.verb == 'merge') { - return (0, video_1.merge)(options); - } - }); -}; -exports.register = register; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29tbWFuZHMvdmlkZW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkJBQTRCO0FBQzVCLDhDQUFtRDtBQUNuRCxrQ0FBaUQ7QUFHMUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRTtJQUM5QyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ3ZCLFFBQVEsRUFBRSxrQkFBa0I7UUFDNUIsWUFBWSxFQUFFLElBQUk7S0FDckIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDYixRQUFRLEVBQUUsa0JBQWtCO0tBQy9CLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ2YsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsZ0NBQWdDO1FBQzFDLElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2IsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUseUNBQXlDO1FBQ25ELElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQTtBQWZZLFFBQUEsY0FBYyxrQkFlMUI7QUFFRCxJQUFJLE9BQU8sR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFLENBQUMsSUFBQSxzQkFBYyxFQUFDLEtBQUssQ0FBQyxDQUFBO0FBRWpELE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBYSxFQUFFLEVBQUU7SUFDdEMsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFtQixFQUFFLEVBQUU7UUFDdkYsSUFBQSxlQUFRLEdBQUUsQ0FBQTtRQUNWLE1BQU0sT0FBTyxHQUFHLElBQUEsb0JBQWEsRUFBQyxJQUFJLENBQXlCLENBQUE7UUFDM0QsVUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUMzQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksU0FBUyxFQUFFLENBQUM7WUFDNUIsT0FBTyxJQUFBLGVBQU8sRUFBQyxPQUFPLENBQUMsQ0FBQTtRQUMzQixDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzFCLE9BQU8sSUFBQSxhQUFLLEVBQUMsT0FBTyxDQUFRLENBQUE7UUFDaEMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFBO0FBWlksUUFBQSxRQUFRLFlBWXBCIn0= \ No newline at end of file +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.register = exports.defaultOptions = void 0; +const __1 = require("../"); +const video_1 = require("../lib/media/video"); +const _cli_1 = require("../_cli"); +const defaultOptions = (yargs) => { + return yargs.option('src', { + describe: 'FILE|FOLDER|GLOB', + demandOption: true + }).option('dst', { + describe: 'FILE|FOLDER|GLOB' + }).option('debug', { + default: false, + describe: 'Enable internal debug messages', + type: 'boolean' + }).option('alt', { + default: false, + describe: 'Use alternate tokenizer, & instead of $', + type: 'boolean' + }); +}; +exports.defaultOptions = defaultOptions; +let options = (yargs) => (0, exports.defaultOptions)(yargs); +const register = (cli) => { + return cli.command('video ', 'Convert video', options, async (argv) => { + (0, _cli_1.defaults)(); + const options = (0, _cli_1.sanitizeVideo)(argv); + __1.logger.info("options " + argv.dst, options); + if (options.verb == 'convert') { + return (0, video_1.convert)(options); + } + if (options.verb == 'merge') { + return (0, video_1.merge)(options); + } + }); +}; +exports.register = register; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29tbWFuZHMvdmlkZW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkJBQTRCO0FBQzVCLDhDQUFtRDtBQUNuRCxrQ0FBaUQ7QUFHMUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRTtJQUM5QyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ3ZCLFFBQVEsRUFBRSxrQkFBa0I7UUFDNUIsWUFBWSxFQUFFLElBQUk7S0FDckIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDYixRQUFRLEVBQUUsa0JBQWtCO0tBQy9CLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ2YsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsZ0NBQWdDO1FBQzFDLElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2IsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUseUNBQXlDO1FBQ25ELElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQTtBQWZZLFFBQUEsY0FBYyxrQkFlMUI7QUFFRCxJQUFJLE9BQU8sR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFLENBQUMsSUFBQSxzQkFBYyxFQUFDLEtBQUssQ0FBQyxDQUFBO0FBRWpELE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBYSxFQUFFLEVBQUU7SUFDdEMsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFtQixFQUFFLEVBQUU7UUFDdkYsSUFBQSxlQUFRLEdBQUUsQ0FBQTtRQUNWLE1BQU0sT0FBTyxHQUFHLElBQUEsb0JBQWEsRUFBQyxJQUFJLENBQXlCLENBQUE7UUFDM0QsVUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUMzQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksU0FBUyxFQUFFO1lBQzNCLE9BQU8sSUFBQSxlQUFPLEVBQUMsT0FBTyxDQUFDLENBQUE7U0FDMUI7UUFDRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxFQUFFO1lBQ3pCLE9BQU8sSUFBQSxhQUFLLEVBQUMsT0FBTyxDQUFRLENBQUE7U0FDL0I7SUFDTCxDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQTtBQVpZLFFBQUEsUUFBUSxZQVlwQiJ9 \ No newline at end of file diff --git a/packages/media/commands/watermark.js b/packages/media/commands/watermark.js index 40b0ad2a..18652208 100644 --- a/packages/media/commands/watermark.js +++ b/packages/media/commands/watermark.js @@ -1,75 +1,75 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.register = exports.defaultOptions = void 0; -const osr_commons_1 = require("@plastichub/osr-commons"); -const index_1 = require("../index"); -const images_1 = require("../lib/media/images"); -const _cli_1 = require("../_cli"); -const defaultOptions = (yargs) => { - return yargs.option('src', { - describe: 'FILE|FOLDER|GLOB', - demandOption: true - }).option('dst', { - describe: 'FILE|FOLDER|GLOB' - }).option('debug', { - default: false, - describe: 'Enable internal debug messages', - type: 'boolean' - }).option('alt', { - default: false, - describe: 'Use alternate tokenizer, & instead of $', - type: 'boolean' - }).option('dry', { - default: false, - describe: 'Run without conversion', - type: 'boolean' - }).option('verbose', { - default: false, - describe: 'Show internal messages', - type: 'boolean' - }).option('percent', { - default: false, - describe: 'Resize image with percent', - type: 'number' - }).option('width', { - default: false, - describe: 'Resize image with', - type: 'number' - }).option('height', { - default: false, - describe: 'Resize image height', - type: 'number' - }).option('minHeight', { - describe: 'Resize image minimum height', - type: 'number' - }).option('minWidth', { - describe: 'Resize image minimum width', - type: 'number' - }).option('minSize', { - describe: 'Resize image size (bytes)', - type: 'number' - }).option('percent', { - describe: 'Resize image in percent (width)', - type: 'number' - }).option('key', { - describe: 'API Key', - type: 'string' - }); -}; -exports.defaultOptions = defaultOptions; -const options = (yargs) => (0, exports.defaultOptions)(yargs); -const register = (cli) => { - return cli.command('watermark', 'Remove watermark : FILE|GLOB', options, async (argv) => { - (0, _cli_1.defaults)(); - const options = (0, _cli_1.sanitize)(argv); - const config = (0, osr_commons_1.CONFIG_DEFAULT)(); - if (!config.novita) { - index_1.logger.error("Novita key not found"); - return; - } - options.debug && index_1.logger.info("Watermark Options " + argv.dst, options); - return (0, images_1.watermark)({ ...options, key: config.novita.key }); - }); -}; -exports.register = register; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXJtYXJrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbW1hbmRzL3dhdGVybWFyay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5REFBd0Q7QUFFeEQsb0NBQWlDO0FBQ2pDLGdEQUU0QjtBQUU1QixrQ0FHZ0I7QUFNVCxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFO0lBQ2hELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDekIsUUFBUSxFQUFFLGtCQUFrQjtRQUM1QixZQUFZLEVBQUUsSUFBSTtLQUNuQixDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUNmLFFBQVEsRUFBRSxrQkFBa0I7S0FDN0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7UUFDakIsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsZ0NBQWdDO1FBQzFDLElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2YsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUseUNBQXlDO1FBQ25ELElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2YsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsd0JBQXdCO1FBQ2xDLElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1FBQ25CLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLHdCQUF3QjtRQUNsQyxJQUFJLEVBQUUsU0FBUztLQUNoQixDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtRQUNuQixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSwyQkFBMkI7UUFDckMsSUFBSSxFQUFFLFFBQVE7S0FDZixDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtRQUNqQixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSxtQkFBbUI7UUFDN0IsSUFBSSxFQUFFLFFBQVE7S0FDZixDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtRQUNsQixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSxxQkFBcUI7UUFDL0IsSUFBSSxFQUFFLFFBQVE7S0FDZixDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRTtRQUNyQixRQUFRLEVBQUUsNkJBQTZCO1FBQ3ZDLElBQUksRUFBRSxRQUFRO0tBQ2YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUU7UUFDcEIsUUFBUSxFQUFFLDRCQUE0QjtRQUN0QyxJQUFJLEVBQUUsUUFBUTtLQUNmLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1FBQ25CLFFBQVEsRUFBRSwyQkFBMkI7UUFDckMsSUFBSSxFQUFFLFFBQVE7S0FDZixDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtRQUNuQixRQUFRLEVBQUUsaUNBQWlDO1FBQzNDLElBQUksRUFBRSxRQUFRO0tBQ2YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDZixRQUFRLEVBQUUsU0FBUztRQUNuQixJQUFJLEVBQUUsUUFBUTtLQUNmLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQWxEWSxRQUFBLGNBQWMsa0JBa0QxQjtBQUVELE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUUsQ0FBQyxJQUFBLHNCQUFjLEVBQUMsS0FBSyxDQUFDLENBQUE7QUFFbkQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFhLEVBQUUsRUFBRTtJQUN4QyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLDhCQUE4QixFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBbUIsRUFBRSxFQUFFO1FBQ3JHLElBQUEsZUFBUSxHQUFFLENBQUE7UUFDVixNQUFNLE9BQU8sR0FBRyxJQUFBLGVBQVEsRUFBQyxJQUFJLENBQWEsQ0FBQTtRQUMxQyxNQUFNLE1BQU0sR0FBUSxJQUFBLDRCQUFjLEdBQUUsQ0FBQTtRQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ25CLGNBQU0sQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUNyQyxPQUFNO1FBQ1IsQ0FBQztRQUNELE9BQU8sQ0FBQyxLQUFLLElBQUksY0FBTSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQ3RFLE9BQU8sSUFBQSxrQkFBUyxFQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQTtJQUMxRCxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQVpZLFFBQUEsUUFBUSxZQVlwQiJ9 \ No newline at end of file +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.register = exports.defaultOptions = void 0; +const osr_commons_1 = require("@plastichub/osr-commons"); +const index_1 = require("../index"); +const images_1 = require("../lib/media/images"); +const _cli_1 = require("../_cli"); +const defaultOptions = (yargs) => { + return yargs.option('src', { + describe: 'FILE|FOLDER|GLOB', + demandOption: true + }).option('dst', { + describe: 'FILE|FOLDER|GLOB' + }).option('debug', { + default: false, + describe: 'Enable internal debug messages', + type: 'boolean' + }).option('alt', { + default: false, + describe: 'Use alternate tokenizer, & instead of $', + type: 'boolean' + }).option('dry', { + default: false, + describe: 'Run without conversion', + type: 'boolean' + }).option('verbose', { + default: false, + describe: 'Show internal messages', + type: 'boolean' + }).option('percent', { + default: false, + describe: 'Resize image with percent', + type: 'number' + }).option('width', { + default: false, + describe: 'Resize image with', + type: 'number' + }).option('height', { + default: false, + describe: 'Resize image height', + type: 'number' + }).option('minHeight', { + describe: 'Resize image minimum height', + type: 'number' + }).option('minWidth', { + describe: 'Resize image minimum width', + type: 'number' + }).option('minSize', { + describe: 'Resize image size (bytes)', + type: 'number' + }).option('percent', { + describe: 'Resize image in percent (width)', + type: 'number' + }).option('key', { + describe: 'API Key', + type: 'string' + }); +}; +exports.defaultOptions = defaultOptions; +const options = (yargs) => (0, exports.defaultOptions)(yargs); +const register = (cli) => { + return cli.command('watermark', 'Remove watermark : FILE|GLOB', options, async (argv) => { + (0, _cli_1.defaults)(); + const options = (0, _cli_1.sanitize)(argv); + const config = (0, osr_commons_1.CONFIG_DEFAULT)(); + if (!config.novita) { + index_1.logger.error("Novita key not found"); + return; + } + options.debug && index_1.logger.info("Watermark Options " + argv.dst, options); + return (0, images_1.watermark)({ ...options, key: config.novita.key }); + }); +}; +exports.register = register; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXJtYXJrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbW1hbmRzL3dhdGVybWFyay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5REFBd0Q7QUFFeEQsb0NBQWlDO0FBQ2pDLGdEQUU0QjtBQUU1QixrQ0FHZ0I7QUFNVCxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFO0lBQ2hELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDekIsUUFBUSxFQUFFLGtCQUFrQjtRQUM1QixZQUFZLEVBQUUsSUFBSTtLQUNuQixDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUNmLFFBQVEsRUFBRSxrQkFBa0I7S0FDN0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7UUFDakIsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsZ0NBQWdDO1FBQzFDLElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2YsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUseUNBQXlDO1FBQ25ELElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2YsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsd0JBQXdCO1FBQ2xDLElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1FBQ25CLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLHdCQUF3QjtRQUNsQyxJQUFJLEVBQUUsU0FBUztLQUNoQixDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtRQUNuQixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSwyQkFBMkI7UUFDckMsSUFBSSxFQUFFLFFBQVE7S0FDZixDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtRQUNqQixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSxtQkFBbUI7UUFDN0IsSUFBSSxFQUFFLFFBQVE7S0FDZixDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtRQUNsQixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSxxQkFBcUI7UUFDL0IsSUFBSSxFQUFFLFFBQVE7S0FDZixDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRTtRQUNyQixRQUFRLEVBQUUsNkJBQTZCO1FBQ3ZDLElBQUksRUFBRSxRQUFRO0tBQ2YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUU7UUFDcEIsUUFBUSxFQUFFLDRCQUE0QjtRQUN0QyxJQUFJLEVBQUUsUUFBUTtLQUNmLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1FBQ25CLFFBQVEsRUFBRSwyQkFBMkI7UUFDckMsSUFBSSxFQUFFLFFBQVE7S0FDZixDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtRQUNuQixRQUFRLEVBQUUsaUNBQWlDO1FBQzNDLElBQUksRUFBRSxRQUFRO0tBQ2YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDZixRQUFRLEVBQUUsU0FBUztRQUNuQixJQUFJLEVBQUUsUUFBUTtLQUNmLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQWxEWSxRQUFBLGNBQWMsa0JBa0QxQjtBQUVELE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUUsQ0FBQyxJQUFBLHNCQUFjLEVBQUMsS0FBSyxDQUFDLENBQUE7QUFFbkQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFhLEVBQUUsRUFBRTtJQUN4QyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLDhCQUE4QixFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBbUIsRUFBRSxFQUFFO1FBQ3JHLElBQUEsZUFBUSxHQUFFLENBQUE7UUFDVixNQUFNLE9BQU8sR0FBRyxJQUFBLGVBQVEsRUFBQyxJQUFJLENBQWEsQ0FBQTtRQUMxQyxNQUFNLE1BQU0sR0FBUSxJQUFBLDRCQUFjLEdBQUUsQ0FBQTtRQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNsQixjQUFNLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFDckMsT0FBTTtTQUNQO1FBQ0QsT0FBTyxDQUFDLEtBQUssSUFBSSxjQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDdEUsT0FBTyxJQUFBLGtCQUFTLEVBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFBO0lBQzFELENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBWlksUUFBQSxRQUFRLFlBWXBCIn0= \ No newline at end of file diff --git a/packages/media/constants.js b/packages/media/constants.js index 321333c8..12f14a79 100644 --- a/packages/media/constants.js +++ b/packages/media/constants.js @@ -1,9 +1,9 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.ERR_PERM_RETRY_MAX = exports.ERR_PERM_RETRY_DELAY = exports.PACKAGE_NAME = exports.MODULE_NAME = exports.GIT_REPO = void 0; -exports.GIT_REPO = 'https://git.osr-plastic.org/osr-plastic/'; -exports.MODULE_NAME = `OSR-MEDIA`; -exports.PACKAGE_NAME = 'osr-media'; -exports.ERR_PERM_RETRY_DELAY = 500; -exports.ERR_PERM_RETRY_MAX = 5; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ERR_PERM_RETRY_MAX = exports.ERR_PERM_RETRY_DELAY = exports.PACKAGE_NAME = exports.MODULE_NAME = exports.GIT_REPO = void 0; +exports.GIT_REPO = 'https://git.osr-plastic.org/osr-plastic/'; +exports.MODULE_NAME = `OSR-MEDIA`; +exports.PACKAGE_NAME = 'osr-media'; +exports.ERR_PERM_RETRY_DELAY = 500; +exports.ERR_PERM_RETRY_MAX = 5; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLFFBQVEsR0FBRywwQ0FBMEMsQ0FBQTtBQUNyRCxRQUFBLFdBQVcsR0FBRyxXQUFXLENBQUM7QUFDMUIsUUFBQSxZQUFZLEdBQUcsV0FBVyxDQUFDO0FBRTNCLFFBQUEsb0JBQW9CLEdBQUcsR0FBRyxDQUFBO0FBQzFCLFFBQUEsa0JBQWtCLEdBQUcsQ0FBQyxDQUFBIn0= \ No newline at end of file diff --git a/packages/media/index.js b/packages/media/index.js index cc3bad28..211ea658 100644 --- a/packages/media/index.js +++ b/packages/media/index.js @@ -1,26 +1,26 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.substitute = exports.logger = void 0; -__exportStar(require("./constants"), exports); -__exportStar(require("./types"), exports); -const debug_1 = require("@plastichub/core/debug"); -const constants_1 = require("./constants"); -exports.logger = (0, debug_1.logger)(constants_1.MODULE_NAME); -const strings_1 = require("@plastichub/core/strings"); -const substitute = (alt, template, vars) => alt ? (0, strings_1.substituteAlt)(template, vars) : (0, strings_1.substitute)(template, vars); -exports.substitute = substitute; +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.substitute = exports.logger = void 0; +__exportStar(require("./constants"), exports); +__exportStar(require("./types"), exports); +const debug_1 = require("@plastichub/core/debug"); +const constants_1 = require("./constants"); +exports.logger = (0, debug_1.logger)(constants_1.MODULE_NAME); +const strings_1 = require("@plastichub/core/strings"); +const substitute = (alt, template, vars) => alt ? (0, strings_1.substituteAlt)(template, vars) : (0, strings_1.substitute)(template, vars); +exports.substitute = substitute; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4Q0FBMkI7QUFDM0IsMENBQXVCO0FBQ3ZCLGtEQUEwRDtBQUUxRCwyQ0FBeUM7QUFDNUIsUUFBQSxNQUFNLEdBQUcsSUFBQSxjQUFPLEVBQUMsdUJBQVcsQ0FBQyxDQUFBO0FBRTFDLHNEQUFxRztBQUc5RixNQUFNLFVBQVUsR0FBRyxDQUFDLEdBQVksRUFBRSxRQUFnQixFQUFFLElBQW9CLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBQSx1QkFBYyxFQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBQSxvQkFBVyxFQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQTtBQUF6SSxRQUFBLFVBQVUsY0FBK0gifQ== \ No newline at end of file diff --git a/packages/media/lib/common/platform.js b/packages/media/lib/common/platform.js index 7a763171..e4124560 100644 --- a/packages/media/lib/common/platform.js +++ b/packages/media/lib/common/platform.js @@ -1,18 +1,18 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.os = void 0; -const os_1 = require("os"); -const os = () => { - if ((0, os_1.platform)() === 'win32') { - return 'windows'; - } - else if ((0, os_1.platform)() === 'darwin') { - return 'osx'; - } - else if ((0, os_1.arch)() === 'arm') { - return 'arm'; - } - return 'linux'; -}; -exports.os = os; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2NvbW1vbi9wbGF0Zm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQkFBb0M7QUFFN0IsTUFBTSxFQUFFLEdBQUcsR0FBRyxFQUFFO0lBQ3JCLElBQUksSUFBQSxhQUFRLEdBQUUsS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUMzQixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO1NBQU0sSUFBSSxJQUFBLGFBQVEsR0FBRSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ25DLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztTQUFNLElBQUksSUFBQSxTQUFJLEdBQUUsS0FBSyxLQUFLLEVBQUUsQ0FBQztRQUM1QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDLENBQUE7QUFUWSxRQUFBLEVBQUUsTUFTZCJ9 \ No newline at end of file +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.os = void 0; +const os_1 = require("os"); +const os = () => { + if ((0, os_1.platform)() === 'win32') { + return 'windows'; + } + else if ((0, os_1.platform)() === 'darwin') { + return 'osx'; + } + else if ((0, os_1.arch)() === 'arm') { + return 'arm'; + } + return 'linux'; +}; +exports.os = os; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2NvbW1vbi9wbGF0Zm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQkFBb0M7QUFFN0IsTUFBTSxFQUFFLEdBQUcsR0FBRyxFQUFFO0lBQ3JCLElBQUksSUFBQSxhQUFRLEdBQUUsS0FBSyxPQUFPLEVBQUU7UUFDMUIsT0FBTyxTQUFTLENBQUM7S0FDbEI7U0FBTSxJQUFJLElBQUEsYUFBUSxHQUFFLEtBQUssUUFBUSxFQUFFO1FBQ2xDLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7U0FBTSxJQUFJLElBQUEsU0FBSSxHQUFFLEtBQUssS0FBSyxFQUFFO1FBQzNCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDLENBQUE7QUFUWSxRQUFBLEVBQUUsTUFTZCJ9 \ No newline at end of file diff --git a/packages/media/lib/index.js b/packages/media/lib/index.js index 2e2c0ec1..494b87ee 100644 --- a/packages/media/lib/index.js +++ b/packages/media/lib/index.js @@ -1,140 +1,140 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.targetsNext = exports.targets = exports.fileAsBuffer = void 0; -const path = require("path"); -const exists_1 = require("@plastichub/fs/exists"); -const read_1 = require("@plastichub/fs/read"); -const osr_commons_1 = require("@plastichub/osr-commons"); -const osr_commons_2 = require("@plastichub/osr-commons"); -const fileAsBuffer = (path) => (0, read_1.sync)(path, 'buffer') || Buffer.from("-"); -exports.fileAsBuffer = fileAsBuffer; -const clone = (obj) => { - if (null == obj || "object" != typeof obj) - return obj; - var copy = obj.constructor(); - for (var attr in obj) { - if (obj.hasOwnProperty(attr)) - copy[attr] = obj[attr]; - } - return copy; -}; -const targets = (f, options) => { - const srcParts = path.parse(f); - const variables = clone(options.variables || {}); - const targets = []; - const rel = path.relative(options.srcInfo.DIR, srcParts.dir); - if (options.dstInfo.IS_GLOB) { - options.dstInfo.GLOB_EXTENSIONS.forEach((e) => { - variables.SRC_NAME = srcParts.name; - variables.SRC_DIR = srcParts.dir; - let targetPath = (0, osr_commons_2.substitute)(options.alt, variables.DST_PATH, variables); - targetPath = targetPath.replace(variables.DST_GLOB, ''); - if (variables.DST_FILE_EXT) { - targetPath = targetPath.replace('.' + variables.DST_FILE_EXT, ''); - } - const parts = path.parse(targetPath); - //back compat - if (variables.DST_NAME === '*') { - variables.DST_NAME = ''; - } - if (!parts.ext) { - if (variables.DST_PATH.indexOf(`{SRC_NAME}`) === -1) { - targetPath = path.join(targetPath, rel, srcParts.name + variables.DST_NAME.replace(variables.DST_GLOB, '') + '.' + e); - } - else { - targetPath = targetPath + variables.DST_NAME.replace(variables.DST_GLOB, '') + '.' + e; - } - } - //src.base contains dots - if (!targetPath.endsWith('.' + e)) { - targetPath += '.' + e; - } - targets.push(path.resolve(targetPath)); - }); - } - else { - let targetPath = ''; - if (!variables.DST_PATH) { - targetPath = path.join(srcParts.dir, srcParts.base); - } - else { - variables.SRC_NAME = srcParts.name; - variables.SRC_DIR = srcParts.dir; - targetPath = (0, osr_commons_2.substitute)(options.alt, variables.DST_PATH, variables); - if ((0, osr_commons_1.isFile)(f) && (0, exists_1.sync)(f)) { - // targetPath = path.join(targetPath, srcParts.base) - } - else { - targetPath = path.join(targetPath, srcParts.base); - } - const targetParts = path.parse(targetPath); - if (!targetParts.ext) { - targetPath = path.join(targetPath, srcParts.base); - } - } - targets.push(path.resolve((0, osr_commons_1.resolve)(targetPath, options.alt, variables))); - } - return targets; -}; -exports.targets = targets; -const targetsNext = (f, options) => { - const srcParts = path.parse(f); - const variables = clone(options.variables || {}); - const targets = []; - const rel = path.relative(options.srcInfo.DIR, srcParts.dir); - if (options.dstInfo.IS_GLOB) { - options.dstInfo.GLOB_EXTENSIONS.forEach((e) => { - variables.SRC_NAME = srcParts.name; - variables.SRC_DIR = srcParts.dir; - let targetPath = (0, osr_commons_2.substitute)(options.alt, variables.DST_PATH, variables); - targetPath = targetPath.replace(variables.DST_GLOB, ''); - if (variables.DST_FILE_EXT) { - targetPath = targetPath.replace('.' + variables.DST_FILE_EXT, ''); - } - const parts = path.parse(targetPath); - //back compat - if (variables.DST_NAME === '*') { - variables.DST_NAME = ''; - } - if (!parts.ext) { - if (variables.DST_PATH.indexOf(`{SRC_NAME}`) === -1) { - targetPath = path.join(targetPath, rel, srcParts.name + variables.DST_NAME.replace(variables.DST_GLOB, '') + '.' + e); - } - else { - targetPath = targetPath + variables.DST_NAME.replace(variables.DST_GLOB, '') + '.' + e; - } - } - //src.base contains dots - if (!targetPath.endsWith('.' + e)) { - targetPath += '.' + e; - } - targets.push(path.resolve(targetPath)); - }); - } - else { - let targetPath = ''; - if (!variables.DST_PATH) { - targetPath = path.join(srcParts.dir, srcParts.base); - } - else { - variables.SRC_NAME = srcParts.name; - variables.SRC_DIR = srcParts.dir; - variables.SRC_DIR = srcParts.dir; - targetPath = (0, osr_commons_2.substitute)(options.alt, variables.DST_PATH, variables); - if ((0, osr_commons_1.isFile)(f) && (0, exists_1.sync)(f)) { - // targetPath = path.join(targetPath, srcParts.base) - } - else { - targetPath = path.join(targetPath, srcParts.base); - } - const targetParts = path.parse(targetPath); - if (!targetParts.ext) { - targetPath = path.join(targetPath, srcParts.base); - } - } - targets.push(path.resolve((0, osr_commons_1.resolve)(targetPath, options.alt, variables))); - } - return targets; -}; -exports.targetsNext = targetsNext; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUE0QjtBQUM1QixrREFBc0Q7QUFDdEQsOENBQWtEO0FBQ2xELHlEQUF5RDtBQUV6RCx5REFBb0Q7QUFHN0MsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLElBQUEsV0FBSSxFQUFDLElBQUksRUFBRSxRQUFRLENBQVcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQW5GLFFBQUEsWUFBWSxnQkFBdUU7QUFFaEcsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUNsQixJQUFJLElBQUksSUFBSSxHQUFHLElBQUksUUFBUSxJQUFJLE9BQU8sR0FBRztRQUFFLE9BQU8sR0FBRyxDQUFDO0lBQ3RELElBQUksSUFBSSxHQUFHLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM3QixLQUFLLElBQUksSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDLENBQUE7QUFFTSxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQVMsRUFBRSxPQUF1QixFQUFFLEVBQUU7SUFDMUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUM5QixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUNoRCxNQUFNLE9BQU8sR0FBYSxFQUFFLENBQUE7SUFDNUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FB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 \ No newline at end of file +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.targetsNext = exports.targets = exports.fileAsBuffer = void 0; +const path = require("path"); +const exists_1 = require("@plastichub/fs/exists"); +const read_1 = require("@plastichub/fs/read"); +const osr_commons_1 = require("@plastichub/osr-commons"); +const osr_commons_2 = require("@plastichub/osr-commons"); +const fileAsBuffer = (path) => (0, read_1.sync)(path, 'buffer') || Buffer.from("-"); +exports.fileAsBuffer = fileAsBuffer; +const clone = (obj) => { + if (null == obj || "object" != typeof obj) + return obj; + var copy = obj.constructor(); + for (var attr in obj) { + if (obj.hasOwnProperty(attr)) + copy[attr] = obj[attr]; + } + return copy; +}; +const targets = (f, options) => { + const srcParts = path.parse(f); + const variables = clone(options.variables || {}); + const targets = []; + const rel = path.relative(options.srcInfo.DIR, srcParts.dir); + if (options.dstInfo.IS_GLOB) { + options.dstInfo.GLOB_EXTENSIONS.forEach((e) => { + variables.SRC_NAME = srcParts.name; + variables.SRC_DIR = srcParts.dir; + let targetPath = (0, osr_commons_2.substitute)(options.alt, variables.DST_PATH, variables); + targetPath = targetPath.replace(variables.DST_GLOB, ''); + if (variables.DST_FILE_EXT) { + targetPath = targetPath.replace('.' + variables.DST_FILE_EXT, ''); + } + const parts = path.parse(targetPath); + //back compat + if (variables.DST_NAME === '*') { + variables.DST_NAME = ''; + } + if (!parts.ext) { + if (variables.DST_PATH.indexOf(`{SRC_NAME}`) === -1) { + targetPath = path.join(targetPath, rel, srcParts.name + variables.DST_NAME.replace(variables.DST_GLOB, '') + '.' + e); + } + else { + targetPath = targetPath + variables.DST_NAME.replace(variables.DST_GLOB, '') + '.' + e; + } + } + //src.base contains dots + if (!targetPath.endsWith('.' + e)) { + targetPath += '.' + e; + } + targets.push(path.resolve(targetPath)); + }); + } + else { + let targetPath = ''; + if (!variables.DST_PATH) { + targetPath = path.join(srcParts.dir, srcParts.base); + } + else { + variables.SRC_NAME = srcParts.name; + variables.SRC_DIR = srcParts.dir; + targetPath = (0, osr_commons_2.substitute)(options.alt, variables.DST_PATH, variables); + if ((0, osr_commons_1.isFile)(f) && (0, exists_1.sync)(f)) { + // targetPath = path.join(targetPath, srcParts.base) + } + else { + targetPath = path.join(targetPath, srcParts.base); + } + const targetParts = path.parse(targetPath); + if (!targetParts.ext) { + targetPath = path.join(targetPath, srcParts.base); + } + } + targets.push(path.resolve((0, osr_commons_1.resolve)(targetPath, options.alt, variables))); + } + return targets; +}; +exports.targets = targets; +const targetsNext = (f, options) => { + const srcParts = path.parse(f); + const variables = clone(options.variables || {}); + const targets = []; + const rel = path.relative(options.srcInfo.DIR, srcParts.dir); + if (options.dstInfo.IS_GLOB) { + options.dstInfo.GLOB_EXTENSIONS.forEach((e) => { + variables.SRC_NAME = srcParts.name; + variables.SRC_DIR = srcParts.dir; + let targetPath = (0, osr_commons_2.substitute)(options.alt, variables.DST_PATH, variables); + targetPath = targetPath.replace(variables.DST_GLOB, ''); + if (variables.DST_FILE_EXT) { + targetPath = targetPath.replace('.' + variables.DST_FILE_EXT, ''); + } + const parts = path.parse(targetPath); + //back compat + if (variables.DST_NAME === '*') { + variables.DST_NAME = ''; + } + if (!parts.ext) { + if (variables.DST_PATH.indexOf(`{SRC_NAME}`) === -1) { + targetPath = path.join(targetPath, rel, srcParts.name + variables.DST_NAME.replace(variables.DST_GLOB, '') + '.' + e); + } + else { + targetPath = targetPath + variables.DST_NAME.replace(variables.DST_GLOB, '') + '.' + e; + } + } + //src.base contains dots + if (!targetPath.endsWith('.' + e)) { + targetPath += '.' + e; + } + targets.push(path.resolve(targetPath)); + }); + } + else { + let targetPath = ''; + if (!variables.DST_PATH) { + targetPath = path.join(srcParts.dir, srcParts.base); + } + else { + variables.SRC_NAME = srcParts.name; + variables.SRC_DIR = srcParts.dir; + variables.SRC_DIR = srcParts.dir; + targetPath = (0, osr_commons_2.substitute)(options.alt, variables.DST_PATH, variables); + if ((0, osr_commons_1.isFile)(f) && (0, exists_1.sync)(f)) { + // targetPath = path.join(targetPath, srcParts.base) + } + else { + targetPath = path.join(targetPath, srcParts.base); + } + const targetParts = path.parse(targetPath); + if (!targetParts.ext) { + targetPath = path.join(targetPath, srcParts.base); + } + } + targets.push(path.resolve((0, osr_commons_1.resolve)(targetPath, options.alt, variables))); + } + return targets; +}; +exports.targetsNext = targetsNext; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUE0QjtBQUM1QixrREFBc0Q7QUFDdEQsOENBQWtEO0FBQ2xELHlEQUF5RDtBQUV6RCx5REFBb0Q7QUFHN0MsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLElBQUEsV0FBSSxFQUFDLElBQUksRUFBRSxRQUFRLENBQVcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQW5GLFFBQUEsWUFBWSxnQkFBdUU7QUFFaEcsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUNsQixJQUFJLElBQUksSUFBSSxHQUFHLElBQUksUUFBUSxJQUFJLE9BQU8sR0FBRztRQUFFLE9BQU8sR0FBRyxDQUFDO0lBQ3RELElBQUksSUFBSSxHQUFHLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM3QixLQUFLLElBQUksSUFBSSxJQUFJLEdBQUcsRUFBRTtRQUNsQixJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO1lBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN4RDtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQTtBQUVNLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBUyxFQUFFLE9BQXVCLEVBQUUsRUFBRTtJQUMxRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzlCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQ2hELE1BQU0sT0FBTyxHQUFhLEVBQUUsQ0FBQTtJQUM1QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FB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 \ No newline at end of file diff --git a/packages/media/lib/media/audio/convert.js b/packages/media/lib/media/audio/convert.js index 30bb8562..60aaddbf 100644 --- a/packages/media/lib/media/audio/convert.js +++ b/packages/media/lib/media/audio/convert.js @@ -1,95 +1,95 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.convert = exports.convertFile = exports.converter = exports.CONVERTERS = exports.split = void 0; -exports._convert = _convert; -const path = require("path"); -const pMap = require("p-map"); -const osr_commons_1 = require("@plastichub/osr-commons"); -const exists_1 = require("@plastichub/fs/exists"); -const dir_1 = require("@plastichub/fs/dir"); -const lib_1 = require("@plastichub/osr-cache/lib"); -const __1 = require("../../"); -const __2 = require("../../.."); -const constants_1 = require("../../../constants"); -const ffmpeg_1 = require("../ffmpeg"); -const FfmpegCommand = require('fluent-ffmpeg'); -const extension = (file) => path.parse(file).ext; -const split = async (src, dst, onNode, options) => { - try { - const metadata = await (0, ffmpeg_1.meta)(src); - const duration = metadata.format.duration; - if (!duration) { - __2.logger.error('Unable to determine duration of the audio file.'); - return; - } - let startTime = 0; - let segmentIndex = 1; - while (startTime < duration) { - const outputFile = `${dst}/segment_${segmentIndex}.mp3`; - await new Promise((resolve, reject) => { - const ff = new FfmpegCommand(src) - .setStartTime(startTime) - .setDuration(options.interval) - .output(outputFile) - .on('end', () => { - __2.logger.info(`Segment ${segmentIndex} finished.`); - resolve(); - }) - .on('error', (error) => { - __2.logger.error(`Error while processing segment ${segmentIndex}:`, error.message); - reject(error); - }) - .run(); - }); - startTime += options.interval; - segmentIndex++; - } - } - catch (error) { - __2.logger.error('Error splitting audio file:', error); - } -}; -exports.split = split; -exports.CONVERTERS = { - '.mp3': exports.split -}; -const converter = (file) => exports.CONVERTERS[extension(file)]; -exports.converter = converter; -const convertFile = async (file, target, onNode = () => { }, options) => { - const osr_cache = (0, osr_commons_1.OSR_CACHE)(); - const ca_options = JSON.parse(JSON.stringify({ ...options, target, skip: null })); - const cached = await (0, lib_1.get_cached)(file, ca_options, constants_1.MODULE_NAME); - const conv = (0, exports.converter)(target); - if (!conv) { - __2.logger.error(`No converter found for ${file}`); - return; - } - const dstParts = path.parse(target); - if (!(0, exists_1.sync)(dstParts.dir)) { - (0, dir_1.sync)(dstParts.dir); - } - const ret = await conv(file, target, onNode, options); - return ret; -}; -exports.convertFile = convertFile; -async function _convert(file, targets, onNode = () => { }, options) { - return pMap(targets, (target) => { - options.verbose && __2.logger.debug(`Convert ${file} to ${target}`); - if (options.dry) { - return; - } - return (0, exports.convertFile)(file, target, onNode, options); - }, { concurrency: 1 }); -} -const convert = async (options) => { - let reports = []; - const onNode = (data) => { reports.push(data); }; - options.verbose && __2.logger.info(`Convert ${options.srcInfo.FILES.length} files `); - await pMap(options.srcInfo.FILES, (f) => { - const outputs = (0, __1.targets)(f, options); - options.verbose && __2.logger.info(`Convert ${f} to `, outputs); - return _convert(f, outputs, onNode, options); - }, { concurrency: 1 }); -}; -exports.convert = convert; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvbWVkaWEvYXVkaW8vY29udmVydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUErRUEsNEJBUUM7QUF2RkQsNkJBQTRCO0FBQzVCLDhCQUE2QjtBQUM3Qix5REFBbUQ7QUFDbkQsa0RBQXNEO0FBQ3RELDRDQUFnRDtBQUNoRCxtREFBc0Q7QUFDdEQsOEJBQWdDO0FBQ2hDLGdDQUFpQztBQUNqQyxrREFBZ0Q7QUFHaEQsc0NBQWdDO0FBSWhDLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQTtBQUU5QyxNQUFNLFNBQVMsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUE7QUFFakQsTUFBTSxLQUFLLEdBQUcsS0FBSyxFQUFFLEdBQVcsRUFBRSxHQUFXLEVBQUUsTUFBTSxFQUFFLE9BQTZCLEVBQWlCLEVBQUU7SUFDMUcsSUFBSSxDQUFDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLGFBQUksRUFBQyxHQUFHLENBQUMsQ0FBQTtRQUNoQyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQTtRQUN6QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDWixVQUFNLENBQUMsS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7WUFDaEUsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUE7UUFDakIsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFBO1FBRXBCLE9BQU8sU0FBUyxHQUFHLFFBQVEsRUFBRSxDQUFDO1lBQzFCLE1BQU0sVUFBVSxHQUFHLEdBQUcsR0FBRyxZQUFZLFlBQVksTUFBTSxDQUFDO1lBRXhELE1BQU0sSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFF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 \ No newline at end of file +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.convert = exports._convert = exports.convertFile = exports.converter = exports.CONVERTERS = exports.split = void 0; +const path = require("path"); +const pMap = require("p-map"); +const osr_commons_1 = require("@plastichub/osr-commons"); +const exists_1 = require("@plastichub/fs/exists"); +const dir_1 = require("@plastichub/fs/dir"); +const lib_1 = require("@plastichub/osr-cache/lib"); +const __1 = require("../../"); +const __2 = require("../../.."); +const constants_1 = require("../../../constants"); +const ffmpeg_1 = require("../ffmpeg"); +const FfmpegCommand = require('fluent-ffmpeg'); +const extension = (file) => path.parse(file).ext; +const split = async (src, dst, onNode, options) => { + try { + const metadata = await (0, ffmpeg_1.meta)(src); + const duration = metadata.format.duration; + if (!duration) { + __2.logger.error('Unable to determine duration of the audio file.'); + return; + } + let startTime = 0; + let segmentIndex = 1; + while (startTime < duration) { + const outputFile = `${dst}/segment_${segmentIndex}.mp3`; + await new Promise((resolve, reject) => { + const ff = new FfmpegCommand(src) + .setStartTime(startTime) + .setDuration(options.interval) + .output(outputFile) + .on('end', () => { + __2.logger.info(`Segment ${segmentIndex} finished.`); + resolve(); + }) + .on('error', (error) => { + __2.logger.error(`Error while processing segment ${segmentIndex}:`, error.message); + reject(error); + }) + .run(); + }); + startTime += options.interval; + segmentIndex++; + } + } + catch (error) { + __2.logger.error('Error splitting audio file:', error); + } +}; +exports.split = split; +exports.CONVERTERS = { + '.mp3': exports.split +}; +const converter = (file) => exports.CONVERTERS[extension(file)]; +exports.converter = converter; +const convertFile = async (file, target, onNode = () => { }, options) => { + const osr_cache = (0, osr_commons_1.OSR_CACHE)(); + const ca_options = JSON.parse(JSON.stringify({ ...options, target, skip: null })); + const cached = await (0, lib_1.get_cached)(file, ca_options, constants_1.MODULE_NAME); + const conv = (0, exports.converter)(target); + if (!conv) { + __2.logger.error(`No converter found for ${file}`); + return; + } + const dstParts = path.parse(target); + if (!(0, exists_1.sync)(dstParts.dir)) { + (0, dir_1.sync)(dstParts.dir); + } + const ret = await conv(file, target, onNode, options); + return ret; +}; +exports.convertFile = convertFile; +async function _convert(file, targets, onNode = () => { }, options) { + return pMap(targets, (target) => { + options.verbose && __2.logger.debug(`Convert ${file} to ${target}`); + if (options.dry) { + return; + } + return (0, exports.convertFile)(file, target, onNode, options); + }, { concurrency: 1 }); +} +exports._convert = _convert; +const convert = async (options) => { + let reports = []; + const onNode = (data) => { reports.push(data); }; + options.verbose && __2.logger.info(`Convert ${options.srcInfo.FILES.length} files `); + await pMap(options.srcInfo.FILES, (f) => { + const outputs = (0, __1.targets)(f, options); + options.verbose && __2.logger.info(`Convert ${f} to `, outputs); + return _convert(f, outputs, onNode, options); + }, { concurrency: 1 }); +}; +exports.convert = convert; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvbWVkaWEvYXVkaW8vY29udmVydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBNEI7QUFDNUIsOEJBQTZCO0FBQzdCLHlEQUFtRDtBQUNuRCxrREFBc0Q7QUFDdEQsNENBQWdEO0FBQ2hELG1EQUFzRDtBQUN0RCw4QkFBZ0M7QUFDaEMsZ0NBQWlDO0FBQ2pDLGtEQUFnRDtBQUdoRCxzQ0FBZ0M7QUFJaEMsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFBO0FBRTlDLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQTtBQUVqRCxNQUFNLEtBQUssR0FBRyxLQUFLLEVBQUUsR0FBVyxFQUFFLEdBQVcsRUFBRSxNQUFNLEVBQUUsT0FBNkIsRUFBaUIsRUFBRTtJQUMxRyxJQUFJO1FBQ0EsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLGFBQUksRUFBQyxHQUFHLENBQUMsQ0FBQTtRQUNoQyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQTtRQUN6QyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ1gsVUFBTSxDQUFDLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO1lBQ2hFLE9BQU87U0FDVjtRQUVELElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQTtRQUNqQixJQUFJLFlBQVksR0FBRyxDQUFDLENBQUE7UUFFcEIsT0FBTyxTQUFTLEdBQUcsUUFBUSxFQUFFO1lBQ3pCLE1BQU0sVUFBVSxHQUFHLEdBQUcsR0FBRyxZQUFZLFlBQVksTUFBTSxDQUFDO1lBRXhELE1BQU0sSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQ3hDLE1BQU0sRUFBRSxHQUFHLElBQUks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 \ No newline at end of file diff --git a/packages/media/lib/media/ffmpeg.js b/packages/media/lib/media/ffmpeg.js index df28e657..c8b82438 100644 --- a/packages/media/lib/media/ffmpeg.js +++ b/packages/media/lib/media/ffmpeg.js @@ -1,21 +1,21 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.meta = void 0; -const FfmpegCommand = require('fluent-ffmpeg'); -const meta = async (src) => { - return new Promise((resolve, reject) => { - const ff = new FfmpegCommand(src); - ff.ffprobe(src, (err, metadata) => { - if (err) { - //logger.error('Error retrieving metadata:', err) - reject(err); - } - else { - //logger.info('Successfully retrieved metadata.'); - resolve(metadata); - } - }); - }); -}; -exports.meta = meta; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmZtcGVnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9tZWRpYS9mZm1wZWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFBO0FBRXZDLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFBRSxHQUFXLEVBQXdCLEVBQUU7SUFDNUQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUNyQyxNQUFNLEVBQUUsR0FBRyxJQUFJLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNqQyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUNoQyxJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUNSLGlEQUFpRDtnQkFDakQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2QsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLGtEQUFrRDtnQkFDbEQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1lBQ25CLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBYlUsUUFBQSxJQUFJLFFBYWQifQ== \ No newline at end of file +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.meta = void 0; +const FfmpegCommand = require('fluent-ffmpeg'); +const meta = async (src) => { + return new Promise((resolve, reject) => { + const ff = new FfmpegCommand(src); + ff.ffprobe(src, (err, metadata) => { + if (err) { + //logger.error('Error retrieving metadata:', err) + reject(err); + } + else { + //logger.info('Successfully retrieved metadata.'); + resolve(metadata); + } + }); + }); +}; +exports.meta = meta; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmZtcGVnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9tZWRpYS9mZm1wZWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFBO0FBRXZDLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFBRSxHQUFXLEVBQXdCLEVBQUU7SUFDNUQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUNyQyxNQUFNLEVBQUUsR0FBRyxJQUFJLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNqQyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUNoQyxJQUFJLEdBQUcsRUFBRTtnQkFDUCxpREFBaUQ7Z0JBQ2pELE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNiO2lCQUFNO2dCQUNMLGtEQUFrRDtnQkFDbEQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFBO2FBQ2xCO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQWJVLFFBQUEsSUFBSSxRQWFkIn0= \ No newline at end of file diff --git a/packages/media/lib/media/images/convert.js b/packages/media/lib/media/images/convert.js index 6afbd1ea..76e26ebe 100644 --- a/packages/media/lib/media/images/convert.js +++ b/packages/media/lib/media/images/convert.js @@ -1,50 +1,50 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.convert = exports.convertFile = void 0; -exports._convert = _convert; -const path = require("path"); -const bluebird = require("bluebird"); -const pMap = require("p-map"); -const sharp = require("sharp"); -const index_1 = require("../../../index"); -const osr_commons_1 = require("@plastichub/osr-commons"); -const exists_1 = require("@plastichub/fs/exists"); -const dir_1 = require("@plastichub/fs/dir"); -const lib_1 = require("@plastichub/osr-cache/lib"); -const __1 = require("../../"); -const constants_1 = require("../../../constants"); -const convertFile = async (file, target, onNode = () => { }, options) => { - const osr_cache = (0, osr_commons_1.OSR_CACHE)(); - const ca_options = JSON.parse(JSON.stringify({ ...options, target, skip: null })); - const cached = await (0, lib_1.get_cached)(file, ca_options, constants_1.MODULE_NAME); - let image = sharp(file); - const srcParts = path.parse(file); - const dstParts = path.parse(target); - if (!(0, exists_1.sync)(dstParts.dir)) { - (0, dir_1.sync)(dstParts.dir); - } - let ret = await image.withMetadata().toFile(target); - return ret; -}; -exports.convertFile = convertFile; -async function _convert(file, targets, onNode = () => { }, options) { - return pMap(targets, async (target) => { - index_1.logger.debug(`Convert ${file} to ${target}`); - if (options.dry) { - return bluebird.resolve(); - } - return (0, exports.convertFile)(file, target, onNode, options); - }, { concurrency: 1 }); -} -const convert = async (options) => { - let reports = []; - const onNode = (data) => { reports.push(data); }; - index_1.logger.info(`Convert ${options.srcInfo.FILES.length} files `); - await pMap(options.srcInfo.FILES, (f) => { - const outputs = (0, __1.targets)(f, options); - options.verbose && index_1.logger.info(`Convert ${f} to `, outputs); - return _convert(f, outputs, onNode, options); - }, { concurrency: 1 }); -}; -exports.convert = convert; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvbWVkaWEvaW1hZ2VzL2NvbnZlcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBa0NBLDRCQVFDO0FBMUNELDZCQUE0QjtBQUM1QixxQ0FBb0M7QUFDcEMsOEJBQTZCO0FBQzdCLCtCQUE4QjtBQUM5QiwwQ0FBdUM7QUFFdkMseURBQW1EO0FBQ25ELGtEQUFzRDtBQUN0RCw0Q0FBZ0Q7QUFDaEQsbURBRWtDO0FBRWxDLDhCQUVlO0FBRWYsa0RBRTJCO0FBRXBCLE1BQU0sV0FBVyxHQUFHLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFNBQThCLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxPQUF1QixFQUFFLEVBQUU7SUFDaEgsTUFBTSxTQUFTLEdBQUcsSUFBQSx1QkFBUyxHQUFFLENBQUE7SUFDN0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDakYsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFBLGdCQUFVLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSx1QkFBVyxDQUFDLENBQUE7SUFDOUQsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3ZCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDakMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNuQyxJQUFHLENBQUMsSUFBQSxhQUFNLEVBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFDLENBQUM7UUFDdEIsSUFBQSxVQUFHLEVBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3JCLENBQUM7SUFDRCxJQUFJLEdBQUcsR0FBRyxNQUFNLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDbkQsT0FBTyxHQUFHLENBQUE7QUFDZCxDQUFDLENBQUE7QUFaWSxRQUFBLFdBQVcsZUFZdkI7QUFDTSxLQUFLLFVBQVUsUUFBUSxDQUFDLElBQUksRUFBRSxPQUFpQixFQUFFLFNBQThCLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxPQUFpQjtJQUM5RyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ2xDLGNBQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLE9BQU8sTUFBTSxFQUFFLENBQUMsQ0FBQztRQUM3QyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNkLE9BQU8sUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzlCLENBQUM7UUFDRCxPQUFPLElBQUEsbUJBQVcsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN0RCxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUMzQixDQUFDO0FBRU0sTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUFFLE9BQWlCLEVBQUUsRUFBRTtJQUMvQyxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUE7SUFDaEIsTUFBTSxNQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUE7SUFDL0MsY0FBTSxDQUFDLElBQUksQ0FBQyxXQUFXLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sU0FBUyxDQUFDLENBQUE7SUFDN0QsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFBLFdBQU8sRUFBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDbkMsT0FBTyxDQUFDLE9BQU8sSUFBSSxjQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDM0QsT0FBTyxRQUFRLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDaEQsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUE7QUFDMUIsQ0FBQyxDQUFBO0FBVFksUUFBQSxPQUFPLFdBU25CIn0= \ No newline at end of file +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.convert = exports._convert = exports.convertFile = void 0; +const path = require("path"); +const bluebird = require("bluebird"); +const pMap = require("p-map"); +const sharp = require("sharp"); +const index_1 = require("../../../index"); +const osr_commons_1 = require("@plastichub/osr-commons"); +const exists_1 = require("@plastichub/fs/exists"); +const dir_1 = require("@plastichub/fs/dir"); +const lib_1 = require("@plastichub/osr-cache/lib"); +const __1 = require("../../"); +const constants_1 = require("../../../constants"); +const convertFile = async (file, target, onNode = () => { }, options) => { + const osr_cache = (0, osr_commons_1.OSR_CACHE)(); + const ca_options = JSON.parse(JSON.stringify({ ...options, target, skip: null })); + const cached = await (0, lib_1.get_cached)(file, ca_options, constants_1.MODULE_NAME); + let image = sharp(file); + const srcParts = path.parse(file); + const dstParts = path.parse(target); + if (!(0, exists_1.sync)(dstParts.dir)) { + (0, dir_1.sync)(dstParts.dir); + } + let ret = await image.withMetadata().toFile(target); + return ret; +}; +exports.convertFile = convertFile; +async function _convert(file, targets, onNode = () => { }, options) { + return pMap(targets, async (target) => { + index_1.logger.debug(`Convert ${file} to ${target}`); + if (options.dry) { + return bluebird.resolve(); + } + return (0, exports.convertFile)(file, target, onNode, options); + }, { concurrency: 1 }); +} +exports._convert = _convert; +const convert = async (options) => { + let reports = []; + const onNode = (data) => { reports.push(data); }; + index_1.logger.info(`Convert ${options.srcInfo.FILES.length} files `); + await pMap(options.srcInfo.FILES, (f) => { + const outputs = (0, __1.targets)(f, options); + options.verbose && index_1.logger.info(`Convert ${f} to `, outputs); + return _convert(f, outputs, onNode, options); + }, { concurrency: 1 }); +}; +exports.convert = convert; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvbWVkaWEvaW1hZ2VzL2NvbnZlcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQTRCO0FBQzVCLHFDQUFvQztBQUNwQyw4QkFBNkI7QUFDN0IsK0JBQThCO0FBQzlCLDBDQUF1QztBQUV2Qyx5REFBbUQ7QUFDbkQsa0RBQXNEO0FBQ3RELDRDQUFnRDtBQUNoRCxtREFFa0M7QUFFbEMsOEJBRWU7QUFFZixrREFFMkI7QUFFcEIsTUFBTSxXQUFXLEdBQUcsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBOEIsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLE9BQXVCLEVBQUUsRUFBRTtJQUNoSCxNQUFNLFNBQVMsR0FBRyxJQUFBLHVCQUFTLEdBQUUsQ0FBQTtJQUM3QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUNqRixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUEsZ0JBQVUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLHVCQUFXLENBQUMsQ0FBQTtJQUM5RCxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDdkIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNqQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ25DLElBQUcsQ0FBQyxJQUFBLGFBQU0sRUFBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUM7UUFDckIsSUFBQSxVQUFHLEVBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0tBQ3BCO0lBQ0QsSUFBSSxHQUFHLEdBQUcsTUFBTSxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ25ELE9BQU8sR0FBRyxDQUFBO0FBQ2QsQ0FBQyxDQUFBO0FBWlksUUFBQSxXQUFXLGVBWXZCO0FBQ00sS0FBSyxVQUFVLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBaUIsRUFBRSxTQUE4QixHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsT0FBaUI7SUFDOUcsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUNsQyxjQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxPQUFPLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDN0MsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFO1lBQ2IsT0FBTyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDN0I7UUFDRCxPQUFPLElBQUEsbUJBQVcsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN0RCxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUMzQixDQUFDO0FBUkQsNEJBUUM7QUFFTSxNQUFNLE9BQU8sR0FBRyxLQUFLLEVBQUUsT0FBaUIsRUFBRSxFQUFFO0lBQy9DLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQTtJQUNoQixNQUFNLE1BQU0sR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQTtJQUMvQyxjQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxTQUFTLENBQUMsQ0FBQTtJQUM3RCxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ25DLE1BQU0sT0FBTyxHQUFHLElBQUEsV0FBTyxFQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUNuQyxPQUFPLENBQUMsT0FBTyxJQUFJLGNBQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUMzRCxPQUFPLFFBQVEsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUNoRCxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUMxQixDQUFDLENBQUE7QUFUWSxRQUFBLE9BQU8sV0FTbkIifQ== \ No newline at end of file diff --git a/packages/media/lib/media/images/index.js b/packages/media/lib/media/images/index.js index 21b1a7ee..f2f64655 100644 --- a/packages/media/lib/media/images/index.js +++ b/packages/media/lib/media/images/index.js @@ -1,169 +1,169 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.resizeSharp = exports.resize = exports.getResizePatterns = exports.format = exports.meta = exports.thumbnails = exports.getThumbnailOptions = exports.getFormats = exports.files = exports.GLOB_MIN = exports.GLOB_BASIC = void 0; -__exportStar(require("./resize"), exports); -__exportStar(require("./convert"), exports); -__exportStar(require("./watermark"), exports); -const pMap = require("p-map"); -const path = require("path"); -const fs = require("fs"); -const sharp = require("sharp"); -const exists_1 = require("@plastichub/fs/exists"); -const dir_1 = require("@plastichub/fs/dir"); -const fg = require('fast-glob'); -const glob = require('glob'); -const __1 = require("../../.."); -const _cli_1 = require("../../../_cli"); -//https://www.lightgalleryjs.com/demos/responsive/ -exports.GLOB_BASIC = 'png|jpg|tiff|jpeg|webp'; -exports.GLOB_MIN = '*.{png,jpg,jpeg,PNG,JPG,JPEG}'; -const resize_1 = require("./resize"); -const files = (dir, glob) => fg.sync(glob, { - dot: true, - cwd: dir, - absolute: true -}); -exports.files = files; -const getFormats = (src, folder) => { - return [{ - src: `${src}/${folder}/${exports.GLOB_MIN}`, - dist: `${src}/${folder}/webp`, - format: 'webp', - }]; -}; -exports.getFormats = getFormats; -const getThumbnailOptions = (src, format) => { - return [{ - src: `${src}/${exports.GLOB_MIN}`, - dist: "${SRC_DIR}/${SRC_NAME}_thumb.${FORMAT}", - format - }]; -}; -exports.getThumbnailOptions = getThumbnailOptions; -const thumbnails = async (options) => { - options = (0, _cli_1.sanitize)(options); - debugger; - __1.logger.setSettings({ minLevel: options.logLevel }); - return await (0, resize_1.resize)(options); -}; -exports.thumbnails = thumbnails; -const meta = async (file) => { - try { - return await sharp(file).metadata(); - } - catch (err) { - __1.logger.error(`Error retrieving meta data for ${file}`, err); - } -}; -exports.meta = meta; -const format = async (formats, options = { - cache: true, - png: false -}) => { - return await pMap(formats, async (format) => { - (0, dir_1.sync)(format.dist); - let files = glob.sync(format.src); - return await pMap(files, async (file) => { - let fileParts = path.parse(file); - const target = path.resolve(`${format.dist}/${fileParts.name}.${format.format}`); - if (options.cache !== false && (0, exists_1.sync)(target)) { - return; - } - const image = sharp(file).keepExif(); - const metadata = await image.metadata(); - if (options.png) { - await image - .withMetadata() - .png() - .toFile(target) - .catch(__1.logger.error); - } - else { - await image - .withMetadata() - .rotate() - .toFile(target) - .catch(__1.logger.error); - } - return metadata; - }); - }); -}; -exports.format = format; -const getResizePatterns = (product, folder, percent = 20) => { - return [ - { - src: `${product}/${folder}/${exports.GLOB_MIN}`, - dist: `${product}/${folder}/${percent}`, - percent - } - ]; -}; -exports.getResizePatterns = getResizePatterns; -const resize = async (patterns, options = { cache: true }) => { - return pMap(patterns, async (resize) => { - if (!fs.existsSync(resize.dist)) { - (0, dir_1.sync)(resize.dist); - } - let files = glob.sync(resize.src); - return await pMap(files, async (file) => { - let filename = path.basename(file); - if (options.cache && (0, exists_1.sync)(`${resize.dist}/${filename}`)) { - return; - } - try { - const image = sharp(file).keepExif().withMetadata(); - const metadata = await image.metadata(); - await image - .resize(Math.round(metadata.width * (resize.percent / 100))) - .keepExif() - .withMetadata() - .toFile(`${resize.dist}/${filename}`); - } - catch (err) { - __1.logger.error(err); - } - }); - }); -}; -exports.resize = resize; -const resizeSharp = async (patterns) => { - return await pMap(patterns, async (resize) => { - (0, dir_1.sync)(resize.dist); - let files = glob.sync(resize.src); - return await pMap(files, async (file) => { - let filename = path.basename(file); - const image = sharp(file); - const metadata = await image.metadata(); - if ((0, exists_1.sync)(`${resize.dist}/${filename}`)) { - return metadata; - } - try { - const metadata = await image.metadata(); - await image - .resize(Math.round(metadata.width * (resize.percent / 100))) - .toFile(`${resize.dist}/${filename}`); - return metadata; - } - catch (err) { - console.error(err); - } - }); - }); -}; -exports.resizeSharp = resizeSharp; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL21lZGlhL2ltYWdlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLDJDQUF3QjtBQUN4Qiw0Q0FBeUI7QUFDekIsOENBQTJCO0FBRTNCLDhCQUE2QjtBQUM3Qiw2QkFBNEI7QUFDNUIseUJBQXdCO0FBQ3hCLCtCQUE4QjtBQUU5QixrREFBc0Q7QUFDdEQsNENBQWtEO0FBRWxELE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUNoQyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7QUFFNUIsZ0NBQWlEO0FBQ2pELHdDQUF3QztBQUV4QyxrREFBa0Q7QUFDckMsUUFBQSxVQUFVLEdBQUcsd0JBQXdCLENBQUE7QUFFckMsUUFBQSxRQUFRLEdBQUcsK0JBQStCLENBQUE7QUFFdkQscUNBQWtEO0FBRTNDLE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7SUFDOUMsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsR0FBRztJQUNSLFFBQVEsRUFBRSxJQUFJO0NBQ2pCLENBQUMsQ0FBQTtBQUpXLFFBQUEsS0FBSyxTQUloQjtBQUVLLE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFO0lBQ3RDLE9BQU8sQ0FBQztZQUNKLEdBQUcsRUFBRSxHQUFHLEdBQUcsSUFBSSxNQUFNLElBQUksZ0JBQVEsRUFBRTtZQUNuQyxJQUFJLEVBQUUsR0FBRyxHQUFHLElBQUksTUFBTSxPQUFPO1lBQzdCLE1BQU0sRUFBRSxNQUFNO1NBQ2pCLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQTtBQU5ZLFFBQUEsVUFBVSxjQU10QjtBQUVNLE1BQU0sbUJBQW1CLEdB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 \ No newline at end of file +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.resizeSharp = exports.resize = exports.getResizePatterns = exports.format = exports.meta = exports.thumbnails = exports.getThumbnailOptions = exports.getFormats = exports.files = exports.GLOB_MIN = exports.GLOB_BASIC = void 0; +__exportStar(require("./resize"), exports); +__exportStar(require("./convert"), exports); +__exportStar(require("./watermark"), exports); +const pMap = require("p-map"); +const path = require("path"); +const fs = require("fs"); +const sharp = require("sharp"); +const exists_1 = require("@plastichub/fs/exists"); +const dir_1 = require("@plastichub/fs/dir"); +const fg = require('fast-glob'); +const glob = require('glob'); +const __1 = require("../../.."); +const _cli_1 = require("../../../_cli"); +//https://www.lightgalleryjs.com/demos/responsive/ +exports.GLOB_BASIC = 'png|jpg|tiff|jpeg|webp'; +exports.GLOB_MIN = '*.{png,jpg,jpeg,PNG,JPG,JPEG}'; +const resize_1 = require("./resize"); +const files = (dir, glob) => fg.sync(glob, { + dot: true, + cwd: dir, + absolute: true +}); +exports.files = files; +const getFormats = (src, folder) => { + return [{ + src: `${src}/${folder}/${exports.GLOB_MIN}`, + dist: `${src}/${folder}/webp`, + format: 'webp', + }]; +}; +exports.getFormats = getFormats; +const getThumbnailOptions = (src, format) => { + return [{ + src: `${src}/${exports.GLOB_MIN}`, + dist: "${SRC_DIR}/${SRC_NAME}_thumb.${FORMAT}", + format + }]; +}; +exports.getThumbnailOptions = getThumbnailOptions; +const thumbnails = async (options) => { + options = (0, _cli_1.sanitize)(options); + debugger; + __1.logger.setSettings({ minLevel: options.logLevel }); + return await (0, resize_1.resize)(options); +}; +exports.thumbnails = thumbnails; +const meta = async (file) => { + try { + return await sharp(file).metadata(); + } + catch (err) { + __1.logger.error(`Error retrieving meta data for ${file}`, err); + } +}; +exports.meta = meta; +const format = async (formats, options = { + cache: true, + png: false +}) => { + return await pMap(formats, async (format) => { + (0, dir_1.sync)(format.dist); + let files = glob.sync(format.src); + return await pMap(files, async (file) => { + let fileParts = path.parse(file); + const target = path.resolve(`${format.dist}/${fileParts.name}.${format.format}`); + if (options.cache !== false && (0, exists_1.sync)(target)) { + return; + } + const image = sharp(file).keepExif(); + const metadata = await image.metadata(); + if (options.png) { + await image + .withMetadata() + .png() + .toFile(target) + .catch(__1.logger.error); + } + else { + await image + .withMetadata() + .rotate() + .toFile(target) + .catch(__1.logger.error); + } + return metadata; + }); + }); +}; +exports.format = format; +const getResizePatterns = (product, folder, percent = 20) => { + return [ + { + src: `${product}/${folder}/${exports.GLOB_MIN}`, + dist: `${product}/${folder}/${percent}`, + percent + } + ]; +}; +exports.getResizePatterns = getResizePatterns; +const resize = async (patterns, options = { cache: true }) => { + return pMap(patterns, async (resize) => { + if (!fs.existsSync(resize.dist)) { + (0, dir_1.sync)(resize.dist); + } + let files = glob.sync(resize.src); + return await pMap(files, async (file) => { + let filename = path.basename(file); + if (options.cache && (0, exists_1.sync)(`${resize.dist}/${filename}`)) { + return; + } + try { + const image = sharp(file).keepExif().withMetadata(); + const metadata = await image.metadata(); + await image + .resize(Math.round(metadata.width * (resize.percent / 100))) + .keepExif() + .withMetadata() + .toFile(`${resize.dist}/${filename}`); + } + catch (err) { + __1.logger.error(err); + } + }); + }); +}; +exports.resize = resize; +const resizeSharp = async (patterns) => { + return await pMap(patterns, async (resize) => { + (0, dir_1.sync)(resize.dist); + let files = glob.sync(resize.src); + return await pMap(files, async (file) => { + let filename = path.basename(file); + const image = sharp(file); + const metadata = await image.metadata(); + if ((0, exists_1.sync)(`${resize.dist}/${filename}`)) { + return metadata; + } + try { + const metadata = await image.metadata(); + await image + .resize(Math.round(metadata.width * (resize.percent / 100))) + .toFile(`${resize.dist}/${filename}`); + return metadata; + } + catch (err) { + console.error(err); + } + }); + }); +}; +exports.resizeSharp = resizeSharp; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL21lZGlhL2ltYWdlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLDJDQUF3QjtBQUN4Qiw0Q0FBeUI7QUFDekIsOENBQTJCO0FBRTNCLDhCQUE2QjtBQUM3Qiw2QkFBNEI7QUFDNUIseUJBQXdCO0FBQ3hCLCtCQUE4QjtBQUU5QixrREFBc0Q7QUFDdEQsNENBQWtEO0FBRWxELE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUNoQyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7QUFFNUIsZ0NBQWlEO0FBQ2pELHdDQUF3QztBQUV4QyxrREFBa0Q7QUFDckMsUUFBQSxVQUFVLEdBQUcsd0JBQXdCLENBQUE7QUFFckMsUUFBQSxRQUFRLEdBQUcsK0JBQStCLENBQUE7QUFFdkQscUNBQWtEO0FBRTNDLE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7SUFDOUMsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsR0FBRztJQUNSLFFBQVEsRUFBRSxJQUFJO0NBQ2pCLENBQUMsQ0FBQTtBQUpXLFFBQUEsS0FBSyxTQUloQjtBQUVLLE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFO0lBQ3RDLE9BQU8sQ0FBQztZQUNKLEdBQUcsRUFBRSxHQUFHLEdBQUcsSUFBSSxNQUFNLElBQUksZ0JBQVEsRUFBRTtZQUNuQyxJQUFJLEVBQUUsR0FBRyxHQUFHLElBQUksTUFBTSxPQUFPO1lBQzdCLE1BQU0sRUFBRSxNQUFNO1NBQ2pCLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQTtBQU5ZLFFBQUEsVUFBVSxjQU10QjtBQUVNLE1BQU0sbUJBQW1CLEdB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 \ No newline at end of file diff --git a/packages/media/lib/media/images/lib.js b/packages/media/lib/media/images/lib.js index 43d59691..55566542 100644 --- a/packages/media/lib/media/images/lib.js +++ b/packages/media/lib/media/images/lib.js @@ -1,36 +1,36 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.meta = exports.imageToBase64 = exports.base64ToBuffer = exports.fileAsBuffer = void 0; -const path = require("path"); -const fs = require("fs"); -const read_1 = require("@plastichub/fs/read"); -const __1 = require("../../.."); -const fileAsBuffer = (path) => (0, read_1.sync)(path, 'buffer') || Buffer.from("-"); -exports.fileAsBuffer = fileAsBuffer; -const base64ToBuffer = async (b64string) => Buffer.from(b64string, 'base64'); -exports.base64ToBuffer = base64ToBuffer; -const imageToBase64 = async (imagePath) => { - try { - const imageBuffer = await fs.promises.readFile(imagePath); - const imageBase64 = imageBuffer.toString('base64'); - const mimeType = path.extname(imagePath).slice(1); - const dataUri = `data:image/${mimeType};base64,${imageBase64}`; - return dataUri; - } - catch (error) { - throw new Error(`Failed to convert image to base64: ${error}`); - } -}; -exports.imageToBase64 = imageToBase64; -const meta = (file, image) => { - return new Promise((resolve) => { - image.metadata().then((meta) => { - resolve(meta); - }).catch((e) => { - __1.logger.error(`Error creating meta data ${file}`); - resolve(null); - }); - }); -}; -exports.meta = meta; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9tZWRpYS9pbWFnZXMvbGliLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUE0QjtBQUM1Qix5QkFBd0I7QUFFeEIsOENBQWtEO0FBQ2xELGdDQUFpQztBQUUxQixNQUFNLFlBQVksR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsSUFBQSxXQUFJLEVBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBVyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7QUFBbkYsUUFBQSxZQUFZLGdCQUF1RTtBQUV6RixNQUFNLGNBQWMsR0FBRyxLQUFLLEVBQUUsU0FBaUIsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUE7QUFBOUUsUUFBQSxjQUFjLGtCQUFnRTtBQUVwRixNQUFNLGFBQWEsR0FBRyxLQUFLLEVBQUUsU0FBaUIsRUFBbUIsRUFBRTtJQUN0RSxJQUFJLENBQUM7UUFDRCxNQUFNLFdBQVcsR0FBRyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFELE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEQsTUFBTSxPQUFPLEdBQUcsY0FBYyxRQUFRLFdBQVcsV0FBVyxFQUFFLENBQUM7UUFDL0QsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDYixNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ25FLENBQUM7QUFDTCxDQUFDLENBQUE7QUFWWSxRQUFBLGFBQWEsaUJBVXpCO0FBRU0sTUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBa0IsRUFBa0MsRUFBRTtJQUM3RSxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDM0IsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzNCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNqQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNYLFVBQU0sQ0FBQyxLQUFLLENBQUMsNEJBQTRCLElBQUksRUFBRSxDQUFDLENBQUE7WUFDaEQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2pCLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUE7QUFUWSxRQUFBLElBQUksUUFTaEIifQ== \ No newline at end of file +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.meta = exports.imageToBase64 = exports.base64ToBuffer = exports.fileAsBuffer = void 0; +const path = require("path"); +const fs = require("fs"); +const read_1 = require("@plastichub/fs/read"); +const __1 = require("../../.."); +const fileAsBuffer = (path) => (0, read_1.sync)(path, 'buffer') || Buffer.from("-"); +exports.fileAsBuffer = fileAsBuffer; +const base64ToBuffer = async (b64string) => Buffer.from(b64string, 'base64'); +exports.base64ToBuffer = base64ToBuffer; +const imageToBase64 = async (imagePath) => { + try { + const imageBuffer = await fs.promises.readFile(imagePath); + const imageBase64 = imageBuffer.toString('base64'); + const mimeType = path.extname(imagePath).slice(1); + const dataUri = `data:image/${mimeType};base64,${imageBase64}`; + return dataUri; + } + catch (error) { + throw new Error(`Failed to convert image to base64: ${error}`); + } +}; +exports.imageToBase64 = imageToBase64; +const meta = (file, image) => { + return new Promise((resolve) => { + image.metadata().then((meta) => { + resolve(meta); + }).catch((e) => { + __1.logger.error(`Error creating meta data ${file}`); + resolve(null); + }); + }); +}; +exports.meta = meta; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9tZWRpYS9pbWFnZXMvbGliLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUE0QjtBQUM1Qix5QkFBd0I7QUFFeEIsOENBQWtEO0FBQ2xELGdDQUFpQztBQUUxQixNQUFNLFlBQVksR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsSUFBQSxXQUFJLEVBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBVyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7QUFBbkYsUUFBQSxZQUFZLGdCQUF1RTtBQUV6RixNQUFNLGNBQWMsR0FBRyxLQUFLLEVBQUUsU0FBaUIsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUE7QUFBOUUsUUFBQSxjQUFjLGtCQUFnRTtBQUVwRixNQUFNLGFBQWEsR0FBRyxLQUFLLEVBQUUsU0FBaUIsRUFBbUIsRUFBRTtJQUN0RSxJQUFJO1FBQ0EsTUFBTSxXQUFXLEdBQUcsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxRCxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sT0FBTyxHQUFHLGNBQWMsUUFBUSxXQUFXLFdBQVcsRUFBRSxDQUFDO1FBQy9ELE9BQU8sT0FBTyxDQUFDO0tBQ2xCO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDWixNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0tBQ2xFO0FBQ0wsQ0FBQyxDQUFBO0FBVlksUUFBQSxhQUFhLGlCQVV6QjtBQUVNLE1BQU0sSUFBSSxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQWtCLEVBQWtDLEVBQUU7SUFDN0UsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQzNCLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUMzQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDakIsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDWCxVQUFNLENBQUMsS0FBSyxDQUFDLDRCQUE0QixJQUFJLEVBQUUsQ0FBQyxDQUFBO1lBQ2hELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNqQixDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFBO0FBVFksUUFBQSxJQUFJLFFBU2hCIn0= \ No newline at end of file diff --git a/packages/media/lib/media/images/resize.js b/packages/media/lib/media/images/resize.js index db8e43ec..9a9b0f27 100644 --- a/packages/media/lib/media/images/resize.js +++ b/packages/media/lib/media/images/resize.js @@ -1,154 +1,154 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.resize = exports._resize = exports.resizeFile = void 0; -const path = require("path"); -const pMap = require("p-map"); -const sharp = require("sharp"); -const exists_1 = require("@plastichub/fs/exists"); -const move_1 = require("@plastichub/fs/move"); -const dir_1 = require("@plastichub/fs/dir"); -const inspect_1 = require("@plastichub/fs/inspect"); -const index_1 = require("../../../index"); -const lib_1 = require("./lib"); -const __1 = require("../.."); -const resizeFile = async (source, target, onNode = () => { }, options) => { - //const osr_cache = OSR_CACHE() - //const ca_options = JSON.parse(JSON.stringify({ ...options, target, skip: null })) - //const cached = await get_cached(file, ca_options, MODULE_NAME) - const targetOri = '' + target; - let inPlace = false; - if (path.resolve(source) === path.resolve(target)) { - const parts = path.parse(target); - target = path.join(parts.dir, parts.name + '_tmp' + parts.ext); - inPlace = true; - } - let image; - try { - image = sharp(source); - } - catch (e) { - index_1.logger.error(`Error reading file, ${source}`, e); - return; - } - onNode(image); - let metaData = await (0, lib_1.meta)(source, image) || {}; - const percent = options.percent; - const dstParts = path.parse(target); - const node = (0, inspect_1.createItem)(source, { - size: true, - mime: true - }); - if (!(0, exists_1.sync)(dstParts.dir)) { - (0, dir_1.sync)(dstParts.dir); - } - if (options.width && options.minWidth && options.width <= options.minWidth) { - index_1.logger.error(`Error resizing : options.width <= options.minWidth`); - return; - } - if (metaData.width && options.width && options.minWidth) { - if (metaData.width <= options.minWidth) { - return image; - } - } - if (metaData.height && options.height && options.minHeight) { - if (metaData.height <= options.minHeight) { - return image; - } - } - if (options.minSize && node.size && options.minSize >= node.size) { - return image; - } - const resizeOptions = { - height: options.height, - fastShrinkOnLoad: options.fastShrinkOnLoad, - withoutEnlargement: options.withoutEnlargement, - withoutReduction: options.withoutReduction, - fit: options.fit, - position: options.position, - background: options.background || 'white' - }; - if (percent && metaData.width) { - image = image.resize({ - width: Math.round(metaData.width * (percent / 100)), - ...resizeOptions - }); - } - else if (options.width || options.height) { - image = image.resize({ - width: options.width, - ...resizeOptions - }); - } - else { - index_1.logger.error(`Error resizing, invalid options for ${source} - no width, height or percent`); - return image; - } - if (dstParts.ext.toLowerCase() === '.webp' || - dstParts.ext.toLowerCase() === '.png') { - image = image.rotate(); - } - if (metaData.width) { - await image.withMetadata().toFile(target); - } - else { - try { - await image.toFile(target); - } - catch (e) { - index_1.logger.error(`Error writing file out, ${source}`, e); - return; - } - } - if (inPlace) { - const timeout = async (retry) => new Promise((resolve) => setTimeout(resolve, index_1.ERR_PERM_RETRY_DELAY * retry)); - const moveRetry = async (src, dst, retry = 0) => { - if (retry > index_1.ERR_PERM_RETRY_MAX) { - index_1.logger.error(`Error moving file failed, max retries reached ${src}`); - return; - } - try { - await (0, move_1.async)(target, targetOri); - } - catch (e) { - if (e.code === 'EPERM') { - index_1.logger.warn(`Error moving file out, retry ${source}`, e); - await timeout(retry); - moveRetry(src, dst, retry + 1); - } - } - }; - await moveRetry(source, targetOri); - } - index_1.logger.debug(`Resized Image ${source} to ${targetOri}`); - return image; -}; -exports.resizeFile = resizeFile; -const _resize = async (file, targets, onNode = () => { }, options) => { - return pMap(targets, async (target) => { - index_1.logger.debug(`Resizing ${file} to ${target}`); - if (options.dry) { - return Promise.resolve(); - } - return (0, exports.resizeFile)(file, target, onNode, options); - }, { concurrency: 1 }); -}; -exports._resize = _resize; -const resize = async (options) => { - let reports = []; - index_1.logger.setSettings({ minLevel: options.logLevel || 'info' }); - const onNode = (data) => reports.push(data); - if (options.srcInfo) { - index_1.logger.debug(`Convert ${options.srcInfo.FILES.length} files`); - return await pMap(options.srcInfo.FILES, async (f) => { - const outputs = (0, __1.targetsNext)(f, options); - index_1.logger.debug(`Convert ${f} to `, outputs); - return (0, exports._resize)(f, outputs, onNode, options); - }, { concurrency: 1 }); - } - else { - index_1.logger.error(`Invalid source info`); - } - return reports; -}; -exports.resize = resize; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9tZWRpYS9pbWFnZXMvcmVzaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUE0QjtBQUM1Qiw4QkFBNkI7QUFDN0IsK0JBQThCO0FBRTlCLGtEQUFzRDtBQUN0RCw4Q0FBbUQ7QUFDbkQsNENBQWdEO0FBQ2hELG9EQUE2RDtBQUU3RCwwQ0FNdUI7QUFFdkIsK0JBRWM7QUFFZCw2QkFHYztBQUdQLE1BQU0sVUFBVSxHQUFHLEtBQUssRUFBRSxNQUFjLEVBQUUsTUFBYyxFQUFFLFNBQXNDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxPQUF1QixFQUFvQyxFQUFFO0lBQzNLLCtCQUErQjtJQUMvQixtRkFBbUY7SUFDbkYsZ0VBQWdFO0lBQ2hFLE1BQU0sU0FBUyxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUE7SUFDN0IsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFBO0lBQ25CLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDaEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNoQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLEdBQUcsTUFBTSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUM5RCxPQUFPLEdBQUcsSUFBSSxDQUFBO0lBQ2xCLENBQUM7SUFFRCxJQUFJLEtBQWtCLENBQUE7SUFDdEIsSUFBSSxDQUFDO1FBQ0QsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUN6QixDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNULGNBQU0sQ0FBQyxLQUFLLENBQUMsdUJBQXVCLE1B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 \ No newline at end of file +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.resize = exports._resize = exports.resizeFile = void 0; +const path = require("path"); +const pMap = require("p-map"); +const sharp = require("sharp"); +const exists_1 = require("@plastichub/fs/exists"); +const move_1 = require("@plastichub/fs/move"); +const dir_1 = require("@plastichub/fs/dir"); +const inspect_1 = require("@plastichub/fs/inspect"); +const index_1 = require("../../../index"); +const lib_1 = require("./lib"); +const __1 = require("../.."); +const resizeFile = async (source, target, onNode = () => { }, options) => { + //const osr_cache = OSR_CACHE() + //const ca_options = JSON.parse(JSON.stringify({ ...options, target, skip: null })) + //const cached = await get_cached(file, ca_options, MODULE_NAME) + const targetOri = '' + target; + let inPlace = false; + if (path.resolve(source) === path.resolve(target)) { + const parts = path.parse(target); + target = path.join(parts.dir, parts.name + '_tmp' + parts.ext); + inPlace = true; + } + let image; + try { + image = sharp(source); + } + catch (e) { + index_1.logger.error(`Error reading file, ${source}`, e); + return; + } + onNode(image); + let metaData = await (0, lib_1.meta)(source, image) || {}; + const percent = options.percent; + const dstParts = path.parse(target); + const node = (0, inspect_1.createItem)(source, { + size: true, + mime: true + }); + if (!(0, exists_1.sync)(dstParts.dir)) { + (0, dir_1.sync)(dstParts.dir); + } + if (options.width && options.minWidth && options.width <= options.minWidth) { + index_1.logger.error(`Error resizing : options.width <= options.minWidth`); + return; + } + if (metaData.width && options.width && options.minWidth) { + if (metaData.width <= options.minWidth) { + return image; + } + } + if (metaData.height && options.height && options.minHeight) { + if (metaData.height <= options.minHeight) { + return image; + } + } + if (options.minSize && node.size && options.minSize >= node.size) { + return image; + } + const resizeOptions = { + height: options.height, + fastShrinkOnLoad: options.fastShrinkOnLoad, + withoutEnlargement: options.withoutEnlargement, + withoutReduction: options.withoutReduction, + fit: options.fit, + position: options.position, + background: options.background || 'white' + }; + if (percent && metaData.width) { + image = image.resize({ + width: Math.round(metaData.width * (percent / 100)), + ...resizeOptions + }); + } + else if (options.width || options.height) { + image = image.resize({ + width: options.width, + ...resizeOptions + }); + } + else { + index_1.logger.error(`Error resizing, invalid options for ${source} - no width, height or percent`); + return image; + } + if (dstParts.ext.toLowerCase() === '.webp' || + dstParts.ext.toLowerCase() === '.png') { + image = image.rotate(); + } + if (metaData.width) { + await image.withMetadata().toFile(target); + } + else { + try { + await image.toFile(target); + } + catch (e) { + index_1.logger.error(`Error writing file out, ${source}`, e); + return; + } + } + if (inPlace) { + const timeout = async (retry) => new Promise((resolve) => setTimeout(resolve, index_1.ERR_PERM_RETRY_DELAY * retry)); + const moveRetry = async (src, dst, retry = 0) => { + if (retry > index_1.ERR_PERM_RETRY_MAX) { + index_1.logger.error(`Error moving file failed, max retries reached ${src}`); + return; + } + try { + await (0, move_1.async)(target, targetOri); + } + catch (e) { + if (e.code === 'EPERM') { + index_1.logger.warn(`Error moving file out, retry ${source}`, e); + await timeout(retry); + moveRetry(src, dst, retry + 1); + } + } + }; + await moveRetry(source, targetOri); + } + index_1.logger.debug(`Resized Image ${source} to ${targetOri}`); + return image; +}; +exports.resizeFile = resizeFile; +const _resize = async (file, targets, onNode = () => { }, options) => { + return pMap(targets, async (target) => { + index_1.logger.debug(`Resizing ${file} to ${target}`); + if (options.dry) { + return Promise.resolve(); + } + return (0, exports.resizeFile)(file, target, onNode, options); + }, { concurrency: 1 }); +}; +exports._resize = _resize; +const resize = async (options) => { + let reports = []; + index_1.logger.setSettings({ minLevel: options.logLevel || 'info' }); + const onNode = (data) => reports.push(data); + if (options.srcInfo) { + index_1.logger.debug(`Convert ${options.srcInfo.FILES.length} files`); + return await pMap(options.srcInfo.FILES, async (f) => { + const outputs = (0, __1.targetsNext)(f, options); + index_1.logger.debug(`Convert ${f} to `, outputs); + return (0, exports._resize)(f, outputs, onNode, options); + }, { concurrency: 1 }); + } + else { + index_1.logger.error(`Invalid source info`); + } + return reports; +}; +exports.resize = resize; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9tZWRpYS9pbWFnZXMvcmVzaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUE0QjtBQUM1Qiw4QkFBNkI7QUFDN0IsK0JBQThCO0FBRTlCLGtEQUFzRDtBQUN0RCw4Q0FBbUQ7QUFDbkQsNENBQWdEO0FBQ2hELG9EQUE2RDtBQUU3RCwwQ0FNdUI7QUFFdkIsK0JBRWM7QUFFZCw2QkFHYztBQUdQLE1BQU0sVUFBVSxHQUFHLEtBQUssRUFBRSxNQUFjLEVBQUUsTUFBYyxFQUFFLFNBQXNDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxPQUF1QixFQUFvQyxFQUFFO0lBQzNLLCtCQUErQjtJQUMvQixtRkFBbUY7SUFDbkYsZ0VBQWdFO0lBQ2hFLE1BQU0sU0FBUyxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUE7SUFDN0IsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFBO0lBQ25CLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQy9DLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDaEMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxHQUFHLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDOUQsT0FBTyxHQUFHLElBQUksQ0FBQTtLQUNqQjtJQUVELElBQUksS0FBa0IsQ0FBQTtJQUN0QixJQUFJO1FBQ0EsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQTtLQUN4QjtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1IsY0FBTSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENB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 \ No newline at end of file diff --git a/packages/media/lib/media/images/watermark.js b/packages/media/lib/media/images/watermark.js index 4a8b92b2..b1360c92 100644 --- a/packages/media/lib/media/images/watermark.js +++ b/packages/media/lib/media/images/watermark.js @@ -1,52 +1,52 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.watermark = void 0; -const bluebird = require("bluebird"); -const bluebird_1 = require("bluebird"); -const write_1 = require("@plastichub/fs/write"); -const index_1 = require("../../../index"); -const lib_1 = require("./lib"); -const novita_sdk_1 = require("novita-sdk"); -const __1 = require("../../"); -const removeWatermark = async (file, target, onNode = () => { }, options) => { - const novitaClient = new novita_sdk_1.NovitaSDK(options.key); - const params = { - image_file: await (0, lib_1.imageToBase64)(file) - //"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD", - }; - try { - const wMark = await novitaClient.removeWatermark(params); - index_1.logger.info(`Watermark removed: ${file} to ${target}`); - (0, write_1.async)(target, (0, lib_1.base64ToBuffer)(wMark.image_file)); - } - catch (error) { - index_1.logger.error(`Failed to remove watermark: ${error.msg}`); - } -}; -const _watermark = async (file, targets, onNode = () => { }, options) => { - return bluebird_1.Promise.resolve(targets).map((target) => { - options.verbose && index_1.logger.debug(`Removing Watermark ${file} to ${target}`); - if (options.dry) { - return bluebird.resolve(); - } - return removeWatermark(file, target, onNode, options); - }, { concurrency: 1 }); -}; -const watermark = async (options) => { - // reporting, stub - let reports = []; - const onNode = (data) => reports.push(data); - if (options.srcInfo) { - options.verbose && index_1.logger.info(`Convert ${options.srcInfo.FILES.length} files`); - return await bluebird_1.Promise.resolve(options.srcInfo.FILES).map((f) => { - const outputs = (0, __1.targets)(f, options); - options.verbose && index_1.logger.info(`Convert ${f} to `, outputs); - return _watermark(f, outputs, onNode, options); - }, { concurrency: 1 }); - } - else { - options.debug && index_1.logger.error(`Invalid source info`); - } -}; -exports.watermark = watermark; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXJtYXJrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9tZWRpYS9pbWFnZXMvd2F0ZXJtYXJrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLHFDQUFvQztBQUNwQyx1Q0FBOEM7QUFLOUMsZ0RBQXFEO0FBS3JELDBDQUV1QjtBQU92QiwrQkFHYztBQU1kLDJDQUFzQztBQUN0Qyw4QkFBOEM7QUFFOUMsTUFBTSxlQUFlLEdBQUcsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBOEIsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLE9BQXVCLEVBQUUsRUFBRTtJQUM3RyxNQUFNLFlBQVksR0FBRyxJQUFJLHNCQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQy9DLE1BQU0sTUFBTSxHQUFHO1FBQ1gsVUFBVSxFQUFFLE1BQU0sSUFBQSxtQkFBYSxFQUFDLElBQUksQ0FBQztRQUNyQyx1REFBdUQ7S0FDMUQsQ0FBQTtJQUNELElBQUksQ0FBQztRQUNELE1BQU0sS0FBSyxHQUFHLE1BQU0sWUFBWSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN4RCxjQUFNLENBQUMsSUFBSSxDQUFDLHNCQUFzQixJQUFJLE9BQU8sTUFBTSxFQUFFLENBQUMsQ0FBQTtRQUN0RCxJQUFBLGFBQUssRUFBQyxNQUFNLEVBQUMsSUFBQSxvQkFBYyxFQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFBO0lBQ2xELENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsY0FBTSxDQUFDLEtBQUssQ0FBQywrQkFBK0IsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUE7SUFDNUQsQ0FBQztBQUNMLENBQUMsQ0FBQTtBQUVELE1BQU0sVUFBVSxHQUFHLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBaUIsRUFBRSxTQUE4QixHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsT0FBaUIsRUFBRSxFQUFFO0lBQzdHLE9BQU8sa0JBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7UUFDNUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxjQUFNLENBQUMsS0FBSyxDQUFDLHNCQUFzQixJQUFJLE9BQU8sTUFBTSxFQUFFLENBQUMsQ0FBQTtRQUMxRSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNkLE9BQU8sUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQzdCLENBQUM7UUFDRCxPQUFPLGVBQWUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMxRCxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUMxQixDQUFDLENBQUE7QUFFTSxNQUFNLFNBQVMsR0FBRyxLQUFLLEVBQUUsT0FBaUIsRUFBRSxFQUFFO0lBRWpELGtCQUFrQjtJQUNsQixJQUFJLE9BQU8sR0FBUSxFQUFFLENBQUE7SUFDckIsTUFBTSxNQUFNLEdBQUcsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDaEQsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbEIsT0FBTyxDQUFDLE9BQU8sSUFBSSxjQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUMsQ0FBQTtRQUMvRSxPQUFPLE1BQU0sa0JBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMzRCxNQUFNLE9BQU8sR0FBRyxJQUFBLFdBQU8sRUFBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUE7WUFDbkMsT0FBTyxDQUFDLE9BQU8sSUFBSSxjQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUE7WUFDM0QsT0FBTyxVQUFVLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDbEQsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDMUIsQ0FBQztTQUFNLENBQUM7UUFDSixPQUFPLENBQUMsS0FBSyxJQUFJLGNBQU0sQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQTtJQUN4RCxDQUFDO0FBQ0wsQ0FBQyxDQUFBO0FBZlksUUFBQSxTQUFTLGFBZXJCIn0= \ No newline at end of file +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.watermark = void 0; +const bluebird = require("bluebird"); +const bluebird_1 = require("bluebird"); +const write_1 = require("@plastichub/fs/write"); +const index_1 = require("../../../index"); +const lib_1 = require("./lib"); +const novita_sdk_1 = require("novita-sdk"); +const __1 = require("../../"); +const removeWatermark = async (file, target, onNode = () => { }, options) => { + const novitaClient = new novita_sdk_1.NovitaSDK(options.key); + const params = { + image_file: await (0, lib_1.imageToBase64)(file) + //"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD", + }; + try { + const wMark = await novitaClient.removeWatermark(params); + index_1.logger.info(`Watermark removed: ${file} to ${target}`); + (0, write_1.async)(target, (0, lib_1.base64ToBuffer)(wMark.image_file)); + } + catch (error) { + index_1.logger.error(`Failed to remove watermark: ${error.msg}`); + } +}; +const _watermark = async (file, targets, onNode = () => { }, options) => { + return bluebird_1.Promise.resolve(targets).map((target) => { + options.verbose && index_1.logger.debug(`Removing Watermark ${file} to ${target}`); + if (options.dry) { + return bluebird.resolve(); + } + return removeWatermark(file, target, onNode, options); + }, { concurrency: 1 }); +}; +const watermark = async (options) => { + // reporting, stub + let reports = []; + const onNode = (data) => reports.push(data); + if (options.srcInfo) { + options.verbose && index_1.logger.info(`Convert ${options.srcInfo.FILES.length} files`); + return await bluebird_1.Promise.resolve(options.srcInfo.FILES).map((f) => { + const outputs = (0, __1.targets)(f, options); + options.verbose && index_1.logger.info(`Convert ${f} to `, outputs); + return _watermark(f, outputs, onNode, options); + }, { concurrency: 1 }); + } + else { + options.debug && index_1.logger.error(`Invalid source info`); + } +}; +exports.watermark = watermark; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0ZXJtYXJrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9tZWRpYS9pbWFnZXMvd2F0ZXJtYXJrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLHFDQUFvQztBQUNwQyx1Q0FBOEM7QUFLOUMsZ0RBQXFEO0FBS3JELDBDQUV1QjtBQU92QiwrQkFHYztBQU1kLDJDQUFzQztBQUN0Qyw4QkFBOEM7QUFFOUMsTUFBTSxlQUFlLEdBQUcsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBOEIsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLE9BQXVCLEVBQUUsRUFBRTtJQUM3RyxNQUFNLFlBQVksR0FBRyxJQUFJLHNCQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQy9DLE1BQU0sTUFBTSxHQUFHO1FBQ1gsVUFBVSxFQUFFLE1BQU0sSUFBQSxtQkFBYSxFQUFDLElBQUksQ0FBQztRQUNyQyx1REFBdUQ7S0FDMUQsQ0FBQTtJQUNELElBQUk7UUFDQSxNQUFNLEtBQUssR0FBRyxNQUFNLFlBQVksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDeEQsY0FBTSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxPQUFPLE1BQU0sRUFBRSxDQUFDLENBQUE7UUFDdEQsSUFBQSxhQUFLLEVBQUMsTUFBTSxFQUFDLElBQUEsb0JBQWMsRUFBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQTtLQUNqRDtJQUFDLE9BQU8sS0FBSyxFQUFFO1FBQ1osY0FBTSxDQUFDLEtBQUssQ0FBQywrQkFBK0IsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUE7S0FDM0Q7QUFDTCxDQUFDLENBQUE7QUFFRCxNQUFNLFVBQVUsR0FBRyxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQWlCLEVBQUUsU0FBOEIsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLE9BQWlCLEVBQUUsRUFBRTtJQUM3RyxPQUFPLGtCQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQzVDLE9BQU8sQ0FBQyxPQUFPLElBQUksY0FBTSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsSUFBSSxPQUFPLE1BQU0sRUFBRSxDQUFDLENBQUE7UUFDMUUsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFO1lBQ2IsT0FBTyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUE7U0FDNUI7UUFDRCxPQUFPLGVBQWUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMxRCxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUMxQixDQUFDLENBQUE7QUFFTSxNQUFNLFNBQVMsR0FBRyxLQUFLLEVBQUUsT0FBaUIsRUFBRSxFQUFFO0lBRWpELGtCQUFrQjtJQUNsQixJQUFJLE9BQU8sR0FBUSxFQUFFLENBQUE7SUFDckIsTUFBTSxNQUFNLEdBQUcsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDaEQsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFO1FBQ2pCLE9BQU8sQ0FBQyxPQUFPLElBQUksY0FBTSxDQUFDLElBQUksQ0FBQyxXQUFXLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDLENBQUE7UUFDL0UsT0FBTyxNQUFNLGtCQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDM0QsTUFBTSxPQUFPLEdBQUcsSUFBQSxXQUFPLEVBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1lBQ25DLE9BQU8sQ0FBQyxPQUFPLElBQUksY0FBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1lBQzNELE9BQU8sVUFBVSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQ2xELENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0tBQ3pCO1NBQU07UUFDSCxPQUFPLENBQUMsS0FBSyxJQUFJLGNBQU0sQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQTtLQUN2RDtBQUNMLENBQUMsQ0FBQTtBQWZZLFFBQUEsU0FBUyxhQWVyQiJ9 \ No newline at end of file diff --git a/packages/media/lib/media/video/convert.js b/packages/media/lib/media/video/convert.js index efecc3f3..5ca4cb71 100644 --- a/packages/media/lib/media/video/convert.js +++ b/packages/media/lib/media/video/convert.js @@ -1,130 +1,130 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.createVideoFromImages = exports.merge = exports.convert = exports.convertFile = exports.converter = exports.CONVERTERS = exports.frames = void 0; -exports._convert = _convert; -const path = require("path"); -const pMap = require("p-map"); -const osr_commons_1 = require("@plastichub/osr-commons"); -const exists_1 = require("@plastichub/fs/exists"); -const dir_1 = require("@plastichub/fs/dir"); -const lib_1 = require("@plastichub/osr-cache/lib"); -const __1 = require("../../"); -const __2 = require("../../.."); -const constants_1 = require("../../../constants"); -const video_1 = require("../video"); -const FfmpegCommand = require('fluent-ffmpeg'); -const extension = (file) => path.parse(file).ext; -const mp3 = async (inputPath, outputPath) => { - return new Promise((resolve, reject) => { - const ff = new FfmpegCommand(inputPath); - ff.noVideo() - .audioCodec('libmp3lame') - .format('mp3') - .on('end', () => { - resolve(); - }) - .on('error', (error) => { - reject(error); - }) - .save(outputPath); - }); -}; -const frames = async (src, dst, onNode, options = { fps: 60 }) => { - const outputDir = path.dirname(dst); - if (!(0, exists_1.sync)(outputDir)) { - (0, dir_1.sync)(outputDir); - } - return new Promise((resolve, reject) => { - const ff = new FfmpegCommand(src); - ff.outputOptions([`-vf fps=${options.fps}`]) - .output(dst) - .on('end', () => { - resolve(); - }) - .on('error', (err) => { - reject(err); - }) - .run(); - }); -}; -exports.frames = frames; -exports.CONVERTERS = { - '.mp3': mp3, - '.jpg': exports.frames, -}; -const converter = (file) => exports.CONVERTERS[extension(file)]; -exports.converter = converter; -const convertFile = async (file, target, onNode = () => { }, options) => { - const osr_cache = (0, osr_commons_1.OSR_CACHE)(); - const ca_options = JSON.parse(JSON.stringify({ ...options, target, skip: null })); - const cached = await (0, lib_1.get_cached)(file, ca_options, constants_1.MODULE_NAME); - const conv = (0, exports.converter)(target); - if (!conv) { - __2.logger.error(`No converter found for ${file}`); - return; - } - const dstParts = path.parse(target); - if (!(0, exists_1.sync)(dstParts.dir)) { - (0, dir_1.sync)(dstParts.dir); - } - const ret = await conv(file, target, onNode, options); - return ret; -}; -exports.convertFile = convertFile; -async function _convert(file, targets, onNode = () => { }, options) { - return pMap(targets, (target) => { - options.verbose && __2.logger.debug(`Convert ${file} to ${target}`); - if (options.dry) { - return; - } - return (0, exports.convertFile)(file, target, onNode, options); - }, { concurrency: 1 }); -} -const convert = async (options) => { - let reports = []; - const onNode = (data) => { reports.push(data); }; - options.verbose && __2.logger.info(`Convert ${options.srcInfo.FILES.length} files `); - await pMap(options.srcInfo.FILES, (f) => { - const outputs = (0, __1.targets)(f, options); - options.verbose && __2.logger.info(`Convert ${f} to `, outputs); - return _convert(f, outputs, onNode, options); - }, { concurrency: 1 }); -}; -exports.convert = convert; -//ffmpeg -r 30 -i tt-1-audio.mp3 -i tt-1-%03d.jpg out.mp4 -const merge = async (options) => { - let reports = []; - const onNode = (data) => { reports.push(data); }; - __2.logger.info(`Merge ${options.srcInfo.FILES.length} files `); - return await (0, exports.createVideoFromImages)(options.srcInfo.PATH, options.dst, onNode, options.audio, {}); -}; -exports.merge = merge; -const createVideoFromImages = async (src, target, onNode, audio, { frameRate = 30, videoCodec = 'LIBX264', audioCodec = 'AAC', format = 'MP4', }) => { - return new Promise((resolve, reject) => { - const dstParts = path.parse(target); - if (!(0, exists_1.sync)(dstParts.dir)) { - (0, dir_1.sync)(dstParts.dir); - } - const ff = new FfmpegCommand(src); - //src.forEach((file) => ff.input(file)) - ff.inputOptions('-framerate', 24); - ff.inputOptions('-pattern_type', 'glob'); - ff.on('progress', (err) => { - __2.logger.debug('progress:', err); - }).on('error', (err) => { - __2.logger.error('Error:', err); - }).on('end', () => { - __2.logger.info('Video has been created successfully.'); - resolve(ff); - }); - audio && ff.addInput(audio); - ff.videoCodec(video_1.E_Codec[videoCodec]) - .output(target) - //.outputOptions(['-pix_fmt yuv420p']) - //.audioCodec(E_AudioCodec[audioCodec]) - .format(video_1.E_Format[format]) - .run(); - }); -}; -exports.createVideoFromImages = createVideoFromImages; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvbWVkaWEvdmlkZW8vY29udmVydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUEwRUEsNEJBUUM7QUFsRkQsNkJBQTRCO0FBQzVCLDhCQUE2QjtBQUM3Qix5REFBbUQ7QUFDbkQsa0RBQXNEO0FBQ3RELDRDQUFnRDtBQUNoRCxtREFBc0Q7QUFHdEQsOEJBQWdDO0FBQ2hDLGdDQUFpQztBQUNqQyxrREFBZ0Q7QUFFaEQsb0NBQTBEO0FBRTFELE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQTtBQUU5QyxNQUFNLFNBQVMsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUE7QUFDeEQsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLFNBQWlCLEVBQUUsVUFBa0IsRUFBaUIsRUFBRTtJQUN2RSxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ25DLE1BQU0sRUFBRSxHQUFHLElBQUksYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ3ZDLEVBQUUsQ0FBQyxPQUFPLEVBQUU7YUFDUCxVQUFVLENBQUMsWUFBWSxDQUFDO2FBQ3hCLE1BQU0sQ0FBQyxLQUFLLENBQUM7YUFDYixFQUFFLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRTtZQUNaLE9BQU8sRUFBRSxDQUFBO1FBQ2IsQ0FBQyxDQUFDO2FBQ0QsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25CLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNqQixDQUFDLENBQUM7YUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDekIsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUE7QUFFTSxNQUFNLE1BQU0sR0FBRyxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsT0FBTyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFpQixFQUFFO0lBQ25GLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsSUFBSSxDQUFDLElBQUEsYUFBTSxFQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDckIsSUFBQSxVQUFHLEVBQUMsU0FBUyxDQUFDLENBQUE7SUFDbEIsQ0FBQztJQUNELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDbkMsTUFBTSxFQUFFLEdBQUcsSUFBSSxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDakMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFdBQVcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7YUFDdkMsTUFBTSxDQUFDLEdBQUcsQ0FBQzthQUNYLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFO1lBQ1osT0FBTyxFQUFFLENBQUE7UUFDYixDQUFDLENBQUM7YUFDRCxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ2YsQ0FBQyxDQUFDO2FBQ0QsR0FBRyxFQUFFLENBQUE7SUFDZCxDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQTtBQWpCWSxRQUFBLE1BQU0sVUFpQmxCO0FBRVksUUFBQSxVQUFVLEdBQ3ZCO0lBQ0ksTUFBTSxFQUFFLEdBQUc7SUFDWCxNQUFNLEVBQUUsY0FBTTtDQUNqQixDQUFBO0FBQ00sTUFBTSxTQUFTLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLGtCQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7QUFBekQsUUFBQSxTQUFTLGFBQWdEO0FBQy9ELE1BQU0sV0FBVyxHQUFHLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFNBQThCLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxPQUE2QixFQUFFLEVBQUU7SUFDdEgsTUFBTSxTQUFTLEdBQUcsSUFBQSx1QkFBUyxHQUFFLENBQUE7SUFDN0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDakYsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFBLGdCQUFVLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSx1QkFBVyxDQUFDLENBQUE7SUFDOUQsTUFBTSxJQUFJLEdBQUcsSUFBQSxpQkFBUyxFQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzlCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNSLFVBQU0sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLElBQUksRUFBRSxDQUFDLENBQUE7UUFDOUMsT0FBTTtJQUNWLENBQUM7SUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ25DLElBQUksQ0FBQyxJQUFBLGFBQU0sRUFBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN4QixJQUFBLFVBQUcsRUFBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDckIsQ0FBQztJQUNELE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQ3JELE9BQU8sR0FBRyxDQUFBO0FBQ2QsQ0FBQyxDQUFBO0FBZlksUUFBQSxXQUFXLGVBZXZCO0FBQ00sS0FBSyxVQUFVLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBaUIsRUFBRSxTQUE4QixHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsT0FBNkI7SUFDMUgsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUU7UUFDNUIsT0FBTyxDQUFDLE9BQU8sSUFBSSxVQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxPQUFPLE1BQU0sRUFBRSxDQUFDLENBQUE7UUFDL0QsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDZCxPQUFNO1FBQ1YsQ0FBQztRQUNELE9BQU8sSUFBQSxtQkFBVyxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0FBQzFCLENBQUM7QUFDTSxNQUFNLE9BQU8sR0FBRyxLQUFLLEVBQUUsT0FBNkIsRUFBRSxFQUFFO0lBQzNELElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQTtJQUNoQixNQUFNLE1BQU0sR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQTtJQUMvQyxPQUFPLENBQUMsT0FBTyxJQUFJLFVBQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLFNBQVMsQ0FBQyxDQUFBO0lBQ2hGLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDcEMsTUFBTSxPQUFPLEdBQUcsSUFBQSxXQUFPLEVBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQ25DLE9BQU8sQ0FBQyxPQUFPLElBQUksVUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQzNELE9BQU8sUUFBUSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQ2hELENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0FBQzFCLENBQUMsQ0FBQTtBQVRZLFFBQUEsT0FBTyxXQVNuQjtBQUVELHlEQUF5RDtBQUNsRCxNQUFNLEtBQUssR0FBRyxLQUFLLEVBQUUsT0FBNkIsRUFBRSxFQUFFO0lBQ3pELElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQTtJQUNoQixNQUFNLE1BQU0sR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQTtJQUMvQyxVQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxTQUFTLENBQUMsQ0FBQTtJQUMzRCxPQUFPLE1BQU0sSUFBQSw2QkFBcUIsRUFBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0FBQ3BHLENBQUMsQ0FBQTtBQUxZLFFBQUEsS0FBSyxTQUtqQjtBQVNNLE1BQU0scUJBQXFCLEdBQUcsS0FBSyxFQUN0QyxHQUFXLEVBQ1gsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsRUFDSSxTQUFTLEdBQUcsRUFBRSxFQUNkLFVBQVUsR0FBRyxTQUFTLEVBQ3RCLFVBQVUsR0FBRyxLQUFLLEVBQ2xCLE1BQU0sR0FBRyxLQUFLLEdBQ0gsRUFBRSxFQUFFO0lBRW5CLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFFbkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNuQyxJQUFJLENBQUMsSUFBQSxhQUFNLEVBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDeEIsSUFBQSxVQUFHLEVBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3JCLENBQUM7UUFDRCxNQUFNLEVBQUUsR0FBRyxJQUFJLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNqQyx1Q0FBdUM7UUFDdkMsRUFBRSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFDakMsRUFBRSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFFeEMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN0QixVQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQTtRQUNsQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDbkIsVUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFDL0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUU7WUFDZCxVQUFNLENBQUMsSUFBSSxDQUFDLHNDQUFzQyxDQUFDLENBQUE7WUFDbkQsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ2YsQ0FBQyxDQUFDLENBQUM7UUFDSCxLQUFLLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUUzQixFQUFFLENBQUMsVUFBVSxDQUFDLGVBQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUM3QixNQUFNLENBQUMsTUFBTSxDQUFDO1lBQ2Ysc0NBQXNDO1lBQ3RDLHVDQUF1QzthQUN0QyxNQUFNLENBQUMsZ0JBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUN4QixHQUFHLEVBQUUsQ0FBQTtJQUNkLENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFBO0FBeENZLFFBQUEscUJBQXFCLHlCQXdDakMifQ== \ No newline at end of file +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createVideoFromImages = exports.merge = exports.convert = exports._convert = exports.convertFile = exports.converter = exports.CONVERTERS = exports.frames = void 0; +const path = require("path"); +const pMap = require("p-map"); +const osr_commons_1 = require("@plastichub/osr-commons"); +const exists_1 = require("@plastichub/fs/exists"); +const dir_1 = require("@plastichub/fs/dir"); +const lib_1 = require("@plastichub/osr-cache/lib"); +const __1 = require("../../"); +const __2 = require("../../.."); +const constants_1 = require("../../../constants"); +const video_1 = require("../video"); +const FfmpegCommand = require('fluent-ffmpeg'); +const extension = (file) => path.parse(file).ext; +const mp3 = async (inputPath, outputPath) => { + return new Promise((resolve, reject) => { + const ff = new FfmpegCommand(inputPath); + ff.noVideo() + .audioCodec('libmp3lame') + .format('mp3') + .on('end', () => { + resolve(); + }) + .on('error', (error) => { + reject(error); + }) + .save(outputPath); + }); +}; +const frames = async (src, dst, onNode, options = { fps: 60 }) => { + const outputDir = path.dirname(dst); + if (!(0, exists_1.sync)(outputDir)) { + (0, dir_1.sync)(outputDir); + } + return new Promise((resolve, reject) => { + const ff = new FfmpegCommand(src); + ff.outputOptions([`-vf fps=${options.fps}`]) + .output(dst) + .on('end', () => { + resolve(); + }) + .on('error', (err) => { + reject(err); + }) + .run(); + }); +}; +exports.frames = frames; +exports.CONVERTERS = { + '.mp3': mp3, + '.jpg': exports.frames, +}; +const converter = (file) => exports.CONVERTERS[extension(file)]; +exports.converter = converter; +const convertFile = async (file, target, onNode = () => { }, options) => { + const osr_cache = (0, osr_commons_1.OSR_CACHE)(); + const ca_options = JSON.parse(JSON.stringify({ ...options, target, skip: null })); + const cached = await (0, lib_1.get_cached)(file, ca_options, constants_1.MODULE_NAME); + const conv = (0, exports.converter)(target); + if (!conv) { + __2.logger.error(`No converter found for ${file}`); + return; + } + const dstParts = path.parse(target); + if (!(0, exists_1.sync)(dstParts.dir)) { + (0, dir_1.sync)(dstParts.dir); + } + const ret = await conv(file, target, onNode, options); + return ret; +}; +exports.convertFile = convertFile; +async function _convert(file, targets, onNode = () => { }, options) { + return pMap(targets, (target) => { + options.verbose && __2.logger.debug(`Convert ${file} to ${target}`); + if (options.dry) { + return; + } + return (0, exports.convertFile)(file, target, onNode, options); + }, { concurrency: 1 }); +} +exports._convert = _convert; +const convert = async (options) => { + let reports = []; + const onNode = (data) => { reports.push(data); }; + options.verbose && __2.logger.info(`Convert ${options.srcInfo.FILES.length} files `); + await pMap(options.srcInfo.FILES, (f) => { + const outputs = (0, __1.targets)(f, options); + options.verbose && __2.logger.info(`Convert ${f} to `, outputs); + return _convert(f, outputs, onNode, options); + }, { concurrency: 1 }); +}; +exports.convert = convert; +//ffmpeg -r 30 -i tt-1-audio.mp3 -i tt-1-%03d.jpg out.mp4 +const merge = async (options) => { + let reports = []; + const onNode = (data) => { reports.push(data); }; + __2.logger.info(`Merge ${options.srcInfo.FILES.length} files `); + return await (0, exports.createVideoFromImages)(options.srcInfo.PATH, options.dst, onNode, options.audio, {}); +}; +exports.merge = merge; +const createVideoFromImages = async (src, target, onNode, audio, { frameRate = 30, videoCodec = 'LIBX264', audioCodec = 'AAC', format = 'MP4', }) => { + return new Promise((resolve, reject) => { + const dstParts = path.parse(target); + if (!(0, exists_1.sync)(dstParts.dir)) { + (0, dir_1.sync)(dstParts.dir); + } + const ff = new FfmpegCommand(src); + //src.forEach((file) => ff.input(file)) + ff.inputOptions('-framerate', 24); + ff.inputOptions('-pattern_type', 'glob'); + ff.on('progress', (err) => { + __2.logger.debug('progress:', err); + }).on('error', (err) => { + __2.logger.error('Error:', err); + }).on('end', () => { + __2.logger.info('Video has been created successfully.'); + resolve(ff); + }); + audio && ff.addInput(audio); + ff.videoCodec(video_1.E_Codec[videoCodec]) + .output(target) + //.outputOptions(['-pix_fmt yuv420p']) + //.audioCodec(E_AudioCodec[audioCodec]) + .format(video_1.E_Format[format]) + .run(); + }); +}; +exports.createVideoFromImages = createVideoFromImages; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvbWVkaWEvdmlkZW8vY29udmVydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBNEI7QUFDNUIsOEJBQTZCO0FBQzdCLHlEQUFtRDtBQUNuRCxrREFBc0Q7QUFDdEQsNENBQWdEO0FBQ2hELG1EQUFzRDtBQUd0RCw4QkFBZ0M7QUFDaEMsZ0NBQWlDO0FBQ2pDLGtEQUFnRDtBQUVoRCxvQ0FBMEQ7QUFFMUQsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFBO0FBRTlDLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQTtBQUN4RCxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQUUsU0FBaUIsRUFBRSxVQUFrQixFQUFpQixFQUFFO0lBQ3ZFLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDbkMsTUFBTSxFQUFFLEdBQUcsSUFBSSxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDdkMsRUFBRSxDQUFDLE9BQU8sRUFBRTthQUNQLFVBQVUsQ0FBQyxZQUFZLENBQUM7YUFDeEIsTUFBTSxDQUFDLEtBQUssQ0FBQzthQUNiLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFO1lBQ1osT0FBTyxFQUFFLENBQUE7UUFDYixDQUFDLENBQUM7YUFDRCxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkIsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2pCLENBQUMsQ0FBQzthQUNELElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUN6QixDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQTtBQUVNLE1BQU0sTUFBTSxHQUFHLEtBQUssRUFBRSxHQUFH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 \ No newline at end of file diff --git a/packages/media/lib/media/video/index.js b/packages/media/lib/media/video/index.js index 44a13714..b7470306 100644 --- a/packages/media/lib/media/video/index.js +++ b/packages/media/lib/media/video/index.js @@ -1,85 +1,85 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.E_Codec = exports.E_AudioCodec = exports.E_LogLevel = exports.E_Format = exports.GLOB_BASIC = void 0; -const zod_1 = require("zod"); -const FfmpegCommand = require('fluent-ffmpeg'); -exports.GLOB_BASIC = 'png|jpg|tiff|jpeg|webp'; -__exportStar(require("./resize"), exports); -__exportStar(require("./convert"), exports); -exports.E_Format = { - MP4: 'mp4', - MKV: 'mkv', - MOV: 'mov', - AVI: 'avi', - FLV: 'flv', - WMV: 'wmv', - WEBM: 'webm', - MP3: 'mp3', - OGG: 'ogg', - WAV: 'wav' -}; -exports.E_LogLevel = { - QUIET: 'quiet', - PANIC: 'panic', - FATAL: 'fatal', - ERROR: 'error', - WARNING: 'warning', - INFO: 'info', - VERBOSE: 'verbose', - DEBUG: 'debug', - TRACE: 'trace' -}; -exports.E_AudioCodec = { - AAC: 'aac', - MP3: 'mp3', - VORBIS: 'vorbis', - FLAC: 'flac', - OPUS: 'opus', - WAV: 'wav' -}; -exports.E_Codec = { - LIBX264: 'libx264', - LIBX265: 'libx265', - LIBVP9: 'libvpx-vp9', - LIBAOM: 'libaom-av1', - LIBTHEORA: 'libtheora', - MPEG2VIDEO: 'mpeg2video', - COPY: 'copy' -}; -const formatEnum = zod_1.z.nativeEnum(exports.E_Format); -const loglevelEnum = zod_1.z.nativeEnum(exports.E_LogLevel); -const audioCodecEnum = zod_1.z.nativeEnum(exports.E_AudioCodec); -const codecEnum = zod_1.z.nativeEnum(exports.E_Codec); -const ffmpegOptionsSchema = zod_1.z.object({ - input: zod_1.z.string().describe("Path to the input file"), - output: zod_1.z.string().describe("Path to the output file"), - codec: codecEnum.optional().describe("Codec to be used for encoding (e.g., 'libx264', 'aac')").default(exports.E_Codec.LIBX264), - bitrate: zod_1.z.string().optional().describe("Bitrate for encoding (e.g., '500k', '2M')"), - framerate: zod_1.z.number().optional().describe("Frames per second (e.g., 30, 60)").default(30), - resolution: zod_1.z.string().optional().describe("Resolution of the output (e.g., '1920x1080', '1280x720')"), - audioCodec: audioCodecEnum.optional().describe("Audio codec to be used for encoding (e.g., 'aac', 'mp3')").default(exports.E_AudioCodec.AAC), - audioBitrate: zod_1.z.string().optional().describe("Bitrate for audio encoding (e.g., '128k', '256k')"), - audioChannels: zod_1.z.number().optional().describe("Number of audio channels (e.g., 1 for mono, 2 for stereo)").default(2), - preset: zod_1.z.string().optional().describe("Encoding preset to use for balancing speed and quality (e.g., 'ultrafast', 'medium', 'slow')").default('medium'), - crf: zod_1.z.number().optional().describe("Constant Rate Factor for controlling quality (lower values mean higher quality, range: 0-51)").default(23), - format: formatEnum.optional().describe("Container format for output file (e.g., 'mp4', 'mkv', 'mov')").default(exports.E_Format.MP4), - startTime: zod_1.z.string().optional().describe("Start time of the input file (e.g., '00:01:30' for 1 minute 30 seconds)"), - duration: zod_1.z.string().optional().describe("Duration of the output (e.g., '00:05:00' for 5 minutes)"), - overwrite: zod_1.z.boolean().optional().describe("Whether to overwrite the output file if it already exists").default(false), - loglevel: loglevelEnum.optional().describe("Logging level for ffmpeg output").default(exports.E_LogLevel.INFO), -}); +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.E_Codec = exports.E_AudioCodec = exports.E_LogLevel = exports.E_Format = exports.GLOB_BASIC = void 0; +const zod_1 = require("zod"); +const FfmpegCommand = require('fluent-ffmpeg'); +exports.GLOB_BASIC = 'png|jpg|tiff|jpeg|webp'; +__exportStar(require("./resize"), exports); +__exportStar(require("./convert"), exports); +exports.E_Format = { + MP4: 'mp4', + MKV: 'mkv', + MOV: 'mov', + AVI: 'avi', + FLV: 'flv', + WMV: 'wmv', + WEBM: 'webm', + MP3: 'mp3', + OGG: 'ogg', + WAV: 'wav' +}; +exports.E_LogLevel = { + QUIET: 'quiet', + PANIC: 'panic', + FATAL: 'fatal', + ERROR: 'error', + WARNING: 'warning', + INFO: 'info', + VERBOSE: 'verbose', + DEBUG: 'debug', + TRACE: 'trace' +}; +exports.E_AudioCodec = { + AAC: 'aac', + MP3: 'mp3', + VORBIS: 'vorbis', + FLAC: 'flac', + OPUS: 'opus', + WAV: 'wav' +}; +exports.E_Codec = { + LIBX264: 'libx264', + LIBX265: 'libx265', + LIBVP9: 'libvpx-vp9', + LIBAOM: 'libaom-av1', + LIBTHEORA: 'libtheora', + MPEG2VIDEO: 'mpeg2video', + COPY: 'copy' +}; +const formatEnum = zod_1.z.nativeEnum(exports.E_Format); +const loglevelEnum = zod_1.z.nativeEnum(exports.E_LogLevel); +const audioCodecEnum = zod_1.z.nativeEnum(exports.E_AudioCodec); +const codecEnum = zod_1.z.nativeEnum(exports.E_Codec); +const ffmpegOptionsSchema = zod_1.z.object({ + input: zod_1.z.string().describe("Path to the input file"), + output: zod_1.z.string().describe("Path to the output file"), + codec: codecEnum.optional().describe("Codec to be used for encoding (e.g., 'libx264', 'aac')").default(exports.E_Codec.LIBX264), + bitrate: zod_1.z.string().optional().describe("Bitrate for encoding (e.g., '500k', '2M')"), + framerate: zod_1.z.number().optional().describe("Frames per second (e.g., 30, 60)").default(30), + resolution: zod_1.z.string().optional().describe("Resolution of the output (e.g., '1920x1080', '1280x720')"), + audioCodec: audioCodecEnum.optional().describe("Audio codec to be used for encoding (e.g., 'aac', 'mp3')").default(exports.E_AudioCodec.AAC), + audioBitrate: zod_1.z.string().optional().describe("Bitrate for audio encoding (e.g., '128k', '256k')"), + audioChannels: zod_1.z.number().optional().describe("Number of audio channels (e.g., 1 for mono, 2 for stereo)").default(2), + preset: zod_1.z.string().optional().describe("Encoding preset to use for balancing speed and quality (e.g., 'ultrafast', 'medium', 'slow')").default('medium'), + crf: zod_1.z.number().optional().describe("Constant Rate Factor for controlling quality (lower values mean higher quality, range: 0-51)").default(23), + format: formatEnum.optional().describe("Container format for output file (e.g., 'mp4', 'mkv', 'mov')").default(exports.E_Format.MP4), + startTime: zod_1.z.string().optional().describe("Start time of the input file (e.g., '00:01:30' for 1 minute 30 seconds)"), + duration: zod_1.z.string().optional().describe("Duration of the output (e.g., '00:05:00' for 5 minutes)"), + overwrite: zod_1.z.boolean().optional().describe("Whether to overwrite the output file if it already exists").default(false), + loglevel: loglevelEnum.optional().describe("Logging level for ffmpeg output").default(exports.E_LogLevel.INFO), +}); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL21lZGlhL3ZpZGVvL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsNkJBQXVCO0FBRXZCLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQTtBQUVqQyxRQUFBLFVBQVUsR0FBRyx3QkFBd0IsQ0FBQTtBQUNsRCwyQ0FBd0I7QUFDeEIsNENBQXlCO0FBRVosUUFBQSxRQUFRLEdBQUc7SUFDcEIsR0FBRyxFQUFFLEtBQUs7SUFDVixHQUFHLEVBQUUsS0FBSztJQUNWLEdBQUcsRUFBRSxLQUFLO0lBQ1YsR0FBRyxFQUFFLEtBQUs7SUFDVixHQUFHLEVBQUUsS0FBSztJQUNWLEdBQUcsRUFBRSxLQUFLO0lBQ1YsSUFBSSxFQUFFLE1BQU07SUFDWixHQUFHLEVBQUUsS0FBSztJQUNWLEdBQUcsRUFBRSxLQUFLO0lBQ1YsR0FBRyxFQUFFLEtBQUs7Q0FDRixDQUFDO0FBRUUsUUFBQSxVQUFVLEdBQUc7SUFDeEIsS0FBSyxFQUFFLE9BQU87SUFDZCxLQUFLLEVBQUUsT0FBTztJQUNkLEtBQUssRUFBRSxPQUFPO0lBQ2QsS0FBSyxFQUFFLE9BQU87SUFDZCxPQUFPLEVBQUUsU0FBUztJQUNsQixJQUFJLEVBQUUsTUFBTTtJQUNaLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLEtBQUssRUFBRSxPQUFPO0lBQ2QsS0FBSyxFQUFFLE9BQU87Q0FDTixDQUFDO0FBRUUsUUFBQSxZQUFZLEdBQUc7SUFDMUIsR0FBRyxFQUFFLEtBQUs7SUFDVixHQUFHLEVBQUUsS0FBSztJQUNWLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLE1BQU07SUFDWixHQUFHLEVBQUUsS0FBSztDQUNGLENBQUM7QUFFRSxRQUFBLE9BQU8sR0FBRztJQUNyQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixNQUFNLEVBQUUsWUFBWTtJQUNwQixNQUFNLEVBQUUsWUFBWTtJQUNwQixTQUFTLEVBQUUsV0FBVztJQUN0QixVQUFVLEVBQUUsWUFBWTtJQUN4QixJQUFJLEVBQUUsTUFBTTtDQUNKLENBQUM7QUFFWCxNQUFNLFVBQVUsR0FBRyxPQUFDLENBQUMsVUFBVSxDQUFDLGdCQUFRLENBQUMsQ0FBQTtBQUN6QyxNQUFNLFlBQVksR0FBRyxPQUFDLENBQUMsVUFBVSxDQUFDLGtCQUFVLENBQUMsQ0FBQTtBQUM3QyxNQUFNLGNBQWMsR0FBRyxPQUFDLENBQUMsVUFBVSxDQUFDLG9CQUFZLENBQUMsQ0FBQTtBQUNqRCxNQUFNLFNBQVMsR0FBRyxPQUFDLENBQUMsVUFBVSxDQUFDLGVBQU8sQ0FBQyxDQUFBO0FBRXZDLE1BQU0sbUJBQW1CLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNuQyxLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQztJQUNwRCxNQUFNLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQztJQUN0RCxLQUFLLEVBQUUsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyx3REFBd0QsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsT0FBTyxDQUFDO0lBQ3ZILE9BQU8sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLDJDQUEyQyxDQUFDO0lBQ3BGLFNBQVMsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLGtDQUFrQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztJQUN6RixVQUFVLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQywwREFBMEQsQ0FBQztJQUN0RyxVQUFVLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQywwREFBMEQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxvQkFBWSxDQUFDLEdBQUcsQ0FBQztJQUNwSSxZQUFZLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxtREFBbUQsQ0FBQztJQUNqRyxhQUFhLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQywyREFBMkQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDckgsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsOEZBQThGLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQ3hKLEdBQUcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLDhGQUE4RixDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztJQUMvSSxNQUFNLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyw4REFBOEQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxnQkFBUSxDQUFDLEdBQUcsQ0FBQztJQUM1SCxTQUFTLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyx5RUFBeUUsQ0FBQztJQUNwSCxRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyx5REFBeUQsQ0FBQztJQUNuRyxTQUFTLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQywyREFBMkQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDdEgsUUFBUSxFQUFFLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxPQUFPLENBQUMsa0JBQVUsQ0FBQyxJQUFJLENBQUM7Q0FDdkcsQ0FBQyxDQUFDIn0= \ No newline at end of file diff --git a/packages/media/lib/media/video/resize.js b/packages/media/lib/media/video/resize.js index 7f488f3a..5910729b 100644 --- a/packages/media/lib/media/video/resize.js +++ b/packages/media/lib/media/video/resize.js @@ -1,160 +1,160 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.resize = exports._resize = exports.resizeFile = exports.meta = void 0; -const path = require("path"); -const bluebird = require("bluebird"); -const bluebird_1 = require("bluebird"); -const sharp = require("sharp"); -const __1 = require("../../.."); -const exists_1 = require("@plastichub/fs/exists"); -const move_1 = require("@plastichub/fs/move"); -const dir_1 = require("@plastichub/fs/dir"); -const inspect_1 = require("@plastichub/fs/inspect"); -const lib_1 = require("@plastichub/osr-cache/lib"); -const constants_1 = require("../../../constants"); -const osr_commons_1 = require("@plastichub/osr-commons"); -const __2 = require("../../"); -const meta = (file, image) => { - return new Promise((resolve, reject) => { - image.metadata().then((meta) => { - resolve(meta); - }).catch((e) => { - __1.logger.error(`Error creating meta data ${file}`); - resolve(null); - }); - }); -}; -exports.meta = meta; -const resizeFile = async (file, target, onNode = () => { }, options) => { - const osr_cache = (0, osr_commons_1.OSR_CACHE)(); - const ca_options = JSON.parse(JSON.stringify({ ...options, target, skip: null })); - const cached = await (0, lib_1.get_cached)(file, ca_options, constants_1.MODULE_NAME); - const targetOri = '' + target; - let inPlace = false; - if (path.resolve(file) === path.resolve(target)) { - const parts = path.parse(target); - target = path.join(parts.dir, parts.name + '_tmp' + parts.ext); - inPlace = true; - } - let image; - try { - image = sharp(file); - } - catch (e) { - __1.logger.error(`Error reading file, ${file}`, e); - return null; - } - onNode(image); - let metaData = await (0, exports.meta)(file, image) || {}; - const percent = options.percent; - const srcParts = path.parse(file); - const dstParts = path.parse(target); - const node = (0, inspect_1.createItem)(file, { - size: true, - mime: true - }); - if (!(0, exists_1.sync)(dstParts.dir)) { - (0, dir_1.sync)(dstParts.dir); - } - if (options.width <= options.minWidth) { - __1.logger.error(`Error resizing : options.width <= options.minWidth`); - return; - } - if (metaData.width && options.width && options.minWidth) { - if (metaData.width < options.minWidth) { - return image; - } - } - if (metaData.height && options.height && options.minHeight) { - if (metaData.height < options.minHeight) { - return image; - } - } - if (options.minSize && options.minSize > node.size) { - return image; - } - if (percent && metaData.width) { - image = image.resize({ - width: Math.round(metaData.width * (percent / 100)), - fastShrinkOnLoad: options.fastShrinkOnLoad, - withoutEnlargement: options.withoutEnlargement, - withoutReduction: options.withoutReduction, - fit: options.fit, - position: options.position - }); - } - else if (options.width || options.height) { - image = image.resize({ - width: options.width, - height: options.height, - fastShrinkOnLoad: options.fastShrinkOnLoad, - withoutEnlargement: options.withoutEnlargement, - withoutReduction: options.withoutReduction, - fit: options.fit, - position: options.position - }); - } - else { - __1.logger.error(`Error resizing, invalid options for ${file} - no width, height or percent`); - return image; - } - if (metaData.width) { - await image.withMetadata().toFile(target); - } - else { - try { - await image.toFile(target); - } - catch (e) { - __1.logger.error(`Error writing file out, ${file}`, e); - return null; - } - } - if (inPlace) { - const timeout = async (retry) => new Promise((resolve) => { - setTimeout(resolve, 500 * retry); - }); - const moveRetry = async (src, dst, retry = 0) => { - if (retry > 6) { - __1.logger.error(`Error moving file failed, max retries reached ${src}`); - return; - } - try { - await (0, move_1.async)(target, targetOri); - } - catch (e) { - if (e.code === 'EPERM') { - __1.logger.warn(`Error moving file out, retry ${file}`, e); - await timeout(retry); - moveRetry(src, dst, retry + 1); - } - } - }; - await moveRetry(file, targetOri); - } - options.debug && __1.logger.debug(`Resized Image ${file} to ${targetOri}`); - return image; -}; -exports.resizeFile = resizeFile; -const _resize = async (file, targets, onNode = () => { }, options) => { - return bluebird_1.Promise.resolve(targets).map((target) => { - options.verbose && __1.logger.debug(`Resizing ${file} to ${target}`); - if (options.dry) { - return bluebird.resolve(); - } - return (0, exports.resizeFile)(file, target, onNode, options); - }, { concurrency: 1 }); -}; -exports._resize = _resize; -const resize = async (options) => { - let reports = []; - const onNode = (data) => { reports.push(data); }; - options.verbose && __1.logger.info(`Convert ${options.srcInfo.FILES.length} files `); - await bluebird_1.Promise.resolve(options.srcInfo.FILES).map((f) => { - const outputs = (0, __2.targets)(f, options); - options.verbose && __1.logger.info(`Convert ${f} to `, outputs); - return (0, exports._resize)(f, outputs, onNode, options); - }, { concurrency: 1 }); -}; -exports.resize = resize; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9tZWRpYS92aWRlby9yZXNpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQTRCO0FBQzVCLHFDQUFvQztBQUNwQyx1Q0FBOEM7QUFDOUMsK0JBQThCO0FBRTlCLGdDQUFpQztBQUVqQyxrREFBc0Q7QUFDdEQsOENBQW1EO0FBQ25ELDRDQUFnRDtBQUNoRCxvREFBNkQ7QUFFN0QsbURBRWtDO0FBRWxDLGtEQUUyQjtBQUUzQix5REFBbUQ7QUFFbkQsOEJBRWU7QUFFUixNQUFNLElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxLQUFrQixFQUEyQixFQUFFO0lBQ3RFLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDbkMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzNCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNqQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNYLFVBQU0sQ0FBQyxLQUFLLENBQUMsNEJBQTRCLElBQUksRUFBRSxDQUFDLENBQUE7WUFDaEQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2pCLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUE7QUFUWSxRQUFBLElBQUksUUFTaEI7QUFFTSxNQUFNLFVBQVUsR0FBRyxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxTQUE4QixHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsT0FBdUIsRUFBd0IsRUFBRTtJQUVySSxNQUFNLFNBQVMsR0FBRyxJQUFBLHVCQUFTLEdBQUUsQ0FBQTtJQUM3QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFT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 \ No newline at end of file +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.resize = exports._resize = exports.resizeFile = exports.meta = void 0; +const path = require("path"); +const bluebird = require("bluebird"); +const bluebird_1 = require("bluebird"); +const sharp = require("sharp"); +const __1 = require("../../.."); +const exists_1 = require("@plastichub/fs/exists"); +const move_1 = require("@plastichub/fs/move"); +const dir_1 = require("@plastichub/fs/dir"); +const inspect_1 = require("@plastichub/fs/inspect"); +const lib_1 = require("@plastichub/osr-cache/lib"); +const constants_1 = require("../../../constants"); +const osr_commons_1 = require("@plastichub/osr-commons"); +const __2 = require("../../"); +const meta = (file, image) => { + return new Promise((resolve, reject) => { + image.metadata().then((meta) => { + resolve(meta); + }).catch((e) => { + __1.logger.error(`Error creating meta data ${file}`); + resolve(null); + }); + }); +}; +exports.meta = meta; +const resizeFile = async (file, target, onNode = () => { }, options) => { + const osr_cache = (0, osr_commons_1.OSR_CACHE)(); + const ca_options = JSON.parse(JSON.stringify({ ...options, target, skip: null })); + const cached = await (0, lib_1.get_cached)(file, ca_options, constants_1.MODULE_NAME); + const targetOri = '' + target; + let inPlace = false; + if (path.resolve(file) === path.resolve(target)) { + const parts = path.parse(target); + target = path.join(parts.dir, parts.name + '_tmp' + parts.ext); + inPlace = true; + } + let image; + try { + image = sharp(file); + } + catch (e) { + __1.logger.error(`Error reading file, ${file}`, e); + return null; + } + onNode(image); + let metaData = await (0, exports.meta)(file, image) || {}; + const percent = options.percent; + const srcParts = path.parse(file); + const dstParts = path.parse(target); + const node = (0, inspect_1.createItem)(file, { + size: true, + mime: true + }); + if (!(0, exists_1.sync)(dstParts.dir)) { + (0, dir_1.sync)(dstParts.dir); + } + if (options.width <= options.minWidth) { + __1.logger.error(`Error resizing : options.width <= options.minWidth`); + return; + } + if (metaData.width && options.width && options.minWidth) { + if (metaData.width < options.minWidth) { + return image; + } + } + if (metaData.height && options.height && options.minHeight) { + if (metaData.height < options.minHeight) { + return image; + } + } + if (options.minSize && options.minSize > node.size) { + return image; + } + if (percent && metaData.width) { + image = image.resize({ + width: Math.round(metaData.width * (percent / 100)), + fastShrinkOnLoad: options.fastShrinkOnLoad, + withoutEnlargement: options.withoutEnlargement, + withoutReduction: options.withoutReduction, + fit: options.fit, + position: options.position + }); + } + else if (options.width || options.height) { + image = image.resize({ + width: options.width, + height: options.height, + fastShrinkOnLoad: options.fastShrinkOnLoad, + withoutEnlargement: options.withoutEnlargement, + withoutReduction: options.withoutReduction, + fit: options.fit, + position: options.position + }); + } + else { + __1.logger.error(`Error resizing, invalid options for ${file} - no width, height or percent`); + return image; + } + if (metaData.width) { + await image.withMetadata().toFile(target); + } + else { + try { + await image.toFile(target); + } + catch (e) { + __1.logger.error(`Error writing file out, ${file}`, e); + return null; + } + } + if (inPlace) { + const timeout = async (retry) => new Promise((resolve) => { + setTimeout(resolve, 500 * retry); + }); + const moveRetry = async (src, dst, retry = 0) => { + if (retry > 6) { + __1.logger.error(`Error moving file failed, max retries reached ${src}`); + return; + } + try { + await (0, move_1.async)(target, targetOri); + } + catch (e) { + if (e.code === 'EPERM') { + __1.logger.warn(`Error moving file out, retry ${file}`, e); + await timeout(retry); + moveRetry(src, dst, retry + 1); + } + } + }; + await moveRetry(file, targetOri); + } + options.debug && __1.logger.debug(`Resized Image ${file} to ${targetOri}`); + return image; +}; +exports.resizeFile = resizeFile; +const _resize = async (file, targets, onNode = () => { }, options) => { + return bluebird_1.Promise.resolve(targets).map((target) => { + options.verbose && __1.logger.debug(`Resizing ${file} to ${target}`); + if (options.dry) { + return bluebird.resolve(); + } + return (0, exports.resizeFile)(file, target, onNode, options); + }, { concurrency: 1 }); +}; +exports._resize = _resize; +const resize = async (options) => { + let reports = []; + const onNode = (data) => { reports.push(data); }; + options.verbose && __1.logger.info(`Convert ${options.srcInfo.FILES.length} files `); + await bluebird_1.Promise.resolve(options.srcInfo.FILES).map((f) => { + const outputs = (0, __2.targets)(f, options); + options.verbose && __1.logger.info(`Convert ${f} to `, outputs); + return (0, exports._resize)(f, outputs, onNode, options); + }, { concurrency: 1 }); +}; +exports.resize = resize; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9tZWRpYS92aWRlby9yZXNpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQTRCO0FBQzVCLHFDQUFvQztBQUNwQyx1Q0FBOEM7QUFDOUMsK0JBQThCO0FBRTlCLGdDQUFpQztBQUVqQyxrREFBc0Q7QUFDdEQsOENBQW1EO0FBQ25ELDRDQUFnRDtBQUNoRCxvREFBNkQ7QUFFN0QsbURBRWtDO0FBRWxDLGtEQUUyQjtBQUUzQix5REFBbUQ7QUFFbkQsOEJBRWU7QUFFUixNQUFNLElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxLQUFrQixFQUEyQixFQUFFO0lBQ3RFLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDbkMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzNCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNqQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNYLFVBQU0sQ0FBQyxLQUFLLENBQUMsNEJBQTRCLElBQUksRUFBRSxDQUFDLENBQUE7WUFDaEQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2pCLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUE7QUFUWSxRQUFBLElBQUksUUFTaEI7QUFFTSxNQUFNLFVBQVUsR0FBRyxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxTQUE4QixHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsT0FBdUIsRUFBd0IsRUFBRTtJQUVySSxNQUFNLFNBQVMsR0FBRyxJQUFBLHVCQUFTLEdBQUUsQ0FBQTtJQUM3QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFT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 \ No newline at end of file diff --git a/packages/media/lib/process/index.js b/packages/media/lib/process/index.js index 7620036f..44bb43e2 100644 --- a/packages/media/lib/process/index.js +++ b/packages/media/lib/process/index.js @@ -1,149 +1,149 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Helper = exports.Process = exports.STATUS = void 0; -const __1 = require("../.."); -const child_process_1 = require("child_process"); -const platform_1 = require("../common/platform"); -var STATUS; -(function (STATUS) { - STATUS[STATUS["OK"] = 0] = "OK"; - STATUS[STATUS["ERROR"] = 1] = "ERROR"; - STATUS[STATUS["PENDING"] = 2] = "PENDING"; -})(STATUS || (exports.STATUS = STATUS = {})); -const fatalHandler = (message, fn) => { - if (message.startsWith('fatal:')) { - fn('\t\ ' + message); - return true; - } - return false; -}; -// tslint:disable-next-line:no-empty -const subscribe = (signal, collector = () => { }) => { - const buffer = []; - signal.on('message', (message) => __1.logger.debug('message', message)); - signal.on('error', (error) => __1.logger.error('std-error', error)); - signal.on('data', (data) => { - const message = data.toString(); - buffer.push(message); // .replace(/[\x00-\x1F\x7F-\x9F]/g, "") - collector(buffer); - }); -}; -const merge = (buffer, data) => buffer.concat(data); -const hook = (process, resolve, reject, cmd) => { - let buffer = []; - const collector = (data) => { buffer = buffer.concat(data); }; - const stdout = subscribe(process.stdout, collector); - const stderr = subscribe(process.stderr, collector); - process.on('exit', (code, signal) => { - if (code) { - resolve({ - code: STATUS.ERROR, - command: cmd, - error: code, - messages: buffer - }); - } - else { - resolve({ - code: STATUS.OK, - command: cmd, - messages: buffer - }); - } - }); - return process; -}; -class Process { - binary = 'magick'; - cwd = ''; - args = ''; - constructor(options = {}) { - this.binary = options.binary || this.binary; - //this.binary = path.resolve(which(this.binary)); - this.cwd = options.cwd || process.cwd(); - } - optionsToString(options) { - const args = []; - // tslint:disable-next-line:forin - for (const k in options) { - const val = options[k]; - if (k.length === 1) { - // val is true, add '-k' - if (val === true) { - args.push('-' + k); - } - else if (val !== false) { - // if val is not false, add '-k val' - args.push('-' + k + ' ' + val); - } - } - else { - if (val === true) { - args.push('--' + k); - } - else if (val !== false) { - args.push('--' + k + '=' + val); - } - } - } - return args.join(' '); - } - optionsToArray(options) { - const args = []; - // tslint:disable-next-line:forin - for (const k in options) { - const val = options[k]; - if (k.length === 1) { - // val is true, add '-k' - if (val === true) { - args.push('-' + k); - } - else if (val !== false) { - // if val is not false, add '-k val' - args.push('-' + k + ' ' + val); - } - } - else { - if (val === true) { - args.push('--' + k); - } - else if (val !== false) { - args.push('--' + k + '=' + val); - } - } - } - return args; - } - async exec(command, options = {}, args = []) { - args = [command].concat(args); - return new Promise((resolve, reject) => { - const p = (0, child_process_1.exec)(this.binary + ' ' + args.join(' '), { - cwd: this.cwd - }); - return hook(p, resolve, reject, this.binary + ' ' + args.join(' ')); - }); - } -} -exports.Process = Process; -class Helper { - static async run(cwd, command, gitArgs) { - const gitProcess = new Process({ - cwd: cwd, - binary: (0, platform_1.os)() == 'windows' ? 'magick' : '' - }); - const p = gitProcess.exec(command, {}, gitArgs); - p.catch((e) => __1.logger.error('Error git command : ' + command)); - return p; - } - static async runBin(cwd, bin, command, gitArgs) { - const gitProcess = new Process({ - cwd: cwd, - binary: bin - }); - const p = gitProcess.exec(command, {}, gitArgs); - p.catch((e) => __1.logger.error('Error git command : ' + command)); - return p; - } -} -exports.Helper = Helper; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3Byb2Nlc3MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQStCO0FBRS9CLGlEQUFtRDtBQUNuRCxpREFBd0M7QUFFeEMsSUFBWSxNQUlYO0FBSkQsV0FBWSxNQUFNO0lBQ2QsK0JBQUUsQ0FBQTtJQUNGLHFDQUFLLENBQUE7SUFDTCx5Q0FBTyxDQUFBO0FBQ1gsQ0FBQyxFQUpXLE1BQU0sc0JBQU4sTUFBTSxRQUlqQjtBQUVELE1BQU0sWUFBWSxHQUFHLENBQUMsT0FBZSxFQUFFLEVBQXlCLEVBQVcsRUFBRTtJQUN6RSxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUMvQixFQUFFLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDO1FBQ3JCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFRixvQ0FBb0M7QUFDcEMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxNQUF1QixFQUFFLFlBQWlDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFO0lBQ3RGLE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztJQUM1QixNQUFNLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsVUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNwRSxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsVUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNoRSxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ3ZCLE1BQU0sT0FBTyxHQUFHLElB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 \ No newline at end of file +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Helper = exports.Process = exports.STATUS = void 0; +const __1 = require("../.."); +const child_process_1 = require("child_process"); +const platform_1 = require("../common/platform"); +var STATUS; +(function (STATUS) { + STATUS[STATUS["OK"] = 0] = "OK"; + STATUS[STATUS["ERROR"] = 1] = "ERROR"; + STATUS[STATUS["PENDING"] = 2] = "PENDING"; +})(STATUS = exports.STATUS || (exports.STATUS = {})); +const fatalHandler = (message, fn) => { + if (message.startsWith('fatal:')) { + fn('\t\ ' + message); + return true; + } + return false; +}; +// tslint:disable-next-line:no-empty +const subscribe = (signal, collector = () => { }) => { + const buffer = []; + signal.on('message', (message) => __1.logger.debug('message', message)); + signal.on('error', (error) => __1.logger.error('std-error', error)); + signal.on('data', (data) => { + const message = data.toString(); + buffer.push(message); // .replace(/[\x00-\x1F\x7F-\x9F]/g, "") + collector(buffer); + }); +}; +const merge = (buffer, data) => buffer.concat(data); +const hook = (process, resolve, reject, cmd) => { + let buffer = []; + const collector = (data) => { buffer = buffer.concat(data); }; + const stdout = subscribe(process.stdout, collector); + const stderr = subscribe(process.stderr, collector); + process.on('exit', (code, signal) => { + if (code) { + resolve({ + code: STATUS.ERROR, + command: cmd, + error: code, + messages: buffer + }); + } + else { + resolve({ + code: STATUS.OK, + command: cmd, + messages: buffer + }); + } + }); + return process; +}; +class Process { + binary = 'magick'; + cwd = ''; + args = ''; + constructor(options = {}) { + this.binary = options.binary || this.binary; + //this.binary = path.resolve(which(this.binary)); + this.cwd = options.cwd || process.cwd(); + } + optionsToString(options) { + const args = []; + // tslint:disable-next-line:forin + for (const k in options) { + const val = options[k]; + if (k.length === 1) { + // val is true, add '-k' + if (val === true) { + args.push('-' + k); + } + else if (val !== false) { + // if val is not false, add '-k val' + args.push('-' + k + ' ' + val); + } + } + else { + if (val === true) { + args.push('--' + k); + } + else if (val !== false) { + args.push('--' + k + '=' + val); + } + } + } + return args.join(' '); + } + optionsToArray(options) { + const args = []; + // tslint:disable-next-line:forin + for (const k in options) { + const val = options[k]; + if (k.length === 1) { + // val is true, add '-k' + if (val === true) { + args.push('-' + k); + } + else if (val !== false) { + // if val is not false, add '-k val' + args.push('-' + k + ' ' + val); + } + } + else { + if (val === true) { + args.push('--' + k); + } + else if (val !== false) { + args.push('--' + k + '=' + val); + } + } + } + return args; + } + async exec(command, options = {}, args = []) { + args = [command].concat(args); + return new Promise((resolve, reject) => { + const p = (0, child_process_1.exec)(this.binary + ' ' + args.join(' '), { + cwd: this.cwd + }); + return hook(p, resolve, reject, this.binary + ' ' + args.join(' ')); + }); + } +} +exports.Process = Process; +class Helper { + static async run(cwd, command, gitArgs) { + const gitProcess = new Process({ + cwd: cwd, + binary: (0, platform_1.os)() == 'windows' ? 'magick' : '' + }); + const p = gitProcess.exec(command, {}, gitArgs); + p.catch((e) => __1.logger.error('Error git command : ' + command)); + return p; + } + static async runBin(cwd, bin, command, gitArgs) { + const gitProcess = new Process({ + cwd: cwd, + binary: bin + }); + const p = gitProcess.exec(command, {}, gitArgs); + p.catch((e) => __1.logger.error('Error git command : ' + command)); + return p; + } +} +exports.Helper = Helper; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3Byb2Nlc3MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQStCO0FBRS9CLGlEQUFtRDtBQUNuRCxpREFBd0M7QUFFeEMsSUFBWSxNQUlYO0FBSkQsV0FBWSxNQUFNO0lBQ2QsK0JBQUUsQ0FBQTtJQUNGLHFDQUFLLENBQUE7SUFDTCx5Q0FBTyxDQUFBO0FBQ1gsQ0FBQyxFQUpXLE1BQU0sR0FBTixjQUFNLEtBQU4sY0FBTSxRQUlqQjtBQUVELE1BQU0sWUFBWSxHQUFHLENBQUMsT0FBZSxFQUFFLEVBQXlCLEVBQVcsRUFBRTtJQUN6RSxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDOUIsRUFBRSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQztRQUNyQixPQUFPLElBQUksQ0FBQztLQUNmO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUYsb0NBQW9DO0FBQ3BDLE1BQU0sU0FBUyxHQUFHLENBQUMsTUFBdUIsRUFBRSxZQUFpQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRTtJQUN0RixNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7SUFDNUIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDcEUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFVBQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDaEUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUN2QixNQUFNLE9BQU8sR0FBRyxJQUFJ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 \ No newline at end of file diff --git a/packages/media/main.js b/packages/media/main.js index 27e534f9..e463815c 100644 --- a/packages/media/main.js +++ b/packages/media/main.js @@ -1,29 +1,29 @@ -#!/usr/bin/env node -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const _cli_1 = require("./_cli"); -(0, _cli_1.defaults)(); -const cli = require("yargs"); -const pdf2jpg_1 = require("./commands/pdf2jpg"); -(0, pdf2jpg_1.register)(cli); -const svg2jpg_1 = require("./commands/svg2jpg"); -(0, svg2jpg_1.register)(cli); -const resize_1 = require("./commands/resize"); -(0, resize_1.register)(cli); -const convert_1 = require("./commands/convert"); -(0, convert_1.register)(cli); -const audio_1 = require("./commands/audio"); -(0, audio_1.register)(cli); -const video_1 = require("./commands/video"); -(0, video_1.register)(cli); -const watermark_1 = require("./commands/watermark"); -(0, watermark_1.register)(cli); -const argv = cli.argv; -if (argv.h || argv.help) { - cli.showHelp(); - process.exit(); -} -else if (argv.v || argv.version) { - process.exit(); -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNyYy9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLGlDQUFrQztBQUFDLElBQUEsZUFBUSxHQUFFLENBQUE7QUFFN0MsNkJBQTRCO0FBRTVCLGdEQUFpRTtBQUFDLElBQUEsa0JBQWUsRUFBQyxHQUFHLENBQUMsQ0FBQTtBQUN0RixnREFBaUU7QUFBQyxJQUFBLGtCQUFlLEVBQUMsR0FBRyxDQUFDLENBQUE7QUFDdEYsOENBQStEO0FBQUMsSUFBQSxpQkFBYyxFQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQ25GLGdEQUFpRTtBQUFDLElBQUEsa0JBQWUsRUFBQyxHQUFHLENBQUMsQ0FBQTtBQUN0Riw0Q0FBNkQ7QUFBQyxJQUFBLGdCQUFhLEVBQUMsR0FBRyxDQUFDLENBQUE7QUFDaEYsNENBQTZEO0FBQUMsSUFBQSxnQkFBYSxFQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQ2hGLG9EQUFxRTtBQUFDLElBQUEsb0JBQWlCLEVBQUMsR0FBRyxDQUFDLENBQUE7QUFFNUYsTUFBTSxJQUFJLEdBQVEsR0FBRyxDQUFDLElBQUksQ0FBQztBQUUzQixJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNmLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUNuQixDQUFDO0tBQU0sSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNoQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDbkIsQ0FBQyJ9 \ No newline at end of file +#!/usr/bin/env node +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const _cli_1 = require("./_cli"); +(0, _cli_1.defaults)(); +const cli = require("yargs"); +const pdf2jpg_1 = require("./commands/pdf2jpg"); +(0, pdf2jpg_1.register)(cli); +const svg2jpg_1 = require("./commands/svg2jpg"); +(0, svg2jpg_1.register)(cli); +const resize_1 = require("./commands/resize"); +(0, resize_1.register)(cli); +const convert_1 = require("./commands/convert"); +(0, convert_1.register)(cli); +const audio_1 = require("./commands/audio"); +(0, audio_1.register)(cli); +const video_1 = require("./commands/video"); +(0, video_1.register)(cli); +const watermark_1 = require("./commands/watermark"); +(0, watermark_1.register)(cli); +const argv = cli.argv; +if (argv.h || argv.help) { + cli.showHelp(); + process.exit(); +} +else if (argv.v || argv.version) { + process.exit(); +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNyYy9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLGlDQUFrQztBQUFDLElBQUEsZUFBUSxHQUFFLENBQUE7QUFFN0MsNkJBQTRCO0FBRTVCLGdEQUFpRTtBQUFDLElBQUEsa0JBQWUsRUFBQyxHQUFHLENBQUMsQ0FBQTtBQUN0RixnREFBaUU7QUFBQyxJQUFBLGtCQUFlLEVBQUMsR0FBRyxDQUFDLENBQUE7QUFDdEYsOENBQStEO0FBQUMsSUFBQSxpQkFBYyxFQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQ25GLGdEQUFpRTtBQUFDLElBQUEsa0JBQWUsRUFBQyxHQUFHLENBQUMsQ0FBQTtBQUN0Riw0Q0FBNkQ7QUFBQyxJQUFBLGdCQUFhLEVBQUMsR0FBRyxDQUFDLENBQUE7QUFDaEYsNENBQTZEO0FBQUMsSUFBQSxnQkFBYSxFQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQ2hGLG9EQUFxRTtBQUFDLElBQUEsb0JBQWlCLEVBQUMsR0FBRyxDQUFDLENBQUE7QUFFNUYsTUFBTSxJQUFJLEdBQVEsR0FBRyxDQUFDLElBQUksQ0FBQztBQUUzQixJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtJQUNyQixHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDZixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7Q0FDbEI7S0FBTSxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtJQUMvQixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7Q0FDbEIifQ== \ No newline at end of file diff --git a/packages/media/types.js b/packages/media/types.js index 93268cd0..fc0e3657 100644 --- a/packages/media/types.js +++ b/packages/media/types.js @@ -1,3 +1,3 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9 \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5c9478bf..903372f8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -203,6 +203,55 @@ importers: specifier: ^5.7.3 version: 5.7.3 + packages/content/ref/pdf-to-images: + dependencies: + canvas: + specifier: ^3.1.0 + version: 3.1.0 + pdf-img-convert: + specifier: ^2.0.0 + version: 2.0.0 + sharp: + specifier: ^0.33.2 + version: 0.33.5 + tslog: + specifier: ^4.9.3 + version: 4.9.3 + yargs: + specifier: ^17.7.2 + version: 17.7.2 + zod: + specifier: ^3.24.2 + version: 3.24.2 + devDependencies: + '@types/node': + specifier: ^22.13.10 + version: 22.13.10 + '@types/yargs': + specifier: ^17.0.33 + version: 17.0.33 + '@typescript-eslint/eslint-plugin': + specifier: ^6.21.0 + version: 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1)(typescript@5.8.2) + '@typescript-eslint/parser': + specifier: ^6.21.0 + version: 6.21.0(eslint@8.57.1)(typescript@5.8.2) + '@vitest/coverage-v8': + specifier: ^2.1.9 + version: 2.1.9(vitest@3.0.8(@types/debug@4.1.12)(@types/node@22.13.10)(terser@5.37.0)(tsx@4.19.3)(yaml@2.7.0)) + tsup: + specifier: ^8.4.0 + version: 8.4.0(postcss@8.5.1)(tsx@4.19.3)(typescript@5.8.2)(yaml@2.7.0) + tsx: + specifier: ^4.19.3 + version: 4.19.3 + typescript: + specifier: ^5.8.2 + version: 5.8.2 + vitest: + specifier: ^3.0.8 + version: 3.0.8(@types/debug@4.1.12)(@types/node@22.13.10)(terser@5.37.0)(tsx@4.19.3)(yaml@2.7.0) + packages/core: dependencies: tslog: @@ -515,10 +564,18 @@ packages: resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} engines: {node: '>=6.9.0'} + '@babel/helper-string-parser@7.25.9': + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.24.5': resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.25.9': + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-option@7.23.5': resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} engines: {node: '>=6.9.0'} @@ -536,6 +593,11 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@7.26.10': + resolution: {integrity: sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/runtime@7.24.5': resolution: {integrity: sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==} engines: {node: '>=6.9.0'} @@ -552,6 +614,13 @@ packages: resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==} engines: {node: '>=6.9.0'} + '@babel/types@7.26.10': + resolution: {integrity: sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==} + engines: {node: '>=6.9.0'} + + '@bcoe/v8-coverage@0.2.3': + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + '@calebboyd/semaphore@1.3.1': resolution: {integrity: sha512-17z9me12RgAEcMhIgR7f+BiXKbzwF9p1VraI69OxrUUSWGuSMOyOTEHQNVtMKuVrkEDVD0/Av5uiGZPBMYZljw==} @@ -622,156 +691,309 @@ packages: resolution: {integrity: sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==} engines: {node: '>=14.17.0'} + '@emnapi/runtime@1.3.1': + resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} + '@esbuild/aix-ppc64@0.24.2': resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.25.1': + resolution: {integrity: sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/android-arm64@0.24.2': resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} engines: {node: '>=18'} cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.25.1': + resolution: {integrity: sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.24.2': resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} engines: {node: '>=18'} cpu: [arm] os: [android] + '@esbuild/android-arm@0.25.1': + resolution: {integrity: sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.24.2': resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} engines: {node: '>=18'} cpu: [x64] os: [android] + '@esbuild/android-x64@0.25.1': + resolution: {integrity: sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.24.2': resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.25.1': + resolution: {integrity: sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.24.2': resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} engines: {node: '>=18'} cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.25.1': + resolution: {integrity: sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.24.2': resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.25.1': + resolution: {integrity: sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.24.2': resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.25.1': + resolution: {integrity: sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.24.2': resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} engines: {node: '>=18'} cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.25.1': + resolution: {integrity: sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.24.2': resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} engines: {node: '>=18'} cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.25.1': + resolution: {integrity: sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.24.2': resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} engines: {node: '>=18'} cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.25.1': + resolution: {integrity: sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.24.2': resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} engines: {node: '>=18'} cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.25.1': + resolution: {integrity: sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.24.2': resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.25.1': + resolution: {integrity: sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.24.2': resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.25.1': + resolution: {integrity: sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.24.2': resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.25.1': + resolution: {integrity: sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.24.2': resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.25.1': + resolution: {integrity: sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.24.2': resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} engines: {node: '>=18'} cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.25.1': + resolution: {integrity: sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + '@esbuild/netbsd-arm64@0.24.2': resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] + '@esbuild/netbsd-arm64@0.25.1': + resolution: {integrity: sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + '@esbuild/netbsd-x64@0.24.2': resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.25.1': + resolution: {integrity: sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + '@esbuild/openbsd-arm64@0.24.2': resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-arm64@0.25.1': + resolution: {integrity: sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-x64@0.24.2': resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.25.1': + resolution: {integrity: sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + '@esbuild/sunos-x64@0.24.2': resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} engines: {node: '>=18'} cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.25.1': + resolution: {integrity: sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.24.2': resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} engines: {node: '>=18'} cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.25.1': + resolution: {integrity: sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.24.2': resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} engines: {node: '>=18'} cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.25.1': + resolution: {integrity: sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.24.2': resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} engines: {node: '>=18'} cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.25.1': + resolution: {integrity: sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.4.0': resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -811,6 +1033,111 @@ packages: resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} deprecated: Use @eslint/object-schema instead + '@img/sharp-darwin-arm64@0.33.5': + resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [darwin] + + '@img/sharp-darwin-x64@0.33.5': + resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-darwin-arm64@1.0.4': + resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} + cpu: [arm64] + os: [darwin] + + '@img/sharp-libvips-darwin-x64@1.0.4': + resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-linux-arm64@1.0.4': + resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linux-arm@1.0.5': + resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} + cpu: [arm] + os: [linux] + + '@img/sharp-libvips-linux-s390x@1.0.4': + resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} + cpu: [s390x] + os: [linux] + + '@img/sharp-libvips-linux-x64@1.0.4': + resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} + cpu: [x64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} + cpu: [x64] + os: [linux] + + '@img/sharp-linux-arm64@0.33.5': + resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linux-arm@0.33.5': + resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm] + os: [linux] + + '@img/sharp-linux-s390x@0.33.5': + resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [s390x] + os: [linux] + + '@img/sharp-linux-x64@0.33.5': + resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-linuxmusl-arm64@0.33.5': + resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linuxmusl-x64@0.33.5': + resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-wasm32@0.33.5': + resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [wasm32] + + '@img/sharp-win32-ia32@0.33.5': + resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ia32] + os: [win32] + + '@img/sharp-win32-x64@0.33.5': + resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [win32] + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -819,6 +1146,10 @@ packages: resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} engines: {node: '>=18.0.0'} + '@istanbuljs/schema@0.1.3': + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + '@jridgewell/gen-mapping@0.3.5': resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} @@ -852,12 +1183,80 @@ packages: '@manypkg/get-packages@1.1.3': resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} + '@mapbox/node-pre-gyp@1.0.11': + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} + hasBin: true + '@microsoft/tsdoc-config@0.16.2': resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==} '@microsoft/tsdoc@0.14.2': resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} + '@napi-rs/canvas-android-arm64@0.1.68': + resolution: {integrity: sha512-h1KcSR4LKLfRfzeBH65xMxbWOGa1OtMFQbCMVlxPCkN1Zr+2gK+70pXO5ktojIYcUrP6KDcOwoc8clho5ccM/w==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@napi-rs/canvas-darwin-arm64@0.1.68': + resolution: {integrity: sha512-/VURlrAD4gDoxW1GT/b0nP3fRz/fhxmHI/xznTq2FTwkQLPOlLkDLCvTmQ7v6LtGKdc2Ed6rvYpRan+JXThInQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@napi-rs/canvas-darwin-x64@0.1.68': + resolution: {integrity: sha512-tEpvGR6vCLTo1Tx9wmDnoOKROpw57wiCWwCpDOuVlj/7rqEJOUYr9ixW4aRJgmeGBrZHgevI0EURys2ER6whmg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@napi-rs/canvas-linux-arm-gnueabihf@0.1.68': + resolution: {integrity: sha512-U9xbJsumPOiAYeAFZMlHf62b9dGs2HJ6Q5xt7xTB0uEyPeurwhgYBWGgabdsEidyj38YuzI/c3LGBbSQB3vagw==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@napi-rs/canvas-linux-arm64-gnu@0.1.68': + resolution: {integrity: sha512-KFkn8wEm3mPnWD4l8+OUUkxylSJuN5q9PnJRZJgv15RtCA1bgxIwTkBhI/+xuyVMcHqON9sXq7cDkEJtHm35dg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@napi-rs/canvas-linux-arm64-musl@0.1.68': + resolution: {integrity: sha512-IQzts91rCdOALXBWQxLZRCEDrfFTGDtNRJMNu+2SKZ1uT8cmPQkPwVk5rycvFpvgAcmiFiOSCp1aRrlfU8KPpQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@napi-rs/canvas-linux-riscv64-gnu@0.1.68': + resolution: {integrity: sha512-e9AS5UttoIKqXSmBzKZdd3NErSVyOEYzJfNOCGtafGk1//gibTwQXGlSXmAKuErqMp09pyk9aqQRSYzm1AQfBw==} + engines: {node: '>= 10'} + cpu: [riscv64] + os: [linux] + + '@napi-rs/canvas-linux-x64-gnu@0.1.68': + resolution: {integrity: sha512-Pa/I36VE3j57I3Obhrr+J48KGFfkZk2cJN/2NmW/vCgmoF7kCP6aTVq5n+cGdGWLd/cN9CJ9JvNwEoMRDghu0g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@napi-rs/canvas-linux-x64-musl@0.1.68': + resolution: {integrity: sha512-9c6rkc5195wNxuUHJdf4/mmnq433OQey9TNvQ9LspJazvHbfSkTij8wtKjASVQsJyPDva4fkWOeV/OQ7cLw0GQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@napi-rs/canvas-win32-x64-msvc@0.1.68': + resolution: {integrity: sha512-Fc5Dez23u0FoSATurT6/w1oMytiRnKWEinHivdMvXpge6nG4YvhrASrtqMk8dGJMVQpHr8QJYF45rOrx2YU2Aw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@napi-rs/canvas@0.1.68': + resolution: {integrity: sha512-LQESrePLEBLvhuFkXx9jjBXRC2ClYsO5mqQ1m/puth5z9SOuM3N/B3vDuqnC3RJFktDktyK9khGvo7dTkqO9uQ==} + engines: {node: '>= 10'} + '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1': resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} @@ -902,96 +1301,191 @@ packages: cpu: [arm] os: [android] + '@rollup/rollup-android-arm-eabi@4.35.0': + resolution: {integrity: sha512-uYQ2WfPaqz5QtVgMxfN6NpLD+no0MYHDBywl7itPYd3K5TjjSghNKmX8ic9S8NU8w81NVhJv/XojcHptRly7qQ==} + cpu: [arm] + os: [android] + '@rollup/rollup-android-arm64@4.30.1': resolution: {integrity: sha512-/NA2qXxE3D/BRjOJM8wQblmArQq1YoBVJjrjoTSBS09jgUisq7bqxNHJ8kjCHeV21W/9WDGwJEWSN0KQ2mtD/w==} cpu: [arm64] os: [android] + '@rollup/rollup-android-arm64@4.35.0': + resolution: {integrity: sha512-FtKddj9XZudurLhdJnBl9fl6BwCJ3ky8riCXjEw3/UIbjmIY58ppWwPEvU3fNu+W7FUsAsB1CdH+7EQE6CXAPA==} + cpu: [arm64] + os: [android] + '@rollup/rollup-darwin-arm64@4.30.1': resolution: {integrity: sha512-r7FQIXD7gB0WJ5mokTUgUWPl0eYIH0wnxqeSAhuIwvnnpjdVB8cRRClyKLQr7lgzjctkbp5KmswWszlwYln03Q==} cpu: [arm64] os: [darwin] + '@rollup/rollup-darwin-arm64@4.35.0': + resolution: {integrity: sha512-Uk+GjOJR6CY844/q6r5DR/6lkPFOw0hjfOIzVx22THJXMxktXG6CbejseJFznU8vHcEBLpiXKY3/6xc+cBm65Q==} + cpu: [arm64] + os: [darwin] + '@rollup/rollup-darwin-x64@4.30.1': resolution: {integrity: sha512-x78BavIwSH6sqfP2xeI1hd1GpHL8J4W2BXcVM/5KYKoAD3nNsfitQhvWSw+TFtQTLZ9OmlF+FEInEHyubut2OA==} cpu: [x64] os: [darwin] + '@rollup/rollup-darwin-x64@4.35.0': + resolution: {integrity: sha512-3IrHjfAS6Vkp+5bISNQnPogRAW5GAV1n+bNCrDwXmfMHbPl5EhTmWtfmwlJxFRUCBZ+tZ/OxDyU08aF6NI/N5Q==} + cpu: [x64] + os: [darwin] + '@rollup/rollup-freebsd-arm64@4.30.1': resolution: {integrity: sha512-HYTlUAjbO1z8ywxsDFWADfTRfTIIy/oUlfIDmlHYmjUP2QRDTzBuWXc9O4CXM+bo9qfiCclmHk1x4ogBjOUpUQ==} cpu: [arm64] os: [freebsd] + '@rollup/rollup-freebsd-arm64@4.35.0': + resolution: {integrity: sha512-sxjoD/6F9cDLSELuLNnY0fOrM9WA0KrM0vWm57XhrIMf5FGiN8D0l7fn+bpUeBSU7dCgPV2oX4zHAsAXyHFGcQ==} + cpu: [arm64] + os: [freebsd] + '@rollup/rollup-freebsd-x64@4.30.1': resolution: {integrity: sha512-1MEdGqogQLccphhX5myCJqeGNYTNcmTyaic9S7CG3JhwuIByJ7J05vGbZxsizQthP1xpVx7kd3o31eOogfEirw==} cpu: [x64] os: [freebsd] + '@rollup/rollup-freebsd-x64@4.35.0': + resolution: {integrity: sha512-2mpHCeRuD1u/2kruUiHSsnjWtHjqVbzhBkNVQ1aVD63CcexKVcQGwJ2g5VphOd84GvxfSvnnlEyBtQCE5hxVVw==} + cpu: [x64] + os: [freebsd] + '@rollup/rollup-linux-arm-gnueabihf@4.30.1': resolution: {integrity: sha512-PaMRNBSqCx7K3Wc9QZkFx5+CX27WFpAMxJNiYGAXfmMIKC7jstlr32UhTgK6T07OtqR+wYlWm9IxzennjnvdJg==} cpu: [arm] os: [linux] + '@rollup/rollup-linux-arm-gnueabihf@4.35.0': + resolution: {integrity: sha512-mrA0v3QMy6ZSvEuLs0dMxcO2LnaCONs1Z73GUDBHWbY8tFFocM6yl7YyMu7rz4zS81NDSqhrUuolyZXGi8TEqg==} + cpu: [arm] + os: [linux] + '@rollup/rollup-linux-arm-musleabihf@4.30.1': resolution: {integrity: sha512-B8Rcyj9AV7ZlEFqvB5BubG5iO6ANDsRKlhIxySXcF1axXYUyqwBok+XZPgIYGBgs7LDXfWfifxhw0Ik57T0Yug==} cpu: [arm] os: [linux] + '@rollup/rollup-linux-arm-musleabihf@4.35.0': + resolution: {integrity: sha512-DnYhhzcvTAKNexIql8pFajr0PiDGrIsBYPRvCKlA5ixSS3uwo/CWNZxB09jhIapEIg945KOzcYEAGGSmTSpk7A==} + cpu: [arm] + os: [linux] + '@rollup/rollup-linux-arm64-gnu@4.30.1': resolution: {integrity: sha512-hqVyueGxAj3cBKrAI4aFHLV+h0Lv5VgWZs9CUGqr1z0fZtlADVV1YPOij6AhcK5An33EXaxnDLmJdQikcn5NEw==} cpu: [arm64] os: [linux] + '@rollup/rollup-linux-arm64-gnu@4.35.0': + resolution: {integrity: sha512-uagpnH2M2g2b5iLsCTZ35CL1FgyuzzJQ8L9VtlJ+FckBXroTwNOaD0z0/UF+k5K3aNQjbm8LIVpxykUOQt1m/A==} + cpu: [arm64] + os: [linux] + '@rollup/rollup-linux-arm64-musl@4.30.1': resolution: {integrity: sha512-i4Ab2vnvS1AE1PyOIGp2kXni69gU2DAUVt6FSXeIqUCPIR3ZlheMW3oP2JkukDfu3PsexYRbOiJrY+yVNSk9oA==} cpu: [arm64] os: [linux] + '@rollup/rollup-linux-arm64-musl@4.35.0': + resolution: {integrity: sha512-XQxVOCd6VJeHQA/7YcqyV0/88N6ysSVzRjJ9I9UA/xXpEsjvAgDTgH3wQYz5bmr7SPtVK2TsP2fQ2N9L4ukoUg==} + cpu: [arm64] + os: [linux] + '@rollup/rollup-linux-loongarch64-gnu@4.30.1': resolution: {integrity: sha512-fARcF5g296snX0oLGkVxPmysetwUk2zmHcca+e9ObOovBR++9ZPOhqFUM61UUZ2EYpXVPN1redgqVoBB34nTpQ==} cpu: [loong64] os: [linux] + '@rollup/rollup-linux-loongarch64-gnu@4.35.0': + resolution: {integrity: sha512-5pMT5PzfgwcXEwOaSrqVsz/LvjDZt+vQ8RT/70yhPU06PTuq8WaHhfT1LW+cdD7mW6i/J5/XIkX/1tCAkh1W6g==} + cpu: [loong64] + os: [linux] + '@rollup/rollup-linux-powerpc64le-gnu@4.30.1': resolution: {integrity: sha512-GLrZraoO3wVT4uFXh67ElpwQY0DIygxdv0BNW9Hkm3X34wu+BkqrDrkcsIapAY+N2ATEbvak0XQ9gxZtCIA5Rw==} cpu: [ppc64] os: [linux] + '@rollup/rollup-linux-powerpc64le-gnu@4.35.0': + resolution: {integrity: sha512-c+zkcvbhbXF98f4CtEIP1EBA/lCic5xB0lToneZYvMeKu5Kamq3O8gqrxiYYLzlZH6E3Aq+TSW86E4ay8iD8EA==} + cpu: [ppc64] + os: [linux] + '@rollup/rollup-linux-riscv64-gnu@4.30.1': resolution: {integrity: sha512-0WKLaAUUHKBtll0wvOmh6yh3S0wSU9+yas923JIChfxOaaBarmb/lBKPF0w/+jTVozFnOXJeRGZ8NvOxvk/jcw==} cpu: [riscv64] os: [linux] + '@rollup/rollup-linux-riscv64-gnu@4.35.0': + resolution: {integrity: sha512-s91fuAHdOwH/Tad2tzTtPX7UZyytHIRR6V4+2IGlV0Cej5rkG0R61SX4l4y9sh0JBibMiploZx3oHKPnQBKe4g==} + cpu: [riscv64] + os: [linux] + '@rollup/rollup-linux-s390x-gnu@4.30.1': resolution: {integrity: sha512-GWFs97Ruxo5Bt+cvVTQkOJ6TIx0xJDD/bMAOXWJg8TCSTEK8RnFeOeiFTxKniTc4vMIaWvCplMAFBt9miGxgkA==} cpu: [s390x] os: [linux] + '@rollup/rollup-linux-s390x-gnu@4.35.0': + resolution: {integrity: sha512-hQRkPQPLYJZYGP+Hj4fR9dDBMIM7zrzJDWFEMPdTnTy95Ljnv0/4w/ixFw3pTBMEuuEuoqtBINYND4M7ujcuQw==} + cpu: [s390x] + os: [linux] + '@rollup/rollup-linux-x64-gnu@4.30.1': resolution: {integrity: sha512-UtgGb7QGgXDIO+tqqJ5oZRGHsDLO8SlpE4MhqpY9Llpzi5rJMvrK6ZGhsRCST2abZdBqIBeXW6WPD5fGK5SDwg==} cpu: [x64] os: [linux] + '@rollup/rollup-linux-x64-gnu@4.35.0': + resolution: {integrity: sha512-Pim1T8rXOri+0HmV4CdKSGrqcBWX0d1HoPnQ0uw0bdp1aP5SdQVNBy8LjYncvnLgu3fnnCt17xjWGd4cqh8/hA==} + cpu: [x64] + os: [linux] + '@rollup/rollup-linux-x64-musl@4.30.1': resolution: {integrity: sha512-V9U8Ey2UqmQsBT+xTOeMzPzwDzyXmnAoO4edZhL7INkwQcaW1Ckv3WJX3qrrp/VHaDkEWIBWhRwP47r8cdrOow==} cpu: [x64] os: [linux] + '@rollup/rollup-linux-x64-musl@4.35.0': + resolution: {integrity: sha512-QysqXzYiDvQWfUiTm8XmJNO2zm9yC9P/2Gkrwg2dH9cxotQzunBHYr6jk4SujCTqnfGxduOmQcI7c2ryuW8XVg==} + cpu: [x64] + os: [linux] + '@rollup/rollup-win32-arm64-msvc@4.30.1': resolution: {integrity: sha512-WabtHWiPaFF47W3PkHnjbmWawnX/aE57K47ZDT1BXTS5GgrBUEpvOzq0FI0V/UYzQJgdb8XlhVNH8/fwV8xDjw==} cpu: [arm64] os: [win32] + '@rollup/rollup-win32-arm64-msvc@4.35.0': + resolution: {integrity: sha512-OUOlGqPkVJCdJETKOCEf1mw848ZyJ5w50/rZ/3IBQVdLfR5jk/6Sr5m3iO2tdPgwo0x7VcncYuOvMhBWZq8ayg==} + cpu: [arm64] + os: [win32] + '@rollup/rollup-win32-ia32-msvc@4.30.1': resolution: {integrity: sha512-pxHAU+Zv39hLUTdQQHUVHf4P+0C47y/ZloorHpzs2SXMRqeAWmGghzAhfOlzFHHwjvgokdFAhC4V+6kC1lRRfw==} cpu: [ia32] os: [win32] + '@rollup/rollup-win32-ia32-msvc@4.35.0': + resolution: {integrity: sha512-2/lsgejMrtwQe44glq7AFFHLfJBPafpsTa6JvP2NGef/ifOa4KBoglVf7AKN7EV9o32evBPRqfg96fEHzWo5kw==} + cpu: [ia32] + os: [win32] + '@rollup/rollup-win32-x64-msvc@4.30.1': resolution: {integrity: sha512-D6qjsXGcvhTjv0kI4fU8tUuBDF/Ueee4SVX79VfNDXZa64TfCW1Slkb6Z7O1p7vflqZjcmOVdZlqf8gvJxc6og==} cpu: [x64] os: [win32] + '@rollup/rollup-win32-x64-msvc@4.35.0': + resolution: {integrity: sha512-PIQeY5XDkrOysbQblSW7v3l1MDZzkTEzAfTPkj5VAu3FW8fS4ynyLg2sINp0fp3SjZ8xkRYpLqoKcYqAkhU1dw==} + cpu: [x64] + os: [win32] + '@rtsao/scc@1.1.0': resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} @@ -1115,6 +1609,9 @@ packages: '@types/node@22.13.1': resolution: {integrity: sha512-jK8uzQlrvXqEU91UxiK5J7pKHyzgnI1Qnl0QDHIgVGuolJhRb9EEl28Cj9b3rGR8B2lhFCtvIm5os8lFnO/1Ew==} + '@types/node@22.13.10': + resolution: {integrity: sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==} + '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -1139,6 +1636,12 @@ packages: '@types/which@1.3.2': resolution: {integrity: sha512-8oDqyLC7eD4HM307boe2QWKyuzdzWBj56xI/imSl2cpL+U3tCMaTAkMJ4ee5JBZ/FsOJlvRGeIShiZDAl1qERA==} + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + '@typescript-eslint/eslint-plugin@6.21.0': resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} engines: {node: ^16.0.0 || >=18.0.0} @@ -1292,9 +1795,21 @@ packages: typescript: optional: true + '@vitest/coverage-v8@2.1.9': + resolution: {integrity: sha512-Z2cOr0ksM00MpEfyVE8KXIYPEcBFxdbLSs56L8PO0QQMxt/6bDj45uQfxoc96v05KW3clk7vvgP0qfDit9DmfQ==} + peerDependencies: + '@vitest/browser': 2.1.9 + vitest: 2.1.9 + peerDependenciesMeta: + '@vitest/browser': + optional: true + '@vitest/expect@3.0.5': resolution: {integrity: sha512-nNIOqupgZ4v5jWuQx2DSlHLEs7Q4Oh/7AYwNyE+k0UQzG7tSmjPXShUikn1mpNGzYEN2jJbTvLejwShMitovBA==} + '@vitest/expect@3.0.8': + resolution: {integrity: sha512-Xu6TTIavTvSSS6LZaA3EebWFr6tsoXPetOWNMOlc7LO88QVVBwq2oQWBoDiLCN6YTvNYsGSjqOO8CAdjom5DCQ==} + '@vitest/mocker@3.0.5': resolution: {integrity: sha512-CLPNBFBIE7x6aEGbIjaQAX03ZZlBMaWwAjBdMkIf/cAn6xzLTiM3zYqO/WAbieEjsAZir6tO71mzeHZoodThvw==} peerDependencies: @@ -1306,21 +1821,47 @@ packages: vite: optional: true + '@vitest/mocker@3.0.8': + resolution: {integrity: sha512-n3LjS7fcW1BCoF+zWZxG7/5XvuYH+lsFg+BDwwAz0arIwHQJFUEsKBQ0BLU49fCxuM/2HSeBPHQD8WjgrxMfow==} + peerDependencies: + msw: ^2.4.9 + vite: ^5.0.0 || ^6.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + '@vitest/pretty-format@3.0.5': resolution: {integrity: sha512-CjUtdmpOcm4RVtB+up8r2vVDLR16Mgm/bYdkGFe3Yj/scRfCpbSi2W/BDSDcFK7ohw8UXvjMbOp9H4fByd/cOA==} + '@vitest/pretty-format@3.0.8': + resolution: {integrity: sha512-BNqwbEyitFhzYMYHUVbIvepOyeQOSFA/NeJMIP9enMntkkxLgOcgABH6fjyXG85ipTgvero6noreavGIqfJcIg==} + '@vitest/runner@3.0.5': resolution: {integrity: sha512-BAiZFityFexZQi2yN4OX3OkJC6scwRo8EhRB0Z5HIGGgd2q+Nq29LgHU/+ovCtd0fOfXj5ZI6pwdlUmC5bpi8A==} + '@vitest/runner@3.0.8': + resolution: {integrity: sha512-c7UUw6gEcOzI8fih+uaAXS5DwjlBaCJUo7KJ4VvJcjL95+DSR1kova2hFuRt3w41KZEFcOEiq098KkyrjXeM5w==} + '@vitest/snapshot@3.0.5': resolution: {integrity: sha512-GJPZYcd7v8QNUJ7vRvLDmRwl+a1fGg4T/54lZXe+UOGy47F9yUfE18hRCtXL5aHN/AONu29NGzIXSVFh9K0feA==} + '@vitest/snapshot@3.0.8': + resolution: {integrity: sha512-x8IlMGSEMugakInj44nUrLSILh/zy1f2/BgH0UeHpNyOocG18M9CWVIFBaXPt8TrqVZWmcPjwfG/ht5tnpba8A==} + '@vitest/spy@3.0.5': resolution: {integrity: sha512-5fOzHj0WbUNqPK6blI/8VzZdkBlQLnT25knX0r4dbZI9qoZDf3qAdjoMmDcLG5A83W6oUUFJgUd0EYBc2P5xqg==} + '@vitest/spy@3.0.8': + resolution: {integrity: sha512-MR+PzJa+22vFKYb934CejhR4BeRpMSoxkvNoDit68GQxRLSf11aT6CTj3XaqUU9rxgWJFnqicN/wxw6yBRkI1Q==} + '@vitest/utils@3.0.5': resolution: {integrity: sha512-N9AX0NUoUtVwKwy21JtwzaqR5L5R5A99GAbrHfCCXK1lp593i/3AZAXhSP43wRQuxYsflrdzEfXZFo1reR1Nkg==} + '@vitest/utils@3.0.8': + resolution: {integrity: sha512-nkBC3aEhfX2PdtQI/QwAWp8qZWwzASsU4Npbcd5RdMPBSSLCpkZp52P3xku3s3uA0HIEhGvEcF8rNkBsz9dQ4Q==} + '@webassemblyjs/ast@1.14.1': resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} @@ -1397,6 +1938,9 @@ packages: '@xtuc/long@4.2.2': resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + abbrev@1.1.1: + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + abbrev@2.0.0: resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -1427,6 +1971,10 @@ packages: resolution: {integrity: sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==} engines: {node: '>=0.8'} + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + ajv-formats@2.1.1: resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} peerDependencies: @@ -1485,10 +2033,18 @@ packages: app-builder@7.0.4: resolution: {integrity: sha512-QCmWZnoNN2uItlRV+gj4J6OONaFcJPyFoIuP1RkoILcuq19MlkynYB+wtH8uGv/umyynMWHI1HxnH1jGa1hNKQ==} + aproba@2.0.0: + resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} + archive-type@4.0.0: resolution: {integrity: sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA==} engines: {node: '>=4'} + are-we-there-yet@2.0.0: + resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} + engines: {node: '>=10'} + deprecated: This package is no longer supported. + arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} @@ -1586,6 +2142,9 @@ packages: bl@1.2.3: resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==} + bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} @@ -1689,6 +2248,14 @@ packages: caniuse-lite@1.0.30001698: resolution: {integrity: sha512-xJ3km2oiG/MbNU8G6zIq6XRZ6HtAOVXsbOrP/blGazi52kc5Yy7b6sDA5O+FbROzRrV7BSTllLHuNvmawYUJjw==} + canvas@2.11.2: + resolution: {integrity: sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==} + engines: {node: '>=6'} + + canvas@3.1.0: + resolution: {integrity: sha512-tTj3CqqukVJ9NgSahykNwtGda7V33VLObwrHfzT0vqJXu7J4d4C/7kQQW3fOEGDfZZoILPut5H00gOjyttPGyg==} + engines: {node: ^18.12.0 || >= 20.9.0} + caw@2.0.1: resolution: {integrity: sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==} engines: {node: '>=4'} @@ -1704,6 +2271,10 @@ packages: resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} engines: {node: '>=12'} + chai@5.2.0: + resolution: {integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==} + engines: {node: '>=12'} + chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -1747,6 +2318,13 @@ packages: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} + chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + + chownr@2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} + chownr@3.0.0: resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} engines: {node: '>=18'} @@ -1820,9 +2398,17 @@ packages: color-string@1.9.1: resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + color-support@1.1.3: + resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} + hasBin: true + color@3.2.1: resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} + color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} @@ -1870,6 +2456,9 @@ packages: resolution: {integrity: sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA==} engines: {node: ^14.18.0 || >=16.10.0} + console-control-strings@1.1.0: + resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} + content-disposition@0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} @@ -1930,6 +2519,10 @@ packages: damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + data-view-buffer@1.0.1: resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} engines: {node: '>= 0.4'} @@ -1987,6 +2580,10 @@ packages: resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} engines: {node: '>=4'} + decompress-response@4.2.1: + resolution: {integrity: sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==} + engines: {node: '>=8'} + decompress-response@6.0.0: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} @@ -2015,6 +2612,10 @@ packages: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -2041,6 +2642,9 @@ packages: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} + delegates@1.0.0: + resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} + denodeify@1.2.1: resolution: {integrity: sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==} @@ -2056,6 +2660,10 @@ packages: resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} engines: {node: '>=12.20'} + detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} + engines: {node: '>=8'} + detect-newline@4.0.1: resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2195,6 +2803,11 @@ packages: engines: {node: '>=18'} hasBin: true + esbuild@0.25.1: + resolution: {integrity: sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==} + engines: {node: '>=18'} + hasBin: true + escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} @@ -2462,6 +3075,10 @@ packages: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} + expand-template@2.0.3: + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} + engines: {node: '>=6'} + expect-type@1.1.0: resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==} engines: {node: '>=12.0.0'} @@ -2518,9 +3135,21 @@ packages: picomatch: optional: true + fdir@6.4.3: + resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + fecha@4.2.3: resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==} + fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} + file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -2606,6 +3235,10 @@ packages: resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} engines: {node: '>= 6'} + formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + frac@1.1.2: resolution: {integrity: sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==} engines: {node: '>=0.8'} @@ -2627,6 +3260,10 @@ packages: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} engines: {node: '>=6 <7 || >=8'} + fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} + fs-minipass@3.0.3: resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -2649,6 +3286,11 @@ packages: functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + gauge@3.0.2: + resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} + engines: {node: '>=10'} + deprecated: This package is no longer supported. + gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -2699,6 +3341,9 @@ packages: git-hooks-list@3.1.0: resolution: {integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==} + github-from-package@0.0.0: + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} + glob-base@0.1.1: resolution: {integrity: sha512-WUYWUFKryC5FJlPqh6XbgVAKm5Ca9I+PuxeldcoOTv4nZTPuydPP/fZWyYN04lIP8jmeWNrHO1riAniymomJBw==} engines: {node: '>=0.10.0'} @@ -2814,6 +3459,9 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} + has-unicode@2.0.1: + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} + hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -2821,6 +3469,9 @@ packages: hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + html-minifier-terser@7.2.0: resolution: {integrity: sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==} engines: {node: ^14.13.1 || >=16.0.0} @@ -2836,6 +3487,10 @@ packages: resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} engines: {node: '>=10.19.0'} + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + human-id@1.0.2: resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} @@ -3083,6 +3738,9 @@ packages: resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} engines: {node: '>= 0.4'} + is-url@1.2.4: + resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} + is-weakmap@2.0.2: resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} engines: {node: '>= 0.4'} @@ -3111,6 +3769,22 @@ packages: resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} engines: {node: '>=0.10.0'} + istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + + istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + + istanbul-lib-source-maps@5.0.6: + resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==} + engines: {node: '>=10'} + + istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} + isurl@1.0.0: resolution: {integrity: sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==} engines: {node: '>= 4'} @@ -3417,6 +4091,9 @@ packages: magic-string@0.30.17: resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} + magicast@0.3.5: + resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} + make-dir@1.3.0: resolution: {integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==} engines: {node: '>=4'} @@ -3425,6 +4102,14 @@ packages: resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} engines: {node: '>=6'} + make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + + make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} @@ -3603,6 +4288,10 @@ packages: resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} engines: {node: '>=4'} + mimic-response@2.1.0: + resolution: {integrity: sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==} + engines: {node: '>=8'} + mimic-response@3.1.0: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} @@ -3649,10 +4338,18 @@ packages: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} + minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} + minipass@7.1.2: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} + minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} + minizlib@3.0.1: resolution: {integrity: sha512-umcy022ILvb5/3Djuu8LWeqUa8D68JaBzlttKeMWen48SjabqS3iY5w/vzeMzMUNhLDifyhbOwKDSznB1vvrwg==} engines: {node: '>= 18'} @@ -3661,6 +4358,9 @@ packages: resolution: {integrity: sha512-5H76ANWinB1H3twpJ6JY8uvAtpmFvHNArpilJAjXRKXSDDLPIMoZArw5SH0q9z+lLs8IrMw7Q2VWpWimFKFT1Q==} engines: {node: '>= 8.0.0'} + mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + mkdirp@0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true @@ -3695,11 +4395,17 @@ packages: mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + nan@2.22.2: + resolution: {integrity: sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==} + nanoid@3.3.8: resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + napi-build-utils@2.0.0: + resolution: {integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==} + natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} @@ -3714,12 +4420,41 @@ packages: no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + node-abi@3.74.0: + resolution: {integrity: sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w==} + engines: {node: '>=10'} + + node-addon-api@7.1.1: + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-fetch@3.3.2: + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + node-releases@2.0.14: resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} node-releases@2.0.19: resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + nopt@5.0.0: + resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} + engines: {node: '>=6'} + hasBin: true + nopt@7.2.1: resolution: {integrity: sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -3752,6 +4487,10 @@ packages: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} + npmlog@5.0.1: + resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + deprecated: This package is no longer supported. + object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -3937,10 +4676,20 @@ packages: pathe@2.0.2: resolution: {integrity: sha512-15Ztpk+nov8DR524R4BF7uEuzESgzUEAV4Ah7CUMNGXdE5ELuvxElxGXndBl32vMSsWa1jpNf22Z+Er3sKwq+w==} + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + pathval@2.0.0: resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} engines: {node: '>= 14.16'} + pdf-img-convert@2.0.0: + resolution: {integrity: sha512-aRKW7ObK0NtKFJGFyNe8zQujfTTrOIGBT8TuzLYwxlqhhz43mQyZW4Wa/MZ8HFrlaNhJGevGFmt2wWuCJ2plfw==} + + pdfjs-dist@4.10.38: + resolution: {integrity: sha512-/Y3fcFrXEAsMjJXeL9J8+ZG9U01LbuWaYypvDW2ycW1jL269L3js3DVBjDJ0Up9Np1uqDXsDrRihHANhZOlwdQ==} + engines: {node: '>=20'} + pend@1.2.0: resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} @@ -4013,6 +4762,11 @@ packages: resolution: {integrity: sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==} engines: {node: ^10 || ^12 || >=14} + prebuild-install@7.1.3: + resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==} + engines: {node: '>=10'} + hasBin: true + preferred-pm@3.1.3: resolution: {integrity: sha512-MkXsENfftWSRpzCzImcp4FRsCc3y1opwB73CfCNWyzMqArju2CrlMHlqB7VexKiPEOjGMbttv1r9fSCn5S610w==} engines: {node: '>=10'} @@ -4103,6 +4857,10 @@ packages: randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + react-dom@17.0.2: resolution: {integrity: sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==} peerDependencies: @@ -4280,6 +5038,11 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + rollup@4.35.0: + resolution: {integrity: sha512-kg6oI4g+vc41vePJyO6dHt/yl0Rz3Thv0kJeVQ3D1kS3E5XSuKbPc29G4IpT/Kv1KQwgHVcN+HtyS+HYLNSvQg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -4345,6 +5108,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.7.1: + resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} + engines: {node: '>=10'} + hasBin: true + serialize-javascript@6.0.2: resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} @@ -4363,6 +5131,10 @@ packages: resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} engines: {node: '>=8'} + sharp@0.33.5: + resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + shebang-command@1.2.0: resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} engines: {node: '>=0.10.0'} @@ -4393,6 +5165,15 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} + simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + + simple-get@3.1.1: + resolution: {integrity: sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==} + + simple-get@4.0.1: + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} + simple-swizzle@0.2.2: resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} @@ -4556,6 +5337,10 @@ packages: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -4597,10 +5382,21 @@ packages: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} + tar-fs@2.1.2: + resolution: {integrity: sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA==} + tar-stream@1.6.2: resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==} engines: {node: '>= 0.8.0'} + tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + + tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} + engines: {node: '>=10'} + tar@7.4.3: resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==} engines: {node: '>=18'} @@ -4630,6 +5426,10 @@ packages: engines: {node: '>=10'} hasBin: true + test-exclude@7.0.1: + resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==} + engines: {node: '>=18'} + text-hex@1.0.0: resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} @@ -4664,10 +5464,18 @@ packages: resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} engines: {node: '>=12.0.0'} + tinyglobby@0.2.12: + resolution: {integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==} + engines: {node: '>=12.0.0'} + tinypool@1.0.2: resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} engines: {node: ^18.0.0 || >=20.0.0} + tinyrainbow@1.2.0: + resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} + engines: {node: '>=14.0.0'} + tinyrainbow@2.0.0: resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} engines: {node: '>=14.0.0'} @@ -4694,6 +5502,9 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + tr46@1.0.1: resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} @@ -4769,6 +5580,10 @@ packages: resolution: {integrity: sha512-N0HHuHE0e/o75ALfkioFObknHR5dVchUad4F0XyFf3gXJYB++DewEzwGI/uIOM216E5a43ovnRNEeQIq9qgm4Q==} engines: {node: '>=10'} + tslog@4.9.3: + resolution: {integrity: sha512-oDWuGVONxhVEBtschLf2cs/Jy8i7h1T+CpdkTNWQgdAF7DhRo2G8vMCgILKe7ojdEkLhICWgI1LYSSKaJsRgcw==} + engines: {node: '>=16'} + tsup@8.3.5: resolution: {integrity: sha512-Tunf6r6m6tnZsG9GYWndg0z8dEV7fD733VBFzFJ5Vcm1FtlXB8xBD/rtrBi2a3YKEV7hHtxiZtW5EAVADoe1pA==} engines: {node: '>=18'} @@ -4788,6 +5603,25 @@ packages: typescript: optional: true + tsup@8.4.0: + resolution: {integrity: sha512-b+eZbPCjz10fRryaAA7C8xlIHnf8VnsaRqydheLIqwG/Mcpfk8Z5zp3HayX7GaTygkigHl5cBUs+IhcySiIexQ==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + '@microsoft/api-extractor': ^7.36.0 + '@swc/core': ^1 + postcss: ^8.4.12 + typescript: '>=4.5.0' + peerDependenciesMeta: + '@microsoft/api-extractor': + optional: true + '@swc/core': + optional: true + postcss: + optional: true + typescript: + optional: true + tsutils@2.29.0: resolution: {integrity: sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==} peerDependencies: @@ -4799,6 +5633,11 @@ packages: peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + tsx@4.19.3: + resolution: {integrity: sha512-4H8vUNGNjQ4V2EOoGw005+c+dGuPSnhpPBPHBtsZdGZBk/iJb4kguGlPWaZTZ3q5nMtFOEsY0nRDlh9PJyd6SQ==} + engines: {node: '>=18.0.0'} + hasBin: true + tty-table@4.2.3: resolution: {integrity: sha512-Fs15mu0vGzCrj8fmJNP7Ynxt5J7praPXqFN0leZeZBXJwkMxv9cb2D454k1ltrtUSJbZ4yH4e0CynsHLxmUfFA==} engines: {node: '>=8.0.0'} @@ -4905,6 +5744,11 @@ packages: engines: {node: '>=14.17'} hasBin: true + typescript@5.8.2: + resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==} + engines: {node: '>=14.17'} + hasBin: true + uglify-js@1.3.5: resolution: {integrity: sha512-YPX1DjKtom8l9XslmPFQnqWzTBkvI4N0pbkzLuPZZ4QTyig0uQqvZz9NgUdfEV+qccJzi7fVcGWdESvRIjWptQ==} hasBin: true @@ -5020,6 +5864,11 @@ packages: engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true + vite-node@3.0.8: + resolution: {integrity: sha512-6PhR4H9VGlcwXZ+KWCdMqbtG649xCPZqfI9j2PsK1FcXgEzro5bGHcVKFCTqPLaNKZES8Evqv4LwvZARsq5qlg==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + hasBin: true + vite@6.1.0: resolution: {integrity: sha512-RjjMipCKVoR4hVfPY6GQTgveinjNuyLw+qruksLDvA5ktI1150VmcMBKmQaEWJhg/j6Uaf6dNCNA0AfdzUb/hQ==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} @@ -5088,6 +5937,34 @@ packages: jsdom: optional: true + vitest@3.0.8: + resolution: {integrity: sha512-dfqAsNqRGUc8hB9OVR2P0w8PZPEckti2+5rdZip0WIz9WW0MnImJ8XiR61QhqLa92EQzKP2uPkzenKOAHyEIbA==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/debug': ^4.1.12 + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + '@vitest/browser': 3.0.8 + '@vitest/ui': 3.0.8 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/debug': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + walk-up-path@3.0.1: resolution: {integrity: sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==} @@ -5101,6 +5978,13 @@ packages: wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + webidl-conversions@4.0.2: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} @@ -5140,6 +6024,9 @@ packages: webpack-cli: optional: true + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + whatwg-url@7.1.0: resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} @@ -5179,6 +6066,9 @@ packages: engines: {node: '>=8'} hasBin: true + wide-align@1.1.5: + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + wildcard@2.0.1: resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} @@ -5306,6 +6196,9 @@ packages: zod@3.24.1: resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==} + zod@3.24.2: + resolution: {integrity: sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==} + zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} @@ -5400,8 +6293,12 @@ snapshots: '@babel/helper-string-parser@7.24.1': {} + '@babel/helper-string-parser@7.25.9': {} + '@babel/helper-validator-identifier@7.24.5': {} + '@babel/helper-validator-identifier@7.25.9': {} + '@babel/helper-validator-option@7.23.5': {} '@babel/helpers@7.24.5': @@ -5423,6 +6320,10 @@ snapshots: dependencies: '@babel/types': 7.24.5 + '@babel/parser@7.26.10': + dependencies: + '@babel/types': 7.26.10 + '@babel/runtime@7.24.5': dependencies: regenerator-runtime: 0.14.1 @@ -5454,6 +6355,13 @@ snapshots: '@babel/helper-validator-identifier': 7.24.5 to-fast-properties: 2.0.0 + '@babel/types@7.26.10': + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + + '@bcoe/v8-coverage@0.2.3': {} + '@calebboyd/semaphore@1.3.1': {} '@changesets/apply-release-plan@7.0.1': @@ -5618,81 +6526,161 @@ snapshots: '@discoveryjs/json-ext@0.6.3': {} + '@emnapi/runtime@1.3.1': + dependencies: + tslib: 2.6.2 + optional: true + '@esbuild/aix-ppc64@0.24.2': optional: true + '@esbuild/aix-ppc64@0.25.1': + optional: true + '@esbuild/android-arm64@0.24.2': optional: true + '@esbuild/android-arm64@0.25.1': + optional: true + '@esbuild/android-arm@0.24.2': optional: true + '@esbuild/android-arm@0.25.1': + optional: true + '@esbuild/android-x64@0.24.2': optional: true + '@esbuild/android-x64@0.25.1': + optional: true + '@esbuild/darwin-arm64@0.24.2': optional: true + '@esbuild/darwin-arm64@0.25.1': + optional: true + '@esbuild/darwin-x64@0.24.2': optional: true + '@esbuild/darwin-x64@0.25.1': + optional: true + '@esbuild/freebsd-arm64@0.24.2': optional: true + '@esbuild/freebsd-arm64@0.25.1': + optional: true + '@esbuild/freebsd-x64@0.24.2': optional: true + '@esbuild/freebsd-x64@0.25.1': + optional: true + '@esbuild/linux-arm64@0.24.2': optional: true + '@esbuild/linux-arm64@0.25.1': + optional: true + '@esbuild/linux-arm@0.24.2': optional: true + '@esbuild/linux-arm@0.25.1': + optional: true + '@esbuild/linux-ia32@0.24.2': optional: true + '@esbuild/linux-ia32@0.25.1': + optional: true + '@esbuild/linux-loong64@0.24.2': optional: true + '@esbuild/linux-loong64@0.25.1': + optional: true + '@esbuild/linux-mips64el@0.24.2': optional: true + '@esbuild/linux-mips64el@0.25.1': + optional: true + '@esbuild/linux-ppc64@0.24.2': optional: true + '@esbuild/linux-ppc64@0.25.1': + optional: true + '@esbuild/linux-riscv64@0.24.2': optional: true + '@esbuild/linux-riscv64@0.25.1': + optional: true + '@esbuild/linux-s390x@0.24.2': optional: true + '@esbuild/linux-s390x@0.25.1': + optional: true + '@esbuild/linux-x64@0.24.2': optional: true + '@esbuild/linux-x64@0.25.1': + optional: true + '@esbuild/netbsd-arm64@0.24.2': optional: true + '@esbuild/netbsd-arm64@0.25.1': + optional: true + '@esbuild/netbsd-x64@0.24.2': optional: true + '@esbuild/netbsd-x64@0.25.1': + optional: true + '@esbuild/openbsd-arm64@0.24.2': optional: true + '@esbuild/openbsd-arm64@0.25.1': + optional: true + '@esbuild/openbsd-x64@0.24.2': optional: true + '@esbuild/openbsd-x64@0.25.1': + optional: true + '@esbuild/sunos-x64@0.24.2': optional: true + '@esbuild/sunos-x64@0.25.1': + optional: true + '@esbuild/win32-arm64@0.24.2': optional: true + '@esbuild/win32-arm64@0.25.1': + optional: true + '@esbuild/win32-ia32@0.24.2': optional: true + '@esbuild/win32-ia32@0.25.1': + optional: true + '@esbuild/win32-x64@0.24.2': optional: true + '@esbuild/win32-x64@0.25.1': + optional: true + '@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)': dependencies: eslint: 8.57.1 @@ -5732,6 +6720,81 @@ snapshots: '@humanwhocodes/object-schema@2.0.3': {} + '@img/sharp-darwin-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.0.4 + optional: true + + '@img/sharp-darwin-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.0.4 + optional: true + + '@img/sharp-libvips-darwin-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-darwin-x64@1.0.4': + optional: true + + '@img/sharp-libvips-linux-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-linux-arm@1.0.5': + optional: true + + '@img/sharp-libvips-linux-s390x@1.0.4': + optional: true + + '@img/sharp-libvips-linux-x64@1.0.4': + optional: true + + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + optional: true + + '@img/sharp-linux-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.0.4 + optional: true + + '@img/sharp-linux-arm@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.0.5 + optional: true + + '@img/sharp-linux-s390x@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.0.4 + optional: true + + '@img/sharp-linux-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.0.4 + optional: true + + '@img/sharp-linuxmusl-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + optional: true + + '@img/sharp-linuxmusl-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + optional: true + + '@img/sharp-wasm32@0.33.5': + dependencies: + '@emnapi/runtime': 1.3.1 + optional: true + + '@img/sharp-win32-ia32@0.33.5': + optional: true + + '@img/sharp-win32-x64@0.33.5': + optional: true + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -5745,10 +6808,12 @@ snapshots: dependencies: minipass: 7.1.2 + '@istanbuljs/schema@0.1.3': {} + '@jridgewell/gen-mapping@0.3.5': dependencies: '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping': 0.3.25 '@jridgewell/resolve-uri@3.1.2': {} @@ -5767,7 +6832,7 @@ snapshots: '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping@0.3.9': dependencies: @@ -5790,6 +6855,21 @@ snapshots: globby: 11.1.0 read-yaml-file: 1.1.0 + '@mapbox/node-pre-gyp@1.0.11': + dependencies: + detect-libc: 2.0.3 + https-proxy-agent: 5.0.1 + make-dir: 3.1.0 + node-fetch: 2.7.0 + nopt: 5.0.0 + npmlog: 5.0.1 + rimraf: 3.0.2 + semver: 7.6.2 + tar: 6.2.1 + transitivePeerDependencies: + - encoding + - supports-color + '@microsoft/tsdoc-config@0.16.2': dependencies: '@microsoft/tsdoc': 0.14.2 @@ -5799,6 +6879,50 @@ snapshots: '@microsoft/tsdoc@0.14.2': {} + '@napi-rs/canvas-android-arm64@0.1.68': + optional: true + + '@napi-rs/canvas-darwin-arm64@0.1.68': + optional: true + + '@napi-rs/canvas-darwin-x64@0.1.68': + optional: true + + '@napi-rs/canvas-linux-arm-gnueabihf@0.1.68': + optional: true + + '@napi-rs/canvas-linux-arm64-gnu@0.1.68': + optional: true + + '@napi-rs/canvas-linux-arm64-musl@0.1.68': + optional: true + + '@napi-rs/canvas-linux-riscv64-gnu@0.1.68': + optional: true + + '@napi-rs/canvas-linux-x64-gnu@0.1.68': + optional: true + + '@napi-rs/canvas-linux-x64-musl@0.1.68': + optional: true + + '@napi-rs/canvas-win32-x64-msvc@0.1.68': + optional: true + + '@napi-rs/canvas@0.1.68': + optionalDependencies: + '@napi-rs/canvas-android-arm64': 0.1.68 + '@napi-rs/canvas-darwin-arm64': 0.1.68 + '@napi-rs/canvas-darwin-x64': 0.1.68 + '@napi-rs/canvas-linux-arm-gnueabihf': 0.1.68 + '@napi-rs/canvas-linux-arm64-gnu': 0.1.68 + '@napi-rs/canvas-linux-arm64-musl': 0.1.68 + '@napi-rs/canvas-linux-riscv64-gnu': 0.1.68 + '@napi-rs/canvas-linux-x64-gnu': 0.1.68 + '@napi-rs/canvas-linux-x64-musl': 0.1.68 + '@napi-rs/canvas-win32-x64-msvc': 0.1.68 + optional: true + '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1': dependencies: eslint-scope: 5.1.1 @@ -5847,60 +6971,117 @@ snapshots: '@rollup/rollup-android-arm-eabi@4.30.1': optional: true + '@rollup/rollup-android-arm-eabi@4.35.0': + optional: true + '@rollup/rollup-android-arm64@4.30.1': optional: true + '@rollup/rollup-android-arm64@4.35.0': + optional: true + '@rollup/rollup-darwin-arm64@4.30.1': optional: true + '@rollup/rollup-darwin-arm64@4.35.0': + optional: true + '@rollup/rollup-darwin-x64@4.30.1': optional: true + '@rollup/rollup-darwin-x64@4.35.0': + optional: true + '@rollup/rollup-freebsd-arm64@4.30.1': optional: true + '@rollup/rollup-freebsd-arm64@4.35.0': + optional: true + '@rollup/rollup-freebsd-x64@4.30.1': optional: true + '@rollup/rollup-freebsd-x64@4.35.0': + optional: true + '@rollup/rollup-linux-arm-gnueabihf@4.30.1': optional: true + '@rollup/rollup-linux-arm-gnueabihf@4.35.0': + optional: true + '@rollup/rollup-linux-arm-musleabihf@4.30.1': optional: true + '@rollup/rollup-linux-arm-musleabihf@4.35.0': + optional: true + '@rollup/rollup-linux-arm64-gnu@4.30.1': optional: true + '@rollup/rollup-linux-arm64-gnu@4.35.0': + optional: true + '@rollup/rollup-linux-arm64-musl@4.30.1': optional: true + '@rollup/rollup-linux-arm64-musl@4.35.0': + optional: true + '@rollup/rollup-linux-loongarch64-gnu@4.30.1': optional: true + '@rollup/rollup-linux-loongarch64-gnu@4.35.0': + optional: true + '@rollup/rollup-linux-powerpc64le-gnu@4.30.1': optional: true + '@rollup/rollup-linux-powerpc64le-gnu@4.35.0': + optional: true + '@rollup/rollup-linux-riscv64-gnu@4.30.1': optional: true + '@rollup/rollup-linux-riscv64-gnu@4.35.0': + optional: true + '@rollup/rollup-linux-s390x-gnu@4.30.1': optional: true + '@rollup/rollup-linux-s390x-gnu@4.35.0': + optional: true + '@rollup/rollup-linux-x64-gnu@4.30.1': optional: true + '@rollup/rollup-linux-x64-gnu@4.35.0': + optional: true + '@rollup/rollup-linux-x64-musl@4.30.1': optional: true + '@rollup/rollup-linux-x64-musl@4.35.0': + optional: true + '@rollup/rollup-win32-arm64-msvc@4.30.1': optional: true + '@rollup/rollup-win32-arm64-msvc@4.35.0': + optional: true + '@rollup/rollup-win32-ia32-msvc@4.30.1': optional: true + '@rollup/rollup-win32-ia32-msvc@4.35.0': + optional: true + '@rollup/rollup-win32-x64-msvc@4.30.1': optional: true + '@rollup/rollup-win32-x64-msvc@4.35.0': + optional: true + '@rtsao/scc@1.1.0': {} '@rushstack/eslint-patch@1.10.3': {} @@ -6024,6 +7205,10 @@ snapshots: dependencies: undici-types: 6.20.0 + '@types/node@22.13.10': + dependencies: + undici-types: 6.20.0 + '@types/normalize-package-data@2.4.4': {} '@types/responselike@1.0.3': @@ -6042,6 +7227,12 @@ snapshots: '@types/which@1.3.2': {} + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.33': + dependencies: + '@types/yargs-parser': 21.0.3 + '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1)(typescript@5.7.3)': dependencies: '@eslint-community/regexpp': 4.10.0 @@ -6062,6 +7253,26 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2))(eslint@8.57.1)(typescript@5.8.2)': + dependencies: + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.8.2) + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.1)(typescript@5.8.2) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.1)(typescript@5.8.2) + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.4.0 + eslint: 8.57.1 + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare: 1.4.0 + semver: 7.6.2 + ts-api-utils: 1.3.0(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/eslint-plugin@8.20.0(@typescript-eslint/parser@8.20.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5)': dependencies: '@eslint-community/regexpp': 4.10.0 @@ -6092,6 +7303,19 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.8.2)': + dependencies: + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.8.2) + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.4.0 + eslint: 8.57.1 + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/parser@8.20.0(eslint@8.57.1)(typescript@4.9.5)': dependencies: '@typescript-eslint/scope-manager': 8.20.0 @@ -6131,6 +7355,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/type-utils@6.21.0(eslint@8.57.1)(typescript@5.8.2)': + dependencies: + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.8.2) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.1)(typescript@5.8.2) + debug: 4.4.0 + eslint: 8.57.1 + ts-api-utils: 1.3.0(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/type-utils@8.20.0(eslint@8.57.1)(typescript@4.9.5)': dependencies: '@typescript-eslint/typescript-estree': 8.20.0(typescript@4.9.5) @@ -6177,6 +7413,21 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@6.21.0(typescript@5.8.2)': + dependencies: + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.4.0 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.6.2 + ts-api-utils: 1.3.0(typescript@5.8.2) + optionalDependencies: + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/typescript-estree@8.20.0(typescript@4.9.5)': dependencies: '@typescript-eslint/types': 8.20.0 @@ -6220,6 +7471,20 @@ snapshots: - supports-color - typescript + '@typescript-eslint/utils@6.21.0(eslint@8.57.1)(typescript@5.8.2)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.8.2) + eslint: 8.57.1 + semver: 7.6.2 + transitivePeerDependencies: + - supports-color + - typescript + '@typescript-eslint/utils@8.20.0(eslint@8.57.1)(typescript@4.9.5)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) @@ -6279,6 +7544,24 @@ snapshots: - jest - supports-color + '@vitest/coverage-v8@2.1.9(vitest@3.0.8(@types/debug@4.1.12)(@types/node@22.13.10)(terser@5.37.0)(tsx@4.19.3)(yaml@2.7.0))': + dependencies: + '@ampproject/remapping': 2.3.0 + '@bcoe/v8-coverage': 0.2.3 + debug: 4.4.0 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 5.0.6 + istanbul-reports: 3.1.7 + magic-string: 0.30.17 + magicast: 0.3.5 + std-env: 3.8.0 + test-exclude: 7.0.1 + tinyrainbow: 1.2.0 + vitest: 3.0.8(@types/debug@4.1.12)(@types/node@22.13.10)(terser@5.37.0)(tsx@4.19.3)(yaml@2.7.0) + transitivePeerDependencies: + - supports-color + '@vitest/expect@3.0.5': dependencies: '@vitest/spy': 3.0.5 @@ -6286,6 +7569,13 @@ snapshots: chai: 5.1.2 tinyrainbow: 2.0.0 + '@vitest/expect@3.0.8': + dependencies: + '@vitest/spy': 3.0.8 + '@vitest/utils': 3.0.8 + chai: 5.2.0 + tinyrainbow: 2.0.0 + '@vitest/mocker@3.0.5(vite@6.1.0(@types/node@22.13.1)(terser@5.37.0)(yaml@2.7.0))': dependencies: '@vitest/spy': 3.0.5 @@ -6294,31 +7584,64 @@ snapshots: optionalDependencies: vite: 6.1.0(@types/node@22.13.1)(terser@5.37.0)(yaml@2.7.0) + '@vitest/mocker@3.0.8(vite@6.1.0(@types/node@22.13.10)(terser@5.37.0)(tsx@4.19.3)(yaml@2.7.0))': + dependencies: + '@vitest/spy': 3.0.8 + estree-walker: 3.0.3 + magic-string: 0.30.17 + optionalDependencies: + vite: 6.1.0(@types/node@22.13.10)(terser@5.37.0)(tsx@4.19.3)(yaml@2.7.0) + '@vitest/pretty-format@3.0.5': dependencies: tinyrainbow: 2.0.0 + '@vitest/pretty-format@3.0.8': + dependencies: + tinyrainbow: 2.0.0 + '@vitest/runner@3.0.5': dependencies: '@vitest/utils': 3.0.5 pathe: 2.0.2 + '@vitest/runner@3.0.8': + dependencies: + '@vitest/utils': 3.0.8 + pathe: 2.0.3 + '@vitest/snapshot@3.0.5': dependencies: '@vitest/pretty-format': 3.0.5 magic-string: 0.30.17 pathe: 2.0.2 + '@vitest/snapshot@3.0.8': + dependencies: + '@vitest/pretty-format': 3.0.8 + magic-string: 0.30.17 + pathe: 2.0.3 + '@vitest/spy@3.0.5': dependencies: tinyspy: 3.0.2 + '@vitest/spy@3.0.8': + dependencies: + tinyspy: 3.0.2 + '@vitest/utils@3.0.5': dependencies: '@vitest/pretty-format': 3.0.5 loupe: 3.1.3 tinyrainbow: 2.0.0 + '@vitest/utils@3.0.8': + dependencies: + '@vitest/pretty-format': 3.0.8 + loupe: 3.1.3 + tinyrainbow: 2.0.0 + '@webassemblyjs/ast@1.14.1': dependencies: '@webassemblyjs/helper-numbers': 1.13.2 @@ -6414,12 +7737,18 @@ snapshots: '@xtuc/long@4.2.2': {} + abbrev@1.1.1: {} + abbrev@2.0.0: {} acorn-jsx@5.3.2(acorn@8.11.3): dependencies: acorn: 8.11.3 + acorn-jsx@5.3.2(acorn@8.14.0): + dependencies: + acorn: 8.14.0 + acorn-walk@8.3.4: dependencies: acorn: 8.11.3 @@ -6432,6 +7761,12 @@ snapshots: adler-32@1.3.1: {} + agent-base@6.0.2: + dependencies: + debug: 4.4.0 + transitivePeerDependencies: + - supports-color + ajv-formats@2.1.1(ajv@8.17.1): optionalDependencies: ajv: 8.17.1 @@ -6481,10 +7816,17 @@ snapshots: app-builder@7.0.4: {} + aproba@2.0.0: {} + archive-type@4.0.0: dependencies: file-type: 4.4.0 + are-we-there-yet@2.0.0: + dependencies: + delegates: 1.0.0 + readable-stream: 3.6.2 + arg@4.1.3: {} argparse@1.0.10: @@ -6614,6 +7956,12 @@ snapshots: readable-stream: 2.3.8 safe-buffer: 5.2.1 + bl@4.1.0: + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 @@ -6685,6 +8033,11 @@ snapshots: esbuild: 0.24.2 load-tsconfig: 0.2.5 + bundle-require@5.1.0(esbuild@0.25.1): + dependencies: + esbuild: 0.25.1 + load-tsconfig: 0.2.5 + cac@6.7.14: {} cacache@19.0.1: @@ -6751,6 +8104,20 @@ snapshots: caniuse-lite@1.0.30001698: {} + canvas@2.11.2: + dependencies: + '@mapbox/node-pre-gyp': 1.0.11 + nan: 2.22.2 + simple-get: 3.1.1 + transitivePeerDependencies: + - encoding + - supports-color + + canvas@3.1.0: + dependencies: + node-addon-api: 7.1.1 + prebuild-install: 7.1.3 + caw@2.0.1: dependencies: get-proxy: 2.1.0 @@ -6773,6 +8140,14 @@ snapshots: loupe: 3.1.3 pathval: 2.0.0 + chai@5.2.0: + dependencies: + assertion-error: 2.0.1 + check-error: 2.1.1 + deep-eql: 5.0.2 + loupe: 3.1.3 + pathval: 2.0.0 + chalk@2.4.2: dependencies: ansi-styles: 3.2.1 @@ -6808,6 +8183,10 @@ snapshots: dependencies: readdirp: 4.1.1 + chownr@1.1.4: {} + + chownr@2.0.0: {} + chownr@3.0.0: {} chrome-trace-event@1.0.4: {} @@ -6877,11 +8256,18 @@ snapshots: color-name: 1.1.4 simple-swizzle: 0.2.2 + color-support@1.1.3: {} + color@3.2.1: dependencies: color-convert: 1.9.3 color-string: 1.9.1 + color@4.2.3: + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 + colorette@2.0.20: {} colorspace@1.1.4: @@ -6921,6 +8307,8 @@ snapshots: consola@3.4.0: {} + console-control-strings@1.1.0: {} + content-disposition@0.5.4: dependencies: safe-buffer: 5.2.1 @@ -6975,6 +8363,8 @@ snapshots: damerau-levenshtein@1.0.8: {} + data-uri-to-buffer@4.0.1: {} + data-view-buffer@1.0.1: dependencies: call-bind: 1.0.7 @@ -7022,6 +8412,10 @@ snapshots: dependencies: mimic-response: 1.0.1 + decompress-response@4.2.1: + dependencies: + mimic-response: 2.1.0 + decompress-response@6.0.0: dependencies: mimic-response: 3.1.0 @@ -7066,6 +8460,8 @@ snapshots: deep-eql@5.0.2: {} + deep-extend@0.6.0: {} + deep-is@0.1.4: {} deepl-node@1.16.0: @@ -7097,6 +8493,8 @@ snapshots: delayed-stream@1.0.0: {} + delegates@1.0.0: {} + denodeify@1.2.1: {} dequal@2.0.3: {} @@ -7105,6 +8503,8 @@ snapshots: detect-indent@7.0.1: {} + detect-libc@2.0.3: {} + detect-newline@4.0.1: {} devlop@1.1.0: @@ -7321,6 +8721,34 @@ snapshots: '@esbuild/win32-ia32': 0.24.2 '@esbuild/win32-x64': 0.24.2 + esbuild@0.25.1: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.1 + '@esbuild/android-arm': 0.25.1 + '@esbuild/android-arm64': 0.25.1 + '@esbuild/android-x64': 0.25.1 + '@esbuild/darwin-arm64': 0.25.1 + '@esbuild/darwin-x64': 0.25.1 + '@esbuild/freebsd-arm64': 0.25.1 + '@esbuild/freebsd-x64': 0.25.1 + '@esbuild/linux-arm': 0.25.1 + '@esbuild/linux-arm64': 0.25.1 + '@esbuild/linux-ia32': 0.25.1 + '@esbuild/linux-loong64': 0.25.1 + '@esbuild/linux-mips64el': 0.25.1 + '@esbuild/linux-ppc64': 0.25.1 + '@esbuild/linux-riscv64': 0.25.1 + '@esbuild/linux-s390x': 0.25.1 + '@esbuild/linux-x64': 0.25.1 + '@esbuild/netbsd-arm64': 0.25.1 + '@esbuild/netbsd-x64': 0.25.1 + '@esbuild/openbsd-arm64': 0.25.1 + '@esbuild/openbsd-x64': 0.25.1 + '@esbuild/sunos-x64': 0.25.1 + '@esbuild/win32-arm64': 0.25.1 + '@esbuild/win32-ia32': 0.25.1 + '@esbuild/win32-x64': 0.25.1 + escalade@3.1.2: {} escalade@3.2.0: {} @@ -7687,8 +9115,8 @@ snapshots: espree@9.6.1: dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) eslint-visitor-keys: 3.4.3 esprima@4.0.1: {} @@ -7732,6 +9160,8 @@ snapshots: signal-exit: 3.0.7 strip-final-newline: 2.0.0 + expand-template@2.0.3: {} + expect-type@1.1.0: {} ext-list@2.2.2: @@ -7783,8 +9213,17 @@ snapshots: optionalDependencies: picomatch: 4.0.2 + fdir@6.4.3(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 + fecha@4.2.3: {} + fetch-blob@3.2.0: + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 3.3.3 + file-entry-cache@6.0.1: dependencies: flat-cache: 3.2.0 @@ -7861,6 +9300,10 @@ snapshots: combined-stream: 1.0.8 mime-types: 2.1.35 + formdata-polyfill@4.0.10: + dependencies: + fetch-blob: 3.2.0 + frac@1.1.2: {} from2@2.3.0: @@ -7888,6 +9331,10 @@ snapshots: jsonfile: 4.0.0 universalify: 0.1.2 + fs-minipass@2.1.0: + dependencies: + minipass: 3.3.6 + fs-minipass@3.0.3: dependencies: minipass: 7.1.2 @@ -7908,6 +9355,18 @@ snapshots: functions-have-names@1.2.3: {} + gauge@3.0.2: + dependencies: + aproba: 2.0.0 + color-support: 1.1.3 + console-control-strings: 1.1.0 + has-unicode: 2.0.1 + object-assign: 4.1.1 + signal-exit: 3.0.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wide-align: 1.1.5 + gensync@1.0.0-beta.2: {} get-caller-file@2.0.5: {} @@ -7955,6 +9414,8 @@ snapshots: git-hooks-list@3.1.0: {} + github-from-package@0.0.0: {} + glob-base@0.1.1: dependencies: glob-parent: 1.3.0 @@ -8105,12 +9566,16 @@ snapshots: dependencies: has-symbols: 1.0.3 + has-unicode@2.0.1: {} + hasown@2.0.2: dependencies: function-bind: 1.1.2 hosted-git-info@2.8.9: {} + html-escaper@2.0.2: {} + html-minifier-terser@7.2.0: dependencies: camel-case: 4.1.2 @@ -8130,6 +9595,13 @@ snapshots: quick-lru: 5.1.1 resolve-alpn: 1.2.1 + https-proxy-agent@5.0.1: + dependencies: + agent-base: 6.0.2 + debug: 4.4.0 + transitivePeerDependencies: + - supports-color + human-id@1.0.2: {} human-signals@2.1.0: {} @@ -8333,6 +9805,8 @@ snapshots: dependencies: which-typed-array: 1.1.15 + is-url@1.2.4: {} + is-weakmap@2.0.2: {} is-weakref@1.0.2: @@ -8354,6 +9828,27 @@ snapshots: isobject@3.0.1: {} + istanbul-lib-coverage@3.2.2: {} + + istanbul-lib-report@3.0.1: + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + + istanbul-lib-source-maps@5.0.6: + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + debug: 4.4.0 + istanbul-lib-coverage: 3.2.2 + transitivePeerDependencies: + - supports-color + + istanbul-reports@3.1.7: + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + isurl@1.0.0: dependencies: has-to-string-tag-x: 1.4.1 @@ -8667,6 +10162,12 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 + magicast@0.3.5: + dependencies: + '@babel/parser': 7.26.10 + '@babel/types': 7.26.10 + source-map-js: 1.2.1 + make-dir@1.3.0: dependencies: pify: 3.0.0 @@ -8676,6 +10177,14 @@ snapshots: pify: 4.0.1 semver: 5.7.2 + make-dir@3.1.0: + dependencies: + semver: 6.3.1 + + make-dir@4.0.0: + dependencies: + semver: 7.6.2 + make-error@1.3.6: {} makeerror@1.0.12: @@ -9043,6 +10552,8 @@ snapshots: mimic-response@1.0.1: {} + mimic-response@2.1.0: {} + mimic-response@3.1.0: {} min-indent@1.0.1: {} @@ -9087,8 +10598,15 @@ snapshots: dependencies: yallist: 4.0.0 + minipass@5.0.0: {} + minipass@7.1.2: {} + minizlib@2.1.2: + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 + minizlib@3.0.1: dependencies: minipass: 7.1.2 @@ -9096,6 +10614,8 @@ snapshots: mixme@0.5.10: {} + mkdirp-classic@0.5.3: {} + mkdirp@0.5.6: dependencies: minimist: 1.2.8 @@ -9123,8 +10643,12 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 + nan@2.22.2: {} + nanoid@3.3.8: {} + napi-build-utils@2.0.0: {} + natural-compare@1.4.0: {} neo-async@2.6.2: {} @@ -9153,10 +10677,32 @@ snapshots: lower-case: 2.0.2 tslib: 2.6.2 + node-abi@3.74.0: + dependencies: + semver: 7.6.2 + + node-addon-api@7.1.1: {} + + node-domexception@1.0.0: {} + + node-fetch@2.7.0: + dependencies: + whatwg-url: 5.0.0 + + node-fetch@3.3.2: + dependencies: + data-uri-to-buffer: 4.0.1 + fetch-blob: 3.2.0 + formdata-polyfill: 4.0.10 + node-releases@2.0.14: {} node-releases@2.0.19: {} + nopt@5.0.0: + dependencies: + abbrev: 1.1.1 + nopt@7.2.1: dependencies: abbrev: 2.0.0 @@ -9189,6 +10735,13 @@ snapshots: dependencies: path-key: 3.1.1 + npmlog@5.0.1: + dependencies: + are-we-there-yet: 2.0.0 + console-control-strings: 1.1.0 + gauge: 3.0.2 + set-blocking: 2.0.0 + object-assign@4.1.1: {} object-inspect@1.13.1: {} @@ -9394,8 +10947,24 @@ snapshots: pathe@2.0.2: {} + pathe@2.0.3: {} + pathval@2.0.0: {} + pdf-img-convert@2.0.0: + dependencies: + canvas: 2.11.2 + is-url: 1.2.4 + node-fetch: 3.3.2 + pdfjs-dist: 4.10.38 + transitivePeerDependencies: + - encoding + - supports-color + + pdfjs-dist@4.10.38: + optionalDependencies: + '@napi-rs/canvas': 0.1.68 + pend@1.2.0: {} picocolors@1.1.1: {} @@ -9426,6 +10995,14 @@ snapshots: possible-typed-array-names@1.0.0: {} + postcss-load-config@6.0.1(postcss@8.5.1)(tsx@4.19.3)(yaml@2.7.0): + dependencies: + lilconfig: 3.1.3 + optionalDependencies: + postcss: 8.5.1 + tsx: 4.19.3 + yaml: 2.7.0 + postcss-load-config@6.0.1(postcss@8.5.1)(yaml@2.7.0): dependencies: lilconfig: 3.1.3 @@ -9439,6 +11016,21 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + prebuild-install@7.1.3: + dependencies: + detect-libc: 2.0.3 + expand-template: 2.0.3 + github-from-package: 0.0.0 + minimist: 1.2.8 + mkdirp-classic: 0.5.3 + napi-build-utils: 2.0.0 + node-abi: 3.74.0 + pump: 3.0.2 + rc: 1.2.8 + simple-get: 4.0.1 + tar-fs: 2.1.2 + tunnel-agent: 0.6.0 + preferred-pm@3.1.3: dependencies: find-up: 5.0.0 @@ -9506,6 +11098,13 @@ snapshots: dependencies: safe-buffer: 5.2.1 + rc@1.2.8: + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + react-dom@17.0.2(react@17.0.2): dependencies: loose-envify: 1.4.0 @@ -9736,6 +11335,31 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.30.1 fsevents: 2.3.3 + rollup@4.35.0: + dependencies: + '@types/estree': 1.0.6 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.35.0 + '@rollup/rollup-android-arm64': 4.35.0 + '@rollup/rollup-darwin-arm64': 4.35.0 + '@rollup/rollup-darwin-x64': 4.35.0 + '@rollup/rollup-freebsd-arm64': 4.35.0 + '@rollup/rollup-freebsd-x64': 4.35.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.35.0 + '@rollup/rollup-linux-arm-musleabihf': 4.35.0 + '@rollup/rollup-linux-arm64-gnu': 4.35.0 + '@rollup/rollup-linux-arm64-musl': 4.35.0 + '@rollup/rollup-linux-loongarch64-gnu': 4.35.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.35.0 + '@rollup/rollup-linux-riscv64-gnu': 4.35.0 + '@rollup/rollup-linux-s390x-gnu': 4.35.0 + '@rollup/rollup-linux-x64-gnu': 4.35.0 + '@rollup/rollup-linux-x64-musl': 4.35.0 + '@rollup/rollup-win32-arm64-msvc': 4.35.0 + '@rollup/rollup-win32-ia32-msvc': 4.35.0 + '@rollup/rollup-win32-x64-msvc': 4.35.0 + fsevents: 2.3.3 + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 @@ -9803,6 +11427,8 @@ snapshots: semver@7.6.2: {} + semver@7.7.1: {} + serialize-javascript@6.0.2: dependencies: randombytes: 2.1.0 @@ -9829,6 +11455,32 @@ snapshots: dependencies: kind-of: 6.0.3 + sharp@0.33.5: + dependencies: + color: 4.2.3 + detect-libc: 2.0.3 + semver: 7.7.1 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.33.5 + '@img/sharp-darwin-x64': 0.33.5 + '@img/sharp-libvips-darwin-arm64': 1.0.4 + '@img/sharp-libvips-darwin-x64': 1.0.4 + '@img/sharp-libvips-linux-arm': 1.0.5 + '@img/sharp-libvips-linux-arm64': 1.0.4 + '@img/sharp-libvips-linux-s390x': 1.0.4 + '@img/sharp-libvips-linux-x64': 1.0.4 + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + '@img/sharp-linux-arm': 0.33.5 + '@img/sharp-linux-arm64': 0.33.5 + '@img/sharp-linux-s390x': 0.33.5 + '@img/sharp-linux-x64': 0.33.5 + '@img/sharp-linuxmusl-arm64': 0.33.5 + '@img/sharp-linuxmusl-x64': 0.33.5 + '@img/sharp-wasm32': 0.33.5 + '@img/sharp-win32-ia32': 0.33.5 + '@img/sharp-win32-x64': 0.33.5 + shebang-command@1.2.0: dependencies: shebang-regex: 1.0.0 @@ -9854,6 +11506,20 @@ snapshots: signal-exit@4.1.0: {} + simple-concat@1.0.1: {} + + simple-get@3.1.1: + dependencies: + decompress-response: 4.2.1 + once: 1.4.0 + simple-concat: 1.0.1 + + simple-get@4.0.1: + dependencies: + decompress-response: 6.0.0 + once: 1.4.0 + simple-concat: 1.0.1 + simple-swizzle@0.2.2: dependencies: is-arrayish: 0.3.2 @@ -10045,6 +11711,8 @@ snapshots: dependencies: min-indent: 1.0.1 + strip-json-comments@2.0.1: {} + strip-json-comments@3.1.1: {} strip-outer@1.0.1: @@ -10084,6 +11752,13 @@ snapshots: tapable@2.2.1: {} + tar-fs@2.1.2: + dependencies: + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.2 + tar-stream: 2.2.0 + tar-stream@1.6.2: dependencies: bl: 1.2.3 @@ -10094,6 +11769,23 @@ snapshots: to-buffer: 1.1.1 xtend: 4.0.2 + tar-stream@2.2.0: + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + + tar@6.2.1: + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + tar@7.4.3: dependencies: '@isaacs/fs-minipass': 4.0.1 @@ -10117,10 +11809,16 @@ snapshots: terser@5.37.0: dependencies: '@jridgewell/source-map': 0.3.6 - acorn: 8.11.3 + acorn: 8.14.0 commander: 2.20.3 source-map-support: 0.5.21 + test-exclude@7.0.1: + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 10.4.5 + minimatch: 9.0.4 + text-hex@1.0.0: {} text-table@0.2.0: {} @@ -10148,8 +11846,15 @@ snapshots: fdir: 6.4.2(picomatch@4.0.2) picomatch: 4.0.2 + tinyglobby@0.2.12: + dependencies: + fdir: 6.4.3(picomatch@4.0.2) + picomatch: 4.0.2 + tinypool@1.0.2: {} + tinyrainbow@1.2.0: {} + tinyrainbow@2.0.0: {} tinyspy@3.0.2: {} @@ -10168,6 +11873,8 @@ snapshots: dependencies: is-number: 7.0.0 + tr46@0.0.3: {} + tr46@1.0.1: dependencies: punycode: 2.3.1 @@ -10188,6 +11895,10 @@ snapshots: dependencies: typescript: 5.7.3 + ts-api-utils@1.3.0(typescript@5.8.2): + dependencies: + typescript: 5.8.2 + ts-api-utils@2.0.0(typescript@4.9.5): dependencies: typescript: 4.9.5 @@ -10264,6 +11975,8 @@ snapshots: dependencies: source-map-support: 0.5.21 + tslog@4.9.3: {} + tsup@8.3.5(postcss@8.5.1)(typescript@4.9.5)(yaml@2.7.0): dependencies: bundle-require: 5.1.0(esbuild@0.24.2) @@ -10318,6 +12031,33 @@ snapshots: - tsx - yaml + tsup@8.4.0(postcss@8.5.1)(tsx@4.19.3)(typescript@5.8.2)(yaml@2.7.0): + dependencies: + bundle-require: 5.1.0(esbuild@0.25.1) + cac: 6.7.14 + chokidar: 4.0.3 + consola: 3.4.0 + debug: 4.4.0 + esbuild: 0.25.1 + joycon: 3.1.1 + picocolors: 1.1.1 + postcss-load-config: 6.0.1(postcss@8.5.1)(tsx@4.19.3)(yaml@2.7.0) + resolve-from: 5.0.0 + rollup: 4.35.0 + source-map: 0.8.0-beta.0 + sucrase: 3.35.0 + tinyexec: 0.3.2 + tinyglobby: 0.2.12 + tree-kill: 1.2.2 + optionalDependencies: + postcss: 8.5.1 + typescript: 5.8.2 + transitivePeerDependencies: + - jiti + - supports-color + - tsx + - yaml + tsutils@2.29.0(typescript@5.7.3): dependencies: tslib: 1.14.1 @@ -10328,6 +12068,13 @@ snapshots: tslib: 1.14.1 typescript: 5.7.3 + tsx@4.19.3: + dependencies: + esbuild: 0.25.1 + get-tsconfig: 4.7.5 + optionalDependencies: + fsevents: 2.3.3 + tty-table@4.2.3: dependencies: chalk: 4.1.2 @@ -10433,6 +12180,8 @@ snapshots: typescript@5.7.3: {} + typescript@5.8.2: {} + uglify-js@1.3.5: {} unbox-primitive@1.0.2: @@ -10624,6 +12373,27 @@ snapshots: - tsx - yaml + vite-node@3.0.8(@types/node@22.13.10)(terser@5.37.0)(tsx@4.19.3)(yaml@2.7.0): + dependencies: + cac: 6.7.14 + debug: 4.4.0 + es-module-lexer: 1.6.0 + pathe: 2.0.3 + vite: 6.1.0(@types/node@22.13.10)(terser@5.37.0)(tsx@4.19.3)(yaml@2.7.0) + transitivePeerDependencies: + - '@types/node' + - jiti + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + vite@6.1.0(@types/node@22.13.1)(terser@5.37.0)(yaml@2.7.0): dependencies: esbuild: 0.24.2 @@ -10635,6 +12405,18 @@ snapshots: terser: 5.37.0 yaml: 2.7.0 + vite@6.1.0(@types/node@22.13.10)(terser@5.37.0)(tsx@4.19.3)(yaml@2.7.0): + dependencies: + esbuild: 0.24.2 + postcss: 8.5.1 + rollup: 4.35.0 + optionalDependencies: + '@types/node': 22.13.10 + fsevents: 2.3.3 + terser: 5.37.0 + tsx: 4.19.3 + yaml: 2.7.0 + vitest@3.0.5(@types/debug@4.1.12)(@types/node@22.13.1)(terser@5.37.0)(yaml@2.7.0): dependencies: '@vitest/expect': 3.0.5 @@ -10674,6 +12456,45 @@ snapshots: - tsx - yaml + vitest@3.0.8(@types/debug@4.1.12)(@types/node@22.13.10)(terser@5.37.0)(tsx@4.19.3)(yaml@2.7.0): + dependencies: + '@vitest/expect': 3.0.8 + '@vitest/mocker': 3.0.8(vite@6.1.0(@types/node@22.13.10)(terser@5.37.0)(tsx@4.19.3)(yaml@2.7.0)) + '@vitest/pretty-format': 3.0.8 + '@vitest/runner': 3.0.8 + '@vitest/snapshot': 3.0.8 + '@vitest/spy': 3.0.8 + '@vitest/utils': 3.0.8 + chai: 5.2.0 + debug: 4.4.0 + expect-type: 1.1.0 + magic-string: 0.30.17 + pathe: 2.0.3 + std-env: 3.8.0 + tinybench: 2.9.0 + tinyexec: 0.3.2 + tinypool: 1.0.2 + tinyrainbow: 2.0.0 + vite: 6.1.0(@types/node@22.13.10)(terser@5.37.0)(tsx@4.19.3)(yaml@2.7.0) + vite-node: 3.0.8(@types/node@22.13.10)(terser@5.37.0)(tsx@4.19.3)(yaml@2.7.0) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/debug': 4.1.12 + '@types/node': 22.13.10 + transitivePeerDependencies: + - jiti + - less + - lightningcss + - msw + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + walk-up-path@3.0.1: {} walker@1.0.8: @@ -10689,6 +12510,10 @@ snapshots: dependencies: defaults: 1.0.4 + web-streams-polyfill@3.3.3: {} + + webidl-conversions@3.0.1: {} + webidl-conversions@4.0.2: {} webpack-cli@6.0.1(webpack@5.97.1): @@ -10756,6 +12581,11 @@ snapshots: - esbuild - uglify-js + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + whatwg-url@7.1.0: dependencies: lodash.sortby: 4.7.0 @@ -10820,6 +12650,10 @@ snapshots: siginfo: 2.0.0 stackback: 0.0.2 + wide-align@1.1.5: + dependencies: + string-width: 4.2.3 + wildcard@2.0.1: {} winston-transport@4.9.0: @@ -10928,7 +12762,7 @@ snapshots: yargs@17.7.2: dependencies: cliui: 8.0.1 - escalade: 3.1.2 + escalade: 3.2.0 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 @@ -10955,4 +12789,6 @@ snapshots: zod@3.24.1: {} + zod@3.24.2: {} + zwitch@2.0.4: {}