diff --git a/.vscode/launch.json b/.vscode/launch.json index 8187a32d84..feb3517f20 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -67,7 +67,7 @@ "SERVER_SECRET": "secret", "ENABLE_CONSOLE": "true", "COLLABORATOR_URL": "ws://localhost:3078", - "REKONI_URL": "http://localhost:4000", + "REKONI_URL": "http://localhost:4004", "FRONT_URL": "http://localhost:8080", "ACCOUNTS_URL": "http://localhost:3000", // "SERVER_PROVIDER":"uweb" @@ -221,13 +221,14 @@ "name": "Debug backup tool", "type": "node", "request": "launch", - "args": ["src/index.ts", "backup", "../../../dump/platform2", "platform"], + "args": ["src/__start.ts", "backup", "../temp/backup-test", "platform", "--force"], "env": { "MINIO_ACCESS_KEY": "minioadmin", "MINIO_SECRET_KEY": "minioadmin", "MINIO_ENDPOINT": "localhost", + "SERVER_SECRET": "secret", "MONGO_URL": "mongodb://localhost:27017", - "ACCOUNTS_URL": "localhost:3000", + "ACCOUNTS_URL": "http://localhost:3000", "TELEGRAM_DATABASE": "telegram-service", "ELASTIC_URL": "http://localhost:9200" }, @@ -254,7 +255,7 @@ "ACCOUNTS_URL": "http://localhost:3000", "TELEGRAM_DATABASE": "telegram-service", "ELASTIC_URL": "http://localhost:9200", - "REKONI_URL": "http://localhost:4000" + "REKONI_URL": "http://localhost:4004" }, "runtimeArgs": ["--nolazy", "-r", "ts-node/register"], "sourceMaps": true, diff --git a/common/config/rush/command-line.json b/common/config/rush/command-line.json index f6f4aa53b6..9aceab5975 100644 --- a/common/config/rush/command-line.json +++ b/common/config/rush/command-line.json @@ -303,7 +303,15 @@ "description": "Format and autofix linting issues in changed projects", "safeForSimultaneousRushProcesses": true, "shellCommand": "./common/scripts/each-diff.sh rushx format --force" - } + }, + { + "commandKind": "global", + "name": "desktop", + "summary": "Build desktop build", + "description": "use to build all docker containers required for platform", + "safeForSimultaneousRushProcesses": true, + "shellCommand": "rush package -p 20 --to desktop && cd ./desktop-package && rushx dist" + }, ], /** diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 8707f8ddc5..7e335295fa 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -58,7 +58,7 @@ dependencies: version: 1.41.2 '@rush-temp/account': specifier: file:./projects/account.tgz - version: file:projects/account.tgz(@types/node@20.11.19)(bufferutil@4.0.8)(esbuild@0.20.1)(ts-node@10.9.2)(utf-8-validate@6.0.4) + version: file:projects/account.tgz(@types/node@20.11.19)(esbuild@0.20.1)(ts-node@10.9.2) '@rush-temp/account-service': specifier: file:./projects/account-service.tgz version: file:projects/account-service.tgz @@ -92,9 +92,6 @@ dependencies: '@rush-temp/analytics-service': specifier: file:./projects/analytics-service.tgz version: file:projects/analytics-service.tgz(@types/node@20.11.19)(esbuild@0.20.1)(ts-node@10.9.2) - '@rush-temp/apm': - specifier: file:./projects/apm.tgz - version: file:projects/apm.tgz(ts-node@10.9.2) '@rush-temp/attachment': specifier: file:./projects/attachment.tgz version: file:projects/attachment.tgz(@types/node@20.11.19)(esbuild@0.20.1)(ts-node@10.9.2) @@ -586,7 +583,7 @@ dependencies: version: file:projects/pod-account.tgz '@rush-temp/pod-ai-bot': specifier: file:./projects/pod-ai-bot.tgz - version: file:projects/pod-ai-bot.tgz(bufferutil@4.0.8)(utf-8-validate@6.0.4)(zod@3.23.8) + version: file:projects/pod-ai-bot.tgz(zod@3.23.8) '@rush-temp/pod-analytics-collector': specifier: file:./projects/pod-analytics-collector.tgz version: file:projects/pod-analytics-collector.tgz(bufferutil@4.0.8)(utf-8-validate@6.0.4) @@ -595,7 +592,7 @@ dependencies: version: file:projects/pod-backup.tgz '@rush-temp/pod-calendar': specifier: file:./projects/pod-calendar.tgz - version: file:projects/pod-calendar.tgz(bufferutil@4.0.8)(ts-node@10.9.2)(utf-8-validate@6.0.4) + version: file:projects/pod-calendar.tgz(ts-node@10.9.2) '@rush-temp/pod-collaborator': specifier: file:./projects/pod-collaborator.tgz version: file:projects/pod-collaborator.tgz @@ -604,13 +601,13 @@ dependencies: version: file:projects/pod-front.tgz '@rush-temp/pod-github': specifier: file:./projects/pod-github.tgz - version: file:projects/pod-github.tgz(bufferutil@4.0.8)(utf-8-validate@6.0.4)(y-prosemirror@1.2.12) + version: file:projects/pod-github.tgz(y-prosemirror@1.2.12) '@rush-temp/pod-gmail': specifier: file:./projects/pod-gmail.tgz - version: file:projects/pod-gmail.tgz(bufferutil@4.0.8)(ts-node@10.9.2)(utf-8-validate@6.0.4) + version: file:projects/pod-gmail.tgz(ts-node@10.9.2) '@rush-temp/pod-love': specifier: file:./projects/pod-love.tgz - version: file:projects/pod-love.tgz(bufferutil@4.0.8)(utf-8-validate@6.0.4) + version: file:projects/pod-love.tgz '@rush-temp/pod-print': specifier: file:./projects/pod-print.tgz version: file:projects/pod-print.tgz(bufferutil@4.0.8)(utf-8-validate@6.0.4) @@ -622,13 +619,13 @@ dependencies: version: file:projects/pod-ses.tgz '@rush-temp/pod-sign': specifier: file:./projects/pod-sign.tgz - version: file:projects/pod-sign.tgz(bufferutil@4.0.8)(utf-8-validate@6.0.4) + version: file:projects/pod-sign.tgz '@rush-temp/pod-telegram': specifier: file:./projects/pod-telegram.tgz - version: file:projects/pod-telegram.tgz(bufferutil@4.0.8)(ts-node@10.9.2)(utf-8-validate@6.0.4) + version: file:projects/pod-telegram.tgz(ts-node@10.9.2) '@rush-temp/pod-telegram-bot': specifier: file:./projects/pod-telegram-bot.tgz - version: file:projects/pod-telegram-bot.tgz(bufferutil@4.0.8)(utf-8-validate@6.0.4) + version: file:projects/pod-telegram-bot.tgz '@rush-temp/pod-workspace': specifier: file:./projects/pod-workspace.tgz version: file:projects/pod-workspace.tgz @@ -904,7 +901,7 @@ dependencies: version: file:projects/server-token.tgz(esbuild@0.20.1)(ts-node@10.9.2) '@rush-temp/server-tool': specifier: file:./projects/server-tool.tgz - version: file:projects/server-tool.tgz(@types/node@20.11.19)(bufferutil@4.0.8)(esbuild@0.20.1)(ts-node@10.9.2)(utf-8-validate@6.0.4) + version: file:projects/server-tool.tgz(@types/node@20.11.19)(esbuild@0.20.1)(ts-node@10.9.2) '@rush-temp/server-tracker': specifier: file:./projects/server-tracker.tgz version: file:projects/server-tracker.tgz(esbuild@0.20.1)(ts-node@10.9.2) @@ -1406,9 +1403,6 @@ dependencies: commander: specifier: ^8.1.0 version: 8.3.0 - comment-json: - specifier: ^4.2.2 - version: 4.2.3 compression-webpack-plugin: specifier: ^10.0.0 version: 10.0.0(webpack@5.90.3) @@ -1469,18 +1463,15 @@ dependencies: effector: specifier: ~22.8.7 version: 22.8.8 - elastic-apm-node: - specifier: ~3.26.0 - version: 3.26.0 electron: - specifier: ^31.3.0 - version: 31.3.0 + specifier: ^32.1.1 + version: 32.1.1 electron-builder: - specifier: ^24.13.3 - version: 24.13.3 + specifier: ^25.0.5 + version: 25.0.5 electron-context-menu: - specifier: ^4.0.1 - version: 4.0.1 + specifier: ^4.0.4 + version: 4.0.4 electron-log: specifier: ^5.1.7 version: 5.1.7 @@ -1491,8 +1482,8 @@ dependencies: specifier: ^8.2.0 version: 8.2.0 electron-updater: - specifier: ^6.2.1 - version: 6.2.1 + specifier: ^6.3.4 + version: 6.3.4 electron-windows-badge: specifier: ^1.1.0 version: 1.1.0 @@ -1616,6 +1607,9 @@ dependencies: jimp: specifier: ^0.16.1 version: 0.16.13 + js-tiktoken: + specifier: ^1.0.14 + version: 1.0.14 js-yaml: specifier: ^4.1.0 version: 4.1.0 @@ -3996,17 +3990,6 @@ packages: - supports-color dev: false - /@electron/notarize@2.2.1: - resolution: {integrity: sha512-aL+bFMIkpR0cmmj5Zgy0LMKEpgy43/hw5zadEArgmAMWWlKc5buwFvFT9G/o/YJkvXAJm5q3iuTuLaiaXW39sg==} - engines: {node: '>= 10.0.0'} - dependencies: - debug: 4.3.5 - fs-extra: 9.1.0 - promise-retry: 2.0.1 - transitivePeerDependencies: - - supports-color - dev: false - /@electron/notarize@2.3.2: resolution: {integrity: sha512-zfayxCe19euNwRycCty1C7lF7snk9YwfRpB5M8GLr1a4ICH63znxaPNAubrMvj0yDvVozqfgsdYpXVUnpWBDpg==} engines: {node: '>= 10.0.0'} @@ -4018,8 +4001,8 @@ packages: - supports-color dev: false - /@electron/osx-sign@1.0.5: - resolution: {integrity: sha512-k9ZzUQtamSoweGQDV2jILiRIHUu7lYlJ3c6IEmjv1hC17rclE+eb9U+f6UFlOOETo0JzY1HNlXy4YOlCvl+Lww==} + /@electron/osx-sign@1.3.1: + resolution: {integrity: sha512-BAfviURMHpmb1Yb50YbCxnOY0wfwaLXH5KJ4+80zS0gUkzDX3ec23naTlEqKsN+PwYn+a1cCzM7BJ4Wcd3sGzw==} engines: {node: '>=12.0.0'} hasBin: true dependencies: @@ -4033,16 +4016,39 @@ packages: - supports-color dev: false - /@electron/universal@1.5.1: - resolution: {integrity: sha512-kbgXxyEauPJiQQUNG2VgUeyfQNFk6hBF11ISN2PNI6agUgPl55pv4eQmaqHzTAzchBvqZ2tQuRVaPStGf0mxGw==} - engines: {node: '>=8.6'} + /@electron/rebuild@3.6.0: + resolution: {integrity: sha512-zF4x3QupRU3uNGaP5X1wjpmcjfw1H87kyqZ00Tc3HvriV+4gmOGuvQjGNkrJuXdsApssdNyVwLsy+TaeTGGcVw==} + engines: {node: '>=12.13.0'} + hasBin: true + dependencies: + '@malept/cross-spawn-promise': 2.0.0 + chalk: 4.1.2 + debug: 4.3.5 + detect-libc: 2.0.2 + fs-extra: 10.1.0 + got: 11.8.6 + node-abi: 3.55.0 + node-api-version: 0.2.0 + node-gyp: 9.4.1 + ora: 5.4.1 + read-binary-file-arch: 1.0.6 + semver: 7.6.3 + tar: 6.2.0 + yargs: 17.7.2 + transitivePeerDependencies: + - supports-color + dev: false + + /@electron/universal@2.0.1: + resolution: {integrity: sha512-fKpv9kg4SPmt+hY7SVBnIYULE9QJl8L3sCfcBsnqbJwwBwAeTLokJ9TRt9y7bK0JAzIW2y78TVVjvnQEms/yyA==} + engines: {node: '>=16.4'} dependencies: '@electron/asar': 3.2.10 - '@malept/cross-spawn-promise': 1.1.1 + '@malept/cross-spawn-promise': 2.0.0 debug: 4.3.5 - dir-compare: 3.3.0 - fs-extra: 9.1.0 - minimatch: 3.1.2 + dir-compare: 4.2.0 + fs-extra: 11.2.0 + minimatch: 9.0.3 plist: 3.1.0 transitivePeerDependencies: - supports-color @@ -4793,6 +4799,10 @@ packages: tslib: 2.6.2 dev: false + /@gar/promisify@1.1.3: + resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} + dev: false + /@hocuspocus/common@2.11.2: resolution: {integrity: sha512-Ej3ehUYweYrlVArYdKe3grvEDO2wbjpy/IoZrtklHI4ydChLkXJCT6nTelM69dOtDG8IfX9WPIXiwwJF7CGNcA==} dependencies: @@ -5619,9 +5629,9 @@ packages: livekit-client: 2.2.0 dev: false - /@malept/cross-spawn-promise@1.1.1: - resolution: {integrity: sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==} - engines: {node: '>= 10'} + /@malept/cross-spawn-promise@2.0.0: + resolution: {integrity: sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==} + engines: {node: '>= 12.13.0'} dependencies: cross-spawn: 7.0.3 dev: false @@ -5745,6 +5755,23 @@ packages: fastq: 1.17.1 dev: false + /@npmcli/fs@2.1.2: + resolution: {integrity: sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + '@gar/promisify': 1.1.3 + semver: 7.6.3 + dev: false + + /@npmcli/move-file@2.0.1: + resolution: {integrity: sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This functionality has been moved to @npmcli/fs + dependencies: + mkdirp: 1.0.4 + rimraf: 3.0.2 + dev: false + /@octokit/app@14.1.0: resolution: {integrity: sha512-g3uEsGOQCBl1+W1rgfwoRFUIR6PtvB2T1E4RpygeUU5LrLvlOqcxrt5lfykIeRpUPpupreGJUYl70fqMDXdTpw==} engines: {node: '>= 18'} @@ -7672,7 +7699,7 @@ packages: prompts: 2.4.2 puppeteer-core: 2.1.1 read-pkg-up: 7.0.1 - semver: 7.6.0 + semver: 7.6.3 strip-json-comments: 3.1.1 tempy: 1.0.1 ts-dedent: 2.2.0 @@ -9365,7 +9392,7 @@ packages: requiresBuild: true dependencies: '@types/node': 20.11.19 - xmlbuilder: 11.0.1 + xmlbuilder: 15.1.1 dev: false optional: true @@ -9599,7 +9626,7 @@ packages: graphemer: 1.4.0 ignore: 5.3.1 natural-compare-lite: 1.4.0 - semver: 7.6.0 + semver: 7.6.3 tsutils: 3.21.0(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: @@ -10537,32 +10564,33 @@ packages: tslib: 1.14.1 dev: false - /app-builder-bin@4.0.0: - resolution: {integrity: sha512-xwdG0FJPQMe0M0UA4Tz0zEB8rBJTRA5a476ZawAqiBkMv16GRK5xpXThOjMaEOFnZ6zabejjG4J3da0SXG63KA==} + /app-builder-bin@5.0.0-alpha.7: + resolution: {integrity: sha512-ww2mK4ITUvqisnqOuUWAeHzokpPidyZ7a0ZkwW+V7sF5/Pdi2OldkRjAWqEzn6Xtmj3SLVT84as4wB59A6jJ4g==} dev: false - /app-builder-lib@24.13.3(dmg-builder@24.13.3): - resolution: {integrity: sha512-FAzX6IBit2POXYGnTCT8YHFO/lr5AapAII6zzhQO3Rw4cEDOgK+t1xhLc5tNcKlicTHlo9zxIwnYCX9X2DLkig==} + /app-builder-lib@25.0.5(dmg-builder@25.0.5): + resolution: {integrity: sha512-rxgxMx1f7I4ZAP0jA5+5iB7X6x6MJvGF7GauRzQBnIVihwXX2HOiAE7yenyY9Ry5YAiH47MnCxdq413Wq6XOcQ==} engines: {node: '>=14.0.0'} peerDependencies: - dmg-builder: 24.13.3 - electron-builder-squirrel-windows: 24.13.3 + dmg-builder: 25.0.5 + electron-builder-squirrel-windows: 25.0.5 dependencies: '@develar/schema-utils': 2.6.5 - '@electron/notarize': 2.2.1 - '@electron/osx-sign': 1.0.5 - '@electron/universal': 1.5.1 + '@electron/notarize': 2.3.2 + '@electron/osx-sign': 1.3.1 + '@electron/rebuild': 3.6.0 + '@electron/universal': 2.0.1 '@malept/flatpak-bundler': 0.4.0 '@types/fs-extra': 9.0.13 async-exit-hook: 2.0.1 bluebird-lst: 1.0.9 - builder-util: 24.13.1 - builder-util-runtime: 9.2.4 + builder-util: 25.0.3 + builder-util-runtime: 9.2.5 chromium-pickle-js: 0.2.0 - debug: 4.3.4 - dmg-builder: 24.13.3 + debug: 4.3.5 + dmg-builder: 25.0.5 ejs: 3.1.9 - electron-publish: 24.13.1 + electron-publish: 25.0.3 form-data: 4.0.0 fs-extra: 10.1.0 hosted-git-info: 4.1.0 @@ -10570,10 +10598,11 @@ packages: isbinaryfile: 5.0.2 js-yaml: 4.1.0 lazy-val: 1.0.5 - minimatch: 5.1.6 - read-config-file: 6.3.2 + minimatch: 10.0.1 + read-config-file: 6.4.0 + resedit: 1.7.1 sanitize-filename: 1.6.3 - semver: 7.6.0 + semver: 7.6.3 tar: 6.2.0 temp-file: 3.4.0 transitivePeerDependencies: @@ -10584,6 +10613,19 @@ packages: resolution: {integrity: sha512-jlpIfsOoNoafl92Sz//64uQHGSyMrD2vYG5d8o2a4qGvyNCvXur7bzIsWtAC/6flI2RYAp3kv8rsfBtaLm7w0g==} dev: false + /aproba@2.0.0: + resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} + dev: false + + /are-we-there-yet@3.0.1: + resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. + dependencies: + delegates: 1.0.0 + readable-stream: 3.6.2 + dev: false + /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: false @@ -10652,10 +10694,6 @@ packages: is-string: 1.0.7 dev: false - /array-timsort@1.0.3: - resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==} - dev: false - /array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} @@ -11332,11 +11370,6 @@ packages: engines: {node: '>=0.4.0'} dev: false - /buffer-equal@1.0.1: - resolution: {integrity: sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg==} - engines: {node: '>=0.4'} - dev: false - /buffer-fill@1.0.0: resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==} dev: false @@ -11392,27 +11425,27 @@ packages: node-gyp-build: 4.8.0 dev: false - /builder-util-runtime@9.2.4: - resolution: {integrity: sha512-upp+biKpN/XZMLim7aguUyW8s0FUpDvOtK6sbanMFDAMBzpHDqdhgVYm6zc9HJ6nWo7u2Lxk60i2M6Jd3aiNrA==} + /builder-util-runtime@9.2.5: + resolution: {integrity: sha512-HjIDfhvqx/8B3TDN4GbABQcgpewTU4LMRTQPkVpKYV3lsuxEJoIfvg09GyWTNmfVNSUAYf+fbTN//JX4TH20pg==} engines: {node: '>=12.0.0'} dependencies: - debug: 4.3.4 + debug: 4.3.5 sax: 1.3.0 transitivePeerDependencies: - supports-color dev: false - /builder-util@24.13.1: - resolution: {integrity: sha512-NhbCSIntruNDTOVI9fdXz0dihaqX2YuE1D6zZMrwiErzH4ELZHE6mdiB40wEgZNprDia+FghRFgKoAqMZRRjSA==} + /builder-util@25.0.3: + resolution: {integrity: sha512-eH5c1ukdY2xjtFQWQ6jlzEuXuqcuAVc3UQ6V6fdYu9Kg3CkDbCR82Mox42uaJDmee9WXSbP/88cOworFdOHPhw==} dependencies: 7zip-bin: 5.2.0 '@types/debug': 4.1.12 - app-builder-bin: 4.0.0 + app-builder-bin: 5.0.0-alpha.7 bluebird-lst: 1.0.9 - builder-util-runtime: 9.2.4 + builder-util-runtime: 9.2.5 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4 + debug: 4.3.5 fs-extra: 10.1.0 http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 @@ -11448,6 +11481,30 @@ packages: engines: {node: '>= 0.8'} dev: false + /cacache@16.1.3: + resolution: {integrity: sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + '@npmcli/fs': 2.1.2 + '@npmcli/move-file': 2.0.1 + chownr: 2.0.0 + fs-minipass: 2.1.0 + glob: 8.1.0 + infer-owner: 1.0.4 + lru-cache: 7.18.3 + minipass: 3.3.6 + minipass-collect: 1.0.2 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + mkdirp: 1.0.4 + p-map: 4.0.0 + promise-inflight: 1.0.1 + rimraf: 3.0.2 + ssri: 9.0.1 + tar: 6.2.0 + unique-filename: 2.0.1 + dev: false + /cache-content-type@1.0.1: resolution: {integrity: sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==} engines: {node: '>= 6.0.0'} @@ -11808,6 +11865,11 @@ packages: simple-swizzle: 0.2.2 dev: false + /color-support@1.1.3: + resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} + hasBin: true + dev: false + /color@3.2.1: resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} dependencies: @@ -11879,17 +11941,6 @@ packages: engines: {node: ^12.20.0 || >=14} dev: false - /comment-json@4.2.3: - resolution: {integrity: sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw==} - engines: {node: '>= 6'} - dependencies: - array-timsort: 1.0.3 - core-util-is: 1.0.3 - esprima: 4.0.1 - has-own-prop: 2.0.0 - repeat-string: 1.6.1 - dev: false - /common-path-prefix@3.0.0: resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} dev: false @@ -11968,11 +12019,11 @@ packages: semver: 7.6.3 dev: false - /config-file-ts@0.2.6: - resolution: {integrity: sha512-6boGVaglwblBgJqGyxm4+xCmEGcWgnWHSWHY5jad58awQhB6gftq0G8HbzU39YqCIYHMLAiL1yjwiZ36m/CL8w==} + /config-file-ts@0.2.8-rc1: + resolution: {integrity: sha512-GtNECbVI82bT4RiDIzBSVuTKoSHufnU7Ce7/42bkWZJZFLjmDF2WBpVsvRkhKCfKBnTBb3qZrBwPpFBU/Myvhg==} dependencies: - glob: 10.3.10 - typescript: 5.3.3 + glob: 10.4.5 + typescript: 5.6.2 dev: false /connect-history-api-fallback@2.0.0: @@ -11996,6 +12047,10 @@ packages: engines: {node: ^14.18.0 || >=16.10.0} dev: false + /console-control-strings@1.1.0: + resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} + dev: false + /console-log-level@1.4.1: resolution: {integrity: sha512-VZzbIORbP+PPcN/gg3DXClTLPLg5Slwd5fL2MIc+o1qZ4BXBvWyc6QxPk6T/Mkr6IVjRpoAGf32XxP3ZWMVRcQ==} dev: false @@ -12756,11 +12811,11 @@ packages: resolution: {integrity: sha512-98l0sW87ZT58pU4i61wa2OHwxbiYSbuxsCBozaVnYX2iCnr3bLM3fIes1/ej7h1YdOKuKt/MLs706TVnALA65w==} dev: false - /dir-compare@3.3.0: - resolution: {integrity: sha512-J7/et3WlGUCxjdnD3HAAzQ6nsnc0WL6DD7WcwJb7c39iH1+AWfg+9OqzJNaI6PkBwBvm1mhZNL9iY/nRiZXlPg==} + /dir-compare@4.2.0: + resolution: {integrity: sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ==} dependencies: - buffer-equal: 1.0.1 minimatch: 3.1.2 + p-limit: 3.1.0 dev: false /dir-glob@3.0.1: @@ -12770,12 +12825,12 @@ packages: path-type: 4.0.0 dev: false - /dmg-builder@24.13.3: - resolution: {integrity: sha512-rcJUkMfnJpfCboZoOOPf4L29TRtEieHNOeAbYPWPxlaBw/Z1RKrRA86dOI9rwaI4tQSc/RD82zTNHprfUHXsoQ==} + /dmg-builder@25.0.5: + resolution: {integrity: sha512-ocnZV44ZqInoSFaY54fF7BlCtw+WtbrjyPrkBhaB+Ztn7GPKjmFgRbIKytifJ8h9Cib8jdFRMgjCUtkU45Y6DA==} dependencies: - app-builder-lib: 24.13.3(dmg-builder@24.13.3) - builder-util: 24.13.1 - builder-util-runtime: 9.2.4 + app-builder-lib: 25.0.5(dmg-builder@25.0.5) + builder-util: 25.0.3 + builder-util-runtime: 9.2.5 fs-extra: 10.1.0 iconv-lite: 0.6.3 js-yaml: 4.1.0 @@ -12981,8 +13036,11 @@ packages: engines: {node: '>=12'} dev: false - /dotenv-expand@5.1.0: - resolution: {integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==} + /dotenv-expand@11.0.6: + resolution: {integrity: sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g==} + engines: {node: '>=12'} + dependencies: + dotenv: 16.4.5 dev: false /dotenv-webpack@8.0.1(webpack@5.90.3): @@ -13000,13 +13058,13 @@ packages: engines: {node: '>=12'} dev: false - /dotenv@8.6.0: - resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} - engines: {node: '>=10'} + /dotenv@16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} dev: false - /dotenv@9.0.2: - resolution: {integrity: sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg==} + /dotenv@8.6.0: + resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} engines: {node: '>=10'} dev: false @@ -13118,20 +13176,20 @@ packages: - supports-color dev: false - /electron-builder@24.13.3: - resolution: {integrity: sha512-yZSgVHft5dNVlo31qmJAe4BVKQfFdwpRw7sFp1iQglDRCDD6r22zfRJuZlhtB5gp9FHUxCMEoWGq10SkCnMAIg==} + /electron-builder@25.0.5: + resolution: {integrity: sha512-Uj5LFRbUqNiVajsgqcwlKe+CHtwubK3hcoJsW5C2YiWodej2mmxM+LrTqga0rrWWHVMNmrcmGcS/WHpKwy6KEw==} engines: {node: '>=14.0.0'} hasBin: true dependencies: - app-builder-lib: 24.13.3(dmg-builder@24.13.3) - builder-util: 24.13.1 - builder-util-runtime: 9.2.4 + app-builder-lib: 25.0.5(dmg-builder@25.0.5) + builder-util: 25.0.3 + builder-util-runtime: 9.2.5 chalk: 4.1.2 - dmg-builder: 24.13.3 + dmg-builder: 25.0.5 fs-extra: 10.1.0 is-ci: 3.0.1 lazy-val: 1.0.5 - read-config-file: 6.3.2 + read-config-file: 6.4.0 simple-update-notifier: 2.0.0 yargs: 17.7.2 transitivePeerDependencies: @@ -13139,8 +13197,8 @@ packages: - supports-color dev: false - /electron-context-menu@4.0.1: - resolution: {integrity: sha512-tPRzsIK48gm+DDP4FLJeocrFg1rJBH7ZgQx3j4ebt5d6euM2ERAB8pdBmKyhHy7na/BiZfrw4ASMq97oVwQXgw==} + /electron-context-menu@4.0.4: + resolution: {integrity: sha512-XPGj35npL8+MG9Lx5ukmK/h8KLmjYJ3e1GvwWKrNZvf2ocv746WXIyltoV1yWtkEPT7g2kQ8hFmu0ZupK5KieA==} engines: {node: '>=18'} dependencies: cli-truncate: 4.0.0 @@ -13167,12 +13225,12 @@ packages: engines: {node: '>= 14'} dev: false - /electron-publish@24.13.1: - resolution: {integrity: sha512-2ZgdEqJ8e9D17Hwp5LEq5mLQPjqU3lv/IALvgp+4W8VeNhryfGhYEQC/PgDPMrnWUp+l60Ou5SJLsu+k4mhQ8A==} + /electron-publish@25.0.3: + resolution: {integrity: sha512-wSGm+TFK2lArswIFBPLuIRHbo945s3MCvG5y1xVC57zL/PsrElUkaGH2ERtRrcKNpaDNq77rDA9JnMJhAFJjUg==} dependencies: '@types/fs-extra': 9.0.13 - builder-util: 24.13.1 - builder-util-runtime: 9.2.4 + builder-util: 25.0.3 + builder-util-runtime: 9.2.5 chalk: 4.1.2 fs-extra: 10.1.0 lazy-val: 1.0.5 @@ -13198,16 +13256,16 @@ packages: resolution: {integrity: sha512-R1CccCDYqndR25CaXFd6hp/u9RaaMcftMkphmvuepXr5b1vfLkRml6aWVeBhXJ7rbevHkKEMJtz8XqPf7ffmew==} dev: false - /electron-updater@6.2.1: - resolution: {integrity: sha512-83eKIPW14qwZqUUM6wdsIRwVKZyjmHxQ4/8G+1C6iS5PdDt7b1umYQyj1/qPpH510GmHEQe4q0kCPe3qmb3a0Q==} + /electron-updater@6.3.4: + resolution: {integrity: sha512-uZUo7p1Y53G4tl6Cgw07X1yF8Jlz6zhaL7CQJDZ1fVVkOaBfE2cWtx80avwDVi8jHp+I/FWawrMgTAeCCNIfAg==} dependencies: - builder-util-runtime: 9.2.4 + builder-util-runtime: 9.2.5 fs-extra: 10.1.0 js-yaml: 4.1.0 lazy-val: 1.0.5 lodash.escaperegexp: 4.1.2 lodash.isequal: 4.5.0 - semver: 7.6.0 + semver: 7.6.3 tiny-typed-emitter: 2.1.0 transitivePeerDependencies: - supports-color @@ -13217,8 +13275,8 @@ packages: resolution: {integrity: sha512-hWFbUk9u3fQHcKzTAcjZAN7XH9bL9oH9g20RRDU/DVDNqdMI03GzlBZfR/R8R1krYu9AT4biLqSCAxnt9LMAfA==} dev: false - /electron@31.3.0: - resolution: {integrity: sha512-3LMRMmK4UK0A+jYSLGLYdfhc20TgY2v5jD3iGmhRZlDYj0gn7xBj/waRjlNalysZ0D2rgPvoes0wHuf5e/Bguw==} + /electron@32.1.1: + resolution: {integrity: sha512-NlWvG6kXOJbZbELmzP3oV7u50I3NHYbCeh+AkUQ9vGyP7b74cFMx9HdTzejODeztW1jhr3SjIBbUZzZ45zflfQ==} engines: {node: '>= 12.20.55'} hasBin: true requiresBuild: true @@ -13277,6 +13335,14 @@ packages: dev: false optional: true + /encoding@0.1.13: + resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} + requiresBuild: true + dependencies: + iconv-lite: 0.6.3 + dev: false + optional: true + /end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: @@ -14364,6 +14430,10 @@ packages: jest-util: 29.7.0 dev: false + /exponential-backoff@3.1.1: + resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} + dev: false + /express-fileupload@1.5.1: resolution: {integrity: sha512-LsYG1ALXEB7vlmjuSw8ABeOctMp8a31aUC5ZF55zuz7O2jLFnmJYrCv10py357ky48aEoBQ/9bVXgFynjvaPmA==} engines: {node: '>=12.0.0'} @@ -15038,6 +15108,21 @@ packages: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} dev: false + /gauge@4.0.4: + resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. + dependencies: + aproba: 2.0.0 + color-support: 1.1.3 + console-control-strings: 1.1.0 + has-unicode: 2.0.1 + signal-exit: 3.0.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wide-align: 1.1.5 + dev: false + /gaxios@5.1.3: resolution: {integrity: sha512-95hVgBRgEIRQQQHIbnxBXeHbW4TqFk4ZDJW7wmVtvYar72FdhRIo1UGOLS2eRAKCPEdPBWu+M7+A33D9CdX9rA==} engines: {node: '>=12'} @@ -15231,6 +15316,18 @@ packages: path-scurry: 1.10.1 dev: false + /glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + dependencies: + foreground-child: 3.1.1 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.0 + path-scurry: 1.11.1 + dev: false + /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: @@ -15242,6 +15339,18 @@ packages: path-is-absolute: 1.0.1 dev: false + /glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + deprecated: Glob versions prior to v9 are no longer supported + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + dev: false + /global-agent@3.0.0: resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} engines: {node: '>=10.0'} @@ -15506,11 +15615,6 @@ packages: engines: {node: '>=8'} dev: false - /has-own-prop@2.0.0: - resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==} - engines: {node: '>=8'} - dev: false - /has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} dependencies: @@ -15534,6 +15638,10 @@ packages: has-symbols: 1.0.3 dev: false + /has-unicode@2.0.1: + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} + dev: false + /hasown@2.0.1: resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} engines: {node: '>= 0.4'} @@ -16000,6 +16108,10 @@ packages: engines: {node: '>=8'} dev: false + /infer-owner@1.0.4: + resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} + dev: false + /inflation@2.1.0: resolution: {integrity: sha512-t54PPJHG1Pp7VQvxyVCJ9mBbjG3Hqryges9bXoOO6GExCPa+//i/d5GSuFtpx3ALLd7lgIAur6zrIlBQyJuMlQ==} engines: {node: '>= 0.8.0'} @@ -16260,6 +16372,10 @@ packages: engines: {node: '>=8'} dev: false + /is-lambda@1.0.1: + resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} + dev: false + /is-map@2.0.2: resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} dev: false @@ -16585,6 +16701,14 @@ packages: '@pkgjs/parseargs': 0.11.0 dev: false + /jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + dev: false + /jake@10.8.7: resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==} engines: {node: '>=10'} @@ -18020,6 +18144,30 @@ packages: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} dev: false + /make-fetch-happen@10.2.1: + resolution: {integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + agentkeepalive: 4.5.0 + cacache: 16.1.3 + http-cache-semantics: 4.1.1 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + is-lambda: 1.0.1 + lru-cache: 7.18.3 + minipass: 3.3.6 + minipass-collect: 1.0.2 + minipass-fetch: 2.1.2 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + negotiator: 0.6.3 + promise-retry: 2.0.1 + socks-proxy-agent: 7.0.0 + ssri: 9.0.1 + transitivePeerDependencies: + - supports-color + dev: false + /makeerror@1.0.12: resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} dependencies: @@ -18281,6 +18429,13 @@ packages: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} dev: false + /minimatch@10.0.1: + resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} + engines: {node: 20 || >=22} + dependencies: + brace-expansion: 2.0.1 + dev: false + /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: @@ -18301,6 +18456,13 @@ packages: brace-expansion: 2.0.1 dev: false + /minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: false + /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} dev: false @@ -18325,6 +18487,45 @@ packages: xml2js: 0.5.0 dev: false + /minipass-collect@1.0.2: + resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} + engines: {node: '>= 8'} + dependencies: + minipass: 3.3.6 + dev: false + + /minipass-fetch@2.1.2: + resolution: {integrity: sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + minipass: 3.3.6 + minipass-sized: 1.0.3 + minizlib: 2.1.2 + optionalDependencies: + encoding: 0.1.13 + dev: false + + /minipass-flush@1.0.5: + resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} + engines: {node: '>= 8'} + dependencies: + minipass: 3.3.6 + dev: false + + /minipass-pipeline@1.2.4: + resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} + engines: {node: '>=8'} + dependencies: + minipass: 3.3.6 + dev: false + + /minipass-sized@1.0.3: + resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} + engines: {node: '>=8'} + dependencies: + minipass: 3.3.6 + dev: false + /minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} @@ -18342,6 +18543,11 @@ packages: engines: {node: '>=16 || 14 >=14.17'} dev: false + /minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + dev: false + /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} @@ -18651,6 +18857,12 @@ packages: resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} dev: false + /node-api-version@0.2.0: + resolution: {integrity: sha512-fthTTsi8CxaBXMaBAD7ST2uylwvsnYxh2PfaScwpMhos6KlSFajXQPcM4ogNE1q2s3Lbz9GCGqeIHC+C6OZnKg==} + dependencies: + semver: 7.6.3 + dev: false + /node-dir@0.1.17: resolution: {integrity: sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==} engines: {node: '>= 0.10.5'} @@ -18703,6 +18915,26 @@ packages: hasBin: true dev: false + /node-gyp@9.4.1: + resolution: {integrity: sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ==} + engines: {node: ^12.13 || ^14.13 || >=16} + hasBin: true + dependencies: + env-paths: 2.2.1 + exponential-backoff: 3.1.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + make-fetch-happen: 10.2.1 + nopt: 6.0.0 + npmlog: 6.0.2 + rimraf: 3.0.2 + semver: 7.6.3 + tar: 6.2.0 + which: 2.0.2 + transitivePeerDependencies: + - supports-color + dev: false + /node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} dev: false @@ -18735,6 +18967,14 @@ packages: abbrev: 1.1.1 dev: false + /nopt@6.0.0: + resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + hasBin: true + dependencies: + abbrev: 1.1.1 + dev: false + /normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: @@ -18780,6 +19020,17 @@ packages: path-key: 4.0.0 dev: false + /npmlog@6.0.2: + resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. + dependencies: + are-we-there-yet: 3.0.1 + console-control-strings: 1.1.0 + gauge: 4.0.4 + set-blocking: 2.0.0 + dev: false + /nth-check@1.0.2: resolution: {integrity: sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==} dependencies: @@ -19246,6 +19497,10 @@ packages: netmask: 2.0.2 dev: false + /package-json-from-dist@1.0.0: + resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} + dev: false + /pako@0.2.9: resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} dev: false @@ -19431,6 +19686,14 @@ packages: minipass: 7.0.4 dev: false + /path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + dependencies: + lru-cache: 10.2.0 + minipass: 7.1.2 + dev: false + /path-to-regexp@0.1.7: resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} dev: false @@ -19470,6 +19733,11 @@ packages: optional: true dev: false + /pe-library@0.4.1: + resolution: {integrity: sha512-eRWB5LBz7PpDu4PUlwT0PhnQfTQJlDDdPa35urV4Osrm0t0AqQFGn+UIkU3klZvwJ8KPO3VbBFsXquA6p6kqZw==} + engines: {node: '>=12', npm: '>=6'} + dev: false + /peberminta@0.9.0: resolution: {integrity: sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==} dev: false @@ -20041,6 +20309,10 @@ packages: engines: {node: '>=0.4.0'} dev: false + /promise-inflight@1.0.1: + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} + dev: false + /promise-retry@2.0.1: resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} engines: {node: '>=10'} @@ -20242,7 +20514,7 @@ packages: agent-base: 7.1.1 debug: 4.3.5 http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.4 + https-proxy-agent: 7.0.5 lru-cache: 7.18.3 pac-proxy-agent: 7.0.2 proxy-from-env: 1.1.0 @@ -20564,13 +20836,22 @@ packages: loose-envify: 1.4.0 dev: false - /read-config-file@6.3.2: - resolution: {integrity: sha512-M80lpCjnE6Wt6zb98DoW8WHR09nzMSpu8XHtPkiTHrJ5Az9CybfeQhTJ8D7saeBHpGhLPIVyA8lcL6ZmdKwY6Q==} + /read-binary-file-arch@1.0.6: + resolution: {integrity: sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg==} + hasBin: true + dependencies: + debug: 4.3.5 + transitivePeerDependencies: + - supports-color + dev: false + + /read-config-file@6.4.0: + resolution: {integrity: sha512-uB5QOBeF84PT61GlV11OTV4jUGHAO3iDEOP6v9ygxhG6Bs9PLg7WsjNT6mtIX2G+x8lJTr4ZWNeG6LDTKkNf2Q==} engines: {node: '>=12.0.0'} dependencies: - config-file-ts: 0.2.6 - dotenv: 9.0.2 - dotenv-expand: 5.1.0 + config-file-ts: 0.2.8-rc1 + dotenv: 16.4.5 + dotenv-expand: 11.0.6 js-yaml: 4.1.0 json5: 2.2.3 lazy-val: 1.0.5 @@ -20769,11 +21050,6 @@ packages: strip-ansi: 6.0.1 dev: false - /repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - dev: false - /require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -20803,6 +21079,13 @@ packages: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} dev: false + /resedit@1.7.1: + resolution: {integrity: sha512-/FJ6/gKAXbcHtivannhecWsa43kGVFK3aHHv9Jm3x0eFiM31MoGihkAOWbm3UsvjYLRVw0zTkfARy2dI96JL1Q==} + engines: {node: '>=12', npm: '>=6'} + dependencies: + pe-library: 0.4.1 + dev: false + /resolve-alpn@1.2.1: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} dev: false @@ -21383,7 +21666,7 @@ packages: resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==} engines: {node: '>=10'} dependencies: - semver: 7.6.0 + semver: 7.6.3 dev: false /simplytyped@3.3.0(typescript@5.3.3): @@ -21475,6 +21758,17 @@ packages: websocket-driver: 0.7.4 dev: false + /socks-proxy-agent@7.0.0: + resolution: {integrity: sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==} + engines: {node: '>= 10'} + dependencies: + agent-base: 6.0.2 + debug: 4.3.5 + socks: 2.8.3 + transitivePeerDependencies: + - supports-color + dev: false + /socks-proxy-agent@8.0.4: resolution: {integrity: sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==} engines: {node: '>= 14'} @@ -21638,6 +21932,13 @@ packages: resolution: {integrity: sha512-IpCr2tpnNkP3Jera4ncexsZUp0enJBLr+pHCyTweMUBrbJsTgQeLWx1FXLhoBj/MvcnUQpkgOn2EY8FKOkUzww==} dev: false + /ssri@9.0.1: + resolution: {integrity: sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + minipass: 3.3.6 + dev: false + /stable@0.1.8: resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' @@ -22042,7 +22343,7 @@ packages: methods: 1.1.2 mime: 2.6.0 qs: 6.11.2 - semver: 7.6.0 + semver: 7.6.3 transitivePeerDependencies: - supports-color dev: false @@ -23054,6 +23355,12 @@ packages: hasBin: true dev: false + /typescript@5.6.2: + resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==} + engines: {node: '>=14.17'} + hasBin: true + dev: false + /uc.micro@2.0.0: resolution: {integrity: sha512-DffL94LsNOccVn4hyfRe5rdKa273swqeA5DJpMOeFmEn1wCDc7nAbbB0gXlgBCL7TNzeTv6G7XVWzan7iJtfig==} dev: false @@ -23139,6 +23446,20 @@ packages: resolution: {integrity: sha512-36Xaw9wXi7MB/3/EQZZHkZyyiRNa9i3k9YtPAz2KfqMVH2xutdXyMHn4Igarmnvr+wOrfWa/6njhY+jPpXN2EQ==} dev: false + /unique-filename@2.0.1: + resolution: {integrity: sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + unique-slug: 3.0.0 + dev: false + + /unique-slug@3.0.0: + resolution: {integrity: sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + imurmurhash: 0.1.4 + dev: false + /unique-string@2.0.0: resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} engines: {node: '>=8'} @@ -23920,6 +24241,12 @@ packages: isexe: 2.0.0 dev: false + /wide-align@1.1.5: + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + dependencies: + string-width: 4.2.3 + dev: false + /wildcard@1.1.2: resolution: {integrity: sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng==} dev: false @@ -24379,8 +24706,8 @@ packages: - supports-color dev: false - file:projects/account.tgz(@types/node@20.11.19)(bufferutil@4.0.8)(esbuild@0.20.1)(ts-node@10.9.2)(utf-8-validate@6.0.4): - resolution: {integrity: sha512-sEHRVls95wOjTM2vjmYddoKb4ZADPH+hM73ieICjebrBzdQeu41+2YjQMrUhpkd04Q1VtOHtvBx2uQgeWWetDw==, tarball: file:projects/account.tgz} + file:projects/account.tgz(@types/node@20.11.19)(esbuild@0.20.1)(ts-node@10.9.2): + resolution: {integrity: sha512-xbpJsUH/Pjpwa4zvN+sRKBtfdYs9gpknTy5lHBTMJ+WQpnM2RX1ThvX/KhV4LB6uO8LHbcoUT+PybCEdSJIKXA==, tarball: file:projects/account.tgz} id: file:projects/account.tgz name: '@rush-temp/account' version: 0.0.0 @@ -24403,7 +24730,6 @@ packages: prettier: 3.2.5 ts-jest: 29.1.2(esbuild@0.20.1)(jest@29.7.0)(typescript@5.3.3) typescript: 5.3.3 - ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) transitivePeerDependencies: - '@aws-sdk/credential-providers' - '@babel/core' @@ -24412,7 +24738,6 @@ packages: - '@types/node' - babel-jest - babel-plugin-macros - - bufferutil - encoding - esbuild - gcp-metadata @@ -24423,7 +24748,6 @@ packages: - socks - supports-color - ts-node - - utf-8-validate dev: false file:projects/activity-assets.tgz(esbuild@0.20.1)(ts-node@10.9.2): @@ -24787,39 +25111,6 @@ packages: - ts-node dev: false - file:projects/apm.tgz(ts-node@10.9.2): - resolution: {integrity: sha512-UNrX18/hLQu6Ue2K8yWMvLw4OFJNS6q6JbFYAve+6NSZ3Txxyaq7kvgWTwGhFitWyVcmrtuuAA9rWPyGOuehXg==, tarball: file:projects/apm.tgz} - id: file:projects/apm.tgz - name: '@rush-temp/apm' - version: 0.0.0 - dependencies: - '@types/jest': 29.5.12 - '@types/node': 20.11.19 - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3) - commander: 8.3.0 - comment-json: 4.2.3 - esbuild: 0.20.1 - eslint: 8.56.0 - eslint-config-standard-with-typescript: 40.0.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint-plugin-import@2.29.1)(eslint-plugin-n@15.7.0)(eslint-plugin-promise@6.1.1)(eslint@8.56.0)(typescript@5.3.3) - eslint-plugin-import: 2.29.1(eslint@8.56.0) - eslint-plugin-n: 15.7.0(eslint@8.56.0) - eslint-plugin-promise: 6.1.1(eslint@8.56.0) - jest: 29.7.0(@types/node@20.11.19)(ts-node@10.9.2) - prettier: 3.2.5 - prettier-plugin-svelte: 3.2.1(prettier@3.2.5)(svelte@4.2.11) - ts-jest: 29.1.2(esbuild@0.20.1)(jest@29.7.0)(typescript@5.3.3) - typescript: 5.3.3 - transitivePeerDependencies: - - '@babel/core' - - '@jest/types' - - babel-jest - - babel-plugin-macros - - node-notifier - - supports-color - - ts-node - dev: false - file:projects/attachment-assets.tgz(esbuild@0.20.1)(ts-node@10.9.2): resolution: {integrity: sha512-C4ZvrB9y7H0bh1vbkqmKw9tIrwFAHUG7P6kPI+tjRPRKQNGAn61eiVSTpM8BCGNY/mFC5b+uMy0us0UaqvPy+A==, tarball: file:projects/attachment-assets.tgz} id: file:projects/attachment-assets.tgz @@ -25940,7 +26231,7 @@ packages: dev: false file:projects/desktop-1.tgz(webpack@5.90.3): - resolution: {integrity: sha512-Fkk5uNa4NwlCVU5yJUf4X3FcGljXj0qUH7iyoCEAk8EKQ/Mi3OfG/KqK03kEeuM1KP8T1CtArtUhWDsM66/AFQ==, tarball: file:projects/desktop-1.tgz} + resolution: {integrity: sha512-rM1wKc4Rbw16Ur7VwAOQY55uUSOH1W6671Mhi5GKYwm93dofY7SSkNg83QD+Rt1w8SSckoKG7ScH11JYypDXNw==, tarball: file:projects/desktop-1.tgz} id: file:projects/desktop-1.tgz name: '@rush-temp/desktop-1' version: 0.0.0 @@ -25950,8 +26241,8 @@ packages: '@vercel/webpack-asset-relocator-loader': 1.7.4 cross-env: 7.0.3 dotenv: 16.0.3 - electron: 31.3.0 - electron-builder: 24.13.3 + electron: 32.1.1 + electron-builder: 25.0.5 electron-squirrel-startup: 1.0.1 node-loader: 2.0.0(webpack@5.90.3) typescript: 5.3.3 @@ -26067,12 +26358,13 @@ packages: dev: false file:projects/desktop.tgz(bufferutil@4.0.8)(sass@1.71.1)(utf-8-validate@6.0.4): - resolution: {integrity: sha512-y8p1AOK7K4z/Y7hzkEy4MfAc3JNlLrR+54QYdqAmzCzF7NtuM4x9YeB7oQTmQfKYSmZHXJb4++pJ0+AFONIXSQ==, tarball: file:projects/desktop.tgz} + resolution: {integrity: sha512-bAR3xXsPX0SRBzBNKHnhr4KdUZibYwt2pOQBKp1pcybJXnw9pwv8A7S6wYWgaG6o091zASbDD/EGvxOqZ/bdSQ==, tarball: file:projects/desktop.tgz} id: file:projects/desktop.tgz name: '@rush-temp/desktop' version: 0.0.0 dependencies: '@types/node': 20.11.19 + '@types/ws': 8.5.11 '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3) '@vercel/webpack-asset-relocator-loader': 1.7.4 @@ -26085,12 +26377,12 @@ packages: css-loader: 5.2.7(webpack@5.90.3) dotenv: 16.0.3 dotenv-webpack: 8.0.1(webpack@5.90.3) - electron: 31.3.0 - electron-context-menu: 4.0.1 + electron: 32.1.1 + electron-context-menu: 4.0.4 electron-log: 5.1.7 electron-squirrel-startup: 1.0.1 electron-store: 8.2.0 - electron-updater: 6.2.1 + electron-updater: 6.3.4 electron-windows-badge: 1.1.0 esbuild: 0.20.1 esbuild-loader: 4.0.3(webpack@5.90.3) @@ -26124,6 +26416,7 @@ packages: webpack-bundle-analyzer: 4.10.1(bufferutil@4.0.8)(utf-8-validate@6.0.4) webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.1)(webpack-dev-server@4.15.1)(webpack@5.90.3) webpack-dev-server: 4.15.1(bufferutil@4.0.8)(utf-8-validate@6.0.4)(webpack-cli@5.1.4)(webpack@5.90.3) + ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) transitivePeerDependencies: - '@babel/core' - '@rspack/core' @@ -29576,8 +29869,8 @@ packages: - supports-color dev: false - file:projects/pod-ai-bot.tgz(bufferutil@4.0.8)(utf-8-validate@6.0.4)(zod@3.23.8): - resolution: {integrity: sha512-hQkngAuFcwYMmIcVKDLMD0UnbZf3JuuXVVoWGG1w/7quPWksjcce8LX6hNrShCzN/+5LkpZVzNz8PAEHdX1M8A==, tarball: file:projects/pod-ai-bot.tgz} + file:projects/pod-ai-bot.tgz(zod@3.23.8): + resolution: {integrity: sha512-kPcCQirdtGvbT1XFDZAMNqR+GNY59X5xEImHHlR/K174DU4AHcu5L7eCzag7sSL2bCWfRjx7KDnV6B2Uo547tA==, tarball: file:projects/pod-ai-bot.tgz} id: file:projects/pod-ai-bot.tgz name: '@rush-temp/pod-ai-bot' version: 0.0.0 @@ -29609,12 +29902,9 @@ packages: node-fetch: 2.7.0 openai: 4.56.0(zod@3.23.8) prettier: 3.2.5 - puppeteer: 22.14.0(bufferutil@4.0.8)(typescript@5.3.3)(utf-8-validate@6.0.4) - tiktoken: 1.0.16 ts-jest: 29.1.2(esbuild@0.20.1)(jest@29.7.0)(typescript@5.3.3) ts-node: 10.9.2(@types/node@20.11.19)(typescript@5.3.3) typescript: 5.3.3 - ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) transitivePeerDependencies: - '@aws-sdk/credential-providers' - '@babel/core' @@ -29624,7 +29914,6 @@ packages: - '@swc/wasm' - babel-jest - babel-plugin-macros - - bufferutil - encoding - gcp-metadata - kerberos @@ -29633,12 +29922,11 @@ packages: - snappy - socks - supports-color - - utf-8-validate - zod dev: false file:projects/pod-analytics-collector.tgz(bufferutil@4.0.8)(utf-8-validate@6.0.4): - resolution: {integrity: sha512-lwu1owtUXY2YQrV5oeAbjx4yYOiX7qGKsr6Jj1dXtXzupoMGdL9RYQXwatDJCQcBuE9XegmcVmPQQfSz+a0x5g==, tarball: file:projects/pod-analytics-collector.tgz} + resolution: {integrity: sha512-8ebAMdehTmYR0qWGciuHW9SeBQWsVKUd471PFwKBn3rEN0gzMkrP477hlQtxKrkG4h6or9OFUkJtcs+EHwGkUw==, tarball: file:projects/pod-analytics-collector.tgz} id: file:projects/pod-analytics-collector.tgz name: '@rush-temp/pod-analytics-collector' version: 0.0.0 @@ -29725,8 +30013,8 @@ packages: - supports-color dev: false - file:projects/pod-calendar.tgz(bufferutil@4.0.8)(ts-node@10.9.2)(utf-8-validate@6.0.4): - resolution: {integrity: sha512-XUGpIUp1qokoJXVLf9iKTUfYErDmObsJHDe7kTXQwe3k4qkcsGtXfnhrzuOerQZ6OM+oFxqasadS9fplTc6VrQ==, tarball: file:projects/pod-calendar.tgz} + file:projects/pod-calendar.tgz(ts-node@10.9.2): + resolution: {integrity: sha512-MOOCzLEVv8ASORjvWEVbvdEyPZgzZgN59vvDZG1bytMp36+mAmoU0jMZvGJFj42RHZfzc/IjS1FBAIIgrAm+eA==, tarball: file:projects/pod-calendar.tgz} id: file:projects/pod-calendar.tgz name: '@rush-temp/pod-calendar' version: 0.0.0 @@ -29736,7 +30024,6 @@ packages: '@types/express': 4.17.21 '@types/jest': 29.5.12 '@types/node': 20.11.19 - '@types/node-fetch': 2.6.11 '@types/ws': 8.5.11 '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3) @@ -29752,18 +30039,15 @@ packages: express: 4.19.2 fast-equals: 5.0.1 file-api: 0.10.4 - form-data: 4.0.0 google-auth-library: 8.9.0 googleapis: 122.0.0 jest: 29.7.0(@types/node@20.11.19)(ts-node@10.9.2) jwt-simple: 0.5.6 mongodb: 6.9.0 - node-fetch: 2.7.0 prettier: 3.2.5 ts-jest: 29.1.2(esbuild@0.20.1)(jest@29.7.0)(typescript@5.3.3) ts-node-dev: 2.0.0(@types/node@20.11.19)(typescript@5.3.3) typescript: 5.3.3 - ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) transitivePeerDependencies: - '@aws-sdk/credential-providers' - '@babel/core' @@ -29773,7 +30057,6 @@ packages: - '@swc/wasm' - babel-jest - babel-plugin-macros - - bufferutil - encoding - gcp-metadata - kerberos @@ -29783,7 +30066,6 @@ packages: - socks - supports-color - ts-node - - utf-8-validate dev: false file:projects/pod-collaborator.tgz: @@ -29866,8 +30148,8 @@ packages: - supports-color dev: false - file:projects/pod-github.tgz(bufferutil@4.0.8)(utf-8-validate@6.0.4)(y-prosemirror@1.2.12): - resolution: {integrity: sha512-eyMBtVIlmdGMh+T89SuihlOHLsLA6czYiSY5SiZ06YL+VOb/TrBiluqvbWyMWUThZ1gFQCpUH/jm+0nkDUZg+Q==, tarball: file:projects/pod-github.tgz} + file:projects/pod-github.tgz(y-prosemirror@1.2.12): + resolution: {integrity: sha512-qW9PpGm8tHqpxsJcIXEMH7bgejpf3lS1FAzr5jceYuEj9ZN9j4Z1yEbQNvQXIc8pDTu604qp2nbpqj5zSD+dCw==, tarball: file:projects/pod-github.tgz} id: file:projects/pod-github.tgz name: '@rush-temp/pod-github' version: 0.0.0 @@ -29933,7 +30215,6 @@ packages: ts-jest: 29.1.2(esbuild@0.20.1)(jest@29.7.0)(typescript@5.3.3) ts-node: 10.9.2(@types/node@20.11.19)(typescript@5.3.3) typescript: 5.3.3 - ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) transitivePeerDependencies: - '@aws-sdk/credential-providers' - '@babel/core' @@ -29943,7 +30224,6 @@ packages: - '@swc/wasm' - babel-jest - babel-plugin-macros - - bufferutil - gcp-metadata - kerberos - mongodb-client-encryption @@ -29951,12 +30231,11 @@ packages: - snappy - socks - supports-color - - utf-8-validate - y-prosemirror dev: false - file:projects/pod-gmail.tgz(bufferutil@4.0.8)(ts-node@10.9.2)(utf-8-validate@6.0.4): - resolution: {integrity: sha512-0O5H4lF5Hh+cyQasyYyQBiCpb9tFDA6J0zix12os3TLw9cRtdxpTwWkkkktugyptII0yIWPqAOU0XWAhtDkK0g==, tarball: file:projects/pod-gmail.tgz} + file:projects/pod-gmail.tgz(ts-node@10.9.2): + resolution: {integrity: sha512-aNTRrDCGA7cNpbtSBfU26ogsnF/mLb4pOOk3EdPg1gZ8TR/m6phXok1o4CltatpNbALDP9quCiPTvgN8cLeg4g==, tarball: file:projects/pod-gmail.tgz} id: file:projects/pod-gmail.tgz name: '@rush-temp/pod-gmail' version: 0.0.0 @@ -29966,7 +30245,6 @@ packages: '@types/express': 4.17.21 '@types/jest': 29.5.12 '@types/node': 20.11.19 - '@types/node-fetch': 2.6.11 '@types/uuid': 8.3.4 '@types/ws': 8.5.11 '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3) @@ -29983,20 +30261,17 @@ packages: express: 4.19.2 fast-equals: 5.0.1 file-api: 0.10.4 - form-data: 4.0.0 gaxios: 5.1.3 google-auth-library: 8.9.0 googleapis: 122.0.0 jest: 29.7.0(@types/node@20.11.19)(ts-node@10.9.2) jwt-simple: 0.5.6 mongodb: 6.9.0 - node-fetch: 2.7.0 prettier: 3.2.5 ts-jest: 29.1.2(esbuild@0.20.1)(jest@29.7.0)(typescript@5.3.3) ts-node-dev: 2.0.0(@types/node@20.11.19)(typescript@5.3.3) typescript: 5.3.3 uuid: 8.3.2 - ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) transitivePeerDependencies: - '@aws-sdk/credential-providers' - '@babel/core' @@ -30006,7 +30281,6 @@ packages: - '@swc/wasm' - babel-jest - babel-plugin-macros - - bufferutil - encoding - gcp-metadata - kerberos @@ -30016,12 +30290,10 @@ packages: - socks - supports-color - ts-node - - utf-8-validate dev: false - file:projects/pod-love.tgz(bufferutil@4.0.8)(utf-8-validate@6.0.4): - resolution: {integrity: sha512-g12q7ZxpvWr3/5nAZazdcKgw2rC4LVpWLPYs7qYtm4avIIGeu4FIT8WfV0E4wXPVdjdV4CX2WwZ7+1zSgDxYCA==, tarball: file:projects/pod-love.tgz} - id: file:projects/pod-love.tgz + file:projects/pod-love.tgz: + resolution: {integrity: sha512-mp8LkNUeRHlDFa8Po9e0ma1MawHVPbIXrYEGWQVSE2GJJC+g7Fusrv8wQHAwKQJahoUkxU7V3zA80xD0auY/mg==, tarball: file:projects/pod-love.tgz} name: '@rush-temp/pod-love' version: 0.0.0 dependencies: @@ -30052,7 +30324,6 @@ packages: ts-node: 10.9.2(@types/node@20.11.19)(typescript@5.3.3) typescript: 5.3.3 uuid: 8.3.2 - ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) transitivePeerDependencies: - '@babel/core' - '@jest/types' @@ -30060,10 +30331,8 @@ packages: - '@swc/wasm' - babel-jest - babel-plugin-macros - - bufferutil - node-notifier - supports-color - - utf-8-validate dev: false file:projects/pod-print.tgz(bufferutil@4.0.8)(utf-8-validate@6.0.4): @@ -30111,7 +30380,7 @@ packages: dev: false file:projects/pod-server.tgz: - resolution: {integrity: sha512-whFq8Jk23rIMTrUXr4OjzFdc5zsKYr5mOSKwwVntT2JYVi1Wr05s4+Y2ulpcS7Sjvi0rLCRjd7PQNgDopmlM2A==, tarball: file:projects/pod-server.tgz} + resolution: {integrity: sha512-jr4g6t9YzsV3QUKsuLSLdNvHsgsdLwjZmuu0Z1kNFIyLMY8qHqoqXzOls8+KiFc5YsEWPPNm4aTLahmQVHZaWw==, tarball: file:projects/pod-server.tgz} name: '@rush-temp/pod-server' version: 0.0.0 dependencies: @@ -30188,9 +30457,8 @@ packages: - supports-color dev: false - file:projects/pod-sign.tgz(bufferutil@4.0.8)(utf-8-validate@6.0.4): - resolution: {integrity: sha512-I1OLN4V4OgGZvKUFnkoxokTTpYUPRarvuca+JOt+ce68hbp/ZvJ7GYdBTr6QpPnSDRIUI+Hw+x4YiaMmmb/F6Q==, tarball: file:projects/pod-sign.tgz} - id: file:projects/pod-sign.tgz + file:projects/pod-sign.tgz: + resolution: {integrity: sha512-sHBdSAYixdQ2EN0m7qjDqfQLrsHhHXKUx1pXsLC0MmR5iCw1dCEz2HmF1+qsk5tx8nSpPHI4paXGj4ans+uVrQ==, tarball: file:projects/pod-sign.tgz} name: '@rush-temp/pod-sign' version: 0.0.0 dependencies: @@ -30224,7 +30492,6 @@ packages: ts-jest: 29.1.2(esbuild@0.20.1)(jest@29.7.0)(typescript@5.3.3) ts-node: 10.9.2(@types/node@20.11.19)(typescript@5.3.3) typescript: 5.3.3 - ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) transitivePeerDependencies: - '@aws-sdk/credential-providers' - '@babel/core' @@ -30234,7 +30501,6 @@ packages: - '@swc/wasm' - babel-jest - babel-plugin-macros - - bufferutil - gcp-metadata - kerberos - mongodb-client-encryption @@ -30242,12 +30508,10 @@ packages: - snappy - socks - supports-color - - utf-8-validate dev: false - file:projects/pod-telegram-bot.tgz(bufferutil@4.0.8)(utf-8-validate@6.0.4): - resolution: {integrity: sha512-ytBZ1LMObeiEgq1Nroue4mWRtiaYvd8Jgm5cEBE1muqps1ZNCrRSoE+2kCYrDOv7MlJBViid2fMU+3H2hGn2Eg==, tarball: file:projects/pod-telegram-bot.tgz} - id: file:projects/pod-telegram-bot.tgz + file:projects/pod-telegram-bot.tgz: + resolution: {integrity: sha512-bioaFANj5ok9PL+oZp8hv9EWrSzd8kEcvVYsoxBEJ9wy90l3d84cGoIH9IfTq/I03O5mOHVuwOxZlJC4IhJ8/w==, tarball: file:projects/pod-telegram-bot.tgz} name: '@rush-temp/pod-telegram-bot' version: 0.0.0 dependencies: @@ -30282,7 +30546,6 @@ packages: ts-jest: 29.1.2(esbuild@0.20.1)(jest@29.7.0)(typescript@5.3.3) ts-node: 10.9.2(@types/node@20.11.19)(typescript@5.3.3) typescript: 5.3.3 - ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) transitivePeerDependencies: - '@aws-sdk/credential-providers' - '@babel/core' @@ -30292,7 +30555,6 @@ packages: - '@swc/wasm' - babel-jest - babel-plugin-macros - - bufferutil - encoding - gcp-metadata - kerberos @@ -30301,11 +30563,10 @@ packages: - snappy - socks - supports-color - - utf-8-validate dev: false - file:projects/pod-telegram.tgz(bufferutil@4.0.8)(ts-node@10.9.2)(utf-8-validate@6.0.4): - resolution: {integrity: sha512-dD1qmXqRBs/o4Hdywguab5+NB5FeeEKzO+BgShhQzD9sz98CbwOmtKFYQHiLyJvPI0MHvRdzTAkRXe59TssTSQ==, tarball: file:projects/pod-telegram.tgz} + file:projects/pod-telegram.tgz(ts-node@10.9.2): + resolution: {integrity: sha512-x91DswuLeQeaxZdb1+tCcKggaISblxeJNkt6ht1AyZ5WhKgDquaR8Iv8B+qluplREZ7iclTzpArGL/EZRBoFlA==, tarball: file:projects/pod-telegram.tgz} id: file:projects/pod-telegram.tgz name: '@rush-temp/pod-telegram' version: 0.0.0 @@ -30316,7 +30577,6 @@ packages: '@types/jest': 29.5.12 '@types/mime': 3.0.4 '@types/node': 20.11.19 - '@types/node-fetch': 2.6.11 '@types/uuid': 8.3.4 '@types/ws': 8.5.11 '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3) @@ -30332,13 +30592,11 @@ packages: eslint-plugin-n: 15.7.0(eslint@8.56.0) eslint-plugin-promise: 6.1.1(eslint@8.56.0) express: 4.19.2 - form-data: 4.0.0 htmlparser2: 9.1.0 jest: 29.7.0(@types/node@20.11.19)(ts-node@10.9.2) jwt-simple: 0.5.6 mime: 3.0.0 mongodb: 6.9.0 - node-fetch: 2.7.0 prettier: 3.2.5 telegram: 2.22.2 ts-jest: 29.1.2(esbuild@0.20.1)(jest@29.7.0)(typescript@5.3.3) @@ -30346,7 +30604,6 @@ packages: ts-standard: 12.0.2(typescript@5.3.3) typescript: 5.3.3 uuid: 8.3.2 - ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) transitivePeerDependencies: - '@aws-sdk/credential-providers' - '@babel/core' @@ -30356,7 +30613,6 @@ packages: - '@swc/wasm' - babel-jest - babel-plugin-macros - - bufferutil - gcp-metadata - kerberos - mongodb-client-encryption @@ -30365,7 +30621,6 @@ packages: - socks - supports-color - ts-node - - utf-8-validate dev: false file:projects/pod-workspace.tgz: @@ -31183,7 +31438,7 @@ packages: dev: false file:projects/rekoni-service.tgz(webpack@5.90.3): - resolution: {integrity: sha512-gL/GzTK+Tojt7wj5A5jeMnbmSQBiEdZnnp5h0h2zpIirV6mjQ0kM1kSLuFAA938dx72yGh21+ZNnH5uj12/70A==, tarball: file:projects/rekoni-service.tgz} + resolution: {integrity: sha512-Q0Kc1tYShHVdu2vY3Exnvm9Lvj6lKr5AdUNFpMAVP6qMB0DZPK51hWqEt0BRDSmVLfKGN8g3zWhbG3FSxFs30w==, tarball: file:projects/rekoni-service.tgz} id: file:projects/rekoni-service.tgz name: '@rush-temp/rekoni-service' version: 0.0.0 @@ -31198,6 +31453,7 @@ packages: '@types/jest': 29.5.12 '@types/jimp': 0.2.28 '@types/mime-types': 2.1.4 + '@types/morgan': 1.9.9 '@types/node': 20.11.19 '@types/pdfjs-dist': 2.10.378 '@types/sharp': 0.32.0 @@ -31223,6 +31479,7 @@ packages: libphonenumber-js: 1.10.56 mammoth: 1.8.0 mime-types: 2.1.35 + morgan: 1.10.0 node-loader: 2.0.0(webpack@5.90.3) pdfjs-dist: 2.12.313 prettier: 3.2.5 @@ -32759,7 +33016,7 @@ packages: dev: false file:projects/server-pipeline.tgz: - resolution: {integrity: sha512-W5khmA6sUi5kU1UiRR7YTOYH40t96jeBa9ww0g1EUtraXSlO12g2NBpMXswt8/HkMVe6j/56Jj2vq8QVnXSY5w==, tarball: file:projects/server-pipeline.tgz} + resolution: {integrity: sha512-va9ACAdXJfU8XyLtBww4geRn25jysnzuLx6c+5eUHHlgvbS9Rf7twLseQP9pjRo5njZiudyCCo5/1Ws8luHeOQ==, tarball: file:projects/server-pipeline.tgz} name: '@rush-temp/server-pipeline' version: 0.0.0 dependencies: @@ -33010,7 +33267,7 @@ packages: dev: false file:projects/server-storage.tgz(esbuild@0.20.1): - resolution: {integrity: sha512-8Vd7+fEnqGcQHOUD4gWdMOlB6X3Ka7kOji7RfrZdlD6es58ykSk5MXH5pPXE0hWJptxlJ0DgLXAAYdptrKCFQQ==, tarball: file:projects/server-storage.tgz} + resolution: {integrity: sha512-2h93t2QYquzCRDabfHV+ZNF0P29xHatUMmt9jQ87FqJmayZFDiat0X6DW8ajFi3SC3kzXxJV0lL4jhq1Dif6Zw==, tarball: file:projects/server-storage.tgz} id: file:projects/server-storage.tgz name: '@rush-temp/server-storage' version: 0.0.0 @@ -33357,8 +33614,8 @@ packages: - ts-node dev: false - file:projects/server-tool.tgz(@types/node@20.11.19)(bufferutil@4.0.8)(esbuild@0.20.1)(ts-node@10.9.2)(utf-8-validate@6.0.4): - resolution: {integrity: sha512-laY4rfz2M3gZw+L9hEHz3Ew3kVSUXEbiQNawxzPvnWXd1QfazHMNBqf0odz6OfqKlRDBCqtb+qx/F7c45wDP5Q==, tarball: file:projects/server-tool.tgz} + file:projects/server-tool.tgz(@types/node@20.11.19)(esbuild@0.20.1)(ts-node@10.9.2): + resolution: {integrity: sha512-btxvwskcvjmbGR6o7FZWaM2yCytqY91jUPab5L7Hhjzb+nx5orD0GAjn6SLhZwkrgcKbXHc5YDBnt0xVgkxFDg==, tarball: file:projects/server-tool.tgz} id: file:projects/server-tool.tgz name: '@rush-temp/server-tool' version: 0.0.0 @@ -33382,7 +33639,6 @@ packages: ts-jest: 29.1.2(esbuild@0.20.1)(jest@29.7.0)(typescript@5.3.3) typescript: 5.3.3 uuid: 8.3.2 - ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) transitivePeerDependencies: - '@aws-sdk/credential-providers' - '@babel/core' @@ -33391,7 +33647,6 @@ packages: - '@types/node' - babel-jest - babel-plugin-macros - - bufferutil - esbuild - gcp-metadata - kerberos @@ -33401,7 +33656,6 @@ packages: - socks - supports-color - ts-node - - utf-8-validate dev: false file:projects/server-tracker-resources.tgz(@types/node@20.11.19)(esbuild@0.20.1)(ts-node@10.9.2): @@ -33591,7 +33845,7 @@ packages: dev: false file:projects/server-ws.tgz(esbuild@0.20.1)(ts-node@10.9.2): - resolution: {integrity: sha512-TkAzjnl1QK2rx7iiItSZsZHPD2Evt+OViuZWwgwxm9cDKki7j3txpo7G21rkOsTMohXiS4FcA9fKkCiVFfvERw==, tarball: file:projects/server-ws.tgz} + resolution: {integrity: sha512-Da5D12OI8wm1a9ymD59zyuVwxAIeTMAAqC336M+PbKRqioVYpj77o1xskd4aok6cVfSrTp+5mX3fQSOXZukVvA==, tarball: file:projects/server-ws.tgz} id: file:projects/server-ws.tgz name: '@rush-temp/server-ws' version: 0.0.0 @@ -33635,7 +33889,7 @@ packages: dev: false file:projects/server.tgz(esbuild@0.20.1): - resolution: {integrity: sha512-93PHAZJSkt0uDRAhNNcAGlJUHFM7/RLUAmzu2CZxcknO0hRM6QTDIkRg6T+GfE3fqyMuRsIJA0CDJdlziht/sA==, tarball: file:projects/server.tgz} + resolution: {integrity: sha512-NEiZpPGNkylak1Qrsli/vwJIegqvqPO8tQMWYYUuXZmRZxMPDihNOBYUOu3cVFkFyaZtnfSzeOuy7Jls9sN32A==, tarball: file:projects/server.tgz} id: file:projects/server.tgz name: '@rush-temp/server' version: 0.0.0 @@ -35110,7 +35364,7 @@ packages: dev: false file:projects/translate.tgz(esbuild@0.20.1)(ts-node@10.9.2): - resolution: {integrity: sha512-IzpMgP3ssslHTP3mpgwM7INsF0YyLy6vBtTkn9LRgPqRjSV0WFVSQNcxqAEUwLA1Y126ulECzJD3KeMNK2Gq6A==, tarball: file:projects/translate.tgz} + resolution: {integrity: sha512-3n/OVZcAxY7QVTHt+xyHDI0pMXwwIkvURVj8MKUJSya9HTxX3HRULJTobYSix+nNQjLURgFu62ESbl/7bOJwKg==, tarball: file:projects/translate.tgz} id: file:projects/translate.tgz name: '@rush-temp/translate' version: 0.0.0 diff --git a/desktop-package/package.json b/desktop-package/package.json index 7558351d91..8beed1675e 100644 --- a/desktop-package/package.json +++ b/desktop-package/package.json @@ -21,9 +21,9 @@ "node-loader": "~2.0.0", "cross-env": "~7.0.3", "typescript": "^5.3.3", - "electron": "^31.3.0", + "electron": "^32.1.1", "@types/node": "~20.11.16", - "electron-builder": "^24.13.3", + "electron-builder": "^25.0.5", "@electron/notarize": "^2.3.2" }, "dependencies": { diff --git a/desktop/package.json b/desktop/package.json index 1e715af5b2..9250b66912 100644 --- a/desktop/package.json +++ b/desktop/package.json @@ -47,7 +47,7 @@ "typescript": "^5.3.3", "ts-node": "^10.8.0", "ts-node-dev": "^2.0.0", - "electron": "^31.3.0", + "electron": "^32.1.1", "@types/node": "~20.11.16", "copy-webpack-plugin": "^11.0.0", "@typescript-eslint/eslint-plugin": "^6.11.0", @@ -60,7 +60,8 @@ "prettier": "^3.1.0", "esbuild": "^0.20.0", "esbuild-loader": "^4.0.3", - "svelte-preprocess": "^5.1.3" + "svelte-preprocess": "^5.1.3", + "@types/ws": "^8.5.11" }, "dependencies": { "@hcengineering/platform": "^0.6.11", @@ -205,14 +206,16 @@ "@hcengineering/ai-bot-resources": "^0.6.0", "electron-squirrel-startup": "~1.0.0", "dotenv": "~16.0.0", - "electron-context-menu": "^4.0.1", + "electron-context-menu": "^4.0.4", "electron-windows-badge": "^1.1.0", "svelte": "^4.2.12", "commander": "^8.1.0", "electron-store": "^8.2.0", "electron-log": "^5.1.7", - "electron-updater": "^6.2.1", - "livekit-client": "^2.0.10" + "electron-updater": "^6.3.4", + "livekit-client": "^2.0.10", + "@hcengineering/server-backup": "^0.6.0", + "ws": "^8.18.0" }, "productName": "Huly Desktop", "description": "Huly Desktop experience", diff --git a/desktop/src/main/backup.ts b/desktop/src/main/backup.ts new file mode 100644 index 0000000000..d74f591375 --- /dev/null +++ b/desktop/src/main/backup.ts @@ -0,0 +1,106 @@ +import client, { clientId } from '@hcengineering/client' +import { getWorkspaceId, MeasureMetricsContext, type BackupClient, type Client } from '@hcengineering/core' +import { addLocation, getResource, setMetadata } from '@hcengineering/platform' +import WebSocket from 'ws' + +import { + backup, + createFileBackupStorage +} from '@hcengineering/server-backup' +import { dialog, type BrowserWindow } from 'electron' + +let runningBackup: { + notify: (command: string, ...args: any[]) => void +} | undefined + +export async function createClient ( + transactorUrl: string, + token: string +): Promise { + // We need to override default factory with 'ws' one. + // eslint-disable-next-line + setMetadata(client.metadata.UseBinaryProtocol, true) + setMetadata(client.metadata.UseProtocolCompression, true) + setMetadata(client.metadata.ConnectionTimeout, 0) + setMetadata(client.metadata.ClientSocketFactory, (url) => { + return new WebSocket(url) as any + }) + addLocation(clientId, () => import('@hcengineering/client-resources')) + + const clientFactory = await getResource(client.function.GetClient) + return (await clientFactory(token, transactorUrl)) as unknown as Client & BackupClient +} + +async function doBackup (dirName: string, token: string, endpoint: string, workspace: string, notify: (command: string, ...args: any[]) => void, backupHugeFiles: boolean): Promise { + notify('backup', 0) + const ctx = new MeasureMetricsContext('backup', {}) + + const storage = await createFileBackupStorage(dirName) + const wsid = getWorkspaceId(workspace) + const client = await createClient(endpoint, token) + try { + ctx.info('do backup', { workspace, endpoint }) + await backup(ctx, endpoint, wsid, storage, { + force: true, + recheck: false, + skipDomains: [], + timeout: 0, + connectTimeout: 60 * 1000, + blobDownloadLimit: backupHugeFiles ? 10240 : 50, + token, + skipBlobContentTypes: [], + isCanceled: (): boolean => { + return runningBackup == null + }, + progress: (value: number): void => { + notify('backup', value) + }, + connection: client + }) + } finally { + await client.close() + } + + notify('backup', 100) +} + +export function startBackup (window: BrowserWindow, token: string, endpoint: string, workspace: string, cmd: (command: string, ...args: any[]) => void): void { + void dialog + .showOpenDialog(window, { + properties: ['openDirectory'], + buttonLabel: 'Select a backup folder', + message: 'Select a folder for Huly incremental backup.' + }) + .then((response) => { + if (!response.canceled && response.filePaths.length > 0) { + void dialog + .showMessageBox({ + type: 'info', + buttons: ['Backup....', 'Cancel'], + defaultId: 0, + textWidth: 500, + title: 'Huly desktop need a confirmation for a backup process to be started...', + message: `Huly Desktop need a confirmation for a backup process to be started....\n\n + An incremental backup will be performed to folder:\n ${response.filePaths[0]}\n + Backup could be canceled and resumed laterly into same location.`, + checkboxLabel: 'Include files >= 50mb', + checkboxChecked: false + }) + .then((backupKind) => { + if (backupKind.response === 1) { + return + } + runningBackup = { + notify: cmd + } + void doBackup(response.filePaths[0], token, endpoint, workspace, cmd, backupKind.checkboxChecked) + }) + } + }) +} +export function cancelBackup (): void { + if (runningBackup != null) { + runningBackup.notify('backup-cancel') + } + runningBackup = undefined +} diff --git a/desktop/src/main/menu.ts b/desktop/src/main/menu.ts index ca7dbddbb8..f9efd26b9c 100644 --- a/desktop/src/main/menu.ts +++ b/desktop/src/main/menu.ts @@ -13,11 +13,11 @@ // limitations under the License. // -import { Menu, MenuItemConstructorOptions } from 'electron' +import { Menu, MenuItemConstructorOptions, type BrowserWindow } from 'electron' const isMac = process.platform === 'darwin' -export const addMenus = (sendCommand: (cmd: string, ...args: any[]) => void): void => { +export const addMenus = (getWindow: () => BrowserWindow, sendCommand: (cmd: string, ...args: any[]) => void): void => { const template: MenuItemConstructorOptions[] = [ { label: 'File', @@ -25,11 +25,19 @@ export const addMenus = (sendCommand: (cmd: string, ...args: any[]) => void): vo { label: 'Settings', accelerator: 'Meta+,', - click: () => sendCommand('open-settings') + click: () => { sendCommand('open-settings') } + }, + { + label: 'Select workspace', + click: () => { sendCommand('select-workspace') } + }, + { + label: 'Backup...', + click: () => { sendCommand('start-backup') } }, { label: 'Logout', - click: () => sendCommand('logout') + click: () => { sendCommand('logout') } }, { role: isMac ? 'close' : 'quit' } ] diff --git a/desktop/src/main/start.ts b/desktop/src/main/start.ts index 71b035ebd7..f50aaf0297 100644 --- a/desktop/src/main/start.ts +++ b/desktop/src/main/start.ts @@ -13,20 +13,21 @@ // limitations under the License. // -import { BrowserWindow, CookiesSetDetails, Notification, app, ipcMain, nativeImage, shell, dialog, systemPreferences, desktopCapturer } from 'electron' -import contextMenu from 'electron-context-menu' -import WinBadge from 'electron-windows-badge' -import Store from 'electron-store' -import * as path from 'path' import { config as dotenvConfig } from 'dotenv' +import { BrowserWindow, CookiesSetDetails, Notification, app, desktopCapturer, dialog, ipcMain, nativeImage, shell, systemPreferences } from 'electron' +import contextMenu from 'electron-context-menu' import log from 'electron-log' +import Store from 'electron-store' import { ProgressInfo, UpdateInfo } from 'electron-updater' +import WinBadge from 'electron-windows-badge' +import * as path from 'path' -import autoUpdater from './updater' -import { NotificationParams, Config } from '../ui/types' -import { addMenus } from './menu' +import { Config, NotificationParams } from '../ui/types' import { getOptions } from './args' +import { cancelBackup, startBackup } from './backup' +import { addMenus } from './menu' import { addPermissionHandlers } from './permissions' +import autoUpdater from './updater' let mainWindow: BrowserWindow | undefined let winBadge: any @@ -115,7 +116,6 @@ function hookOpenWindow (window: BrowserWindow): void { ] } }) - // await childWindow.webContents.openDevTools() await childWindow.loadFile(path.join('dist', 'ui', 'index.html')) hookOpenWindow(childWindow) })() @@ -165,8 +165,8 @@ const createWindow = async (): Promise => { } } -addMenus((cmd: string, ...args: any[]) => { - mainWindow?.webContents.send(cmd, args) +addMenus(() => mainWindow as BrowserWindow, (cmd: string, ...args: any[]) => { + mainWindow?.webContents.send(cmd, ...args) }) contextMenu({ @@ -227,7 +227,7 @@ ipcMain.handle('get-main-config', (event, path) => { FRONT_URL, INITIAL_URL: process.env.INITIAL_URL ?? '', MODEL_VERSION: process.env.MODEL_VERSION ?? '', - VERSION: process.env.VERSION ?? '', + VERSION: process.env.VERSION ?? '' } return cfg }) @@ -396,3 +396,16 @@ autoUpdater.on('update-downloaded', (info) => { autoUpdater.quitAndInstall() }) + +ipcMain.on('start-backup', (event, token, endpoint, workspace) => { + console.log('start backup', token, endpoint, workspace) + if (mainWindow != null) { + startBackup(mainWindow, token, endpoint, workspace , (cmd: string, ...args: any[]) => { + mainWindow?.webContents.send(cmd, ...args) + }) + } +}) + +ipcMain.on('cancel-backup', (event) => { + cancelBackup() +}) diff --git a/desktop/src/main/updater.ts b/desktop/src/main/updater.ts index dccae169b2..64ff665d20 100644 --- a/desktop/src/main/updater.ts +++ b/desktop/src/main/updater.ts @@ -24,7 +24,7 @@ autoUpdater.on('update-available', (info) => { autoUpdater.on('update-not-available', (info) => { log.info('Update not available.') }) -autoUpdater.on('error', (err) => { +autoUpdater.on('error', (err: any) => { log.info('Error in auto-updater. ' + err) }) autoUpdater.on('download-progress', (progressObj) => { diff --git a/desktop/src/ui/index.ejs b/desktop/src/ui/index.ejs index 57a6957751..5e3978d5d0 100644 --- a/desktop/src/ui/index.ejs +++ b/desktop/src/ui/index.ejs @@ -1,7 +1,7 @@ diff --git a/desktop/src/ui/index.ts b/desktop/src/ui/index.ts index 5d583d2135..58b0443aaf 100644 --- a/desktop/src/ui/index.ts +++ b/desktop/src/ui/index.ts @@ -1,6 +1,6 @@ import login, { loginId } from '@hcengineering/login' -import { setMetadata, getMetadata } from '@hcengineering/platform' -import presentation, { closeClient, setDownloadProgress } from '@hcengineering/presentation' +import { getEmbeddedLabel, getMetadata, setMetadata } from '@hcengineering/platform' +import presentation, { closeClient, MessageBox, setDownloadProgress } from '@hcengineering/presentation' import { settingId } from '@hcengineering/setting' import { closePanel, @@ -11,15 +11,20 @@ import { getCurrentResolvedLocation, navigate, parseLocation, - setMetadataLocalStorage + pushRootBarProgressComponent, + removeRootBarComponent, + setMetadataLocalStorage, + showPopup } from '@hcengineering/ui' -import { workbenchId } from '@hcengineering/workbench' import { notificationId } from '@hcengineering/notification' +import { workbenchId } from '@hcengineering/workbench' +import { isOwnerOrMaintainer } from '@hcengineering/core' import { configurePlatform } from './platform' -import { IPCMainExposed } from './types' import { defineScreenShare } from './screenShare' +import { IPCMainExposed } from './types' +import settings from '@hcengineering/setting' defineScreenShare() @@ -41,6 +46,18 @@ window.addEventListener('DOMContentLoaded', () => { navigate(loc) }) + ipcMain.on('select-workspace', () => { + closePopup() + closePanel() + const loc = getCurrentResolvedLocation() + loc.fragment = undefined + loc.query = undefined + loc.path[0] = loginId + loc.path[1] = 'selectWorkspace' + loc.path.length = 2 + navigate(loc) + }) + ipcMain.on('logout', () => { const tokens = fetchMetadataLocalStorage(login.metadata.LoginTokens) if (tokens !== null) { @@ -74,4 +91,36 @@ window.addEventListener('DOMContentLoaded', () => { ipcMain.handleUpdateDownloadProgress((progress) => { setDownloadProgress(progress) }) + + ipcMain.on('start-backup', () => { + // We need to obtain current token and endpoint and trigger backup + const token = getMetadata(presentation.metadata.Token) + const endpoint = getMetadata(presentation.metadata.Endpoint) + const workspace = getMetadata(presentation.metadata.WorkspaceId) + if (isOwnerOrMaintainer()) { + if (token != null && endpoint != null && workspace != null) { + ipcMain.startBackup(token, endpoint, workspace) + } + } else { + showPopup(MessageBox, { + label: settings.string.OwnerOrMainteinerRequired + }) + } + }) + + ipcMain.on('backup', (evt: any, ...args: any) => { + pushRootBarProgressComponent('backup', + getEmbeddedLabel('Backup'), + () => { return args[0] }, + () => { + ipcMain.cancelBackup() + }, + undefined, + undefined, + 50 + ) + }) + ipcMain.on('backup-cancel', () => { + removeRootBarComponent('backup') + }) }) diff --git a/desktop/src/ui/preload.ts b/desktop/src/ui/preload.ts index 42cc191cb8..afd497a98f 100644 --- a/desktop/src/ui/preload.ts +++ b/desktop/src/ui/preload.ts @@ -1,7 +1,7 @@ // preload.js -import { BrandingMap, Config, IPCMainExposed, NotificationParams } from './types' import { contextBridge, ipcRenderer } from 'electron' +import { BrandingMap, Config, IPCMainExposed, NotificationParams } from './types' /** * @public @@ -135,6 +135,8 @@ const expose: IPCMainExposed = { }, getScreenAccess: () => ipcRenderer.invoke('get-screen-access'), - getScreenSources: () => ipcRenderer.invoke('get-screen-sources') + getScreenSources: () => ipcRenderer.invoke('get-screen-sources'), + cancelBackup: () => { ipcRenderer.send('cancel-backup') }, + startBackup: (token, endpoint, workspace) => { ipcRenderer.send('start-backup', token, endpoint, workspace) } } contextBridge.exposeInMainWorld('electron', expose) diff --git a/desktop/src/ui/types.ts b/desktop/src/ui/types.ts index 5cce9aa6b7..55e8e39d66 100644 --- a/desktop/src/ui/types.ts +++ b/desktop/src/ui/types.ts @@ -80,4 +80,7 @@ export interface IPCMainExposed { sendNotification: (notififationParams: NotificationParams) => void getScreenAccess: () => Promise getScreenSources: () => Promise + + cancelBackup: () => void + startBackup: (token: string, endpoint: string, workspace: string) => void } diff --git a/desktop/webpack.config.js b/desktop/webpack.config.js index d1712c5b2b..a59062ed10 100644 --- a/desktop/webpack.config.js +++ b/desktop/webpack.config.js @@ -37,15 +37,15 @@ module.exports = [ options: { target: 'es2021', keepNames: true, - minify: !prod, - sourcemap: !prod + minify: prod, + sourcemap: true } } } ] }, output: { - path: __dirname + '/dist', + path: path.join(__dirname, 'dist'), filename: '[name].js', chunkFilename: '[name].js', publicPath: '/', @@ -64,7 +64,6 @@ module.exports = [ }, target: 'electron-main', plugins: [ - ...(doValidate ? [new ForkTsCheckerWebpackPlugin()] : []), new Dotenv({ path: prod ? '.env' : '.env-dev' }), new DefinePlugin({ 'process.env.MODEL_VERSION': JSON.stringify(process.env.MODEL_VERSION), @@ -98,8 +97,8 @@ module.exports = [ options: { target: 'es2021', keepNames: true, - minify: !prod, - sourcemap: !prod + minify: prod, + sourcemap: true } } } @@ -113,7 +112,10 @@ module.exports = [ }, resolve: { extensions: ['.ts', '.js'], - conditionNames: ['svelte', 'browser', 'import'] + conditionNames: ['svelte', 'browser', 'import'], + alias: { + ws: path.resolve('node_modules', 'ws/index.js') + } } }, @@ -154,15 +156,14 @@ module.exports = [ ? { minimize: true, minimizer: [ - new EsbuildPlugin({ - target: 'es2021', - keepNames: true, - minify: !prod, - sourcemap: !prod - }) + new EsbuildPlugin({ target: 'es2021' }) ] } - : {}, + : { + minimize: false, + mangleExports: false, + usedExports: false + }, module: { rules: [ { @@ -171,8 +172,8 @@ module.exports = [ options: { target: 'es2021', keepNames: true, - minify: !prod, - sourcemap: !prod + minify: prod, + sourcemap: true }, exclude: /node_modules/ }, @@ -182,13 +183,13 @@ module.exports = [ loader: 'svelte-loader', options: { compilerOptions: { - dev + dev: !prod }, emitCss: true, - hotReload: dev, + hotReload: !prod, preprocess: require('svelte-preprocess')({ postcss: true, - sourceMap: dev + sourceMap: true }), hotOptions: { // Prevent preserving local component state @@ -260,21 +261,21 @@ module.exports = [ } }, { - test: /\.(wav|ogg)$/, + test: /\.(jpg|png|webp|heic|avif)$/, use: { loader: 'file-loader', options: { - 'name': 'snd/[contenthash].[ext]', + name: 'img/[contenthash].[ext]', esModule: false } } }, { - test: /\.(jpg|png|webp|heic|avif)$/, + test: /\.(wav|ogg)$/, use: { loader: 'file-loader', options: { - name: 'img/[hash:base64:8].[ext]', + name: 'snd/[contenthash].[ext]', esModule: false } } @@ -285,7 +286,7 @@ module.exports = [ { loader: 'file-loader', options: { - name: 'img/[hash:base64:8].[ext]', + name: 'img/[contenthash].[ext]', esModule: false } }, @@ -304,7 +305,7 @@ module.exports = [ } ] }, - mode: dev ? 'development' : mode, + mode, plugins: [ new CopyPlugin({ patterns: [{ from: 'public', to: 'public' }] @@ -335,9 +336,9 @@ module.exports = [ // https://webpack.js.org/configuration/watch/#watchoptionsignored // don't use this pattern, if you have a monorepo with linked packages ignored: /node_modules/, - aggregateTimeout: 500, - poll: 1000 + aggregateTimeout: 100, + poll: 250 }, - devtool: !dev ? false : 'eval-source-map' + devtool: prod ? 'source-map' : 'eval-source-map' // 'inline-source-map', } ] diff --git a/packages/ui/src/components/Component.svelte b/packages/ui/src/components/Component.svelte index faef1db4fe..c9b5756675 100644 --- a/packages/ui/src/components/Component.svelte +++ b/packages/ui/src/components/Component.svelte @@ -16,21 +16,21 @@ import { getResource } from '@hcengineering/platform' import { deepEqual } from 'fast-equals' import { SvelteComponent } from 'svelte' - import type { AnyComponent } from '../types' + import type { AnyComponent, AnySvelteComponent } from '../types' import ErrorPresenter from './ErrorPresenter.svelte' import Loading from './Loading.svelte' import ErrorBoundary from './internal/ErrorBoundary' // Reference to rendered component instance export let innerRef: SvelteComponent | undefined = undefined - export let is: AnyComponent + export let is: AnyComponent | AnySvelteComponent export let props = {} export let shrink: boolean = false export let showLoading = true export let inline: boolean = false export let disabled: boolean = false - let _is: any = is + let _is: AnyComponent | AnySvelteComponent = is let _props: any = props $: if (!deepEqual(_is, is)) { @@ -40,7 +40,12 @@ _props = props } - $: component = _is != null ? getResource(_is) : Promise.reject(new Error('is not defined')) + $: component = + _is != null && typeof _is === 'string' + ? getResource(_is) + : _is == null + ? Promise.reject(new Error('is not defined')) + : Promise.resolve(_is) {#if _is} diff --git a/packages/ui/src/components/RootStatusComponent.svelte b/packages/ui/src/components/RootStatusComponent.svelte new file mode 100644 index 0000000000..a82ce45c91 --- /dev/null +++ b/packages/ui/src/components/RootStatusComponent.svelte @@ -0,0 +1,65 @@ + + +
+
+ + diff --git a/packages/ui/src/components/internal/Root.svelte b/packages/ui/src/components/internal/Root.svelte index c837834253..d0527568c9 100644 --- a/packages/ui/src/components/internal/Root.svelte +++ b/packages/ui/src/components/internal/Root.svelte @@ -6,7 +6,7 @@ // import { applicationShortcutKey } from '../../utils' import { Theme } from '@hcengineering/theme' import { IconArrowLeft, IconArrowRight, checkMobile, deviceOptionsStore as deviceInfo } from '../../' - import { embeddedPlatform, getCurrentLocation, location, locationStorageKeyId, navigate } from '../../location' + import { desktopPlatform, getCurrentLocation, location, locationStorageKeyId, navigate } from '../../location' import uiPlugin from '../../plugin' import Component from '../Component.svelte' import Label from '../Label.svelte' @@ -137,7 +137,7 @@
- {#if embeddedPlatform} + {#if desktopPlatform}