@matter-server/ble-proxy 1.4.0 → 1.4.1-alpha.0-20261008-d619c2e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/BleProxyConnection.d.ts.map +1 -1
- package/dist/esm/BleProxyConnection.js +47 -2
- package/dist/esm/BleProxyConnection.js.map +1 -1
- package/dist/esm/BleProxyHandler.d.ts.map +1 -1
- package/dist/esm/BleProxyHandler.js +26 -6
- package/dist/esm/BleProxyHandler.js.map +1 -1
- package/dist/esm/BleProxyProtocol.d.ts +6 -0
- package/dist/esm/BleProxyProtocol.d.ts.map +1 -1
- package/dist/esm/BleProxyProtocol.js +11 -0
- package/dist/esm/BleProxyProtocol.js.map +1 -1
- package/dist/esm/ProxyBleChannel.d.ts.map +1 -1
- package/dist/esm/ProxyBleChannel.js +2 -1
- package/dist/esm/ProxyBleChannel.js.map +1 -1
- package/dist/esm/example/NobleBleProxyClient.d.ts +63 -1
- package/dist/esm/example/NobleBleProxyClient.d.ts.map +1 -1
- package/dist/esm/example/NobleBleProxyClient.js +346 -59
- package/dist/esm/example/NobleBleProxyClient.js.map +1 -1
- package/package.json +7 -7
- package/src/BleProxyConnection.ts +55 -2
- package/src/BleProxyHandler.ts +33 -8
- package/src/BleProxyProtocol.ts +11 -0
- package/src/ProxyBleChannel.ts +1 -0
- package/src/example/NobleBleProxyClient.ts +481 -76
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/example/NobleBleProxyClient.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAgBA,SAAS,iBAAiB;AAC1B;AAAA,EACI;AAAA,EACA;AAAA,EAWA;AAAA,EACA;AAAA,OACG;AAEP,SAAS,YAAe,SAAqB,IAAY,SAA6B;AAClF,SAAO,QAAQ,KAAK,CAAC,SAAS,IAAI,QAAe,CAAC,GAAG,WAAW,WAAW,MAAM,OAAO,IAAI,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACtH;AAEA,SAAS,KAAa;AAClB,QAAM,IAAI,oBAAI,KAAK;AACnB,QAAM,MAAM,CAAC,GAAW,IAAI,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,GAAG;AAC9D,SAAO,GAAG,IAAI,EAAE,SAAS,CAAC,CAAC,IAAI,IAAI,EAAE,WAAW,CAAC,CAAC,IAAI,IAAI,EAAE,WAAW,CAAC,CAAC,IAAI,IAAI,EAAE,gBAAgB,GAAG,CAAC,CAAC;AAC5G;AAEA,SAAS,OAAO,MAAuB;AACnC,UAAQ,OAAO,MAAM,GAAG,GAAG,CAAC,GAAG;AAC/B,UAAQ,IAAI,GAAG,IAAI;AACvB;AAEA,SAAS,QAAQ,MAAuB;AACpC,UAAQ,OAAO,MAAM,GAAG,GAAG,CAAC,GAAG;AAC/B,UAAQ,KAAK,GAAG,IAAI;AACxB;AAEA,SAAS,SAAS,MAAuB;AACrC,UAAQ,OAAO,MAAM,GAAG,GAAG,CAAC,GAAG;AAC/B,UAAQ,MAAM,GAAG,IAAI;AACzB;AAwBO,MAAM,oBAAoB;AAAA,EACpB;AAAA,EACA;AAAA,EACT;AAAA,EACA;AAAA,EACA,eAAe,oBAAI,IAA6B;AAAA,EAChD,cAAc;AAAA,EACd,yBAAyB,oBAAI,IAAwB;AAAA,EACrD,2BAA2B,oBAAI,IAAiC;AAAA,EAChE,mBAAmB,oBAAI,IAAyC;AAAA,EAChE,WAAW;AAAA,EAEX,YAAY,WAAmB,OAAgB;AAC3C,SAAK,aAAa;AAClB,SAAK,SAAS;AACd,SAAK,yBAAyB;AAAA,EAClC;AAAA,EAEA,MAAM,UAAyB;AAE3B,UAAM,KAAK,WAAW;AAEtB,WAAO,IAAI,QAAc,CAAC,SAAS,WAAW;AAC1C,YAAM,KAAK,IAAI,UAAU,KAAK,UAAU;AACxC,WAAK,MAAM;AAEX,SAAG,GAAG,QAAQ,MAAM;AAEhB,WAAG,KAAK,KAAK,UAAU,EAAE,MAAM,SAAS,SAAS,2BAA2B,CAAC,CAAC;AAAA,MAClF,CAAC;AAED,UAAI,oBAAoB;AAExB,SAAG,GAAG,WAAW,CAAC,MAAM,aAAa;AACjC,YAAI,UAAU;AACV,eAAK,mBAAmB,OAAO,KAAK,IAAmB,CAAC;AACxD;AAAA,QACJ;AAEA,cAAM,MAAM,KAAK,MAAM,KAAK,SAAS,CAAC;AAEtC,YAAI,CAAC,mBAAmB;AACpB,cAAI,IAAI,SAAS,kBAAkB;AAC/B,gBAAI,IAAI,OAAO;AACX,qBAAO,IAAI,MAAM,qBAAqB,IAAI,KAAK,MAAM,IAAI,OAAO,EAAE,CAAC;AACnE,iBAAG,MAAM;AACT;AAAA,YACJ;AACA,gCAAoB;AACpB,gBAAI,2CAA2C,IAAI,OAAO,GAAG;AAC7D,oBAAQ;AAAA,UACZ;AACA;AAAA,QACJ;AAGA,YAAI,QAAQ,OAAO,aAAa,KAAK;AACjC,eAAK,eAAe,GAAqB,EAAE;AAAA,YAAM,SAC7C,MAAM,uCAAwC,IAAc,OAAO,EAAE;AAAA,UACzE;AAAA,QACJ;AAAA,MACJ,CAAC;AAED,SAAG,GAAG,SAAS,CAAC,MAAM,WAAW;AAC7B,YAAI,CAAC,KAAK,UAAU;AAChB,cAAI,kCAAkC,IAAI,GAAG,OAAO,SAAS,YAAY,MAAM,KAAK,EAAE,GAAG;AAAA,QAC7F;AAAA,MACJ,CAAC;AAED,SAAG,GAAG,uBAAuB,CAAC,MAAM,QAAQ;AACxC,YAAI,OAAO;AACX,YAAI,GAAG,QAAQ,CAAC,UAAmB,QAAQ,MAAM,SAAS,CAAE;AAC5D,YAAI,GAAG,OAAO,MAAM;AAChB,gBAAM,MAAM,IAAI,MAAM,+BAA+B,IAAI,UAAU,EAAE;AACrE,gBAAM,2CAA2C,IAAI,UAAU,IAAI,OAAO,WAAW,IAAI,KAAK,EAAE;AAChG,gBAAM,2FAA2F;AACjG,iBAAO,GAAG;AAAA,QACd,CAAC;AAAA,MACL,CAAC;AAED,SAAG,GAAG,SAAS,SAAO;AAClB,YAAI,CAAC,mBAAmB;AACpB,iBAAO,GAAG;AAAA,QACd,OAAO;AACH,gBAAM,oBAAoB,GAAG;AAAA,QACjC;AAAA,MACJ,CAAC;AAAA,IACL,CAAC;AAAA,EACL;AAAA,EAEA,QAAc;AACV,SAAK,WAAW;AAEhB,eAAW,CAAC,QAAQ,IAAI,KAAK,KAAK,cAAc;AAC5C,UAAI,KAAK,WAAW,UAAU,aAAa;AACvC,aAAK,WACA,gBAAgB,EAChB;AAAA,UAAM,SACH,KAAK,iBAAiB,MAAM,uCAAwC,IAAc,OAAO,EAAE;AAAA,QAC/F;AAAA,MACR;AAAA,IACJ;AACA,SAAK,aAAa,MAAM;AACxB,SAAK,QAAQ,KAAK;AAClB,SAAK,KAAK,MAAM;AAAA,EACpB;AAAA,EAEA,MAAM,aAA4B;AAC9B,QAAI,KAAK,WAAW,QAAW;AAC3B,cAAQ,IAAI,sBAAsB,KAAK,OAAO,SAAS;AAAA,IAC3D;AAGA,UAAM,SAAS,MAAM,OAAO,mBAAmB,GAAG;AAClD,UAAM,iBAA0B;AAChC,QAAI,OAAO,mBAAmB,YAAY;AACtC,YAAM,UAAU;AAChB,WAAK,SAAS,QAAQ,EAAE,UAAU,MAAM,CAAC;AAAA,IAC7C,OAAO;AACH,WAAK,SAAS;AAAA,IAClB;AAIA,SAAK,OAAO,GAAG,WAAW,CAAC,YAAoB,KAAK,oBAAoB,OAAO,EAAE,CAAC;AAClF,SAAK,OAAO,GAAG,eAAe,CAAC,UAAkB,IAAI,wBAAwB,KAAK,EAAE,CAAC;AAAA,EACzF;AAAA,EAEA,2BAAiC;AAC7B,SAAK,iBAAiB,IAAI,cAAc,CAAC,IAAI,UAAU,KAAK,iBAAiB,EAAE,CAAC;AAChF,SAAK,iBAAiB,IAAI,aAAa,QAAM,KAAK,gBAAgB,EAAE,CAAC;AACrE,SAAK,iBAAiB,IAAI,WAAW,CAAC,IAAI,SAAS,KAAK,eAAe,IAAI,IAA8B,CAAC;AAC1G,SAAK,iBAAiB;AAAA,MAAI;AAAA,MAAc,CAAC,IAAI,SACzC,KAAK,kBAAkB,IAAK,KAAuC,iBAAiB;AAAA,IACxF;AACA,SAAK,iBAAiB;AAAA,MAAI;AAAA,MAAqB,CAAC,IAAI,SAChD,KAAK,wBAAwB,IAAI,IAAuC;AAAA,IAC5E;AACA,SAAK,iBAAiB;AAAA,MAAI;AAAA,MAA4B,CAAC,IAAI,SACvD,KAAK,+BAA+B,IAAI,IAA8C;AAAA,IAC1F;AACA,SAAK,iBAAiB;AAAA,MAAI;AAAA,MAAuB,CAAC,IAAI,SAClD,KAAK,0BAA0B,IAAI,IAAyC;AAAA,IAChF;AACA,SAAK,iBAAiB;AAAA,MAAI;AAAA,MAAwB,CAAC,IAAI,SACnD,KAAK,2BAA2B,IAAI,IAA0C;AAAA,IAClF;AACA,SAAK,iBAAiB;AAAA,MAAI;AAAA,MAA4B,CAAC,IAAI,SACvD,KAAK,+BAA+B,IAAI,IAA8C;AAAA,IAC1F;AACA,SAAK,iBAAiB;AAAA,MAAI;AAAA,MAA8B,CAAC,IAAI,SACzD,KAAK,iCAAiC,IAAI,IAAgD;AAAA,IAC9F;AACA,SAAK,iBAAiB;AAAA,MAAI;AAAA,MAAe,CAAC,IAAI,SAC1C,KAAK;AAAA,QACD;AAAA,QACC,KAAoD;AAAA,QACpD,KAAyB;AAAA,MAC9B;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,MAAM,eAAe,KAAoC;AACrD,UAAM,UAAU,IAAI,OAAO,KAAK,UAAU,IAAI,IAAI,IAAI;AACtD,QAAI,kBAAa,IAAI,EAAE,IAAI,IAAI,OAAO,GAAG,UAAU,IAAI,OAAO,KAAK,EAAE,EAAE;AACvE,UAAM,UAAU,KAAK,iBAAiB,IAAI,IAAI,OAAO;AACrD,QAAI,CAAC,SAAS;AACV,YAAM,kBAAa,IAAI,EAAE,qBAAqB,IAAI,OAAO,EAAE;AAC3D,WAAK,WAAW,IAAI,IAAI,kBAAkB,oBAAoB,IAAI,OAAO,EAAE;AAC3E;AAAA,IACJ;AACA,QAAI;AACA,YAAM,QAAQ,IAAI,IAAI,IAAI,QAAQ,CAAC,CAAC;AAAA,IACxC,SAAS,KAAK;AACV,YAAM,kBAAa,IAAI,EAAE,IAAI,IAAI,OAAO,WAAY,IAAc,OAAO,EAAE;AAC3E,WAAK,WAAW,IAAI,IAAI,kBAAkB,GAAI,IAAc,OAAO,EAAE;AAAA,IACzE;AAAA,EACJ;AAAA;AAAA,EAIA,MAAM,iBAAiB,IAA2B;AAC9C,QAAI,CAAC,KAAK,QAAQ;AACd,WAAK,WAAW,IAAI,yBAAyB,uBAAuB;AACpE;AAAA,IACJ;AAEA,SAAK,yBAAyB,MAAM;AAEpC,SAAK,OAAO,mBAAmB,UAAU;AACzC,SAAK,OAAO,GAAG,YAAY,CAAC,eAA2B;AAEnD,YAAM,UAAU,WAAW,WAAW,WAAW;AACjD,WAAK,uBAAuB,IAAI,SAAS,UAAU;AAEnD,YAAM,cAAsC,CAAC;AAC7C,iBAAW,MAAM,WAAW,cAAc,eAAe,CAAC,GAAG;AACzD,oBAAY,GAAG,IAAI,IAAI,OAAO,KAAK,GAAG,IAAI,EAAE,SAAS,QAAQ;AAAA,MACjE;AAEA,YAAM,OAAO,WAAW,cAAc,aAAa;AACnD,YAAM,cAAc,WAAW,eAAe;AAC9C,YAAM,eAAe,WAAW,cAAc,gBAAgB,CAAC;AAE/D,YAAM,cAAmC;AAAA,QACrC;AAAA,QACA;AAAA,QACA,cAAc,aAAa,KAAK,GAAG;AAAA,QACnC,aAAa,OAAO,QAAQ,WAAW,EAClC,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,GAAG,IAAI,IAAI,IAAI,EAAE,EACvC,KAAK,EACL,KAAK,GAAG;AAAA,MACjB;AAEA,YAAM,OAAO,KAAK,yBAAyB,IAAI,OAAO;AACtD,YAAM,UACF,CAAC,QACD,KAAK,SAAS,YAAY,QAC1B,KAAK,gBAAgB,YAAY,eACjC,KAAK,iBAAiB,YAAY,gBAClC,KAAK,gBAAgB,YAAY;AAErC,UAAI,CAAC,SAAS;AACV;AAAA,MACJ;AACA,WAAK,yBAAyB,IAAI,SAAS,WAAW;AAEtD;AAAA,QACI,gCAAgC,OAAO,UAAU,IAAI,UAAU,WAAW,IAAI,aAC7D,KAAK,UAAU,YAAY,CAAC,gBACzB,KAAK,UAAU,OAAO,KAAK,WAAW,CAAC,CAAC;AAAA,MAChE;AAEA,YAAM,QAA8B;AAAA,QAChC;AAAA,QACA,MAAM,WAAW,cAAc;AAAA,QAC/B,MAAM,WAAW;AAAA,QACjB;AAAA,QACA,cAAc;AAAA,QACd,eAAe;AAAA,MACnB;AAEA,WAAK,WAAW,qBAAqB,KAA2C;AAAA,IACpF,CAAC;AAED,UAAM,KAAK,OAAO,mBAAmB,CAAC,MAAM,GAAG,IAAI;AACnD,QAAI,wCAAwC;AAC5C,SAAK,aAAa,EAAE;AAAA,EACxB;AAAA,EAEA,MAAM,gBAAgB,IAA2B;AAC7C,UAAM,KAAK,QAAQ,kBAAkB;AACrC,QAAI,yBAAyB;AAC7B,SAAK,aAAa,EAAE;AAAA,EACxB;AAAA,EAEA,MAAM,eAAe,IAAY,MAAkC;AAC/D,UAAM,aAAa,KAAK,uBAAuB,IAAI,KAAK,OAAO;AAC/D,QAAI,CAAC,YAAY;AACb;AAAA,QACI,2CAA2C,KAAK,OAAO,aAAa,CAAC,GAAG,KAAK,uBAAuB,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC;AAAA,MAC1H;AACA,WAAK,WAAW,IAAI,oBAAoB,+BAA+B,KAAK,OAAO,EAAE;AACrF;AAAA,IACJ;AAEA,UAAM,SAAS,KAAK;AACpB,UAAM,YAA6B;AAAA,MAC/B;AAAA,MACA,UAAU,oBAAI,IAAI;AAAA,MAClB,iBAAiB,oBAAI,IAAI;AAAA,MACzB,eAAe,oBAAI,IAAI;AAAA,IAC3B;AACA,SAAK,aAAa,IAAI,QAAQ,SAAS;AAIvC,QAAI;AACJ,UAAM,qBAAqB,MAAM;AAC7B,2BAAqB,kCAAkC,WAAW,KAAK;AACvE,UAAI,4BAA4B,MAAM,wBAAwB,WAAW,KAAK,GAAG;AACjF,WAAK,aAAa,OAAO,MAAM;AAC/B,WAAK,WAAW,gBAAgB,EAAE,mBAAmB,OAAO,CAAC;AAAA,IACjE;AACA,eAAW,KAAK,cAAc,kBAAkB;AAEhD,QAAI,yBAAyB,KAAK,OAAO,YAAY,WAAW,KAAK,MAAM;AAC3E,QAAI;AAIA,UAAI,8CAA8C;AAClD,YAAM,KAAK,OAAQ,kBAAkB;AAErC,YAAM,WAAW,aAAa;AAC9B,UAAI,2BAA2B,MAAM,UAAU,WAAW,KAAK,QAAQ,WAAW,OAAO,GAAG,EAAE;AAE9F,UAAI,iBAAiB,MAAM,qCAAqC;AAChE,YAAM,WAAW,MAAM;AAAA,QACnB,WAAW,sBAAsB,CAAC,MAAM,CAAC;AAAA,QACzC;AAAA,QACA;AAAA,MACJ;AACA,UAAI,iBAAiB,MAAM,cAAc,SAAS,IAAI,OAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,UAAU,WAAW,KAAK,EAAE;AAEzG,iBAAW,WAAW,UAAU;AAC5B,kBAAU,SAAS,IAAI,QAAQ,MAAM,OAAO;AAC5C,YAAI,QAAQ,SAAS,OAAQ;AAC7B,YAAI,iBAAiB,MAAM,sCAAsC,QAAQ,IAAI,KAAK;AAClF,cAAM,QAAQ,MAAM;AAAA,UAChB,QAAQ,6BAA6B;AAAA,UACrC;AAAA,UACA,2BAA2B,QAAQ,IAAI;AAAA,QAC3C;AACA,mBAAW,QAAQ,OAAO;AACtB,oBAAU,gBAAgB,IAAI,KAAK,MAAM,IAAI;AAAA,QACjD;AACA;AAAA,UACI,iBAAiB,MAAM,aAAa,QAAQ,IAAI,KAAK,MAAM,IAAI,OAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,UAAU,WAAW,KAAK;AAAA,QACpH;AAAA,MACJ;AAEA,YAAM,MAAM,WAAW,OAAO;AAC9B,UAAI,iBAAiB,MAAM,cAAc,GAAG,EAAE;AAG9C,UAAI,iDAAiD;AACrD,YAAM,KAAK,OAAQ,mBAAmB,CAAC,MAAM,GAAG,IAAI;AAEpD,WAAK,aAAa,IAAI,EAAE,mBAAmB,QAAQ,IAAI,CAAC;AAAA,IAC5D,SAAS,KAAK;AACV,YAAM,SAAS,sBAAuB,IAAc;AACpD,YAAM,iBAAiB,MAAM,YAAY,MAAM,EAAE;AACjD,UAAI,KAAK,aAAa,IAAI,MAAM,GAAG;AAC/B,aAAK,aAAa,OAAO,MAAM;AAAA,MACnC;AACA,iBAAW,eAAe,cAAc,kBAAkB;AAC1D,UAAI,WAAW,UAAU,aAAa;AAClC,mBACK,gBAAgB,EAChB;AAAA,UAAM,mBACH,KAAK,iBAAiB,MAAM,+BAAgC,cAAwB,OAAO,EAAE;AAAA,QACjG;AAAA,MACR;AAEA,WAAK,OACA,mBAAmB,CAAC,MAAM,GAAG,IAAI,EACjC;AAAA,QAAM,aACH,KAAK,2DAA4D,QAAkB,OAAO,EAAE;AAAA,MAChG;AACJ,WAAK,WAAW,IAAI,kBAAkB,MAAM;AAAA,IAChD;AAAA,EACJ;AAAA,EAEA,MAAM,kBAAkB,IAAY,kBAAyC;AACzE,UAAM,OAAO,KAAK,aAAa,IAAI,gBAAgB;AACnD,QAAI,CAAC,MAAM;AACP,WAAK,WAAW,IAAI,iBAAiB,6BAA6B,gBAAgB,EAAE;AACpF;AAAA,IACJ;AAEA,QAAI,KAAK,WAAW,UAAU,aAAa;AACvC,YAAM,KAAK,WAAW,gBAAgB;AAAA,IAC1C;AACA,SAAK,aAAa,OAAO,gBAAgB;AACzC,SAAK,aAAa,EAAE;AAAA,EACxB;AAAA,EAEA,MAAM,wBAAwB,IAAY,MAA2C;AACjF,UAAM,OAAO,KAAK,aAAa,IAAI,KAAK,iBAAiB;AACzD,QAAI,CAAC,MAAM;AACP,WAAK,WAAW,IAAI,iBAAiB,6BAA6B,KAAK,iBAAiB,EAAE;AAC1F;AAAA,IACJ;AAGA,QAAI,KAAK,SAAS,OAAO,GAAG;AACxB,YAAM,QAAQ,CAAC,GAAG,KAAK,SAAS,KAAK,CAAC;AACtC,UAAI,iBAAiB,KAAK,iBAAiB,yBAAyB,MAAM,KAAK,IAAI,CAAC,EAAE;AACtF,WAAK,aAAa,IAAI,EAAE,UAAU,MAAM,IAAI,WAAS,EAAE,KAAK,EAAE,EAAE,CAAC;AACjE;AAAA,IACJ;AAGA,QAAI,iBAAiB,KAAK,iBAAiB,iCAAiC;AAC5E,UAAM,WAAW,MAAM;AAAA,MACnB,KAAK,WAAW,sBAAsB,CAAC,CAAC;AAAA,MACxC;AAAA,MACA;AAAA,IACJ;AACA,eAAW,WAAW,UAAU;AAC5B,WAAK,SAAS,IAAI,QAAQ,MAAM,OAAO;AAAA,IAC3C;AACA,QAAI,iBAAiB,KAAK,iBAAiB,yBAAyB,SAAS,IAAI,OAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,EAAE;AAE1G,SAAK,aAAa,IAAI;AAAA,MAClB,UAAU,SAAS,IAAI,QAAM,EAAE,MAAM,EAAE,KAAK,EAAE;AAAA,IAClD,CAAC;AAAA,EACL;AAAA,EAEA,MAAM,+BAA+B,IAAY,MAAkD;AAC/F,UAAM,OAAO,KAAK,aAAa,IAAI,KAAK,iBAAiB;AACzD,QAAI,CAAC,MAAM;AACP,WAAK,WAAW,IAAI,iBAAiB,6BAA6B,KAAK,iBAAiB,EAAE;AAC1F;AAAA,IACJ;AAEA,UAAM,UAAU,KAAK,SAAS,IAAI,KAAK,YAAY;AACnD,QAAI,CAAC,SAAS;AACV,WAAK,WAAW,IAAI,qBAAqB,WAAW,KAAK,YAAY,YAAY;AACjF;AAAA,IACJ;AAGA,UAAM,cAAc,QAAQ,mBAAmB,CAAC;AAChD,QAAI,YAAY,SAAS,GAAG;AACxB;AAAA,QACI,iBAAiB,KAAK,iBAAiB,mCAAmC,KAAK,YAAY,OACvF,YAAY,IAAI,OAAK,GAAG,EAAE,IAAI,IAAI,EAAE,WAAW,KAAK,GAAG,CAAC,GAAG,EAAE,KAAK,IAAI;AAAA,MAC9E;AACA,WAAK,aAAa,IAAI;AAAA,QAClB,iBAAiB,YAAY,IAAI,QAAM;AAAA,UACnC,MAAM,EAAE;AAAA,UACR,YAAY,EAAE;AAAA,QAClB,EAAE;AAAA,MACN,CAAC;AACD;AAAA,IACJ;AAGA,QAAI,iBAAiB,KAAK,iBAAiB,oCAAoC,KAAK,YAAY,YAAY;AAC5G,UAAM,kBAAkB,MAAM;AAAA,MAC1B,QAAQ,6BAA6B,CAAC,CAAC;AAAA,MACvC;AAAA,MACA,2BAA2B,KAAK,YAAY;AAAA,IAChD;AACA,eAAW,QAAQ,iBAAiB;AAChC,WAAK,gBAAgB,IAAI,KAAK,MAAM,IAAI;AAAA,IAC5C;AACA;AAAA,MACI,iBAAiB,KAAK,iBAAiB,yBAAyB,KAAK,YAAY,OAC7E,gBAAgB,IAAI,OAAK,GAAG,EAAE,IAAI,IAAI,EAAE,WAAW,KAAK,GAAG,CAAC,GAAG,EAAE,KAAK,IAAI;AAAA,IAClF;AAEA,SAAK,aAAa,IAAI;AAAA,MAClB,iBAAiB,gBAAgB,IAAI,QAAM;AAAA,QACvC,MAAM,EAAE;AAAA,QACR,YAAY,EAAE;AAAA,MAClB,EAAE;AAAA,IACN,CAAC;AAAA,EACL;AAAA,EAEA,MAAM,0BAA0B,IAAY,MAA6C;AACrF,UAAM,OAAO,KAAK,aAAa,IAAI,KAAK,iBAAiB;AACzD,QAAI,CAAC,MAAM;AACP,WAAK,WAAW,IAAI,iBAAiB,6BAA6B,KAAK,iBAAiB,EAAE;AAC1F;AAAA,IACJ;AAEA,UAAM,OAAO,KAAK,oBAAoB,MAAM,KAAK,mBAAmB;AACpE,QAAI,CAAC,MAAM;AACP,WAAK,WAAW,IAAI,4BAA4B,kBAAkB,KAAK,mBAAmB,YAAY;AACtG;AAAA,IACJ;AAEA,UAAM,OAAO,MAAM,KAAK,UAAU;AAClC,QAAI,eAAe,KAAK,mBAAmB,WAAM,KAAK,MAAM,QAAQ;AACpE,SAAK,aAAa,IAAI,EAAE,OAAO,OAAO,KAAK,IAAI,EAAE,SAAS,QAAQ,EAAE,CAAC;AAAA,EACzE;AAAA,EAEA,MAAM,2BAA2B,IAAY,MAA8C;AACvF,UAAM,OAAO,KAAK,aAAa,IAAI,KAAK,iBAAiB;AACzD,QAAI,CAAC,MAAM;AACP,WAAK,WAAW,IAAI,iBAAiB,6BAA6B,KAAK,iBAAiB,EAAE;AAC1F;AAAA,IACJ;AAEA,UAAM,OAAO,KAAK,oBAAoB,MAAM,KAAK,mBAAmB;AACpE,QAAI,CAAC,MAAM;AACP,WAAK,WAAW,IAAI,4BAA4B,kBAAkB,KAAK,mBAAmB,YAAY;AACtG;AAAA,IACJ;AAEA,UAAM,OAAO,OAAO,KAAK,KAAK,OAAO,QAAQ;AAC7C,UAAM,eAAe,KAAK,YAAY;AACtC,QAAI,gBAAgB,KAAK,mBAAmB,IAAI,KAAK,MAAM,uBAAuB,YAAY,EAAE;AAChG,UAAM,KAAK,WAAW,MAAM,CAAC,YAAY;AACzC,SAAK,0BAA0B;AAC/B,SAAK,aAAa,EAAE;AAAA,EACxB;AAAA,EAEA,MAAM,+BAA+B,IAAY,MAAkD;AAC/F,UAAM,OAAO,KAAK,aAAa,IAAI,KAAK,iBAAiB;AACzD,QAAI,CAAC,MAAM;AACP,WAAK,WAAW,IAAI,iBAAiB,6BAA6B,KAAK,iBAAiB,EAAE;AAC1F;AAAA,IACJ;AAEA,UAAM,OAAO,KAAK,oBAAoB,MAAM,KAAK,mBAAmB;AACpE,QAAI,CAAC,MAAM;AACP,WAAK,WAAW,IAAI,4BAA4B,kBAAkB,KAAK,mBAAmB,YAAY;AACtG;AAAA,IACJ;AAEA,UAAM,SAAS,KAAK;AACpB,SAAK,GAAG,QAAQ,CAAC,SAAiB;AAE9B,UAAI,iBAAiB,KAAK,mBAAmB,WAAW,MAAM,IAAI,KAAK,MAAM,QAAQ;AACrF,WAAK,iBAAiB,kBAAkB,cAAc,QAAQ,IAAI,WAAW,IAAI,CAAC;AAAA,IACtF,CAAC;AAED,UAAM,KAAK,eAAe;AAC1B,SAAK,cAAc,IAAI,KAAK,qBAAqB,IAAI;AACrD,QAAI,oBAAoB,KAAK,mBAAmB,WAAW,MAAM,EAAE;AACnE,SAAK,aAAa,EAAE;AAAA,EACxB;AAAA,EAEA,MAAM,iCAAiC,IAAY,MAAoD;AACnG,UAAM,OAAO,KAAK,aAAa,IAAI,KAAK,iBAAiB;AACzD,QAAI,CAAC,MAAM;AACP,WAAK,WAAW,IAAI,iBAAiB,6BAA6B,KAAK,iBAAiB,EAAE;AAC1F;AAAA,IACJ;AAEA,UAAM,OAAO,KAAK,cAAc,IAAI,KAAK,mBAAmB;AAC5D,QAAI,CAAC,MAAM;AACP,WAAK,WAAW,IAAI,kBAAkB,qBAAqB,KAAK,mBAAmB,EAAE;AACrF;AAAA,IACJ;AAEA,UAAM,KAAK,iBAAiB;AAC5B,SAAK,mBAAmB,MAAM;AAC9B,SAAK,cAAc,OAAO,KAAK,mBAAmB;AAClD,QAAI,sBAAsB,KAAK,mBAAmB,WAAW,KAAK,iBAAiB,EAAE;AACrF,SAAK,aAAa,EAAE;AAAA,EACxB;AAAA,EAEA,MAAM,kBAAkB,IAAY,kBAA0B,KAA4B;AACtF,UAAM,OAAO,KAAK,aAAa,IAAI,gBAAgB;AACnD,QAAI,CAAC,MAAM;AACP,WAAK,WAAW,IAAI,iBAAiB,6BAA6B,gBAAgB,EAAE;AACpF;AAAA,IACJ;AAEA,UAAM,YAAY,KAAK,WAAW,OAAO;AACzC,QAAI,6BAA6B,gBAAgB,cAAc,GAAG,WAAW,SAAS,EAAE;AACxF,SAAK,aAAa,IAAI,EAAE,KAAK,UAAU,CAAC;AAAA,EAC5C;AAAA;AAAA,EAIA,mBAAmB,MAAoB;AACnC,UAAM,QAAQ,kBAAkB,IAAI,WAAW,IAAI,CAAC;AACpD,QAAI,sBAAiB,MAAM,MAAM,WAAW,MAAM,gBAAgB,YAAY,MAAM,QAAQ,MAAM,QAAQ;AAE1G,QAAI,MAAM,WAAW,kBAAkB,WAAW;AAC9C,YAAM,OAAO,KAAK,aAAa,IAAI,MAAM,gBAAgB;AACzD,UAAI,CAAC,MAAM,yBAAyB;AAChC,aAAK,gEAA2D,MAAM,gBAAgB,EAAE;AACxF;AAAA,MACJ;AAGA,WAAK,wBAAwB,WAAW,OAAO,KAAK,MAAM,OAAO,GAAG,KAAK,EAAE,MAAM,SAAO;AACpF,cAAM,uBAAuB,GAAG;AAAA,MACpC,CAAC;AAAA,IACL;AAAA,EACJ;AAAA;AAAA,EAIA,oBAAoB,MAAuB,MAA0C;AAEjF,WACI,KAAK,gBAAgB,IAAI,IAAI,KAC7B,KAAK,gBAAgB,IAAI,KAAK,YAAY,CAAC,KAC3C,KAAK,gBAAgB,IAAI,KAAK,YAAY,EAAE,QAAQ,MAAM,EAAE,EAAE,YAAY,CAAC;AAAA,EAEnF;AAAA,EAEA,aAAa,IAAY,QAAwC;AAC7D,SAAK,KAAK,KAAK,KAAK,UAAU,EAAE,IAAI,SAAS,MAAM,QAAQ,UAAU,CAAC,EAAE,CAAC,CAAC;AAAA,EAC9E;AAAA,EAEA,WAAW,IAAYA,QAAe,SAAuB;AACzD,SAAK,KAAK,KAAK,KAAK,UAAU,EAAE,IAAI,SAAS,OAAO,OAAAA,QAAO,QAAQ,CAAC,CAAC;AAAA,EACzE;AAAA,EAEA,WAAW,OAAe,MAAqC;AAC3D,SAAK,KAAK,KAAK,KAAK,UAAU,EAAE,OAAO,KAAK,CAAC,CAAC;AAAA,EAClD;AAAA,EAEA,iBAAiB,QAAgB,kBAA0B,SAA2B;AAClF,QAAI,sBAAiB,MAAM,WAAW,gBAAgB,YAAY,QAAQ,MAAM,QAAQ;AACxF,UAAM,QAAQ,kBAAkB,QAAQ,kBAAkB,OAAO;AACjE,SAAK,KAAK,KAAK,KAAK;AAAA,EACxB;AACJ;",
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["error"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter-server/ble-proxy",
|
|
3
|
-
"version": "1.4.0",
|
|
3
|
+
"version": "1.4.1-alpha.0-20261008-d619c2e",
|
|
4
4
|
"description": "BLE proxy implementation for matter.js - proxies BLE operations over WebSocket",
|
|
5
5
|
"homepage": "https://github.com/matter-js/matterjs-server",
|
|
6
6
|
"bugs": {
|
|
@@ -29,16 +29,16 @@
|
|
|
29
29
|
"noble-ble-proxy": "nacho-run src/example/noble-ble-proxy.ts"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@matter-server/ws-controller": "1.4.0",
|
|
33
|
-
"@matter/main": "0.
|
|
34
|
-
"ws": "^8.
|
|
32
|
+
"@matter-server/ws-controller": "1.4.1-alpha.0-20261008-d619c2e",
|
|
33
|
+
"@matter/main": "0.18.0-alpha.0-20261007-d55555085",
|
|
34
|
+
"ws": "^8.22.0"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@types/node": "^26.
|
|
38
|
-
"@types/ws": "^8.18.
|
|
37
|
+
"@types/node": "^26.6.4",
|
|
38
|
+
"@types/ws": "^8.18.2"
|
|
39
39
|
},
|
|
40
40
|
"optionalDependencies": {
|
|
41
|
-
"@matter/nodejs-ble": "0.
|
|
41
|
+
"@matter/nodejs-ble": "0.18.0-alpha.0-20261007-d55555085",
|
|
42
42
|
"dbus-next": "npm:@jellybrick/dbus-next@^0.10.3"
|
|
43
43
|
},
|
|
44
44
|
"engines": {
|
|
@@ -4,11 +4,22 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
createPromise,
|
|
9
|
+
Duration,
|
|
10
|
+
Logger,
|
|
11
|
+
Millis,
|
|
12
|
+
Observable,
|
|
13
|
+
Seconds,
|
|
14
|
+
Time,
|
|
15
|
+
type Timer,
|
|
16
|
+
withTimeout,
|
|
17
|
+
} from "@matter/main";
|
|
8
18
|
import { Mark } from "@matter/main/protocol";
|
|
9
19
|
import { WebSocket } from "ws";
|
|
10
20
|
import {
|
|
11
21
|
BLE_PROXY_PROTOCOL_VERSION,
|
|
22
|
+
BleProxyCommandError,
|
|
12
23
|
decodeBinaryFrame,
|
|
13
24
|
encodeBinaryFrame,
|
|
14
25
|
type BinaryFrame,
|
|
@@ -52,6 +63,10 @@ const HANDSHAKE_TIMEOUT = Seconds(10);
|
|
|
52
63
|
*/
|
|
53
64
|
const COMMAND_TIMEOUT = Seconds(60);
|
|
54
65
|
|
|
66
|
+
const PING_INTERVAL = Seconds(15);
|
|
67
|
+
/** Evaluated on the ping schedule, so a dead client is detected between this and one extra {@link PING_INTERVAL}. */
|
|
68
|
+
const LIVENESS_TIMEOUT = Seconds(45);
|
|
69
|
+
|
|
55
70
|
/**
|
|
56
71
|
* One BLE proxy client socket. Owns that client's handshake state, pending
|
|
57
72
|
* command map, and command/event/binary-frame plumbing. The hub
|
|
@@ -62,12 +77,16 @@ export class BleProxyConnection {
|
|
|
62
77
|
readonly #id = generateConnectionId();
|
|
63
78
|
#handshakeComplete = false;
|
|
64
79
|
#closedEmitted = false;
|
|
80
|
+
/** Cleanup is terminal: a torn-down connection must never handshake again on a late `hello`. */
|
|
81
|
+
#destroyed = false;
|
|
65
82
|
#pendingCommands = new Map<
|
|
66
83
|
number,
|
|
67
84
|
{ resolver: (result: Record<string, unknown> | undefined) => void; rejecter: (reason?: unknown) => void }
|
|
68
85
|
>();
|
|
69
86
|
/** Command ID counter. Rolls over at 0xFFFF to stay in safe integer range. */
|
|
70
87
|
#nextCommandId = 0;
|
|
88
|
+
#lastSeen = Time.nowUs;
|
|
89
|
+
#livenessTimer?: Timer;
|
|
71
90
|
|
|
72
91
|
readonly binaryFrameReceived = new Observable<[frame: BinaryFrame]>();
|
|
73
92
|
readonly eventReceived = new Observable<[event: BleProxyEventName, data: Record<string, unknown>]>();
|
|
@@ -88,7 +107,12 @@ export class BleProxyConnection {
|
|
|
88
107
|
}
|
|
89
108
|
}).start();
|
|
90
109
|
|
|
110
|
+
ws.on("pong", () => {
|
|
111
|
+
this.#lastSeen = Time.nowUs;
|
|
112
|
+
});
|
|
113
|
+
|
|
91
114
|
ws.on("message", (data, isBinary) => {
|
|
115
|
+
this.#lastSeen = Time.nowUs;
|
|
92
116
|
if (isBinary) {
|
|
93
117
|
this.#handleBinaryMessage(data as Buffer);
|
|
94
118
|
} else {
|
|
@@ -163,6 +187,10 @@ export class BleProxyConnection {
|
|
|
163
187
|
}
|
|
164
188
|
|
|
165
189
|
#handleTextMessage(raw: string, handshakeTimer: { stop: () => void }): void {
|
|
190
|
+
if (this.#destroyed) {
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
|
|
166
194
|
let parsed: unknown;
|
|
167
195
|
try {
|
|
168
196
|
parsed = JSON.parse(raw);
|
|
@@ -221,6 +249,7 @@ export class BleProxyConnection {
|
|
|
221
249
|
}
|
|
222
250
|
|
|
223
251
|
this.#handshakeComplete = true;
|
|
252
|
+
this.#startLivenessCheck();
|
|
224
253
|
this.#ws.send(JSON.stringify({ type: "hello_response", version: BLE_PROXY_PROTOCOL_VERSION }));
|
|
225
254
|
logger.info(`[${this.#id}] BLE proxy handshake complete (version ${BLE_PROXY_PROTOCOL_VERSION})`);
|
|
226
255
|
this.handshakeCompleted.emit();
|
|
@@ -237,11 +266,16 @@ export class BleProxyConnection {
|
|
|
237
266
|
if (msg.success) {
|
|
238
267
|
pending.resolver(msg.result);
|
|
239
268
|
} else {
|
|
240
|
-
|
|
269
|
+
// `error`/`message` are client-supplied: normalize so the code stays a comparable string.
|
|
270
|
+
pending.rejecter(new BleProxyCommandError(String(msg.error), String(msg.message)));
|
|
241
271
|
}
|
|
242
272
|
}
|
|
243
273
|
|
|
244
274
|
#handleBinaryMessage(data: Buffer): void {
|
|
275
|
+
if (this.#destroyed) {
|
|
276
|
+
return;
|
|
277
|
+
}
|
|
278
|
+
|
|
245
279
|
if (!this.#handshakeComplete) {
|
|
246
280
|
logger.warn(`[${this.#id}] Received binary frame before handshake`);
|
|
247
281
|
return;
|
|
@@ -266,8 +300,27 @@ export class BleProxyConnection {
|
|
|
266
300
|
this.#cleanup();
|
|
267
301
|
}
|
|
268
302
|
|
|
303
|
+
#startLivenessCheck(): void {
|
|
304
|
+
this.#lastSeen = Time.nowUs;
|
|
305
|
+
this.#livenessTimer = Time.getPeriodicTimer("BLE proxy liveness check", PING_INTERVAL, () => {
|
|
306
|
+
const silence = Millis(Time.nowUs - this.#lastSeen);
|
|
307
|
+
if (silence > LIVENESS_TIMEOUT) {
|
|
308
|
+
logger.warn(
|
|
309
|
+
`[${this.#id}] No response for ${Duration.format(silence)} - terminating dead BLE proxy connection`,
|
|
310
|
+
);
|
|
311
|
+
this.#ws.terminate();
|
|
312
|
+
this.#cleanup();
|
|
313
|
+
return;
|
|
314
|
+
}
|
|
315
|
+
this.#ws.ping();
|
|
316
|
+
}).start();
|
|
317
|
+
}
|
|
318
|
+
|
|
269
319
|
#cleanup(): void {
|
|
320
|
+
this.#destroyed = true;
|
|
270
321
|
this.#handshakeComplete = false;
|
|
322
|
+
this.#livenessTimer?.stop();
|
|
323
|
+
this.#livenessTimer = undefined;
|
|
271
324
|
|
|
272
325
|
for (const [id, pending] of this.#pendingCommands) {
|
|
273
326
|
pending.rejecter(new Error("BLE proxy client disconnected"));
|
package/src/BleProxyHandler.ts
CHANGED
|
@@ -9,12 +9,24 @@ import { Logger, Observable } from "@matter/main";
|
|
|
9
9
|
import type { createServer } from "node:http";
|
|
10
10
|
import { WebSocket, WebSocketServer } from "ws";
|
|
11
11
|
import { BleProxyConnection } from "./BleProxyConnection.js";
|
|
12
|
-
import {
|
|
12
|
+
import {
|
|
13
|
+
BleProxyCommand,
|
|
14
|
+
BleProxyCommandError,
|
|
15
|
+
BleProxyErrorCode,
|
|
16
|
+
type BleProxyErrorCodeValue,
|
|
17
|
+
BleProxyEvent,
|
|
18
|
+
type DeviceDiscoveredData,
|
|
19
|
+
type StartScanArgs,
|
|
20
|
+
} from "./BleProxyProtocol.js";
|
|
13
21
|
|
|
14
22
|
type HttpServer = ReturnType<typeof createServer>;
|
|
15
23
|
|
|
16
24
|
const logger = Logger.get("BleProxyHandler");
|
|
17
25
|
|
|
26
|
+
function isErrorCode(err: unknown, code: BleProxyErrorCodeValue): boolean {
|
|
27
|
+
return err instanceof BleProxyCommandError && err.code === code;
|
|
28
|
+
}
|
|
29
|
+
|
|
18
30
|
/**
|
|
19
31
|
* WebSocket server handler (hub) for the `/ble` BLE proxy endpoint.
|
|
20
32
|
*
|
|
@@ -141,8 +153,7 @@ export class BleProxyHandler implements WebServerHandler {
|
|
|
141
153
|
this.#scanning.add(connection);
|
|
142
154
|
sends.push(
|
|
143
155
|
connection.sendCommand(BleProxyCommand.StartScan, args).catch(err => {
|
|
144
|
-
|
|
145
|
-
this.#markNotScanning(connection, "start scan failed");
|
|
156
|
+
this.#onStartScanRejected(connection, err);
|
|
146
157
|
}),
|
|
147
158
|
);
|
|
148
159
|
}
|
|
@@ -156,9 +167,13 @@ export class BleProxyHandler implements WebServerHandler {
|
|
|
156
167
|
for (const connection of this.#connections) {
|
|
157
168
|
if (connection.connected) {
|
|
158
169
|
sends.push(
|
|
159
|
-
connection
|
|
160
|
-
|
|
161
|
-
|
|
170
|
+
connection.sendCommand(BleProxyCommand.StopScan).catch(err => {
|
|
171
|
+
if (isErrorCode(err, BleProxyErrorCode.NotScanning)) {
|
|
172
|
+
logger.debug(`[${connection.id}] was not scanning`);
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
logger.warn(`[${connection.id}] Failed to stop scan:`, err);
|
|
176
|
+
}),
|
|
162
177
|
);
|
|
163
178
|
}
|
|
164
179
|
}
|
|
@@ -171,8 +186,7 @@ export class BleProxyHandler implements WebServerHandler {
|
|
|
171
186
|
if (this.#scanActive && this.#scanArgs) {
|
|
172
187
|
this.#scanning.add(connection);
|
|
173
188
|
connection.sendCommand(BleProxyCommand.StartScan, this.#scanArgs).catch(err => {
|
|
174
|
-
|
|
175
|
-
this.#markNotScanning(connection, "start scan failed");
|
|
189
|
+
this.#onStartScanRejected(connection, err);
|
|
176
190
|
});
|
|
177
191
|
}
|
|
178
192
|
}
|
|
@@ -185,6 +199,17 @@ export class BleProxyHandler implements WebServerHandler {
|
|
|
185
199
|
}
|
|
186
200
|
}
|
|
187
201
|
|
|
202
|
+
#onStartScanRejected(connection: BleProxyConnection, err: unknown): void {
|
|
203
|
+
// `already_scanning` means the client is scanning. A client that cannot re-arm keeps the
|
|
204
|
+
// parameters of its running scan, so this is only equivalent while the args do not change.
|
|
205
|
+
if (isErrorCode(err, BleProxyErrorCode.AlreadyScanning)) {
|
|
206
|
+
logger.debug(`[${connection.id}] was already scanning`);
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
logger.warn(`[${connection.id}] Failed to start scan:`, err);
|
|
210
|
+
this.#markNotScanning(connection, "start scan failed");
|
|
211
|
+
}
|
|
212
|
+
|
|
188
213
|
/** Drop a connection from the scanning set; emit aggregate scanStopped once none remain. */
|
|
189
214
|
#markNotScanning(connection: BleProxyConnection, reason: string): void {
|
|
190
215
|
if (!this.#scanning.delete(connection)) {
|
package/src/BleProxyProtocol.ts
CHANGED
|
@@ -253,6 +253,17 @@ export const BleProxyErrorCode = {
|
|
|
253
253
|
|
|
254
254
|
export type BleProxyErrorCodeValue = (typeof BleProxyErrorCode)[keyof typeof BleProxyErrorCode];
|
|
255
255
|
|
|
256
|
+
/** A command the client answered with `success: false`, carrying the protocol error code. */
|
|
257
|
+
export class BleProxyCommandError extends Error {
|
|
258
|
+
constructor(
|
|
259
|
+
readonly code: string,
|
|
260
|
+
readonly detail: string,
|
|
261
|
+
) {
|
|
262
|
+
super(`${code}: ${detail}`);
|
|
263
|
+
this.name = "BleProxyCommandError";
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
|
|
256
267
|
// ─── Binary Frame Opcodes ────────────────────────────────────────────────────
|
|
257
268
|
|
|
258
269
|
export const BinaryFrameOpcode = {
|