Custom ring-client-api

This commit is contained in:
tsightler
2023-05-29 16:25:26 -04:00
parent 948e90408b
commit c324b5bf66
10 changed files with 250 additions and 238 deletions

View File

@@ -1,5 +1,5 @@
import RingSocketDevice from './base-socket-device.js'
import { RingDeviceType } from 'ring-client-api'
import { RingDeviceType } from '@tsightler/ring-client-api'
export default class BeamOutdoorPlug extends RingSocketDevice {
constructor(deviceInfo) {

View File

@@ -1,5 +1,5 @@
import RingSocketDevice from './base-socket-device.js'
import { RingDeviceType } from 'ring-client-api'
import { RingDeviceType } from '@tsightler/ring-client-api'
export default class BinarySensor extends RingSocketDevice {
constructor(deviceInfo) {

View File

@@ -1,5 +1,5 @@
import RingSocketDevice from './base-socket-device.js'
import { allAlarmStates, RingDeviceType } from 'ring-client-api'
import { allAlarmStates, RingDeviceType } from '@tsightler/ring-client-api'
import utils from '../lib/utils.js'
import state from '../lib/state.js'

View File

@@ -1,5 +1,5 @@
import RingSocketDevice from './base-socket-device.js'
import { RingDeviceType } from 'ring-client-api'
import { RingDeviceType } from '@tsightler/ring-client-api'
import utils from '../lib/utils.js'
export default class Thermostat extends RingSocketDevice {

View File

@@ -5,8 +5,8 @@ import { fileURLToPath } from 'url'
import { readFile } from 'fs/promises'
import writeFileAtomic from 'write-file-atomic'
import { createHash, randomBytes } from 'crypto'
import { RingRestClient } from 'ring-client-api/rest-client'
import { requestInput } from './node_modules/ring-client-api/lib/util.js'
import { RingRestClient } from '@tsightler/ring-client-api/rest-client'
import { requestInput } from './node_modules/@tsightler/ring-client-api/lib/util.js'
async function getRefreshToken(systemId) {
let generatedToken

View File

@@ -1,4 +1,4 @@
import { RingApi, RingDeviceType, RingCamera, RingChime, RingIntercom } from 'ring-client-api'
import { RingApi, RingDeviceType, RingCamera, RingChime, RingIntercom } from '@tsightler/ring-client-api'
import chalk from 'chalk'
import utils from './utils.js'
import go2rtc from './go2rtc.js'
@@ -123,6 +123,12 @@ export default new class RingMqtt {
this.refreshToken = newRefreshToken
state.updateToken(newRefreshToken)
})
this.client.onNewPushCredentials.subscribe((credentials) => {
debug('Recevied updated push credentials')
state.updatePushCredentials(credentials)
})
} catch(error) {
this.client = false
debug(chalk.yellowBright(error.message))

View File

@@ -74,11 +74,17 @@ export default new class State {
}
updateToken(newRefreshToken) {
debug('Saving updated refresh token to state file')
debug('Saving refresh token to state file')
this.data.ring_token = newRefreshToken
this.saveStateFile()
}
updatePushCredentials(pushCredentials) {
debug('Saving push credentials to state file')
this.data.push_credentials = pushCredentials.newCredentials
this.saveStateFile()
}
setDeviceSavedState(deviceId, stateData) {
this.data.devices[deviceId] = stateData
this.saveStateFile()

View File

@@ -1,4 +1,4 @@
import { RingRestClient } from '../node_modules/ring-client-api/lib/rest-client.js'
import { RingRestClient } from '../node_modules/@tsightler/ring-client-api/lib/rest-client.js'
import utils from './utils.js'
import { dirname } from 'path'
import { fileURLToPath } from 'url'

456
package-lock.json generated
View File

@@ -9,6 +9,7 @@
"version": "5.2.3",
"license": "MIT",
"dependencies": {
"@tsightler/ring-client-api": "11.7.7-custom1",
"aedes": "0.49.0",
"body-parser": "^1.20.2",
"chalk": "^5.2.0",
@@ -19,7 +20,6 @@
"js-yaml": "^4.1.0",
"minimist": "^1.2.8",
"mqtt": "^4.3.7",
"ring-client-api": "11.7.7",
"rxjs": "^7.8.1",
"werift": "^0.18.3",
"write-file-atomic": "^5.0.1"
@@ -535,6 +535,233 @@
"node": ">=14.16"
}
},
"node_modules/@tsightler/ring-client-api": {
"version": "11.7.7-custom1",
"resolved": "https://registry.npmjs.org/@tsightler/ring-client-api/-/ring-client-api-11.7.7-custom1.tgz",
"integrity": "sha512-6c9YYOZOslatv26C/K8womrLYfmr57UBDqrn0uFrJL5U02ogdoJWwO6uKLYkkq0spa4yGo2W+glNIAoOu9Gwjw==",
"funding": [
{
"type": "paypal",
"url": "https://www.paypal.me/dustingreif"
},
{
"type": "github",
"url": "https://github.com/sponsors/dgreif"
}
],
"dependencies": {
"@eneris/push-receiver": "^3.1.4",
"@homebridge/camera-utils": "^2.2.0",
"@peculiar/asn1-schema": "^2.3.6",
"@peculiar/webcrypto": "^1.4.3",
"@types/socket.io-client": "1.4.36",
"colors": "1.4.0",
"debug": "^4.3.4",
"got": "^11.8.5",
"json-bigint": "^1.0.0",
"msw": "^1.2.1",
"rxjs": "^7.8.0",
"socket.io-client": "^2.5.0",
"systeminformation": "^5.17.12",
"uuid": "^9.0.0",
"webcrypto-core": "^1.7.7",
"werift": "0.18.2",
"ws": "^8.13.0"
},
"bin": {
"ring-auth-cli": "lib/ring-auth-cli.js",
"ring-device-data-cli": "lib/ring-device-data-cli.js"
},
"engines": {
"node": "^16 || ^18"
}
},
"node_modules/@tsightler/ring-client-api/node_modules/@sindresorhus/is": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
"integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==",
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sindresorhus/is?sponsor=1"
}
},
"node_modules/@tsightler/ring-client-api/node_modules/@szmarczak/http-timer": {
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
"integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
"dependencies": {
"defer-to-connect": "^2.0.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/@tsightler/ring-client-api/node_modules/cacheable-lookup": {
"version": "5.0.4",
"resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz",
"integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==",
"engines": {
"node": ">=10.6.0"
}
},
"node_modules/@tsightler/ring-client-api/node_modules/cacheable-request": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz",
"integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==",
"dependencies": {
"clone-response": "^1.0.2",
"get-stream": "^5.1.0",
"http-cache-semantics": "^4.0.0",
"keyv": "^4.0.0",
"lowercase-keys": "^2.0.0",
"normalize-url": "^6.0.1",
"responselike": "^2.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/@tsightler/ring-client-api/node_modules/get-stream": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
"integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
"dependencies": {
"pump": "^3.0.0"
},
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/@tsightler/ring-client-api/node_modules/got": {
"version": "11.8.6",
"resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz",
"integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==",
"dependencies": {
"@sindresorhus/is": "^4.0.0",
"@szmarczak/http-timer": "^4.0.5",
"@types/cacheable-request": "^6.0.1",
"@types/responselike": "^1.0.0",
"cacheable-lookup": "^5.0.3",
"cacheable-request": "^7.0.2",
"decompress-response": "^6.0.0",
"http2-wrapper": "^1.0.0-beta.5.2",
"lowercase-keys": "^2.0.0",
"p-cancelable": "^2.0.0",
"responselike": "^2.0.0"
},
"engines": {
"node": ">=10.19.0"
},
"funding": {
"url": "https://github.com/sindresorhus/got?sponsor=1"
}
},
"node_modules/@tsightler/ring-client-api/node_modules/http2-wrapper": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz",
"integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==",
"dependencies": {
"quick-lru": "^5.1.1",
"resolve-alpn": "^1.0.0"
},
"engines": {
"node": ">=10.19.0"
}
},
"node_modules/@tsightler/ring-client-api/node_modules/lowercase-keys": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
"integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
"engines": {
"node": ">=8"
}
},
"node_modules/@tsightler/ring-client-api/node_modules/normalize-url": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
"integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/@tsightler/ring-client-api/node_modules/p-cancelable": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
"integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==",
"engines": {
"node": ">=8"
}
},
"node_modules/@tsightler/ring-client-api/node_modules/responselike": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz",
"integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==",
"dependencies": {
"lowercase-keys": "^2.0.0"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/@tsightler/ring-client-api/node_modules/werift": {
"version": "0.18.2",
"resolved": "https://registry.npmjs.org/werift/-/werift-0.18.2.tgz",
"integrity": "sha512-0RSrSnRo5SC8Ks7XgwvUtVGyKiRdlg6RxWWSaWv3ey2iTGrcPvUUp06ZGLeYRSablT7yoFpXJEz+JQuhgA+tJQ==",
"dependencies": {
"@fidm/x509": "^1.2.1",
"@minhducsun2002/leb128": "^1.0.0",
"@peculiar/webcrypto": "^1.4.1",
"@peculiar/x509": "^1.9.2",
"@shinyoshiaki/ebml-builder": "^0.0.1",
"aes-js": "^3.1.2",
"binary-data": "^0.6.0",
"buffer-crc32": "^0.2.13",
"date-fns": "^2.29.3",
"debug": "^4.3.4",
"elliptic": "^6.5.4",
"int64-buffer": "^1.0.1",
"ip": "^1.1.8",
"jspack": "^0.0.4",
"lodash": "^4.17.21",
"nano-time": "^1.0.0",
"p-cancelable": "^2.1.1",
"rx.mini": "^1.2.2",
"turbo-crc32": "^1.0.1",
"tweetnacl": "^1.0.3",
"uuid": "^9.0.0"
},
"engines": {
"node": ">=16"
}
},
"node_modules/@tsightler/ring-client-api/node_modules/ws": {
"version": "8.13.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz",
"integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==",
"engines": {
"node": ">=10.0.0"
},
"peerDependencies": {
"bufferutil": "^4.0.1",
"utf-8-validate": ">=5.0.2"
},
"peerDependenciesMeta": {
"bufferutil": {
"optional": true
},
"utf-8-validate": {
"optional": true
}
}
},
"node_modules/@types/cacheable-request": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz",
@@ -4295,233 +4522,6 @@
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/ring-client-api": {
"version": "11.7.7",
"resolved": "https://registry.npmjs.org/ring-client-api/-/ring-client-api-11.7.7.tgz",
"integrity": "sha512-ah9gc64jrNkR0vJtU/kENnqz24+V2aOfVs+HxRI7L7JTtNqGGpTKRQdhbmOjllEe/Xt4FhEbg2XOY9lyvrFrjQ==",
"funding": [
{
"type": "paypal",
"url": "https://www.paypal.me/dustingreif"
},
{
"type": "github",
"url": "https://github.com/sponsors/dgreif"
}
],
"dependencies": {
"@eneris/push-receiver": "^3.1.4",
"@homebridge/camera-utils": "^2.2.0",
"@peculiar/asn1-schema": "^2.3.6",
"@peculiar/webcrypto": "^1.4.3",
"@types/socket.io-client": "1.4.36",
"colors": "1.4.0",
"debug": "^4.3.4",
"got": "^11.8.5",
"json-bigint": "^1.0.0",
"msw": "^1.2.1",
"rxjs": "^7.8.0",
"socket.io-client": "^2.5.0",
"systeminformation": "^5.17.12",
"uuid": "^9.0.0",
"webcrypto-core": "^1.7.7",
"werift": "0.18.2",
"ws": "^8.13.0"
},
"bin": {
"ring-auth-cli": "lib/ring-auth-cli.js",
"ring-device-data-cli": "lib/ring-device-data-cli.js"
},
"engines": {
"node": "^16 || ^18"
}
},
"node_modules/ring-client-api/node_modules/@sindresorhus/is": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
"integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==",
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sindresorhus/is?sponsor=1"
}
},
"node_modules/ring-client-api/node_modules/@szmarczak/http-timer": {
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
"integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
"dependencies": {
"defer-to-connect": "^2.0.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/ring-client-api/node_modules/cacheable-lookup": {
"version": "5.0.4",
"resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz",
"integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==",
"engines": {
"node": ">=10.6.0"
}
},
"node_modules/ring-client-api/node_modules/cacheable-request": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz",
"integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==",
"dependencies": {
"clone-response": "^1.0.2",
"get-stream": "^5.1.0",
"http-cache-semantics": "^4.0.0",
"keyv": "^4.0.0",
"lowercase-keys": "^2.0.0",
"normalize-url": "^6.0.1",
"responselike": "^2.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/ring-client-api/node_modules/get-stream": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
"integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
"dependencies": {
"pump": "^3.0.0"
},
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/ring-client-api/node_modules/got": {
"version": "11.8.6",
"resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz",
"integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==",
"dependencies": {
"@sindresorhus/is": "^4.0.0",
"@szmarczak/http-timer": "^4.0.5",
"@types/cacheable-request": "^6.0.1",
"@types/responselike": "^1.0.0",
"cacheable-lookup": "^5.0.3",
"cacheable-request": "^7.0.2",
"decompress-response": "^6.0.0",
"http2-wrapper": "^1.0.0-beta.5.2",
"lowercase-keys": "^2.0.0",
"p-cancelable": "^2.0.0",
"responselike": "^2.0.0"
},
"engines": {
"node": ">=10.19.0"
},
"funding": {
"url": "https://github.com/sindresorhus/got?sponsor=1"
}
},
"node_modules/ring-client-api/node_modules/http2-wrapper": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz",
"integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==",
"dependencies": {
"quick-lru": "^5.1.1",
"resolve-alpn": "^1.0.0"
},
"engines": {
"node": ">=10.19.0"
}
},
"node_modules/ring-client-api/node_modules/lowercase-keys": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
"integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
"engines": {
"node": ">=8"
}
},
"node_modules/ring-client-api/node_modules/normalize-url": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
"integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/ring-client-api/node_modules/p-cancelable": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
"integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==",
"engines": {
"node": ">=8"
}
},
"node_modules/ring-client-api/node_modules/responselike": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz",
"integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==",
"dependencies": {
"lowercase-keys": "^2.0.0"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/ring-client-api/node_modules/werift": {
"version": "0.18.2",
"resolved": "https://registry.npmjs.org/werift/-/werift-0.18.2.tgz",
"integrity": "sha512-0RSrSnRo5SC8Ks7XgwvUtVGyKiRdlg6RxWWSaWv3ey2iTGrcPvUUp06ZGLeYRSablT7yoFpXJEz+JQuhgA+tJQ==",
"dependencies": {
"@fidm/x509": "^1.2.1",
"@minhducsun2002/leb128": "^1.0.0",
"@peculiar/webcrypto": "^1.4.1",
"@peculiar/x509": "^1.9.2",
"@shinyoshiaki/ebml-builder": "^0.0.1",
"aes-js": "^3.1.2",
"binary-data": "^0.6.0",
"buffer-crc32": "^0.2.13",
"date-fns": "^2.29.3",
"debug": "^4.3.4",
"elliptic": "^6.5.4",
"int64-buffer": "^1.0.1",
"ip": "^1.1.8",
"jspack": "^0.0.4",
"lodash": "^4.17.21",
"nano-time": "^1.0.0",
"p-cancelable": "^2.1.1",
"rx.mini": "^1.2.2",
"turbo-crc32": "^1.0.1",
"tweetnacl": "^1.0.3",
"uuid": "^9.0.0"
},
"engines": {
"node": ">=16"
}
},
"node_modules/ring-client-api/node_modules/ws": {
"version": "8.13.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz",
"integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==",
"engines": {
"node": ">=10.0.0"
},
"peerDependencies": {
"bufferutil": "^4.0.1",
"utf-8-validate": ">=5.0.2"
},
"peerDependenciesMeta": {
"bufferutil": {
"optional": true
},
"utf-8-validate": {
"optional": true
}
}
},
"node_modules/run-async": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",

View File

@@ -15,7 +15,7 @@
"js-yaml": "^4.1.0",
"minimist": "^1.2.8",
"mqtt": "^4.3.7",
"ring-client-api": "11.7.7",
"@tsightler/ring-client-api": "11.7.7-custom1",
"write-file-atomic": "^5.0.1",
"werift": "^0.18.3",
"rxjs": "^7.8.1"