@lehnihon/bit-form 2.2.18 → 2.2.19

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.
Files changed (136) hide show
  1. package/dist/angular/index.cjs +1 -1
  2. package/dist/angular/index.js +1 -1
  3. package/dist/angular/index.js.map +1 -1
  4. package/dist/chunk-23DHXQOC.js +2 -0
  5. package/dist/chunk-23DHXQOC.js.map +1 -0
  6. package/dist/{chunk-DD6XWUMR.cjs → chunk-27LJCW56.cjs} +2 -2
  7. package/dist/chunk-27LJCW56.cjs.map +1 -0
  8. package/dist/chunk-32RH5MSM.js +2 -0
  9. package/dist/chunk-32RH5MSM.js.map +1 -0
  10. package/dist/{chunk-P5YQ62YN.cjs → chunk-33TGLA5D.cjs} +2 -2
  11. package/dist/{chunk-P5YQ62YN.cjs.map → chunk-33TGLA5D.cjs.map} +1 -1
  12. package/dist/chunk-3CPIJF3Z.cjs +2 -0
  13. package/dist/chunk-3CPIJF3Z.cjs.map +1 -0
  14. package/dist/{chunk-SYEUXL2E.js → chunk-3WNZPBME.js} +2 -2
  15. package/dist/chunk-4WPLTOBT.cjs +2 -0
  16. package/dist/chunk-4WPLTOBT.cjs.map +1 -0
  17. package/dist/chunk-5ILGCBKG.cjs +2 -0
  18. package/dist/chunk-5ILGCBKG.cjs.map +1 -0
  19. package/dist/chunk-725CMNAV.cjs +2 -0
  20. package/dist/chunk-725CMNAV.cjs.map +1 -0
  21. package/dist/{chunk-GKNGJOB3.cjs → chunk-7IO2KLSJ.cjs} +2 -2
  22. package/dist/{chunk-GKNGJOB3.cjs.map → chunk-7IO2KLSJ.cjs.map} +1 -1
  23. package/dist/{chunk-HE6EQZTH.js → chunk-AJUX7LYB.js} +2 -2
  24. package/dist/chunk-B45EMB4Q.js +2 -0
  25. package/dist/chunk-B45EMB4Q.js.map +1 -0
  26. package/dist/chunk-CIS3YZSK.cjs +2 -0
  27. package/dist/chunk-CIS3YZSK.cjs.map +1 -0
  28. package/dist/chunk-DGEGYNQL.js +2 -0
  29. package/dist/{chunk-3NUJVIAM.js.map → chunk-DGEGYNQL.js.map} +1 -1
  30. package/dist/{chunk-AVUK52JW.cjs → chunk-EPBSLPRL.cjs} +2 -2
  31. package/dist/{chunk-AVUK52JW.cjs.map → chunk-EPBSLPRL.cjs.map} +1 -1
  32. package/dist/chunk-HTMNDK6W.js +2 -0
  33. package/dist/chunk-HTMNDK6W.js.map +1 -0
  34. package/dist/chunk-JUDBIEZK.js +2 -0
  35. package/dist/chunk-JUDBIEZK.js.map +1 -0
  36. package/dist/{chunk-77PK7U73.cjs → chunk-K2JSAJAF.cjs} +2 -2
  37. package/dist/chunk-K2JSAJAF.cjs.map +1 -0
  38. package/dist/chunk-K2KCQEER.js +2 -0
  39. package/dist/chunk-K2KCQEER.js.map +1 -0
  40. package/dist/chunk-K65TKDQ2.cjs +2 -0
  41. package/dist/chunk-K65TKDQ2.cjs.map +1 -0
  42. package/dist/chunk-S5A65JVL.cjs +2 -0
  43. package/dist/chunk-S5A65JVL.cjs.map +1 -0
  44. package/dist/chunk-SFVGMVIE.js +2 -0
  45. package/dist/chunk-SFVGMVIE.js.map +1 -0
  46. package/dist/chunk-T7TOEIOH.js +2 -0
  47. package/dist/chunk-T7TOEIOH.js.map +1 -0
  48. package/dist/chunk-TLUCO2ZN.cjs +2 -0
  49. package/dist/chunk-TLUCO2ZN.cjs.map +1 -0
  50. package/dist/chunk-WEZ5Q6YO.js +2 -0
  51. package/dist/chunk-WEZ5Q6YO.js.map +1 -0
  52. package/dist/{chunk-YO4TZ6N6.js → chunk-Y34N5TWV.js} +2 -2
  53. package/dist/cli/index.cjs +5 -5
  54. package/dist/core/bindings.cjs +1 -1
  55. package/dist/core/bindings.js +1 -1
  56. package/dist/core/store.cjs +1 -1
  57. package/dist/core/store.js +1 -1
  58. package/dist/core/utils.cjs +1 -1
  59. package/dist/core/utils.js +1 -1
  60. package/dist/core.cjs +1 -1
  61. package/dist/core.js +1 -1
  62. package/dist/devtools/bridge.cjs +1 -1
  63. package/dist/devtools/bridge.js +1 -1
  64. package/dist/devtools/index.cjs +10 -10
  65. package/dist/devtools/index.cjs.map +1 -1
  66. package/dist/devtools/index.js +10 -10
  67. package/dist/devtools/index.js.map +1 -1
  68. package/dist/index.cjs +1 -1
  69. package/dist/index.js +1 -1
  70. package/dist/mask.cjs +1 -1
  71. package/dist/mask.js +1 -1
  72. package/dist/react/index.cjs +1 -1
  73. package/dist/react/index.cjs.map +1 -1
  74. package/dist/react/index.js +1 -1
  75. package/dist/react/index.js.map +1 -1
  76. package/dist/react-native/index.cjs +1 -1
  77. package/dist/react-native/index.cjs.map +1 -1
  78. package/dist/react-native/index.js +1 -1
  79. package/dist/react-native/index.js.map +1 -1
  80. package/dist/resolvers/index.cjs +1 -1
  81. package/dist/resolvers/index.js +1 -1
  82. package/dist/resolvers/joi.cjs +1 -1
  83. package/dist/resolvers/joi.js +1 -1
  84. package/dist/resolvers/yup.cjs +1 -1
  85. package/dist/resolvers/yup.js +1 -1
  86. package/dist/resolvers/zod.cjs +1 -1
  87. package/dist/resolvers/zod.js +1 -1
  88. package/dist/utils.cjs +1 -1
  89. package/dist/utils.js +1 -1
  90. package/dist/vue/index.cjs +1 -1
  91. package/dist/vue/index.cjs.map +1 -1
  92. package/dist/vue/index.d.cts +18 -17
  93. package/dist/vue/index.d.ts +18 -17
  94. package/dist/vue/index.js +1 -1
  95. package/dist/vue/index.js.map +1 -1
  96. package/package.json +7 -6
  97. package/dist/chunk-3774TIGK.js +0 -2
  98. package/dist/chunk-3774TIGK.js.map +0 -1
  99. package/dist/chunk-3NUJVIAM.js +0 -2
  100. package/dist/chunk-77PK7U73.cjs.map +0 -1
  101. package/dist/chunk-CTURHI75.cjs +0 -2
  102. package/dist/chunk-CTURHI75.cjs.map +0 -1
  103. package/dist/chunk-DD6XWUMR.cjs.map +0 -1
  104. package/dist/chunk-FGJB4DHQ.js +0 -2
  105. package/dist/chunk-FGJB4DHQ.js.map +0 -1
  106. package/dist/chunk-FTXV2NZO.cjs +0 -2
  107. package/dist/chunk-FTXV2NZO.cjs.map +0 -1
  108. package/dist/chunk-G3EHXKOS.js +0 -2
  109. package/dist/chunk-G3EHXKOS.js.map +0 -1
  110. package/dist/chunk-GDRNKTHO.js +0 -2
  111. package/dist/chunk-GDRNKTHO.js.map +0 -1
  112. package/dist/chunk-GSZTHF7Z.js +0 -2
  113. package/dist/chunk-GSZTHF7Z.js.map +0 -1
  114. package/dist/chunk-GUU6EXFN.js +0 -2
  115. package/dist/chunk-GUU6EXFN.js.map +0 -1
  116. package/dist/chunk-L7EAZ6K6.cjs +0 -2
  117. package/dist/chunk-L7EAZ6K6.cjs.map +0 -1
  118. package/dist/chunk-LIHWJJIM.js +0 -2
  119. package/dist/chunk-LIHWJJIM.js.map +0 -1
  120. package/dist/chunk-M2XR4C7T.js +0 -2
  121. package/dist/chunk-M2XR4C7T.js.map +0 -1
  122. package/dist/chunk-PFPGASVZ.cjs +0 -2
  123. package/dist/chunk-PFPGASVZ.cjs.map +0 -1
  124. package/dist/chunk-QCKCONCU.js +0 -2
  125. package/dist/chunk-QCKCONCU.js.map +0 -1
  126. package/dist/chunk-RSH6LQVC.cjs +0 -2
  127. package/dist/chunk-RSH6LQVC.cjs.map +0 -1
  128. package/dist/chunk-U5TBWV74.cjs +0 -2
  129. package/dist/chunk-U5TBWV74.cjs.map +0 -1
  130. package/dist/chunk-UT63HKR6.cjs +0 -2
  131. package/dist/chunk-UT63HKR6.cjs.map +0 -1
  132. package/dist/chunk-WRNR6SXK.cjs +0 -2
  133. package/dist/chunk-WRNR6SXK.cjs.map +0 -1
  134. /package/dist/{chunk-SYEUXL2E.js.map → chunk-3WNZPBME.js.map} +0 -0
  135. /package/dist/{chunk-HE6EQZTH.js.map → chunk-AJUX7LYB.js.map} +0 -0
  136. /package/dist/{chunk-YO4TZ6N6.js.map → chunk-Y34N5TWV.js.map} +0 -0
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
- "use strict";var Or=Object.create;var Ze=Object.defineProperty;var Cr=Object.getOwnPropertyDescriptor;var Br=Object.getOwnPropertyNames;var Pr=Object.getPrototypeOf,Rr=Object.prototype.hasOwnProperty;var y=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Fr=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Br(e))!Rr.call(t,i)&&i!==r&&Ze(t,i,{get:()=>e[i],enumerable:!(s=Cr(e,i))||s.enumerable});return t};var w=(t,e,r)=>(r=t!=null?Or(Pr(t)):{},Fr(e||!t||!t.__esModule?Ze(r,"default",{value:t,enumerable:!0}):r,t));var N=y((Wi,xt)=>{"use strict";var _t=["nodebuffer","arraybuffer","fragments"],gt=typeof Blob<"u";gt&&_t.push("blob");xt.exports={BINARY_TYPES:_t,CLOSE_TIMEOUT:3e4,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:gt,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var J=y(($i,oe)=>{"use strict";var{EMPTY_BUFFER:Ar}=N(),Te=Buffer[Symbol.species];function Ur(t,e){if(t.length===0)return Ar;if(t.length===1)return t[0];let r=Buffer.allocUnsafe(e),s=0;for(let i=0;i<t.length;i++){let n=t[i];r.set(n,s),s+=n.length}return s<e?new Te(r.buffer,r.byteOffset,s):r}function yt(t,e,r,s,i){for(let n=0;n<i;n++)r[s+n]=t[n]^e[n&3]}function vt(t,e){for(let r=0;r<t.length;r++)t[r]^=e[r&3]}function Mr(t){return t.length===t.buffer.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.length)}function Ne(t){if(Ne.readOnly=!0,Buffer.isBuffer(t))return t;let e;return t instanceof ArrayBuffer?e=new Te(t):ArrayBuffer.isView(t)?e=new Te(t.buffer,t.byteOffset,t.byteLength):(e=Buffer.from(t),Ne.readOnly=!1),e}oe.exports={concat:Ur,mask:yt,toArrayBuffer:Mr,toBuffer:Ne,unmask:vt};if(!process.env.WS_NO_BUFFER_UTIL)try{let t=require("bufferutil");oe.exports.mask=function(e,r,s,i,n){n<48?yt(e,r,s,i,n):t.mask(e,r,s,i,n)},oe.exports.unmask=function(e,r){e.length<32?vt(e,r):t.unmask(e,r)}}catch{}});var Et=y((Vi,St)=>{"use strict";var bt=Symbol("kDone"),ke=Symbol("kRun"),Oe=class{constructor(e){this[bt]=()=>{this.pending--,this[ke]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[ke]()}[ke](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[bt])}}};St.exports=Oe});var ee=y((Gi,kt)=>{"use strict";var Q=require("zlib"),wt=J(),qr=Et(),{kStatusCode:Tt}=N(),Wr=Buffer[Symbol.species],$r=Buffer.from([0,0,255,255]),le=Symbol("permessage-deflate"),k=Symbol("total-length"),q=Symbol("callback"),P=Symbol("buffers"),W=Symbol("error"),ae,Ce=class{constructor(e,r,s){if(this._maxPayload=s|0,this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!r,this._deflate=null,this._inflate=null,this.params=null,!ae){let i=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;ae=new qr(i)}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[q];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let r=this._options,s=e.find(i=>!(r.serverNoContextTakeover===!1&&i.server_no_context_takeover||i.server_max_window_bits&&(r.serverMaxWindowBits===!1||typeof r.serverMaxWindowBits=="number"&&r.serverMaxWindowBits>i.server_max_window_bits)||typeof r.clientMaxWindowBits=="number"&&!i.client_max_window_bits));if(!s)throw new Error("None of the extension offers can be accepted");return r.serverNoContextTakeover&&(s.server_no_context_takeover=!0),r.clientNoContextTakeover&&(s.client_no_context_takeover=!0),typeof r.serverMaxWindowBits=="number"&&(s.server_max_window_bits=r.serverMaxWindowBits),typeof r.clientMaxWindowBits=="number"?s.client_max_window_bits=r.clientMaxWindowBits:(s.client_max_window_bits===!0||r.clientMaxWindowBits===!1)&&delete s.client_max_window_bits,s}acceptAsClient(e){let r=e[0];if(this._options.clientNoContextTakeover===!1&&r.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!r.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(r.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&r.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return r}normalizeParams(e){return e.forEach(r=>{Object.keys(r).forEach(s=>{let i=r[s];if(i.length>1)throw new Error(`Parameter "${s}" must have only a single value`);if(i=i[0],s==="client_max_window_bits"){if(i!==!0){let n=+i;if(!Number.isInteger(n)||n<8||n>15)throw new TypeError(`Invalid value for parameter "${s}": ${i}`);i=n}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${s}": ${i}`)}else if(s==="server_max_window_bits"){let n=+i;if(!Number.isInteger(n)||n<8||n>15)throw new TypeError(`Invalid value for parameter "${s}": ${i}`);i=n}else if(s==="client_no_context_takeover"||s==="server_no_context_takeover"){if(i!==!0)throw new TypeError(`Invalid value for parameter "${s}": ${i}`)}else throw new Error(`Unknown parameter "${s}"`);r[s]=i})}),e}decompress(e,r,s){ae.add(i=>{this._decompress(e,r,(n,o)=>{i(),s(n,o)})})}compress(e,r,s){ae.add(i=>{this._compress(e,r,(n,o)=>{i(),s(n,o)})})}_decompress(e,r,s){let i=this._isServer?"client":"server";if(!this._inflate){let n=`${i}_max_window_bits`,o=typeof this.params[n]!="number"?Q.Z_DEFAULT_WINDOWBITS:this.params[n];this._inflate=Q.createInflateRaw({...this._options.zlibInflateOptions,windowBits:o}),this._inflate[le]=this,this._inflate[k]=0,this._inflate[P]=[],this._inflate.on("error",Gr),this._inflate.on("data",Nt)}this._inflate[q]=s,this._inflate.write(e),r&&this._inflate.write($r),this._inflate.flush(()=>{let n=this._inflate[W];if(n){this._inflate.close(),this._inflate=null,s(n);return}let o=wt.concat(this._inflate[P],this._inflate[k]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[k]=0,this._inflate[P]=[],r&&this.params[`${i}_no_context_takeover`]&&this._inflate.reset()),s(null,o)})}_compress(e,r,s){let i=this._isServer?"server":"client";if(!this._deflate){let n=`${i}_max_window_bits`,o=typeof this.params[n]!="number"?Q.Z_DEFAULT_WINDOWBITS:this.params[n];this._deflate=Q.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:o}),this._deflate[k]=0,this._deflate[P]=[],this._deflate.on("data",Vr)}this._deflate[q]=s,this._deflate.write(e),this._deflate.flush(Q.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let n=wt.concat(this._deflate[P],this._deflate[k]);r&&(n=new Wr(n.buffer,n.byteOffset,n.length-4)),this._deflate[q]=null,this._deflate[k]=0,this._deflate[P]=[],r&&this.params[`${i}_no_context_takeover`]&&this._deflate.reset(),s(null,n)})}};kt.exports=Ce;function Vr(t){this[P].push(t),this[k]+=t.length}function Nt(t){if(this[k]+=t.length,this[le]._maxPayload<1||this[k]<=this[le]._maxPayload){this[P].push(t);return}this[W]=new RangeError("Max payload size exceeded"),this[W].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[W][Tt]=1009,this.removeListener("data",Nt),this.reset()}function Gr(t){if(this[le]._inflate=null,this[W]){this[q](this[W]);return}t[Tt]=1007,this[q](t)}});var $=y((ji,ce)=>{"use strict";var{isUtf8:Ot}=require("buffer"),{hasBlob:jr}=N(),Hr=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function zr(t){return t>=1e3&&t<=1014&&t!==1004&&t!==1005&&t!==1006||t>=3e3&&t<=4999}function Be(t){let e=t.length,r=0;for(;r<e;)if((t[r]&128)===0)r++;else if((t[r]&224)===192){if(r+1===e||(t[r+1]&192)!==128||(t[r]&254)===192)return!1;r+=2}else if((t[r]&240)===224){if(r+2>=e||(t[r+1]&192)!==128||(t[r+2]&192)!==128||t[r]===224&&(t[r+1]&224)===128||t[r]===237&&(t[r+1]&224)===160)return!1;r+=3}else if((t[r]&248)===240){if(r+3>=e||(t[r+1]&192)!==128||(t[r+2]&192)!==128||(t[r+3]&192)!==128||t[r]===240&&(t[r+1]&240)===128||t[r]===244&&t[r+1]>143||t[r]>244)return!1;r+=4}else return!1;return!0}function Yr(t){return jr&&typeof t=="object"&&typeof t.arrayBuffer=="function"&&typeof t.type=="string"&&typeof t.stream=="function"&&(t[Symbol.toStringTag]==="Blob"||t[Symbol.toStringTag]==="File")}ce.exports={isBlob:Yr,isValidStatusCode:zr,isValidUTF8:Be,tokenChars:Hr};if(Ot)ce.exports.isValidUTF8=function(t){return t.length<24?Be(t):Ot(t)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let t=require("utf-8-validate");ce.exports.isValidUTF8=function(e){return e.length<32?Be(e):t(e)}}catch{}});var Le=y((Hi,Lt)=>{"use strict";var{Writable:Kr}=require("stream"),Ct=ee(),{BINARY_TYPES:Xr,EMPTY_BUFFER:Bt,kStatusCode:Zr,kWebSocket:Jr}=N(),{concat:Pe,toArrayBuffer:Qr,unmask:es}=J(),{isValidStatusCode:ts,isValidUTF8:Pt}=$(),de=Buffer[Symbol.species],b=0,Rt=1,Ft=2,It=3,Re=4,Fe=5,fe=6,Ie=class extends Kr{constructor(e={}){super(),this._allowSynchronousEvents=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this._binaryType=e.binaryType||Xr[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[Jr]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=b}_write(e,r,s){if(this._opcode===8&&this._state==b)return s();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(s)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let s=this._buffers[0];return this._buffers[0]=new de(s.buffer,s.byteOffset+e,s.length-e),new de(s.buffer,s.byteOffset,e)}let r=Buffer.allocUnsafe(e);do{let s=this._buffers[0],i=r.length-e;e>=s.length?r.set(this._buffers.shift(),i):(r.set(new Uint8Array(s.buffer,s.byteOffset,e),i),this._buffers[0]=new de(s.buffer,s.byteOffset+e,s.length-e)),e-=s.length}while(e>0);return r}startLoop(e){this._loop=!0;do switch(this._state){case b:this.getInfo(e);break;case Rt:this.getPayloadLength16(e);break;case Ft:this.getPayloadLength64(e);break;case It:this.getMask();break;case Re:this.getData(e);break;case Fe:case fe:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let r=this.consume(2);if((r[0]&48)!==0){let i=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(i);return}let s=(r[0]&64)===64;if(s&&!this._extensions[Ct.extensionName]){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(i);return}if(this._fin=(r[0]&128)===128,this._opcode=r[0]&15,this._payloadLength=r[1]&127,this._opcode===0){if(s){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(i);return}if(!this._fragmented){let i=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(i);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let i=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(i);return}this._compressed=s}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let i=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(i);return}if(s){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(i);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let i=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(i);return}}else{let i=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(i);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(r[1]&128)===128,this._isServer){if(!this._masked){let i=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(i);return}}else if(this._masked){let i=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(i);return}this._payloadLength===126?this._state=Rt:this._payloadLength===127?this._state=Ft:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let r=this.consume(8),s=r.readUInt32BE(0);if(s>Math.pow(2,21)-1){let i=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(i);return}this._payloadLength=s*Math.pow(2,32)+r.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let r=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");e(r);return}this._masked?this._state=It:this._state=Re}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=Re}getData(e){let r=Bt;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}r=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0&&es(r,this._mask)}if(this._opcode>7){this.controlMessage(r,e);return}if(this._compressed){this._state=Fe,this.decompress(r,e);return}r.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(r)),this.dataMessage(e)}decompress(e,r){this._extensions[Ct.extensionName].decompress(e,this._fin,(i,n)=>{if(i)return r(i);if(n.length){if(this._messageLength+=n.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let o=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");r(o);return}this._fragments.push(n)}this.dataMessage(r),this._state===b&&this.startLoop(r)})}dataMessage(e){if(!this._fin){this._state=b;return}let r=this._messageLength,s=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let i;this._binaryType==="nodebuffer"?i=Pe(s,r):this._binaryType==="arraybuffer"?i=Qr(Pe(s,r)):this._binaryType==="blob"?i=new Blob(s):i=s,this._allowSynchronousEvents?(this.emit("message",i,!0),this._state=b):(this._state=fe,setImmediate(()=>{this.emit("message",i,!0),this._state=b,this.startLoop(e)}))}else{let i=Pe(s,r);if(!this._skipUTF8Validation&&!Pt(i)){let n=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(n);return}this._state===Fe||this._allowSynchronousEvents?(this.emit("message",i,!1),this._state=b):(this._state=fe,setImmediate(()=>{this.emit("message",i,!1),this._state=b,this.startLoop(e)}))}}controlMessage(e,r){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,Bt),this.end();else{let s=e.readUInt16BE(0);if(!ts(s)){let n=this.createError(RangeError,`invalid status code ${s}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");r(n);return}let i=new de(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!Pt(i)){let n=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");r(n);return}this._loop=!1,this.emit("conclude",s,i),this.end()}this._state=b;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=b):(this._state=fe,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=b,this.startLoop(r)}))}createError(e,r,s,i,n){this._loop=!1,this._errored=!0;let o=new e(s?`Invalid WebSocket frame: ${r}`:r);return Error.captureStackTrace(o,this.createError),o.code=n,o[Zr]=i,o}};Lt.exports=Ie});var Ue=y((Yi,Ut)=>{"use strict";var{Duplex:zi}=require("stream"),{randomFillSync:rs}=require("crypto"),Dt=ee(),{EMPTY_BUFFER:ss,kWebSocket:is,NOOP:ns}=N(),{isBlob:V,isValidStatusCode:os}=$(),{mask:At,toBuffer:F}=J(),S=Symbol("kByteLength"),as=Buffer.alloc(4),ue=8*1024,I,G=ue,E=0,ls=1,cs=2,De=class t{constructor(e,r,s){this._extensions=r||{},s&&(this._generateMask=s,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=E,this.onerror=ns,this[is]=void 0}static frame(e,r){let s,i=!1,n=2,o=!1;r.mask&&(s=r.maskBuffer||as,r.generateMask?r.generateMask(s):(G===ue&&(I===void 0&&(I=Buffer.alloc(ue)),rs(I,0,ue),G=0),s[0]=I[G++],s[1]=I[G++],s[2]=I[G++],s[3]=I[G++]),o=(s[0]|s[1]|s[2]|s[3])===0,n=6);let l;typeof e=="string"?(!r.mask||o)&&r[S]!==void 0?l=r[S]:(e=Buffer.from(e),l=e.length):(l=e.length,i=r.mask&&r.readOnly&&!o);let c=l;l>=65536?(n+=8,c=127):l>125&&(n+=2,c=126);let a=Buffer.allocUnsafe(i?l+n:n);return a[0]=r.fin?r.opcode|128:r.opcode,r.rsv1&&(a[0]|=64),a[1]=c,c===126?a.writeUInt16BE(l,2):c===127&&(a[2]=a[3]=0,a.writeUIntBE(l,4,6)),r.mask?(a[1]|=128,a[n-4]=s[0],a[n-3]=s[1],a[n-2]=s[2],a[n-1]=s[3],o?[a,e]:i?(At(e,s,a,n,l),[a]):(At(e,s,e,0,l),[a,e])):[a,e]}close(e,r,s,i){let n;if(e===void 0)n=ss;else{if(typeof e!="number"||!os(e))throw new TypeError("First argument must be a valid error code number");if(r===void 0||!r.length)n=Buffer.allocUnsafe(2),n.writeUInt16BE(e,0);else{let l=Buffer.byteLength(r);if(l>123)throw new RangeError("The message must not be greater than 123 bytes");n=Buffer.allocUnsafe(2+l),n.writeUInt16BE(e,0),typeof r=="string"?n.write(r,2):n.set(r,2)}}let o={[S]:n.length,fin:!0,generateMask:this._generateMask,mask:s,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==E?this.enqueue([this.dispatch,n,!1,o,i]):this.sendFrame(t.frame(n,o),i)}ping(e,r,s){let i,n;if(typeof e=="string"?(i=Buffer.byteLength(e),n=!1):V(e)?(i=e.size,n=!1):(e=F(e),i=e.length,n=F.readOnly),i>125)throw new RangeError("The data size must not be greater than 125 bytes");let o={[S]:i,fin:!0,generateMask:this._generateMask,mask:r,maskBuffer:this._maskBuffer,opcode:9,readOnly:n,rsv1:!1};V(e)?this._state!==E?this.enqueue([this.getBlobData,e,!1,o,s]):this.getBlobData(e,!1,o,s):this._state!==E?this.enqueue([this.dispatch,e,!1,o,s]):this.sendFrame(t.frame(e,o),s)}pong(e,r,s){let i,n;if(typeof e=="string"?(i=Buffer.byteLength(e),n=!1):V(e)?(i=e.size,n=!1):(e=F(e),i=e.length,n=F.readOnly),i>125)throw new RangeError("The data size must not be greater than 125 bytes");let o={[S]:i,fin:!0,generateMask:this._generateMask,mask:r,maskBuffer:this._maskBuffer,opcode:10,readOnly:n,rsv1:!1};V(e)?this._state!==E?this.enqueue([this.getBlobData,e,!1,o,s]):this.getBlobData(e,!1,o,s):this._state!==E?this.enqueue([this.dispatch,e,!1,o,s]):this.sendFrame(t.frame(e,o),s)}send(e,r,s){let i=this._extensions[Dt.extensionName],n=r.binary?2:1,o=r.compress,l,c;typeof e=="string"?(l=Buffer.byteLength(e),c=!1):V(e)?(l=e.size,c=!1):(e=F(e),l=e.length,c=F.readOnly),this._firstFragment?(this._firstFragment=!1,o&&i&&i.params[i._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(o=l>=i._threshold),this._compress=o):(o=!1,n=0),r.fin&&(this._firstFragment=!0);let a={[S]:l,fin:r.fin,generateMask:this._generateMask,mask:r.mask,maskBuffer:this._maskBuffer,opcode:n,readOnly:c,rsv1:o};V(e)?this._state!==E?this.enqueue([this.getBlobData,e,this._compress,a,s]):this.getBlobData(e,this._compress,a,s):this._state!==E?this.enqueue([this.dispatch,e,this._compress,a,s]):this.dispatch(e,this._compress,a,s)}getBlobData(e,r,s,i){this._bufferedBytes+=s[S],this._state=cs,e.arrayBuffer().then(n=>{if(this._socket.destroyed){let l=new Error("The socket was closed while the blob was being read");process.nextTick(Ae,this,l,i);return}this._bufferedBytes-=s[S];let o=F(n);r?this.dispatch(o,r,s,i):(this._state=E,this.sendFrame(t.frame(o,s),i),this.dequeue())}).catch(n=>{process.nextTick(ds,this,n,i)})}dispatch(e,r,s,i){if(!r){this.sendFrame(t.frame(e,s),i);return}let n=this._extensions[Dt.extensionName];this._bufferedBytes+=s[S],this._state=ls,n.compress(e,s.fin,(o,l)=>{if(this._socket.destroyed){let c=new Error("The socket was closed while data was being compressed");Ae(this,c,i);return}this._bufferedBytes-=s[S],this._state=E,s.readOnly=!1,this.sendFrame(t.frame(l,s),i),this.dequeue()})}dequeue(){for(;this._state===E&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][S],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][S],this._queue.push(e)}sendFrame(e,r){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],r),this._socket.uncork()):this._socket.write(e[0],r)}};Ut.exports=De;function Ae(t,e,r){typeof r=="function"&&r(e);for(let s=0;s<t._queue.length;s++){let i=t._queue[s],n=i[i.length-1];typeof n=="function"&&n(e)}}function ds(t,e,r){Ae(t,e,r),t.onerror(e)}});var zt=y((Ki,Ht)=>{"use strict";var{kForOnEventAttribute:te,kListener:Me}=N(),Mt=Symbol("kCode"),qt=Symbol("kData"),Wt=Symbol("kError"),$t=Symbol("kMessage"),Vt=Symbol("kReason"),j=Symbol("kTarget"),Gt=Symbol("kType"),jt=Symbol("kWasClean"),O=class{constructor(e){this[j]=null,this[Gt]=e}get target(){return this[j]}get type(){return this[Gt]}};Object.defineProperty(O.prototype,"target",{enumerable:!0});Object.defineProperty(O.prototype,"type",{enumerable:!0});var L=class extends O{constructor(e,r={}){super(e),this[Mt]=r.code===void 0?0:r.code,this[Vt]=r.reason===void 0?"":r.reason,this[jt]=r.wasClean===void 0?!1:r.wasClean}get code(){return this[Mt]}get reason(){return this[Vt]}get wasClean(){return this[jt]}};Object.defineProperty(L.prototype,"code",{enumerable:!0});Object.defineProperty(L.prototype,"reason",{enumerable:!0});Object.defineProperty(L.prototype,"wasClean",{enumerable:!0});var H=class extends O{constructor(e,r={}){super(e),this[Wt]=r.error===void 0?null:r.error,this[$t]=r.message===void 0?"":r.message}get error(){return this[Wt]}get message(){return this[$t]}};Object.defineProperty(H.prototype,"error",{enumerable:!0});Object.defineProperty(H.prototype,"message",{enumerable:!0});var re=class extends O{constructor(e,r={}){super(e),this[qt]=r.data===void 0?null:r.data}get data(){return this[qt]}};Object.defineProperty(re.prototype,"data",{enumerable:!0});var fs={addEventListener(t,e,r={}){for(let i of this.listeners(t))if(!r[te]&&i[Me]===e&&!i[te])return;let s;if(t==="message")s=function(n,o){let l=new re("message",{data:o?n:n.toString()});l[j]=this,he(e,this,l)};else if(t==="close")s=function(n,o){let l=new L("close",{code:n,reason:o.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});l[j]=this,he(e,this,l)};else if(t==="error")s=function(n){let o=new H("error",{error:n,message:n.message});o[j]=this,he(e,this,o)};else if(t==="open")s=function(){let n=new O("open");n[j]=this,he(e,this,n)};else return;s[te]=!!r[te],s[Me]=e,r.once?this.once(t,s):this.on(t,s)},removeEventListener(t,e){for(let r of this.listeners(t))if(r[Me]===e&&!r[te]){this.removeListener(t,r);break}}};Ht.exports={CloseEvent:L,ErrorEvent:H,Event:O,EventTarget:fs,MessageEvent:re};function he(t,e,r){typeof t=="object"&&t.handleEvent?t.handleEvent.call(t,r):t.call(e,r)}});var qe=y((Xi,Yt)=>{"use strict";var{tokenChars:se}=$();function T(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}function us(t){let e=Object.create(null),r=Object.create(null),s=!1,i=!1,n=!1,o,l,c=-1,a=-1,d=-1,f=0;for(;f<t.length;f++)if(a=t.charCodeAt(f),o===void 0)if(d===-1&&se[a]===1)c===-1&&(c=f);else if(f!==0&&(a===32||a===9))d===-1&&c!==-1&&(d=f);else if(a===59||a===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${f}`);d===-1&&(d=f);let _=t.slice(c,d);a===44?(T(e,_,r),r=Object.create(null)):o=_,c=d=-1}else throw new SyntaxError(`Unexpected character at index ${f}`);else if(l===void 0)if(d===-1&&se[a]===1)c===-1&&(c=f);else if(a===32||a===9)d===-1&&c!==-1&&(d=f);else if(a===59||a===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${f}`);d===-1&&(d=f),T(r,t.slice(c,d),!0),a===44&&(T(e,o,r),r=Object.create(null),o=void 0),c=d=-1}else if(a===61&&c!==-1&&d===-1)l=t.slice(c,f),c=d=-1;else throw new SyntaxError(`Unexpected character at index ${f}`);else if(i){if(se[a]!==1)throw new SyntaxError(`Unexpected character at index ${f}`);c===-1?c=f:s||(s=!0),i=!1}else if(n)if(se[a]===1)c===-1&&(c=f);else if(a===34&&c!==-1)n=!1,d=f;else if(a===92)i=!0;else throw new SyntaxError(`Unexpected character at index ${f}`);else if(a===34&&t.charCodeAt(f-1)===61)n=!0;else if(d===-1&&se[a]===1)c===-1&&(c=f);else if(c!==-1&&(a===32||a===9))d===-1&&(d=f);else if(a===59||a===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${f}`);d===-1&&(d=f);let _=t.slice(c,d);s&&(_=_.replace(/\\/g,""),s=!1),T(r,l,_),a===44&&(T(e,o,r),r=Object.create(null),o=void 0),l=void 0,c=d=-1}else throw new SyntaxError(`Unexpected character at index ${f}`);if(c===-1||n||a===32||a===9)throw new SyntaxError("Unexpected end of input");d===-1&&(d=f);let h=t.slice(c,d);return o===void 0?T(e,h,r):(l===void 0?T(r,h,!0):s?T(r,l,h.replace(/\\/g,"")):T(r,l,h),T(e,o,r)),e}function hs(t){return Object.keys(t).map(e=>{let r=t[e];return Array.isArray(r)||(r=[r]),r.map(s=>[e].concat(Object.keys(s).map(i=>{let n=s[i];return Array.isArray(n)||(n=[n]),n.map(o=>o===!0?i:`${i}=${o}`).join("; ")})).join("; ")).join(", ")}).join(", ")}Yt.exports={format:hs,parse:us}});var ge=y((Qi,or)=>{"use strict";var ps=require("events"),ms=require("https"),_s=require("http"),Zt=require("net"),gs=require("tls"),{randomBytes:xs,createHash:ys}=require("crypto"),{Duplex:Zi,Readable:Ji}=require("stream"),{URL:We}=require("url"),R=ee(),vs=Le(),bs=Ue(),{isBlob:Ss}=$(),{BINARY_TYPES:Kt,CLOSE_TIMEOUT:Es,EMPTY_BUFFER:pe,GUID:ws,kForOnEventAttribute:$e,kListener:Ts,kStatusCode:Ns,kWebSocket:g,NOOP:Jt}=N(),{EventTarget:{addEventListener:ks,removeEventListener:Os}}=zt(),{format:Cs,parse:Bs}=qe(),{toBuffer:Ps}=J(),Qt=Symbol("kAborted"),Ve=[8,13],C=["CONNECTING","OPEN","CLOSING","CLOSED"],Rs=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,p=class t extends ps{constructor(e,r,s){super(),this._binaryType=Kt[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=pe,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=t.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,r===void 0?r=[]:Array.isArray(r)||(typeof r=="object"&&r!==null?(s=r,r=[]):r=[r]),er(this,e,r,s)):(this._autoPong=s.autoPong,this._closeTimeout=s.closeTimeout,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){Kt.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,r,s){let i=new vs({allowSynchronousEvents:s.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:s.maxPayload,skipUTF8Validation:s.skipUTF8Validation}),n=new bs(e,this._extensions,s.generateMask);this._receiver=i,this._sender=n,this._socket=e,i[g]=this,n[g]=this,e[g]=this,i.on("conclude",Ls),i.on("drain",Ds),i.on("error",As),i.on("message",Us),i.on("ping",Ms),i.on("pong",qs),n.onerror=Ws,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),r.length>0&&e.unshift(r),e.on("close",sr),e.on("data",_e),e.on("end",ir),e.on("error",nr),this._readyState=t.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[R.extensionName]&&this._extensions[R.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,r){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){v(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===t.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=t.CLOSING,this._sender.close(e,r,!this._isServer,s=>{s||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),rr(this)}}pause(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,r,s){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(s=e,e=r=void 0):typeof r=="function"&&(s=r,r=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Ge(this,e,s);return}r===void 0&&(r=!this._isServer),this._sender.ping(e||pe,r,s)}pong(e,r,s){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(s=e,e=r=void 0):typeof r=="function"&&(s=r,r=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Ge(this,e,s);return}r===void 0&&(r=!this._isServer),this._sender.pong(e||pe,r,s)}resume(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,r,s){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof r=="function"&&(s=r,r={}),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Ge(this,e,s);return}let i={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...r};this._extensions[R.extensionName]||(i.compress=!1),this._sender.send(e||pe,i,s)}terminate(){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){v(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=t.CLOSING,this._socket.destroy())}}};Object.defineProperty(p,"CONNECTING",{enumerable:!0,value:C.indexOf("CONNECTING")});Object.defineProperty(p.prototype,"CONNECTING",{enumerable:!0,value:C.indexOf("CONNECTING")});Object.defineProperty(p,"OPEN",{enumerable:!0,value:C.indexOf("OPEN")});Object.defineProperty(p.prototype,"OPEN",{enumerable:!0,value:C.indexOf("OPEN")});Object.defineProperty(p,"CLOSING",{enumerable:!0,value:C.indexOf("CLOSING")});Object.defineProperty(p.prototype,"CLOSING",{enumerable:!0,value:C.indexOf("CLOSING")});Object.defineProperty(p,"CLOSED",{enumerable:!0,value:C.indexOf("CLOSED")});Object.defineProperty(p.prototype,"CLOSED",{enumerable:!0,value:C.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(t=>{Object.defineProperty(p.prototype,t,{enumerable:!0})});["open","error","close","message"].forEach(t=>{Object.defineProperty(p.prototype,`on${t}`,{enumerable:!0,get(){for(let e of this.listeners(t))if(e[$e])return e[Ts];return null},set(e){for(let r of this.listeners(t))if(r[$e]){this.removeListener(t,r);break}typeof e=="function"&&this.addEventListener(t,e,{[$e]:!0})}})});p.prototype.addEventListener=ks;p.prototype.removeEventListener=Os;or.exports=p;function er(t,e,r,s){let i={allowSynchronousEvents:!0,autoPong:!0,closeTimeout:Es,protocolVersion:Ve[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...s,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(t._autoPong=i.autoPong,t._closeTimeout=i.closeTimeout,!Ve.includes(i.protocolVersion))throw new RangeError(`Unsupported protocol version: ${i.protocolVersion} (supported versions: ${Ve.join(", ")})`);let n;if(e instanceof We)n=e;else try{n=new We(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}n.protocol==="http:"?n.protocol="ws:":n.protocol==="https:"&&(n.protocol="wss:"),t._url=n.href;let o=n.protocol==="wss:",l=n.protocol==="ws+unix:",c;if(n.protocol!=="ws:"&&!o&&!l?c=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:l&&!n.pathname?c="The URL's pathname is empty":n.hash&&(c="The URL contains a fragment identifier"),c){let u=new SyntaxError(c);if(t._redirects===0)throw u;me(t,u);return}let a=o?443:80,d=xs(16).toString("base64"),f=o?ms.request:_s.request,h=new Set,_;if(i.createConnection=i.createConnection||(o?Is:Fs),i.defaultPort=i.defaultPort||a,i.port=n.port||a,i.host=n.hostname.startsWith("[")?n.hostname.slice(1,-1):n.hostname,i.headers={...i.headers,"Sec-WebSocket-Version":i.protocolVersion,"Sec-WebSocket-Key":d,Connection:"Upgrade",Upgrade:"websocket"},i.path=n.pathname+n.search,i.timeout=i.handshakeTimeout,i.perMessageDeflate&&(_=new R(i.perMessageDeflate!==!0?i.perMessageDeflate:{},!1,i.maxPayload),i.headers["Sec-WebSocket-Extensions"]=Cs({[R.extensionName]:_.offer()})),r.length){for(let u of r){if(typeof u!="string"||!Rs.test(u)||h.has(u))throw new SyntaxError("An invalid or duplicated subprotocol was specified");h.add(u)}i.headers["Sec-WebSocket-Protocol"]=r.join(",")}if(i.origin&&(i.protocolVersion<13?i.headers["Sec-WebSocket-Origin"]=i.origin:i.headers.Origin=i.origin),(n.username||n.password)&&(i.auth=`${n.username}:${n.password}`),l){let u=i.path.split(":");i.socketPath=u[0],i.path=u[1]}let m;if(i.followRedirects){if(t._redirects===0){t._originalIpc=l,t._originalSecure=o,t._originalHostOrSocketPath=l?i.socketPath:n.host;let u=s&&s.headers;if(s={...s,headers:{}},u)for(let[x,U]of Object.entries(u))s.headers[x.toLowerCase()]=U}else if(t.listenerCount("redirect")===0){let u=l?t._originalIpc?i.socketPath===t._originalHostOrSocketPath:!1:t._originalIpc?!1:n.host===t._originalHostOrSocketPath;(!u||t._originalSecure&&!o)&&(delete i.headers.authorization,delete i.headers.cookie,u||delete i.headers.host,i.auth=void 0)}i.auth&&!s.headers.authorization&&(s.headers.authorization="Basic "+Buffer.from(i.auth).toString("base64")),m=t._req=f(i),t._redirects&&t.emit("redirect",t.url,m)}else m=t._req=f(i);i.timeout&&m.on("timeout",()=>{v(t,m,"Opening handshake has timed out")}),m.on("error",u=>{m===null||m[Qt]||(m=t._req=null,me(t,u))}),m.on("response",u=>{let x=u.headers.location,U=u.statusCode;if(x&&i.followRedirects&&U>=300&&U<400){if(++t._redirects>i.maxRedirects){v(t,m,"Maximum redirects exceeded");return}m.abort();let K;try{K=new We(x,e)}catch{let M=new SyntaxError(`Invalid URL: ${x}`);me(t,M);return}er(t,K,r,s)}else t.emit("unexpected-response",m,u)||v(t,m,`Unexpected server response: ${u.statusCode}`)}),m.on("upgrade",(u,x,U)=>{if(t.emit("upgrade",u),t.readyState!==p.CONNECTING)return;m=t._req=null;let K=u.headers.upgrade;if(K===void 0||K.toLowerCase()!=="websocket"){v(t,x,"Invalid Upgrade header");return}let Ye=ys("sha1").update(d+ws).digest("base64");if(u.headers["sec-websocket-accept"]!==Ye){v(t,x,"Invalid Sec-WebSocket-Accept header");return}let M=u.headers["sec-websocket-protocol"],X;if(M!==void 0?h.size?h.has(M)||(X="Server sent an invalid subprotocol"):X="Server sent a subprotocol but none was requested":h.size&&(X="Server sent no subprotocol"),X){v(t,x,X);return}M&&(t._protocol=M);let Ke=u.headers["sec-websocket-extensions"];if(Ke!==void 0){if(!_){v(t,x,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let ye;try{ye=Bs(Ke)}catch{v(t,x,"Invalid Sec-WebSocket-Extensions header");return}let Xe=Object.keys(ye);if(Xe.length!==1||Xe[0]!==R.extensionName){v(t,x,"Server indicated an extension that was not requested");return}try{_.accept(ye[R.extensionName])}catch{v(t,x,"Invalid Sec-WebSocket-Extensions header");return}t._extensions[R.extensionName]=_}t.setSocket(x,U,{allowSynchronousEvents:i.allowSynchronousEvents,generateMask:i.generateMask,maxPayload:i.maxPayload,skipUTF8Validation:i.skipUTF8Validation})}),i.finishRequest?i.finishRequest(m,t):m.end()}function me(t,e){t._readyState=p.CLOSING,t._errorEmitted=!0,t.emit("error",e),t.emitClose()}function Fs(t){return t.path=t.socketPath,Zt.connect(t)}function Is(t){return t.path=void 0,!t.servername&&t.servername!==""&&(t.servername=Zt.isIP(t.host)?"":t.host),gs.connect(t)}function v(t,e,r){t._readyState=p.CLOSING;let s=new Error(r);Error.captureStackTrace(s,v),e.setHeader?(e[Qt]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(me,t,s)):(e.destroy(s),e.once("error",t.emit.bind(t,"error")),e.once("close",t.emitClose.bind(t)))}function Ge(t,e,r){if(e){let s=Ss(e)?e.size:Ps(e).length;t._socket?t._sender._bufferedBytes+=s:t._bufferedAmount+=s}if(r){let s=new Error(`WebSocket is not open: readyState ${t.readyState} (${C[t.readyState]})`);process.nextTick(r,s)}}function Ls(t,e){let r=this[g];r._closeFrameReceived=!0,r._closeMessage=e,r._closeCode=t,r._socket[g]!==void 0&&(r._socket.removeListener("data",_e),process.nextTick(tr,r._socket),t===1005?r.close():r.close(t,e))}function Ds(){let t=this[g];t.isPaused||t._socket.resume()}function As(t){let e=this[g];e._socket[g]!==void 0&&(e._socket.removeListener("data",_e),process.nextTick(tr,e._socket),e.close(t[Ns])),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",t))}function Xt(){this[g].emitClose()}function Us(t,e){this[g].emit("message",t,e)}function Ms(t){let e=this[g];e._autoPong&&e.pong(t,!this._isServer,Jt),e.emit("ping",t)}function qs(t){this[g].emit("pong",t)}function tr(t){t.resume()}function Ws(t){let e=this[g];e.readyState!==p.CLOSED&&(e.readyState===p.OPEN&&(e._readyState=p.CLOSING,rr(e)),this._socket.end(),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",t)))}function rr(t){t._closeTimer=setTimeout(t._socket.destroy.bind(t._socket),t._closeTimeout)}function sr(){let t=this[g];if(this.removeListener("close",sr),this.removeListener("data",_e),this.removeListener("end",ir),t._readyState=p.CLOSING,!this._readableState.endEmitted&&!t._closeFrameReceived&&!t._receiver._writableState.errorEmitted&&this._readableState.length!==0){let e=this.read(this._readableState.length);t._receiver.write(e)}t._receiver.end(),this[g]=void 0,clearTimeout(t._closeTimer),t._receiver._writableState.finished||t._receiver._writableState.errorEmitted?t.emitClose():(t._receiver.on("error",Xt),t._receiver.on("finish",Xt))}function _e(t){this[g]._receiver.write(t)||this.pause()}function ir(){let t=this[g];t._readyState=p.CLOSING,t._receiver.end(),this.end()}function nr(){let t=this[g];this.removeListener("error",nr),this.on("error",Jt),t&&(t._readyState=p.CLOSING,this.destroy())}});var dr=y((tn,cr)=>{"use strict";var en=ge(),{Duplex:$s}=require("stream");function ar(t){t.emit("close")}function Vs(){!this.destroyed&&this._writableState.finished&&this.destroy()}function lr(t){this.removeListener("error",lr),this.destroy(),this.listenerCount("error")===0&&this.emit("error",t)}function Gs(t,e){let r=!0,s=new $s({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return t.on("message",function(n,o){let l=!o&&s._readableState.objectMode?n.toString():n;s.push(l)||t.pause()}),t.once("error",function(n){s.destroyed||(r=!1,s.destroy(n))}),t.once("close",function(){s.destroyed||s.push(null)}),s._destroy=function(i,n){if(t.readyState===t.CLOSED){n(i),process.nextTick(ar,s);return}let o=!1;t.once("error",function(c){o=!0,n(c)}),t.once("close",function(){o||n(i),process.nextTick(ar,s)}),r&&t.terminate()},s._final=function(i){if(t.readyState===t.CONNECTING){t.once("open",function(){s._final(i)});return}t._socket!==null&&(t._socket._writableState.finished?(i(),s._readableState.endEmitted&&s.destroy()):(t._socket.once("finish",function(){i()}),t.close()))},s._read=function(){t.isPaused&&t.resume()},s._write=function(i,n,o){if(t.readyState===t.CONNECTING){t.once("open",function(){s._write(i,n,o)});return}t.send(i,o)},s.on("end",Vs),s.on("error",lr),s}cr.exports=Gs});var ur=y((rn,fr)=>{"use strict";var{tokenChars:js}=$();function Hs(t){let e=new Set,r=-1,s=-1,i=0;for(i;i<t.length;i++){let o=t.charCodeAt(i);if(s===-1&&js[o]===1)r===-1&&(r=i);else if(i!==0&&(o===32||o===9))s===-1&&r!==-1&&(s=i);else if(o===44){if(r===-1)throw new SyntaxError(`Unexpected character at index ${i}`);s===-1&&(s=i);let l=t.slice(r,s);if(e.has(l))throw new SyntaxError(`The "${l}" subprotocol is duplicated`);e.add(l),r=s=-1}else throw new SyntaxError(`Unexpected character at index ${i}`)}if(r===-1||s!==-1)throw new SyntaxError("Unexpected end of input");let n=t.slice(r,i);if(e.has(n))throw new SyntaxError(`The "${n}" subprotocol is duplicated`);return e.add(n),e}fr.exports={parse:Hs}});var yr=y((nn,xr)=>{"use strict";var zs=require("events"),xe=require("http"),{Duplex:sn}=require("stream"),{createHash:Ys}=require("crypto"),hr=qe(),D=ee(),Ks=ur(),Xs=ge(),{CLOSE_TIMEOUT:Zs,GUID:Js,kWebSocket:Qs}=N(),ei=/^[+/0-9A-Za-z]{22}==$/,pr=0,mr=1,gr=2,je=class extends zs{constructor(e,r){if(super(),e={allowSynchronousEvents:!0,autoPong:!0,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,closeTimeout:Zs,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:Xs,...e},e.port==null&&!e.server&&!e.noServer||e.port!=null&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(e.port!=null?(this._server=xe.createServer((s,i)=>{let n=xe.STATUS_CODES[426];i.writeHead(426,{"Content-Length":n.length,"Content-Type":"text/plain"}),i.end(n)}),this._server.listen(e.port,e.host,e.backlog,r)):e.server&&(this._server=e.server),this._server){let s=this.emit.bind(this,"connection");this._removeListeners=ti(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(i,n,o)=>{this.handleUpgrade(i,n,o,s)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=pr}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(this._state===gr){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(ie,this);return}if(e&&this.once("close",e),this._state!==mr)if(this._state=mr,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients?this.clients.size?this._shouldEmitClose=!0:process.nextTick(ie,this):process.nextTick(ie,this);else{let r=this._server;this._removeListeners(),this._removeListeners=this._server=null,r.close(()=>{ie(this)})}}shouldHandle(e){if(this.options.path){let r=e.url.indexOf("?");if((r!==-1?e.url.slice(0,r):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,r,s,i){r.on("error",_r);let n=e.headers["sec-websocket-key"],o=e.headers.upgrade,l=+e.headers["sec-websocket-version"];if(e.method!=="GET"){A(this,e,r,405,"Invalid HTTP method");return}if(o===void 0||o.toLowerCase()!=="websocket"){A(this,e,r,400,"Invalid Upgrade header");return}if(n===void 0||!ei.test(n)){A(this,e,r,400,"Missing or invalid Sec-WebSocket-Key header");return}if(l!==13&&l!==8){A(this,e,r,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){ne(r,400);return}let c=e.headers["sec-websocket-protocol"],a=new Set;if(c!==void 0)try{a=Ks.parse(c)}catch{A(this,e,r,400,"Invalid Sec-WebSocket-Protocol header");return}let d=e.headers["sec-websocket-extensions"],f={};if(this.options.perMessageDeflate&&d!==void 0){let h=new D(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let _=hr.parse(d);_[D.extensionName]&&(h.accept(_[D.extensionName]),f[D.extensionName]=h)}catch{A(this,e,r,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let h={origin:e.headers[`${l===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(h,(_,m,u,x)=>{if(!_)return ne(r,m||401,u,x);this.completeUpgrade(f,n,a,e,r,s,i)});return}if(!this.options.verifyClient(h))return ne(r,401)}this.completeUpgrade(f,n,a,e,r,s,i)}completeUpgrade(e,r,s,i,n,o,l){if(!n.readable||!n.writable)return n.destroy();if(n[Qs])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>pr)return ne(n,503);let a=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${Ys("sha1").update(r+Js).digest("base64")}`],d=new this.options.WebSocket(null,void 0,this.options);if(s.size){let f=this.options.handleProtocols?this.options.handleProtocols(s,i):s.values().next().value;f&&(a.push(`Sec-WebSocket-Protocol: ${f}`),d._protocol=f)}if(e[D.extensionName]){let f=e[D.extensionName].params,h=hr.format({[D.extensionName]:[f]});a.push(`Sec-WebSocket-Extensions: ${h}`),d._extensions=e}this.emit("headers",a,i),n.write(a.concat(`\r
2
+ "use strict";var Or=Object.create;var Ze=Object.defineProperty;var Cr=Object.getOwnPropertyDescriptor;var Br=Object.getOwnPropertyNames;var Pr=Object.getPrototypeOf,Rr=Object.prototype.hasOwnProperty;var y=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Ir=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Br(e))!Rr.call(t,i)&&i!==r&&Ze(t,i,{get:()=>e[i],enumerable:!(s=Cr(e,i))||s.enumerable});return t};var w=(t,e,r)=>(r=t!=null?Or(Pr(t)):{},Ir(e||!t||!t.__esModule?Ze(r,"default",{value:t,enumerable:!0}):r,t));var k=y((Gi,xt)=>{"use strict";var _t=["nodebuffer","arraybuffer","fragments"],gt=typeof Blob<"u";gt&&_t.push("blob");xt.exports={BINARY_TYPES:_t,CLOSE_TIMEOUT:3e4,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:gt,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var J=y((Vi,oe)=>{"use strict";var{EMPTY_BUFFER:Ar}=k(),Te=Buffer[Symbol.species];function Mr(t,e){if(t.length===0)return Ar;if(t.length===1)return t[0];let r=Buffer.allocUnsafe(e),s=0;for(let i=0;i<t.length;i++){let n=t[i];r.set(n,s),s+=n.length}return s<e?new Te(r.buffer,r.byteOffset,s):r}function yt(t,e,r,s,i){for(let n=0;n<i;n++)r[s+n]=t[n]^e[n&3]}function vt(t,e){for(let r=0;r<t.length;r++)t[r]^=e[r&3]}function Ur(t){return t.length===t.buffer.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.length)}function Ne(t){if(Ne.readOnly=!0,Buffer.isBuffer(t))return t;let e;return t instanceof ArrayBuffer?e=new Te(t):ArrayBuffer.isView(t)?e=new Te(t.buffer,t.byteOffset,t.byteLength):(e=Buffer.from(t),Ne.readOnly=!1),e}oe.exports={concat:Mr,mask:yt,toArrayBuffer:Ur,toBuffer:Ne,unmask:vt};if(!process.env.WS_NO_BUFFER_UTIL)try{let t=require("bufferutil");oe.exports.mask=function(e,r,s,i,n){n<48?yt(e,r,s,i,n):t.mask(e,r,s,i,n)},oe.exports.unmask=function(e,r){e.length<32?vt(e,r):t.unmask(e,r)}}catch{}});var Et=y((ji,St)=>{"use strict";var bt=Symbol("kDone"),ke=Symbol("kRun"),Oe=class{constructor(e){this[bt]=()=>{this.pending--,this[ke]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[ke]()}[ke](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[bt])}}};St.exports=Oe});var ee=y((Hi,kt)=>{"use strict";var Q=require("zlib"),wt=J(),qr=Et(),{kStatusCode:Tt}=k(),Wr=Buffer[Symbol.species],$r=Buffer.from([0,0,255,255]),le=Symbol("permessage-deflate"),O=Symbol("total-length"),W=Symbol("callback"),R=Symbol("buffers"),$=Symbol("error"),ae,Ce=class{constructor(e,r,s){if(this._maxPayload=s|0,this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!r,this._deflate=null,this._inflate=null,this.params=null,!ae){let i=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;ae=new qr(i)}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[W];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let r=this._options,s=e.find(i=>!(r.serverNoContextTakeover===!1&&i.server_no_context_takeover||i.server_max_window_bits&&(r.serverMaxWindowBits===!1||typeof r.serverMaxWindowBits=="number"&&r.serverMaxWindowBits>i.server_max_window_bits)||typeof r.clientMaxWindowBits=="number"&&!i.client_max_window_bits));if(!s)throw new Error("None of the extension offers can be accepted");return r.serverNoContextTakeover&&(s.server_no_context_takeover=!0),r.clientNoContextTakeover&&(s.client_no_context_takeover=!0),typeof r.serverMaxWindowBits=="number"&&(s.server_max_window_bits=r.serverMaxWindowBits),typeof r.clientMaxWindowBits=="number"?s.client_max_window_bits=r.clientMaxWindowBits:(s.client_max_window_bits===!0||r.clientMaxWindowBits===!1)&&delete s.client_max_window_bits,s}acceptAsClient(e){let r=e[0];if(this._options.clientNoContextTakeover===!1&&r.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!r.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(r.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&r.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return r}normalizeParams(e){return e.forEach(r=>{Object.keys(r).forEach(s=>{let i=r[s];if(i.length>1)throw new Error(`Parameter "${s}" must have only a single value`);if(i=i[0],s==="client_max_window_bits"){if(i!==!0){let n=+i;if(!Number.isInteger(n)||n<8||n>15)throw new TypeError(`Invalid value for parameter "${s}": ${i}`);i=n}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${s}": ${i}`)}else if(s==="server_max_window_bits"){let n=+i;if(!Number.isInteger(n)||n<8||n>15)throw new TypeError(`Invalid value for parameter "${s}": ${i}`);i=n}else if(s==="client_no_context_takeover"||s==="server_no_context_takeover"){if(i!==!0)throw new TypeError(`Invalid value for parameter "${s}": ${i}`)}else throw new Error(`Unknown parameter "${s}"`);r[s]=i})}),e}decompress(e,r,s){ae.add(i=>{this._decompress(e,r,(n,o)=>{i(),s(n,o)})})}compress(e,r,s){ae.add(i=>{this._compress(e,r,(n,o)=>{i(),s(n,o)})})}_decompress(e,r,s){let i=this._isServer?"client":"server";if(!this._inflate){let n=`${i}_max_window_bits`,o=typeof this.params[n]!="number"?Q.Z_DEFAULT_WINDOWBITS:this.params[n];this._inflate=Q.createInflateRaw({...this._options.zlibInflateOptions,windowBits:o}),this._inflate[le]=this,this._inflate[O]=0,this._inflate[R]=[],this._inflate.on("error",Vr),this._inflate.on("data",Nt)}this._inflate[W]=s,this._inflate.write(e),r&&this._inflate.write($r),this._inflate.flush(()=>{let n=this._inflate[$];if(n){this._inflate.close(),this._inflate=null,s(n);return}let o=wt.concat(this._inflate[R],this._inflate[O]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[O]=0,this._inflate[R]=[],r&&this.params[`${i}_no_context_takeover`]&&this._inflate.reset()),s(null,o)})}_compress(e,r,s){let i=this._isServer?"server":"client";if(!this._deflate){let n=`${i}_max_window_bits`,o=typeof this.params[n]!="number"?Q.Z_DEFAULT_WINDOWBITS:this.params[n];this._deflate=Q.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:o}),this._deflate[O]=0,this._deflate[R]=[],this._deflate.on("data",Gr)}this._deflate[W]=s,this._deflate.write(e),this._deflate.flush(Q.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let n=wt.concat(this._deflate[R],this._deflate[O]);r&&(n=new Wr(n.buffer,n.byteOffset,n.length-4)),this._deflate[W]=null,this._deflate[O]=0,this._deflate[R]=[],r&&this.params[`${i}_no_context_takeover`]&&this._deflate.reset(),s(null,n)})}};kt.exports=Ce;function Gr(t){this[R].push(t),this[O]+=t.length}function Nt(t){if(this[O]+=t.length,this[le]._maxPayload<1||this[O]<=this[le]._maxPayload){this[R].push(t);return}this[$]=new RangeError("Max payload size exceeded"),this[$].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[$][Tt]=1009,this.removeListener("data",Nt),this.reset()}function Vr(t){if(this[le]._inflate=null,this[$]){this[W](this[$]);return}t[Tt]=1007,this[W](t)}});var G=y((zi,ce)=>{"use strict";var{isUtf8:Ot}=require("buffer"),{hasBlob:jr}=k(),Hr=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function zr(t){return t>=1e3&&t<=1014&&t!==1004&&t!==1005&&t!==1006||t>=3e3&&t<=4999}function Be(t){let e=t.length,r=0;for(;r<e;)if((t[r]&128)===0)r++;else if((t[r]&224)===192){if(r+1===e||(t[r+1]&192)!==128||(t[r]&254)===192)return!1;r+=2}else if((t[r]&240)===224){if(r+2>=e||(t[r+1]&192)!==128||(t[r+2]&192)!==128||t[r]===224&&(t[r+1]&224)===128||t[r]===237&&(t[r+1]&224)===160)return!1;r+=3}else if((t[r]&248)===240){if(r+3>=e||(t[r+1]&192)!==128||(t[r+2]&192)!==128||(t[r+3]&192)!==128||t[r]===240&&(t[r+1]&240)===128||t[r]===244&&t[r+1]>143||t[r]>244)return!1;r+=4}else return!1;return!0}function Yr(t){return jr&&typeof t=="object"&&typeof t.arrayBuffer=="function"&&typeof t.type=="string"&&typeof t.stream=="function"&&(t[Symbol.toStringTag]==="Blob"||t[Symbol.toStringTag]==="File")}ce.exports={isBlob:Yr,isValidStatusCode:zr,isValidUTF8:Be,tokenChars:Hr};if(Ot)ce.exports.isValidUTF8=function(t){return t.length<24?Be(t):Ot(t)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let t=require("utf-8-validate");ce.exports.isValidUTF8=function(e){return e.length<32?Be(e):t(e)}}catch{}});var Fe=y((Yi,Ft)=>{"use strict";var{Writable:Xr}=require("stream"),Ct=ee(),{BINARY_TYPES:Kr,EMPTY_BUFFER:Bt,kStatusCode:Zr,kWebSocket:Jr}=k(),{concat:Pe,toArrayBuffer:Qr,unmask:es}=J(),{isValidStatusCode:ts,isValidUTF8:Pt}=G(),de=Buffer[Symbol.species],b=0,Rt=1,It=2,Lt=3,Re=4,Ie=5,fe=6,Le=class extends Xr{constructor(e={}){super(),this._allowSynchronousEvents=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this._binaryType=e.binaryType||Kr[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[Jr]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=b}_write(e,r,s){if(this._opcode===8&&this._state==b)return s();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(s)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let s=this._buffers[0];return this._buffers[0]=new de(s.buffer,s.byteOffset+e,s.length-e),new de(s.buffer,s.byteOffset,e)}let r=Buffer.allocUnsafe(e);do{let s=this._buffers[0],i=r.length-e;e>=s.length?r.set(this._buffers.shift(),i):(r.set(new Uint8Array(s.buffer,s.byteOffset,e),i),this._buffers[0]=new de(s.buffer,s.byteOffset+e,s.length-e)),e-=s.length}while(e>0);return r}startLoop(e){this._loop=!0;do switch(this._state){case b:this.getInfo(e);break;case Rt:this.getPayloadLength16(e);break;case It:this.getPayloadLength64(e);break;case Lt:this.getMask();break;case Re:this.getData(e);break;case Ie:case fe:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let r=this.consume(2);if((r[0]&48)!==0){let i=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(i);return}let s=(r[0]&64)===64;if(s&&!this._extensions[Ct.extensionName]){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(i);return}if(this._fin=(r[0]&128)===128,this._opcode=r[0]&15,this._payloadLength=r[1]&127,this._opcode===0){if(s){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(i);return}if(!this._fragmented){let i=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(i);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let i=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(i);return}this._compressed=s}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let i=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(i);return}if(s){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(i);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let i=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(i);return}}else{let i=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(i);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(r[1]&128)===128,this._isServer){if(!this._masked){let i=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(i);return}}else if(this._masked){let i=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(i);return}this._payloadLength===126?this._state=Rt:this._payloadLength===127?this._state=It:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let r=this.consume(8),s=r.readUInt32BE(0);if(s>Math.pow(2,21)-1){let i=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(i);return}this._payloadLength=s*Math.pow(2,32)+r.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let r=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");e(r);return}this._masked?this._state=Lt:this._state=Re}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=Re}getData(e){let r=Bt;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}r=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0&&es(r,this._mask)}if(this._opcode>7){this.controlMessage(r,e);return}if(this._compressed){this._state=Ie,this.decompress(r,e);return}r.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(r)),this.dataMessage(e)}decompress(e,r){this._extensions[Ct.extensionName].decompress(e,this._fin,(i,n)=>{if(i)return r(i);if(n.length){if(this._messageLength+=n.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let o=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");r(o);return}this._fragments.push(n)}this.dataMessage(r),this._state===b&&this.startLoop(r)})}dataMessage(e){if(!this._fin){this._state=b;return}let r=this._messageLength,s=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let i;this._binaryType==="nodebuffer"?i=Pe(s,r):this._binaryType==="arraybuffer"?i=Qr(Pe(s,r)):this._binaryType==="blob"?i=new Blob(s):i=s,this._allowSynchronousEvents?(this.emit("message",i,!0),this._state=b):(this._state=fe,setImmediate(()=>{this.emit("message",i,!0),this._state=b,this.startLoop(e)}))}else{let i=Pe(s,r);if(!this._skipUTF8Validation&&!Pt(i)){let n=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(n);return}this._state===Ie||this._allowSynchronousEvents?(this.emit("message",i,!1),this._state=b):(this._state=fe,setImmediate(()=>{this.emit("message",i,!1),this._state=b,this.startLoop(e)}))}}controlMessage(e,r){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,Bt),this.end();else{let s=e.readUInt16BE(0);if(!ts(s)){let n=this.createError(RangeError,`invalid status code ${s}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");r(n);return}let i=new de(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!Pt(i)){let n=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");r(n);return}this._loop=!1,this.emit("conclude",s,i),this.end()}this._state=b;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=b):(this._state=fe,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=b,this.startLoop(r)}))}createError(e,r,s,i,n){this._loop=!1,this._errored=!0;let o=new e(s?`Invalid WebSocket frame: ${r}`:r);return Error.captureStackTrace(o,this.createError),o.code=n,o[Zr]=i,o}};Ft.exports=Le});var Me=y((Ki,Mt)=>{"use strict";var{Duplex:Xi}=require("stream"),{randomFillSync:rs}=require("crypto"),Dt=ee(),{EMPTY_BUFFER:ss,kWebSocket:is,NOOP:ns}=k(),{isBlob:V,isValidStatusCode:os}=G(),{mask:At,toBuffer:L}=J(),S=Symbol("kByteLength"),as=Buffer.alloc(4),ue=8*1024,F,j=ue,E=0,ls=1,cs=2,De=class t{constructor(e,r,s){this._extensions=r||{},s&&(this._generateMask=s,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=E,this.onerror=ns,this[is]=void 0}static frame(e,r){let s,i=!1,n=2,o=!1;r.mask&&(s=r.maskBuffer||as,r.generateMask?r.generateMask(s):(j===ue&&(F===void 0&&(F=Buffer.alloc(ue)),rs(F,0,ue),j=0),s[0]=F[j++],s[1]=F[j++],s[2]=F[j++],s[3]=F[j++]),o=(s[0]|s[1]|s[2]|s[3])===0,n=6);let a;typeof e=="string"?(!r.mask||o)&&r[S]!==void 0?a=r[S]:(e=Buffer.from(e),a=e.length):(a=e.length,i=r.mask&&r.readOnly&&!o);let c=a;a>=65536?(n+=8,c=127):a>125&&(n+=2,c=126);let l=Buffer.allocUnsafe(i?a+n:n);return l[0]=r.fin?r.opcode|128:r.opcode,r.rsv1&&(l[0]|=64),l[1]=c,c===126?l.writeUInt16BE(a,2):c===127&&(l[2]=l[3]=0,l.writeUIntBE(a,4,6)),r.mask?(l[1]|=128,l[n-4]=s[0],l[n-3]=s[1],l[n-2]=s[2],l[n-1]=s[3],o?[l,e]:i?(At(e,s,l,n,a),[l]):(At(e,s,e,0,a),[l,e])):[l,e]}close(e,r,s,i){let n;if(e===void 0)n=ss;else{if(typeof e!="number"||!os(e))throw new TypeError("First argument must be a valid error code number");if(r===void 0||!r.length)n=Buffer.allocUnsafe(2),n.writeUInt16BE(e,0);else{let a=Buffer.byteLength(r);if(a>123)throw new RangeError("The message must not be greater than 123 bytes");n=Buffer.allocUnsafe(2+a),n.writeUInt16BE(e,0),typeof r=="string"?n.write(r,2):n.set(r,2)}}let o={[S]:n.length,fin:!0,generateMask:this._generateMask,mask:s,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==E?this.enqueue([this.dispatch,n,!1,o,i]):this.sendFrame(t.frame(n,o),i)}ping(e,r,s){let i,n;if(typeof e=="string"?(i=Buffer.byteLength(e),n=!1):V(e)?(i=e.size,n=!1):(e=L(e),i=e.length,n=L.readOnly),i>125)throw new RangeError("The data size must not be greater than 125 bytes");let o={[S]:i,fin:!0,generateMask:this._generateMask,mask:r,maskBuffer:this._maskBuffer,opcode:9,readOnly:n,rsv1:!1};V(e)?this._state!==E?this.enqueue([this.getBlobData,e,!1,o,s]):this.getBlobData(e,!1,o,s):this._state!==E?this.enqueue([this.dispatch,e,!1,o,s]):this.sendFrame(t.frame(e,o),s)}pong(e,r,s){let i,n;if(typeof e=="string"?(i=Buffer.byteLength(e),n=!1):V(e)?(i=e.size,n=!1):(e=L(e),i=e.length,n=L.readOnly),i>125)throw new RangeError("The data size must not be greater than 125 bytes");let o={[S]:i,fin:!0,generateMask:this._generateMask,mask:r,maskBuffer:this._maskBuffer,opcode:10,readOnly:n,rsv1:!1};V(e)?this._state!==E?this.enqueue([this.getBlobData,e,!1,o,s]):this.getBlobData(e,!1,o,s):this._state!==E?this.enqueue([this.dispatch,e,!1,o,s]):this.sendFrame(t.frame(e,o),s)}send(e,r,s){let i=this._extensions[Dt.extensionName],n=r.binary?2:1,o=r.compress,a,c;typeof e=="string"?(a=Buffer.byteLength(e),c=!1):V(e)?(a=e.size,c=!1):(e=L(e),a=e.length,c=L.readOnly),this._firstFragment?(this._firstFragment=!1,o&&i&&i.params[i._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(o=a>=i._threshold),this._compress=o):(o=!1,n=0),r.fin&&(this._firstFragment=!0);let l={[S]:a,fin:r.fin,generateMask:this._generateMask,mask:r.mask,maskBuffer:this._maskBuffer,opcode:n,readOnly:c,rsv1:o};V(e)?this._state!==E?this.enqueue([this.getBlobData,e,this._compress,l,s]):this.getBlobData(e,this._compress,l,s):this._state!==E?this.enqueue([this.dispatch,e,this._compress,l,s]):this.dispatch(e,this._compress,l,s)}getBlobData(e,r,s,i){this._bufferedBytes+=s[S],this._state=cs,e.arrayBuffer().then(n=>{if(this._socket.destroyed){let a=new Error("The socket was closed while the blob was being read");process.nextTick(Ae,this,a,i);return}this._bufferedBytes-=s[S];let o=L(n);r?this.dispatch(o,r,s,i):(this._state=E,this.sendFrame(t.frame(o,s),i),this.dequeue())}).catch(n=>{process.nextTick(ds,this,n,i)})}dispatch(e,r,s,i){if(!r){this.sendFrame(t.frame(e,s),i);return}let n=this._extensions[Dt.extensionName];this._bufferedBytes+=s[S],this._state=ls,n.compress(e,s.fin,(o,a)=>{if(this._socket.destroyed){let c=new Error("The socket was closed while data was being compressed");Ae(this,c,i);return}this._bufferedBytes-=s[S],this._state=E,s.readOnly=!1,this.sendFrame(t.frame(a,s),i),this.dequeue()})}dequeue(){for(;this._state===E&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][S],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][S],this._queue.push(e)}sendFrame(e,r){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],r),this._socket.uncork()):this._socket.write(e[0],r)}};Mt.exports=De;function Ae(t,e,r){typeof r=="function"&&r(e);for(let s=0;s<t._queue.length;s++){let i=t._queue[s],n=i[i.length-1];typeof n=="function"&&n(e)}}function ds(t,e,r){Ae(t,e,r),t.onerror(e)}});var zt=y((Zi,Ht)=>{"use strict";var{kForOnEventAttribute:te,kListener:Ue}=k(),Ut=Symbol("kCode"),qt=Symbol("kData"),Wt=Symbol("kError"),$t=Symbol("kMessage"),Gt=Symbol("kReason"),H=Symbol("kTarget"),Vt=Symbol("kType"),jt=Symbol("kWasClean"),C=class{constructor(e){this[H]=null,this[Vt]=e}get target(){return this[H]}get type(){return this[Vt]}};Object.defineProperty(C.prototype,"target",{enumerable:!0});Object.defineProperty(C.prototype,"type",{enumerable:!0});var D=class extends C{constructor(e,r={}){super(e),this[Ut]=r.code===void 0?0:r.code,this[Gt]=r.reason===void 0?"":r.reason,this[jt]=r.wasClean===void 0?!1:r.wasClean}get code(){return this[Ut]}get reason(){return this[Gt]}get wasClean(){return this[jt]}};Object.defineProperty(D.prototype,"code",{enumerable:!0});Object.defineProperty(D.prototype,"reason",{enumerable:!0});Object.defineProperty(D.prototype,"wasClean",{enumerable:!0});var z=class extends C{constructor(e,r={}){super(e),this[Wt]=r.error===void 0?null:r.error,this[$t]=r.message===void 0?"":r.message}get error(){return this[Wt]}get message(){return this[$t]}};Object.defineProperty(z.prototype,"error",{enumerable:!0});Object.defineProperty(z.prototype,"message",{enumerable:!0});var re=class extends C{constructor(e,r={}){super(e),this[qt]=r.data===void 0?null:r.data}get data(){return this[qt]}};Object.defineProperty(re.prototype,"data",{enumerable:!0});var fs={addEventListener(t,e,r={}){for(let i of this.listeners(t))if(!r[te]&&i[Ue]===e&&!i[te])return;let s;if(t==="message")s=function(n,o){let a=new re("message",{data:o?n:n.toString()});a[H]=this,he(e,this,a)};else if(t==="close")s=function(n,o){let a=new D("close",{code:n,reason:o.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});a[H]=this,he(e,this,a)};else if(t==="error")s=function(n){let o=new z("error",{error:n,message:n.message});o[H]=this,he(e,this,o)};else if(t==="open")s=function(){let n=new C("open");n[H]=this,he(e,this,n)};else return;s[te]=!!r[te],s[Ue]=e,r.once?this.once(t,s):this.on(t,s)},removeEventListener(t,e){for(let r of this.listeners(t))if(r[Ue]===e&&!r[te]){this.removeListener(t,r);break}}};Ht.exports={CloseEvent:D,ErrorEvent:z,Event:C,EventTarget:fs,MessageEvent:re};function he(t,e,r){typeof t=="object"&&t.handleEvent?t.handleEvent.call(t,r):t.call(e,r)}});var qe=y((Ji,Yt)=>{"use strict";var{tokenChars:se}=G();function T(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}function us(t){let e=Object.create(null),r=Object.create(null),s=!1,i=!1,n=!1,o,a,c=-1,l=-1,d=-1,f=0;for(;f<t.length;f++)if(l=t.charCodeAt(f),o===void 0)if(d===-1&&se[l]===1)c===-1&&(c=f);else if(f!==0&&(l===32||l===9))d===-1&&c!==-1&&(d=f);else if(l===59||l===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${f}`);d===-1&&(d=f);let m=t.slice(c,d);l===44?(T(e,m,r),r=Object.create(null)):o=m,c=d=-1}else throw new SyntaxError(`Unexpected character at index ${f}`);else if(a===void 0)if(d===-1&&se[l]===1)c===-1&&(c=f);else if(l===32||l===9)d===-1&&c!==-1&&(d=f);else if(l===59||l===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${f}`);d===-1&&(d=f),T(r,t.slice(c,d),!0),l===44&&(T(e,o,r),r=Object.create(null),o=void 0),c=d=-1}else if(l===61&&c!==-1&&d===-1)a=t.slice(c,f),c=d=-1;else throw new SyntaxError(`Unexpected character at index ${f}`);else if(i){if(se[l]!==1)throw new SyntaxError(`Unexpected character at index ${f}`);c===-1?c=f:s||(s=!0),i=!1}else if(n)if(se[l]===1)c===-1&&(c=f);else if(l===34&&c!==-1)n=!1,d=f;else if(l===92)i=!0;else throw new SyntaxError(`Unexpected character at index ${f}`);else if(l===34&&t.charCodeAt(f-1)===61)n=!0;else if(d===-1&&se[l]===1)c===-1&&(c=f);else if(c!==-1&&(l===32||l===9))d===-1&&(d=f);else if(l===59||l===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${f}`);d===-1&&(d=f);let m=t.slice(c,d);s&&(m=m.replace(/\\/g,""),s=!1),T(r,a,m),l===44&&(T(e,o,r),r=Object.create(null),o=void 0),a=void 0,c=d=-1}else throw new SyntaxError(`Unexpected character at index ${f}`);if(c===-1||n||l===32||l===9)throw new SyntaxError("Unexpected end of input");d===-1&&(d=f);let h=t.slice(c,d);return o===void 0?T(e,h,r):(a===void 0?T(r,h,!0):s?T(r,a,h.replace(/\\/g,"")):T(r,a,h),T(e,o,r)),e}function hs(t){return Object.keys(t).map(e=>{let r=t[e];return Array.isArray(r)||(r=[r]),r.map(s=>[e].concat(Object.keys(s).map(i=>{let n=s[i];return Array.isArray(n)||(n=[n]),n.map(o=>o===!0?i:`${i}=${o}`).join("; ")})).join("; ")).join(", ")}).join(", ")}Yt.exports={format:hs,parse:us}});var ge=y((tn,or)=>{"use strict";var ps=require("events"),ms=require("https"),_s=require("http"),Zt=require("net"),gs=require("tls"),{randomBytes:xs,createHash:ys}=require("crypto"),{Duplex:Qi,Readable:en}=require("stream"),{URL:We}=require("url"),I=ee(),vs=Fe(),bs=Me(),{isBlob:Ss}=G(),{BINARY_TYPES:Xt,CLOSE_TIMEOUT:Es,EMPTY_BUFFER:pe,GUID:ws,kForOnEventAttribute:$e,kListener:Ts,kStatusCode:Ns,kWebSocket:g,NOOP:Jt}=k(),{EventTarget:{addEventListener:ks,removeEventListener:Os}}=zt(),{format:Cs,parse:Bs}=qe(),{toBuffer:Ps}=J(),Qt=Symbol("kAborted"),Ge=[8,13],B=["CONNECTING","OPEN","CLOSING","CLOSED"],Rs=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,p=class t extends ps{constructor(e,r,s){super(),this._binaryType=Xt[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=pe,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=t.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,r===void 0?r=[]:Array.isArray(r)||(typeof r=="object"&&r!==null?(s=r,r=[]):r=[r]),er(this,e,r,s)):(this._autoPong=s.autoPong,this._closeTimeout=s.closeTimeout,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){Xt.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,r,s){let i=new vs({allowSynchronousEvents:s.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:s.maxPayload,skipUTF8Validation:s.skipUTF8Validation}),n=new bs(e,this._extensions,s.generateMask);this._receiver=i,this._sender=n,this._socket=e,i[g]=this,n[g]=this,e[g]=this,i.on("conclude",Fs),i.on("drain",Ds),i.on("error",As),i.on("message",Ms),i.on("ping",Us),i.on("pong",qs),n.onerror=Ws,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),r.length>0&&e.unshift(r),e.on("close",sr),e.on("data",_e),e.on("end",ir),e.on("error",nr),this._readyState=t.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[I.extensionName]&&this._extensions[I.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,r){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){v(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===t.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=t.CLOSING,this._sender.close(e,r,!this._isServer,s=>{s||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),rr(this)}}pause(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,r,s){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(s=e,e=r=void 0):typeof r=="function"&&(s=r,r=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Ve(this,e,s);return}r===void 0&&(r=!this._isServer),this._sender.ping(e||pe,r,s)}pong(e,r,s){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(s=e,e=r=void 0):typeof r=="function"&&(s=r,r=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Ve(this,e,s);return}r===void 0&&(r=!this._isServer),this._sender.pong(e||pe,r,s)}resume(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,r,s){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof r=="function"&&(s=r,r={}),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Ve(this,e,s);return}let i={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...r};this._extensions[I.extensionName]||(i.compress=!1),this._sender.send(e||pe,i,s)}terminate(){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){v(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=t.CLOSING,this._socket.destroy())}}};Object.defineProperty(p,"CONNECTING",{enumerable:!0,value:B.indexOf("CONNECTING")});Object.defineProperty(p.prototype,"CONNECTING",{enumerable:!0,value:B.indexOf("CONNECTING")});Object.defineProperty(p,"OPEN",{enumerable:!0,value:B.indexOf("OPEN")});Object.defineProperty(p.prototype,"OPEN",{enumerable:!0,value:B.indexOf("OPEN")});Object.defineProperty(p,"CLOSING",{enumerable:!0,value:B.indexOf("CLOSING")});Object.defineProperty(p.prototype,"CLOSING",{enumerable:!0,value:B.indexOf("CLOSING")});Object.defineProperty(p,"CLOSED",{enumerable:!0,value:B.indexOf("CLOSED")});Object.defineProperty(p.prototype,"CLOSED",{enumerable:!0,value:B.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(t=>{Object.defineProperty(p.prototype,t,{enumerable:!0})});["open","error","close","message"].forEach(t=>{Object.defineProperty(p.prototype,`on${t}`,{enumerable:!0,get(){for(let e of this.listeners(t))if(e[$e])return e[Ts];return null},set(e){for(let r of this.listeners(t))if(r[$e]){this.removeListener(t,r);break}typeof e=="function"&&this.addEventListener(t,e,{[$e]:!0})}})});p.prototype.addEventListener=ks;p.prototype.removeEventListener=Os;or.exports=p;function er(t,e,r,s){let i={allowSynchronousEvents:!0,autoPong:!0,closeTimeout:Es,protocolVersion:Ge[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...s,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(t._autoPong=i.autoPong,t._closeTimeout=i.closeTimeout,!Ge.includes(i.protocolVersion))throw new RangeError(`Unsupported protocol version: ${i.protocolVersion} (supported versions: ${Ge.join(", ")})`);let n;if(e instanceof We)n=e;else try{n=new We(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}n.protocol==="http:"?n.protocol="ws:":n.protocol==="https:"&&(n.protocol="wss:"),t._url=n.href;let o=n.protocol==="wss:",a=n.protocol==="ws+unix:",c;if(n.protocol!=="ws:"&&!o&&!a?c=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:a&&!n.pathname?c="The URL's pathname is empty":n.hash&&(c="The URL contains a fragment identifier"),c){let u=new SyntaxError(c);if(t._redirects===0)throw u;me(t,u);return}let l=o?443:80,d=xs(16).toString("base64"),f=o?ms.request:_s.request,h=new Set,m;if(i.createConnection=i.createConnection||(o?Ls:Is),i.defaultPort=i.defaultPort||l,i.port=n.port||l,i.host=n.hostname.startsWith("[")?n.hostname.slice(1,-1):n.hostname,i.headers={...i.headers,"Sec-WebSocket-Version":i.protocolVersion,"Sec-WebSocket-Key":d,Connection:"Upgrade",Upgrade:"websocket"},i.path=n.pathname+n.search,i.timeout=i.handshakeTimeout,i.perMessageDeflate&&(m=new I(i.perMessageDeflate!==!0?i.perMessageDeflate:{},!1,i.maxPayload),i.headers["Sec-WebSocket-Extensions"]=Cs({[I.extensionName]:m.offer()})),r.length){for(let u of r){if(typeof u!="string"||!Rs.test(u)||h.has(u))throw new SyntaxError("An invalid or duplicated subprotocol was specified");h.add(u)}i.headers["Sec-WebSocket-Protocol"]=r.join(",")}if(i.origin&&(i.protocolVersion<13?i.headers["Sec-WebSocket-Origin"]=i.origin:i.headers.Origin=i.origin),(n.username||n.password)&&(i.auth=`${n.username}:${n.password}`),a){let u=i.path.split(":");i.socketPath=u[0],i.path=u[1]}let _;if(i.followRedirects){if(t._redirects===0){t._originalIpc=a,t._originalSecure=o,t._originalHostOrSocketPath=a?i.socketPath:n.host;let u=s&&s.headers;if(s={...s,headers:{}},u)for(let[x,U]of Object.entries(u))s.headers[x.toLowerCase()]=U}else if(t.listenerCount("redirect")===0){let u=a?t._originalIpc?i.socketPath===t._originalHostOrSocketPath:!1:t._originalIpc?!1:n.host===t._originalHostOrSocketPath;(!u||t._originalSecure&&!o)&&(delete i.headers.authorization,delete i.headers.cookie,u||delete i.headers.host,i.auth=void 0)}i.auth&&!s.headers.authorization&&(s.headers.authorization="Basic "+Buffer.from(i.auth).toString("base64")),_=t._req=f(i),t._redirects&&t.emit("redirect",t.url,_)}else _=t._req=f(i);i.timeout&&_.on("timeout",()=>{v(t,_,"Opening handshake has timed out")}),_.on("error",u=>{_===null||_[Qt]||(_=t._req=null,me(t,u))}),_.on("response",u=>{let x=u.headers.location,U=u.statusCode;if(x&&i.followRedirects&&U>=300&&U<400){if(++t._redirects>i.maxRedirects){v(t,_,"Maximum redirects exceeded");return}_.abort();let K;try{K=new We(x,e)}catch{let q=new SyntaxError(`Invalid URL: ${x}`);me(t,q);return}er(t,K,r,s)}else t.emit("unexpected-response",_,u)||v(t,_,`Unexpected server response: ${u.statusCode}`)}),_.on("upgrade",(u,x,U)=>{if(t.emit("upgrade",u),t.readyState!==p.CONNECTING)return;_=t._req=null;let K=u.headers.upgrade;if(K===void 0||K.toLowerCase()!=="websocket"){v(t,x,"Invalid Upgrade header");return}let Ye=ys("sha1").update(d+ws).digest("base64");if(u.headers["sec-websocket-accept"]!==Ye){v(t,x,"Invalid Sec-WebSocket-Accept header");return}let q=u.headers["sec-websocket-protocol"],Z;if(q!==void 0?h.size?h.has(q)||(Z="Server sent an invalid subprotocol"):Z="Server sent a subprotocol but none was requested":h.size&&(Z="Server sent no subprotocol"),Z){v(t,x,Z);return}q&&(t._protocol=q);let Xe=u.headers["sec-websocket-extensions"];if(Xe!==void 0){if(!m){v(t,x,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let ye;try{ye=Bs(Xe)}catch{v(t,x,"Invalid Sec-WebSocket-Extensions header");return}let Ke=Object.keys(ye);if(Ke.length!==1||Ke[0]!==I.extensionName){v(t,x,"Server indicated an extension that was not requested");return}try{m.accept(ye[I.extensionName])}catch{v(t,x,"Invalid Sec-WebSocket-Extensions header");return}t._extensions[I.extensionName]=m}t.setSocket(x,U,{allowSynchronousEvents:i.allowSynchronousEvents,generateMask:i.generateMask,maxPayload:i.maxPayload,skipUTF8Validation:i.skipUTF8Validation})}),i.finishRequest?i.finishRequest(_,t):_.end()}function me(t,e){t._readyState=p.CLOSING,t._errorEmitted=!0,t.emit("error",e),t.emitClose()}function Is(t){return t.path=t.socketPath,Zt.connect(t)}function Ls(t){return t.path=void 0,!t.servername&&t.servername!==""&&(t.servername=Zt.isIP(t.host)?"":t.host),gs.connect(t)}function v(t,e,r){t._readyState=p.CLOSING;let s=new Error(r);Error.captureStackTrace(s,v),e.setHeader?(e[Qt]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(me,t,s)):(e.destroy(s),e.once("error",t.emit.bind(t,"error")),e.once("close",t.emitClose.bind(t)))}function Ve(t,e,r){if(e){let s=Ss(e)?e.size:Ps(e).length;t._socket?t._sender._bufferedBytes+=s:t._bufferedAmount+=s}if(r){let s=new Error(`WebSocket is not open: readyState ${t.readyState} (${B[t.readyState]})`);process.nextTick(r,s)}}function Fs(t,e){let r=this[g];r._closeFrameReceived=!0,r._closeMessage=e,r._closeCode=t,r._socket[g]!==void 0&&(r._socket.removeListener("data",_e),process.nextTick(tr,r._socket),t===1005?r.close():r.close(t,e))}function Ds(){let t=this[g];t.isPaused||t._socket.resume()}function As(t){let e=this[g];e._socket[g]!==void 0&&(e._socket.removeListener("data",_e),process.nextTick(tr,e._socket),e.close(t[Ns])),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",t))}function Kt(){this[g].emitClose()}function Ms(t,e){this[g].emit("message",t,e)}function Us(t){let e=this[g];e._autoPong&&e.pong(t,!this._isServer,Jt),e.emit("ping",t)}function qs(t){this[g].emit("pong",t)}function tr(t){t.resume()}function Ws(t){let e=this[g];e.readyState!==p.CLOSED&&(e.readyState===p.OPEN&&(e._readyState=p.CLOSING,rr(e)),this._socket.end(),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",t)))}function rr(t){t._closeTimer=setTimeout(t._socket.destroy.bind(t._socket),t._closeTimeout)}function sr(){let t=this[g];if(this.removeListener("close",sr),this.removeListener("data",_e),this.removeListener("end",ir),t._readyState=p.CLOSING,!this._readableState.endEmitted&&!t._closeFrameReceived&&!t._receiver._writableState.errorEmitted&&this._readableState.length!==0){let e=this.read(this._readableState.length);t._receiver.write(e)}t._receiver.end(),this[g]=void 0,clearTimeout(t._closeTimer),t._receiver._writableState.finished||t._receiver._writableState.errorEmitted?t.emitClose():(t._receiver.on("error",Kt),t._receiver.on("finish",Kt))}function _e(t){this[g]._receiver.write(t)||this.pause()}function ir(){let t=this[g];t._readyState=p.CLOSING,t._receiver.end(),this.end()}function nr(){let t=this[g];this.removeListener("error",nr),this.on("error",Jt),t&&(t._readyState=p.CLOSING,this.destroy())}});var dr=y((sn,cr)=>{"use strict";var rn=ge(),{Duplex:$s}=require("stream");function ar(t){t.emit("close")}function Gs(){!this.destroyed&&this._writableState.finished&&this.destroy()}function lr(t){this.removeListener("error",lr),this.destroy(),this.listenerCount("error")===0&&this.emit("error",t)}function Vs(t,e){let r=!0,s=new $s({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return t.on("message",function(n,o){let a=!o&&s._readableState.objectMode?n.toString():n;s.push(a)||t.pause()}),t.once("error",function(n){s.destroyed||(r=!1,s.destroy(n))}),t.once("close",function(){s.destroyed||s.push(null)}),s._destroy=function(i,n){if(t.readyState===t.CLOSED){n(i),process.nextTick(ar,s);return}let o=!1;t.once("error",function(c){o=!0,n(c)}),t.once("close",function(){o||n(i),process.nextTick(ar,s)}),r&&t.terminate()},s._final=function(i){if(t.readyState===t.CONNECTING){t.once("open",function(){s._final(i)});return}t._socket!==null&&(t._socket._writableState.finished?(i(),s._readableState.endEmitted&&s.destroy()):(t._socket.once("finish",function(){i()}),t.close()))},s._read=function(){t.isPaused&&t.resume()},s._write=function(i,n,o){if(t.readyState===t.CONNECTING){t.once("open",function(){s._write(i,n,o)});return}t.send(i,o)},s.on("end",Gs),s.on("error",lr),s}cr.exports=Vs});var ur=y((nn,fr)=>{"use strict";var{tokenChars:js}=G();function Hs(t){let e=new Set,r=-1,s=-1,i=0;for(i;i<t.length;i++){let o=t.charCodeAt(i);if(s===-1&&js[o]===1)r===-1&&(r=i);else if(i!==0&&(o===32||o===9))s===-1&&r!==-1&&(s=i);else if(o===44){if(r===-1)throw new SyntaxError(`Unexpected character at index ${i}`);s===-1&&(s=i);let a=t.slice(r,s);if(e.has(a))throw new SyntaxError(`The "${a}" subprotocol is duplicated`);e.add(a),r=s=-1}else throw new SyntaxError(`Unexpected character at index ${i}`)}if(r===-1||s!==-1)throw new SyntaxError("Unexpected end of input");let n=t.slice(r,i);if(e.has(n))throw new SyntaxError(`The "${n}" subprotocol is duplicated`);return e.add(n),e}fr.exports={parse:Hs}});var yr=y((an,xr)=>{"use strict";var zs=require("events"),xe=require("http"),{Duplex:on}=require("stream"),{createHash:Ys}=require("crypto"),hr=qe(),A=ee(),Xs=ur(),Ks=ge(),{CLOSE_TIMEOUT:Zs,GUID:Js,kWebSocket:Qs}=k(),ei=/^[+/0-9A-Za-z]{22}==$/,pr=0,mr=1,gr=2,je=class extends zs{constructor(e,r){if(super(),e={allowSynchronousEvents:!0,autoPong:!0,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,closeTimeout:Zs,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:Ks,...e},e.port==null&&!e.server&&!e.noServer||e.port!=null&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(e.port!=null?(this._server=xe.createServer((s,i)=>{let n=xe.STATUS_CODES[426];i.writeHead(426,{"Content-Length":n.length,"Content-Type":"text/plain"}),i.end(n)}),this._server.listen(e.port,e.host,e.backlog,r)):e.server&&(this._server=e.server),this._server){let s=this.emit.bind(this,"connection");this._removeListeners=ti(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(i,n,o)=>{this.handleUpgrade(i,n,o,s)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=pr}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(this._state===gr){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(ie,this);return}if(e&&this.once("close",e),this._state!==mr)if(this._state=mr,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients?this.clients.size?this._shouldEmitClose=!0:process.nextTick(ie,this):process.nextTick(ie,this);else{let r=this._server;this._removeListeners(),this._removeListeners=this._server=null,r.close(()=>{ie(this)})}}shouldHandle(e){if(this.options.path){let r=e.url.indexOf("?");if((r!==-1?e.url.slice(0,r):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,r,s,i){r.on("error",_r);let n=e.headers["sec-websocket-key"],o=e.headers.upgrade,a=+e.headers["sec-websocket-version"];if(e.method!=="GET"){M(this,e,r,405,"Invalid HTTP method");return}if(o===void 0||o.toLowerCase()!=="websocket"){M(this,e,r,400,"Invalid Upgrade header");return}if(n===void 0||!ei.test(n)){M(this,e,r,400,"Missing or invalid Sec-WebSocket-Key header");return}if(a!==13&&a!==8){M(this,e,r,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){ne(r,400);return}let c=e.headers["sec-websocket-protocol"],l=new Set;if(c!==void 0)try{l=Xs.parse(c)}catch{M(this,e,r,400,"Invalid Sec-WebSocket-Protocol header");return}let d=e.headers["sec-websocket-extensions"],f={};if(this.options.perMessageDeflate&&d!==void 0){let h=new A(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let m=hr.parse(d);m[A.extensionName]&&(h.accept(m[A.extensionName]),f[A.extensionName]=h)}catch{M(this,e,r,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let h={origin:e.headers[`${a===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(h,(m,_,u,x)=>{if(!m)return ne(r,_||401,u,x);this.completeUpgrade(f,n,l,e,r,s,i)});return}if(!this.options.verifyClient(h))return ne(r,401)}this.completeUpgrade(f,n,l,e,r,s,i)}completeUpgrade(e,r,s,i,n,o,a){if(!n.readable||!n.writable)return n.destroy();if(n[Qs])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>pr)return ne(n,503);let l=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${Ys("sha1").update(r+Js).digest("base64")}`],d=new this.options.WebSocket(null,void 0,this.options);if(s.size){let f=this.options.handleProtocols?this.options.handleProtocols(s,i):s.values().next().value;f&&(l.push(`Sec-WebSocket-Protocol: ${f}`),d._protocol=f)}if(e[A.extensionName]){let f=e[A.extensionName].params,h=hr.format({[A.extensionName]:[f]});l.push(`Sec-WebSocket-Extensions: ${h}`),d._extensions=e}this.emit("headers",l,i),n.write(l.concat(`\r
3
3
  `).join(`\r
4
- `)),n.removeListener("error",_r),d.setSocket(n,o,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(d),d.on("close",()=>{this.clients.delete(d),this._shouldEmitClose&&!this.clients.size&&process.nextTick(ie,this)})),l(d,i)}};xr.exports=je;function ti(t,e){for(let r of Object.keys(e))t.on(r,e[r]);return function(){for(let s of Object.keys(e))t.removeListener(s,e[s])}}function ie(t){t._state=gr,t.emit("close")}function _r(){this.destroy()}function ne(t,e,r,s){r=r||xe.STATUS_CODES[e],s={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(r),...s},t.once("finish",t.destroy),t.end(`HTTP/1.1 ${e} ${xe.STATUS_CODES[e]}\r
4
+ `)),n.removeListener("error",_r),d.setSocket(n,o,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(d),d.on("close",()=>{this.clients.delete(d),this._shouldEmitClose&&!this.clients.size&&process.nextTick(ie,this)})),a(d,i)}};xr.exports=je;function ti(t,e){for(let r of Object.keys(e))t.on(r,e[r]);return function(){for(let s of Object.keys(e))t.removeListener(s,e[s])}}function ie(t){t._state=gr,t.emit("close")}function _r(){this.destroy()}function ne(t,e,r,s){r=r||xe.STATUS_CODES[e],s={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(r),...s},t.once("finish",t.destroy),t.end(`HTTP/1.1 ${e} ${xe.STATUS_CODES[e]}\r
5
5
  `+Object.keys(s).map(i=>`${i}: ${s[i]}`).join(`\r
6
6
  `)+`\r
7
7
  \r
8
- `+r)}function A(t,e,r,s,i,n){if(t.listenerCount("wsClientError")){let o=new Error(i);Error.captureStackTrace(o,A),t.emit("wsClientError",o,r,e)}else ne(r,s,i,n)}});var B=w(require("fs"),1),Z=w(require("path"),1);function Je(){return`"use client";
8
+ `+r)}function M(t,e,r,s,i,n){if(t.listenerCount("wsClientError")){let o=new Error(i);Error.captureStackTrace(o,M),t.emit("wsClientError",o,r,e)}else ne(r,s,i,n)}});var P=w(require("fs"),1),N=w(require("path"),1);function Je(){return`"use client";
9
9
 
10
10
  import { useBitField } from "@lehnihon/bit-form/react";
11
11
 
@@ -692,7 +692,7 @@ export function BitFormRadioGroup({
692
692
  </div>
693
693
  );
694
694
  }
695
- `}var Ee={input:it,textarea:nt,select:ot,checkbox:at,switch:lt,"radio-group":ct},we=Object.keys(Ee);var dt={name:"shadcn",framework:"react",components:we,renderComponent(t,e){let r=t.toLowerCase().replace(/\s+/g,"-"),s=Ee[r];if(!s)throw new Error(`Unknown shadcn component: ${t}. Available: ${we.join(", ")}`);let i=s(e.uiPath);return{filename:r==="radio-group"?"bit-form-radio-group.tsx":`bit-form-${r}.tsx`,contents:i}}};var ft={shadcn:dt,html:st};function ut(t){return ft[t.toLowerCase()]}function ht(){return Object.keys(ft)}var Ir="@/components/ui";function Lr(t){let e=t[0]??"",r=t.slice(1),s=".",i=Ir,n=!1,o=!1,l=[];for(let c=0;c<r.length;c++){let a=r[c];a==="--path"&&r[c+1]?s=r[++c]:a==="--ui-path"&&r[c+1]?i=r[++c]:a==="--overwrite"?n=!0:a==="--yes"||a==="-y"?o=!0:a.startsWith("--")||l.push(a)}return{adapter:e,components:l,flags:{path:s,uiPath:i,overwrite:n,yes:o}}}function Dr(t){let e=Z.join(t,"components.json");try{return B.accessSync(e),!0}catch{return!1}}function pt(t){let{adapter:e,components:r,flags:s}=Lr(t);if(!e)throw new Error("bit-form add: missing adapter name. Example: bit-form add shadcn input");let i=ut(e);if(!i)throw new Error(`bit-form add: unknown adapter "${e}". Available: ${ht().join(", ")}`);let n=r.length>0?r:i.components;if(n.length===0)throw new Error("bit-form add: specify at least one component or use no arguments to add all.");let o=process.cwd(),l=Z.resolve(o,s.path);i.name==="shadcn"&&!Dr(o)&&console.warn("Warning: components.json not found in project root. Make sure shadcn/ui is initialized (e.g. npx shadcn@latest init) or pass --ui-path to match your setup.");try{B.mkdirSync(l,{recursive:!0})}catch(a){let d=a instanceof Error?a.message:String(a);throw new Error(`bit-form add: could not create output directory: ${d}`,{cause:a})}let c={cwd:o,path:l,uiPath:s.uiPath,overwrite:s.overwrite,yes:s.yes};for(let a of n){let{filename:d,contents:f}=i.renderComponent(a,c),h=Z.join(l,d);if(!s.overwrite&&B.existsSync(h)){console.log(`Skip ${d} (exists; use --overwrite to replace)`);continue}B.writeFileSync(h,f,"utf-8"),console.log(`Created ${d}`)}}var ze=w(require("fs"),1),wr=w(require("http"),1),z=w(require("path"),1);function mt(t){return`
695
+ `}var Ee={input:it,textarea:nt,select:ot,checkbox:at,switch:lt,"radio-group":ct},we=Object.keys(Ee);var dt={name:"shadcn",framework:"react",components:we,renderComponent(t,e){let r=t.toLowerCase().replace(/\s+/g,"-"),s=Ee[r];if(!s)throw new Error(`Unknown shadcn component: ${t}. Available: ${we.join(", ")}`);let i=s(e.uiPath);return{filename:r==="radio-group"?"bit-form-radio-group.tsx":`bit-form-${r}.tsx`,contents:i}}};var ft={shadcn:dt,html:st};function ut(t){return ft[t.toLowerCase()]}function ht(){return Object.keys(ft)}var Lr="@/components/ui";function Fr(t){let e=t[0]??"",r=t.slice(1),s=".",i=Lr,n=!1,o=!1,a=[];for(let c=0;c<r.length;c++){let l=r[c];if(l==="--path"){if(!r[c+1])throw new Error("bit-form add: --path requires a value");s=r[c+1],c++}else if(l==="--ui-path"){if(!r[c+1])throw new Error("bit-form add: --ui-path requires a value");i=r[c+1],c++}else l==="--overwrite"?n=!0:l==="--yes"||l==="-y"?o=!0:l.startsWith("--")||a.push(l)}return{adapter:e,components:a,flags:{path:s,uiPath:i,overwrite:n,yes:o}}}function Dr(t){let e=N.join(t,"components.json");try{return P.accessSync(e),!0}catch{return!1}}function pt(t){let{adapter:e,components:r,flags:s}=Fr(t);if(!e)throw new Error("bit-form add: missing adapter name. Example: bit-form add shadcn input");let i=ut(e);if(!i)throw new Error(`bit-form add: unknown adapter "${e}". Available: ${ht().join(", ")}`);let n=r.length>0?r:i.components;if(n.length===0)throw new Error("bit-form add: specify at least one component or use no arguments to add all.");let o=process.cwd(),a=N.resolve(o,s.path),c=N.relative(o,a);if(c.startsWith("..")||N.isAbsolute(c))throw new Error(`bit-form add: output directory must be inside the project root (resolved: ${a})`);i.name==="shadcn"&&!Dr(o)&&console.warn("Warning: components.json not found in project root. Make sure shadcn/ui is initialized (e.g. npx shadcn@latest init) or pass --ui-path to match your setup.");try{P.mkdirSync(a,{recursive:!0})}catch(d){let f=d instanceof Error?d.message:String(d);throw new Error(`bit-form add: could not create output directory: ${f}`,{cause:d})}let l={cwd:o,path:a,uiPath:s.uiPath,overwrite:s.overwrite,yes:s.yes};for(let d of n){let{filename:f,contents:h}=i.renderComponent(d,l),m=N.join(a,f);if(!s.overwrite&&P.existsSync(m)){console.log(`Skip ${f} (exists; use --overwrite to replace)`);continue}P.writeFileSync(m,h,"utf-8"),console.log(`Created ${f}`)}}var ze=w(require("fs"),1),wr=w(require("http"),1),Y=w(require("path"),1);function mt(t){return`
696
696
  <!DOCTYPE html>
697
697
  <html lang="pt-BR">
698
698
  <head>
@@ -778,7 +778,7 @@ export function BitFormRadioGroup({
778
778
  observer.observe(document.body, { childList: true, subtree: true });
779
779
  </script>
780
780
  </body>
781
- </html>`}var ri=w(dr(),1),si=w(Le(),1),ii=w(Ue(),1),ni=w(ge(),1),He=w(yr(),1);function vr(t){return t.protocolVersion===1}function br(t){if(!t||typeof t!="object")return!1;let e=t;return e.type==="PING"&&vr(e)}function Sr(t){if(!t||typeof t!="object")return!1;let e=t;if(e.type!=="HELLO"||!e.payload||!vr(e))return!1;let r=e.payload;return(r.role==="client"||r.role==="server")&&r.protocolVersion===1}function Er(t){let e=new He.default({server:t});return e.on("connection",r=>{r.on("message",s=>{let i=s.toString();try{let n=JSON.parse(i);if(br(n)||Sr(n))return}catch{}e.clients.forEach(n=>{n!==r&&n.readyState===1&&n.send(i)})})}),e}function Tr(t=3e3){let e=wr.default.createServer((r,s)=>{let i=r.url?.split("?")[0]??"";if(i==="/"||i==="/index.html"){s.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),s.end(mt(t));return}if(i.startsWith("/dist/")){let n=z.default.resolve(__dirname,"..","..","dist"),o=i.slice(6),l;try{l=decodeURIComponent(o)}catch{s.writeHead(400),s.end("Bad Request");return}let c=z.default.resolve(n,l),a=z.default.relative(n,c);if(a.startsWith("..")||z.default.isAbsolute(a)){s.writeHead(403),s.end("Forbidden");return}try{if(ze.default.existsSync(c)){let d=ze.default.readFileSync(c),f=z.default.extname(c),h={".js":"application/javascript",".css":"text/css"};s.writeHead(200,{"Content-Type":h[f]||"text/plain"}),s.end(d)}else s.writeHead(404),s.end("Not Found")}catch{s.writeHead(500),s.end("Internal Error")}return}s.writeHead(404),s.end("Not Found")});Er(e),e.listen(t,()=>{console.log(`\u{1F680} BitForm DevServer rodando em http://localhost:${t}`)})}var Y=process.argv.slice(2),Nr=Y[0];if(Nr==="devtools"){let t=Y.indexOf("-p")!==-1?Y.indexOf("-p"):Y.indexOf("--port"),e=t!==-1?Number(Y[t+1]):3e3;Tr(e)}else if(Nr==="add")try{pt(Y.slice(1))}catch(t){console.error(t.message),process.exit(1)}else console.log(`
781
+ </html>`}var ri=w(dr(),1),si=w(Fe(),1),ii=w(Me(),1),ni=w(ge(),1),He=w(yr(),1);function vr(t){return t.protocolVersion===1}function br(t){if(!t||typeof t!="object")return!1;let e=t;return e.type==="PING"&&vr(e)}function Sr(t){if(!t||typeof t!="object")return!1;let e=t;if(e.type!=="HELLO"||!e.payload||!vr(e))return!1;let r=e.payload;return(r.role==="client"||r.role==="server")&&r.protocolVersion===1}var oi=1*1024*1024,ai=100;function Er(t){let e=new He.default({server:t}),r=new Map;return e.on("connection",s=>{r.set(s,{count:0,resetAt:Date.now()+1e3}),s.on("message",i=>{let n=r.get(s);if(!n||(Date.now()>n.resetAt&&(n.count=0,n.resetAt=Date.now()+1e3),++n.count>ai))return;let o=i.toString();if(!(o.length>oi)){try{let a=JSON.parse(o);if(br(a)||Sr(a))return}catch{return}e.clients.forEach(a=>{a!==s&&a.readyState===1&&a.send(o)})}}),s.on("close",()=>{r.delete(s)})}),e}function Tr(t=3e3){let e=wr.default.createServer((r,s)=>{let i=r.url?.split("?")[0]??"";if(i==="/"||i==="/index.html"){s.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),s.end(mt(t));return}if(i.startsWith("/dist/")){let n=Y.default.resolve(__dirname,"..","..","dist"),o=i.slice(6),a;try{a=decodeURIComponent(o)}catch{s.writeHead(400),s.end("Bad Request");return}let c=Y.default.resolve(n,a),l=Y.default.relative(n,c);if(l.startsWith("..")||Y.default.isAbsolute(l)){s.writeHead(403),s.end("Forbidden");return}try{if(ze.default.existsSync(c)){let d=ze.default.readFileSync(c),f=Y.default.extname(c),h={".js":"application/javascript",".css":"text/css"};s.writeHead(200,{"Content-Type":h[f]||"text/plain"}),s.end(d)}else s.writeHead(404),s.end("Not Found")}catch{s.writeHead(500),s.end("Internal Error")}return}s.writeHead(404),s.end("Not Found")});Er(e),e.listen(t,()=>{console.log(`\u{1F680} BitForm DevServer rodando em http://localhost:${t}`)})}var X=process.argv.slice(2),Nr=X[0];if(Nr==="devtools"){let t=X.indexOf("-p")!==-1?X.indexOf("-p"):X.indexOf("--port"),e=t!==-1?Number(X[t+1]):3e3;Tr(e)}else if(Nr==="add")try{pt(X.slice(1))}catch(t){console.error(t.message),process.exit(1)}else console.log(`
782
782
  \u{1F6E0} Bit-Form CLI
783
783
 
784
784
  Uso:
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkAVUK52JWcjs = require('../chunk-AVUK52JW.cjs');require('../chunk-FTXV2NZO.cjs');var _chunkPFPGASVZcjs = require('../chunk-PFPGASVZ.cjs');exports.cleanupRegisteredField = _chunkAVUK52JWcjs.j; exports.cleanupRegisteredPrefix = _chunkAVUK52JWcjs.k; exports.createArrayBinding = _chunkAVUK52JWcjs.g; exports.createFrameworkFormBinding = _chunkAVUK52JWcjs.i; exports.createFrameworkMaskedFieldBinding = _chunkAVUK52JWcjs.h; exports.formatMaskedValue = _chunkPFPGASVZcjs.b; exports.isBitFieldInputEventObject = _chunkPFPGASVZcjs.a; exports.observeFormMetaSnapshot = _chunkAVUK52JWcjs.c; exports.observePersistMetaSnapshot = _chunkAVUK52JWcjs.f; exports.parseMaskedInput = _chunkPFPGASVZcjs.c; exports.readFormMetaSnapshot = _chunkAVUK52JWcjs.a; exports.readPersistMetaSnapshot = _chunkAVUK52JWcjs.d; exports.subscribeFormMetaSnapshot = _chunkAVUK52JWcjs.b; exports.subscribePersistMetaSnapshot = _chunkAVUK52JWcjs.e;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkEPBSLPRLcjs = require('../chunk-EPBSLPRL.cjs');require('../chunk-CIS3YZSK.cjs');var _chunk725CMNAVcjs = require('../chunk-725CMNAV.cjs');exports.cleanupRegisteredField = _chunkEPBSLPRLcjs.j; exports.cleanupRegisteredPrefix = _chunkEPBSLPRLcjs.k; exports.createArrayBinding = _chunkEPBSLPRLcjs.g; exports.createFrameworkFormBinding = _chunkEPBSLPRLcjs.i; exports.createFrameworkMaskedFieldBinding = _chunkEPBSLPRLcjs.h; exports.formatMaskedValue = _chunk725CMNAVcjs.b; exports.isBitFieldInputEventObject = _chunk725CMNAVcjs.a; exports.observeFormMetaSnapshot = _chunkEPBSLPRLcjs.c; exports.observePersistMetaSnapshot = _chunkEPBSLPRLcjs.f; exports.parseMaskedInput = _chunk725CMNAVcjs.c; exports.readFormMetaSnapshot = _chunkEPBSLPRLcjs.a; exports.readPersistMetaSnapshot = _chunkEPBSLPRLcjs.d; exports.subscribeFormMetaSnapshot = _chunkEPBSLPRLcjs.b; exports.subscribePersistMetaSnapshot = _chunkEPBSLPRLcjs.e;
2
2
  //# sourceMappingURL=bindings.cjs.map
@@ -1,2 +1,2 @@
1
- import{a,b,c,d,e,f,g,h as k,i as l,j as m,k as n}from"../chunk-SYEUXL2E.js";import"../chunk-G3EHXKOS.js";import{a as h,b as i,c as j}from"../chunk-3NUJVIAM.js";export{m as cleanupRegisteredField,n as cleanupRegisteredPrefix,g as createArrayBinding,l as createFrameworkFormBinding,k as createFrameworkMaskedFieldBinding,i as formatMaskedValue,h as isBitFieldInputEventObject,c as observeFormMetaSnapshot,f as observePersistMetaSnapshot,j as parseMaskedInput,a as readFormMetaSnapshot,d as readPersistMetaSnapshot,b as subscribeFormMetaSnapshot,e as subscribePersistMetaSnapshot};
1
+ import{a,b,c,d,e,f,g,h as k,i as l,j as m,k as n}from"../chunk-3WNZPBME.js";import"../chunk-T7TOEIOH.js";import{a as h,b as i,c as j}from"../chunk-DGEGYNQL.js";export{m as cleanupRegisteredField,n as cleanupRegisteredPrefix,g as createArrayBinding,l as createFrameworkFormBinding,k as createFrameworkMaskedFieldBinding,i as formatMaskedValue,h as isBitFieldInputEventObject,c as observeFormMetaSnapshot,f as observePersistMetaSnapshot,j as parseMaskedInput,a as readFormMetaSnapshot,d as readPersistMetaSnapshot,b as subscribeFormMetaSnapshot,e as subscribePersistMetaSnapshot};
2
2
  //# sourceMappingURL=bindings.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkL7EAZ6K6cjs = require('../chunk-L7EAZ6K6.cjs');require('../chunk-RHMJPKNV.cjs');require('../chunk-GKNGJOB3.cjs');require('../chunk-FTXV2NZO.cjs');require('../chunk-WRNR6SXK.cjs');exports.bitBus = _chunkL7EAZ6K6cjs.a; exports.createBitBus = _chunkL7EAZ6K6cjs.b; exports.createBitStore = _chunkL7EAZ6K6cjs.e; exports.createFrameworkStoreAdapter = _chunkL7EAZ6K6cjs.d; exports.extractFeatureSlice = _chunkL7EAZ6K6cjs.i; exports.extractObserveSlice = _chunkL7EAZ6K6cjs.g; exports.extractReadSlice = _chunkL7EAZ6K6cjs.f; exports.extractSlices = _chunkL7EAZ6K6cjs.j; exports.extractWriteSlice = _chunkL7EAZ6K6cjs.h; exports.resolveBitStoreForHooks = _chunkL7EAZ6K6cjs.c;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkTLUCO2ZNcjs = require('../chunk-TLUCO2ZN.cjs');require('../chunk-RHMJPKNV.cjs');require('../chunk-7IO2KLSJ.cjs');require('../chunk-CIS3YZSK.cjs');require('../chunk-3CPIJF3Z.cjs');exports.bitBus = _chunkTLUCO2ZNcjs.a; exports.createBitBus = _chunkTLUCO2ZNcjs.b; exports.createBitStore = _chunkTLUCO2ZNcjs.e; exports.createFrameworkStoreAdapter = _chunkTLUCO2ZNcjs.d; exports.extractFeatureSlice = _chunkTLUCO2ZNcjs.i; exports.extractObserveSlice = _chunkTLUCO2ZNcjs.g; exports.extractReadSlice = _chunkTLUCO2ZNcjs.f; exports.extractSlices = _chunkTLUCO2ZNcjs.j; exports.extractWriteSlice = _chunkTLUCO2ZNcjs.h; exports.resolveBitStoreForHooks = _chunkTLUCO2ZNcjs.c;
2
2
  //# sourceMappingURL=store.cjs.map
@@ -1,2 +1,2 @@
1
- import{a,b,c,d,e,f,g,h,i,j}from"../chunk-LIHWJJIM.js";import"../chunk-UIKO6GGW.js";import"../chunk-HE6EQZTH.js";import"../chunk-G3EHXKOS.js";import"../chunk-QCKCONCU.js";export{a as bitBus,b as createBitBus,e as createBitStore,d as createFrameworkStoreAdapter,i as extractFeatureSlice,g as extractObserveSlice,f as extractReadSlice,j as extractSlices,h as extractWriteSlice,c as resolveBitStoreForHooks};
1
+ import{a,b,c,d,e,f,g,h,i,j}from"../chunk-B45EMB4Q.js";import"../chunk-UIKO6GGW.js";import"../chunk-AJUX7LYB.js";import"../chunk-T7TOEIOH.js";import"../chunk-32RH5MSM.js";export{a as bitBus,b as createBitBus,e as createBitStore,d as createFrameworkStoreAdapter,i as extractFeatureSlice,g as extractObserveSlice,f as extractReadSlice,j as extractSlices,h as extractWriteSlice,c as resolveBitStoreForHooks};
2
2
  //# sourceMappingURL=store.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk3KI3GEU3cjs = require('../chunk-3KI3GEU3.cjs');var _chunkGKNGJOB3cjs = require('../chunk-GKNGJOB3.cjs');var _chunkFTXV2NZOcjs = require('../chunk-FTXV2NZO.cjs');exports.areFieldSnapshotsEqual = _chunkGKNGJOB3cjs.b; exports.cleanPrefixedKeys = _chunkFTXV2NZOcjs.j; exports.createFieldStateSnapshot = _chunkGKNGJOB3cjs.a; exports.deepClone = _chunkFTXV2NZOcjs.a; exports.deepEqual = _chunkFTXV2NZOcjs.d; exports.deepMerge = _chunkFTXV2NZOcjs.b; exports.deriveFieldMeta = _chunk3KI3GEU3cjs.a; exports.extractServerErrors = _chunkFTXV2NZOcjs.n; exports.getDeepValue = _chunkFTXV2NZOcjs.f; exports.isValidationErrorShape = _chunkFTXV2NZOcjs.m; exports.setDeepValue = _chunkFTXV2NZOcjs.g; exports.valueEqual = _chunkFTXV2NZOcjs.c;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk3KI3GEU3cjs = require('../chunk-3KI3GEU3.cjs');var _chunk7IO2KLSJcjs = require('../chunk-7IO2KLSJ.cjs');var _chunkCIS3YZSKcjs = require('../chunk-CIS3YZSK.cjs');exports.areFieldSnapshotsEqual = _chunk7IO2KLSJcjs.b; exports.cleanPrefixedKeys = _chunkCIS3YZSKcjs.j; exports.createFieldStateSnapshot = _chunk7IO2KLSJcjs.a; exports.deepClone = _chunkCIS3YZSKcjs.a; exports.deepEqual = _chunkCIS3YZSKcjs.d; exports.deepMerge = _chunkCIS3YZSKcjs.b; exports.deriveFieldMeta = _chunk3KI3GEU3cjs.a; exports.extractServerErrors = _chunkCIS3YZSKcjs.n; exports.getDeepValue = _chunkCIS3YZSKcjs.f; exports.isValidationErrorShape = _chunkCIS3YZSKcjs.m; exports.setDeepValue = _chunkCIS3YZSKcjs.g; exports.valueEqual = _chunkCIS3YZSKcjs.c;
2
2
  //# sourceMappingURL=utils.cjs.map
@@ -1,2 +1,2 @@
1
- import{a as l}from"../chunk-ICYXODTQ.js";import{a as j,b as k}from"../chunk-HE6EQZTH.js";import{a,b,c,d,f as e,g as f,j as g,m as h,n as i}from"../chunk-G3EHXKOS.js";export{k as areFieldSnapshotsEqual,g as cleanPrefixedKeys,j as createFieldStateSnapshot,a as deepClone,d as deepEqual,b as deepMerge,l as deriveFieldMeta,i as extractServerErrors,e as getDeepValue,h as isValidationErrorShape,f as setDeepValue,c as valueEqual};
1
+ import{a as l}from"../chunk-ICYXODTQ.js";import{a as j,b as k}from"../chunk-AJUX7LYB.js";import{a,b,c,d,f as e,g as f,j as g,m as h,n as i}from"../chunk-T7TOEIOH.js";export{k as areFieldSnapshotsEqual,g as cleanPrefixedKeys,j as createFieldStateSnapshot,a as deepClone,d as deepEqual,b as deepMerge,l as deriveFieldMeta,i as extractServerErrors,e as getDeepValue,h as isValidationErrorShape,f as setDeepValue,c as valueEqual};
2
2
  //# sourceMappingURL=utils.js.map
package/dist/core.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-W5CLDRRE.cjs');var _chunkL7EAZ6K6cjs = require('./chunk-L7EAZ6K6.cjs');var _chunkAVUK52JWcjs = require('./chunk-AVUK52JW.cjs');var _chunkBSGJ3T5Scjs = require('./chunk-BSGJ3T5S.cjs');var _chunkRHMJPKNVcjs = require('./chunk-RHMJPKNV.cjs');var _chunk3KI3GEU3cjs = require('./chunk-3KI3GEU3.cjs');var _chunkGKNGJOB3cjs = require('./chunk-GKNGJOB3.cjs');var _chunkFTXV2NZOcjs = require('./chunk-FTXV2NZO.cjs');require('./chunk-WRNR6SXK.cjs');var _chunkPFPGASVZcjs = require('./chunk-PFPGASVZ.cjs');exports.areFieldSnapshotsEqual = _chunkGKNGJOB3cjs.b; exports.areScopeErrorsEqual = _chunkRHMJPKNVcjs.a; exports.bitBus = _chunkL7EAZ6K6cjs.a; exports.cleanPrefixedKeys = _chunkFTXV2NZOcjs.j; exports.cleanupRegisteredField = _chunkAVUK52JWcjs.j; exports.cleanupRegisteredPrefix = _chunkAVUK52JWcjs.k; exports.createArrayBinding = _chunkAVUK52JWcjs.g; exports.createBitBus = _chunkL7EAZ6K6cjs.b; exports.createBitStore = _chunkL7EAZ6K6cjs.e; exports.createFieldStateSnapshot = _chunkGKNGJOB3cjs.a; exports.createFrameworkFormBinding = _chunkAVUK52JWcjs.i; exports.createFrameworkMaskedFieldBinding = _chunkAVUK52JWcjs.h; exports.createFrameworkStoreAdapter = _chunkL7EAZ6K6cjs.d; exports.deepClone = _chunkFTXV2NZOcjs.a; exports.deepEqual = _chunkFTXV2NZOcjs.d; exports.deepMerge = _chunkFTXV2NZOcjs.b; exports.deriveFieldMeta = _chunk3KI3GEU3cjs.a; exports.extractFeatureSlice = _chunkL7EAZ6K6cjs.i; exports.extractObserveSlice = _chunkL7EAZ6K6cjs.g; exports.extractReadSlice = _chunkL7EAZ6K6cjs.f; exports.extractServerErrors = _chunkFTXV2NZOcjs.n; exports.extractSlices = _chunkL7EAZ6K6cjs.j; exports.extractWriteSlice = _chunkL7EAZ6K6cjs.h; exports.formatMaskedValue = _chunkPFPGASVZcjs.b; exports.getDeepValue = _chunkFTXV2NZOcjs.f; exports.getScopeSubscriptionPaths = _chunkRHMJPKNVcjs.c; exports.isBitFieldInputEventObject = _chunkPFPGASVZcjs.a; exports.isHistoryMetaEqual = _chunkRHMJPKNVcjs.e; exports.isScopeStatusEqual = _chunkRHMJPKNVcjs.b; exports.isValidationErrorShape = _chunkFTXV2NZOcjs.m; exports.observeFormMetaSnapshot = _chunkAVUK52JWcjs.c; exports.observeHistoryMetaSnapshot = _chunkRHMJPKNVcjs.g; exports.observePersistMetaSnapshot = _chunkAVUK52JWcjs.f; exports.observeScopeStatusSnapshot = _chunkBSGJ3T5Scjs.a; exports.parseMaskedInput = _chunkPFPGASVZcjs.c; exports.readFormMetaSnapshot = _chunkAVUK52JWcjs.a; exports.readHistoryMetaSnapshot = _chunkRHMJPKNVcjs.f; exports.readPersistMetaSnapshot = _chunkAVUK52JWcjs.d; exports.resolveBitStoreForHooks = _chunkL7EAZ6K6cjs.c; exports.setDeepValue = _chunkFTXV2NZOcjs.g; exports.subscribeFormMetaSnapshot = _chunkAVUK52JWcjs.b; exports.subscribePersistMetaSnapshot = _chunkAVUK52JWcjs.e; exports.valueEqual = _chunkFTXV2NZOcjs.c;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-W5CLDRRE.cjs');var _chunkTLUCO2ZNcjs = require('./chunk-TLUCO2ZN.cjs');var _chunkEPBSLPRLcjs = require('./chunk-EPBSLPRL.cjs');var _chunkBSGJ3T5Scjs = require('./chunk-BSGJ3T5S.cjs');var _chunkRHMJPKNVcjs = require('./chunk-RHMJPKNV.cjs');var _chunk3KI3GEU3cjs = require('./chunk-3KI3GEU3.cjs');var _chunk7IO2KLSJcjs = require('./chunk-7IO2KLSJ.cjs');var _chunkCIS3YZSKcjs = require('./chunk-CIS3YZSK.cjs');require('./chunk-3CPIJF3Z.cjs');var _chunk725CMNAVcjs = require('./chunk-725CMNAV.cjs');exports.areFieldSnapshotsEqual = _chunk7IO2KLSJcjs.b; exports.areScopeErrorsEqual = _chunkRHMJPKNVcjs.a; exports.bitBus = _chunkTLUCO2ZNcjs.a; exports.cleanPrefixedKeys = _chunkCIS3YZSKcjs.j; exports.cleanupRegisteredField = _chunkEPBSLPRLcjs.j; exports.cleanupRegisteredPrefix = _chunkEPBSLPRLcjs.k; exports.createArrayBinding = _chunkEPBSLPRLcjs.g; exports.createBitBus = _chunkTLUCO2ZNcjs.b; exports.createBitStore = _chunkTLUCO2ZNcjs.e; exports.createFieldStateSnapshot = _chunk7IO2KLSJcjs.a; exports.createFrameworkFormBinding = _chunkEPBSLPRLcjs.i; exports.createFrameworkMaskedFieldBinding = _chunkEPBSLPRLcjs.h; exports.createFrameworkStoreAdapter = _chunkTLUCO2ZNcjs.d; exports.deepClone = _chunkCIS3YZSKcjs.a; exports.deepEqual = _chunkCIS3YZSKcjs.d; exports.deepMerge = _chunkCIS3YZSKcjs.b; exports.deriveFieldMeta = _chunk3KI3GEU3cjs.a; exports.extractFeatureSlice = _chunkTLUCO2ZNcjs.i; exports.extractObserveSlice = _chunkTLUCO2ZNcjs.g; exports.extractReadSlice = _chunkTLUCO2ZNcjs.f; exports.extractServerErrors = _chunkCIS3YZSKcjs.n; exports.extractSlices = _chunkTLUCO2ZNcjs.j; exports.extractWriteSlice = _chunkTLUCO2ZNcjs.h; exports.formatMaskedValue = _chunk725CMNAVcjs.b; exports.getDeepValue = _chunkCIS3YZSKcjs.f; exports.getScopeSubscriptionPaths = _chunkRHMJPKNVcjs.c; exports.isBitFieldInputEventObject = _chunk725CMNAVcjs.a; exports.isHistoryMetaEqual = _chunkRHMJPKNVcjs.e; exports.isScopeStatusEqual = _chunkRHMJPKNVcjs.b; exports.isValidationErrorShape = _chunkCIS3YZSKcjs.m; exports.observeFormMetaSnapshot = _chunkEPBSLPRLcjs.c; exports.observeHistoryMetaSnapshot = _chunkRHMJPKNVcjs.g; exports.observePersistMetaSnapshot = _chunkEPBSLPRLcjs.f; exports.observeScopeStatusSnapshot = _chunkBSGJ3T5Scjs.a; exports.parseMaskedInput = _chunk725CMNAVcjs.c; exports.readFormMetaSnapshot = _chunkEPBSLPRLcjs.a; exports.readHistoryMetaSnapshot = _chunkRHMJPKNVcjs.f; exports.readPersistMetaSnapshot = _chunkEPBSLPRLcjs.d; exports.resolveBitStoreForHooks = _chunkTLUCO2ZNcjs.c; exports.setDeepValue = _chunkCIS3YZSKcjs.g; exports.subscribeFormMetaSnapshot = _chunkEPBSLPRLcjs.b; exports.subscribePersistMetaSnapshot = _chunkEPBSLPRLcjs.e; exports.valueEqual = _chunkCIS3YZSKcjs.c;
2
2
  //# sourceMappingURL=core.cjs.map
package/dist/core.js CHANGED
@@ -1,2 +1,2 @@
1
- import"./chunk-5NA2TFPG.js";import{a as j,b as k,c as t,d as u,e as v,f as w,g as x,h as y,i as z,j as A}from"./chunk-LIHWJJIM.js";import{a as B,b as C,c as D,d as E,e as F,f as G,g as H,h as L,i as M,j as N,k as O}from"./chunk-SYEUXL2E.js";import{a as P}from"./chunk-W2E5UIXT.js";import{a as l,b as m,c as n,e as o,f as p,g as q}from"./chunk-UIKO6GGW.js";import{a as Q}from"./chunk-ICYXODTQ.js";import{a as r,b as s}from"./chunk-HE6EQZTH.js";import{a,b,c,d,f as e,g as f,j as g,m as h,n as i}from"./chunk-G3EHXKOS.js";import"./chunk-QCKCONCU.js";import{a as I,b as J,c as K}from"./chunk-3NUJVIAM.js";export{s as areFieldSnapshotsEqual,l as areScopeErrorsEqual,j as bitBus,g as cleanPrefixedKeys,N as cleanupRegisteredField,O as cleanupRegisteredPrefix,H as createArrayBinding,k as createBitBus,v as createBitStore,r as createFieldStateSnapshot,M as createFrameworkFormBinding,L as createFrameworkMaskedFieldBinding,u as createFrameworkStoreAdapter,a as deepClone,d as deepEqual,b as deepMerge,Q as deriveFieldMeta,z as extractFeatureSlice,x as extractObserveSlice,w as extractReadSlice,i as extractServerErrors,A as extractSlices,y as extractWriteSlice,J as formatMaskedValue,e as getDeepValue,n as getScopeSubscriptionPaths,I as isBitFieldInputEventObject,o as isHistoryMetaEqual,m as isScopeStatusEqual,h as isValidationErrorShape,D as observeFormMetaSnapshot,q as observeHistoryMetaSnapshot,G as observePersistMetaSnapshot,P as observeScopeStatusSnapshot,K as parseMaskedInput,B as readFormMetaSnapshot,p as readHistoryMetaSnapshot,E as readPersistMetaSnapshot,t as resolveBitStoreForHooks,f as setDeepValue,C as subscribeFormMetaSnapshot,F as subscribePersistMetaSnapshot,c as valueEqual};
1
+ import"./chunk-5NA2TFPG.js";import{a as j,b as k,c as t,d as u,e as v,f as w,g as x,h as y,i as z,j as A}from"./chunk-B45EMB4Q.js";import{a as B,b as C,c as D,d as E,e as F,f as G,g as H,h as L,i as M,j as N,k as O}from"./chunk-3WNZPBME.js";import{a as P}from"./chunk-W2E5UIXT.js";import{a as l,b as m,c as n,e as o,f as p,g as q}from"./chunk-UIKO6GGW.js";import{a as Q}from"./chunk-ICYXODTQ.js";import{a as r,b as s}from"./chunk-AJUX7LYB.js";import{a,b,c,d,f as e,g as f,j as g,m as h,n as i}from"./chunk-T7TOEIOH.js";import"./chunk-32RH5MSM.js";import{a as I,b as J,c as K}from"./chunk-DGEGYNQL.js";export{s as areFieldSnapshotsEqual,l as areScopeErrorsEqual,j as bitBus,g as cleanPrefixedKeys,N as cleanupRegisteredField,O as cleanupRegisteredPrefix,H as createArrayBinding,k as createBitBus,v as createBitStore,r as createFieldStateSnapshot,M as createFrameworkFormBinding,L as createFrameworkMaskedFieldBinding,u as createFrameworkStoreAdapter,a as deepClone,d as deepEqual,b as deepMerge,Q as deriveFieldMeta,z as extractFeatureSlice,x as extractObserveSlice,w as extractReadSlice,i as extractServerErrors,A as extractSlices,y as extractWriteSlice,J as formatMaskedValue,e as getDeepValue,n as getScopeSubscriptionPaths,I as isBitFieldInputEventObject,o as isHistoryMetaEqual,m as isScopeStatusEqual,h as isValidationErrorShape,D as observeFormMetaSnapshot,q as observeHistoryMetaSnapshot,G as observePersistMetaSnapshot,P as observeScopeStatusSnapshot,K as parseMaskedInput,B as readFormMetaSnapshot,p as readHistoryMetaSnapshot,E as readPersistMetaSnapshot,t as resolveBitStoreForHooks,f as setDeepValue,C as subscribeFormMetaSnapshot,F as subscribePersistMetaSnapshot,c as valueEqual};
2
2
  //# sourceMappingURL=core.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkP5YQ62YNcjs = require('../chunk-P5YQ62YN.cjs');require('../chunk-QKGTVKBU.cjs');require('../chunk-W5CLDRRE.cjs');require('../chunk-L7EAZ6K6.cjs');require('../chunk-AVUK52JW.cjs');require('../chunk-BSGJ3T5S.cjs');require('../chunk-RHMJPKNV.cjs');require('../chunk-3KI3GEU3.cjs');require('../chunk-GKNGJOB3.cjs');require('../chunk-FTXV2NZO.cjs');require('../chunk-WRNR6SXK.cjs');require('../chunk-PFPGASVZ.cjs');exports.setupRemoteBridge = _chunkP5YQ62YNcjs.c;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk33TGLA5Dcjs = require('../chunk-33TGLA5D.cjs');require('../chunk-QKGTVKBU.cjs');require('../chunk-W5CLDRRE.cjs');require('../chunk-TLUCO2ZN.cjs');require('../chunk-EPBSLPRL.cjs');require('../chunk-BSGJ3T5S.cjs');require('../chunk-RHMJPKNV.cjs');require('../chunk-3KI3GEU3.cjs');require('../chunk-7IO2KLSJ.cjs');require('../chunk-CIS3YZSK.cjs');require('../chunk-3CPIJF3Z.cjs');require('../chunk-725CMNAV.cjs');exports.setupRemoteBridge = _chunk33TGLA5Dcjs.c;
2
2
  //# sourceMappingURL=bridge.cjs.map
@@ -1,2 +1,2 @@
1
- import{c as a}from"../chunk-YO4TZ6N6.js";import"../chunk-K5X37E3U.js";import"../chunk-5NA2TFPG.js";import"../chunk-LIHWJJIM.js";import"../chunk-SYEUXL2E.js";import"../chunk-W2E5UIXT.js";import"../chunk-UIKO6GGW.js";import"../chunk-ICYXODTQ.js";import"../chunk-HE6EQZTH.js";import"../chunk-G3EHXKOS.js";import"../chunk-QCKCONCU.js";import"../chunk-3NUJVIAM.js";export{a as setupRemoteBridge};
1
+ import{c as a}from"../chunk-Y34N5TWV.js";import"../chunk-K5X37E3U.js";import"../chunk-5NA2TFPG.js";import"../chunk-B45EMB4Q.js";import"../chunk-3WNZPBME.js";import"../chunk-W2E5UIXT.js";import"../chunk-UIKO6GGW.js";import"../chunk-ICYXODTQ.js";import"../chunk-AJUX7LYB.js";import"../chunk-T7TOEIOH.js";import"../chunk-32RH5MSM.js";import"../chunk-DGEGYNQL.js";export{a as setupRemoteBridge};
2
2
  //# sourceMappingURL=bridge.js.map
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class;var _chunkP5YQ62YNcjs = require('../chunk-P5YQ62YN.cjs');var _chunkQKGTVKBUcjs = require('../chunk-QKGTVKBU.cjs');require('../chunk-W5CLDRRE.cjs');var _chunkL7EAZ6K6cjs = require('../chunk-L7EAZ6K6.cjs');require('../chunk-AVUK52JW.cjs');require('../chunk-BSGJ3T5S.cjs');require('../chunk-RHMJPKNV.cjs');require('../chunk-3KI3GEU3.cjs');require('../chunk-GKNGJOB3.cjs');require('../chunk-FTXV2NZO.cjs');require('../chunk-WRNR6SXK.cjs');require('../chunk-PFPGASVZ.cjs');function x(){return`
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class;var _chunk33TGLA5Dcjs = require('../chunk-33TGLA5D.cjs');var _chunkQKGTVKBUcjs = require('../chunk-QKGTVKBU.cjs');require('../chunk-W5CLDRRE.cjs');var _chunkTLUCO2ZNcjs = require('../chunk-TLUCO2ZN.cjs');require('../chunk-EPBSLPRL.cjs');require('../chunk-BSGJ3T5S.cjs');require('../chunk-RHMJPKNV.cjs');require('../chunk-3KI3GEU3.cjs');require('../chunk-7IO2KLSJ.cjs');require('../chunk-CIS3YZSK.cjs');require('../chunk-3CPIJF3Z.cjs');require('../chunk-725CMNAV.cjs');function y(){return`
2
2
  .bit-devtools-container {
3
3
  position: fixed;
4
4
  bottom: 20px;
@@ -86,16 +86,16 @@
86
86
 
87
87
  pre.bit-pre { background: #020617; padding: 10px; border-radius: 4px; font-size: 11px; overflow-x: auto; border: 1px solid #1e293b; margin: 0; color: #e2e8f0; }
88
88
  pre.bit-error-box { background: rgba(239, 68, 68, 0.05); padding: 10px; border-radius: 4px; font-size: 11px; border: 1px dashed #ef4444; color: #fca5a5; margin: 0; overflow-x: auto; }
89
- `}var d= (_class =class{__init() {this.currentStoresState={}}__init2() {this.isOpen=!1}constructor(r,i){;_class.prototype.__init.call(this);_class.prototype.__init2.call(this);if(this.container=r,this.actions=i,!document.getElementById("bit-devtools-styles")){let t=document.createElement("style");t.id="bit-devtools-styles",t.textContent=x(),document.head.appendChild(t)}this.rootElement=document.createElement("div"),this.rootElement.className="bit-devtools-container",this.container.appendChild(this.rootElement),this.rootElement.addEventListener("click",t=>{let e=t.target;if(e.closest(".bit-devtools-trigger")){this.isOpen=!this.isOpen,this.render();return}let o=e.closest(".bit-action-btn");if(o&&!o.hasAttribute("disabled")){let a=o.getAttribute("data-action"),s=o.getAttribute("data-store");a&&s&&(a==="undo"&&this.actions.onUndo(s),a==="redo"&&this.actions.onRedo(s),a==="reset"&&this.actions.onReset(s))}})}updateState(r){this.currentStoresState=r,this.render()}render(){let r=Object.entries(this.currentStoresState);if(r.length===0){this.rootElement.innerHTML="";return}let i="";if(this.isOpen){i=`
89
+ `}function b(r){return r.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function T(r){try{return JSON.stringify(r,null,2)}catch (e2){return"[Unserializable]"}}var d= (_class =class{__init() {this.currentStoresState={}}__init2() {this.isOpen=!1}constructor(n,i){;_class.prototype.__init.call(this);_class.prototype.__init2.call(this);if(this.container=n,this.actions=i,!document.getElementById("bit-devtools-styles")){let t=document.createElement("style");t.id="bit-devtools-styles",t.textContent=y(),document.head.appendChild(t)}this.rootElement=document.createElement("div"),this.rootElement.className="bit-devtools-container",this.container.appendChild(this.rootElement),this.rootElement.addEventListener("click",t=>{let e=t.target;if(e.closest(".bit-devtools-trigger")){this.isOpen=!this.isOpen,this.render();return}let o=e.closest(".bit-action-btn");if(o&&!o.hasAttribute("disabled")){let a=o.getAttribute("data-action"),s=o.getAttribute("data-store");a&&s&&(a==="undo"&&this.actions.onUndo(s),a==="redo"&&this.actions.onRedo(s),a==="reset"&&this.actions.onReset(s))}})}updateState(n){this.currentStoresState=n,this.render()}render(){let n=Object.entries(this.currentStoresState);if(n.length===0){this.rootElement.innerHTML="";return}let i="";if(this.isOpen){i=`
90
90
  <div class="bit-devtools-panel">
91
91
  <div class="bit-devtools-header">
92
92
  <h2><span style="font-size: 20px;">\u{1F6E0}</span> Bit-Form DevTools</h2>
93
93
  <span style="font-size: 11px; color: #64748b;">v1.0.0</span>
94
94
  </div>
95
- `;for(let[e,o]of r){let a=Object.keys(o.errors||{}).length>0,s=o._meta||{totalSteps:0,currentIndex:-1,canUndo:!1,canRedo:!1},l=s.currentIndex+1,m=s.totalSteps;i+=`
95
+ `;for(let[e,o]of n){let a=Object.keys(o.errors||{}).length>0,s=o._meta||{totalSteps:0,currentIndex:-1,canUndo:!1,canRedo:!1},l=s.currentIndex+1,m=s.totalSteps;i+=`
96
96
  <div class="bit-store-block">
97
97
  <div class="bit-store-header">
98
- <h3 class="bit-store-title">${e}</h3>
98
+ <h3 class="bit-store-title">${b(e)}</h3>
99
99
  <div class="bit-badge-group">
100
100
  <span class="bit-badge ${o.isValid?"badge-success":"badge-error"}">
101
101
  ${o.isValid?"\u2713 Valid":"\u2715 Invalid"}
@@ -108,26 +108,26 @@
108
108
  <span class="bit-section-title">Time Travel (${l}/${m})</span>
109
109
 
110
110
  <div class="bit-controls">
111
- <button class="bit-action-btn" data-action="undo" data-store="${e}" ${s.canUndo?"":"disabled"}>
111
+ <button class="bit-action-btn" data-action="undo" data-store="${b(e)}" ${s.canUndo?"":"disabled"}>
112
112
  <span>\u21BA</span> Undo
113
113
  </button>
114
- <button class="bit-action-btn" data-action="redo" data-store="${e}" ${s.canRedo?"":"disabled"}>
114
+ <button class="bit-action-btn" data-action="redo" data-store="${b(e)}" ${s.canRedo?"":"disabled"}>
115
115
  <span>\u21BB</span> Redo
116
116
  </button>
117
- <button class="bit-action-btn bit-btn-reset" data-action="reset" data-store="${e}">
117
+ <button class="bit-action-btn bit-btn-reset" data-action="reset" data-store="${b(e)}">
118
118
  <span>\u{1F5D1}</span> Reset
119
119
  </button>
120
120
  </div>
121
121
  `,a&&(i+=`
122
122
  <span class="bit-section-title" style="color: #f87171;">\u26A0\uFE0F Validations Failing</span>
123
- <pre class="bit-error-box">${JSON.stringify(o.errors,null,2)}</pre>
123
+ <pre class="bit-error-box">${T(o.errors)}</pre>
124
124
  `),i+=`
125
125
  <span class="bit-section-title">Values</span>
126
- <pre class="bit-pre">${JSON.stringify(o.values,null,2)}</pre>
126
+ <pre class="bit-pre">${T(o.values)}</pre>
127
127
  </div>
128
128
  `}i+="</div>"}let t=`
129
129
  <button class="bit-devtools-trigger" style="transform: ${this.isOpen?"scale(0.9)":"scale(1)"};" title="Abrir DevTools">
130
130
  ${this.isOpen?"\u2716":"Bit"}
131
131
  </button>
132
- `;this.rootElement.innerHTML=i+t}}, _class);function y(n,r=_chunkL7EAZ6K6cjs.a){let i=new d(n,{onUndo:o=>_optionalChain([_chunkP5YQ62YNcjs.b.call(void 0, r.stores,o), 'optionalAccess', _ => _.undo, 'call', _2 => _2()]),onRedo:o=>_optionalChain([_chunkP5YQ62YNcjs.b.call(void 0, r.stores,o), 'optionalAccess', _3 => _3.redo, 'call', _4 => _4()]),onReset:o=>_optionalChain([_chunkP5YQ62YNcjs.b.call(void 0, r.stores,o), 'optionalAccess', _5 => _5.reset, 'call', _6 => _6()])}),t=()=>_chunkP5YQ62YNcjs.a.call(void 0, r.stores);i.updateState(t());let e=r.subscribe(()=>{i.updateState(t())});return{ui:i,destroy:()=>{e(),n.innerHTML=""}}}function T(n,r="ws://localhost:3000",i){let t=new WebSocket(r),e=s=>{t.readyState===WebSocket.OPEN?t.send(JSON.stringify(s)):console.warn("[bit-form] Tentativa de envio falhou. WebSocket n\xE3o est\xE1 aberto.")},o=(s,l)=>{e({type:"ACTION",protocolVersion:1,payload:{storeId:s,action:l}})},a=new d(n,{onUndo:s=>o(s,"undo"),onRedo:s=>o(s,"redo"),onReset:s=>o(s,"reset")});return t.addEventListener("open",()=>{e({type:"HELLO",protocolVersion:1,payload:{role:"client",protocolVersion:1}}),console.log(`[bit-form] Conectado ao DevTools remoto em ${r}`)}),t.addEventListener("message",s=>{try{let l=JSON.parse(s.data);_chunkQKGTVKBUcjs.d.call(void 0, l)&&a.updateState(l.payload)}catch(l){console.error("[bit-form] Erro ao processar mensagem do WebSocket:",l)}}),t.addEventListener("error",s=>{console.error("[bit-form] Erro na conex\xE3o do DevTools remoto:",s)}),{ui:a,destroy:()=>{(t.readyState===WebSocket.OPEN||t.readyState===WebSocket.CONNECTING)&&t.close(),n.innerHTML=""}}}function b(n={}){let{mode:r="local",url:i,bus:t}=n,e,o=!1;if(typeof n.container=="string"){let s=document.querySelector(n.container);if(!s)throw new Error(`[bit-form] Container '${n.container}' n\xE3o encontrado na p\xE1gina.`);e=s}else n.container instanceof HTMLElement?e=n.container:(e=document.createElement("div"),e.id="bit-form-devtools-root",e.style.position="fixed",e.style.bottom="20px",e.style.right="20px",e.style.zIndex="9999",e.style.maxHeight="80vh",e.style.overflowY="auto",e.style.boxShadow="0 10px 25px rgba(0,0,0,0.1)",document.body.appendChild(e),o=!0);let a;if(r==="local")console.log("[bit-form] DevTools iniciado em modo Local."),a=y(e,t);else if(r==="remote")console.log("[bit-form] DevTools iniciado em modo Remote."),a=T(e,i,t);else throw new Error(`[bit-form] Modo DevTools inv\xE1lido: ${r}`);return{...a,destroy:()=>{a&&typeof a.destroy=="function"&&a.destroy(),o&&e.parentNode?e.parentNode.removeChild(e):e.innerHTML=""}}}function h(n){return typeof n=="boolean"?{enabled:n,mode:"local"}:{enabled:!!n,mode:_nullishCoalesce(_optionalChain([n, 'optionalAccess', _7 => _7.mode]), () => ("local")),url:_optionalChain([n, 'optionalAccess', _8 => _8.url])}}function D(n){return{name:"bit-devtools",setup:r=>{let i=h(_nullishCoalesce(n, () => (r.getConfig().devTools)));if(!i.enabled)return;let t=null,e=r.getConfig().bus;try{if(i.mode==="remote")t=_chunkP5YQ62YNcjs.c.call(void 0, i.url||"ws://localhost:3000",e);else{let o=b({bus:e});t=o&&typeof o.destroy=="function"?o.destroy:null}}catch (e2){}return()=>{t&&(t(),t=null)}}}}exports.DEVTOOLS_PROTOCOL_VERSION = _chunkQKGTVKBUcjs.a; exports.createDevToolsPlugin = D; exports.initDevTools = b;
132
+ `;this.rootElement.innerHTML=i+t}}, _class);function h(r,n=_chunkTLUCO2ZNcjs.a){let i=new d(r,{onUndo:o=>_optionalChain([_chunk33TGLA5Dcjs.b.call(void 0, n.stores,o), 'optionalAccess', _ => _.undo, 'call', _2 => _2()]),onRedo:o=>_optionalChain([_chunk33TGLA5Dcjs.b.call(void 0, n.stores,o), 'optionalAccess', _3 => _3.redo, 'call', _4 => _4()]),onReset:o=>_optionalChain([_chunk33TGLA5Dcjs.b.call(void 0, n.stores,o), 'optionalAccess', _5 => _5.reset, 'call', _6 => _6()])}),t=()=>_chunk33TGLA5Dcjs.a.call(void 0, n.stores);i.updateState(t());let e=n.subscribe(()=>{i.updateState(t())});return{ui:i,destroy:()=>{e(),r.innerHTML=""}}}function D(r,n="ws://localhost:3000",i){let t=new WebSocket(n),e=s=>{t.readyState===WebSocket.OPEN?t.send(JSON.stringify(s)):console.warn("[bit-form] Tentativa de envio falhou. WebSocket n\xE3o est\xE1 aberto.")},o=(s,l)=>{e({type:"ACTION",protocolVersion:1,payload:{storeId:s,action:l}})},a=new d(r,{onUndo:s=>o(s,"undo"),onRedo:s=>o(s,"redo"),onReset:s=>o(s,"reset")});return t.addEventListener("open",()=>{e({type:"HELLO",protocolVersion:1,payload:{role:"client",protocolVersion:1}}),console.log(`[bit-form] Conectado ao DevTools remoto em ${n}`)}),t.addEventListener("message",s=>{try{let l=JSON.parse(s.data);_chunkQKGTVKBUcjs.d.call(void 0, l)&&a.updateState(l.payload)}catch(l){console.error("[bit-form] Erro ao processar mensagem do WebSocket:",l)}}),t.addEventListener("error",s=>{console.error("[bit-form] Erro na conex\xE3o do DevTools remoto:",s)}),{ui:a,destroy:()=>{(t.readyState===WebSocket.OPEN||t.readyState===WebSocket.CONNECTING)&&t.close(),r.innerHTML=""}}}function f(r={}){let{mode:n="local",url:i,bus:t}=r,e,o=!1;if(typeof r.container=="string"){let s=document.querySelector(r.container);if(!s)throw new Error(`[bit-form] Container '${r.container}' n\xE3o encontrado na p\xE1gina.`);e=s}else r.container instanceof HTMLElement?e=r.container:(e=document.createElement("div"),e.id="bit-form-devtools-root",e.style.position="fixed",e.style.bottom="20px",e.style.right="20px",e.style.zIndex="9999",e.style.maxHeight="80vh",e.style.overflowY="auto",e.style.boxShadow="0 10px 25px rgba(0,0,0,0.1)",document.body.appendChild(e),o=!0);let a;if(n==="local")console.log("[bit-form] DevTools iniciado em modo Local."),a=h(e,t);else if(n==="remote")console.log("[bit-form] DevTools iniciado em modo Remote."),a=D(e,i,t);else throw new Error(`[bit-form] Modo DevTools inv\xE1lido: ${n}`);return{...a,destroy:()=>{a&&typeof a.destroy=="function"&&a.destroy(),o&&e.parentNode?e.parentNode.removeChild(e):e.innerHTML=""}}}function S(r){return typeof r=="boolean"?{enabled:r,mode:"local"}:{enabled:!!r,mode:_nullishCoalesce(_optionalChain([r, 'optionalAccess', _7 => _7.mode]), () => ("local")),url:_optionalChain([r, 'optionalAccess', _8 => _8.url])}}function E(){return typeof process<"u"&&typeof process.env<"u"&&process.env.NODE_ENV==="production"?!0:(typeof process<"u"&&typeof process.env<"u"&&process.env.VITEST==="true",!1)}function O(r){return{name:"bit-devtools",setup:n=>{let i=S(_nullishCoalesce(r, () => (n.getConfig().devTools)));if(!i.enabled||E()&&r!==!0)return;let t=null,e=n.getConfig().bus;try{if(i.mode==="remote")t=_chunk33TGLA5Dcjs.c.call(void 0, i.url||"ws://localhost:3000",e);else{let o=f({bus:e});t=o&&typeof o.destroy=="function"?o.destroy:null}}catch (e3){}return()=>{t&&(t(),t=null)}}}}exports.DEVTOOLS_PROTOCOL_VERSION = _chunkQKGTVKBUcjs.a; exports.createDevToolsPlugin = O; exports.initDevTools = f;
133
133
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/devtools/index.cjs","../../src/devtools/ui/styles.ts","../../src/devtools/ui/index.ts","../../src/devtools/adapters/local.ts","../../src/devtools/adapters/remote.ts"],"names":["getDevToolsCSS","BitFormDevToolsUI","container","actions","style","e","target","btn","action","storeId","storesState","storeEntries","panelHtml","id","state","hasErrors","meta","currentStep","totalSteps","triggerHtml","setupLocalDevTools","bus","bitBus","ui","getDevToolsActionableStore","getFullSnapshot","createDevToolsSnapshotMap","unsubscribe","setupRemoteDevTools","url","_bus","socket","sendMessage","message","sendAction"],"mappings":"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","file":"/home/runner/work/bit-form/bit-form/dist/devtools/index.cjs","sourcesContent":[null,"export function getDevToolsCSS(): string {\n return `\n .bit-devtools-container {\n position: fixed;\n bottom: 20px;\n right: 20px;\n z-index: 9999;\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n }\n\n .bit-devtools-trigger {\n background: #10b981;\n color: #fff;\n border: none;\n border-radius: 50%;\n width: 48px;\n height: 48px;\n cursor: pointer;\n box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4);\n font-weight: bold;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: transform 0.2s;\n font-size: 16px;\n margin-top: 16px;\n }\n .bit-devtools-trigger:hover { transform: scale(1.05); }\n\n .bit-devtools-panel {\n width: 450px;\n max-height: 80vh;\n background: #0f172a;\n color: #f8fafc;\n border-radius: 8px;\n padding: 16px;\n overflow-y: auto;\n box-shadow: 0 20px 25px -5px rgba(0,0,0,0.5), 0 8px 10px -6px rgba(0,0,0,0.5);\n border: 1px solid #334155;\n display: flex;\n flex-direction: column;\n gap: 16px;\n }\n\n .bit-devtools-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding-bottom: 12px;\n border-bottom: 1px solid #1e293b;\n }\n .bit-devtools-header h2 { margin: 0; font-size: 16px; display: flex; align-items: center; gap: 8px; }\n\n .bit-store-block {\n background: #1e293b;\n border-radius: 6px;\n padding: 12px;\n border: 1px solid #334155;\n }\n\n .bit-store-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 12px;\n }\n .bit-store-title { margin: 0; color: #38bdf8; font-size: 14px; font-weight: bold; }\n\n .bit-badge-group { display: flex; gap: 6px; flex-wrap: wrap; }\n .bit-badge { font-size: 10px; padding: 2px 6px; border-radius: 4px; text-transform: uppercase; font-weight: bold; }\n .badge-success { background: rgba(16, 185, 129, 0.2); color: #34d399; border: 1px solid rgba(16, 185, 129, 0.2); }\n .badge-error { background: rgba(239, 68, 68, 0.2); color: #f87171; border: 1px solid rgba(239, 68, 68, 0.2); }\n .badge-warn { background: rgba(245, 158, 11, 0.2); color: #fbbf24; border: 1px solid rgba(245, 158, 11, 0.2); }\n .badge-info { background: rgba(56, 189, 248, 0.2); color: #7dd3fc; border: 1px solid rgba(56, 189, 248, 0.2); }\n\n .bit-section-title { font-size: 11px; color: #94a3b8; text-transform: uppercase; letter-spacing: 1px; margin: 12px 0 4px 0; display: block; }\n\n .bit-controls { display: flex; gap: 6px; margin-bottom: 12px; background: #0f172a; padding: 8px; border-radius: 6px; }\n .bit-action-btn { flex: 1; background: #334155; color: #e2e8f0; border: 1px solid #475569; padding: 6px 0; border-radius: 4px; cursor: pointer; font-size: 11px; display: flex; align-items: center; justify-content: center; gap: 4px; transition: all 0.2s; }\n .bit-action-btn:hover:not(:disabled) { background: #475569; }\n .bit-action-btn:disabled { opacity: 0.5; cursor: not-allowed; }\n .bit-btn-reset { color: #fca5a5; border-color: rgba(239,68,68,0.3); }\n .bit-btn-reset:hover { background: rgba(239,68,68,0.1) !important; }\n\n pre.bit-pre { background: #020617; padding: 10px; border-radius: 4px; font-size: 11px; overflow-x: auto; border: 1px solid #1e293b; margin: 0; color: #e2e8f0; }\n pre.bit-error-box { background: rgba(239, 68, 68, 0.05); padding: 10px; border-radius: 4px; font-size: 11px; border: 1px dashed #ef4444; color: #fca5a5; margin: 0; overflow-x: auto; }\n `;\n}\n","import { getDevToolsCSS } from \"./styles\";\nimport type { DevToolsActions } from \"../types\";\nimport type { DevToolsStoreSnapshots } from \"../protocol\";\n\nexport type { DevToolsActions };\n\nexport class BitFormDevToolsUI {\n private container: HTMLElement;\n private actions: DevToolsActions;\n private rootElement: HTMLDivElement;\n private currentStoresState: DevToolsStoreSnapshots = {};\n private isOpen = false;\n\n constructor(container: HTMLElement, actions: DevToolsActions) {\n this.container = container;\n this.actions = actions;\n\n if (!document.getElementById(\"bit-devtools-styles\")) {\n const style = document.createElement(\"style\");\n style.id = \"bit-devtools-styles\";\n style.textContent = getDevToolsCSS();\n document.head.appendChild(style);\n }\n\n this.rootElement = document.createElement(\"div\");\n this.rootElement.className = \"bit-devtools-container\";\n this.container.appendChild(this.rootElement);\n\n this.rootElement.addEventListener(\"click\", (e) => {\n const target = e.target as HTMLElement;\n\n // Evento do botão flutuante\n if (target.closest(\".bit-devtools-trigger\")) {\n this.isOpen = !this.isOpen;\n this.render();\n return;\n }\n\n // Eventos dos botões de ação\n const btn = target.closest(\".bit-action-btn\");\n if (btn && !btn.hasAttribute(\"disabled\")) {\n const action = btn.getAttribute(\"data-action\");\n const storeId = btn.getAttribute(\"data-store\");\n\n if (action && storeId) {\n if (action === \"undo\") this.actions.onUndo(storeId);\n if (action === \"redo\") this.actions.onRedo(storeId);\n if (action === \"reset\") this.actions.onReset(storeId);\n }\n }\n });\n }\n\n public updateState(storesState: DevToolsStoreSnapshots) {\n this.currentStoresState = storesState;\n this.render();\n }\n\n private render() {\n const storeEntries = Object.entries(this.currentStoresState);\n if (storeEntries.length === 0) {\n this.rootElement.innerHTML = \"\";\n return;\n }\n\n let panelHtml = \"\";\n\n if (this.isOpen) {\n panelHtml = `\n <div class=\"bit-devtools-panel\">\n <div class=\"bit-devtools-header\">\n <h2><span style=\"font-size: 20px;\">🛠</span> Bit-Form DevTools</h2>\n <span style=\"font-size: 11px; color: #64748b;\">v1.0.0</span>\n </div>\n `;\n\n for (const [id, state] of storeEntries) {\n const hasErrors = Object.keys(state.errors || {}).length > 0;\n\n // Lemos os metadados do histórico que o adaptador injetou\n const meta = state._meta || {\n totalSteps: 0,\n currentIndex: -1,\n canUndo: false,\n canRedo: false,\n };\n const currentStep = meta.currentIndex + 1;\n const totalSteps = meta.totalSteps;\n\n panelHtml += `\n <div class=\"bit-store-block\">\n <div class=\"bit-store-header\">\n <h3 class=\"bit-store-title\">${id}</h3>\n <div class=\"bit-badge-group\">\n <span class=\"bit-badge ${state.isValid ? \"badge-success\" : \"badge-error\"}\">\n ${state.isValid ? \"✓ Valid\" : \"✕ Invalid\"}\n </span>\n ${state.isDirty ? `<span class=\"bit-badge badge-warn\">Dirty</span>` : \"\"}\n ${state.isSubmitting ? `<span class=\"bit-badge badge-info\">⏳ Submitting</span>` : \"\"}\n </div>\n </div>\n\n <span class=\"bit-section-title\">Time Travel (${currentStep}/${totalSteps})</span>\n \n <div class=\"bit-controls\">\n <button class=\"bit-action-btn\" data-action=\"undo\" data-store=\"${id}\" ${meta.canUndo ? \"\" : \"disabled\"}>\n <span>↺</span> Undo\n </button>\n <button class=\"bit-action-btn\" data-action=\"redo\" data-store=\"${id}\" ${meta.canRedo ? \"\" : \"disabled\"}>\n <span>↻</span> Redo\n </button>\n <button class=\"bit-action-btn bit-btn-reset\" data-action=\"reset\" data-store=\"${id}\">\n <span>🗑</span> Reset\n </button>\n </div>\n `;\n\n if (hasErrors) {\n panelHtml += `\n <span class=\"bit-section-title\" style=\"color: #f87171;\">⚠️ Validations Failing</span>\n <pre class=\"bit-error-box\">${JSON.stringify(state.errors, null, 2)}</pre>\n `;\n }\n\n panelHtml += `\n <span class=\"bit-section-title\">Values</span>\n <pre class=\"bit-pre\">${JSON.stringify(state.values, null, 2)}</pre>\n </div>\n `;\n }\n\n panelHtml += `</div>`;\n }\n\n // Botão Flutuante (sempre renderizado)\n const triggerHtml = `\n <button class=\"bit-devtools-trigger\" style=\"transform: ${this.isOpen ? \"scale(0.9)\" : \"scale(1)\"};\" title=\"Abrir DevTools\">\n ${this.isOpen ? \"✖\" : \"Bit\"}\n </button>\n `;\n\n this.rootElement.innerHTML = panelHtml + triggerHtml;\n }\n}\n","import { bitBus } from \"../../core\";\nimport type { BitBus } from \"../../core\";\nimport { BitFormDevToolsUI } from \"../ui\";\nimport { createDevToolsSnapshotMap } from \"../store-snapshot\";\nimport { getDevToolsActionableStore } from \"../store-port\";\n\nexport function setupLocalDevTools(\n container: HTMLElement,\n bus: BitBus = bitBus,\n) {\n const ui = new BitFormDevToolsUI(container, {\n onUndo: (id) => getDevToolsActionableStore(bus.stores, id)?.undo(),\n onRedo: (id) => getDevToolsActionableStore(bus.stores, id)?.redo(),\n onReset: (id) => getDevToolsActionableStore(bus.stores, id)?.reset(),\n });\n\n const getFullSnapshot = () => createDevToolsSnapshotMap(bus.stores);\n\n ui.updateState(getFullSnapshot());\n\n const unsubscribe = bus.subscribe(() => {\n ui.updateState(getFullSnapshot());\n });\n\n return {\n ui,\n destroy: () => {\n unsubscribe();\n container.innerHTML = \"\";\n },\n };\n}\n","import { BitFormDevToolsUI } from \"../ui\";\nimport type { BitBus } from \"../../core\";\nimport type {\n DevToolsHelloMessage,\n DevToolsActionMessage,\n DevToolsActionName,\n DevToolsRemoteMessage,\n} from \"../types\";\nimport {\n DEVTOOLS_PROTOCOL_VERSION,\n isDevToolsStateUpdateMessage,\n} from \"../protocol\";\n\nexport function setupRemoteDevTools(\n container: HTMLElement,\n url: string = \"ws://localhost:3000\",\n _bus?: BitBus,\n) {\n const socket = new WebSocket(url);\n\n const sendMessage = (message: DevToolsRemoteMessage) => {\n if (socket.readyState === WebSocket.OPEN) {\n socket.send(JSON.stringify(message));\n } else {\n console.warn(\n \"[bit-form] Tentativa de envio falhou. WebSocket não está aberto.\",\n );\n }\n };\n\n const sendAction = (storeId: string, action: DevToolsActionName) => {\n const message: DevToolsActionMessage = {\n type: \"ACTION\",\n protocolVersion: DEVTOOLS_PROTOCOL_VERSION,\n payload: { storeId, action },\n };\n sendMessage(message);\n };\n\n const ui = new BitFormDevToolsUI(container, {\n onUndo: (id) => sendAction(id, \"undo\"),\n onRedo: (id) => sendAction(id, \"redo\"),\n onReset: (id) => sendAction(id, \"reset\"),\n });\n\n socket.addEventListener(\"open\", () => {\n const helloMessage: DevToolsHelloMessage = {\n type: \"HELLO\",\n protocolVersion: DEVTOOLS_PROTOCOL_VERSION,\n payload: { role: \"client\", protocolVersion: DEVTOOLS_PROTOCOL_VERSION },\n };\n\n sendMessage(helloMessage);\n console.log(`[bit-form] Conectado ao DevTools remoto em ${url}`);\n });\n\n socket.addEventListener(\"message\", (msg: MessageEvent) => {\n try {\n const data = JSON.parse(msg.data) as DevToolsRemoteMessage;\n if (isDevToolsStateUpdateMessage(data)) {\n ui.updateState(data.payload);\n }\n } catch (e) {\n console.error(\"[bit-form] Erro ao processar mensagem do WebSocket:\", e);\n }\n });\n\n socket.addEventListener(\"error\", (err) => {\n console.error(\"[bit-form] Erro na conexão do DevTools remoto:\", err);\n });\n\n return {\n ui,\n destroy: () => {\n if (\n socket.readyState === WebSocket.OPEN ||\n socket.readyState === WebSocket.CONNECTING\n ) {\n socket.close();\n }\n container.innerHTML = \"\";\n },\n };\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/bit-form/bit-form/dist/devtools/index.cjs","../../src/devtools/ui/styles.ts","../../src/devtools/ui/index.ts","../../src/devtools/adapters/local.ts","../../src/devtools/adapters/remote.ts"],"names":["getDevToolsCSS","escapeHtml","str","safeJsonStringify","value","BitFormDevToolsUI","container","actions","style","e","target","btn","action","storeId","storesState","storeEntries","panelHtml","id","state","hasErrors","meta","currentStep","totalSteps","triggerHtml","setupLocalDevTools","bus","bitBus","ui","getDevToolsActionableStore","getFullSnapshot","createDevToolsSnapshotMap","unsubscribe","setupRemoteDevTools","url","_bus","socket","sendMessage","message","sendAction"],"mappings":"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","file":"/home/runner/work/bit-form/bit-form/dist/devtools/index.cjs","sourcesContent":[null,"export function getDevToolsCSS(): string {\n return `\n .bit-devtools-container {\n position: fixed;\n bottom: 20px;\n right: 20px;\n z-index: 9999;\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n }\n\n .bit-devtools-trigger {\n background: #10b981;\n color: #fff;\n border: none;\n border-radius: 50%;\n width: 48px;\n height: 48px;\n cursor: pointer;\n box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4);\n font-weight: bold;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: transform 0.2s;\n font-size: 16px;\n margin-top: 16px;\n }\n .bit-devtools-trigger:hover { transform: scale(1.05); }\n\n .bit-devtools-panel {\n width: 450px;\n max-height: 80vh;\n background: #0f172a;\n color: #f8fafc;\n border-radius: 8px;\n padding: 16px;\n overflow-y: auto;\n box-shadow: 0 20px 25px -5px rgba(0,0,0,0.5), 0 8px 10px -6px rgba(0,0,0,0.5);\n border: 1px solid #334155;\n display: flex;\n flex-direction: column;\n gap: 16px;\n }\n\n .bit-devtools-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding-bottom: 12px;\n border-bottom: 1px solid #1e293b;\n }\n .bit-devtools-header h2 { margin: 0; font-size: 16px; display: flex; align-items: center; gap: 8px; }\n\n .bit-store-block {\n background: #1e293b;\n border-radius: 6px;\n padding: 12px;\n border: 1px solid #334155;\n }\n\n .bit-store-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 12px;\n }\n .bit-store-title { margin: 0; color: #38bdf8; font-size: 14px; font-weight: bold; }\n\n .bit-badge-group { display: flex; gap: 6px; flex-wrap: wrap; }\n .bit-badge { font-size: 10px; padding: 2px 6px; border-radius: 4px; text-transform: uppercase; font-weight: bold; }\n .badge-success { background: rgba(16, 185, 129, 0.2); color: #34d399; border: 1px solid rgba(16, 185, 129, 0.2); }\n .badge-error { background: rgba(239, 68, 68, 0.2); color: #f87171; border: 1px solid rgba(239, 68, 68, 0.2); }\n .badge-warn { background: rgba(245, 158, 11, 0.2); color: #fbbf24; border: 1px solid rgba(245, 158, 11, 0.2); }\n .badge-info { background: rgba(56, 189, 248, 0.2); color: #7dd3fc; border: 1px solid rgba(56, 189, 248, 0.2); }\n\n .bit-section-title { font-size: 11px; color: #94a3b8; text-transform: uppercase; letter-spacing: 1px; margin: 12px 0 4px 0; display: block; }\n\n .bit-controls { display: flex; gap: 6px; margin-bottom: 12px; background: #0f172a; padding: 8px; border-radius: 6px; }\n .bit-action-btn { flex: 1; background: #334155; color: #e2e8f0; border: 1px solid #475569; padding: 6px 0; border-radius: 4px; cursor: pointer; font-size: 11px; display: flex; align-items: center; justify-content: center; gap: 4px; transition: all 0.2s; }\n .bit-action-btn:hover:not(:disabled) { background: #475569; }\n .bit-action-btn:disabled { opacity: 0.5; cursor: not-allowed; }\n .bit-btn-reset { color: #fca5a5; border-color: rgba(239,68,68,0.3); }\n .bit-btn-reset:hover { background: rgba(239,68,68,0.1) !important; }\n\n pre.bit-pre { background: #020617; padding: 10px; border-radius: 4px; font-size: 11px; overflow-x: auto; border: 1px solid #1e293b; margin: 0; color: #e2e8f0; }\n pre.bit-error-box { background: rgba(239, 68, 68, 0.05); padding: 10px; border-radius: 4px; font-size: 11px; border: 1px dashed #ef4444; color: #fca5a5; margin: 0; overflow-x: auto; }\n `;\n}\n","import { getDevToolsCSS } from \"./styles\";\nimport type { DevToolsActions } from \"../types\";\nimport type { DevToolsStoreSnapshots } from \"../protocol\";\n\nexport type { DevToolsActions };\n\nfunction escapeHtml(str: string): string {\n return str\n .replace(/&/g, \"&amp;\")\n .replace(/\"/g, \"&quot;\")\n .replace(/</g, \"&lt;\")\n .replace(/>/g, \"&gt;\");\n}\n\nfunction safeJsonStringify(value: unknown): string {\n try {\n return JSON.stringify(value, null, 2);\n } catch {\n return \"[Unserializable]\";\n }\n}\n\nexport class BitFormDevToolsUI {\n private container: HTMLElement;\n private actions: DevToolsActions;\n private rootElement: HTMLDivElement;\n private currentStoresState: DevToolsStoreSnapshots = {};\n private isOpen = false;\n\n constructor(container: HTMLElement, actions: DevToolsActions) {\n this.container = container;\n this.actions = actions;\n\n if (!document.getElementById(\"bit-devtools-styles\")) {\n const style = document.createElement(\"style\");\n style.id = \"bit-devtools-styles\";\n style.textContent = getDevToolsCSS();\n document.head.appendChild(style);\n }\n\n this.rootElement = document.createElement(\"div\");\n this.rootElement.className = \"bit-devtools-container\";\n this.container.appendChild(this.rootElement);\n\n this.rootElement.addEventListener(\"click\", (e) => {\n const target = e.target as HTMLElement;\n\n // Evento do botão flutuante\n if (target.closest(\".bit-devtools-trigger\")) {\n this.isOpen = !this.isOpen;\n this.render();\n return;\n }\n\n // Eventos dos botões de ação\n const btn = target.closest(\".bit-action-btn\");\n if (btn && !btn.hasAttribute(\"disabled\")) {\n const action = btn.getAttribute(\"data-action\");\n const storeId = btn.getAttribute(\"data-store\");\n\n if (action && storeId) {\n if (action === \"undo\") this.actions.onUndo(storeId);\n if (action === \"redo\") this.actions.onRedo(storeId);\n if (action === \"reset\") this.actions.onReset(storeId);\n }\n }\n });\n }\n\n public updateState(storesState: DevToolsStoreSnapshots) {\n this.currentStoresState = storesState;\n this.render();\n }\n\n private render() {\n const storeEntries = Object.entries(this.currentStoresState);\n if (storeEntries.length === 0) {\n this.rootElement.innerHTML = \"\";\n return;\n }\n\n let panelHtml = \"\";\n\n if (this.isOpen) {\n panelHtml = `\n <div class=\"bit-devtools-panel\">\n <div class=\"bit-devtools-header\">\n <h2><span style=\"font-size: 20px;\">🛠</span> Bit-Form DevTools</h2>\n <span style=\"font-size: 11px; color: #64748b;\">v1.0.0</span>\n </div>\n `;\n\n for (const [id, state] of storeEntries) {\n const hasErrors = Object.keys(state.errors || {}).length > 0;\n\n // Lemos os metadados do histórico que o adaptador injetou\n const meta = state._meta || {\n totalSteps: 0,\n currentIndex: -1,\n canUndo: false,\n canRedo: false,\n };\n const currentStep = meta.currentIndex + 1;\n const totalSteps = meta.totalSteps;\n\n panelHtml += `\n <div class=\"bit-store-block\">\n <div class=\"bit-store-header\">\n <h3 class=\"bit-store-title\">${escapeHtml(id)}</h3>\n <div class=\"bit-badge-group\">\n <span class=\"bit-badge ${state.isValid ? \"badge-success\" : \"badge-error\"}\">\n ${state.isValid ? \"✓ Valid\" : \"✕ Invalid\"}\n </span>\n ${state.isDirty ? `<span class=\"bit-badge badge-warn\">Dirty</span>` : \"\"}\n ${state.isSubmitting ? `<span class=\"bit-badge badge-info\">⏳ Submitting</span>` : \"\"}\n </div>\n </div>\n\n <span class=\"bit-section-title\">Time Travel (${currentStep}/${totalSteps})</span>\n \n <div class=\"bit-controls\">\n <button class=\"bit-action-btn\" data-action=\"undo\" data-store=\"${escapeHtml(id)}\" ${meta.canUndo ? \"\" : \"disabled\"}>\n <span>↺</span> Undo\n </button>\n <button class=\"bit-action-btn\" data-action=\"redo\" data-store=\"${escapeHtml(id)}\" ${meta.canRedo ? \"\" : \"disabled\"}>\n <span>↻</span> Redo\n </button>\n <button class=\"bit-action-btn bit-btn-reset\" data-action=\"reset\" data-store=\"${escapeHtml(id)}\">\n <span>🗑</span> Reset\n </button>\n </div>\n `;\n\n if (hasErrors) {\n panelHtml += `\n <span class=\"bit-section-title\" style=\"color: #f87171;\">⚠️ Validations Failing</span>\n <pre class=\"bit-error-box\">${safeJsonStringify(state.errors)}</pre>\n `;\n }\n\n panelHtml += `\n <span class=\"bit-section-title\">Values</span>\n <pre class=\"bit-pre\">${safeJsonStringify(state.values)}</pre>\n </div>\n `;\n }\n\n panelHtml += `</div>`;\n }\n\n // Botão Flutuante (sempre renderizado)\n const triggerHtml = `\n <button class=\"bit-devtools-trigger\" style=\"transform: ${this.isOpen ? \"scale(0.9)\" : \"scale(1)\"};\" title=\"Abrir DevTools\">\n ${this.isOpen ? \"✖\" : \"Bit\"}\n </button>\n `;\n\n this.rootElement.innerHTML = panelHtml + triggerHtml;\n }\n}\n","import { bitBus } from \"../../core\";\nimport type { BitBus } from \"../../core\";\nimport { BitFormDevToolsUI } from \"../ui\";\nimport { createDevToolsSnapshotMap } from \"../store-snapshot\";\nimport { getDevToolsActionableStore } from \"../store-port\";\n\nexport function setupLocalDevTools(\n container: HTMLElement,\n bus: BitBus = bitBus,\n) {\n const ui = new BitFormDevToolsUI(container, {\n onUndo: (id) => getDevToolsActionableStore(bus.stores, id)?.undo(),\n onRedo: (id) => getDevToolsActionableStore(bus.stores, id)?.redo(),\n onReset: (id) => getDevToolsActionableStore(bus.stores, id)?.reset(),\n });\n\n const getFullSnapshot = () => createDevToolsSnapshotMap(bus.stores);\n\n ui.updateState(getFullSnapshot());\n\n const unsubscribe = bus.subscribe(() => {\n ui.updateState(getFullSnapshot());\n });\n\n return {\n ui,\n destroy: () => {\n unsubscribe();\n container.innerHTML = \"\";\n },\n };\n}\n","import { BitFormDevToolsUI } from \"../ui\";\nimport type { BitBus } from \"../../core\";\nimport type {\n DevToolsHelloMessage,\n DevToolsActionMessage,\n DevToolsActionName,\n DevToolsRemoteMessage,\n} from \"../types\";\nimport {\n DEVTOOLS_PROTOCOL_VERSION,\n isDevToolsStateUpdateMessage,\n} from \"../protocol\";\n\nexport function setupRemoteDevTools(\n container: HTMLElement,\n url: string = \"ws://localhost:3000\",\n _bus?: BitBus,\n) {\n const socket = new WebSocket(url);\n\n const sendMessage = (message: DevToolsRemoteMessage) => {\n if (socket.readyState === WebSocket.OPEN) {\n socket.send(JSON.stringify(message));\n } else {\n console.warn(\n \"[bit-form] Tentativa de envio falhou. WebSocket não está aberto.\",\n );\n }\n };\n\n const sendAction = (storeId: string, action: DevToolsActionName) => {\n const message: DevToolsActionMessage = {\n type: \"ACTION\",\n protocolVersion: DEVTOOLS_PROTOCOL_VERSION,\n payload: { storeId, action },\n };\n sendMessage(message);\n };\n\n const ui = new BitFormDevToolsUI(container, {\n onUndo: (id) => sendAction(id, \"undo\"),\n onRedo: (id) => sendAction(id, \"redo\"),\n onReset: (id) => sendAction(id, \"reset\"),\n });\n\n socket.addEventListener(\"open\", () => {\n const helloMessage: DevToolsHelloMessage = {\n type: \"HELLO\",\n protocolVersion: DEVTOOLS_PROTOCOL_VERSION,\n payload: { role: \"client\", protocolVersion: DEVTOOLS_PROTOCOL_VERSION },\n };\n\n sendMessage(helloMessage);\n console.log(`[bit-form] Conectado ao DevTools remoto em ${url}`);\n });\n\n socket.addEventListener(\"message\", (msg: MessageEvent) => {\n try {\n const data = JSON.parse(msg.data) as DevToolsRemoteMessage;\n if (isDevToolsStateUpdateMessage(data)) {\n ui.updateState(data.payload);\n }\n } catch (e) {\n console.error(\"[bit-form] Erro ao processar mensagem do WebSocket:\", e);\n }\n });\n\n socket.addEventListener(\"error\", (err) => {\n console.error(\"[bit-form] Erro na conexão do DevTools remoto:\", err);\n });\n\n return {\n ui,\n destroy: () => {\n if (\n socket.readyState === WebSocket.OPEN ||\n socket.readyState === WebSocket.CONNECTING\n ) {\n socket.close();\n }\n container.innerHTML = \"\";\n },\n };\n}\n"]}