diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 1775eff9..3c96add7 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -27,8 +27,10 @@ jobs: - name: Determine release tag id: release_tag + env: + REF: ${{ github.ref }} run: | - if [[ "${{ github.ref }}" == *"-rc"* ]] || [[ "${{ github.ref }}" == *"-RC"* ]]; then + if [[ "$REF" == *"-rc"* ]] || [[ "$REF" == *"-RC"* ]]; then echo "tag=next" >> "$GITHUB_OUTPUT" else echo "tag=latest" >> "$GITHUB_OUTPUT" diff --git a/CHANGELOG.md b/CHANGELOG.md index b966b674..a45b97d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Change log +## 3.1.0 + +* Updated: requests send `X-Appwrite-Response-Format: 2.6.2`; the SDK targets Appwrite 2.6.x +* Updated: `mqtt` dependency to `5.16.1` and `readable-stream` to `4.8.0` +* Fixed: `Push` reconnects after the broker rejects a connection or the native socket closes +* Fixed: path parameters `.` and `..` throw `AppwriteException` instead of changing the request URL +* Fixed: examples leave unset optional params `undefined` instead of passing empty strings + ## 3.0.0 * Breaking: `expo-file-system` is a peer dependency (`>=18.0.0`); install it in your app diff --git a/README.md b/README.md index 88c07d62..6db4ff0c 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ # Appwrite React Native SDK ![License](https://img.shields.io/badge/license-BSD--3--Clause-blue.svg?style=flat-square) -![Version](https://img.shields.io/badge/api%20version-2.5.0-blue.svg?style=flat-square) +![Version](https://img.shields.io/badge/api%20version-2.6.2-blue.svg?style=flat-square) [![X Account](https://img.shields.io/badge/follow-%40appwrite-000000?logo=x&style=flat-square)](https://x.com/appwrite) [![Discord](https://img.shields.io/discord/564160730845151244?label=discord&style=flat-square)](https://appwrite.io/discord) -**This SDK targets Appwrite server version 2.5.x as shipped on Appwrite Cloud.** Self-hosted releases can lag behind Cloud — if you run an older self-hosted build, use a matching older SDK from [previous releases](https://github.com/appwrite/sdk-for-react-native/releases) when APIs differ. +**This SDK targets Appwrite server version 2.6.x as shipped on Appwrite Cloud.** Self-hosted releases can lag behind Cloud — if you run an older self-hosted build, use a matching older SDK from [previous releases](https://github.com/appwrite/sdk-for-react-native/releases) when APIs differ. Appwrite is an open-source backend as a service server that abstracts and simplifies complex and repetitive development tasks behind a very simple to use REST API. Appwrite aims to help you develop your apps faster and in a more secure way. Use the React Native SDK to integrate your app with the Appwrite server to easily start interacting with all of Appwrite backend APIs and tools. For full API documentation and tutorials go to [https://appwrite.io/docs](https://appwrite.io/docs) diff --git a/docs/examples/oauth2/authorize-post.md b/docs/examples/oauth2/authorize-post.md index f7dd540c..f1250504 100644 --- a/docs/examples/oauth2/authorize-post.md +++ b/docs/examples/oauth2/authorize-post.md @@ -10,7 +10,7 @@ const oauth2 = new Oauth2(client); const result = await oauth2.authorizePost({ clientId: '', // optional redirectUri: 'https://example.com', // optional - responseType: '', // optional + responseType: undefined, // optional scope: '', // optional state: '', // optional nonce: '', // optional diff --git a/docs/examples/oauth2/authorize.md b/docs/examples/oauth2/authorize.md index 256e9cb6..5c078cf1 100644 --- a/docs/examples/oauth2/authorize.md +++ b/docs/examples/oauth2/authorize.md @@ -10,7 +10,7 @@ const oauth2 = new Oauth2(client); const result = await oauth2.authorize({ clientId: '', // optional redirectUri: 'https://example.com', // optional - responseType: '', // optional + responseType: undefined, // optional scope: '', // optional state: '', // optional nonce: '', // optional diff --git a/docs/examples/storage/update-file.md b/docs/examples/storage/update-file.md index 417fb811..6e5286e5 100644 --- a/docs/examples/storage/update-file.md +++ b/docs/examples/storage/update-file.md @@ -10,7 +10,7 @@ const storage = new Storage(client); const result = await storage.updateFile({ bucketId: '', fileId: '', - name: '', // optional + name: undefined, // optional permissions: [Permission.read(Role.any())], // optional }); diff --git a/package-lock.json b/package-lock.json index 224efa11..795eede6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,35 +1,35 @@ { "name": "react-native-appwrite", - "version": "3.0.0", + "version": "3.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "react-native-appwrite", - "version": "3.0.0", + "version": "3.1.0", "license": "BSD-3-Clause", "dependencies": { "buffer": "6.0.3", "json-bigint": "1.0.0", - "mqtt": "5.15.2", + "mqtt": "5.16.1", "process": "0.11.10", - "readable-stream": "4.7.0" + "readable-stream": "4.8.0" }, "devDependencies": { "@eslint/js": "10.0.1", "@rollup/plugin-typescript": "12.3.0", "@types/json-bigint": "1.0.4", - "@types/node": "24.9.2", - "@types/readable-stream": "4.0.24", - "eslint": "10.10.0", + "@types/node": "24.19.2", + "@types/readable-stream": "4.0.25", + "eslint": "10.13.0", "expo-file-system": "58.0.9", "playwright": "1.59.0", - "prettier": "3.9.6", - "rollup": "4.63.2", + "prettier": "3.9.10", + "rollup": "4.64.10", "serve-handler": "6.1.7", "tslib": "2.8.1", "typescript": "5.9.3", - "typescript-eslint": "8.70.0" + "typescript-eslint": "8.71.2" }, "engines": { "node": ">=20.0.0" @@ -1334,32 +1334,32 @@ } }, "node_modules/@expo/cli": { - "version": "58.1.11", - "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-58.1.11.tgz", - "integrity": "sha512-wkFTSLXXYqLkRT5oy4DnLuTOtbFIu3qTiXHSHkFSqUBTHiE92y3bOIwM3UN7Y1ys18qVJge8lXjezaEfsHmijQ==", + "version": "58.1.14", + "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-58.1.14.tgz", + "integrity": "sha512-Qrpkhb9XrQn+wuxaOVR0hh0dLzeFZjGZHC9Jz86hPsexPzP+/mnMigRoWVaeEP8q7b3Hsr98gozL5d94DzFOBw==", "license": "MIT", "peer": true, "dependencies": { "@expo/code-signing-certificates": "^0.0.7", - "@expo/config": "~58.0.6", - "@expo/config-plugins": "~58.0.9", + "@expo/config": "~58.0.7", + "@expo/config-plugins": "~58.0.10", "@expo/devcert": "^1.2.2", - "@expo/env": "~2.5.2", + "@expo/env": "~2.5.3", "@expo/image-utils": "^0.12.5", - "@expo/inline-modules": "^0.2.6", + "@expo/inline-modules": "^0.2.7", "@expo/json-file": "^11.2.1", - "@expo/log-box": "^58.0.12", + "@expo/log-box": "^58.0.13", "@expo/log-box-utils": "^58.0.2", "@expo/metro": "~58.0.0", - "@expo/metro-config": "58.0.14", + "@expo/metro-config": "58.0.16", "@expo/metro-file-map": "^58.0.5", "@expo/osascript": "^2.8.1", "@expo/package-manager": "^1.14.2", "@expo/platforms": "^58.0.1", "@expo/plist": "^0.10.1", - "@expo/prebuild-config": "^58.0.14", + "@expo/prebuild-config": "^58.0.15", "@expo/require-utils": "^58.0.4", - "@expo/router-server": "^58.0.14", + "@expo/router-server": "^58.0.16", "@expo/schema-utils": "^58.0.2", "@expo/spawn-async": "^1.8.0", "@expo/ws-tunnel": "^2.0.1", @@ -1435,13 +1435,13 @@ } }, "node_modules/@expo/config": { - "version": "58.0.6", - "resolved": "https://registry.npmjs.org/@expo/config/-/config-58.0.6.tgz", - "integrity": "sha512-PT1qv4s/R5A/NxXb4efGlFsYF5Consi7F8xSsJBAN090EGDr6U1EDQGOijFqzDc3JA2epD8zjKLJLOVB9YOewg==", + "version": "58.0.7", + "resolved": "https://registry.npmjs.org/@expo/config/-/config-58.0.7.tgz", + "integrity": "sha512-FzpIEDVLNHNeztnWxvg1Oh6WJQwd5nXBgZILrrE9rG7GPjWBf3KbFr4qpqLe/QUeyuzPhHyfIbxMMUjiRBBgCQ==", "license": "MIT", "peer": true, "dependencies": { - "@expo/config-plugins": "~58.0.9", + "@expo/config-plugins": "~58.0.10", "@expo/config-types": "^58.0.3", "@expo/json-file": "^11.2.1", "@expo/platforms": "^58.0.1", @@ -1455,9 +1455,9 @@ } }, "node_modules/@expo/config-plugins": { - "version": "58.0.9", - "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-58.0.9.tgz", - "integrity": "sha512-HyP7V1QgDxeHcOEh4qQH7cfK7cI7wNp0y9lszAu98SRYCshhDbwB9gWpFfnpX1GQUtgiqG4Hvgh1z3ntcGwAjw==", + "version": "58.0.10", + "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-58.0.10.tgz", + "integrity": "sha512-oW0geRREubSsqV2d0EwkK0rRcAoB7a68CnJx7s8Al33HoTtEg7KLTQNcKlSTmmwoUESQQvAmzNqAZy4ajuCBKA==", "license": "MIT", "peer": true, "dependencies": { @@ -1472,7 +1472,7 @@ "glob": "^13.0.0", "semver": "^7.7.4", "slugify": "^1.6.6", - "xcode": "^3.0.1", + "xcode": "^4.0.0", "xml2js": "0.6.0" } }, @@ -1543,9 +1543,9 @@ } }, "node_modules/@expo/env": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/@expo/env/-/env-2.5.2.tgz", - "integrity": "sha512-z8kCvBVJpd2S20a+Ab1otQgz8sJLeR7CXDTsuAMcNbYFsK10Fdhfb7rx9Ys1vvlbijnY55eZhQvJACajc1IjBQ==", + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/@expo/env/-/env-2.5.3.tgz", + "integrity": "sha512-dBGu8BAfvUcXvG4HvYth+EhcHEsdC+/fT6HTH/zFvvwfp50LG6uzpzT8TXObwEq/t2B/rvAMV5OolxQ46LWXHg==", "license": "MIT", "peer": true, "dependencies": { @@ -1558,13 +1558,13 @@ } }, "node_modules/@expo/fingerprint": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@expo/fingerprint/-/fingerprint-0.21.5.tgz", - "integrity": "sha512-4ngc+aPgMK56sYc47tfabmoaNdP7OvPBOH7QPgN3riSYM0Ev+KwsGRDius5jBBwjCI9ADp7IpjJEK9xlRYjjvA==", + "version": "0.21.6", + "resolved": "https://registry.npmjs.org/@expo/fingerprint/-/fingerprint-0.21.6.tgz", + "integrity": "sha512-EKh7ak+SYwXjvX/4P7BcyeLxip2z9KAsnN/55VP10g8H1Ua4Dm/BgLAhgBcbzbsYretYmNEynAcf9oKCK9pjxA==", "license": "MIT", "peer": true, "dependencies": { - "@expo/env": "^2.5.2", + "@expo/env": "^2.5.3", "@expo/spawn-async": "^1.8.0", "arg": "^5.0.2", "chalk": "^4.1.2", @@ -1597,13 +1597,13 @@ } }, "node_modules/@expo/inline-modules": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/@expo/inline-modules/-/inline-modules-0.2.6.tgz", - "integrity": "sha512-S8PK3wx6ogwunoQ7pqdPbklQGtXloeWTAOzWJ9yIL7xHFxvnI/Ryj0phA3KEGCMlaKZjaCP1h/3s7n/ueErRgQ==", + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@expo/inline-modules/-/inline-modules-0.2.7.tgz", + "integrity": "sha512-jjVtmz1LDhohT19U1fwMSL1kVUVZ9ewHdlEoDwSoZd3QELpyUR54nL677nHUbz0nNA5eh/zk38nByi03T06rLg==", "license": "MIT", "peer": true, "dependencies": { - "@expo/config-plugins": "~58.0.9" + "@expo/config-plugins": "~58.0.10" } }, "node_modules/@expo/json-file": { @@ -1618,20 +1618,20 @@ } }, "node_modules/@expo/local-build-cache-provider": { - "version": "58.0.6", - "resolved": "https://registry.npmjs.org/@expo/local-build-cache-provider/-/local-build-cache-provider-58.0.6.tgz", - "integrity": "sha512-AJk3pslFNlwRMbUbfvxhu6CPA9U7A+JPb88VS/uWkG/S/QMJL90Iw4sPVfG4BOKfRUNkB8ipl432Dr4txjSMKw==", + "version": "58.0.7", + "resolved": "https://registry.npmjs.org/@expo/local-build-cache-provider/-/local-build-cache-provider-58.0.7.tgz", + "integrity": "sha512-RlpFBiduGKpcltNMDVMCEx+YfxsmMVORh5dOuJ1ntdq8igiJv1Qg9nIpRWqFuHL8iY70woRIqG8Ov/txJuHONA==", "license": "MIT", "peer": true, "dependencies": { - "@expo/config": "~58.0.6", + "@expo/config": "~58.0.7", "chalk": "^4.1.2" } }, "node_modules/@expo/log-box": { - "version": "58.0.12", - "resolved": "https://registry.npmjs.org/@expo/log-box/-/log-box-58.0.12.tgz", - "integrity": "sha512-IzDYoFY2iUsmSDvl1V7YUM7UkCPDyMVS4e4a38c2LnFc1A3WGMUiQh+vsHLYTPKjIelu4r7/u4V7Gxtfa0oJgA==", + "version": "58.0.13", + "resolved": "https://registry.npmjs.org/@expo/log-box/-/log-box-58.0.13.tgz", + "integrity": "sha512-Cl9qc77nWjQVivUI5/OCPSEP8s20EtbK3Ivy5ayy+uHO0Cf+XatatWfTvKiHO38VOpT2ywlROzZb4XZyxZUZ1Q==", "license": "MIT", "peer": true, "dependencies": { @@ -1683,17 +1683,17 @@ } }, "node_modules/@expo/metro-config": { - "version": "58.0.14", - "resolved": "https://registry.npmjs.org/@expo/metro-config/-/metro-config-58.0.14.tgz", - "integrity": "sha512-UDUMAJwYGEzaB26ejMLG/IOVzwKDbHzoODBf3FZeRS94kk9jDf1dWE1VMX6bLBLoiflxXwqrMWiH0Fvz3gZ9YQ==", + "version": "58.0.16", + "resolved": "https://registry.npmjs.org/@expo/metro-config/-/metro-config-58.0.16.tgz", + "integrity": "sha512-njvkkNGe2joPmIwoquGTmlmt24q4zYfQs0AIEh5XAyK7o6oVIB/t5EjS4j3f+P6v+ib9U7vxmo62T5+/Dy2pcg==", "license": "MIT", "peer": true, "dependencies": { "@babel/code-frame": "^7.20.0", "@babel/core": "^7.20.0", "@babel/generator": "^7.20.5", - "@expo/config": "~58.0.6", - "@expo/env": "~2.5.2", + "@expo/config": "~58.0.7", + "@expo/env": "~2.5.3", "@expo/json-file": "~11.2.1", "@expo/metro": "~58.0.0", "@expo/platforms": "^58.0.1", @@ -1713,7 +1713,7 @@ "hermes-parser": "^0.36.0", "jsc-safe-url": "^0.2.4", "lightningcss": "^1.30.1", - "noxcturnal": "^0.1.0", + "noxcturnal": "^0.1.8", "picomatch": "^4.0.4", "postcss": "^8.5.23", "resolve-from": "^5.0.0" @@ -1742,10 +1742,44 @@ "walker": "^1.0.8" } }, + "node_modules/@expo/modules-macros-linux-arm64": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/@expo/modules-macros-linux-arm64/-/modules-macros-linux-arm64-0.22.0.tgz", + "integrity": "sha512-FGXyxpZMEJ4pDPCeCBjfBjftCbk03P/1Rf6UkFoL22joqu4XXt+XUsjfTzyKBzP9pAXL39FVdbNClwk529CEEQ==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@expo/modules-macros-linux-x64": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/@expo/modules-macros-linux-x64/-/modules-macros-linux-x64-0.22.0.tgz", + "integrity": "sha512-4yN4cZTCUWkq1Olr0/lA57gFan8+MEo7K3K0cx0bB3TUEqHgL/hyJN79vQKXlp9NWTnOxO7J5uwqMQkQwfh6aw==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, "node_modules/@expo/modules-macros-win32-arm64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@expo/modules-macros-win32-arm64/-/modules-macros-win32-arm64-0.20.0.tgz", - "integrity": "sha512-7B57gc7+TeygPcK8fLYlEhJbbvaPh+JBzex11YIYZrSzbFhz7Q+Z37fSdAfp4EsfCswJNcX0S6wpkgSlVNefVw==", + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/@expo/modules-macros-win32-arm64/-/modules-macros-win32-arm64-0.22.0.tgz", + "integrity": "sha512-nLDXRGZWKNERzP4zH9LdfdZ3jvPBQcQE7LX5UnWW4cnDE/GoiVyUKdXQFK+KRnMD6We5gxqhIOU6SLj74h6fHA==", "cpu": [ "arm64" ], @@ -1757,9 +1791,9 @@ "peer": true }, "node_modules/@expo/modules-macros-win32-x64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@expo/modules-macros-win32-x64/-/modules-macros-win32-x64-0.20.0.tgz", - "integrity": "sha512-BM5a2U2tCyHzmtiSEY70KPsts82Mfy1bHSZ7AUbg6z9LcnxuThxJlcH85/SV5eFbhrPfgDBAG/WAncyZCvKvyA==", + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/@expo/modules-macros-win32-x64/-/modules-macros-win32-x64-0.22.0.tgz", + "integrity": "sha512-IT5/YsBTj2gnfNlxDfv3sC51rBudiSHbPFBKoPBbpwmTCMcQg1rmWVdUoiy7LLC48NNzm86wyMxHpSI5lkW1Gg==", "cpu": [ "x64" ], @@ -1818,20 +1852,20 @@ } }, "node_modules/@expo/prebuild-config": { - "version": "58.0.14", - "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-58.0.14.tgz", - "integrity": "sha512-2wVzVDfXjRB3LzUbW5shOM/A+6eUUCfR+2bpZiWRBBZBtZP2HA5Zq1YgCio1tDqMGAHf2NQQDhvy/Rz1U6aC3A==", + "version": "58.0.15", + "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-58.0.15.tgz", + "integrity": "sha512-1qvYdhCRO3iu2iPtTNhVTetk5U3Cmby/MMDQmunFQ94jyrbtpLyb9PvU6bvvRdzoaC7PZbHp3Xvlwtx+Webx9A==", "license": "MIT", "peer": true, "dependencies": { - "@expo/config": "~58.0.6", - "@expo/config-plugins": "~58.0.9", + "@expo/config": "~58.0.7", + "@expo/config-plugins": "~58.0.10", "@expo/config-types": "^58.0.3", "@expo/image-utils": "^0.12.5", "@expo/json-file": "^11.2.1", "@react-native/normalize-colors": "0.88.0", "debug": "^4.3.1", - "expo-modules-autolinking": "~58.0.13", + "expo-modules-autolinking": "~58.0.14", "resolve-from": "^5.0.0", "semver": "^7.7.4" } @@ -1857,19 +1891,19 @@ } }, "node_modules/@expo/router-server": { - "version": "58.0.14", - "resolved": "https://registry.npmjs.org/@expo/router-server/-/router-server-58.0.14.tgz", - "integrity": "sha512-RSzQYMA+Tv2eTemhjhzpx8+hL+pMC30JTVqAWrk5AZwht+OgaKZar/gHmj4iJf7n3rq+GG6KujrkKF9xAXLz2w==", + "version": "58.0.16", + "resolved": "https://registry.npmjs.org/@expo/router-server/-/router-server-58.0.16.tgz", + "integrity": "sha512-pBts7H/ntTcmJnn/2T2Wfpm2XNu+yp7FVJbB9iKG+pqEDqH7PEFpts1Ju80OXQHL1sDQKhUVMe0TCNp+tclp1w==", "license": "MIT", "peer": true, "dependencies": { "debug": "^4.3.4" }, "peerDependencies": { - "@expo/metro-runtime": "^58.0.14", + "@expo/metro-runtime": "^58.0.15", "expo": "*", - "expo-constants": "^58.0.12", - "expo-font": "^58.0.8", + "expo-constants": "^58.0.13", + "expo-font": "^58.0.9", "expo-router": "*", "expo-server": "^58.0.5", "react": "*", @@ -2163,9 +2197,9 @@ } }, "node_modules/@noxcturnal/noxcturnal-darwin-arm64": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@noxcturnal/noxcturnal-darwin-arm64/-/noxcturnal-darwin-arm64-0.1.5.tgz", - "integrity": "sha512-hQgDaWxKYln83Uk1Hh4Liju9AvGoYh4aLd4A1ou3lGn5hxzhW2uO+z3mERtWk6BMGVazvi/yUXtp9x3IlaWyhA==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@noxcturnal/noxcturnal-darwin-arm64/-/noxcturnal-darwin-arm64-0.1.8.tgz", + "integrity": "sha512-IaKvOx7pb7nr+OQ4rm6VKO4z4a7BfqBrvxcDYfvtOHRq9yVylrph0crkWJRgxskGlaBrLMrNiWYHvFqrd0hRSA==", "cpu": [ "arm64" ], @@ -2180,9 +2214,9 @@ } }, "node_modules/@noxcturnal/noxcturnal-darwin-x64": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@noxcturnal/noxcturnal-darwin-x64/-/noxcturnal-darwin-x64-0.1.5.tgz", - "integrity": "sha512-I57zR8QF7Xam+4nGD5UoIODsw0VjkVyn51iDBL3CMaDR5Lh1OxXwKZMYKtv3CtQl+RSDsMfmXBEqGYLE8lIPHg==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@noxcturnal/noxcturnal-darwin-x64/-/noxcturnal-darwin-x64-0.1.8.tgz", + "integrity": "sha512-Fb6Ak5vvDvrroakL+wqN+YWB4QdrPSkqaZEE2vM2xEacFozsCckzx3cDzSeA1uFOK52LPEzY5n9ylkGDjw5WcQ==", "cpu": [ "x64" ], @@ -2197,9 +2231,9 @@ } }, "node_modules/@noxcturnal/noxcturnal-linux-arm64-gnu": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@noxcturnal/noxcturnal-linux-arm64-gnu/-/noxcturnal-linux-arm64-gnu-0.1.5.tgz", - "integrity": "sha512-gVH4XJPh8RdrdjjlU0dKeielQt/FXfvqhr8IEWEf3VeNtQs8l2rPzFPdqS0uwLWQYHLBGgB0LkuOil1KKYx1gQ==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@noxcturnal/noxcturnal-linux-arm64-gnu/-/noxcturnal-linux-arm64-gnu-0.1.8.tgz", + "integrity": "sha512-P0zDdjt1Y3bhi790BJBLV84CRTFedHouV11VQMu8kiCgc+Y+fxVnmob2D6DBvyk8INdTnfxz4cXUMA7DgG9Qxg==", "cpu": [ "arm64" ], @@ -2217,9 +2251,9 @@ } }, "node_modules/@noxcturnal/noxcturnal-linux-arm64-musl": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@noxcturnal/noxcturnal-linux-arm64-musl/-/noxcturnal-linux-arm64-musl-0.1.5.tgz", - "integrity": "sha512-rzQ075fcHZ+ebsELussRjnW8WBMy1RuLdS8wSqBGhdVlPR7/NaSyoWkNxnVDT8sEO26xjqGoW/o/08ghBzr/zA==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@noxcturnal/noxcturnal-linux-arm64-musl/-/noxcturnal-linux-arm64-musl-0.1.8.tgz", + "integrity": "sha512-Pd6DMObIX0Brh4Sj/kon9F0766Fw7DKjVLrjptITcmeE44jKJAWNihPC3dTbgkgb/9Q2inp0VGLFRW19+073bQ==", "cpu": [ "arm64" ], @@ -2237,9 +2271,9 @@ } }, "node_modules/@noxcturnal/noxcturnal-linux-x64-gnu": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@noxcturnal/noxcturnal-linux-x64-gnu/-/noxcturnal-linux-x64-gnu-0.1.5.tgz", - "integrity": "sha512-X5O0lXMrv8HGOGoXDB1PG0Hjt7Rl+MJA+seR2NecQvUAAw2gzDvF/unCV5sqTAVeHfXhBHEFGkLenHZSD44efg==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@noxcturnal/noxcturnal-linux-x64-gnu/-/noxcturnal-linux-x64-gnu-0.1.8.tgz", + "integrity": "sha512-gPAYMhvQmN1BOK5fPII9f3TGtUaR71fCFsKNFoYsiTMs8MidFkkkSvSpawDNubgFMBqYaO38mKtKAW1AuXCnMw==", "cpu": [ "x64" ], @@ -2257,9 +2291,9 @@ } }, "node_modules/@noxcturnal/noxcturnal-linux-x64-musl": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@noxcturnal/noxcturnal-linux-x64-musl/-/noxcturnal-linux-x64-musl-0.1.5.tgz", - "integrity": "sha512-fkQIQHRxqldNXVmjxfeCvGOiLhLU9SLBw1As02pMA2xjyiZfiXcUn4SUrZ92ciGnyCS8/XMbx+nZSxgEc3qDPw==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@noxcturnal/noxcturnal-linux-x64-musl/-/noxcturnal-linux-x64-musl-0.1.8.tgz", + "integrity": "sha512-dhQuKKN75YTCgjjh/txGBP6Lc2L9/HMqyeBEMLWkyFlq1u2OC0j8HeGQtzKjP5cnLiibrn0JgcuLJqDSklxuMg==", "cpu": [ "x64" ], @@ -2277,9 +2311,9 @@ } }, "node_modules/@noxcturnal/noxcturnal-win32-arm64-msvc": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@noxcturnal/noxcturnal-win32-arm64-msvc/-/noxcturnal-win32-arm64-msvc-0.1.5.tgz", - "integrity": "sha512-baeH5m/vM1nf0J2UkW8cfgiVogpM0gRO9b4PZWknXQPbv5+k+0N5sGOYl/UAO2q72qYb3Xbiu7eD8c4A2kR2SA==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@noxcturnal/noxcturnal-win32-arm64-msvc/-/noxcturnal-win32-arm64-msvc-0.1.8.tgz", + "integrity": "sha512-ltg2UV1I/hdux6rPSF0RTlh2V2F7NXuqp3AdbwAGexEqxbXFdy2tw2hwmsUrCbIgwrXsjlijpgsOl5JEXRc84w==", "cpu": [ "arm64" ], @@ -2294,9 +2328,9 @@ } }, "node_modules/@noxcturnal/noxcturnal-win32-x64-msvc": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@noxcturnal/noxcturnal-win32-x64-msvc/-/noxcturnal-win32-x64-msvc-0.1.5.tgz", - "integrity": "sha512-2faDMzom8pCG/s/uR4Czh1atz4KohI85AaSmA2vtAuVnCq+nLL4Viys3A5vUlNz9MNBmTNFxzXyF2Z5HtfxXLg==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@noxcturnal/noxcturnal-win32-x64-msvc/-/noxcturnal-win32-x64-msvc-0.1.8.tgz", + "integrity": "sha512-A39bKv270jJnC5NN6mAy46E2d3LPywjrbmNJhgckPQNldV9acTYUKZcySCYeLgP/2yAVUh3UFSjo84pFX2npVw==", "cpu": [ "x64" ], @@ -2533,9 +2567,9 @@ } }, "node_modules/@rollup/pluginutils": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.4.0.tgz", - "integrity": "sha512-MfPp06CjRLfXQ3wY0R8vJDYBy/MvVcc9OulEfR0B8Iv9ko+GCNaRZ+EpJYFl27LhKsZK0o420sYCRHCjfCgeUg==", + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.5.1.tgz", + "integrity": "sha512-P9ZvnfouRu4MSC+ilERaw6FmZs8zqKhpHxEs4aGDGWQAMzQGXnhvCSvoNwokfNvdt7t3Y5Y4p6gStQgezeIqug==", "dev": true, "license": "MIT", "dependencies": { @@ -2556,9 +2590,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.63.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.63.2.tgz", - "integrity": "sha512-Xa6RDoWa+hNiX6PgsljlH6W75RaONx3y6PVlbLhkEWW+GaPQ3dP5gwbL/erAzQHWwkvW5UxdD5l87Qx2FAQ/4A==", + "version": "4.64.10", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.64.10.tgz", + "integrity": "sha512-oJ9ZfVIZjSjts0ZIYA48+5T0vurE5fQfX/Liad2U52Y6EN99x/OCdjGGuKMDP6jSk2i2lY6jwwA3X0drEc4PBg==", "cpu": [ "arm" ], @@ -2570,9 +2604,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.63.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.63.2.tgz", - "integrity": "sha512-vNASxsghMfQ5s+v3PrpnJd+ryL/26lxCCaGI+sDJ7VzmHiYXIrrVltsDhaawxLM1WcoMU2oYlbPHLaYQtBzhcg==", + "version": "4.64.10", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.64.10.tgz", + "integrity": "sha512-LylBINgYYwgHNz8OMCy5+Y0w/LEgRYE0PcAIZfEuTuLNMf0S40GSLX6SFwqZsBLplS7RIHHy4zOAbl8Y5cQEvg==", "cpu": [ "arm64" ], @@ -2584,9 +2618,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.63.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.63.2.tgz", - "integrity": "sha512-0dWDjmlrpZAgjPD/aPzUDhBW8APLRjAni5bOrM76wiiZm+E+KTMVKNhAzaTBohz8UyO2fKNAl0+fygbe2HZXOA==", + "version": "4.64.10", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.64.10.tgz", + "integrity": "sha512-vbuT3VT1GBI2fAOoUJUrsHVoOg9nbrFXTM7e3DSnb9PYf4n6jZCN8v4Vo8O6x4u5B67+/c803b8BtCZe2nIeqA==", "cpu": [ "arm64" ], @@ -2598,9 +2632,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.63.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.63.2.tgz", - "integrity": "sha512-N58uktcwzk3+qT4KHEuNdIxX1N01RWrkfVoml69EAbSaNDL+sbNVLx2RMl4Qd23lpA0fgPvyh5hHb4weD5WKmg==", + "version": "4.64.10", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.64.10.tgz", + "integrity": "sha512-qYUp/qYvM3T4cF+VWalPl+przBUESILxi+qZ1m1MVRHpg06vS+jHaxXubjCaRpXjLJPDFdXzOZ0FABDghHOhNQ==", "cpu": [ "x64" ], @@ -2612,9 +2646,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.63.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.63.2.tgz", - "integrity": "sha512-HWF2zH8EAp2scWRpt2PGe6iUGz7zi04waXsdRr3zb4DWCk2ImIo5FZu0jjmD53nP/DGSvnW0e7/1ToCNZs2lZw==", + "version": "4.64.10", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.64.10.tgz", + "integrity": "sha512-v9NRQG+JztbP4DP/0yuhSyDcEJk047lYbqeNnqIgbXITcVDjGDS7OpkW5nadSY3tJ7MY8W1qIMMqP4Q3Q8BDjQ==", "cpu": [ "arm64" ], @@ -2626,9 +2660,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.63.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.63.2.tgz", - "integrity": "sha512-MkvcwHMnzPSMOQEwB6wHnLzmc+hT8BGc5bW/Mhmjjgx3wbj6VBnlc47XsK74kD0K9MikFfXpQqyz4NUXaUW62A==", + "version": "4.64.10", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.64.10.tgz", + "integrity": "sha512-CHc9LBHdxhn6/NXfb9IegXCWoz5VlvcDOx9QrzZ9q+XYhFlfzwymSWJjOlZcEMMtC1zgMV7qxDe6U18AI1SG0A==", "cpu": [ "x64" ], @@ -2640,9 +2674,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.63.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.63.2.tgz", - "integrity": "sha512-xe1bCKPJaKsD0tfd7Rb6bGfUogJTpKbTEEthsfdb7hTfTRNJVQTdirabQx0o6ERVba/smkM720soMY+0QnrlSQ==", + "version": "4.64.10", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.64.10.tgz", + "integrity": "sha512-ble2WR7kWfzZFJUd3ODMGCJn1XDszptfRC0QvWc0h9/EA6MxnrQ1mvbjPZifEdgHyfHhDrwWeKeJONDITcrHSg==", "cpu": [ "arm" ], @@ -2657,9 +2691,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.63.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.63.2.tgz", - "integrity": "sha512-yOM7LdK0p6gk6+Q773OEwtlsikT1TL3yMmYsTtRlDRPha5vV2DC5x7LqRWDr6f3cSYNMKVqxzffXv8ivxNBIFQ==", + "version": "4.64.10", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.64.10.tgz", + "integrity": "sha512-DMCYegihxBMKvLpODdk4OsvIgxtHTi+Oddf1Pm3d6wMVNjcBiG2pqyXjMPy55HgG1gCdEFr9VfhB1CmvuKn1lw==", "cpu": [ "arm" ], @@ -2674,9 +2708,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.63.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.63.2.tgz", - "integrity": "sha512-qiWuJJV3DybA2IfzvRimeKXGrGuVPv1zobSY/26KnP3HbV0VcNb3ECzgvtbvF3xjSMkcooou6HASXZuLdjnhpQ==", + "version": "4.64.10", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.64.10.tgz", + "integrity": "sha512-HQ6HuVH9TmhvPWIas7MA/KeAROgdwqH3REpUU6hZq47NW7m1b1QCrHgM+M3+N/B8DfMt88x1/z79ppRc9RflCQ==", "cpu": [ "arm64" ], @@ -2691,9 +2725,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.63.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.63.2.tgz", - "integrity": "sha512-akcZquRzCY/KpUoZAMBhGf7oi4LmXq1BzRA5CPAC3rkUf28Y/sAYV3jSL+JKd7cwEyFvR5G0XVZ0gaMedP+60A==", + "version": "4.64.10", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.64.10.tgz", + "integrity": "sha512-avBhxba1DdctX0kxKkN3JWdTSg72QsxSn6FdfhZ9MkL3TTYDOXqxY1GqbC7VNttlgviK7tCe2No5btfRkFgeIg==", "cpu": [ "arm64" ], @@ -2708,9 +2742,9 @@ ] }, "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.63.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.63.2.tgz", - "integrity": "sha512-fNwYHrPyYyxauPzX/cpYw8Z7LQpp+DGA0KCoswA0aVFBpmdMil9XgjB8V3Ny64Ihu797+GKcuJqnsOKEmor7fA==", + "version": "4.64.10", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.64.10.tgz", + "integrity": "sha512-UtQMex7fiXq0W/GqcWRpy6XKqUbXgQeGKB+Bd5rJngmHzpI+3kjwpWFLAhKg02onFsIMSh+Zx0zp9JIMQ7/05A==", "cpu": [ "loong64" ], @@ -2725,9 +2759,9 @@ ] }, "node_modules/@rollup/rollup-linux-loong64-musl": { - "version": "4.63.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.63.2.tgz", - "integrity": "sha512-XfvsgzR7DZqREdst7K1Mj3ilSUM5xLAHJcIMDFPKdxTs9q5VHOT8aMA+a683fqBu7DQl8+Sd9HCsQYL8EMY9qA==", + "version": "4.64.10", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.64.10.tgz", + "integrity": "sha512-0Aum2pUsCSuOopi6oka+nR1DTj/nfvc1xjL979lvh6kXUjNa30TCX7sKFjyMsrX7bK3bNVs0FsJwQcE2HCWX1Q==", "cpu": [ "loong64" ], @@ -2742,9 +2776,9 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.63.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.63.2.tgz", - "integrity": "sha512-Pp7gVZggEFlbcuztay+/U0gVG9S1XAh8i7I1Re/htbAzo43P5wHZHw6pTyzotISqlKohoh9RpIfnOz3RbemK1w==", + "version": "4.64.10", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.64.10.tgz", + "integrity": "sha512-4dgsouKal3qfMFORgtNigLPt7K3HXiO6jTr7+nFJv1GWu1OkZx0kvQIXbK4sjrIGnaLBk0s80eQCQ9hPIelLrw==", "cpu": [ "ppc64" ], @@ -2759,9 +2793,9 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-musl": { - "version": "4.63.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.63.2.tgz", - "integrity": "sha512-zkgL2xff6i7u5hau/m6FGeS8gRkLEdgLw522WGmdWWlLd9btmNl3S80mcEjtGq+kvgUekQ3+BOYLLLcPlS2LIA==", + "version": "4.64.10", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.64.10.tgz", + "integrity": "sha512-d7NE89try3jisYzBD7J9M5iwfgcrXYC4dwHEjQ3HIWBftvwch1U/cy3iZ26SthtUOyClKiu7iqYiFjQEwiOlqQ==", "cpu": [ "ppc64" ], @@ -2776,9 +2810,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.63.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.63.2.tgz", - "integrity": "sha512-qOheJomrkVCbbHFJ7L3J97cnhfogKqguAQphv26+3ZsAQIF1L19b+dArl//s8rjJHJLz9byykyM8NBP4nmSa1g==", + "version": "4.64.10", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.64.10.tgz", + "integrity": "sha512-dqB5ChSBp91JWXxpCKAS5ZVAE38esKQvdfyqANm0lF5JPiQrXnYwgG3oVBQmuNRcQ1WHkA3j5qYLsrl2CtfhCA==", "cpu": [ "riscv64" ], @@ -2793,9 +2827,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.63.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.63.2.tgz", - "integrity": "sha512-XlxLD54wQhH3FciCgMofxBw27NzUe818gJH410qWvc41UT0ZFcgxVjyX5/EK8MPTupjeVWqN5oy+9pCA9mqfCA==", + "version": "4.64.10", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.64.10.tgz", + "integrity": "sha512-7GMf3vbQQslorWLmfsbi5fdt9RVnglk205XpOMFvW6UY5jE5oJc6JLieQJPHtsYlZ2EO0PtC06nY9Hz/IG8guw==", "cpu": [ "riscv64" ], @@ -2810,9 +2844,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.63.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.63.2.tgz", - "integrity": "sha512-vdryWeRb2bLJZf0Fv/W8se6nvsHe2PkTCxV0meheK3nQE+G90VCJcke51Miy1yQRsfm2uqIyjXOu4wmUzbTtkQ==", + "version": "4.64.10", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.64.10.tgz", + "integrity": "sha512-tuKbkB23DKc5LG+irPSUnZZztRHqC3CNmyxeWloueBteHB+i+1HkRCMzAE41lseLDlarybeLhqfibFitKOxKMg==", "cpu": [ "s390x" ], @@ -2827,9 +2861,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.63.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.63.2.tgz", - "integrity": "sha512-bcq2h2pkKmH2po4cZV8VWzO4lL40STyu/nLoFpYMQp9C2tCVNTdcVv86MwSsn3D5s1FBe2Ty1atqvVAUTMimNg==", + "version": "4.64.10", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.64.10.tgz", + "integrity": "sha512-ntHtQOMw7oIshHRF1swV3vyBw+beQt9PeZ04O3D32EeDZUMoHMJuZKp4/fDllH/+xogeK0GUCONVfjjKusqKLg==", "cpu": [ "x64" ], @@ -2844,9 +2878,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.63.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.63.2.tgz", - "integrity": "sha512-EGoo5DMVMRkTId8fuTDaoxVlR5ZTsKULUezRjd9gCw5eeY+DjCvDpZAOlNUvKPGX+7rS1RWx6j+yOpNPx0cUgQ==", + "version": "4.64.10", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.64.10.tgz", + "integrity": "sha512-Dlh8q8r145aYgh+N3gNIG1dz35Fz/FCxe5hs/43orDsffjP8S1P4Xz5I4FpSJsDS4LpQw1QmswZkQlUbkCldjQ==", "cpu": [ "x64" ], @@ -2861,9 +2895,9 @@ ] }, "node_modules/@rollup/rollup-openbsd-x64": { - "version": "4.63.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.63.2.tgz", - "integrity": "sha512-MErl12k7BFHZG1TI9QF/3lSSZARzq9KgNy/FjnqFMCkv+N4RSSzoUCA5h2mqHX4Mox3WaTVKblyzhQ1zRb2ZuQ==", + "version": "4.64.10", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.64.10.tgz", + "integrity": "sha512-VBJhHWz/55u45CWFv9OmfSRDgJDVENESgFxSAn13gIKJpTuFJbP4/7ymMZhDfeKFx1zGn1XBsLnNB7Ryy71qww==", "cpu": [ "x64" ], @@ -2875,9 +2909,9 @@ ] }, "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.63.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.63.2.tgz", - "integrity": "sha512-ILs8k07Wh4p0PsNY4wYLEaXZKMOpVhrG5QDB0yHhGhuzOfDlnyHN6sflL4El/MpUP1y8uY2lUZrv4oBS6pTT3g==", + "version": "4.64.10", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.64.10.tgz", + "integrity": "sha512-Vjcazg+EEzUfIz+LcaxS6YtbQHo+sv0sCD+5VbwhY504bCKNW4OOreVgKq61pHT2esRQ/+AXYVPStDwxSvAOdw==", "cpu": [ "arm64" ], @@ -2889,9 +2923,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.63.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.63.2.tgz", - "integrity": "sha512-hKgB3nz/TKD3Wv78XEsyXzQsNjvhOHmwKQTvXADGOyU/cIClZDO7DsoggbdmJDPGp5V80tA3Vfv61PaKTLH3LA==", + "version": "4.64.10", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.64.10.tgz", + "integrity": "sha512-jJAaP4El+HWxYkM0jeJghASaFgfnluY0FRHhyHXxU6STs/nBhKMIxIMDrJEFg2ftKz6orX9WAo4diVan5NugNA==", "cpu": [ "arm64" ], @@ -2903,9 +2937,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.63.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.63.2.tgz", - "integrity": "sha512-T4wf1mudIDxN8Q/CWIBJC1u5gQUc+r5mPvlwoSbIvNkyVTP2TAFeobEmst5AQ4gMyAz4sSByVdoTDfvTmGK/8g==", + "version": "4.64.10", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.64.10.tgz", + "integrity": "sha512-bXXdRUfRx9PaHCToKt8R/7wjDV6Tbk/hmSHK0uQBKmD3rj4jkuYndct8uGX77ZuZsePrVkQbWUgPR2jJhCTMpQ==", "cpu": [ "ia32" ], @@ -2917,9 +2951,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.63.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.63.2.tgz", - "integrity": "sha512-tC3IY7qoaD9Ll3/8WJQn49j5V2f/NuI9S41NOE2iM5MPs3sPIvOkVToLcz/7Bz4pyF7PSvrtwu8I/pUrGOSecQ==", + "version": "4.64.10", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.64.10.tgz", + "integrity": "sha512-57Idx+VkEOQeG6Ys6sZOBFT7FfbeyxGv9A3k1m+Lf/z2SwqT40rNWbAINzjPHSMoCCBvY7Fnb9RGZWQin/HHAw==", "cpu": [ "x64" ], @@ -2931,9 +2965,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.63.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.63.2.tgz", - "integrity": "sha512-6NHnk/K3eq2ZFYcU1X8g67s9qIJRCOTT92gwLMVBp08dB2uuuwI1/Q/empzL2Bfr2f2WRLJVwpp90RmacQyFkw==", + "version": "4.64.10", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.64.10.tgz", + "integrity": "sha512-vrvuasIpm/xf+BpZbzgirku0WnrQZMAc+H2Ai26jzqBxYEmQQE4DdJb7h8erkJMfRRipx0ma2Cty8jJwUm9ocQ==", "cpu": [ "x64" ], @@ -3007,18 +3041,18 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "24.9.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.9.2.tgz", - "integrity": "sha512-uWN8YqxXxqFMX2RqGOrumsKeti4LlmIMIyV0lgut4jx7KQBcBiW6vkDtIBvHnHIquwNfJhk8v2OtmO8zXWHfPA==", + "version": "24.19.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.19.2.tgz", + "integrity": "sha512-93d49wCWJkCyN87MxLpNN6KXPCwFw7bVUg79mGUV1OS40JGWwVCr8n61DXCSqz7CV6/VfPkb7xec7uP2M+QHWQ==", "license": "MIT", "dependencies": { - "undici-types": "~7.16.0" + "undici-types": ">=7.24.0 <7.24.7" } }, "node_modules/@types/readable-stream": { - "version": "4.0.24", - "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-4.0.24.tgz", - "integrity": "sha512-NRvUNC/JFGPJvqdAfEve8oginbM6V08u5NzLWpG8MwA2kTPOLnqk+wpwuPT+mp3aUsxyuT6m2gnrPuHYCruzEg==", + "version": "4.0.25", + "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-4.0.25.tgz", + "integrity": "sha512-7GsxL8Wd5X3jh73/qgW7WCnbBvGSdD8U3E4Jiuus3/8I+PN20DtlkJtwFhr/sImXfDDQ2Z03i/9wNiIF3TVSsw==", "license": "MIT", "dependencies": { "@types/node": "*" @@ -3051,17 +3085,17 @@ "peer": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.70.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.70.0.tgz", - "integrity": "sha512-/v8HZt6RlyIZxB3ntehELOcUcfxKPVGWXnQdJuHRmzrqgF8nQypcC/oxGW+Ot4VGKDq81XugPKxx0n5PBtf9PA==", + "version": "8.71.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.71.2.tgz", + "integrity": "sha512-K72/pvT7qpm8q3k8G5u93NCSN1RcLxX5h7Gw0bQpbMXviBHeY6Nx1WEwmk9wP+eKTSQ8ecxvcgt/ZX/rB938xQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.70.0", - "@typescript-eslint/type-utils": "8.70.0", - "@typescript-eslint/utils": "8.70.0", - "@typescript-eslint/visitor-keys": "8.70.0", + "@typescript-eslint/scope-manager": "8.71.2", + "@typescript-eslint/type-utils": "8.71.2", + "@typescript-eslint/utils": "8.71.2", + "@typescript-eslint/visitor-keys": "8.71.2", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" @@ -3074,15 +3108,15 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.70.0", + "@typescript-eslint/parser": "^8.71.2", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.12.tgz", - "integrity": "sha512-/8UvqAPU9DGTI9k4mxtf49U37Isfwr8Uts96+SBHIkFxPJnHS0Ew4f00sM4Scd8V8EjM0jUNtVDdv1kPdt35lg==", + "version": "7.0.13", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.13.tgz", + "integrity": "sha512-2E8Q6rh+1RRSq/YdaGsNfXsEZy9FVqv6BSSrkmZJP7BnaoPnRfKL+YaofPvP+5rzdk144qSm6i4+hvPgUcbV4Q==", "dev": true, "license": "MIT", "engines": { @@ -3090,16 +3124,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.70.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.70.0.tgz", - "integrity": "sha512-zYvrmj9Yxd63UGaXw+kdt6A0F0s0qveJyuatIM77bYC2DE4pgmg7a50u8LR7PRtXd0x+h+Tl3eXabGm06SWd3Q==", + "version": "8.71.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.71.2.tgz", + "integrity": "sha512-aTtmZjp/x3gsGHkDs04/1I8kNogBJkpQaeGaN0PfiG43NzDEmW2n+OP5im9wfsvyX0yP1UZWBrAGtDBfH9jEVw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.70.0", - "@typescript-eslint/types": "8.70.0", - "@typescript-eslint/typescript-estree": "8.70.0", - "@typescript-eslint/visitor-keys": "8.70.0", + "@typescript-eslint/scope-manager": "8.71.2", + "@typescript-eslint/types": "8.71.2", + "@typescript-eslint/typescript-estree": "8.71.2", + "@typescript-eslint/visitor-keys": "8.71.2", "debug": "^4.4.3" }, "engines": { @@ -3115,14 +3149,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.70.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.70.0.tgz", - "integrity": "sha512-hFHbTNqhU9G+2eKFXCBVb1tjFT/LceiJ4+HfLO4pTpDI0KHi6iajpcFFkaSQ9gXmCh7n82A0PthaayEdN6mspQ==", + "version": "8.71.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.71.2.tgz", + "integrity": "sha512-Pd68GsLVh5ZXlcEccFPdhSOvtHZ/2WU0XsA8zmXOS3F158lVlcTLhfQ6qvtL1RzbMie0Kp8xtbVwAg4nejKPHw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.70.0", - "@typescript-eslint/types": "^8.70.0", + "@typescript-eslint/tsconfig-utils": "^8.71.2", + "@typescript-eslint/types": "^8.71.2", "debug": "^4.4.3" }, "engines": { @@ -3137,14 +3171,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.70.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.70.0.tgz", - "integrity": "sha512-8nP3Kwh5hlgZ4FicGvmznAmJe8UL4sdU8tLukrPaMuQmDuk4Y8xYfzu/aYZW4xT2JCgc7H/TpDI5cGlxcWJSqQ==", + "version": "8.71.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.71.2.tgz", + "integrity": "sha512-YF4wgg5iUX5Obywoac27B56FhozMNFhdJSbh11H5GBAwmBtfyRhmgTQqW9tRNNmHDvsZ2CX6UGzoz+YfYn2Leg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.70.0", - "@typescript-eslint/visitor-keys": "8.70.0" + "@typescript-eslint/types": "8.71.2", + "@typescript-eslint/visitor-keys": "8.71.2" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3155,9 +3189,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.70.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.70.0.tgz", - "integrity": "sha512-adnkeeNq9Sq1sUf4+FRVc0KdgYghzsgFpZSQVZVvY0LCuUuN0FnQgyGzCJeC4fW1cdXseBAjU2EOqUIjbNcZUw==", + "version": "8.71.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.71.2.tgz", + "integrity": "sha512-jz49TAWokm/7yWD9/o837nYax9DyALxIPOImdImvVzo6canBCZYzin8zJyqNR5k1j9K1DE0bVvr0XYB+99uAdg==", "dev": true, "license": "MIT", "engines": { @@ -3172,15 +3206,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.70.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.70.0.tgz", - "integrity": "sha512-NUMKIhYVaVIVLnRL9CRt+VVcuLgSHUCpXn4/+K8wql+vdInUzvx8BjUO1oJ7cG9shjFJKtF8F8Hh2kCh3/KBVw==", + "version": "8.71.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.71.2.tgz", + "integrity": "sha512-cC8UaalCViJkb3rH/xLIvidEwoFRtMZMUqDjjJMGEKaTFwYRHYBcoczlEGHuvkHEO8svRDrgZ0yQgOArFmwang==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.70.0", - "@typescript-eslint/typescript-estree": "8.70.0", - "@typescript-eslint/utils": "8.70.0", + "@typescript-eslint/types": "8.71.2", + "@typescript-eslint/typescript-estree": "8.71.2", + "@typescript-eslint/utils": "8.71.2", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, @@ -3197,9 +3231,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.70.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.70.0.tgz", - "integrity": "sha512-asTOIYhDg4zdzOScCyaytrsV3cR6B4ecPQlXw/dJIm7J/MZTtCtfVII9JD8Geh4jTCrK/Xe6cg5UevoleMcoJQ==", + "version": "8.71.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.71.2.tgz", + "integrity": "sha512-y5Ukl3oVp7e/VGxqIoEXoeb/Roj71PAJ4WG/N/RGj+eeDvKRLM15kGr9MijLbN0i03S52zxu31Z98E5gWChJKw==", "dev": true, "license": "MIT", "engines": { @@ -3211,16 +3245,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.70.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.70.0.tgz", - "integrity": "sha512-d9NmHMPEKQ7QCLLm1jI3zmoQBwT5KwFYjXBJ9ymZfKCUU+5rmTRykKAFvH5Qn/ZCds3CEAFS9OC9M/jkl0X2bA==", + "version": "8.71.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.71.2.tgz", + "integrity": "sha512-DgNOEsl4pdYzwSL+N/Cl33tX1Hlw3FvId73LnKXfq7jnrF2viOEn7X+P7RBkkSWCVm92gnWd28GIC5vJuLREeA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.70.0", - "@typescript-eslint/tsconfig-utils": "8.70.0", - "@typescript-eslint/types": "8.70.0", - "@typescript-eslint/visitor-keys": "8.70.0", + "@typescript-eslint/project-service": "8.71.2", + "@typescript-eslint/tsconfig-utils": "8.71.2", + "@typescript-eslint/types": "8.71.2", + "@typescript-eslint/visitor-keys": "8.71.2", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", @@ -3239,16 +3273,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.70.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.70.0.tgz", - "integrity": "sha512-oZmtKJz/4fufZ2p3+Cn3ijEojcdfR+1zYDH2xKYrEly0dR/Q/1xUPRCOlKGxod78nWlU2UnDe09GZ3TaknBFGA==", + "version": "8.71.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.71.2.tgz", + "integrity": "sha512-RyKa1G1M9rKHDhrk+HJtiF1MvLD5Ux2JW3TSkzw+02pRALdpJb+QzG1Y5em+LvCgzGwgg8H7mBRFKljNz7ImPw==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.70.0", - "@typescript-eslint/types": "8.70.0", - "@typescript-eslint/typescript-estree": "8.70.0" + "@typescript-eslint/scope-manager": "8.71.2", + "@typescript-eslint/types": "8.71.2", + "@typescript-eslint/typescript-estree": "8.71.2" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3263,13 +3297,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.70.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.70.0.tgz", - "integrity": "sha512-BoC8PiO4Hkdo0TVJh9Ntxr5MxPDI7/oFsrygN5ADelFSeXG/qgNuucIGA+L5Z6JpPTE/uRfcTWtscjbUaufepQ==", + "version": "8.71.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.71.2.tgz", + "integrity": "sha512-zozlN0UA32bSG2zkKAgQyRYSbEISVoyU6vvkKYo2aSny74D8Jh4e+POkJ6Lk0dlezZi5x7TtD+88Xb06IB8nhg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.70.0", + "@typescript-eslint/types": "8.71.2", "eslint-visitor-keys": "^5.0.0" }, "engines": { @@ -3576,9 +3610,9 @@ } }, "node_modules/babel-preset-expo": { - "version": "58.0.17", - "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-58.0.17.tgz", - "integrity": "sha512-Rrqc/Z5Idc4bG2/PrEh725t3kvuAc7jUKCJ+wZVU9KXk2bKSdqAniXxQa8aph9aHdv4h5sGKLpMXMaMNz/4+Og==", + "version": "58.0.19", + "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-58.0.19.tgz", + "integrity": "sha512-vla5Ga5RCH+L+DhrVZCNf1V481iYNxJtlIq/O0OIj9PcZORv0oLu1SIrUO7ZkzCA1fR5wMEtjhqAQUpvRbpWWw==", "license": "MIT", "peer": true, "dependencies": { @@ -3628,7 +3662,7 @@ "peerDependencies": { "@babel/runtime": "^7.20.0", "expo": "*", - "expo-widgets": "^58.0.20", + "expo-widgets": "^58.0.22", "react-refresh": ">=0.14.0 <1.0.0" }, "peerDependenciesMeta": { @@ -3673,9 +3707,9 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.11.29", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.29.tgz", - "integrity": "sha512-YeesxhUmR4h5y5V8KF8iBCqJb8YFrBJ++XBTeGcWIaQOYXGN19JM0FoiOjAhwuDoln8owMgXcWBmgHtYSkky2w==", + "version": "2.11.30", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.30.tgz", + "integrity": "sha512-YJs6Pz17RMNv8HoyKREtCY38E3BV1nPkWVmIb+XN1uHC1Vqt3KZCH/uJH9ZKRoiKb/icZ6tvehyee6RZNbFfRA==", "license": "Apache-2.0", "peer": true, "bin": { @@ -3777,9 +3811,9 @@ } }, "node_modules/browserslist": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.29.3.tgz", - "integrity": "sha512-1R4kiYKXGViqEN0CnoDrXc1StD9niAwu+j2dukWzrD4bJgsD4lDmEp0CRbc6E/vYJIfTHwPmwyaKtVSudICdPA==", + "version": "4.29.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.29.4.tgz", + "integrity": "sha512-2TcbbiwXEq+N0kD36tykpCfyyQigUXmuwNQbnPp4Xk4PX9JOqVIKjJlIDjpH7uY6tmRGoAd+apeT1p60T8wsdA==", "funding": [ { "type": "opencollective", @@ -3797,11 +3831,11 @@ "license": "MIT", "peer": true, "dependencies": { - "baseline-browser-mapping": "^2.11.26", - "caniuse-lite": "^1.0.30001813", - "electron-to-chromium": "^1.5.439", - "node-releases": "^2.0.57", - "update-browserslist-db": "^1.3.3" + "baseline-browser-mapping": "^2.11.29", + "caniuse-lite": "^1.0.30001816", + "electron-to-chromium": "^1.5.459", + "node-releases": "^2.0.59", + "update-browserslist-db": "^1.3.4" }, "bin": { "browserslist": "cli.js" @@ -3888,9 +3922,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001816", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001816.tgz", - "integrity": "sha512-+8Yx7BXCoqk6IF8yTicjfUR6D/ldJzdlsodlEOiOSPmhK844WIgk67/zIQaGAOxNkZyyvBlrRFnLvqKIoqbAFw==", + "version": "1.0.30001819", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001819.tgz", + "integrity": "sha512-LFUqIIAwpzsIuevnKnsR9qnStBcgzPShTX61lBwN9uFkkf8o8zLiebEjbW8AYtZiF+1YKDWfdt/pWDtMuG8Xwg==", "funding": [ { "type": "opencollective", @@ -4199,13 +4233,13 @@ "peer": true }, "node_modules/core-js-compat": { - "version": "3.50.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.50.0.tgz", - "integrity": "sha512-XGpFGbMLHwSt74YLTKho7Ib242qi6O8MSX+sRokV4oz7iKXvQWGYZthjIhjRGMxjzVkAubBO512dKGYcefmX3Q==", + "version": "3.51.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.51.0.tgz", + "integrity": "sha512-52r6fkXgxv4GLMjmFcMWRx7X9bw071xTTdrDcdyPGRqU2oE+9pCG0bAOMifSBdLw0JRBZKEF0q3B55qPlLuE8g==", "license": "MIT", "peer": true, "dependencies": { - "browserslist": "^4.28.7" + "browserslist": "^4.29.3" }, "engines": { "node": ">=6.4.0" @@ -4332,9 +4366,9 @@ "peer": true }, "node_modules/electron-to-chromium": { - "version": "1.5.459", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.459.tgz", - "integrity": "sha512-4SC9HHSFjO/liAhifpdOL5hG9b4BP7/5G3y3UPZVO8trlAXr1CaUEEJL0gWK3kOcYcZrOA5rkwG45Gra/lTIgg==", + "version": "1.5.463", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.463.tgz", + "integrity": "sha512-nVWNU6ltFjopvOdD44J4zoBkgO0M+WZiFKKFV7EjebOH9z0KNphk6bCEjplXtJofL21ARIuuwWOCsFkBVklm6w==", "license": "ISC", "peer": true }, @@ -4405,9 +4439,9 @@ } }, "node_modules/eslint": { - "version": "10.10.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.10.0.tgz", - "integrity": "sha512-NPXn6r5zl4uET1DAVPaOwzX3rut4c0wcmw3dWJAfOsTM5+TogXo0DDjz8pwm/hL8cyVNpHqeK4JpN0NjnyFFNw==", + "version": "10.13.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.13.0.tgz", + "integrity": "sha512-UohDjD4zSzEwhf58M3O7vc/ycc8O1I7dNlhtD0WxE8Px8EHNJKtUwzBqrzeGhisRuv2ag4sAYswszCJRgKXYUg==", "dev": true, "license": "MIT", "workspaces": [ @@ -4595,39 +4629,41 @@ } }, "node_modules/expo": { - "version": "58.0.14", - "resolved": "https://registry.npmjs.org/expo/-/expo-58.0.14.tgz", - "integrity": "sha512-M05O++KRgG4NA6kQ9AP60kbN8xqHJ6S8uTXdtkeiwcGVIYzdu2kaUXJyraVturvePO/Mf4PWa0C9+JggrHITwA==", + "version": "58.0.17", + "resolved": "https://registry.npmjs.org/expo/-/expo-58.0.17.tgz", + "integrity": "sha512-IFH8ExamRC2m7La8q/RiBaZ3dcHga2fuMPQzRXsagS7w2sLDwwExEpZWT9Mr+30A13xEuXAHxZD3zmtgetzvHw==", "license": "MIT", "peer": true, "dependencies": { "@babel/runtime": "^7.20.0", - "@expo/cli": "^58.1.11", - "@expo/config": "~58.0.6", - "@expo/config-plugins": "~58.0.9", + "@expo/cli": "^58.1.14", + "@expo/config": "~58.0.7", + "@expo/config-plugins": "~58.0.10", "@expo/devtools": "~58.0.2", "@expo/dom-webview": "~58.0.2", - "@expo/fingerprint": "^0.21.5", - "@expo/local-build-cache-provider": "^58.0.6", - "@expo/log-box": "^58.0.12", + "@expo/fingerprint": "^0.21.6", + "@expo/local-build-cache-provider": "^58.0.7", + "@expo/log-box": "^58.0.13", "@expo/log-box-utils": "^58.0.2", "@expo/metro": "~58.0.0", - "@expo/metro-config": "~58.0.14", + "@expo/metro-config": "~58.0.16", "@ungap/structured-clone": "^1.3.0", - "babel-preset-expo": "~58.0.17", - "expo-asset": "~58.0.16", - "expo-constants": "~58.0.12", - "expo-file-system": "~58.0.9", - "expo-font": "~58.0.8", + "babel-preset-expo": "~58.0.19", + "expo-asset": "~58.0.18", + "expo-constants": "~58.0.13", + "expo-file-system": "~58.0.10", + "expo-font": "~58.0.9", "expo-keep-awake": "~58.0.3", - "expo-modules-autolinking": "~58.0.13", - "expo-modules-core": "~58.0.22", + "expo-modules-autolinking": "~58.0.14", + "expo-modules-cli": "~0.3.1", + "expo-modules-core": "~58.0.24", "pretty-format": "^29.7.0", "react-refresh": "^0.14.2", "whatwg-url-minimum": "^0.2.0" }, "bin": { "expo": "bin/cli", + "expo-modules": "bin/modules", "expo-modules-autolinking": "bin/autolinking", "fingerprint": "bin/fingerprint" }, @@ -4662,14 +4698,14 @@ } }, "node_modules/expo-asset": { - "version": "58.0.16", - "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-58.0.16.tgz", - "integrity": "sha512-beR3uusLA+rFo+6Ug0L7FPR4b6y/37VwtYW2Jig/i+3Co+oyYCTnvVuFPWhb05W9TOZRxdHUEI569fVKIgtYAA==", + "version": "58.0.18", + "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-58.0.18.tgz", + "integrity": "sha512-Cc49mpDd81hIIKw1DVDkL52a/S6MJlHLA+LirUHNR7qJJfopoHrSypg9rRuqvCUVW7/JKvXKqbFX43NynpVzmg==", "license": "MIT", "peer": true, "dependencies": { "@expo/image-utils": "^0.12.5", - "expo-constants": "~58.0.12" + "expo-constants": "~58.0.13" }, "peerDependencies": { "expo": "*", @@ -4678,13 +4714,13 @@ } }, "node_modules/expo-constants": { - "version": "58.0.12", - "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-58.0.12.tgz", - "integrity": "sha512-d3/dsps32nU4m6YJQbXQ1dIfn58GxfmJjTnZ0WtnhdSHTdG/oVsOakLqYRlX/FaLUKkQOSHXMf7hyCx+2a/HSQ==", + "version": "58.0.13", + "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-58.0.13.tgz", + "integrity": "sha512-zUj1rcnYg0O2wKF9L32ToEtFujc5OkslZJ4lWeg+fEwoPMLVwldn6kdEkX8zx31KgSwF94Ey1mIFdFX8Brp73Q==", "license": "MIT", "peer": true, "dependencies": { - "@expo/env": "~2.5.2", + "@expo/env": "~2.5.3", "@expo/require-utils": "^58.0.4" }, "peerDependencies": { @@ -4696,6 +4732,7 @@ "version": "58.0.9", "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-58.0.9.tgz", "integrity": "sha512-JT0km3Wa+wDz/7Rli8ifreoMnmk68ulf/uaWzRA26xm/4K+jGTY+cDhnboRmpmXUCBkED6uqxWmNoXjaVU9VUw==", + "dev": true, "license": "MIT", "peerDependencies": { "expo": "*", @@ -4703,9 +4740,9 @@ } }, "node_modules/expo-font": { - "version": "58.0.8", - "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-58.0.8.tgz", - "integrity": "sha512-i9HKj/ljdmmjLamYQEkI4wXJB9+ap7AG5CpCqK/bgwwy45y5T8+1lpNbYgRXE7aQgmDjPpzd09wX6dOZkHfrxg==", + "version": "58.0.9", + "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-58.0.9.tgz", + "integrity": "sha512-C8sIeVA2NBb76xqqnQ6eVzfXezAfKJC4qVGU9ukKM4KXdLtkhH5bRCvRSc6qUFUmrcNoM3RjI78SEH3lhigRSg==", "license": "MIT", "peer": true, "peerDependencies": { @@ -4726,9 +4763,9 @@ } }, "node_modules/expo-modules-autolinking": { - "version": "58.0.13", - "resolved": "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-58.0.13.tgz", - "integrity": "sha512-uzLFoTnAKabUdITvzRqWTvFkZsOdRPEXj7AEMAuBEhA2kGhqaBDa2EOWqPXVay0QJVoZuIQaEEgPGAXN1dPuYg==", + "version": "58.0.14", + "resolved": "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-58.0.14.tgz", + "integrity": "sha512-KlSVwfggAUM7Y+c4msfLr9r73nkrnkKi7iJ3D9fz7ayaqhAiHR7vd7I2hHj+R6hSTyLyJQuCttmjEfs1N2Mp2w==", "license": "MIT", "peer": true, "dependencies": { @@ -4742,15 +4779,31 @@ "expo-modules-autolinking": "bin/expo-modules-autolinking.js" } }, + "node_modules/expo-modules-cli": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/expo-modules-cli/-/expo-modules-cli-0.3.1.tgz", + "integrity": "sha512-dRLz4GMRi6lETbE729xFVforu9VI2hQ+YLMtVXfukHMjm6KposDOlJGCdYoZpB6oLVMK/NShc1q9v/u4yr1dkA==", + "license": "MIT", + "peer": true, + "dependencies": { + "arg": "^5.0.2" + }, + "bin": { + "expo-modules": "bin/expo-modules.js" + }, + "engines": { + "node": "^22.13.0 || ^24.3.0 || ^26.0.0 || >=27.0.0" + } + }, "node_modules/expo-modules-core": { - "version": "58.0.22", - "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-58.0.22.tgz", - "integrity": "sha512-T3YJYziFkF4JlGDpX4zCl91oIxz1Skq5sp1LFVO+GL/BARSIXk013QWGdRZrvt+wMxoVaql5dpOdPdP5q2+0jQ==", + "version": "58.0.24", + "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-58.0.24.tgz", + "integrity": "sha512-RrE6FEWHJWpyazngFj2ZtpGrgf0sDWsl0Pa6TxHP9VD+Ns0Fju6E831d9nDary0PnGlGLHY31nJqfurOd2uEbg==", "license": "MIT", "peer": true, "dependencies": { - "expo-modules-jsi": "~58.0.15", - "expo-modules-macros": "0.20.0", + "expo-modules-jsi": "~58.0.17", + "expo-modules-macros": "0.22.0", "invariant": "^2.2.4" }, "peerDependencies": { @@ -4765,9 +4818,9 @@ } }, "node_modules/expo-modules-jsi": { - "version": "58.0.15", - "resolved": "https://registry.npmjs.org/expo-modules-jsi/-/expo-modules-jsi-58.0.15.tgz", - "integrity": "sha512-PsjYgL4KWtvBqWH242r0wbP99VjgHkHCpkPCekO7nzb+ulkDNyrNnhysxa0TcNpfRTNLetmCUaLs9t4CcoquZQ==", + "version": "58.0.17", + "resolved": "https://registry.npmjs.org/expo-modules-jsi/-/expo-modules-jsi-58.0.17.tgz", + "integrity": "sha512-pGIj40nf3roqUvCkRbeEJ40ROouyOAdlP3tLWRTci6julMd+FlmCL8UIb6p7TQMODxb8fV2O5VM+QdUd+MPI9A==", "license": "MIT", "peer": true, "peerDependencies": { @@ -4775,14 +4828,16 @@ } }, "node_modules/expo-modules-macros": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/expo-modules-macros/-/expo-modules-macros-0.20.0.tgz", - "integrity": "sha512-Ekgb5c9LQPM9CPnmDZdeWcOa1eBbCDUGrgdN5lIFNH2GWDUf9doeAOK7IqQOOVviamy37eIp5FW+N1zyrIwzoA==", + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/expo-modules-macros/-/expo-modules-macros-0.22.0.tgz", + "integrity": "sha512-IHY+FkILfG19qsyf9G/z7dcWVgsyqdkWsvvob3n5nWKa2meCCAGeEjp42N68fG8Ta6dn/bsceuma7uh2i6ho9g==", "license": "MIT", "peer": true, "optionalDependencies": { - "@expo/modules-macros-win32-arm64": "0.20.0", - "@expo/modules-macros-win32-x64": "0.20.0" + "@expo/modules-macros-linux-arm64": "0.22.0", + "@expo/modules-macros-linux-x64": "0.22.0", + "@expo/modules-macros-win32-arm64": "0.22.0", + "@expo/modules-macros-win32-x64": "0.22.0" } }, "node_modules/expo-server": { @@ -4795,6 +4850,17 @@ "node": "^22.13.0 || ^24.3.0 || ^26.0.0 || >=27.0.0" } }, + "node_modules/expo/node_modules/expo-file-system": { + "version": "58.0.10", + "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-58.0.10.tgz", + "integrity": "sha512-n0M7amp/Bv9TAqVfTWq1zGykmQJWiPzDePZIKp8YYKkVvY7N65bo96sMBQlHkhAyW4I1B6MZABnybliy5DXQig==", + "license": "MIT", + "peer": true, + "peerDependencies": { + "expo": "*", + "react-native": "*" + } + }, "node_modules/exponential-backoff": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz", @@ -5502,16 +5568,6 @@ "license": "MIT", "peer": true }, - "node_modules/js-sdsl": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz", - "integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/js-sdsl" - } - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -6583,9 +6639,9 @@ } }, "node_modules/mqtt": { - "version": "5.15.2", - "resolved": "https://registry.npmjs.org/mqtt/-/mqtt-5.15.2.tgz", - "integrity": "sha512-VWZU2CSUY3U3oN0PSBRDE5SNsFi4zqqNeQ/uv3pZWqY3CrBXD/dhd0ZLjlsk5YnebGlrapi4lRVNJPUNQ5aZ3w==", + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/mqtt/-/mqtt-5.16.1.tgz", + "integrity": "sha512-9aEaiR/mLblsMAiynD8quhcGTaINdta2bdyknAtfVzESfoe6Ncdh/uEs5p+3zqcTEtgYErwL4pNk0QkAynXxlg==", "license": "MIT", "dependencies": { "@types/readable-stream": "^4.0.21", @@ -6597,7 +6653,6 @@ "lru-cache": "^10.4.3", "minimist": "^1.2.8", "mqtt-packet": "^9.0.2", - "number-allocator": "^1.0.14", "readable-stream": "^4.7.0", "rfdc": "^1.4.1", "socks": "^2.8.6", @@ -6698,9 +6753,9 @@ "peer": true }, "node_modules/node-releases": { - "version": "2.0.59", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.59.tgz", - "integrity": "sha512-5qr2okC4ItAI0hG5SaV0HoYMpnM/Y6+Oqr7AmPYy/2uEoGvS+GbSKLeRxSS1uAdu59yz0ouzcuXievSgg///WA==", + "version": "2.0.60", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.60.tgz", + "integrity": "sha512-OmO8+GM1JUZqXET720VrJCwkjUCXmCMQm0Z3UDDRbfNLHS4NEAvY60j5jiFv0tkKw2PNNlqOLhahVmwJIOLDIQ==", "license": "MIT", "peer": true, "engines": { @@ -6708,9 +6763,9 @@ } }, "node_modules/noxcturnal": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/noxcturnal/-/noxcturnal-0.1.5.tgz", - "integrity": "sha512-X/HQXJP/xn7LVQ4z1E4La0NHSl5UHdtJPG6ky4r2/Xgb7k79nGDJgBXk7I5f1V2vInWjlSCM14oSB0cUxwZS/Q==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/noxcturnal/-/noxcturnal-0.1.8.tgz", + "integrity": "sha512-oeyzgpWW2rnWFEdmXpRRBMLqwEfAhoypOBwaU5/BS3iizvmg8Hld+kxONLxifyHi2NJ1v6de2skIifN5mNzIVw==", "license": "MIT", "peer": true, "dependencies": { @@ -6721,14 +6776,14 @@ "node": ">=18" }, "optionalDependencies": { - "@noxcturnal/noxcturnal-darwin-arm64": "0.1.5", - "@noxcturnal/noxcturnal-darwin-x64": "0.1.5", - "@noxcturnal/noxcturnal-linux-arm64-gnu": "0.1.5", - "@noxcturnal/noxcturnal-linux-arm64-musl": "0.1.5", - "@noxcturnal/noxcturnal-linux-x64-gnu": "0.1.5", - "@noxcturnal/noxcturnal-linux-x64-musl": "0.1.5", - "@noxcturnal/noxcturnal-win32-arm64-msvc": "0.1.5", - "@noxcturnal/noxcturnal-win32-x64-msvc": "0.1.5" + "@noxcturnal/noxcturnal-darwin-arm64": "0.1.8", + "@noxcturnal/noxcturnal-darwin-x64": "0.1.8", + "@noxcturnal/noxcturnal-linux-arm64-gnu": "0.1.8", + "@noxcturnal/noxcturnal-linux-arm64-musl": "0.1.8", + "@noxcturnal/noxcturnal-linux-x64-gnu": "0.1.8", + "@noxcturnal/noxcturnal-linux-x64-musl": "0.1.8", + "@noxcturnal/noxcturnal-win32-arm64-msvc": "0.1.8", + "@noxcturnal/noxcturnal-win32-x64-msvc": "0.1.8" } }, "node_modules/npm-package-arg": { @@ -6754,16 +6809,6 @@ "license": "MIT", "peer": true }, - "node_modules/number-allocator": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/number-allocator/-/number-allocator-1.0.14.tgz", - "integrity": "sha512-OrL44UTVAvkKdOdRQZIJpLkAdjXGTRda052sN4sO77bKEzYYqWKMBjQvrJFzqygI99gL6Z4u2xctPW1tB8ErvA==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.1", - "js-sdsl": "4.3.0" - } - }, "node_modules/ob1": { "version": "0.87.1", "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.87.1.tgz", @@ -7182,9 +7227,9 @@ } }, "node_modules/prettier": { - "version": "3.9.6", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.9.6.tgz", - "integrity": "sha512-OpN0zzVdiaiAhxpuuj5efpIS4sY9j7bY6uR5mnj5yPzGkdkjNKSJeUThPb60Jw29QuAZgA4o+/iB49kFiaBX6g==", + "version": "3.9.10", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.9.10.tgz", + "integrity": "sha512-skGHTH1Yb9QvaTC4hWnRTzEYtCpApF0UMBPz+t/0ZPzP8ihefo/btKd+QA7pUE0fEwA1SbS/NmhyEcstdXOIdA==", "dev": true, "license": "MIT", "bin": { @@ -7416,9 +7461,9 @@ } }, "node_modules/readable-stream": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", - "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.8.0.tgz", + "integrity": "sha512-2jhTTU3Eilp/2DMT71gbcoqC35eQHasMJH0RHkYxwlxIv3+FR6Y5xAFZIwEGLxKkjZYEFlsiMNIdwUqjK2lLHQ==", "license": "MIT", "dependencies": { "abort-controller": "^3.0.0", @@ -7565,9 +7610,9 @@ "license": "MIT" }, "node_modules/rollup": { - "version": "4.63.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.63.2.tgz", - "integrity": "sha512-l5eyksV4tPBj6lJyEa37YzIOCSOV7lkZzEHUdpjWZbtD7wTcFYmEYXSgm5bT4vV+dZLb9rBG1W9GROOG4NS4Ew==", + "version": "4.64.10", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.64.10.tgz", + "integrity": "sha512-8N52YH1B5JzBP+B1rkcBERG7rfRTGAM0RmUpyd76yyRfTljuG452GCNbVm6MPzs1+gXBha6Rw5/oHRFohOpfDg==", "dev": true, "license": "MIT", "dependencies": { @@ -7582,31 +7627,31 @@ }, "optionalDependencies": { "@napi-rs/lzma-linux-x64-gnu": "1.5.1", - "@rollup/rollup-android-arm-eabi": "4.63.2", - "@rollup/rollup-android-arm64": "4.63.2", - "@rollup/rollup-darwin-arm64": "4.63.2", - "@rollup/rollup-darwin-x64": "4.63.2", - "@rollup/rollup-freebsd-arm64": "4.63.2", - "@rollup/rollup-freebsd-x64": "4.63.2", - "@rollup/rollup-linux-arm-gnueabihf": "4.63.2", - "@rollup/rollup-linux-arm-musleabihf": "4.63.2", - "@rollup/rollup-linux-arm64-gnu": "4.63.2", - "@rollup/rollup-linux-arm64-musl": "4.63.2", - "@rollup/rollup-linux-loong64-gnu": "4.63.2", - "@rollup/rollup-linux-loong64-musl": "4.63.2", - "@rollup/rollup-linux-ppc64-gnu": "4.63.2", - "@rollup/rollup-linux-ppc64-musl": "4.63.2", - "@rollup/rollup-linux-riscv64-gnu": "4.63.2", - "@rollup/rollup-linux-riscv64-musl": "4.63.2", - "@rollup/rollup-linux-s390x-gnu": "4.63.2", - "@rollup/rollup-linux-x64-gnu": "4.63.2", - "@rollup/rollup-linux-x64-musl": "4.63.2", - "@rollup/rollup-openbsd-x64": "4.63.2", - "@rollup/rollup-openharmony-arm64": "4.63.2", - "@rollup/rollup-win32-arm64-msvc": "4.63.2", - "@rollup/rollup-win32-ia32-msvc": "4.63.2", - "@rollup/rollup-win32-x64-gnu": "4.63.2", - "@rollup/rollup-win32-x64-msvc": "4.63.2", + "@rollup/rollup-android-arm-eabi": "4.64.10", + "@rollup/rollup-android-arm64": "4.64.10", + "@rollup/rollup-darwin-arm64": "4.64.10", + "@rollup/rollup-darwin-x64": "4.64.10", + "@rollup/rollup-freebsd-arm64": "4.64.10", + "@rollup/rollup-freebsd-x64": "4.64.10", + "@rollup/rollup-linux-arm-gnueabihf": "4.64.10", + "@rollup/rollup-linux-arm-musleabihf": "4.64.10", + "@rollup/rollup-linux-arm64-gnu": "4.64.10", + "@rollup/rollup-linux-arm64-musl": "4.64.10", + "@rollup/rollup-linux-loong64-gnu": "4.64.10", + "@rollup/rollup-linux-loong64-musl": "4.64.10", + "@rollup/rollup-linux-ppc64-gnu": "4.64.10", + "@rollup/rollup-linux-ppc64-musl": "4.64.10", + "@rollup/rollup-linux-riscv64-gnu": "4.64.10", + "@rollup/rollup-linux-riscv64-musl": "4.64.10", + "@rollup/rollup-linux-s390x-gnu": "4.64.10", + "@rollup/rollup-linux-x64-gnu": "4.64.10", + "@rollup/rollup-linux-x64-musl": "4.64.10", + "@rollup/rollup-openbsd-x64": "4.64.10", + "@rollup/rollup-openharmony-arm64": "4.64.10", + "@rollup/rollup-win32-arm64-msvc": "4.64.10", + "@rollup/rollup-win32-ia32-msvc": "4.64.10", + "@rollup/rollup-win32-x64-gnu": "4.64.10", + "@rollup/rollup-win32-x64-msvc": "4.64.10", "fsevents": "~2.3.2" } }, @@ -7725,9 +7770,9 @@ } }, "node_modules/send/node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.2.tgz", + "integrity": "sha512-ATWUv387i+nLD49EiDoOft5scf32Vsdz3ktrQJG9bi7jRFmaXTssvyvj1EmeKVVgvesbqUtvQQvaS2TpTukAZQ==", "license": "MIT", "peer": true, "dependencies": { @@ -7735,6 +7780,10 @@ }, "engines": { "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/send/node_modules/statuses": { @@ -8331,16 +8380,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.70.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.70.0.tgz", - "integrity": "sha512-P/W5cz70/cQAuKfY3xwQMWWTV7BvJ0mAQmi+9mBcsVPaBUpd6Ohpa+fECv9rBFrQcig86jAiNBFNWUqnTjr4pw==", + "version": "8.71.2", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.71.2.tgz", + "integrity": "sha512-Rz4effbMy2g9wnvOJZG6SbVavX313Lap1vNEbk1RUochzickvzP8P4HB+bkNg5e50eVz1hQGjh9K1omI1xB4Bw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.70.0", - "@typescript-eslint/parser": "8.70.0", - "@typescript-eslint/typescript-estree": "8.70.0", - "@typescript-eslint/utils": "8.70.0" + "@typescript-eslint/eslint-plugin": "8.71.2", + "@typescript-eslint/parser": "8.71.2", + "@typescript-eslint/typescript-estree": "8.71.2", + "@typescript-eslint/utils": "8.71.2" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -8355,9 +8404,9 @@ } }, "node_modules/undici-types": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", - "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.24.6.tgz", + "integrity": "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==", "license": "MIT" }, "node_modules/unicode-canonical-property-names-ecmascript": { @@ -8471,20 +8520,6 @@ "node": ">= 0.4.0" } }, - "node_modules/uuid": { - "version": "14.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.3.tgz", - "integrity": "sha512-Sc5u1VVln93y1Xnz4R+CunOZc7R9LUcTmhj7Rc7Eg3HVcf7rVn2FOoa812fe0W8p3jD7xeoGSYbfqCGGH2B6xw==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "peer": true, - "bin": { - "uuid": "dist-node/bin/uuid" - } - }, "node_modules/validate-npm-package-name": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", @@ -8671,17 +8706,16 @@ } }, "node_modules/xcode": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/xcode/-/xcode-3.0.1.tgz", - "integrity": "sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xcode/-/xcode-4.0.0.tgz", + "integrity": "sha512-dDaoWzc9EP2fp9FS9PVZUkyvFxY4y1TOV9pcKaKLk++Ei/qb97XDFEVP7GnW7Osii/TzVABJ0jq2F+9/lq0TVA==", "license": "Apache-2.0", "peer": true, "dependencies": { - "simple-plist": "^1.1.0", - "uuid": "^7.0.3" + "simple-plist": "^1.3.1" }, "engines": { - "node": ">=10.0.0" + "node": ">=14.17.0" } }, "node_modules/xml2js": { diff --git a/package.json b/package.json index ab93bd38..1abe15c0 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "react-native-appwrite", "homepage": "https://appwrite.io/support", "description": "Appwrite is an open-source self-hosted backend server that abstracts and simplifies complex and repetitive development tasks behind a very simple REST API", - "version": "3.0.0", + "version": "3.1.0", "license": "BSD-3-Clause", "main": "dist/cjs/sdk.js", "exports": { @@ -43,26 +43,26 @@ }, "devDependencies": { "@eslint/js": "10.0.1", - "eslint": "10.10.0", + "eslint": "10.13.0", "expo-file-system": "58.0.9", "@rollup/plugin-typescript": "12.3.0", "@types/json-bigint": "1.0.4", - "@types/node": "24.9.2", - "@types/readable-stream": "4.0.24", + "@types/node": "24.19.2", + "@types/readable-stream": "4.0.25", "playwright": "1.59.0", - "prettier": "3.9.6", - "rollup": "4.63.2", + "prettier": "3.9.10", + "rollup": "4.64.10", "serve-handler": "6.1.7", "tslib": "2.8.1", "typescript": "5.9.3", - "typescript-eslint": "8.70.0" + "typescript-eslint": "8.71.2" }, "dependencies": { "buffer": "6.0.3", "json-bigint": "1.0.0", - "mqtt": "5.15.2", + "mqtt": "5.16.1", "process": "0.11.10", - "readable-stream": "4.7.0" + "readable-stream": "4.8.0" }, "peerDependencies": { "expo": ">=52.0.0", diff --git a/src/client.ts b/src/client.ts index c5277c40..6a92e72d 100644 --- a/src/client.ts +++ b/src/client.ts @@ -270,6 +270,14 @@ class AppwriteException extends Error { } } +export function encodePath(value: unknown): string { + const segment = String(value); + if (segment === '.' || segment === '..') { + throw new AppwriteException('Path parameter cannot be "." or ".."'); + } + return encodeURIComponent(segment); +} + class Client { config: { [key: string]: string } = { endpoint: 'https://cloud.appwrite.io/v1', @@ -291,8 +299,8 @@ class Client { 'x-sdk-name': 'React Native', 'x-sdk-platform': 'client', 'x-sdk-language': 'reactnative', - 'x-sdk-version': '3.0.0', - 'X-Appwrite-Response-Format': '2.5.0', + 'x-sdk-version': '3.1.0', + 'X-Appwrite-Response-Format': '2.6.2', }; /** diff --git a/src/lib/tcp-stream.ts b/src/lib/tcp-stream.ts index 11d8f53c..2197cbbe 100644 --- a/src/lib/tcp-stream.ts +++ b/src/lib/tcp-stream.ts @@ -78,6 +78,8 @@ export function createTcpStream({ socket.setNoDelay(true); const duplex = new Duplex({ + // A closed native socket ends both halves so MQTT.js sees 'close' and reconnects. + allowHalfOpen: false, read() { socket.resume(); }, diff --git a/src/services/account.ts b/src/services/account.ts index 734b600d..806e9e73 100644 --- a/src/services/account.ts +++ b/src/services/account.ts @@ -1,5 +1,10 @@ import { Service } from '../service'; -import { AppwriteException, Client, applyDefaults } from '../client'; +import { + AppwriteException, + Client, + applyDefaults, + encodePath, +} from '../client'; import type { Models } from '../models'; import type { Payload } from '../client'; @@ -391,7 +396,7 @@ export class Account extends Service { const apiPath = '/account/consents/{consentId}'.replace( '{consentId}', - encodeURIComponent(String(consentId)), + encodePath(consentId), ); const apiPayload: Payload = {}; @@ -470,7 +475,7 @@ export class Account extends Service { const apiPath = '/account/consents/{consentId}'.replace( '{consentId}', - encodeURIComponent(String(consentId)), + encodePath(consentId), ); const apiPayload: Payload = {}; @@ -553,7 +558,7 @@ export class Account extends Service { const apiPath = '/account/consents/{consentId}/tokens'.replace( '{consentId}', - encodeURIComponent(String(consentId)), + encodePath(consentId), ); const apiPayload: Payload = {}; @@ -673,8 +678,8 @@ export class Account extends Service { } const apiPath = '/account/consents/{consentId}/tokens/{tokenId}' - .replace('{consentId}', encodeURIComponent(String(consentId))) - .replace('{tokenId}', encodeURIComponent(String(tokenId))); + .replace('{consentId}', encodePath(consentId)) + .replace('{tokenId}', encodePath(tokenId)); const apiPayload: Payload = {}; const uri = new URL(this.client.config.endpoint + apiPath); @@ -771,8 +776,8 @@ export class Account extends Service { } const apiPath = '/account/consents/{consentId}/tokens/{tokenId}' - .replace('{consentId}', encodeURIComponent(String(consentId))) - .replace('{tokenId}', encodeURIComponent(String(tokenId))); + .replace('{consentId}', encodePath(consentId)) + .replace('{tokenId}', encodePath(tokenId)); const apiPayload: Payload = {}; const uri = new URL(this.client.config.endpoint + apiPath); @@ -1073,7 +1078,7 @@ export class Account extends Service { const apiPath = '/account/identities/{identityId}'.replace( '{identityId}', - encodeURIComponent(String(identityId)), + encodePath(identityId), ); const apiPayload: Payload = {}; @@ -1425,7 +1430,7 @@ export class Account extends Service { const apiPath = '/account/mfa/authenticators/{type}'.replace( '{type}', - encodeURIComponent(String(type)), + encodePath(type), ); const apiPayload: Payload = {}; @@ -1500,7 +1505,7 @@ export class Account extends Service { const apiPath = '/account/mfa/authenticators/{type}'.replace( '{type}', - encodeURIComponent(String(type)), + encodePath(type), ); const apiPayload: Payload = {}; @@ -1596,7 +1601,7 @@ export class Account extends Service { const apiPath = '/account/mfa/authenticators/{type}'.replace( '{type}', - encodeURIComponent(String(type)), + encodePath(type), ); const apiPayload: Payload = {}; @@ -1725,7 +1730,7 @@ export class Account extends Service { const apiPath = '/account/mfa/authenticators/{type}'.replace( '{type}', - encodeURIComponent(String(type)), + encodePath(type), ); const apiPayload: Payload = {}; @@ -1833,7 +1838,7 @@ export class Account extends Service { const apiPath = '/account/mfa/authenticators/{type}'.replace( '{type}', - encodeURIComponent(String(type)), + encodePath(type), ); const apiPayload: Payload = {}; @@ -1893,7 +1898,7 @@ export class Account extends Service { const apiPath = '/account/mfa/authenticators/{type}'.replace( '{type}', - encodeURIComponent(String(type)), + encodePath(type), ); const apiPayload: Payload = {}; @@ -2953,7 +2958,7 @@ export class Account extends Service { const apiPath = '/account/passkeys/{passkeyId}'.replace( '{passkeyId}', - encodeURIComponent(String(passkeyId)), + encodePath(passkeyId), ); const apiPayload: Payload = {}; @@ -3044,7 +3049,7 @@ export class Account extends Service { const apiPath = '/account/passkeys/{passkeyId}'.replace( '{passkeyId}', - encodeURIComponent(String(passkeyId)), + encodePath(passkeyId), ); const apiPayload: Payload = {}; @@ -3123,7 +3128,7 @@ export class Account extends Service { const apiPath = '/account/passkeys/{passkeyId}'.replace( '{passkeyId}', - encodeURIComponent(String(passkeyId)), + encodePath(passkeyId), ); const apiPayload: Payload = {}; @@ -3204,7 +3209,7 @@ export class Account extends Service { const apiPath = '/account/passkeys/{passkeyId}/verification'.replace( '{passkeyId}', - encodeURIComponent(String(passkeyId)), + encodePath(passkeyId), ); const apiPayload: Payload = {}; @@ -4894,7 +4899,7 @@ export class Account extends Service { const apiPath = '/account/sessions/oauth2/{provider}'.replace( '{provider}', - encodeURIComponent(String(provider)), + encodePath(provider), ); const apiPayload: Payload = {}; @@ -5208,7 +5213,7 @@ export class Account extends Service { const apiPath = '/account/sessions/{sessionId}'.replace( '{sessionId}', - encodeURIComponent(String(sessionId)), + encodePath(sessionId), ); const apiPayload: Payload = {}; @@ -5308,7 +5313,7 @@ export class Account extends Service { const apiPath = '/account/sessions/{sessionId}'.replace( '{sessionId}', - encodeURIComponent(String(sessionId)), + encodePath(sessionId), ); const apiPayload: Payload = {}; @@ -5407,7 +5412,7 @@ export class Account extends Service { const apiPath = '/account/sessions/{sessionId}'.replace( '{sessionId}', - encodeURIComponent(String(sessionId)), + encodePath(sessionId), ); const apiPayload: Payload = {}; @@ -5734,7 +5739,7 @@ export class Account extends Service { const apiPath = '/account/targets/{targetId}/push'.replace( '{targetId}', - encodeURIComponent(String(targetId)), + encodePath(targetId), ); const apiPayload: Payload = {}; @@ -5826,7 +5831,7 @@ export class Account extends Service { const apiPath = '/account/targets/{targetId}/push'.replace( '{targetId}', - encodeURIComponent(String(targetId)), + encodePath(targetId), ); const apiPayload: Payload = {}; @@ -6204,7 +6209,7 @@ export class Account extends Service { const apiPath = '/account/tokens/oauth2/{provider}'.replace( '{provider}', - encodeURIComponent(String(provider)), + encodePath(provider), ); const apiPayload: Payload = {}; diff --git a/src/services/analytics.ts b/src/services/analytics.ts index af61d584..37e44a72 100644 --- a/src/services/analytics.ts +++ b/src/services/analytics.ts @@ -1,5 +1,5 @@ import { Service } from '../service'; -import { AppwriteException, Client } from '../client'; +import { AppwriteException, Client, encodePath } from '../client'; import type { Payload } from '../client'; export class Analytics extends Service { @@ -11,7 +11,7 @@ export class Analytics extends Service { * Send a tracking event from a browser, native app, or server-side SDK. * * @param {string} params.propertyId - Analytics property ID. - * @param {string} params.name - Event name. "pageview" is just a conventional event name; events are not modeled specially. + * @param {string} params.name - Event name. "pageview" and "screen_view" are counted as views, every other name is a custom event. * @param {string} params.url - Full page URL or screen identifier. * @param {string} params.domain - Hostname (e.g. example.com). * @param {string} params.referrer - Referrer URL. @@ -45,7 +45,7 @@ export class Analytics extends Service { * Send a tracking event from a browser, native app, or server-side SDK. * * @param {string} propertyId - Analytics property ID. - * @param {string} name - Event name. "pageview" is just a conventional event name; events are not modeled specially. + * @param {string} name - Event name. "pageview" and "screen_view" are counted as views, every other name is a custom event. * @param {string} url - Full page URL or screen identifier. * @param {string} domain - Hostname (e.g. example.com). * @param {string} referrer - Referrer URL. @@ -193,7 +193,7 @@ export class Analytics extends Service { const apiPath = '/analytics/properties/{propertyId}/events'.replace( '{propertyId}', - encodeURIComponent(String(propertyId)), + encodePath(propertyId), ); const apiPayload: Payload = {}; diff --git a/src/services/apps.ts b/src/services/apps.ts index 896038d7..55edd0be 100644 --- a/src/services/apps.ts +++ b/src/services/apps.ts @@ -1,5 +1,10 @@ import { Service } from '../service'; -import { AppwriteException, Client, applyDefaults } from '../client'; +import { + AppwriteException, + Client, + applyDefaults, + encodePath, +} from '../client'; import type { Models } from '../models'; import type { Payload } from '../client'; @@ -670,10 +675,7 @@ export class Apps extends Service { throw new AppwriteException('Missing required parameter: "appId"'); } - const apiPath = '/apps/{appId}'.replace( - '{appId}', - encodeURIComponent(String(appId)), - ); + const apiPath = '/apps/{appId}'.replace('{appId}', encodePath(appId)); const apiPayload: Payload = {}; const uri = new URL(this.client.config.endpoint + apiPath); @@ -990,10 +992,7 @@ export class Apps extends Service { throw new AppwriteException('Missing required parameter: "name"'); } - const apiPath = '/apps/{appId}'.replace( - '{appId}', - encodeURIComponent(String(appId)), - ); + const apiPath = '/apps/{appId}'.replace('{appId}', encodePath(appId)); const apiPayload: Payload = {}; if (typeof name !== 'undefined') { @@ -1177,10 +1176,7 @@ export class Apps extends Service { throw new AppwriteException('Missing required parameter: "appId"'); } - const apiPath = '/apps/{appId}'.replace( - '{appId}', - encodeURIComponent(String(appId)), - ); + const apiPath = '/apps/{appId}'.replace('{appId}', encodePath(appId)); const apiPayload: Payload = {}; const uri = new URL(this.client.config.endpoint + apiPath); @@ -1260,7 +1256,7 @@ export class Apps extends Service { const apiPath = '/apps/{appId}/installations'.replace( '{appId}', - encodeURIComponent(String(appId)), + encodePath(appId), ); const apiPayload: Payload = {}; @@ -1376,11 +1372,8 @@ export class Apps extends Service { } const apiPath = '/apps/{appId}/installations/{installationId}' - .replace('{appId}', encodeURIComponent(String(appId))) - .replace( - '{installationId}', - encodeURIComponent(String(installationId)), - ); + .replace('{appId}', encodePath(appId)) + .replace('{installationId}', encodePath(installationId)); const apiPayload: Payload = {}; const uri = new URL(this.client.config.endpoint + apiPath); @@ -1473,11 +1466,8 @@ export class Apps extends Service { } const apiPath = '/apps/{appId}/installations/{installationId}' - .replace('{appId}', encodeURIComponent(String(appId))) - .replace( - '{installationId}', - encodeURIComponent(String(installationId)), - ); + .replace('{appId}', encodePath(appId)) + .replace('{installationId}', encodePath(installationId)); const apiPayload: Payload = {}; const uri = new URL(this.client.config.endpoint + apiPath); @@ -1554,11 +1544,8 @@ export class Apps extends Service { } const apiPath = '/apps/{appId}/installations/{installationId}/tokens' - .replace('{appId}', encodeURIComponent(String(appId))) - .replace( - '{installationId}', - encodeURIComponent(String(installationId)), - ); + .replace('{appId}', encodePath(appId)) + .replace('{installationId}', encodePath(installationId)); const apiPayload: Payload = {}; const uri = new URL(this.client.config.endpoint + apiPath); @@ -1654,7 +1641,7 @@ export class Apps extends Service { const apiPath = '/apps/{appId}/keys'.replace( '{appId}', - encodeURIComponent(String(appId)), + encodePath(appId), ); const apiPayload: Payload = {}; @@ -1750,7 +1737,7 @@ export class Apps extends Service { const apiPath = '/apps/{appId}/keys'.replace( '{appId}', - encodeURIComponent(String(appId)), + encodePath(appId), ); const apiPayload: Payload = {}; @@ -1836,8 +1823,8 @@ export class Apps extends Service { } const apiPath = '/apps/{appId}/keys/{keyId}' - .replace('{appId}', encodeURIComponent(String(appId))) - .replace('{keyId}', encodeURIComponent(String(keyId))); + .replace('{appId}', encodePath(appId)) + .replace('{keyId}', encodePath(keyId)); const apiPayload: Payload = {}; const uri = new URL(this.client.config.endpoint + apiPath); @@ -1921,8 +1908,8 @@ export class Apps extends Service { } const apiPath = '/apps/{appId}/keys/{keyId}' - .replace('{appId}', encodeURIComponent(String(appId))) - .replace('{keyId}', encodeURIComponent(String(keyId))); + .replace('{appId}', encodePath(appId)) + .replace('{keyId}', encodePath(keyId)); const apiPayload: Payload = {}; const uri = new URL(this.client.config.endpoint + apiPath); @@ -2002,7 +1989,7 @@ export class Apps extends Service { const apiPath = '/apps/{appId}/secrets'.replace( '{appId}', - encodeURIComponent(String(appId)), + encodePath(appId), ); const apiPayload: Payload = {}; @@ -2098,7 +2085,7 @@ export class Apps extends Service { const apiPath = '/apps/{appId}/secrets'.replace( '{appId}', - encodeURIComponent(String(appId)), + encodePath(appId), ); const apiPayload: Payload = {}; @@ -2192,8 +2179,8 @@ export class Apps extends Service { } const apiPath = '/apps/{appId}/secrets/{secretId}' - .replace('{appId}', encodeURIComponent(String(appId))) - .replace('{secretId}', encodeURIComponent(String(secretId))); + .replace('{appId}', encodePath(appId)) + .replace('{secretId}', encodePath(secretId)); const apiPayload: Payload = {}; const uri = new URL(this.client.config.endpoint + apiPath); @@ -2282,8 +2269,8 @@ export class Apps extends Service { } const apiPath = '/apps/{appId}/secrets/{secretId}' - .replace('{appId}', encodeURIComponent(String(appId))) - .replace('{secretId}', encodeURIComponent(String(secretId))); + .replace('{appId}', encodePath(appId)) + .replace('{secretId}', encodePath(secretId)); const apiPayload: Payload = {}; const uri = new URL(this.client.config.endpoint + apiPath); @@ -2350,7 +2337,7 @@ export class Apps extends Service { const apiPath = '/apps/{appId}/team'.replace( '{appId}', - encodeURIComponent(String(appId)), + encodePath(appId), ); const apiPayload: Payload = {}; @@ -2465,7 +2452,7 @@ export class Apps extends Service { const apiPath = '/apps/{appId}/tokens'.replace( '{appId}', - encodeURIComponent(String(appId)), + encodePath(appId), ); const apiPayload: Payload = {}; diff --git a/src/services/avatars.ts b/src/services/avatars.ts index 168ed2e5..0748b5ab 100644 --- a/src/services/avatars.ts +++ b/src/services/avatars.ts @@ -1,5 +1,5 @@ import { Service } from '../service'; -import { AppwriteException, Client } from '../client'; +import { AppwriteException, Client, encodePath } from '../client'; import type { Models } from '../models'; import type { UploadProgress, Payload } from '../client'; import { fileSystem } from '../lib/file-system'; @@ -107,7 +107,7 @@ export class Avatars extends Service { const apiPath = '/avatars/browsers/{code}'.replace( '{code}', - encodeURIComponent(String(code)), + encodePath(code), ); const apiPayload: Payload = {}; @@ -237,7 +237,7 @@ export class Avatars extends Service { const apiPath = '/avatars/credit-cards/{code}'.replace( '{code}', - encodeURIComponent(String(code)), + encodePath(code), ); const apiPayload: Payload = {}; @@ -433,7 +433,7 @@ export class Avatars extends Service { const apiPath = '/avatars/flags/{code}'.replace( '{code}', - encodeURIComponent(String(code)), + encodePath(code), ); const apiPayload: Payload = {}; @@ -1720,7 +1720,7 @@ export class Avatars extends Service { const apiPath = '/avatars/browsers/{code}'.replace( '{code}', - encodeURIComponent(String(code)), + encodePath(code), ); const apiPayload: Payload = {}; @@ -1780,7 +1780,7 @@ export class Avatars extends Service { const apiPath = '/avatars/credit-cards/{code}'.replace( '{code}', - encodeURIComponent(String(code)), + encodePath(code), ); const apiPayload: Payload = {}; @@ -1877,7 +1877,7 @@ export class Avatars extends Service { const apiPath = '/avatars/flags/{code}'.replace( '{code}', - encodeURIComponent(String(code)), + encodePath(code), ); const apiPayload: Payload = {}; diff --git a/src/services/databases.ts b/src/services/databases.ts index 69623d16..8d416971 100644 --- a/src/services/databases.ts +++ b/src/services/databases.ts @@ -1,5 +1,10 @@ import { Service } from '../service'; -import { AppwriteException, Client, applyDefaults } from '../client'; +import { + AppwriteException, + Client, + applyDefaults, + encodePath, +} from '../client'; import type { Models } from '../models'; import type { Payload } from '../client'; @@ -233,7 +238,7 @@ export class Databases extends Service { const apiPath = '/databases/transactions/{transactionId}'.replace( '{transactionId}', - encodeURIComponent(String(transactionId)), + encodePath(transactionId), ); const apiPayload: Payload = {}; @@ -338,7 +343,7 @@ export class Databases extends Service { const apiPath = '/databases/transactions/{transactionId}'.replace( '{transactionId}', - encodeURIComponent(String(transactionId)), + encodePath(transactionId), ); const apiPayload: Payload = {}; @@ -425,7 +430,7 @@ export class Databases extends Service { const apiPath = '/databases/transactions/{transactionId}'.replace( '{transactionId}', - encodeURIComponent(String(transactionId)), + encodePath(transactionId), ); const apiPayload: Payload = {}; @@ -503,7 +508,7 @@ export class Databases extends Service { const apiPath = '/databases/transactions/{transactionId}/operations'.replace( '{transactionId}', - encodeURIComponent(String(transactionId)), + encodePath(transactionId), ); const apiPayload: Payload = {}; @@ -656,11 +661,8 @@ export class Databases extends Service { const apiPath = '/databases/{databaseId}/collections/{collectionId}/documents' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace( - '{collectionId}', - encodeURIComponent(String(collectionId)), - ); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{collectionId}', encodePath(collectionId)); const apiPayload: Payload = {}; if (typeof queries !== 'undefined') { @@ -866,11 +868,8 @@ export class Databases extends Service { const apiPath = '/databases/{databaseId}/collections/{collectionId}/documents' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace( - '{collectionId}', - encodeURIComponent(String(collectionId)), - ); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{collectionId}', encodePath(collectionId)); const apiPayload: Payload = {}; if (typeof documentId !== 'undefined') { @@ -1033,11 +1032,8 @@ export class Databases extends Service { const apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/query' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace( - '{collectionId}', - encodeURIComponent(String(collectionId)), - ); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{collectionId}', encodePath(collectionId)); const apiPayload: Payload = {}; if (typeof queries !== 'undefined') { @@ -1206,15 +1202,9 @@ export class Databases extends Service { const apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace( - '{collectionId}', - encodeURIComponent(String(collectionId)), - ) - .replace( - '{documentId}', - encodeURIComponent(String(documentId)), - ); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{collectionId}', encodePath(collectionId)) + .replace('{documentId}', encodePath(documentId)); const apiPayload: Payload = {}; if (typeof queries !== 'undefined') { @@ -1399,15 +1389,9 @@ export class Databases extends Service { const apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace( - '{collectionId}', - encodeURIComponent(String(collectionId)), - ) - .replace( - '{documentId}', - encodeURIComponent(String(documentId)), - ); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{collectionId}', encodePath(collectionId)) + .replace('{documentId}', encodePath(documentId)); const apiPayload: Payload = {}; if (typeof data !== 'undefined') { @@ -1597,15 +1581,9 @@ export class Databases extends Service { const apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace( - '{collectionId}', - encodeURIComponent(String(collectionId)), - ) - .replace( - '{documentId}', - encodeURIComponent(String(documentId)), - ); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{collectionId}', encodePath(collectionId)) + .replace('{documentId}', encodePath(documentId)); const apiPayload: Payload = {}; if (typeof data !== 'undefined') { @@ -1748,15 +1726,9 @@ export class Databases extends Service { const apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace( - '{collectionId}', - encodeURIComponent(String(collectionId)), - ) - .replace( - '{documentId}', - encodeURIComponent(String(documentId)), - ); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{collectionId}', encodePath(collectionId)) + .replace('{documentId}', encodePath(documentId)); const apiPayload: Payload = {}; if (typeof transactionId !== 'undefined') { @@ -1919,13 +1891,10 @@ export class Databases extends Service { const apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/decrement' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace( - '{collectionId}', - encodeURIComponent(String(collectionId)), - ) - .replace('{documentId}', encodeURIComponent(String(documentId))) - .replace('{attribute}', encodeURIComponent(String(attribute))); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{collectionId}', encodePath(collectionId)) + .replace('{documentId}', encodePath(documentId)) + .replace('{attribute}', encodePath(attribute)); const apiPayload: Payload = {}; if (typeof value !== 'undefined') { @@ -2114,13 +2083,10 @@ export class Databases extends Service { const apiPath = '/databases/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/increment' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace( - '{collectionId}', - encodeURIComponent(String(collectionId)), - ) - .replace('{documentId}', encodeURIComponent(String(documentId))) - .replace('{attribute}', encodeURIComponent(String(attribute))); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{collectionId}', encodePath(collectionId)) + .replace('{documentId}', encodePath(documentId)) + .replace('{attribute}', encodePath(attribute)); const apiPayload: Payload = {}; if (typeof value !== 'undefined') { diff --git a/src/services/documents-db.ts b/src/services/documents-db.ts index 012b8a03..498b1bb2 100644 --- a/src/services/documents-db.ts +++ b/src/services/documents-db.ts @@ -1,5 +1,10 @@ import { Service } from '../service'; -import { AppwriteException, Client, applyDefaults } from '../client'; +import { + AppwriteException, + Client, + applyDefaults, + encodePath, +} from '../client'; import type { Models } from '../models'; import type { Payload } from '../client'; @@ -230,7 +235,7 @@ export class DocumentsDB extends Service { const apiPath = '/documentsdb/transactions/{transactionId}'.replace( '{transactionId}', - encodeURIComponent(String(transactionId)), + encodePath(transactionId), ); const apiPayload: Payload = {}; @@ -334,7 +339,7 @@ export class DocumentsDB extends Service { const apiPath = '/documentsdb/transactions/{transactionId}'.replace( '{transactionId}', - encodeURIComponent(String(transactionId)), + encodePath(transactionId), ); const apiPayload: Payload = {}; @@ -420,7 +425,7 @@ export class DocumentsDB extends Service { const apiPath = '/documentsdb/transactions/{transactionId}'.replace( '{transactionId}', - encodeURIComponent(String(transactionId)), + encodePath(transactionId), ); const apiPayload: Payload = {}; @@ -497,7 +502,7 @@ export class DocumentsDB extends Service { const apiPath = '/documentsdb/transactions/{transactionId}/operations'.replace( '{transactionId}', - encodeURIComponent(String(transactionId)), + encodePath(transactionId), ); const apiPayload: Payload = {}; @@ -645,11 +650,8 @@ export class DocumentsDB extends Service { const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}/documents' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace( - '{collectionId}', - encodeURIComponent(String(collectionId)), - ); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{collectionId}', encodePath(collectionId)); const apiPayload: Payload = {}; if (typeof queries !== 'undefined') { @@ -854,11 +856,8 @@ export class DocumentsDB extends Service { const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}/documents' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace( - '{collectionId}', - encodeURIComponent(String(collectionId)), - ); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{collectionId}', encodePath(collectionId)); const apiPayload: Payload = {}; if (typeof documentId !== 'undefined') { @@ -1006,11 +1005,8 @@ export class DocumentsDB extends Service { const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}/documents' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace( - '{collectionId}', - encodeURIComponent(String(collectionId)), - ); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{collectionId}', encodePath(collectionId)); const apiPayload: Payload = {}; if (typeof documents !== 'undefined') { @@ -1175,11 +1171,8 @@ export class DocumentsDB extends Service { const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}/documents/query' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace( - '{collectionId}', - encodeURIComponent(String(collectionId)), - ); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{collectionId}', encodePath(collectionId)); const apiPayload: Payload = {}; if (typeof queries !== 'undefined') { @@ -1347,15 +1340,9 @@ export class DocumentsDB extends Service { const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}/documents/{documentId}' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace( - '{collectionId}', - encodeURIComponent(String(collectionId)), - ) - .replace( - '{documentId}', - encodeURIComponent(String(documentId)), - ); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{collectionId}', encodePath(collectionId)) + .replace('{documentId}', encodePath(documentId)); const apiPayload: Payload = {}; if (typeof queries !== 'undefined') { @@ -1539,15 +1526,9 @@ export class DocumentsDB extends Service { const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}/documents/{documentId}' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace( - '{collectionId}', - encodeURIComponent(String(collectionId)), - ) - .replace( - '{documentId}', - encodeURIComponent(String(documentId)), - ); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{collectionId}', encodePath(collectionId)) + .replace('{documentId}', encodePath(documentId)); const apiPayload: Payload = {}; if (typeof data !== 'undefined') { @@ -1736,15 +1717,9 @@ export class DocumentsDB extends Service { const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}/documents/{documentId}' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace( - '{collectionId}', - encodeURIComponent(String(collectionId)), - ) - .replace( - '{documentId}', - encodeURIComponent(String(documentId)), - ); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{collectionId}', encodePath(collectionId)) + .replace('{documentId}', encodePath(documentId)); const apiPayload: Payload = {}; if (typeof data !== 'undefined') { @@ -1886,15 +1861,9 @@ export class DocumentsDB extends Service { const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}/documents/{documentId}' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace( - '{collectionId}', - encodeURIComponent(String(collectionId)), - ) - .replace( - '{documentId}', - encodeURIComponent(String(documentId)), - ); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{collectionId}', encodePath(collectionId)) + .replace('{documentId}', encodePath(documentId)); const apiPayload: Payload = {}; if (typeof transactionId !== 'undefined') { @@ -2049,13 +2018,10 @@ export class DocumentsDB extends Service { const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/decrement' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace( - '{collectionId}', - encodeURIComponent(String(collectionId)), - ) - .replace('{documentId}', encodeURIComponent(String(documentId))) - .replace('{attribute}', encodeURIComponent(String(attribute))); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{collectionId}', encodePath(collectionId)) + .replace('{documentId}', encodePath(documentId)) + .replace('{attribute}', encodePath(attribute)); const apiPayload: Payload = {}; if (typeof value !== 'undefined') { @@ -2236,13 +2202,10 @@ export class DocumentsDB extends Service { const apiPath = '/documentsdb/{databaseId}/collections/{collectionId}/documents/{documentId}/{attribute}/increment' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace( - '{collectionId}', - encodeURIComponent(String(collectionId)), - ) - .replace('{documentId}', encodeURIComponent(String(documentId))) - .replace('{attribute}', encodeURIComponent(String(attribute))); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{collectionId}', encodePath(collectionId)) + .replace('{documentId}', encodePath(documentId)) + .replace('{attribute}', encodePath(attribute)); const apiPayload: Payload = {}; if (typeof value !== 'undefined') { diff --git a/src/services/functions.ts b/src/services/functions.ts index db74d35c..453d8ccf 100644 --- a/src/services/functions.ts +++ b/src/services/functions.ts @@ -1,5 +1,10 @@ import { Service } from '../service'; -import { AppwriteException, Client, applyDefaults } from '../client'; +import { + AppwriteException, + Client, + applyDefaults, + encodePath, +} from '../client'; import type { Models } from '../models'; import type { Payload } from '../client'; @@ -76,7 +81,7 @@ export class Functions extends Service { const apiPath = '/functions/{functionId}/executions'.replace( '{functionId}', - encodeURIComponent(String(functionId)), + encodePath(functionId), ); const apiPayload: Payload = {}; @@ -270,7 +275,7 @@ export class Functions extends Service { const apiPath = '/functions/{functionId}/executions'.replace( '{functionId}', - encodeURIComponent(String(functionId)), + encodePath(functionId), ); const apiPayload: Payload = {}; @@ -415,8 +420,8 @@ export class Functions extends Service { } const apiPath = '/functions/{functionId}/executions/{executionId}' - .replace('{functionId}', encodeURIComponent(String(functionId))) - .replace('{executionId}', encodeURIComponent(String(executionId))); + .replace('{functionId}', encodePath(functionId)) + .replace('{executionId}', encodePath(executionId)); const apiPayload: Payload = {}; const uri = new URL(this.client.config.endpoint + apiPath); diff --git a/src/services/messaging.ts b/src/services/messaging.ts index b1939ddf..7d0e93f6 100644 --- a/src/services/messaging.ts +++ b/src/services/messaging.ts @@ -1,5 +1,10 @@ import { Service } from '../service'; -import { AppwriteException, Client, applyDefaults } from '../client'; +import { + AppwriteException, + Client, + applyDefaults, + encodePath, +} from '../client'; import type { Models } from '../models'; import type { Payload } from '../client'; @@ -87,7 +92,7 @@ export class Messaging extends Service { const apiPath = '/messaging/topics/{topicId}/subscribers'.replace( '{topicId}', - encodeURIComponent(String(topicId)), + encodePath(topicId), ); const apiPayload: Payload = {}; @@ -191,11 +196,8 @@ export class Messaging extends Service { } const apiPath = '/messaging/topics/{topicId}/subscribers/{subscriberId}' - .replace('{topicId}', encodeURIComponent(String(topicId))) - .replace( - '{subscriberId}', - encodeURIComponent(String(subscriberId)), - ); + .replace('{topicId}', encodePath(topicId)) + .replace('{subscriberId}', encodePath(subscriberId)); const apiPayload: Payload = {}; const uri = new URL(this.client.config.endpoint + apiPath); diff --git a/src/services/oauth-2.ts b/src/services/oauth-2.ts index 185fad00..9f96bd6a 100644 --- a/src/services/oauth-2.ts +++ b/src/services/oauth-2.ts @@ -1,5 +1,10 @@ import { Service } from '../service'; -import { AppwriteException, Client, applyDefaults } from '../client'; +import { + AppwriteException, + Client, + applyDefaults, + encodePath, +} from '../client'; import type { Models } from '../models'; import type { Payload } from '../client'; @@ -79,7 +84,7 @@ export class Oauth2 extends Service { const apiPath = '/oauth2/{project_id}/approve'.replace( '{project_id}', - encodeURIComponent(String(this.client.config.project)), + encodePath(this.client.config.project), ); const apiPayload: Payload = {}; @@ -302,7 +307,7 @@ export class Oauth2 extends Service { const apiPath = '/oauth2/{project_id}/authorize'.replace( '{project_id}', - encodeURIComponent(String(this.client.config.project)), + encodePath(this.client.config.project), ); const apiPayload: Payload = {}; @@ -569,7 +574,7 @@ export class Oauth2 extends Service { const apiPath = '/oauth2/{project_id}/authorize'.replace( '{project_id}', - encodeURIComponent(String(this.client.config.project)), + encodePath(this.client.config.project), ); const apiPayload: Payload = {}; @@ -742,7 +747,7 @@ export class Oauth2 extends Service { const apiPath = '/oauth2/{project_id}/device_authorization'.replace( '{project_id}', - encodeURIComponent(String(this.client.config.project)), + encodePath(this.client.config.project), ); const apiPayload: Payload = {}; @@ -839,7 +844,7 @@ export class Oauth2 extends Service { const apiPath = '/oauth2/{project_id}/grants'.replace( '{project_id}', - encodeURIComponent(String(this.client.config.project)), + encodePath(this.client.config.project), ); const apiPayload: Payload = {}; @@ -925,11 +930,8 @@ export class Oauth2 extends Service { } const apiPath = '/oauth2/{project_id}/grants/{grant_id}' - .replace( - '{project_id}', - encodeURIComponent(String(this.client.config.project)), - ) - .replace('{grant_id}', encodeURIComponent(String(grantId))); + .replace('{project_id}', encodePath(this.client.config.project)) + .replace('{grant_id}', encodePath(grantId)); const apiPayload: Payload = {}; const uri = new URL(this.client.config.endpoint + apiPath); @@ -1063,7 +1065,7 @@ export class Oauth2 extends Service { const apiPath = '/oauth2/{project_id}/logout'.replace( '{project_id}', - encodeURIComponent(String(this.client.config.project)), + encodePath(this.client.config.project), ); const apiPayload: Payload = {}; @@ -1199,7 +1201,7 @@ export class Oauth2 extends Service { const apiPath = '/oauth2/{project_id}/logout'.replace( '{project_id}', - encodeURIComponent(String(this.client.config.project)), + encodePath(this.client.config.project), ); const apiPayload: Payload = {}; @@ -1300,7 +1302,7 @@ export class Oauth2 extends Service { const apiPath = '/oauth2/{project_id}/organizations'.replace( '{project_id}', - encodeURIComponent(String(this.client.config.project)), + encodePath(this.client.config.project), ); const apiPayload: Payload = {}; @@ -1540,7 +1542,7 @@ export class Oauth2 extends Service { const apiPath = '/oauth2/{project_id}/par'.replace( '{project_id}', - encodeURIComponent(String(this.client.config.project)), + encodePath(this.client.config.project), ); const apiPayload: Payload = {}; @@ -1682,7 +1684,7 @@ export class Oauth2 extends Service { const apiPath = '/oauth2/{project_id}/projects'.replace( '{project_id}', - encodeURIComponent(String(this.client.config.project)), + encodePath(this.client.config.project), ); const apiPayload: Payload = {}; @@ -1778,7 +1780,7 @@ export class Oauth2 extends Service { const apiPath = '/oauth2/{project_id}/reject'.replace( '{project_id}', - encodeURIComponent(String(this.client.config.project)), + encodePath(this.client.config.project), ); const apiPayload: Payload = {}; @@ -1892,7 +1894,7 @@ export class Oauth2 extends Service { const apiPath = '/oauth2/{project_id}/revoke'.replace( '{project_id}', - encodeURIComponent(String(this.client.config.project)), + encodePath(this.client.config.project), ); const apiPayload: Payload = {}; @@ -2072,7 +2074,7 @@ export class Oauth2 extends Service { const apiPath = '/oauth2/{project_id}/token'.replace( '{project_id}', - encodeURIComponent(String(this.client.config.project)), + encodePath(this.client.config.project), ); const apiPayload: Payload = {}; diff --git a/src/services/organization.ts b/src/services/organization.ts index 4ec51e57..930dd0bc 100644 --- a/src/services/organization.ts +++ b/src/services/organization.ts @@ -1,5 +1,10 @@ import { Service } from '../service'; -import { AppwriteException, Client, applyDefaults } from '../client'; +import { + AppwriteException, + Client, + applyDefaults, + encodePath, +} from '../client'; import type { Models } from '../models'; import type { Payload } from '../client'; @@ -258,7 +263,7 @@ export class Organization extends Service { const apiPath = '/organization/installations/{installationId}'.replace( '{installationId}', - encodeURIComponent(String(installationId)), + encodePath(installationId), ); const apiPayload: Payload = {}; @@ -357,7 +362,7 @@ export class Organization extends Service { const apiPath = '/organization/installations/{installationId}'.replace( '{installationId}', - encodeURIComponent(String(installationId)), + encodePath(installationId), ); const apiPayload: Payload = {}; @@ -442,7 +447,7 @@ export class Organization extends Service { const apiPath = '/organization/installations/{installationId}'.replace( '{installationId}', - encodeURIComponent(String(installationId)), + encodePath(installationId), ); const apiPayload: Payload = {}; diff --git a/src/services/presences.ts b/src/services/presences.ts index 4cc36d8b..a3c1de34 100644 --- a/src/services/presences.ts +++ b/src/services/presences.ts @@ -1,5 +1,10 @@ import { Service } from '../service'; -import { AppwriteException, Client, applyDefaults } from '../client'; +import { + AppwriteException, + Client, + applyDefaults, + encodePath, +} from '../client'; import type { Models } from '../models'; import type { Payload } from '../client'; @@ -170,7 +175,7 @@ export class Presences extends Service { const apiPath = '/presences/{presenceId}'.replace( '{presenceId}', - encodeURIComponent(String(presenceId)), + encodePath(presenceId), ); const apiPayload: Payload = {}; @@ -302,7 +307,7 @@ export class Presences extends Service { const apiPath = '/presences/{presenceId}'.replace( '{presenceId}', - encodeURIComponent(String(presenceId)), + encodePath(presenceId), ); const apiPayload: Payload = {}; @@ -456,7 +461,7 @@ export class Presences extends Service { const apiPath = '/presences/{presenceId}'.replace( '{presenceId}', - encodeURIComponent(String(presenceId)), + encodePath(presenceId), ); const apiPayload: Payload = {}; @@ -554,7 +559,7 @@ export class Presences extends Service { const apiPath = '/presences/{presenceId}'.replace( '{presenceId}', - encodeURIComponent(String(presenceId)), + encodePath(presenceId), ); const apiPayload: Payload = {}; diff --git a/src/services/push.ts b/src/services/push.ts index 9d7e985e..4bad16a3 100644 --- a/src/services/push.ts +++ b/src/services/push.ts @@ -1415,6 +1415,7 @@ export class Push extends Service { clean: false, // always keep the session so the broker can replay QoS-1 topics keepalive: KEEP_ALIVE_SECONDS, reconnectPeriod: RECONNECT_PERIOD_MS, + reconnectOnConnackError: true, manualConnect: true, // Enhanced auth carried in CONNECT properties. properties: { diff --git a/src/services/storage.ts b/src/services/storage.ts index 738745ca..510d682a 100644 --- a/src/services/storage.ts +++ b/src/services/storage.ts @@ -1,5 +1,10 @@ import { Service } from '../service'; -import { AppwriteException, Client, applyDefaults } from '../client'; +import { + AppwriteException, + Client, + applyDefaults, + encodePath, +} from '../client'; import type { Models } from '../models'; import type { UploadProgress, Payload } from '../client'; import { fileSystem } from '../lib/file-system'; @@ -96,7 +101,7 @@ export class Storage extends Service { const apiPath = '/storage/buckets/{bucketId}/files'.replace( '{bucketId}', - encodeURIComponent(String(bucketId)), + encodePath(bucketId), ); const apiPayload: Payload = {}; @@ -301,7 +306,7 @@ export class Storage extends Service { const apiPath = '/storage/buckets/{bucketId}/files'.replace( '{bucketId}', - encodeURIComponent(String(bucketId)), + encodePath(bucketId), ); const apiPayload: Payload = {}; @@ -615,8 +620,8 @@ export class Storage extends Service { } const apiPath = '/storage/buckets/{bucketId}/files/{fileId}' - .replace('{bucketId}', encodeURIComponent(String(bucketId))) - .replace('{fileId}', encodeURIComponent(String(fileId))); + .replace('{bucketId}', encodePath(bucketId)) + .replace('{fileId}', encodePath(fileId)); const apiPayload: Payload = {}; const uri = new URL(this.client.config.endpoint + apiPath); @@ -745,8 +750,8 @@ export class Storage extends Service { } const apiPath = '/storage/buckets/{bucketId}/files/{fileId}' - .replace('{bucketId}', encodeURIComponent(String(bucketId))) - .replace('{fileId}', encodeURIComponent(String(fileId))); + .replace('{bucketId}', encodePath(bucketId)) + .replace('{fileId}', encodePath(fileId)); const apiPayload: Payload = {}; if (typeof name !== 'undefined') { @@ -852,8 +857,8 @@ export class Storage extends Service { } const apiPath = '/storage/buckets/{bucketId}/files/{fileId}' - .replace('{bucketId}', encodeURIComponent(String(bucketId))) - .replace('{fileId}', encodeURIComponent(String(fileId))); + .replace('{bucketId}', encodePath(bucketId)) + .replace('{fileId}', encodePath(fileId)); const apiPayload: Payload = {}; const uri = new URL(this.client.config.endpoint + apiPath); @@ -938,8 +943,8 @@ export class Storage extends Service { } const apiPath = '/storage/buckets/{bucketId}/files/{fileId}/download' - .replace('{bucketId}', encodeURIComponent(String(bucketId))) - .replace('{fileId}', encodeURIComponent(String(fileId))); + .replace('{bucketId}', encodePath(bucketId)) + .replace('{fileId}', encodePath(fileId)); const apiPayload: Payload = {}; if (typeof token !== 'undefined') { @@ -1159,8 +1164,8 @@ export class Storage extends Service { } const apiPath = '/storage/buckets/{bucketId}/files/{fileId}/preview' - .replace('{bucketId}', encodeURIComponent(String(bucketId))) - .replace('{fileId}', encodeURIComponent(String(fileId))); + .replace('{bucketId}', encodePath(bucketId)) + .replace('{fileId}', encodePath(fileId)); const apiPayload: Payload = {}; if (typeof width !== 'undefined') { @@ -1302,8 +1307,8 @@ export class Storage extends Service { } const apiPath = '/storage/buckets/{bucketId}/files/{fileId}/view' - .replace('{bucketId}', encodeURIComponent(String(bucketId))) - .replace('{fileId}', encodeURIComponent(String(fileId))); + .replace('{bucketId}', encodePath(bucketId)) + .replace('{fileId}', encodePath(fileId)); const apiPayload: Payload = {}; if (typeof token !== 'undefined') { @@ -1355,8 +1360,8 @@ export class Storage extends Service { } const apiPath = '/storage/buckets/{bucketId}/files/{fileId}/download' - .replace('{bucketId}', encodeURIComponent(String(bucketId))) - .replace('{fileId}', encodeURIComponent(String(fileId))); + .replace('{bucketId}', encodePath(bucketId)) + .replace('{fileId}', encodePath(fileId)); const apiPayload: Payload = {}; if (typeof token !== 'undefined') { @@ -1428,8 +1433,8 @@ export class Storage extends Service { } const apiPath = '/storage/buckets/{bucketId}/files/{fileId}/preview' - .replace('{bucketId}', encodeURIComponent(String(bucketId))) - .replace('{fileId}', encodeURIComponent(String(fileId))); + .replace('{bucketId}', encodePath(bucketId)) + .replace('{fileId}', encodePath(fileId)); const apiPayload: Payload = {}; if (typeof width !== 'undefined') { @@ -1517,8 +1522,8 @@ export class Storage extends Service { } const apiPath = '/storage/buckets/{bucketId}/files/{fileId}/view' - .replace('{bucketId}', encodeURIComponent(String(bucketId))) - .replace('{fileId}', encodeURIComponent(String(fileId))); + .replace('{bucketId}', encodePath(bucketId)) + .replace('{fileId}', encodePath(fileId)); const apiPayload: Payload = {}; if (typeof token !== 'undefined') { diff --git a/src/services/tables-db.ts b/src/services/tables-db.ts index f0ed6e9c..2d11c637 100644 --- a/src/services/tables-db.ts +++ b/src/services/tables-db.ts @@ -1,5 +1,10 @@ import { Service } from '../service'; -import { AppwriteException, Client, applyDefaults } from '../client'; +import { + AppwriteException, + Client, + applyDefaults, + encodePath, +} from '../client'; import type { Models } from '../models'; import type { Payload } from '../client'; @@ -230,7 +235,7 @@ export class TablesDB extends Service { const apiPath = '/tablesdb/transactions/{transactionId}'.replace( '{transactionId}', - encodeURIComponent(String(transactionId)), + encodePath(transactionId), ); const apiPayload: Payload = {}; @@ -334,7 +339,7 @@ export class TablesDB extends Service { const apiPath = '/tablesdb/transactions/{transactionId}'.replace( '{transactionId}', - encodeURIComponent(String(transactionId)), + encodePath(transactionId), ); const apiPayload: Payload = {}; @@ -420,7 +425,7 @@ export class TablesDB extends Service { const apiPath = '/tablesdb/transactions/{transactionId}'.replace( '{transactionId}', - encodeURIComponent(String(transactionId)), + encodePath(transactionId), ); const apiPayload: Payload = {}; @@ -497,7 +502,7 @@ export class TablesDB extends Service { const apiPath = '/tablesdb/transactions/{transactionId}/operations'.replace( '{transactionId}', - encodeURIComponent(String(transactionId)), + encodePath(transactionId), ); const apiPayload: Payload = {}; @@ -646,8 +651,8 @@ export class TablesDB extends Service { } const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace('{tableId}', encodeURIComponent(String(tableId))); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{tableId}', encodePath(tableId)); const apiPayload: Payload = {}; if (typeof queries !== 'undefined') { @@ -842,8 +847,8 @@ export class TablesDB extends Service { } const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace('{tableId}', encodeURIComponent(String(tableId))); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{tableId}', encodePath(tableId)); const apiPayload: Payload = {}; if (typeof rowId !== 'undefined') { @@ -1002,8 +1007,8 @@ export class TablesDB extends Service { } const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows/query' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace('{tableId}', encodeURIComponent(String(tableId))); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{tableId}', encodePath(tableId)); const apiPayload: Payload = {}; if (typeof queries !== 'undefined') { @@ -1166,9 +1171,9 @@ export class TablesDB extends Service { } const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace('{tableId}', encodeURIComponent(String(tableId))) - .replace('{rowId}', encodeURIComponent(String(rowId))); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{tableId}', encodePath(tableId)) + .replace('{rowId}', encodePath(rowId)); const apiPayload: Payload = {}; if (typeof queries !== 'undefined') { @@ -1343,9 +1348,9 @@ export class TablesDB extends Service { } const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace('{tableId}', encodeURIComponent(String(tableId))) - .replace('{rowId}', encodeURIComponent(String(rowId))); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{tableId}', encodePath(tableId)) + .replace('{rowId}', encodePath(rowId)); const apiPayload: Payload = {}; if (typeof data !== 'undefined') { @@ -1525,9 +1530,9 @@ export class TablesDB extends Service { } const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace('{tableId}', encodeURIComponent(String(tableId))) - .replace('{rowId}', encodeURIComponent(String(rowId))); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{tableId}', encodePath(tableId)) + .replace('{rowId}', encodePath(rowId)); const apiPayload: Payload = {}; if (typeof data !== 'undefined') { @@ -1666,9 +1671,9 @@ export class TablesDB extends Service { } const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace('{tableId}', encodeURIComponent(String(tableId))) - .replace('{rowId}', encodeURIComponent(String(rowId))); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{tableId}', encodePath(tableId)) + .replace('{rowId}', encodePath(rowId)); const apiPayload: Payload = {}; if (typeof transactionId !== 'undefined') { @@ -1820,10 +1825,10 @@ export class TablesDB extends Service { const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}/{column}/decrement' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace('{tableId}', encodeURIComponent(String(tableId))) - .replace('{rowId}', encodeURIComponent(String(rowId))) - .replace('{column}', encodeURIComponent(String(column))); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{tableId}', encodePath(tableId)) + .replace('{rowId}', encodePath(rowId)) + .replace('{column}', encodePath(column)); const apiPayload: Payload = {}; if (typeof value !== 'undefined') { @@ -2001,10 +2006,10 @@ export class TablesDB extends Service { const apiPath = '/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}/{column}/increment' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace('{tableId}', encodeURIComponent(String(tableId))) - .replace('{rowId}', encodeURIComponent(String(rowId))) - .replace('{column}', encodeURIComponent(String(column))); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{tableId}', encodePath(tableId)) + .replace('{rowId}', encodePath(rowId)) + .replace('{column}', encodePath(column)); const apiPayload: Payload = {}; if (typeof value !== 'undefined') { diff --git a/src/services/teams.ts b/src/services/teams.ts index b5cd1362..791b95c3 100644 --- a/src/services/teams.ts +++ b/src/services/teams.ts @@ -1,5 +1,10 @@ import { Service } from '../service'; -import { AppwriteException, Client, applyDefaults } from '../client'; +import { + AppwriteException, + Client, + applyDefaults, + encodePath, +} from '../client'; import type { Models } from '../models'; import type { Payload } from '../client'; @@ -281,7 +286,7 @@ export class Teams extends Service { const apiPath = '/teams/{teamId}'.replace( '{teamId}', - encodeURIComponent(String(teamId)), + encodePath(teamId), ); const apiPayload: Payload = {}; @@ -373,7 +378,7 @@ export class Teams extends Service { const apiPath = '/teams/{teamId}'.replace( '{teamId}', - encodeURIComponent(String(teamId)), + encodePath(teamId), ); const apiPayload: Payload = {}; @@ -450,7 +455,7 @@ export class Teams extends Service { const apiPath = '/teams/{teamId}'.replace( '{teamId}', - encodeURIComponent(String(teamId)), + encodePath(teamId), ); const apiPayload: Payload = {}; @@ -531,7 +536,7 @@ export class Teams extends Service { const apiPath = '/teams/{teamId}/installations'.replace( '{teamId}', - encodeURIComponent(String(teamId)), + encodePath(teamId), ); const apiPayload: Payload = {}; @@ -659,7 +664,7 @@ export class Teams extends Service { const apiPath = '/teams/{teamId}/installations'.replace( '{teamId}', - encodeURIComponent(String(teamId)), + encodePath(teamId), ); const apiPayload: Payload = {}; @@ -765,11 +770,8 @@ export class Teams extends Service { } const apiPath = '/teams/{teamId}/installations/{installationId}' - .replace('{teamId}', encodeURIComponent(String(teamId))) - .replace( - '{installationId}', - encodeURIComponent(String(installationId)), - ); + .replace('{teamId}', encodePath(teamId)) + .replace('{installationId}', encodePath(installationId)); const apiPayload: Payload = {}; const uri = new URL(this.client.config.endpoint + apiPath); @@ -882,11 +884,8 @@ export class Teams extends Service { } const apiPath = '/teams/{teamId}/installations/{installationId}' - .replace('{teamId}', encodeURIComponent(String(teamId))) - .replace( - '{installationId}', - encodeURIComponent(String(installationId)), - ); + .replace('{teamId}', encodePath(teamId)) + .replace('{installationId}', encodePath(installationId)); const apiPayload: Payload = {}; if (typeof authorizationDetails !== 'undefined') { @@ -984,11 +983,8 @@ export class Teams extends Service { } const apiPath = '/teams/{teamId}/installations/{installationId}' - .replace('{teamId}', encodeURIComponent(String(teamId))) - .replace( - '{installationId}', - encodeURIComponent(String(installationId)), - ); + .replace('{teamId}', encodePath(teamId)) + .replace('{installationId}', encodePath(installationId)); const apiPayload: Payload = {}; const uri = new URL(this.client.config.endpoint + apiPath); @@ -1086,7 +1082,7 @@ export class Teams extends Service { const apiPath = '/teams/{teamId}/memberships'.replace( '{teamId}', - encodeURIComponent(String(teamId)), + encodePath(teamId), ); const apiPayload: Payload = {}; @@ -1295,7 +1291,7 @@ export class Teams extends Service { const apiPath = '/teams/{teamId}/memberships'.replace( '{teamId}', - encodeURIComponent(String(teamId)), + encodePath(teamId), ); const apiPayload: Payload = {}; @@ -1427,11 +1423,8 @@ export class Teams extends Service { } const apiPath = '/teams/{teamId}/memberships/{membershipId}' - .replace('{teamId}', encodeURIComponent(String(teamId))) - .replace( - '{membershipId}', - encodeURIComponent(String(membershipId)), - ); + .replace('{teamId}', encodePath(teamId)) + .replace('{membershipId}', encodePath(membershipId)); const apiPayload: Payload = {}; const uri = new URL(this.client.config.endpoint + apiPath); @@ -1547,11 +1540,8 @@ export class Teams extends Service { } const apiPath = '/teams/{teamId}/memberships/{membershipId}' - .replace('{teamId}', encodeURIComponent(String(teamId))) - .replace( - '{membershipId}', - encodeURIComponent(String(membershipId)), - ); + .replace('{teamId}', encodePath(teamId)) + .replace('{membershipId}', encodePath(membershipId)); const apiPayload: Payload = {}; if (typeof roles !== 'undefined') { @@ -1655,11 +1645,8 @@ export class Teams extends Service { } const apiPath = '/teams/{teamId}/memberships/{membershipId}' - .replace('{teamId}', encodeURIComponent(String(teamId))) - .replace( - '{membershipId}', - encodeURIComponent(String(membershipId)), - ); + .replace('{teamId}', encodePath(teamId)) + .replace('{membershipId}', encodePath(membershipId)); const apiPayload: Payload = {}; const uri = new URL(this.client.config.endpoint + apiPath); @@ -1776,11 +1763,8 @@ export class Teams extends Service { } const apiPath = '/teams/{teamId}/memberships/{membershipId}/status' - .replace('{teamId}', encodeURIComponent(String(teamId))) - .replace( - '{membershipId}', - encodeURIComponent(String(membershipId)), - ); + .replace('{teamId}', encodePath(teamId)) + .replace('{membershipId}', encodePath(membershipId)); const apiPayload: Payload = {}; if (typeof userId !== 'undefined') { @@ -1876,7 +1860,7 @@ export class Teams extends Service { const apiPath = '/teams/{teamId}/prefs'.replace( '{teamId}', - encodeURIComponent(String(teamId)), + encodePath(teamId), ); const apiPayload: Payload = {}; @@ -1949,7 +1933,7 @@ export class Teams extends Service { const apiPath = '/teams/{teamId}/prefs'.replace( '{teamId}', - encodeURIComponent(String(teamId)), + encodePath(teamId), ); const apiPayload: Payload = {}; diff --git a/src/services/vectors-db.ts b/src/services/vectors-db.ts index 61b4df27..4355e31f 100644 --- a/src/services/vectors-db.ts +++ b/src/services/vectors-db.ts @@ -1,5 +1,10 @@ import { Service } from '../service'; -import { AppwriteException, Client, applyDefaults } from '../client'; +import { + AppwriteException, + Client, + applyDefaults, + encodePath, +} from '../client'; import type { Models } from '../models'; import type { Payload } from '../client'; @@ -230,7 +235,7 @@ export class VectorsDB extends Service { const apiPath = '/vectorsdb/transactions/{transactionId}'.replace( '{transactionId}', - encodeURIComponent(String(transactionId)), + encodePath(transactionId), ); const apiPayload: Payload = {}; @@ -334,7 +339,7 @@ export class VectorsDB extends Service { const apiPath = '/vectorsdb/transactions/{transactionId}'.replace( '{transactionId}', - encodeURIComponent(String(transactionId)), + encodePath(transactionId), ); const apiPayload: Payload = {}; @@ -420,7 +425,7 @@ export class VectorsDB extends Service { const apiPath = '/vectorsdb/transactions/{transactionId}'.replace( '{transactionId}', - encodeURIComponent(String(transactionId)), + encodePath(transactionId), ); const apiPayload: Payload = {}; @@ -497,7 +502,7 @@ export class VectorsDB extends Service { const apiPath = '/vectorsdb/transactions/{transactionId}/operations'.replace( '{transactionId}', - encodeURIComponent(String(transactionId)), + encodePath(transactionId), ); const apiPayload: Payload = {}; @@ -645,11 +650,8 @@ export class VectorsDB extends Service { const apiPath = '/vectorsdb/{databaseId}/collections/{collectionId}/documents' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace( - '{collectionId}', - encodeURIComponent(String(collectionId)), - ); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{collectionId}', encodePath(collectionId)); const apiPayload: Payload = {}; if (typeof queries !== 'undefined') { @@ -854,11 +856,8 @@ export class VectorsDB extends Service { const apiPath = '/vectorsdb/{databaseId}/collections/{collectionId}/documents' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace( - '{collectionId}', - encodeURIComponent(String(collectionId)), - ); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{collectionId}', encodePath(collectionId)); const apiPayload: Payload = {}; if (typeof documentId !== 'undefined') { @@ -1020,11 +1019,8 @@ export class VectorsDB extends Service { const apiPath = '/vectorsdb/{databaseId}/collections/{collectionId}/documents/query' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace( - '{collectionId}', - encodeURIComponent(String(collectionId)), - ); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{collectionId}', encodePath(collectionId)); const apiPayload: Payload = {}; if (typeof queries !== 'undefined') { @@ -1192,15 +1188,9 @@ export class VectorsDB extends Service { const apiPath = '/vectorsdb/{databaseId}/collections/{collectionId}/documents/{documentId}' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace( - '{collectionId}', - encodeURIComponent(String(collectionId)), - ) - .replace( - '{documentId}', - encodeURIComponent(String(documentId)), - ); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{collectionId}', encodePath(collectionId)) + .replace('{documentId}', encodePath(documentId)); const apiPayload: Payload = {}; if (typeof queries !== 'undefined') { @@ -1384,15 +1374,9 @@ export class VectorsDB extends Service { const apiPath = '/vectorsdb/{databaseId}/collections/{collectionId}/documents/{documentId}' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace( - '{collectionId}', - encodeURIComponent(String(collectionId)), - ) - .replace( - '{documentId}', - encodeURIComponent(String(documentId)), - ); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{collectionId}', encodePath(collectionId)) + .replace('{documentId}', encodePath(documentId)); const apiPayload: Payload = {}; if (typeof data !== 'undefined') { @@ -1581,15 +1565,9 @@ export class VectorsDB extends Service { const apiPath = '/vectorsdb/{databaseId}/collections/{collectionId}/documents/{documentId}' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace( - '{collectionId}', - encodeURIComponent(String(collectionId)), - ) - .replace( - '{documentId}', - encodeURIComponent(String(documentId)), - ); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{collectionId}', encodePath(collectionId)) + .replace('{documentId}', encodePath(documentId)); const apiPayload: Payload = {}; if (typeof data !== 'undefined') { @@ -1731,15 +1709,9 @@ export class VectorsDB extends Service { const apiPath = '/vectorsdb/{databaseId}/collections/{collectionId}/documents/{documentId}' - .replace('{databaseId}', encodeURIComponent(String(databaseId))) - .replace( - '{collectionId}', - encodeURIComponent(String(collectionId)), - ) - .replace( - '{documentId}', - encodeURIComponent(String(documentId)), - ); + .replace('{databaseId}', encodePath(databaseId)) + .replace('{collectionId}', encodePath(collectionId)) + .replace('{documentId}', encodePath(documentId)); const apiPayload: Payload = {}; if (typeof transactionId !== 'undefined') {