diff --git a/api/lib/api/mission.ts b/api/lib/api/mission.ts index f23240187..22647f86c 100644 --- a/api/lib/api/mission.ts +++ b/api/lib/api/mission.ts @@ -34,6 +34,9 @@ export type Mission = { missionChanges?: Array; // Only present on Mission.get() } +/** + * @class + */ export default class { api: TAKAPI; @@ -41,6 +44,9 @@ export default class { this.api = api; } + /** + * Return users associated with this mission + */ async contacts(name: string) { const url = new URL(`/Marti/api/missions/${encodeURIComponent(name)}/contacts`, this.api.url); @@ -49,6 +55,9 @@ export default class { }); } + /** + * Remove a file from the mission + */ async detachContents(name: string, hash: string) { const url = new URL(`/Marti/api/missions/${encodeURIComponent(name)}/contents`, this.api.url); url.searchParams.append('hash', hash); @@ -58,6 +67,9 @@ export default class { }); } + /** + * Attach a file resource by hash from the TAK Server file manager + */ async attachContents(name: string, hashes: string[]) { const url = new URL(`/Marti/api/missions/${encodeURIComponent(name)}/contents`, this.api.url); @@ -69,6 +81,9 @@ export default class { }); } + /** + * Upload a Mission Package + */ async upload(name: string, creatorUid: string, body: Readable) { const url = new URL(`/Marti/api/missions/${encodeURIComponent(name)}/contents/missionpackage`, this.api.url); url.searchParams.append('creatorUid', creatorUid); @@ -79,6 +94,62 @@ export default class { }); } + /** + * Subscribe to a mission + */ + async subscribe(query: { + uid: string; + password: string; + secago: number; + start: string; + end: string; + + [key: string]: unknown; + }) { + const url = new URL(`/Marti/api/missions/${encodeURIComponent(name)}/subscription`, this.api.url); + + for (const q in query) url.searchParams.append(q, String(query[q])); + return await this.api.fetch(url, { + method: 'PUT' + }); + } + + /** + * Get current subscription status + */ + async subscribed(query: { + uid: string; + + [key: string]: unknown; + }) { + const url = new URL(`/Marti/api/missions/${encodeURIComponent(name)}/subscription`, this.api.url); + + for (const q in query) url.searchParams.append(q, String(query[q])); + return await this.api.fetch(url, { + method: 'GET' + }); + } + + /** + * Unsubscribe from a mission + */ + async unsubscribe(query: { + uid: string; + disconnectOnly: string; + + [key: string]: unknown; + }) { + const url = new URL(`/Marti/api/missions/${encodeURIComponent(name)}/subscription`, this.api.url); + + for (const q in query) url.searchParams.append(q, String(query[q])); + return await this.api.fetch(url, { + method: 'DELETE' + }); + } + + /** + * List missions in currently active channels + */ async list(query: { passwordProtected?: string; defaultRole?: string; @@ -94,6 +165,9 @@ export default class { }); } + /** + * Get mission by its GUID + */ async getGuid(guid: string, query: { password?: string; changes?: string; @@ -112,6 +186,9 @@ export default class { }); } + /** + * Get mission by its Name + */ async get(name: string, query: { password?: string; changes?: string; @@ -130,6 +207,9 @@ export default class { }); } + /** + * Create a new mission + */ async create(name: string, query: { group: Array | string; creatorUid: string; @@ -158,6 +238,9 @@ export default class { }); } + /** + * Delete a mission + */ async delete(name: string, query: { creatorUid?: string; deepDelete?: string; diff --git a/api/package-lock.json b/api/package-lock.json index 3a8a522a2..43c1ae465 100644 --- a/api/package-lock.json +++ b/api/package-lock.json @@ -253,15 +253,15 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-sdk/client-batch": { - "version": "3.513.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-batch/-/client-batch-3.513.0.tgz", - "integrity": "sha512-6qdFTELnfa2YgbRdAZ7NSxy4rXYuvcTL5hMxOWOngXpKu4AHXN/s5Ng3u4WUEfZzCXtECrMRSVqAcic8rlEeNw==", + "version": "3.514.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-batch/-/client-batch-3.514.0.tgz", + "integrity": "sha512-gefsdUEBHKDMac64FAc0GDsXLwPa7juPE/MHBKSc9ohjnFxLE3DtqXHzK0fYCdxPxTJxf8N1nE21ICqYdffmJQ==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", "@aws-sdk/client-sts": "3.513.0", "@aws-sdk/core": "3.513.0", - "@aws-sdk/credential-provider-node": "3.513.0", + "@aws-sdk/credential-provider-node": "3.514.0", "@aws-sdk/middleware-host-header": "3.511.0", "@aws-sdk/middleware-logger": "3.511.0", "@aws-sdk/middleware-recursion-detection": "3.511.0", @@ -303,15 +303,15 @@ } }, "node_modules/@aws-sdk/client-cloudformation": { - "version": "3.513.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudformation/-/client-cloudformation-3.513.0.tgz", - "integrity": "sha512-MSURSEgssu7isJD8Opgc0z7UQ9wo+62xJUDtao1Mt9Wl/nN2XUbBJDsUywaDso94jndYjGmvDYeZDOIbPlCTPg==", + "version": "3.514.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudformation/-/client-cloudformation-3.514.0.tgz", + "integrity": "sha512-mjT8ZouR+wDolYjsjv4Y4xniU05LDn+Ls6fTKYkVFBot0rQaKedSm+3bvlgObDInRI873UqaPKrGitI2tPPErg==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", "@aws-sdk/client-sts": "3.513.0", "@aws-sdk/core": "3.513.0", - "@aws-sdk/credential-provider-node": "3.513.0", + "@aws-sdk/credential-provider-node": "3.514.0", "@aws-sdk/middleware-host-header": "3.511.0", "@aws-sdk/middleware-logger": "3.511.0", "@aws-sdk/middleware-recursion-detection": "3.511.0", @@ -356,15 +356,15 @@ } }, "node_modules/@aws-sdk/client-cloudwatch": { - "version": "3.513.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudwatch/-/client-cloudwatch-3.513.0.tgz", - "integrity": "sha512-laqWb/m8bRY3H+QNsHWm5/2rIDKtEcv8YoUPDsIEybY9z27mKQLlBy/WCuRiDby6nhrutkUGqgti8HXYqHqj8w==", + "version": "3.514.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudwatch/-/client-cloudwatch-3.514.0.tgz", + "integrity": "sha512-U85ERsjYVOdIj3+YQ3HD8qxPq+qN+18Zks4yfasUHAaC6Xxv3+m3rJIyDUno0VKLZAFXrckI+zZjWKNcUVVOTw==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", "@aws-sdk/client-sts": "3.513.0", "@aws-sdk/core": "3.513.0", - "@aws-sdk/credential-provider-node": "3.513.0", + "@aws-sdk/credential-provider-node": "3.514.0", "@aws-sdk/middleware-host-header": "3.511.0", "@aws-sdk/middleware-logger": "3.511.0", "@aws-sdk/middleware-recursion-detection": "3.511.0", @@ -409,15 +409,15 @@ } }, "node_modules/@aws-sdk/client-cloudwatch-logs": { - "version": "3.513.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudwatch-logs/-/client-cloudwatch-logs-3.513.0.tgz", - "integrity": "sha512-1EBLb+gbrTUzlJNZttTxcDM74BBu4C1Q/5f2EUKuT06brqstg5TY/tEVnTC/FCKH5RYkUi3pcxiweMgz2OpfgA==", + "version": "3.514.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudwatch-logs/-/client-cloudwatch-logs-3.514.0.tgz", + "integrity": "sha512-D7pElWP9whN7GfRH07AnhtLtOPmckCvx4/MUThnVIMo5yOGixu7H4Wuf+SuCjBGZc2tTFIjCSEfP+VObpTQLxA==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", "@aws-sdk/client-sts": "3.513.0", "@aws-sdk/core": "3.513.0", - "@aws-sdk/credential-provider-node": "3.513.0", + "@aws-sdk/credential-provider-node": "3.514.0", "@aws-sdk/middleware-host-header": "3.511.0", "@aws-sdk/middleware-logger": "3.511.0", "@aws-sdk/middleware-recursion-detection": "3.511.0", @@ -463,15 +463,15 @@ } }, "node_modules/@aws-sdk/client-dynamodb": { - "version": "3.513.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-dynamodb/-/client-dynamodb-3.513.0.tgz", - "integrity": "sha512-eFxUy44IiKD2GypjqvwclAFnQIJzVMzBTitNfeOGrdwnDIPjhL44PXLf27Yb8At3r9s5m8d/NgItg0rmR7W05w==", + "version": "3.514.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-dynamodb/-/client-dynamodb-3.514.0.tgz", + "integrity": "sha512-JdaKlx2vIzXmtRKDwKnXy0Jfl6EJp9zzYNS5EBtyqpg0ifqPw/sMMzLWfAD/KQMeIs4YjwmdbeNYymKnxBdtCQ==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", "@aws-sdk/client-sts": "3.513.0", "@aws-sdk/core": "3.513.0", - "@aws-sdk/credential-provider-node": "3.513.0", + "@aws-sdk/credential-provider-node": "3.514.0", "@aws-sdk/middleware-endpoint-discovery": "3.511.0", "@aws-sdk/middleware-host-header": "3.511.0", "@aws-sdk/middleware-logger": "3.511.0", @@ -516,15 +516,15 @@ } }, "node_modules/@aws-sdk/client-ecr": { - "version": "3.513.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-ecr/-/client-ecr-3.513.0.tgz", - "integrity": "sha512-wlsxcKXtA511Al+S/f3+EXZgb4sTR+MyNt4bIzjNz8OhDPHXntOvCt7VS/u1897eZ2eldSkkFQqS242JTweDVQ==", + "version": "3.514.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-ecr/-/client-ecr-3.514.0.tgz", + "integrity": "sha512-njF46s5kHoJ7r8g9Keh8fqttIw+jlq8nozclCYJ3+17jBauGtFuefKilMDcSOYeg+7AQW/0flsQ4IIyWa6DTEw==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", "@aws-sdk/client-sts": "3.513.0", "@aws-sdk/core": "3.513.0", - "@aws-sdk/credential-provider-node": "3.513.0", + "@aws-sdk/credential-provider-node": "3.514.0", "@aws-sdk/middleware-host-header": "3.511.0", "@aws-sdk/middleware-logger": "3.511.0", "@aws-sdk/middleware-recursion-detection": "3.511.0", @@ -567,15 +567,15 @@ } }, "node_modules/@aws-sdk/client-eventbridge": { - "version": "3.513.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-eventbridge/-/client-eventbridge-3.513.0.tgz", - "integrity": "sha512-BpYJoKgXuUzsqDqqovaYVivWjkw0XWncXKTJpn4YIk1MqDtEBpTU2LF+97TKJmEqY0Gz7ZVcFVjNwirSsR9GMQ==", + "version": "3.514.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-eventbridge/-/client-eventbridge-3.514.0.tgz", + "integrity": "sha512-vLn4HphsX14uxN8Ttz5wFe1gZgRrX6FROCj5EFuPQgfpuSSZeGqupFPZLFXUqphzha0bbYKUJKi2Swr5DW5WKg==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", "@aws-sdk/client-sts": "3.513.0", "@aws-sdk/core": "3.513.0", - "@aws-sdk/credential-provider-node": "3.513.0", + "@aws-sdk/credential-provider-node": "3.514.0", "@aws-sdk/middleware-host-header": "3.511.0", "@aws-sdk/middleware-logger": "3.511.0", "@aws-sdk/middleware-recursion-detection": "3.511.0", @@ -617,15 +617,15 @@ } }, "node_modules/@aws-sdk/client-lambda": { - "version": "3.513.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-lambda/-/client-lambda-3.513.0.tgz", - "integrity": "sha512-g3FrfJQJXvXi7b9D+hmKuJ8kp8dncCv6NP0Hu6qqp6siUc0WH4DITUQIOo9qIEI1v4Y2BInBq/oLBQtJwOHM5Q==", + "version": "3.514.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-lambda/-/client-lambda-3.514.0.tgz", + "integrity": "sha512-UiC4/bnYkoApMboCCycWGl1pOBtrQRq/zcgsjNfx6sISjZa5GHCMV7PbvQ25P8diuXqbooHA4s8S+JivKGdQoA==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", "@aws-sdk/client-sts": "3.513.0", "@aws-sdk/core": "3.513.0", - "@aws-sdk/credential-provider-node": "3.513.0", + "@aws-sdk/credential-provider-node": "3.514.0", "@aws-sdk/middleware-host-header": "3.511.0", "@aws-sdk/middleware-logger": "3.511.0", "@aws-sdk/middleware-recursion-detection": "3.511.0", @@ -672,16 +672,16 @@ } }, "node_modules/@aws-sdk/client-s3": { - "version": "3.513.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.513.0.tgz", - "integrity": "sha512-Y7kbPLvVVgcn38sTyQP/WnD5Zc7lnJ4XQ8qIPobbkwhCL+rl4hIWcxpQLf1OGS4zw2fBFQAxZnDotuBrAvgNsw==", + "version": "3.514.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.514.0.tgz", + "integrity": "sha512-W1//7NyI/3Gs3u6o7J+hisD66liEeRpCQ7pJzyJl+rpXTp5ZOghTZzEEcIeHIPNSxCWywmt6E6r3yrMdoMktwg==", "dependencies": { "@aws-crypto/sha1-browser": "3.0.0", "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", "@aws-sdk/client-sts": "3.513.0", "@aws-sdk/core": "3.513.0", - "@aws-sdk/credential-provider-node": "3.513.0", + "@aws-sdk/credential-provider-node": "3.514.0", "@aws-sdk/middleware-bucket-endpoint": "3.511.0", "@aws-sdk/middleware-expect-continue": "3.511.0", "@aws-sdk/middleware-flexible-checksums": "3.511.0", @@ -740,15 +740,15 @@ } }, "node_modules/@aws-sdk/client-secrets-manager": { - "version": "3.513.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-secrets-manager/-/client-secrets-manager-3.513.0.tgz", - "integrity": "sha512-6ZDYjjPqiF59Tm01wz9AqOUiZxcuDKFHvW0Vs2ugx/OoffEkguXdyYKieyykuUEFFT+Qh9oP38v/mQNRhRubEA==", + "version": "3.514.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-secrets-manager/-/client-secrets-manager-3.514.0.tgz", + "integrity": "sha512-WaKwQFTKA+KDuBuAPGAIedImlCKAPTO8S4BYxi4NbUL5R4rGA/Jmzu98xQtBTadhlAbdv8FLvcUqMp5LtJXfHA==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", "@aws-sdk/client-sts": "3.513.0", "@aws-sdk/core": "3.513.0", - "@aws-sdk/credential-provider-node": "3.513.0", + "@aws-sdk/credential-provider-node": "3.514.0", "@aws-sdk/middleware-host-header": "3.511.0", "@aws-sdk/middleware-logger": "3.511.0", "@aws-sdk/middleware-recursion-detection": "3.511.0", @@ -791,15 +791,15 @@ } }, "node_modules/@aws-sdk/client-sqs": { - "version": "3.513.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sqs/-/client-sqs-3.513.0.tgz", - "integrity": "sha512-bftpt8WRfbsTS1hdW04b5+JMAAih8XZ/+fh+Rgp9h13oYkXCaeehGgBn565ReIxjWFJM90rIx00EcDVUAgZ33w==", + "version": "3.514.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sqs/-/client-sqs-3.514.0.tgz", + "integrity": "sha512-4fcn1sp1DlBIh1E+d2/xZSNa608/rd/MSjsJEmTmQVBHOMvzpwRWkhhiywiwESbDeCQZMZqPy+a6RFIFX5lavg==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", "@aws-sdk/client-sts": "3.513.0", "@aws-sdk/core": "3.513.0", - "@aws-sdk/credential-provider-node": "3.513.0", + "@aws-sdk/credential-provider-node": "3.514.0", "@aws-sdk/middleware-host-header": "3.511.0", "@aws-sdk/middleware-logger": "3.511.0", "@aws-sdk/middleware-recursion-detection": "3.511.0", @@ -1065,9 +1065,9 @@ } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.513.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.513.0.tgz", - "integrity": "sha512-Cp6tYUJ+g8zJxI8vE0A9W6AxRLq3iR2zGGKsrPLNmZkUaHoVaJiNEd+2nL9RwCqDRve+N+Sh3mbZrLiqh3DO6A==", + "version": "3.514.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.514.0.tgz", + "integrity": "sha512-z6HYiJN5+WO4Obnu36pIKnWkt1cVb3/3QeqE0lwF6cwLVHv1DCTV6OAWlQO5Q9EO9VcsmZU3aIH7MyGrhvYuHg==", "dependencies": { "@aws-sdk/credential-provider-env": "3.511.0", "@aws-sdk/credential-provider-http": "3.511.0", @@ -1146,11 +1146,11 @@ } }, "node_modules/@aws-sdk/lib-dynamodb": { - "version": "3.513.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/lib-dynamodb/-/lib-dynamodb-3.513.0.tgz", - "integrity": "sha512-G/z5YlX8euUSDyJOK1Gxi+WB9rEsAo8gExg7xrNc24ERTsPpNhph/Bn50ORDWgvu9oOekMzE0y2sYejGZCEj+g==", + "version": "3.514.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/lib-dynamodb/-/lib-dynamodb-3.514.0.tgz", + "integrity": "sha512-xQpaaVfkgiQquaIDDc7bXzCv1nCwE1g7ef0k7h4Hhn8LdlBqjjdAKXknB5J/nejX1MOlyARtHrmg/7hQp03xEA==", "dependencies": { - "@aws-sdk/util-dynamodb": "3.513.0", + "@aws-sdk/util-dynamodb": "3.514.0", "@smithy/smithy-client": "^2.3.1", "@smithy/types": "^2.9.1", "tslib": "^2.5.0" @@ -1163,9 +1163,9 @@ } }, "node_modules/@aws-sdk/lib-storage": { - "version": "3.513.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.513.0.tgz", - "integrity": "sha512-1xwpT+TJjGc0PHxQ4upwR5HuCf/oz2PT/7hiTgja1WRxMFAXgAWn4ennfiysMsyU86Zyx9V3peaJzT9VPPtwGw==", + "version": "3.514.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.514.0.tgz", + "integrity": "sha512-edm0LTDA0m4pOYOAwCKCvoFUX7Rhg37Clallu4hIDDkQV8IARd53EenaR+1S32vQdoua89aZaK4A58m74QsgKw==", "dependencies": { "@smithy/abort-controller": "^2.1.1", "@smithy/middleware-endpoint": "^2.4.1", @@ -1453,9 +1453,9 @@ } }, "node_modules/@aws-sdk/util-dynamodb": { - "version": "3.513.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-dynamodb/-/util-dynamodb-3.513.0.tgz", - "integrity": "sha512-sUOBtnWDTpBNHSt7yH63wOHYFeTHynRN/CbnauBpK7AFlV9IVIsPz3VdmqAz8sUbEyxSQSBAeSkvp22lUHWOMA==", + "version": "3.514.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-dynamodb/-/util-dynamodb-3.514.0.tgz", + "integrity": "sha512-6zicBsqn0CpePfmD9PAD0SqsKlfSF7dFfLFdDCKUm1cqFFRCZBWN+3rjhRpr2Xexb4Mn+54Nttf4/SMbWgYnBA==", "dependencies": { "tslib": "^2.5.0" }, @@ -2970,9 +2970,9 @@ } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, "engines": { "node": ">=6.0.0" @@ -3000,12 +3000,12 @@ "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==" }, "node_modules/@ljharb/resumer": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@ljharb/resumer/-/resumer-0.0.1.tgz", - "integrity": "sha512-skQiAOrCfO7vRTq53cxznMpks7wS1va95UCidALlOVWqvBAzwPVErwizDwoMqNVMEn1mDq0utxZd02eIrvF1lw==", + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@ljharb/resumer/-/resumer-0.1.2.tgz", + "integrity": "sha512-opZnY9WsZ6tjPSpmTEdPY+LpxpEwqg3VsQiGFv+wAaA1ffTghnG019mAD8BKxkcpZx6HtvNj0vdyxDHTxPQlJw==", "dev": true, "dependencies": { - "@ljharb/through": "^2.3.9" + "@ljharb/through": "^2.3.12" }, "engines": { "node": ">= 0.4" @@ -12583,15 +12583,15 @@ } }, "node_modules/tape": { - "version": "5.7.4", - "resolved": "https://registry.npmjs.org/tape/-/tape-5.7.4.tgz", - "integrity": "sha512-uaigP+5H9+E8aaMLKMbGkDd33G5TKu4UFpapqT7um+8xSHQQUS2lJNd+hTj9fFVQLg8bmcIofwc8b9f6+ISSfQ==", + "version": "5.7.5", + "resolved": "https://registry.npmjs.org/tape/-/tape-5.7.5.tgz", + "integrity": "sha512-C5Gm1MR8ujZmNrsmOiHSkKFfY2thrnUrFw/fFtcva9FABbN7LrHuQPi3MTS0Z0i/SLfYSJtRIcJYDUpwPsQ8yA==", "dev": true, "dependencies": { - "@ljharb/resumer": "^0.0.1", - "@ljharb/through": "^2.3.11", + "@ljharb/resumer": "^0.1.2", + "@ljharb/through": "^2.3.12", "array.prototype.every": "^1.1.5", - "call-bind": "^1.0.5", + "call-bind": "^1.0.7", "deep-equal": "^2.2.3", "defined": "^1.0.1", "dotignore": "^0.1.2", @@ -12599,7 +12599,7 @@ "get-package-type": "^0.1.0", "glob": "^7.2.3", "has-dynamic-import": "^2.1.0", - "hasown": "^2.0.0", + "hasown": "^2.0.1", "inherits": "^2.0.4", "is-regex": "^1.1.4", "minimist": "^1.2.8",