dreamer 0.0.0-alpha-20251205081620 → 0.0.0-alpha-20251205162826

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 (2) hide show
  1. package/dist/index.js +1 -1
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -629,7 +629,7 @@ Option 2: Install and provide the "ws" package:
629
629
  })`);throw Error(`WebSocket not available: ${J}`)}this._setupConnectionHandlers()}endpointURL(){return this._appendParams(this.endPoint,Object.assign({},this.params,{vsn:v92}))}disconnect(Z,J){if(this.isDisconnecting())return;if(this._setConnectionState("disconnecting",!0),this.conn){let H=setTimeout(()=>{this._setConnectionState("disconnected")},100);if(this.conn.onclose=()=>{clearTimeout(H),this._setConnectionState("disconnected")},Z)this.conn.close(Z,J!==null&&J!==void 0?J:"");else this.conn.close();this._teardownConnection()}else this._setConnectionState("disconnected")}getChannels(){return this.channels}async removeChannel(Z){let J=await Z.unsubscribe();if(this.channels.length===0)this.disconnect();return J}async removeAllChannels(){let Z=await Promise.all(this.channels.map((J)=>J.unsubscribe()));return this.channels=[],this.disconnect(),Z}log(Z,J,H){this.logger(Z,J,H)}connectionState(){switch(this.conn&&this.conn.readyState){case zb.connecting:return Aj.Connecting;case zb.open:return Aj.Open;case zb.closing:return Aj.Closing;default:return Aj.Closed}}isConnected(){return this.connectionState()===Aj.Open}isConnecting(){return this._connectionState==="connecting"}isDisconnecting(){return this._connectionState==="disconnecting"}channel(Z,J={config:{}}){let H=`realtime:${Z}`,G=this.getChannels().find((N)=>N.topic===H);if(!G){let N=new Vb(`realtime:${Z}`,J,this);return this.channels.push(N),N}else return G}push(Z){let{topic:J,event:H,payload:G,ref:N}=Z,F=()=>{this.encode(Z,(C)=>{var _;(_=this.conn)===null||_===void 0||_.send(C)})};if(this.log("push",`${J} ${H} (${N})`,G),this.isConnected())F();else this.sendBuffer.push(F)}async setAuth(Z=null){this._authPromise=this._performAuth(Z);try{await this._authPromise}finally{this._authPromise=null}}async sendHeartbeat(){var Z;if(!this.isConnected()){this.heartbeatCallback("disconnected");return}if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.log("transport","heartbeat timeout. Attempting to re-establish connection"),this.heartbeatCallback("timeout"),this._wasManualDisconnect=!1,(Z=this.conn)===null||Z===void 0||Z.close(m92,"heartbeat timeout"),setTimeout(()=>{var J;if(!this.isConnected())(J=this.reconnectTimer)===null||J===void 0||J.scheduleTimeout()},r71.HEARTBEAT_TIMEOUT_FALLBACK);return}this.pendingHeartbeatRef=this._makeRef(),this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:this.pendingHeartbeatRef}),this.heartbeatCallback("sent"),this._setAuthSafely("heartbeat")}onHeartbeat(Z){this.heartbeatCallback=Z}flushSendBuffer(){if(this.isConnected()&&this.sendBuffer.length>0)this.sendBuffer.forEach((Z)=>Z()),this.sendBuffer=[]}_makeRef(){let Z=this.ref+1;if(Z===this.ref)this.ref=0;else this.ref=Z;return this.ref.toString()}_leaveOpenTopic(Z){let J=this.channels.find((H)=>H.topic===Z&&(H._isJoined()||H._isJoining()));if(J)this.log("transport",`leaving duplicate topic "${Z}"`),J.unsubscribe()}_remove(Z){this.channels=this.channels.filter((J)=>J.topic!==Z.topic)}_onConnMessage(Z){this.decode(Z.data,(J)=>{if(J.topic==="phoenix"&&J.event==="phx_reply")this.heartbeatCallback(J.payload.status==="ok"?"ok":"error");if(J.ref&&J.ref===this.pendingHeartbeatRef)this.pendingHeartbeatRef=null;let{topic:H,event:G,payload:N,ref:F}=J,C=F?`(${F})`:"",_=N.status||"";this.log("receive",`${_} ${H} ${G} ${C}`.trim(),N),this.channels.filter((m)=>m._isMember(H)).forEach((m)=>m._trigger(G,N,F)),this._triggerStateCallbacks("message",J)})}_clearTimer(Z){var J;if(Z==="heartbeat"&&this.heartbeatTimer)clearInterval(this.heartbeatTimer),this.heartbeatTimer=void 0;else if(Z==="reconnect")(J=this.reconnectTimer)===null||J===void 0||J.reset()}_clearAllTimers(){this._clearTimer("heartbeat"),this._clearTimer("reconnect")}_setupConnectionHandlers(){if(!this.conn)return;if("binaryType"in this.conn)this.conn.binaryType="arraybuffer";this.conn.onopen=()=>this._onConnOpen(),this.conn.onerror=(Z)=>this._onConnError(Z),this.conn.onmessage=(Z)=>this._onConnMessage(Z),this.conn.onclose=(Z)=>this._onConnClose(Z)}_teardownConnection(){if(this.conn)this.conn.onopen=null,this.conn.onerror=null,this.conn.onmessage=null,this.conn.onclose=null,this.conn=null;this._clearAllTimers(),this.channels.forEach((Z)=>Z.teardown())}_onConnOpen(){if(this._setConnectionState("connected"),this.log("transport",`connected to ${this.endpointURL()}`),this.flushSendBuffer(),this._clearTimer("reconnect"),!this.worker)this._startHeartbeat();else if(!this.workerRef)this._startWorkerHeartbeat();this._triggerStateCallbacks("open")}_startHeartbeat(){this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.heartbeatTimer=setInterval(()=>this.sendHeartbeat(),this.heartbeatIntervalMs)}_startWorkerHeartbeat(){if(this.workerUrl)this.log("worker",`starting worker for from ${this.workerUrl}`);else this.log("worker","starting default worker");let Z=this._workerObjectUrl(this.workerUrl);this.workerRef=new Worker(Z),this.workerRef.onerror=(J)=>{this.log("worker","worker error",J.message),this.workerRef.terminate()},this.workerRef.onmessage=(J)=>{if(J.data.event==="keepAlive")this.sendHeartbeat()},this.workerRef.postMessage({event:"start",interval:this.heartbeatIntervalMs})}_onConnClose(Z){var J;if(this._setConnectionState("disconnected"),this.log("transport","close",Z),this._triggerChanError(),this._clearTimer("heartbeat"),!this._wasManualDisconnect)(J=this.reconnectTimer)===null||J===void 0||J.scheduleTimeout();this._triggerStateCallbacks("close",Z)}_onConnError(Z){this._setConnectionState("disconnected"),this.log("transport",`${Z}`),this._triggerChanError(),this._triggerStateCallbacks("error",Z)}_triggerChanError(){this.channels.forEach((Z)=>Z._trigger(FN.error))}_appendParams(Z,J){if(Object.keys(J).length===0)return Z;let H=Z.match(/\?/)?"&":"?",G=new URLSearchParams(J);return`${Z}${H}${G}`}_workerObjectUrl(Z){let J;if(Z)J=Z;else{let H=new Blob([JZ4],{type:"application/javascript"});J=URL.createObjectURL(H)}return J}_setConnectionState(Z,J=!1){if(this._connectionState=Z,Z==="connecting")this._wasManualDisconnect=!1;else if(Z==="disconnecting")this._wasManualDisconnect=J}async _performAuth(Z=null){let J;if(Z)J=Z;else if(this.accessToken)J=await this.accessToken();else J=this.accessTokenValue;if(this.accessTokenValue!=J)this.accessTokenValue=J,this.channels.forEach((H)=>{let G={access_token:J,version:f92};if(J&&H.updateJoinPayload(G),H.joinedOnce&&H._isJoined())H._push(FN.access_token,{access_token:J})})}async _waitForAuthIfNeeded(){if(this._authPromise)await this._authPromise}_setAuthSafely(Z="general"){this.setAuth().catch((J)=>{this.log("error",`error setting auth in ${Z}`,J)})}_triggerStateCallbacks(Z,J){try{this.stateChangeCallbacks[Z].forEach((H)=>{try{H(J)}catch(G){this.log("error",`error in ${Z} callback`,G)}})}catch(H){this.log("error",`error triggering ${Z} callbacks`,H)}}_setupReconnectionTimer(){this.reconnectTimer=new qb(async()=>{setTimeout(async()=>{if(await this._waitForAuthIfNeeded(),!this.isConnected())this.connect()},r71.RECONNECT_DELAY)},this.reconnectAfterMs)}_initializeOptions(Z){var J,H,G,N,F,C,_,m;if(this.transport=(J=Z===null||Z===void 0?void 0:Z.transport)!==null&&J!==void 0?J:null,this.timeout=(H=Z===null||Z===void 0?void 0:Z.timeout)!==null&&H!==void 0?H:sn,this.heartbeatIntervalMs=(G=Z===null||Z===void 0?void 0:Z.heartbeatIntervalMs)!==null&&G!==void 0?G:r71.HEARTBEAT_INTERVAL,this.worker=(N=Z===null||Z===void 0?void 0:Z.worker)!==null&&N!==void 0?N:!1,this.accessToken=(F=Z===null||Z===void 0?void 0:Z.accessToken)!==null&&F!==void 0?F:null,Z===null||Z===void 0?void 0:Z.params)this.params=Z.params;if(Z===null||Z===void 0?void 0:Z.logger)this.logger=Z.logger;if((Z===null||Z===void 0?void 0:Z.logLevel)||(Z===null||Z===void 0?void 0:Z.log_level))this.logLevel=Z.logLevel||Z.log_level,this.params=Object.assign(Object.assign({},this.params),{log_level:this.logLevel});if(this.reconnectAfterMs=(C=Z===null||Z===void 0?void 0:Z.reconnectAfterMs)!==null&&C!==void 0?C:(c)=>{return QZ4[c-1]||YZ4},this.encode=(_=Z===null||Z===void 0?void 0:Z.encode)!==null&&_!==void 0?_:(c,$1)=>{return $1(JSON.stringify(c))},this.decode=(m=Z===null||Z===void 0?void 0:Z.decode)!==null&&m!==void 0?m:this.serializer.decode.bind(this.serializer),this.worker){if(typeof window<"u"&&!window.Worker)throw Error("Web Worker is not supported");this.workerUrl=Z===null||Z===void 0?void 0:Z.workerUrl}}}class rn extends Error{constructor(Z){super(Z);this.__isStorageError=!0,this.name="StorageError"}}function EJ(Z){return typeof Z==="object"&&Z!==null&&"__isStorageError"in Z}class LP1 extends rn{constructor(Z,J,H){super(Z);this.name="StorageApiError",this.status=J,this.statusCode=H}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}}class Nb extends rn{constructor(Z,J){super(Z);this.name="StorageUnknownError",this.originalError=J}}var WZ4=function(Z,J,H,G){function N(F){return F instanceof H?F:new H(function(C){C(F)})}return new(H||(H=Promise))(function(F,C){function _($1){try{c(G.next($1))}catch(B1){C(B1)}}function m($1){try{c(G.throw($1))}catch(B1){C(B1)}}function c($1){$1.done?F($1.value):N($1.value).then(_,m)}c((G=G.apply(Z,J||[])).next())})},DD1=(Z)=>{let J;if(Z)J=Z;else if(typeof fetch>"u")J=(...H)=>Promise.resolve().then(() => FD(Rj(),1)).then(({default:G})=>G(...H));else J=fetch;return(...H)=>J(...H)},h92=()=>WZ4(void 0,void 0,void 0,function*(){if(typeof Response>"u")return(yield Promise.resolve().then(() => FD(Rj(),1))).Response;return Response}),e71=(Z)=>{if(Array.isArray(Z))return Z.map((H)=>e71(H));else if(typeof Z==="function"||Z!==Object(Z))return Z;let J={};return Object.entries(Z).forEach(([H,G])=>{let N=H.replace(/([-_][a-z])/gi,(F)=>F.toUpperCase().replace(/[-_]/g,""));J[N]=e71(G)}),J},u92=(Z)=>{if(typeof Z!=="object"||Z===null)return!1;let J=Object.getPrototypeOf(Z);return(J===null||J===Object.prototype||Object.getPrototypeOf(J)===null)&&!(Symbol.toStringTag in Z)&&!(Symbol.iterator in Z)};var Lk=function(Z,J,H,G){function N(F){return F instanceof H?F:new H(function(C){C(F)})}return new(H||(H=Promise))(function(F,C){function _($1){try{c(G.next($1))}catch(B1){C(B1)}}function m($1){try{c(G.throw($1))}catch(B1){C(B1)}}function c($1){$1.done?F($1.value):N($1.value).then(_,m)}c((G=G.apply(Z,J||[])).next())})},OP1=(Z)=>Z.msg||Z.message||Z.error_description||Z.error||JSON.stringify(Z),HZ4=(Z,J,H)=>Lk(void 0,void 0,void 0,function*(){let G=yield h92();if(Z instanceof G&&!(H===null||H===void 0?void 0:H.noResolveJson))Z.json().then((N)=>{let F=Z.status||500,C=(N===null||N===void 0?void 0:N.statusCode)||F+"";J(new LP1(OP1(N),F,C))}).catch((N)=>{J(new Nb(OP1(N),N))});else J(new Nb(OP1(Z),Z))}),zZ4=(Z,J,H,G)=>{let N={method:Z,headers:(J===null||J===void 0?void 0:J.headers)||{}};if(Z==="GET"||!G)return N;if(u92(G))N.headers=Object.assign({"Content-Type":"application/json"},J===null||J===void 0?void 0:J.headers),N.body=JSON.stringify(G);else N.body=G;if(J===null||J===void 0?void 0:J.duplex)N.duplex=J.duplex;return Object.assign(Object.assign({},N),H)};function en(Z,J,H,G,N,F){return Lk(this,void 0,void 0,function*(){return new Promise((C,_)=>{Z(H,zZ4(J,G,N,F)).then((m)=>{if(!m.ok)throw m;if(G===null||G===void 0?void 0:G.noResolveJson)return m;return m.json()}).then((m)=>C(m)).catch((m)=>HZ4(m,_,G))})})}function Kb(Z,J,H,G){return Lk(this,void 0,void 0,function*(){return en(Z,"GET",J,H,G)})}function PB(Z,J,H,G,N){return Lk(this,void 0,void 0,function*(){return en(Z,"POST",J,G,N,H)})}function Do(Z,J,H,G,N){return Lk(this,void 0,void 0,function*(){return en(Z,"PUT",J,G,N,H)})}function l92(Z,J,H,G){return Lk(this,void 0,void 0,function*(){return en(Z,"HEAD",J,Object.assign(Object.assign({},H),{noResolveJson:!0}),G)})}function $D1(Z,J,H,G,N){return Lk(this,void 0,void 0,function*(){return en(Z,"DELETE",J,G,N,H)})}var MG=function(Z,J,H,G){function N(F){return F instanceof H?F:new H(function(C){C(F)})}return new(H||(H=Promise))(function(F,C){function _($1){try{c(G.next($1))}catch(B1){C(B1)}}function m($1){try{c(G.throw($1))}catch(B1){C(B1)}}function c($1){$1.done?F($1.value):N($1.value).then(_,m)}c((G=G.apply(Z,J||[])).next())})},qZ4={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},c92={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1};class ZD1{constructor(Z,J={},H,G){this.url=Z,this.headers=J,this.bucketId=H,this.fetch=DD1(G)}uploadOrUpdate(Z,J,H,G){return MG(this,void 0,void 0,function*(){try{let N,F=Object.assign(Object.assign({},c92),G),C=Object.assign(Object.assign({},this.headers),Z==="POST"&&{"x-upsert":String(F.upsert)}),_=F.metadata;if(typeof Blob<"u"&&H instanceof Blob){if(N=new FormData,N.append("cacheControl",F.cacheControl),_)N.append("metadata",this.encodeMetadata(_));N.append("",H)}else if(typeof FormData<"u"&&H instanceof FormData){if(N=H,N.append("cacheControl",F.cacheControl),_)N.append("metadata",this.encodeMetadata(_))}else if(N=H,C["cache-control"]=`max-age=${F.cacheControl}`,C["content-type"]=F.contentType,_)C["x-metadata"]=this.toBase64(this.encodeMetadata(_));if(G===null||G===void 0?void 0:G.headers)C=Object.assign(Object.assign({},C),G.headers);let m=this._removeEmptyFolders(J),c=this._getFinalPath(m),$1=yield(Z=="PUT"?Do:PB)(this.fetch,`${this.url}/object/${c}`,N,Object.assign({headers:C},(F===null||F===void 0?void 0:F.duplex)?{duplex:F.duplex}:{}));return{data:{path:m,id:$1.Id,fullPath:$1.Key},error:null}}catch(N){if(EJ(N))return{data:null,error:N};throw N}})}upload(Z,J,H){return MG(this,void 0,void 0,function*(){return this.uploadOrUpdate("POST",Z,J,H)})}uploadToSignedUrl(Z,J,H,G){return MG(this,void 0,void 0,function*(){let N=this._removeEmptyFolders(Z),F=this._getFinalPath(N),C=new URL(this.url+`/object/upload/sign/${F}`);C.searchParams.set("token",J);try{let _,m=Object.assign({upsert:c92.upsert},G),c=Object.assign(Object.assign({},this.headers),{"x-upsert":String(m.upsert)});if(typeof Blob<"u"&&H instanceof Blob)_=new FormData,_.append("cacheControl",m.cacheControl),_.append("",H);else if(typeof FormData<"u"&&H instanceof FormData)_=H,_.append("cacheControl",m.cacheControl);else _=H,c["cache-control"]=`max-age=${m.cacheControl}`,c["content-type"]=m.contentType;let $1=yield Do(this.fetch,C.toString(),_,{headers:c});return{data:{path:N,fullPath:$1.Key},error:null}}catch(_){if(EJ(_))return{data:null,error:_};throw _}})}createSignedUploadUrl(Z,J){return MG(this,void 0,void 0,function*(){try{let H=this._getFinalPath(Z),G=Object.assign({},this.headers);if(J===null||J===void 0?void 0:J.upsert)G["x-upsert"]="true";let N=yield PB(this.fetch,`${this.url}/object/upload/sign/${H}`,{},{headers:G}),F=new URL(this.url+N.url),C=F.searchParams.get("token");if(!C)throw new rn("No token returned by API");return{data:{signedUrl:F.toString(),path:Z,token:C},error:null}}catch(H){if(EJ(H))return{data:null,error:H};throw H}})}update(Z,J,H){return MG(this,void 0,void 0,function*(){return this.uploadOrUpdate("PUT",Z,J,H)})}move(Z,J,H){return MG(this,void 0,void 0,function*(){try{return{data:yield PB(this.fetch,`${this.url}/object/move`,{bucketId:this.bucketId,sourceKey:Z,destinationKey:J,destinationBucket:H===null||H===void 0?void 0:H.destinationBucket},{headers:this.headers}),error:null}}catch(G){if(EJ(G))return{data:null,error:G};throw G}})}copy(Z,J,H){return MG(this,void 0,void 0,function*(){try{return{data:{path:(yield PB(this.fetch,`${this.url}/object/copy`,{bucketId:this.bucketId,sourceKey:Z,destinationKey:J,destinationBucket:H===null||H===void 0?void 0:H.destinationBucket},{headers:this.headers})).Key},error:null}}catch(G){if(EJ(G))return{data:null,error:G};throw G}})}createSignedUrl(Z,J,H){return MG(this,void 0,void 0,function*(){try{let G=this._getFinalPath(Z),N=yield PB(this.fetch,`${this.url}/object/sign/${G}`,Object.assign({expiresIn:J},(H===null||H===void 0?void 0:H.transform)?{transform:H.transform}:{}),{headers:this.headers}),F=(H===null||H===void 0?void 0:H.download)?`&download=${H.download===!0?"":H.download}`:"";return N={signedUrl:encodeURI(`${this.url}${N.signedURL}${F}`)},{data:N,error:null}}catch(G){if(EJ(G))return{data:null,error:G};throw G}})}createSignedUrls(Z,J,H){return MG(this,void 0,void 0,function*(){try{let G=yield PB(this.fetch,`${this.url}/object/sign/${this.bucketId}`,{expiresIn:J,paths:Z},{headers:this.headers}),N=(H===null||H===void 0?void 0:H.download)?`&download=${H.download===!0?"":H.download}`:"";return{data:G.map((F)=>Object.assign(Object.assign({},F),{signedUrl:F.signedURL?encodeURI(`${this.url}${F.signedURL}${N}`):null})),error:null}}catch(G){if(EJ(G))return{data:null,error:G};throw G}})}download(Z,J){return MG(this,void 0,void 0,function*(){let G=typeof(J===null||J===void 0?void 0:J.transform)<"u"?"render/image/authenticated":"object",N=this.transformOptsToQueryString((J===null||J===void 0?void 0:J.transform)||{}),F=N?`?${N}`:"";try{let C=this._getFinalPath(Z);return{data:yield(yield Kb(this.fetch,`${this.url}/${G}/${C}${F}`,{headers:this.headers,noResolveJson:!0})).blob(),error:null}}catch(C){if(EJ(C))return{data:null,error:C};throw C}})}info(Z){return MG(this,void 0,void 0,function*(){let J=this._getFinalPath(Z);try{let H=yield Kb(this.fetch,`${this.url}/object/info/${J}`,{headers:this.headers});return{data:e71(H),error:null}}catch(H){if(EJ(H))return{data:null,error:H};throw H}})}exists(Z){return MG(this,void 0,void 0,function*(){let J=this._getFinalPath(Z);try{return yield l92(this.fetch,`${this.url}/object/${J}`,{headers:this.headers}),{data:!0,error:null}}catch(H){if(EJ(H)&&H instanceof Nb){let G=H.originalError;if([400,404].includes(G===null||G===void 0?void 0:G.status))return{data:!1,error:H}}throw H}})}getPublicUrl(Z,J){let H=this._getFinalPath(Z),G=[],N=(J===null||J===void 0?void 0:J.download)?`download=${J.download===!0?"":J.download}`:"";if(N!=="")G.push(N);let C=typeof(J===null||J===void 0?void 0:J.transform)<"u"?"render/image":"object",_=this.transformOptsToQueryString((J===null||J===void 0?void 0:J.transform)||{});if(_!=="")G.push(_);let m=G.join("&");if(m!=="")m=`?${m}`;return{data:{publicUrl:encodeURI(`${this.url}/${C}/public/${H}${m}`)}}}remove(Z){return MG(this,void 0,void 0,function*(){try{return{data:yield $D1(this.fetch,`${this.url}/object/${this.bucketId}`,{prefixes:Z},{headers:this.headers}),error:null}}catch(J){if(EJ(J))return{data:null,error:J};throw J}})}list(Z,J,H){return MG(this,void 0,void 0,function*(){try{let G=Object.assign(Object.assign(Object.assign({},qZ4),J),{prefix:Z||""});return{data:yield PB(this.fetch,`${this.url}/object/list/${this.bucketId}`,G,{headers:this.headers},H),error:null}}catch(G){if(EJ(G))return{data:null,error:G};throw G}})}listV2(Z,J){return MG(this,void 0,void 0,function*(){try{let H=Object.assign({},Z);return{data:yield PB(this.fetch,`${this.url}/object/list-v2/${this.bucketId}`,H,{headers:this.headers},J),error:null}}catch(H){if(EJ(H))return{data:null,error:H};throw H}})}encodeMetadata(Z){return JSON.stringify(Z)}toBase64(Z){if(typeof Buffer<"u")return Buffer.from(Z).toString("base64");return btoa(Z)}_getFinalPath(Z){return`${this.bucketId}/${Z.replace(/^\/+/,"")}`}_removeEmptyFolders(Z){return Z.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}transformOptsToQueryString(Z){let J=[];if(Z.width)J.push(`width=${Z.width}`);if(Z.height)J.push(`height=${Z.height}`);if(Z.resize)J.push(`resize=${Z.resize}`);if(Z.format)J.push(`format=${Z.format}`);if(Z.quality)J.push(`quality=${Z.quality}`);return J.join("&")}}var a92="2.11.0";var i92={"X-Client-Info":`storage-js/${a92}`};var Bb=function(Z,J,H,G){function N(F){return F instanceof H?F:new H(function(C){C(F)})}return new(H||(H=Promise))(function(F,C){function _($1){try{c(G.next($1))}catch(B1){C(B1)}}function m($1){try{c(G.throw($1))}catch(B1){C(B1)}}function c($1){$1.done?F($1.value):N($1.value).then(_,m)}c((G=G.apply(Z,J||[])).next())})};class XD1{constructor(Z,J={},H,G){let N=new URL(Z);if(G===null||G===void 0?void 0:G.useNewHostname){if(/supabase\.(co|in|red)$/.test(N.hostname)&&!N.hostname.includes("storage.supabase."))N.hostname=N.hostname.replace("supabase.","storage.supabase.")}this.url=N.href,this.headers=Object.assign(Object.assign({},i92),J),this.fetch=DD1(H)}listBuckets(){return Bb(this,void 0,void 0,function*(){try{return{data:yield Kb(this.fetch,`${this.url}/bucket`,{headers:this.headers}),error:null}}catch(Z){if(EJ(Z))return{data:null,error:Z};throw Z}})}getBucket(Z){return Bb(this,void 0,void 0,function*(){try{return{data:yield Kb(this.fetch,`${this.url}/bucket/${Z}`,{headers:this.headers}),error:null}}catch(J){if(EJ(J))return{data:null,error:J};throw J}})}createBucket(Z,J={public:!1}){return Bb(this,void 0,void 0,function*(){try{return{data:yield PB(this.fetch,`${this.url}/bucket`,{id:Z,name:Z,type:J.type,public:J.public,file_size_limit:J.fileSizeLimit,allowed_mime_types:J.allowedMimeTypes},{headers:this.headers}),error:null}}catch(H){if(EJ(H))return{data:null,error:H};throw H}})}updateBucket(Z,J){return Bb(this,void 0,void 0,function*(){try{return{data:yield Do(this.fetch,`${this.url}/bucket/${Z}`,{id:Z,name:Z,public:J.public,file_size_limit:J.fileSizeLimit,allowed_mime_types:J.allowedMimeTypes},{headers:this.headers}),error:null}}catch(H){if(EJ(H))return{data:null,error:H};throw H}})}emptyBucket(Z){return Bb(this,void 0,void 0,function*(){try{return{data:yield PB(this.fetch,`${this.url}/bucket/${Z}/empty`,{},{headers:this.headers}),error:null}}catch(J){if(EJ(J))return{data:null,error:J};throw J}})}deleteBucket(Z){return Bb(this,void 0,void 0,function*(){try{return{data:yield $D1(this.fetch,`${this.url}/bucket/${Z}`,{},{headers:this.headers}),error:null}}catch(J){if(EJ(J))return{data:null,error:J};throw J}})}}class QD1 extends XD1{constructor(Z,J={},H,G){super(Z,J,H,G)}from(Z){return new ZD1(this.url,this.headers,Z,this.fetch)}}var n92="2.56.0";var $o="";if(typeof Deno<"u")$o="deno";else if(typeof document<"u")$o="web";else if(typeof navigator<"u"&&navigator.product==="ReactNative")$o="react-native";else $o="node";var GZ4={"X-Client-Info":`supabase-js-${$o}/${n92}`},o92={headers:GZ4},s92={schema:"public"},t92={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},r92={};var YD1=FD(Rj(),1),wZ4=function(Z,J,H,G){function N(F){return F instanceof H?F:new H(function(C){C(F)})}return new(H||(H=Promise))(function(F,C){function _($1){try{c(G.next($1))}catch(B1){C(B1)}}function m($1){try{c(G.throw($1))}catch(B1){C(B1)}}function c($1){$1.done?F($1.value):N($1.value).then(_,m)}c((G=G.apply(Z,J||[])).next())})},VZ4=(Z)=>{let J;if(Z)J=Z;else if(typeof fetch>"u")J=YD1.default;else J=fetch;return(...H)=>J(...H)},NZ4=()=>{if(typeof Headers>"u")return YD1.Headers;return Headers},e92=(Z,J,H)=>{let G=VZ4(H),N=NZ4();return(F,C)=>wZ4(void 0,void 0,void 0,function*(){var _;let m=(_=yield J())!==null&&_!==void 0?_:Z,c=new N(C===null||C===void 0?void 0:C.headers);if(!c.has("apikey"))c.set("apikey",Z);if(!c.has("Authorization"))c.set("Authorization",`Bearer ${m}`);return G(F,Object.assign(Object.assign({},C),{headers:c}))})};var KZ4=function(Z,J,H,G){function N(F){return F instanceof H?F:new H(function(C){C(F)})}return new(H||(H=Promise))(function(F,C){function _($1){try{c(G.next($1))}catch(B1){C(B1)}}function m($1){try{c(G.throw($1))}catch(B1){C(B1)}}function c($1){$1.done?F($1.value):N($1.value).then(_,m)}c((G=G.apply(Z,J||[])).next())})};function D52(Z){return Z.endsWith("/")?Z:Z+"/"}function $52(Z,J){var H,G;let{db:N,auth:F,realtime:C,global:_}=Z,{db:m,auth:c,realtime:$1,global:B1}=J,n={db:Object.assign(Object.assign({},m),N),auth:Object.assign(Object.assign({},c),F),realtime:Object.assign(Object.assign({},$1),C),storage:{},global:Object.assign(Object.assign(Object.assign({},B1),_),{headers:Object.assign(Object.assign({},(H=B1===null||B1===void 0?void 0:B1.headers)!==null&&H!==void 0?H:{}),(G=_===null||_===void 0?void 0:_.headers)!==null&&G!==void 0?G:{})}),accessToken:()=>KZ4(this,void 0,void 0,function*(){return""})};if(Z.accessToken)n.accessToken=Z.accessToken;else delete n.accessToken;return n}var JD1="2.71.1";var Ok=30000,WD1=3,HD1=WD1*Ok,Z52="http://localhost:9999",X52="supabase.auth.token";var Q52={"X-Client-Info":`gotrue-js/${JD1}`};var Zo="X-Supabase-Api-Version",RP1={"2024-01-01":{timestamp:Date.parse("2024-01-01T00:00:00.0Z"),name:"2024-01-01"}},Y52=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}$|[a-z0-9_-]{2}$)$/i,J52=600000;class zD1 extends Error{constructor(Z,J,H){super(Z);this.__isAuthError=!0,this.name="AuthError",this.status=J,this.code=H}}function B7(Z){return typeof Z==="object"&&Z!==null&&"__isAuthError"in Z}class AP1 extends zD1{constructor(Z,J,H){super(Z,J,H);this.name="AuthApiError",this.status=J,this.code=H}}function W52(Z){return B7(Z)&&Z.name==="AuthApiError"}class Xo extends zD1{constructor(Z,J){super(Z);this.name="AuthUnknownError",this.originalError=J}}class VP extends zD1{constructor(Z,J,H,G){super(Z,H,G);this.name=J,this.status=H}}class vF extends VP{constructor(){super("Auth session missing!","AuthSessionMissingError",400,void 0)}}function H52(Z){return B7(Z)&&Z.name==="AuthSessionMissingError"}class Ub extends VP{constructor(){super("Auth session or user missing","AuthInvalidTokenResponseError",500,void 0)}}class Fb extends VP{constructor(Z){super(Z,"AuthInvalidCredentialsError",400,void 0)}}class Mb extends VP{constructor(Z,J=null){super(Z,"AuthImplicitGrantRedirectError",500,void 0);this.details=null,this.details=J}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}function z52(Z){return B7(Z)&&Z.name==="AuthImplicitGrantRedirectError"}class qD1 extends VP{constructor(Z,J=null){super(Z,"AuthPKCEGrantCodeExchangeError",500,void 0);this.details=null,this.details=J}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}class Qo extends VP{constructor(Z,J){super(Z,"AuthRetryableFetchError",J,void 0)}}function GD1(Z){return B7(Z)&&Z.name==="AuthRetryableFetchError"}class wD1 extends VP{constructor(Z,J,H){super(Z,"AuthWeakPasswordError",J,"weak_password");this.reasons=H}}class Lb extends VP{constructor(Z){super(Z,"AuthInvalidJwtError",400,"invalid_jwt")}}var VD1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".split(""),q52=`
630
630
  \r=`.split(""),BZ4=(()=>{let Z=Array(128);for(let J=0;J<Z.length;J+=1)Z[J]=-1;for(let J=0;J<q52.length;J+=1)Z[q52[J].charCodeAt(0)]=-2;for(let J=0;J<VD1.length;J+=1)Z[VD1[J].charCodeAt(0)]=J;return Z})();function G52(Z,J,H){if(Z!==null){J.queue=J.queue<<8|Z,J.queuedBits+=8;while(J.queuedBits>=6){let G=J.queue>>J.queuedBits-6&63;H(VD1[G]),J.queuedBits-=6}}else if(J.queuedBits>0){J.queue=J.queue<<6-J.queuedBits,J.queuedBits=6;while(J.queuedBits>=6){let G=J.queue>>J.queuedBits-6&63;H(VD1[G]),J.queuedBits-=6}}}function w52(Z,J,H){let G=BZ4[Z];if(G>-1){J.queue=J.queue<<6|G,J.queuedBits+=6;while(J.queuedBits>=8)H(J.queue>>J.queuedBits-8&255),J.queuedBits-=8}else if(G===-2)return;else throw Error(`Invalid Base64-URL character "${String.fromCharCode(Z)}"`)}function PP1(Z){let J=[],H=(C)=>{J.push(String.fromCodePoint(C))},G={utf8seq:0,codepoint:0},N={queue:0,queuedBits:0},F=(C)=>{MZ4(C,G,H)};for(let C=0;C<Z.length;C+=1)w52(Z.charCodeAt(C),N,F);return J.join("")}function UZ4(Z,J){if(Z<=127){J(Z);return}else if(Z<=2047){J(192|Z>>6),J(128|Z&63);return}else if(Z<=65535){J(224|Z>>12),J(128|Z>>6&63),J(128|Z&63);return}else if(Z<=1114111){J(240|Z>>18),J(128|Z>>12&63),J(128|Z>>6&63),J(128|Z&63);return}throw Error(`Unrecognized Unicode codepoint: ${Z.toString(16)}`)}function FZ4(Z,J){for(let H=0;H<Z.length;H+=1){let G=Z.charCodeAt(H);if(G>55295&&G<=56319){let N=(G-55296)*1024&65535;G=(Z.charCodeAt(H+1)-56320&65535|N)+65536,H+=1}UZ4(G,J)}}function MZ4(Z,J,H){if(J.utf8seq===0){if(Z<=127){H(Z);return}for(let G=1;G<6;G+=1)if((Z>>7-G&1)===0){J.utf8seq=G;break}if(J.utf8seq===2)J.codepoint=Z&31;else if(J.utf8seq===3)J.codepoint=Z&15;else if(J.utf8seq===4)J.codepoint=Z&7;else throw Error("Invalid UTF-8 sequence");J.utf8seq-=1}else if(J.utf8seq>0){if(Z<=127)throw Error("Invalid UTF-8 sequence");if(J.codepoint=J.codepoint<<6|Z&63,J.utf8seq-=1,J.utf8seq===0)H(J.codepoint)}}function V52(Z){let J=[],H={queue:0,queuedBits:0},G=(N)=>{J.push(N)};for(let N=0;N<Z.length;N+=1)w52(Z.charCodeAt(N),H,G);return new Uint8Array(J)}function N52(Z){let J=[];return FZ4(Z,(H)=>J.push(H)),new Uint8Array(J)}function K52(Z){let J=[],H={queue:0,queuedBits:0},G=(N)=>{J.push(N)};return Z.forEach((N)=>G52(N,H,G)),G52(null,H,G),J.join("")}function B52(Z){return Math.round(Date.now()/1000)+Z}function U52(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(Z){let J=Math.random()*16|0;return(Z=="x"?J:J&3|8).toString(16)})}var CB=()=>typeof window<"u"&&typeof document<"u",Rk={tested:!1,writable:!1},ND1=()=>{if(!CB())return!1;try{if(typeof globalThis.localStorage!=="object")return!1}catch(J){return!1}if(Rk.tested)return Rk.writable;let Z=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(Z,Z),globalThis.localStorage.removeItem(Z),Rk.tested=!0,Rk.writable=!0}catch(J){Rk.tested=!0,Rk.writable=!1}return Rk.writable};function F52(Z){let J={},H=new URL(Z);if(H.hash&&H.hash[0]==="#")try{new URLSearchParams(H.hash.substring(1)).forEach((N,F)=>{J[F]=N})}catch(G){}return H.searchParams.forEach((G,N)=>{J[N]=G}),J}var KD1=(Z)=>{let J;if(Z)J=Z;else if(typeof fetch>"u")J=(...H)=>Promise.resolve().then(() => FD(Rj(),1)).then(({default:G})=>G(...H));else J=fetch;return(...H)=>J(...H)},M52=(Z)=>{return typeof Z==="object"&&Z!==null&&"status"in Z&&"ok"in Z&&"json"in Z&&typeof Z.json==="function"},Ak=async(Z,J,H)=>{await Z.setItem(J,JSON.stringify(H))},Cj=async(Z,J)=>{let H=await Z.getItem(J);if(!H)return null;try{return JSON.parse(H)}catch(G){return H}},NP=async(Z,J)=>{await Z.removeItem(J)};class Yo{constructor(){this.promise=new Yo.promiseConstructor((Z,J)=>{this.resolve=Z,this.reject=J})}}Yo.promiseConstructor=Promise;function BD1(Z){let J=Z.split(".");if(J.length!==3)throw new Lb("Invalid JWT structure");for(let G=0;G<J.length;G++)if(!Y52.test(J[G]))throw new Lb("JWT not in base64url format");return{header:JSON.parse(PP1(J[0])),payload:JSON.parse(PP1(J[1])),signature:V52(J[2]),raw:{header:J[0],payload:J[1]}}}async function L52(Z){return await new Promise((J)=>{setTimeout(()=>J(null),Z)})}function O52(Z,J){return new Promise((G,N)=>{(async()=>{for(let F=0;F<1/0;F++)try{let C=await Z(F);if(!J(F,null,C)){G(C);return}}catch(C){if(!J(F,C)){N(C);return}}})()})}function LZ4(Z){return("0"+Z.toString(16)).substr(-2)}function OZ4(){let J=new Uint32Array(56);if(typeof crypto>"u"){let N="";for(let F=0;F<56;F++)N+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~".charAt(Math.floor(Math.random()*66));return N}return crypto.getRandomValues(J),Array.from(J,LZ4).join("")}async function RZ4(Z){let H=new TextEncoder().encode(Z),G=await crypto.subtle.digest("SHA-256",H),N=new Uint8Array(G);return Array.from(N).map((F)=>String.fromCharCode(F)).join("")}async function AZ4(Z){if(!(typeof crypto<"u"&&typeof crypto.subtle<"u"&&typeof TextEncoder<"u"))return console.warn("WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256."),Z;let H=await RZ4(Z);return btoa(H).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function Pk(Z,J,H=!1){let G=OZ4(),N=G;if(H)N+="/PASSWORD_RECOVERY";await Ak(Z,`${J}-code-verifier`,N);let F=await AZ4(G);return[F,G===F?"plain":"s256"]}var PZ4=/^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i;function R52(Z){let J=Z.headers.get(Zo);if(!J)return null;if(!J.match(PZ4))return null;try{return new Date(`${J}T00:00:00.0Z`)}catch(H){return null}}function A52(Z){if(!Z)throw Error("Missing exp claim");let J=Math.floor(Date.now()/1000);if(Z<=J)throw Error("JWT has expired")}function P52(Z){switch(Z){case"RS256":return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case"ES256":return{name:"ECDSA",namedCurve:"P-256",hash:{name:"SHA-256"}};default:throw Error("Invalid alg claim")}}var CZ4=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function Ck(Z){if(!CZ4.test(Z))throw Error("@supabase/auth-js: Expected parameter to be UUID but is not")}function UD1(){return new Proxy({},{get:(J,H)=>{if(H==="__isUserNotAvailableProxy")return!0;if(typeof H==="symbol"){let G=H.toString();if(G==="Symbol(Symbol.toPrimitive)"||G==="Symbol(Symbol.toStringTag)"||G==="Symbol(util.inspect.custom)")return}throw Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Accessing the "${H}" property of the session object is not supported. Please use getUser() instead.`)},set:(J,H)=>{throw Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Setting the "${H}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)},deleteProperty:(J,H)=>{throw Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Deleting the "${H}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)}})}function CP1(Z){return JSON.parse(JSON.stringify(Z))}var EZ4=function(Z,J){var H={};for(var G in Z)if(Object.prototype.hasOwnProperty.call(Z,G)&&J.indexOf(G)<0)H[G]=Z[G];if(Z!=null&&typeof Object.getOwnPropertySymbols==="function"){for(var N=0,G=Object.getOwnPropertySymbols(Z);N<G.length;N++)if(J.indexOf(G[N])<0&&Object.prototype.propertyIsEnumerable.call(Z,G[N]))H[G[N]]=Z[G[N]]}return H},Ek=(Z)=>Z.msg||Z.message||Z.error_description||Z.error||JSON.stringify(Z),jZ4=[502,503,504];async function C52(Z){var J;if(!M52(Z))throw new Qo(Ek(Z),0);if(jZ4.includes(Z.status))throw new Qo(Ek(Z),Z.status);let H;try{H=await Z.json()}catch(F){throw new Xo(Ek(F),F)}let G=void 0,N=R52(Z);if(N&&N.getTime()>=RP1["2024-01-01"].timestamp&&typeof H==="object"&&H&&typeof H.code==="string")G=H.code;else if(typeof H==="object"&&H&&typeof H.error_code==="string")G=H.error_code;if(!G){if(typeof H==="object"&&H&&typeof H.weak_password==="object"&&H.weak_password&&Array.isArray(H.weak_password.reasons)&&H.weak_password.reasons.length&&H.weak_password.reasons.reduce((F,C)=>F&&typeof C==="string",!0))throw new wD1(Ek(H),Z.status,H.weak_password.reasons)}else if(G==="weak_password")throw new wD1(Ek(H),Z.status,((J=H.weak_password)===null||J===void 0?void 0:J.reasons)||[]);else if(G==="session_not_found")throw new vF;throw new AP1(Ek(H),Z.status||500,G)}var IZ4=(Z,J,H,G)=>{let N={method:Z,headers:(J===null||J===void 0?void 0:J.headers)||{}};if(Z==="GET")return N;return N.headers=Object.assign({"Content-Type":"application/json;charset=UTF-8"},J===null||J===void 0?void 0:J.headers),N.body=JSON.stringify(G),Object.assign(Object.assign({},N),H)};async function JD(Z,J,H,G){var N;let F=Object.assign({},G===null||G===void 0?void 0:G.headers);if(!F[Zo])F[Zo]=RP1["2024-01-01"].name;if(G===null||G===void 0?void 0:G.jwt)F.Authorization=`Bearer ${G.jwt}`;let C=(N=G===null||G===void 0?void 0:G.query)!==null&&N!==void 0?N:{};if(G===null||G===void 0?void 0:G.redirectTo)C.redirect_to=G.redirectTo;let _=Object.keys(C).length?"?"+new URLSearchParams(C).toString():"",m=await TZ4(Z,J,H+_,{headers:F,noResolveJson:G===null||G===void 0?void 0:G.noResolveJson},{},G===null||G===void 0?void 0:G.body);return(G===null||G===void 0?void 0:G.xform)?G===null||G===void 0?void 0:G.xform(m):{data:Object.assign({},m),error:null}}async function TZ4(Z,J,H,G,N,F){let C=IZ4(J,G,N,F),_;try{_=await Z(H,Object.assign({},C))}catch(m){throw console.error(m),new Qo(Ek(m),0)}if(!_.ok)await C52(_);if(G===null||G===void 0?void 0:G.noResolveJson)return _;try{return await _.json()}catch(m){await C52(m)}}function JO(Z){var J;let H=null;if(dZ4(Z)){if(H=Object.assign({},Z),!Z.expires_at)H.expires_at=B52(Z.expires_in)}let G=(J=Z.user)!==null&&J!==void 0?J:Z;return{data:{session:H,user:G},error:null}}function EP1(Z){let J=JO(Z);if(!J.error&&Z.weak_password&&typeof Z.weak_password==="object"&&Array.isArray(Z.weak_password.reasons)&&Z.weak_password.reasons.length&&Z.weak_password.message&&typeof Z.weak_password.message==="string"&&Z.weak_password.reasons.reduce((H,G)=>H&&typeof G==="string",!0))J.data.weak_password=Z.weak_password;return J}function WO(Z){var J;return{data:{user:(J=Z.user)!==null&&J!==void 0?J:Z},error:null}}function E52(Z){return{data:Z,error:null}}function j52(Z){let{action_link:J,email_otp:H,hashed_token:G,redirect_to:N,verification_type:F}=Z,C=EZ4(Z,["action_link","email_otp","hashed_token","redirect_to","verification_type"]),_={action_link:J,email_otp:H,hashed_token:G,redirect_to:N,verification_type:F},m=Object.assign({},C);return{data:{properties:_,user:m},error:null}}function I52(Z){return Z}function dZ4(Z){return Z.access_token&&Z.refresh_token&&Z.expires_in}var FD1=["global","local","others"];var SZ4=function(Z,J){var H={};for(var G in Z)if(Object.prototype.hasOwnProperty.call(Z,G)&&J.indexOf(G)<0)H[G]=Z[G];if(Z!=null&&typeof Object.getOwnPropertySymbols==="function"){for(var N=0,G=Object.getOwnPropertySymbols(Z);N<G.length;N++)if(J.indexOf(G[N])<0&&Object.prototype.propertyIsEnumerable.call(Z,G[N]))H[G[N]]=Z[G[N]]}return H};class Ob{constructor({url:Z="",headers:J={},fetch:H}){this.url=Z,this.headers=J,this.fetch=KD1(H),this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)}}async signOut(Z,J=FD1[0]){if(FD1.indexOf(J)<0)throw Error(`@supabase/auth-js: Parameter scope must be one of ${FD1.join(", ")}`);try{return await JD(this.fetch,"POST",`${this.url}/logout?scope=${J}`,{headers:this.headers,jwt:Z,noResolveJson:!0}),{data:null,error:null}}catch(H){if(B7(H))return{data:null,error:H};throw H}}async inviteUserByEmail(Z,J={}){try{return await JD(this.fetch,"POST",`${this.url}/invite`,{body:{email:Z,data:J.data},headers:this.headers,redirectTo:J.redirectTo,xform:WO})}catch(H){if(B7(H))return{data:{user:null},error:H};throw H}}async generateLink(Z){try{let{options:J}=Z,H=SZ4(Z,["options"]),G=Object.assign(Object.assign({},H),J);if("newEmail"in H)G.new_email=H===null||H===void 0?void 0:H.newEmail,delete G.newEmail;return await JD(this.fetch,"POST",`${this.url}/admin/generate_link`,{body:G,headers:this.headers,xform:j52,redirectTo:J===null||J===void 0?void 0:J.redirectTo})}catch(J){if(B7(J))return{data:{properties:null,user:null},error:J};throw J}}async createUser(Z){try{return await JD(this.fetch,"POST",`${this.url}/admin/users`,{body:Z,headers:this.headers,xform:WO})}catch(J){if(B7(J))return{data:{user:null},error:J};throw J}}async listUsers(Z){var J,H,G,N,F,C,_;try{let m={nextPage:null,lastPage:0,total:0},c=await JD(this.fetch,"GET",`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:(H=(J=Z===null||Z===void 0?void 0:Z.page)===null||J===void 0?void 0:J.toString())!==null&&H!==void 0?H:"",per_page:(N=(G=Z===null||Z===void 0?void 0:Z.perPage)===null||G===void 0?void 0:G.toString())!==null&&N!==void 0?N:""},xform:I52});if(c.error)throw c.error;let $1=await c.json(),B1=(F=c.headers.get("x-total-count"))!==null&&F!==void 0?F:0,n=(_=(C=c.headers.get("link"))===null||C===void 0?void 0:C.split(","))!==null&&_!==void 0?_:[];if(n.length>0)n.forEach((m1)=>{let A1=parseInt(m1.split(";")[0].split("=")[1].substring(0,1)),F1=JSON.parse(m1.split(";")[1].split("=")[1]);m[`${F1}Page`]=A1}),m.total=parseInt(B1);return{data:Object.assign(Object.assign({},$1),m),error:null}}catch(m){if(B7(m))return{data:{users:[]},error:m};throw m}}async getUserById(Z){Ck(Z);try{return await JD(this.fetch,"GET",`${this.url}/admin/users/${Z}`,{headers:this.headers,xform:WO})}catch(J){if(B7(J))return{data:{user:null},error:J};throw J}}async updateUserById(Z,J){Ck(Z);try{return await JD(this.fetch,"PUT",`${this.url}/admin/users/${Z}`,{body:J,headers:this.headers,xform:WO})}catch(H){if(B7(H))return{data:{user:null},error:H};throw H}}async deleteUser(Z,J=!1){Ck(Z);try{return await JD(this.fetch,"DELETE",`${this.url}/admin/users/${Z}`,{headers:this.headers,body:{should_soft_delete:J},xform:WO})}catch(H){if(B7(H))return{data:{user:null},error:H};throw H}}async _listFactors(Z){Ck(Z.userId);try{let{data:J,error:H}=await JD(this.fetch,"GET",`${this.url}/admin/users/${Z.userId}/factors`,{headers:this.headers,xform:(G)=>{return{data:{factors:G},error:null}}});return{data:J,error:H}}catch(J){if(B7(J))return{data:null,error:J};throw J}}async _deleteFactor(Z){Ck(Z.userId),Ck(Z.id);try{return{data:await JD(this.fetch,"DELETE",`${this.url}/admin/users/${Z.userId}/factors/${Z.id}`,{headers:this.headers}),error:null}}catch(J){if(B7(J))return{data:null,error:J};throw J}}}function jP1(Z={}){return{getItem:(J)=>{return Z[J]||null},setItem:(J,H)=>{Z[J]=H},removeItem:(J)=>{delete Z[J]}}}function T52(){if(typeof globalThis==="object")return;try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch(Z){if(typeof self<"u")self.globalThis=self}}var jk={debug:!!(globalThis&&ND1()&&globalThis.localStorage&&globalThis.localStorage.getItem("supabase.gotrue-js.locks.debug")==="true")};class MD1 extends Error{constructor(Z){super(Z);this.isAcquireTimeout=!0}}class IP1 extends MD1{}async function TP1(Z,J,H){if(jk.debug)console.log("@supabase/gotrue-js: navigatorLock: acquire lock",Z,J);let G=new globalThis.AbortController;if(J>0)setTimeout(()=>{if(G.abort(),jk.debug)console.log("@supabase/gotrue-js: navigatorLock acquire timed out",Z)},J);return await Promise.resolve().then(()=>globalThis.navigator.locks.request(Z,J===0?{mode:"exclusive",ifAvailable:!0}:{mode:"exclusive",signal:G.signal},async(N)=>{if(N){if(jk.debug)console.log("@supabase/gotrue-js: navigatorLock: acquired",Z,N.name);try{return await H()}finally{if(jk.debug)console.log("@supabase/gotrue-js: navigatorLock: released",Z,N.name)}}else if(J===0){if(jk.debug)console.log("@supabase/gotrue-js: navigatorLock: not immediately available",Z);throw new IP1(`Acquiring an exclusive Navigator LockManager lock "${Z}" immediately failed`)}else{if(jk.debug)try{let F=await globalThis.navigator.locks.query();console.log("@supabase/gotrue-js: Navigator LockManager state",JSON.stringify(F,null," "))}catch(F){console.warn("@supabase/gotrue-js: Error when querying Navigator LockManager state",F)}return console.warn("@supabase/gotrue-js: Navigator LockManager returned a null lock when using #request without ifAvailable set to true, it appears this browser is not following the LockManager spec https://developer.mozilla.org/en-US/docs/Web/API/LockManager/request"),await H()}}))}T52();var kZ4={url:Z52,storageKey:X52,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:Q52,flowType:"implicit",debug:!1,hasCustomAuthorizationHeader:!1};async function d52(Z,J,H){return await H()}var Rb={};class Ej{constructor(Z){var J,H;if(this.userStorage=null,this.memoryStorage=null,this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.initializePromise=null,this.detectSessionInUrl=!0,this.hasCustomAuthorizationHeader=!1,this.suppressGetSessionWarning=!1,this.lockAcquired=!1,this.pendingInLock=[],this.broadcastChannel=null,this.logger=console.log,this.instanceID=Ej.nextInstanceID,Ej.nextInstanceID+=1,this.instanceID>0&&CB())console.warn("Multiple GoTrueClient instances detected in the same browser context. It is not an error, but this should be avoided as it may produce undefined behavior when used concurrently under the same storage key.");let G=Object.assign(Object.assign({},kZ4),Z);if(this.logDebugMessages=!!G.debug,typeof G.debug==="function")this.logger=G.debug;if(this.persistSession=G.persistSession,this.storageKey=G.storageKey,this.autoRefreshToken=G.autoRefreshToken,this.admin=new Ob({url:G.url,headers:G.headers,fetch:G.fetch}),this.url=G.url,this.headers=G.headers,this.fetch=KD1(G.fetch),this.lock=G.lock||d52,this.detectSessionInUrl=G.detectSessionInUrl,this.flowType=G.flowType,this.hasCustomAuthorizationHeader=G.hasCustomAuthorizationHeader,G.lock)this.lock=G.lock;else if(CB()&&((J=globalThis===null||globalThis===void 0?void 0:globalThis.navigator)===null||J===void 0?void 0:J.locks))this.lock=TP1;else this.lock=d52;if(!this.jwks)this.jwks={keys:[]},this.jwks_cached_at=Number.MIN_SAFE_INTEGER;if(this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this)},this.persistSession){if(G.storage)this.storage=G.storage;else if(ND1())this.storage=globalThis.localStorage;else this.memoryStorage={},this.storage=jP1(this.memoryStorage);if(G.userStorage)this.userStorage=G.userStorage}else this.memoryStorage={},this.storage=jP1(this.memoryStorage);if(CB()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey){try{this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey)}catch(N){console.error("Failed to create a new BroadcastChannel, multi-tab state changes will not be available",N)}(H=this.broadcastChannel)===null||H===void 0||H.addEventListener("message",async(N)=>{this._debug("received broadcast notification from other tab or client",N),await this._notifyAllSubscribers(N.data.event,N.data.session,!1)})}this.initialize()}get jwks(){var Z,J;return(J=(Z=Rb[this.storageKey])===null||Z===void 0?void 0:Z.jwks)!==null&&J!==void 0?J:{keys:[]}}set jwks(Z){Rb[this.storageKey]=Object.assign(Object.assign({},Rb[this.storageKey]),{jwks:Z})}get jwks_cached_at(){var Z,J;return(J=(Z=Rb[this.storageKey])===null||Z===void 0?void 0:Z.cachedAt)!==null&&J!==void 0?J:Number.MIN_SAFE_INTEGER}set jwks_cached_at(Z){Rb[this.storageKey]=Object.assign(Object.assign({},Rb[this.storageKey]),{cachedAt:Z})}_debug(...Z){if(this.logDebugMessages)this.logger(`GoTrueClient@${this.instanceID} (${JD1}) ${new Date().toISOString()}`,...Z);return this}async initialize(){if(this.initializePromise)return await this.initializePromise;return this.initializePromise=(async()=>{return await this._acquireLock(-1,async()=>{return await this._initialize()})})(),await this.initializePromise}async _initialize(){var Z;try{let J=F52(window.location.href),H="none";if(this._isImplicitGrantCallback(J))H="implicit";else if(await this._isPKCECallback(J))H="pkce";if(CB()&&this.detectSessionInUrl&&H!=="none"){let{data:G,error:N}=await this._getSessionFromURL(J,H);if(N){if(this._debug("#_initialize()","error detecting session from URL",N),z52(N)){let _=(Z=N.details)===null||Z===void 0?void 0:Z.code;if(_==="identity_already_exists"||_==="identity_not_found"||_==="single_identity_not_deletable")return{error:N}}return await this._removeSession(),{error:N}}let{session:F,redirectType:C}=G;return this._debug("#_initialize()","detected session in URL",F,"redirect type",C),await this._saveSession(F),setTimeout(async()=>{if(C==="recovery")await this._notifyAllSubscribers("PASSWORD_RECOVERY",F);else await this._notifyAllSubscribers("SIGNED_IN",F)},0),{error:null}}return await this._recoverAndRefresh(),{error:null}}catch(J){if(B7(J))return{error:J};return{error:new Xo("Unexpected error during initialization",J)}}finally{await this._handleVisibilityChange(),this._debug("#_initialize()","end")}}async signInAnonymously(Z){var J,H,G;try{let N=await JD(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{data:(H=(J=Z===null||Z===void 0?void 0:Z.options)===null||J===void 0?void 0:J.data)!==null&&H!==void 0?H:{},gotrue_meta_security:{captcha_token:(G=Z===null||Z===void 0?void 0:Z.options)===null||G===void 0?void 0:G.captchaToken}},xform:JO}),{data:F,error:C}=N;if(C||!F)return{data:{user:null,session:null},error:C};let{session:_,user:m}=F;if(F.session)await this._saveSession(F.session),await this._notifyAllSubscribers("SIGNED_IN",_);return{data:{user:m,session:_},error:null}}catch(N){if(B7(N))return{data:{user:null,session:null},error:N};throw N}}async signUp(Z){var J,H,G;try{let N;if("email"in Z){let{email:c,password:$1,options:B1}=Z,n=null,m1=null;if(this.flowType==="pkce")[n,m1]=await Pk(this.storage,this.storageKey);N=await JD(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,redirectTo:B1===null||B1===void 0?void 0:B1.emailRedirectTo,body:{email:c,password:$1,data:(J=B1===null||B1===void 0?void 0:B1.data)!==null&&J!==void 0?J:{},gotrue_meta_security:{captcha_token:B1===null||B1===void 0?void 0:B1.captchaToken},code_challenge:n,code_challenge_method:m1},xform:JO})}else if("phone"in Z){let{phone:c,password:$1,options:B1}=Z;N=await JD(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{phone:c,password:$1,data:(H=B1===null||B1===void 0?void 0:B1.data)!==null&&H!==void 0?H:{},channel:(G=B1===null||B1===void 0?void 0:B1.channel)!==null&&G!==void 0?G:"sms",gotrue_meta_security:{captcha_token:B1===null||B1===void 0?void 0:B1.captchaToken}},xform:JO})}else throw new Fb("You must provide either an email or phone number and a password");let{data:F,error:C}=N;if(C||!F)return{data:{user:null,session:null},error:C};let{session:_,user:m}=F;if(F.session)await this._saveSession(F.session),await this._notifyAllSubscribers("SIGNED_IN",_);return{data:{user:m,session:_},error:null}}catch(N){if(B7(N))return{data:{user:null,session:null},error:N};throw N}}async signInWithPassword(Z){try{let J;if("email"in Z){let{email:N,password:F,options:C}=Z;J=await JD(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:N,password:F,gotrue_meta_security:{captcha_token:C===null||C===void 0?void 0:C.captchaToken}},xform:EP1})}else if("phone"in Z){let{phone:N,password:F,options:C}=Z;J=await JD(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:N,password:F,gotrue_meta_security:{captcha_token:C===null||C===void 0?void 0:C.captchaToken}},xform:EP1})}else throw new Fb("You must provide either an email or phone number and a password");let{data:H,error:G}=J;if(G)return{data:{user:null,session:null},error:G};else if(!H||!H.session||!H.user)return{data:{user:null,session:null},error:new Ub};if(H.session)await this._saveSession(H.session),await this._notifyAllSubscribers("SIGNED_IN",H.session);return{data:Object.assign({user:H.user,session:H.session},H.weak_password?{weakPassword:H.weak_password}:null),error:G}}catch(J){if(B7(J))return{data:{user:null,session:null},error:J};throw J}}async signInWithOAuth(Z){var J,H,G,N;return await this._handleProviderSignIn(Z.provider,{redirectTo:(J=Z.options)===null||J===void 0?void 0:J.redirectTo,scopes:(H=Z.options)===null||H===void 0?void 0:H.scopes,queryParams:(G=Z.options)===null||G===void 0?void 0:G.queryParams,skipBrowserRedirect:(N=Z.options)===null||N===void 0?void 0:N.skipBrowserRedirect})}async exchangeCodeForSession(Z){return await this.initializePromise,this._acquireLock(-1,async()=>{return this._exchangeCodeForSession(Z)})}async signInWithWeb3(Z){let{chain:J}=Z;if(J==="solana")return await this.signInWithSolana(Z);throw Error(`@supabase/auth-js: Unsupported chain "${J}"`)}async signInWithSolana(Z){var J,H,G,N,F,C,_,m,c,$1,B1,n;let m1,A1;if("message"in Z)m1=Z.message,A1=Z.signature;else{let{chain:F1,wallet:w2,statement:P2,options:h2}=Z,d4;if(!CB()){if(typeof w2!=="object"||!(h2===null||h2===void 0?void 0:h2.url))throw Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");d4=w2}else if(typeof w2==="object")d4=w2;else{let P6=window;if("solana"in P6&&typeof P6.solana==="object"&&(("signIn"in P6.solana)&&typeof P6.solana.signIn==="function"||("signMessage"in P6.solana)&&typeof P6.solana.signMessage==="function"))d4=P6.solana;else throw Error("@supabase/auth-js: No compatible Solana wallet interface on the window object (window.solana) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'solana', wallet: resolvedUserWallet }) instead.")}let l4=new URL((J=h2===null||h2===void 0?void 0:h2.url)!==null&&J!==void 0?J:window.location.href);if("signIn"in d4&&d4.signIn){let P6=await d4.signIn(Object.assign(Object.assign(Object.assign({issuedAt:new Date().toISOString()},h2===null||h2===void 0?void 0:h2.signInWithSolana),{version:"1",domain:l4.host,uri:l4.href}),P2?{statement:P2}:null)),J4;if(Array.isArray(P6)&&P6[0]&&typeof P6[0]==="object")J4=P6[0];else if(P6&&typeof P6==="object"&&"signedMessage"in P6&&"signature"in P6)J4=P6;else throw Error("@supabase/auth-js: Wallet method signIn() returned unrecognized value");if("signedMessage"in J4&&"signature"in J4&&(typeof J4.signedMessage==="string"||J4.signedMessage instanceof Uint8Array)&&J4.signature instanceof Uint8Array)m1=typeof J4.signedMessage==="string"?J4.signedMessage:new TextDecoder().decode(J4.signedMessage),A1=J4.signature;else throw Error("@supabase/auth-js: Wallet method signIn() API returned object without signedMessage and signature fields")}else{if(!("signMessage"in d4)||typeof d4.signMessage!=="function"||!("publicKey"in d4)||typeof d4!=="object"||!d4.publicKey||!("toBase58"in d4.publicKey)||typeof d4.publicKey.toBase58!=="function")throw Error("@supabase/auth-js: Wallet does not have a compatible signMessage() and publicKey.toBase58() API");m1=[`${l4.host} wants you to sign in with your Solana account:`,d4.publicKey.toBase58(),...P2?["",P2,""]:[""],"Version: 1",`URI: ${l4.href}`,`Issued At: ${(G=(H=h2===null||h2===void 0?void 0:h2.signInWithSolana)===null||H===void 0?void 0:H.issuedAt)!==null&&G!==void 0?G:new Date().toISOString()}`,...((N=h2===null||h2===void 0?void 0:h2.signInWithSolana)===null||N===void 0?void 0:N.notBefore)?[`Not Before: ${h2.signInWithSolana.notBefore}`]:[],...((F=h2===null||h2===void 0?void 0:h2.signInWithSolana)===null||F===void 0?void 0:F.expirationTime)?[`Expiration Time: ${h2.signInWithSolana.expirationTime}`]:[],...((C=h2===null||h2===void 0?void 0:h2.signInWithSolana)===null||C===void 0?void 0:C.chainId)?[`Chain ID: ${h2.signInWithSolana.chainId}`]:[],...((_=h2===null||h2===void 0?void 0:h2.signInWithSolana)===null||_===void 0?void 0:_.nonce)?[`Nonce: ${h2.signInWithSolana.nonce}`]:[],...((m=h2===null||h2===void 0?void 0:h2.signInWithSolana)===null||m===void 0?void 0:m.requestId)?[`Request ID: ${h2.signInWithSolana.requestId}`]:[],...(($1=(c=h2===null||h2===void 0?void 0:h2.signInWithSolana)===null||c===void 0?void 0:c.resources)===null||$1===void 0?void 0:$1.length)?["Resources",...h2.signInWithSolana.resources.map((J4)=>`- ${J4}`)]:[]].join(`
631
631
  `);let P6=await d4.signMessage(new TextEncoder().encode(m1),"utf8");if(!P6||!(P6 instanceof Uint8Array))throw Error("@supabase/auth-js: Wallet signMessage() API returned an recognized value");A1=P6}}try{let{data:F1,error:w2}=await JD(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"solana",message:m1,signature:K52(A1)},((B1=Z.options)===null||B1===void 0?void 0:B1.captchaToken)?{gotrue_meta_security:{captcha_token:(n=Z.options)===null||n===void 0?void 0:n.captchaToken}}:null),xform:JO});if(w2)throw w2;if(!F1||!F1.session||!F1.user)return{data:{user:null,session:null},error:new Ub};if(F1.session)await this._saveSession(F1.session),await this._notifyAllSubscribers("SIGNED_IN",F1.session);return{data:Object.assign({},F1),error:w2}}catch(F1){if(B7(F1))return{data:{user:null,session:null},error:F1};throw F1}}async _exchangeCodeForSession(Z){let J=await Cj(this.storage,`${this.storageKey}-code-verifier`),[H,G]=(J!==null&&J!==void 0?J:"").split("/");try{let{data:N,error:F}=await JD(this.fetch,"POST",`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:Z,code_verifier:H},xform:JO});if(await NP(this.storage,`${this.storageKey}-code-verifier`),F)throw F;if(!N||!N.session||!N.user)return{data:{user:null,session:null,redirectType:null},error:new Ub};if(N.session)await this._saveSession(N.session),await this._notifyAllSubscribers("SIGNED_IN",N.session);return{data:Object.assign(Object.assign({},N),{redirectType:G!==null&&G!==void 0?G:null}),error:F}}catch(N){if(B7(N))return{data:{user:null,session:null,redirectType:null},error:N};throw N}}async signInWithIdToken(Z){try{let{options:J,provider:H,token:G,access_token:N,nonce:F}=Z,C=await JD(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:H,id_token:G,access_token:N,nonce:F,gotrue_meta_security:{captcha_token:J===null||J===void 0?void 0:J.captchaToken}},xform:JO}),{data:_,error:m}=C;if(m)return{data:{user:null,session:null},error:m};else if(!_||!_.session||!_.user)return{data:{user:null,session:null},error:new Ub};if(_.session)await this._saveSession(_.session),await this._notifyAllSubscribers("SIGNED_IN",_.session);return{data:_,error:m}}catch(J){if(B7(J))return{data:{user:null,session:null},error:J};throw J}}async signInWithOtp(Z){var J,H,G,N,F;try{if("email"in Z){let{email:C,options:_}=Z,m=null,c=null;if(this.flowType==="pkce")[m,c]=await Pk(this.storage,this.storageKey);let{error:$1}=await JD(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{email:C,data:(J=_===null||_===void 0?void 0:_.data)!==null&&J!==void 0?J:{},create_user:(H=_===null||_===void 0?void 0:_.shouldCreateUser)!==null&&H!==void 0?H:!0,gotrue_meta_security:{captcha_token:_===null||_===void 0?void 0:_.captchaToken},code_challenge:m,code_challenge_method:c},redirectTo:_===null||_===void 0?void 0:_.emailRedirectTo});return{data:{user:null,session:null},error:$1}}if("phone"in Z){let{phone:C,options:_}=Z,{data:m,error:c}=await JD(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{phone:C,data:(G=_===null||_===void 0?void 0:_.data)!==null&&G!==void 0?G:{},create_user:(N=_===null||_===void 0?void 0:_.shouldCreateUser)!==null&&N!==void 0?N:!0,gotrue_meta_security:{captcha_token:_===null||_===void 0?void 0:_.captchaToken},channel:(F=_===null||_===void 0?void 0:_.channel)!==null&&F!==void 0?F:"sms"}});return{data:{user:null,session:null,messageId:m===null||m===void 0?void 0:m.message_id},error:c}}throw new Fb("You must provide either an email or phone number.")}catch(C){if(B7(C))return{data:{user:null,session:null},error:C};throw C}}async verifyOtp(Z){var J,H;try{let G=void 0,N=void 0;if("options"in Z)G=(J=Z.options)===null||J===void 0?void 0:J.redirectTo,N=(H=Z.options)===null||H===void 0?void 0:H.captchaToken;let{data:F,error:C}=await JD(this.fetch,"POST",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},Z),{gotrue_meta_security:{captcha_token:N}}),redirectTo:G,xform:JO});if(C)throw C;if(!F)throw Error("An error occurred on token verification.");let{session:_,user:m}=F;if(_===null||_===void 0?void 0:_.access_token)await this._saveSession(_),await this._notifyAllSubscribers(Z.type=="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",_);return{data:{user:m,session:_},error:null}}catch(G){if(B7(G))return{data:{user:null,session:null},error:G};throw G}}async signInWithSSO(Z){var J,H,G;try{let N=null,F=null;if(this.flowType==="pkce")[N,F]=await Pk(this.storage,this.storageKey);return await JD(this.fetch,"POST",`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},"providerId"in Z?{provider_id:Z.providerId}:null),"domain"in Z?{domain:Z.domain}:null),{redirect_to:(H=(J=Z.options)===null||J===void 0?void 0:J.redirectTo)!==null&&H!==void 0?H:void 0}),((G=Z===null||Z===void 0?void 0:Z.options)===null||G===void 0?void 0:G.captchaToken)?{gotrue_meta_security:{captcha_token:Z.options.captchaToken}}:null),{skip_http_redirect:!0,code_challenge:N,code_challenge_method:F}),headers:this.headers,xform:E52})}catch(N){if(B7(N))return{data:null,error:N};throw N}}async reauthenticate(){return await this.initializePromise,await this._acquireLock(-1,async()=>{return await this._reauthenticate()})}async _reauthenticate(){try{return await this._useSession(async(Z)=>{let{data:{session:J},error:H}=Z;if(H)throw H;if(!J)throw new vF;let{error:G}=await JD(this.fetch,"GET",`${this.url}/reauthenticate`,{headers:this.headers,jwt:J.access_token});return{data:{user:null,session:null},error:G}})}catch(Z){if(B7(Z))return{data:{user:null,session:null},error:Z};throw Z}}async resend(Z){try{let J=`${this.url}/resend`;if("email"in Z){let{email:H,type:G,options:N}=Z,{error:F}=await JD(this.fetch,"POST",J,{headers:this.headers,body:{email:H,type:G,gotrue_meta_security:{captcha_token:N===null||N===void 0?void 0:N.captchaToken}},redirectTo:N===null||N===void 0?void 0:N.emailRedirectTo});return{data:{user:null,session:null},error:F}}else if("phone"in Z){let{phone:H,type:G,options:N}=Z,{data:F,error:C}=await JD(this.fetch,"POST",J,{headers:this.headers,body:{phone:H,type:G,gotrue_meta_security:{captcha_token:N===null||N===void 0?void 0:N.captchaToken}}});return{data:{user:null,session:null,messageId:F===null||F===void 0?void 0:F.message_id},error:C}}throw new Fb("You must provide either an email or phone number and a type")}catch(J){if(B7(J))return{data:{user:null,session:null},error:J};throw J}}async getSession(){return await this.initializePromise,await this._acquireLock(-1,async()=>{return this._useSession(async(J)=>{return J})})}async _acquireLock(Z,J){this._debug("#_acquireLock","begin",Z);try{if(this.lockAcquired){let H=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),G=(async()=>{return await H,await J()})();return this.pendingInLock.push((async()=>{try{await G}catch(N){}})()),G}return await this.lock(`lock:${this.storageKey}`,Z,async()=>{this._debug("#_acquireLock","lock acquired for storage key",this.storageKey);try{this.lockAcquired=!0;let H=J();this.pendingInLock.push((async()=>{try{await H}catch(G){}})()),await H;while(this.pendingInLock.length){let G=[...this.pendingInLock];await Promise.all(G),this.pendingInLock.splice(0,G.length)}return await H}finally{this._debug("#_acquireLock","lock released for storage key",this.storageKey),this.lockAcquired=!1}})}finally{this._debug("#_acquireLock","end")}}async _useSession(Z){this._debug("#_useSession","begin");try{let J=await this.__loadSession();return await Z(J)}finally{this._debug("#_useSession","end")}}async __loadSession(){if(this._debug("#__loadSession()","begin"),!this.lockAcquired)this._debug("#__loadSession()","used outside of an acquired lock!",Error().stack);try{let Z=null,J=await Cj(this.storage,this.storageKey);if(this._debug("#getSession()","session from storage",J),J!==null)if(this._isValidSession(J))Z=J;else this._debug("#getSession()","session from storage is not valid"),await this._removeSession();if(!Z)return{data:{session:null},error:null};let H=Z.expires_at?Z.expires_at*1000-Date.now()<HD1:!1;if(this._debug("#__loadSession()",`session has${H?"":" not"} expired`,"expires_at",Z.expires_at),!H){if(this.userStorage){let F=await Cj(this.userStorage,this.storageKey+"-user");if(F===null||F===void 0?void 0:F.user)Z.user=F.user;else Z.user=UD1()}if(this.storage.isServer&&Z.user){let F=this.suppressGetSessionWarning;Z=new Proxy(Z,{get:(_,m,c)=>{if(!F&&m==="user")console.warn("Using the user object as returned from supabase.auth.getSession() or from some supabase.auth.onAuthStateChange() events could be insecure! This value comes directly from the storage medium (usually cookies on the server) and may not be authentic. Use supabase.auth.getUser() instead which authenticates the data by contacting the Supabase Auth server."),F=!0,this.suppressGetSessionWarning=!0;return Reflect.get(_,m,c)}})}return{data:{session:Z},error:null}}let{session:G,error:N}=await this._callRefreshToken(Z.refresh_token);if(N)return{data:{session:null},error:N};return{data:{session:G},error:null}}finally{this._debug("#__loadSession()","end")}}async getUser(Z){if(Z)return await this._getUser(Z);return await this.initializePromise,await this._acquireLock(-1,async()=>{return await this._getUser()})}async _getUser(Z){try{if(Z)return await JD(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:Z,xform:WO});return await this._useSession(async(J)=>{var H,G,N;let{data:F,error:C}=J;if(C)throw C;if(!((H=F.session)===null||H===void 0?void 0:H.access_token)&&!this.hasCustomAuthorizationHeader)return{data:{user:null},error:new vF};return await JD(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:(N=(G=F.session)===null||G===void 0?void 0:G.access_token)!==null&&N!==void 0?N:void 0,xform:WO})})}catch(J){if(B7(J)){if(H52(J))await this._removeSession(),await NP(this.storage,`${this.storageKey}-code-verifier`);return{data:{user:null},error:J}}throw J}}async updateUser(Z,J={}){return await this.initializePromise,await this._acquireLock(-1,async()=>{return await this._updateUser(Z,J)})}async _updateUser(Z,J={}){try{return await this._useSession(async(H)=>{let{data:G,error:N}=H;if(N)throw N;if(!G.session)throw new vF;let F=G.session,C=null,_=null;if(this.flowType==="pkce"&&Z.email!=null)[C,_]=await Pk(this.storage,this.storageKey);let{data:m,error:c}=await JD(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:J===null||J===void 0?void 0:J.emailRedirectTo,body:Object.assign(Object.assign({},Z),{code_challenge:C,code_challenge_method:_}),jwt:F.access_token,xform:WO});if(c)throw c;return F.user=m.user,await this._saveSession(F),await this._notifyAllSubscribers("USER_UPDATED",F),{data:{user:F.user},error:null}})}catch(H){if(B7(H))return{data:{user:null},error:H};throw H}}async setSession(Z){return await this.initializePromise,await this._acquireLock(-1,async()=>{return await this._setSession(Z)})}async _setSession(Z){try{if(!Z.access_token||!Z.refresh_token)throw new vF;let J=Date.now()/1000,H=J,G=!0,N=null,{payload:F}=BD1(Z.access_token);if(F.exp)H=F.exp,G=H<=J;if(G){let{session:C,error:_}=await this._callRefreshToken(Z.refresh_token);if(_)return{data:{user:null,session:null},error:_};if(!C)return{data:{user:null,session:null},error:null};N=C}else{let{data:C,error:_}=await this._getUser(Z.access_token);if(_)throw _;N={access_token:Z.access_token,refresh_token:Z.refresh_token,user:C.user,token_type:"bearer",expires_in:H-J,expires_at:H},await this._saveSession(N),await this._notifyAllSubscribers("SIGNED_IN",N)}return{data:{user:N.user,session:N},error:null}}catch(J){if(B7(J))return{data:{session:null,user:null},error:J};throw J}}async refreshSession(Z){return await this.initializePromise,await this._acquireLock(-1,async()=>{return await this._refreshSession(Z)})}async _refreshSession(Z){try{return await this._useSession(async(J)=>{var H;if(!Z){let{data:F,error:C}=J;if(C)throw C;Z=(H=F.session)!==null&&H!==void 0?H:void 0}if(!(Z===null||Z===void 0?void 0:Z.refresh_token))throw new vF;let{session:G,error:N}=await this._callRefreshToken(Z.refresh_token);if(N)return{data:{user:null,session:null},error:N};if(!G)return{data:{user:null,session:null},error:null};return{data:{user:G.user,session:G},error:null}})}catch(J){if(B7(J))return{data:{user:null,session:null},error:J};throw J}}async _getSessionFromURL(Z,J){try{if(!CB())throw new Mb("No browser detected.");if(Z.error||Z.error_description||Z.error_code)throw new Mb(Z.error_description||"Error in URL with unspecified error_description",{error:Z.error||"unspecified_error",code:Z.error_code||"unspecified_code"});switch(J){case"implicit":if(this.flowType==="pkce")throw new qD1("Not a valid PKCE flow url.");break;case"pkce":if(this.flowType==="implicit")throw new Mb("Not a valid implicit grant flow url.");break;default:}if(J==="pkce"){if(this._debug("#_initialize()","begin","is PKCE flow",!0),!Z.code)throw new qD1("No code detected.");let{data:P2,error:h2}=await this._exchangeCodeForSession(Z.code);if(h2)throw h2;let d4=new URL(window.location.href);return d4.searchParams.delete("code"),window.history.replaceState(window.history.state,"",d4.toString()),{data:{session:P2.session,redirectType:null},error:null}}let{provider_token:H,provider_refresh_token:G,access_token:N,refresh_token:F,expires_in:C,expires_at:_,token_type:m}=Z;if(!N||!C||!F||!m)throw new Mb("No session defined in URL");let c=Math.round(Date.now()/1000),$1=parseInt(C),B1=c+$1;if(_)B1=parseInt(_);let n=B1-c;if(n*1000<=Ok)console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${n}s, should have been closer to ${$1}s`);let m1=B1-$1;if(c-m1>=120)console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale",m1,B1,c);else if(c-m1<0)console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clock for skew",m1,B1,c);let{data:A1,error:F1}=await this._getUser(N);if(F1)throw F1;let w2={provider_token:H,provider_refresh_token:G,access_token:N,expires_in:$1,expires_at:B1,refresh_token:F,token_type:m,user:A1.user};return window.location.hash="",this._debug("#_getSessionFromURL()","clearing window.location.hash"),{data:{session:w2,redirectType:Z.type},error:null}}catch(H){if(B7(H))return{data:{session:null,redirectType:null},error:H};throw H}}_isImplicitGrantCallback(Z){return Boolean(Z.access_token||Z.error_description)}async _isPKCECallback(Z){let J=await Cj(this.storage,`${this.storageKey}-code-verifier`);return!!(Z.code&&J)}async signOut(Z={scope:"global"}){return await this.initializePromise,await this._acquireLock(-1,async()=>{return await this._signOut(Z)})}async _signOut({scope:Z}={scope:"global"}){return await this._useSession(async(J)=>{var H;let{data:G,error:N}=J;if(N)return{error:N};let F=(H=G.session)===null||H===void 0?void 0:H.access_token;if(F){let{error:C}=await this.admin.signOut(F,Z);if(C){if(!(W52(C)&&(C.status===404||C.status===401||C.status===403)))return{error:C}}}if(Z!=="others")await this._removeSession(),await NP(this.storage,`${this.storageKey}-code-verifier`);return{error:null}})}onAuthStateChange(Z){let J=U52(),H={id:J,callback:Z,unsubscribe:()=>{this._debug("#unsubscribe()","state change callback with id removed",J),this.stateChangeEmitters.delete(J)}};return this._debug("#onAuthStateChange()","registered callback with id",J),this.stateChangeEmitters.set(J,H),(async()=>{await this.initializePromise,await this._acquireLock(-1,async()=>{this._emitInitialSession(J)})})(),{data:{subscription:H}}}async _emitInitialSession(Z){return await this._useSession(async(J)=>{var H,G;try{let{data:{session:N},error:F}=J;if(F)throw F;await((H=this.stateChangeEmitters.get(Z))===null||H===void 0?void 0:H.callback("INITIAL_SESSION",N)),this._debug("INITIAL_SESSION","callback id",Z,"session",N)}catch(N){await((G=this.stateChangeEmitters.get(Z))===null||G===void 0?void 0:G.callback("INITIAL_SESSION",null)),this._debug("INITIAL_SESSION","callback id",Z,"error",N),console.error(N)}})}async resetPasswordForEmail(Z,J={}){let H=null,G=null;if(this.flowType==="pkce")[H,G]=await Pk(this.storage,this.storageKey,!0);try{return await JD(this.fetch,"POST",`${this.url}/recover`,{body:{email:Z,code_challenge:H,code_challenge_method:G,gotrue_meta_security:{captcha_token:J.captchaToken}},headers:this.headers,redirectTo:J.redirectTo})}catch(N){if(B7(N))return{data:null,error:N};throw N}}async getUserIdentities(){var Z;try{let{data:J,error:H}=await this.getUser();if(H)throw H;return{data:{identities:(Z=J.user.identities)!==null&&Z!==void 0?Z:[]},error:null}}catch(J){if(B7(J))return{data:null,error:J};throw J}}async linkIdentity(Z){var J;try{let{data:H,error:G}=await this._useSession(async(N)=>{var F,C,_,m,c;let{data:$1,error:B1}=N;if(B1)throw B1;let n=await this._getUrlForProvider(`${this.url}/user/identities/authorize`,Z.provider,{redirectTo:(F=Z.options)===null||F===void 0?void 0:F.redirectTo,scopes:(C=Z.options)===null||C===void 0?void 0:C.scopes,queryParams:(_=Z.options)===null||_===void 0?void 0:_.queryParams,skipBrowserRedirect:!0});return await JD(this.fetch,"GET",n,{headers:this.headers,jwt:(c=(m=$1.session)===null||m===void 0?void 0:m.access_token)!==null&&c!==void 0?c:void 0})});if(G)throw G;if(CB()&&!((J=Z.options)===null||J===void 0?void 0:J.skipBrowserRedirect))window.location.assign(H===null||H===void 0?void 0:H.url);return{data:{provider:Z.provider,url:H===null||H===void 0?void 0:H.url},error:null}}catch(H){if(B7(H))return{data:{provider:Z.provider,url:null},error:H};throw H}}async unlinkIdentity(Z){try{return await this._useSession(async(J)=>{var H,G;let{data:N,error:F}=J;if(F)throw F;return await JD(this.fetch,"DELETE",`${this.url}/user/identities/${Z.identity_id}`,{headers:this.headers,jwt:(G=(H=N.session)===null||H===void 0?void 0:H.access_token)!==null&&G!==void 0?G:void 0})})}catch(J){if(B7(J))return{data:null,error:J};throw J}}async _refreshAccessToken(Z){let J=`#_refreshAccessToken(${Z.substring(0,5)}...)`;this._debug(J,"begin");try{let H=Date.now();return await O52(async(G)=>{if(G>0)await L52(200*Math.pow(2,G-1));return this._debug(J,"refreshing attempt",G),await JD(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:Z},headers:this.headers,xform:JO})},(G,N)=>{let F=200*Math.pow(2,G);return N&&GD1(N)&&Date.now()+F-H<Ok})}catch(H){if(this._debug(J,"error",H),B7(H))return{data:{session:null,user:null},error:H};throw H}finally{this._debug(J,"end")}}_isValidSession(Z){return typeof Z==="object"&&Z!==null&&"access_token"in Z&&"refresh_token"in Z&&"expires_at"in Z}async _handleProviderSignIn(Z,J){let H=await this._getUrlForProvider(`${this.url}/authorize`,Z,{redirectTo:J.redirectTo,scopes:J.scopes,queryParams:J.queryParams});if(this._debug("#_handleProviderSignIn()","provider",Z,"options",J,"url",H),CB()&&!J.skipBrowserRedirect)window.location.assign(H);return{data:{provider:Z,url:H},error:null}}async _recoverAndRefresh(){var Z,J;let H="#_recoverAndRefresh()";this._debug("#_recoverAndRefresh()","begin");try{let G=await Cj(this.storage,this.storageKey);if(G&&this.userStorage){let F=await Cj(this.userStorage,this.storageKey+"-user");if(!this.storage.isServer&&Object.is(this.storage,this.userStorage)&&!F)F={user:G.user},await Ak(this.userStorage,this.storageKey+"-user",F);G.user=(Z=F===null||F===void 0?void 0:F.user)!==null&&Z!==void 0?Z:UD1()}else if(G&&!G.user){if(!G.user){let F=await Cj(this.storage,this.storageKey+"-user");if(F&&(F===null||F===void 0?void 0:F.user))G.user=F.user,await NP(this.storage,this.storageKey+"-user"),await Ak(this.storage,this.storageKey,G);else G.user=UD1()}}if(this._debug("#_recoverAndRefresh()","session from storage",G),!this._isValidSession(G)){if(this._debug("#_recoverAndRefresh()","session is not valid"),G!==null)await this._removeSession();return}let N=((J=G.expires_at)!==null&&J!==void 0?J:1/0)*1000-Date.now()<HD1;if(this._debug("#_recoverAndRefresh()",`session has${N?"":" not"} expired with margin of ${HD1}s`),N){if(this.autoRefreshToken&&G.refresh_token){let{error:F}=await this._callRefreshToken(G.refresh_token);if(F){if(console.error(F),!GD1(F))this._debug("#_recoverAndRefresh()","refresh failed with a non-retryable error, removing the session",F),await this._removeSession()}}}else if(G.user&&G.user.__isUserNotAvailableProxy===!0)try{let{data:F,error:C}=await this._getUser(G.access_token);if(!C&&(F===null||F===void 0?void 0:F.user))G.user=F.user,await this._saveSession(G),await this._notifyAllSubscribers("SIGNED_IN",G);else this._debug("#_recoverAndRefresh()","could not get user data, skipping SIGNED_IN notification")}catch(F){console.error("Error getting user data:",F),this._debug("#_recoverAndRefresh()","error getting user data, skipping SIGNED_IN notification",F)}else await this._notifyAllSubscribers("SIGNED_IN",G)}catch(G){this._debug("#_recoverAndRefresh()","error",G),console.error(G);return}finally{this._debug("#_recoverAndRefresh()","end")}}async _callRefreshToken(Z){var J,H;if(!Z)throw new vF;if(this.refreshingDeferred)return this.refreshingDeferred.promise;let G=`#_callRefreshToken(${Z.substring(0,5)}...)`;this._debug(G,"begin");try{this.refreshingDeferred=new Yo;let{data:N,error:F}=await this._refreshAccessToken(Z);if(F)throw F;if(!N.session)throw new vF;await this._saveSession(N.session),await this._notifyAllSubscribers("TOKEN_REFRESHED",N.session);let C={session:N.session,error:null};return this.refreshingDeferred.resolve(C),C}catch(N){if(this._debug(G,"error",N),B7(N)){let F={session:null,error:N};if(!GD1(N))await this._removeSession();return(J=this.refreshingDeferred)===null||J===void 0||J.resolve(F),F}throw(H=this.refreshingDeferred)===null||H===void 0||H.reject(N),N}finally{this.refreshingDeferred=null,this._debug(G,"end")}}async _notifyAllSubscribers(Z,J,H=!0){let G=`#_notifyAllSubscribers(${Z})`;this._debug(G,"begin",J,`broadcast = ${H}`);try{if(this.broadcastChannel&&H)this.broadcastChannel.postMessage({event:Z,session:J});let N=[],F=Array.from(this.stateChangeEmitters.values()).map(async(C)=>{try{await C.callback(Z,J)}catch(_){N.push(_)}});if(await Promise.all(F),N.length>0){for(let C=0;C<N.length;C+=1)console.error(N[C]);throw N[0]}}finally{this._debug(G,"end")}}async _saveSession(Z){this._debug("#_saveSession()",Z),this.suppressGetSessionWarning=!0;let J=Object.assign({},Z),H=J.user&&J.user.__isUserNotAvailableProxy===!0;if(this.userStorage){if(!H&&J.user)await Ak(this.userStorage,this.storageKey+"-user",{user:J.user});let G=Object.assign({},J);delete G.user;let N=CP1(G);await Ak(this.storage,this.storageKey,N)}else{let G=CP1(J);await Ak(this.storage,this.storageKey,G)}}async _removeSession(){if(this._debug("#_removeSession()"),await NP(this.storage,this.storageKey),await NP(this.storage,this.storageKey+"-code-verifier"),await NP(this.storage,this.storageKey+"-user"),this.userStorage)await NP(this.userStorage,this.storageKey+"-user");await this._notifyAllSubscribers("SIGNED_OUT",null)}_removeVisibilityChangedCallback(){this._debug("#_removeVisibilityChangedCallback()");let Z=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{if(Z&&CB()&&(window===null||window===void 0?void 0:window.removeEventListener))window.removeEventListener("visibilitychange",Z)}catch(J){console.error("removing visibilitychange callback failed",J)}}async _startAutoRefresh(){await this._stopAutoRefresh(),this._debug("#_startAutoRefresh()");let Z=setInterval(()=>this._autoRefreshTokenTick(),Ok);if(this.autoRefreshTicker=Z,Z&&typeof Z==="object"&&typeof Z.unref==="function")Z.unref();else if(typeof Deno<"u"&&typeof Deno.unrefTimer==="function")Deno.unrefTimer(Z);setTimeout(async()=>{await this.initializePromise,await this._autoRefreshTokenTick()},0)}async _stopAutoRefresh(){this._debug("#_stopAutoRefresh()");let Z=this.autoRefreshTicker;if(this.autoRefreshTicker=null,Z)clearInterval(Z)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async _autoRefreshTokenTick(){this._debug("#_autoRefreshTokenTick()","begin");try{await this._acquireLock(0,async()=>{try{let Z=Date.now();try{return await this._useSession(async(J)=>{let{data:{session:H}}=J;if(!H||!H.refresh_token||!H.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}let G=Math.floor((H.expires_at*1000-Z)/Ok);if(this._debug("#_autoRefreshTokenTick()",`access token expires in ${G} ticks, a tick lasts ${Ok}ms, refresh threshold is ${WD1} ticks`),G<=WD1)await this._callRefreshToken(H.refresh_token)})}catch(J){console.error("Auto refresh tick failed with error. This is likely a transient error.",J)}}finally{this._debug("#_autoRefreshTokenTick()","end")}})}catch(Z){if(Z.isAcquireTimeout||Z instanceof MD1)this._debug("auto refresh token tick lock not available");else throw Z}}async _handleVisibilityChange(){if(this._debug("#_handleVisibilityChange()"),!CB()||!(window===null||window===void 0?void 0:window.addEventListener)){if(this.autoRefreshToken)this.startAutoRefresh();return!1}try{this.visibilityChangedCallback=async()=>await this._onVisibilityChanged(!1),window===null||window===void 0||window.addEventListener("visibilitychange",this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(Z){console.error("_handleVisibilityChange",Z)}}async _onVisibilityChanged(Z){let J=`#_onVisibilityChanged(${Z})`;if(this._debug(J,"visibilityState",document.visibilityState),document.visibilityState==="visible"){if(this.autoRefreshToken)this._startAutoRefresh();if(!Z)await this.initializePromise,await this._acquireLock(-1,async()=>{if(document.visibilityState!=="visible"){this._debug(J,"acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting");return}await this._recoverAndRefresh()})}else if(document.visibilityState==="hidden"){if(this.autoRefreshToken)this._stopAutoRefresh()}}async _getUrlForProvider(Z,J,H){let G=[`provider=${encodeURIComponent(J)}`];if(H===null||H===void 0?void 0:H.redirectTo)G.push(`redirect_to=${encodeURIComponent(H.redirectTo)}`);if(H===null||H===void 0?void 0:H.scopes)G.push(`scopes=${encodeURIComponent(H.scopes)}`);if(this.flowType==="pkce"){let[N,F]=await Pk(this.storage,this.storageKey),C=new URLSearchParams({code_challenge:`${encodeURIComponent(N)}`,code_challenge_method:`${encodeURIComponent(F)}`});G.push(C.toString())}if(H===null||H===void 0?void 0:H.queryParams){let N=new URLSearchParams(H.queryParams);G.push(N.toString())}if(H===null||H===void 0?void 0:H.skipBrowserRedirect)G.push(`skip_http_redirect=${H.skipBrowserRedirect}`);return`${Z}?${G.join("&")}`}async _unenroll(Z){try{return await this._useSession(async(J)=>{var H;let{data:G,error:N}=J;if(N)return{data:null,error:N};return await JD(this.fetch,"DELETE",`${this.url}/factors/${Z.factorId}`,{headers:this.headers,jwt:(H=G===null||G===void 0?void 0:G.session)===null||H===void 0?void 0:H.access_token})})}catch(J){if(B7(J))return{data:null,error:J};throw J}}async _enroll(Z){try{return await this._useSession(async(J)=>{var H,G;let{data:N,error:F}=J;if(F)return{data:null,error:F};let C=Object.assign({friendly_name:Z.friendlyName,factor_type:Z.factorType},Z.factorType==="phone"?{phone:Z.phone}:{issuer:Z.issuer}),{data:_,error:m}=await JD(this.fetch,"POST",`${this.url}/factors`,{body:C,headers:this.headers,jwt:(H=N===null||N===void 0?void 0:N.session)===null||H===void 0?void 0:H.access_token});if(m)return{data:null,error:m};if(Z.factorType==="totp"&&((G=_===null||_===void 0?void 0:_.totp)===null||G===void 0?void 0:G.qr_code))_.totp.qr_code=`data:image/svg+xml;utf-8,${_.totp.qr_code}`;return{data:_,error:null}})}catch(J){if(B7(J))return{data:null,error:J};throw J}}async _verify(Z){return this._acquireLock(-1,async()=>{try{return await this._useSession(async(J)=>{var H;let{data:G,error:N}=J;if(N)return{data:null,error:N};let{data:F,error:C}=await JD(this.fetch,"POST",`${this.url}/factors/${Z.factorId}/verify`,{body:{code:Z.code,challenge_id:Z.challengeId},headers:this.headers,jwt:(H=G===null||G===void 0?void 0:G.session)===null||H===void 0?void 0:H.access_token});if(C)return{data:null,error:C};return await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1000)+F.expires_in},F)),await this._notifyAllSubscribers("MFA_CHALLENGE_VERIFIED",F),{data:F,error:C}})}catch(J){if(B7(J))return{data:null,error:J};throw J}})}async _challenge(Z){return this._acquireLock(-1,async()=>{try{return await this._useSession(async(J)=>{var H;let{data:G,error:N}=J;if(N)return{data:null,error:N};return await JD(this.fetch,"POST",`${this.url}/factors/${Z.factorId}/challenge`,{body:{channel:Z.channel},headers:this.headers,jwt:(H=G===null||G===void 0?void 0:G.session)===null||H===void 0?void 0:H.access_token})})}catch(J){if(B7(J))return{data:null,error:J};throw J}})}async _challengeAndVerify(Z){let{data:J,error:H}=await this._challenge({factorId:Z.factorId});if(H)return{data:null,error:H};return await this._verify({factorId:Z.factorId,challengeId:J.id,code:Z.code})}async _listFactors(){let{data:{user:Z},error:J}=await this.getUser();if(J)return{data:null,error:J};let H=(Z===null||Z===void 0?void 0:Z.factors)||[],G=H.filter((F)=>F.factor_type==="totp"&&F.status==="verified"),N=H.filter((F)=>F.factor_type==="phone"&&F.status==="verified");return{data:{all:H,totp:G,phone:N},error:null}}async _getAuthenticatorAssuranceLevel(){return this._acquireLock(-1,async()=>{return await this._useSession(async(Z)=>{var J,H;let{data:{session:G},error:N}=Z;if(N)return{data:null,error:N};if(!G)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};let{payload:F}=BD1(G.access_token),C=null;if(F.aal)C=F.aal;let _=C;if(((H=(J=G.user.factors)===null||J===void 0?void 0:J.filter(($1)=>$1.status==="verified"))!==null&&H!==void 0?H:[]).length>0)_="aal2";let c=F.amr||[];return{data:{currentLevel:C,nextLevel:_,currentAuthenticationMethods:c},error:null}})})}async fetchJwk(Z,J={keys:[]}){let H=J.keys.find((C)=>C.kid===Z);if(H)return H;let G=Date.now();if(H=this.jwks.keys.find((C)=>C.kid===Z),H&&this.jwks_cached_at+J52>G)return H;let{data:N,error:F}=await JD(this.fetch,"GET",`${this.url}/.well-known/jwks.json`,{headers:this.headers});if(F)throw F;if(!N.keys||N.keys.length===0)return null;if(this.jwks=N,this.jwks_cached_at=G,H=N.keys.find((C)=>C.kid===Z),!H)return null;return H}async getClaims(Z,J={}){try{let H=Z;if(!H){let{data:n,error:m1}=await this.getSession();if(m1||!n.session)return{data:null,error:m1};H=n.session.access_token}let{header:G,payload:N,signature:F,raw:{header:C,payload:_}}=BD1(H);if(!(J===null||J===void 0?void 0:J.allowExpired))A52(N.exp);let m=!G.alg||G.alg.startsWith("HS")||!G.kid||!(("crypto"in globalThis)&&("subtle"in globalThis.crypto))?null:await this.fetchJwk(G.kid,(J===null||J===void 0?void 0:J.keys)?{keys:J.keys}:J===null||J===void 0?void 0:J.jwks);if(!m){let{error:n}=await this.getUser(H);if(n)throw n;return{data:{claims:N,header:G,signature:F},error:null}}let c=P52(G.alg),$1=await crypto.subtle.importKey("jwk",m,c,!0,["verify"]);if(!await crypto.subtle.verify(c,$1,F,N52(`${C}.${_}`)))throw new Lb("Invalid JWT signature");return{data:{claims:N,header:G,signature:F},error:null}}catch(H){if(B7(H))return{data:null,error:H};throw H}}}Ej.nextInstanceID=0;var _Z4=Ej,dP1=_Z4;class SP1 extends dP1{constructor(Z){super(Z)}}var xZ4=function(Z,J,H,G){function N(F){return F instanceof H?F:new H(function(C){C(F)})}return new(H||(H=Promise))(function(F,C){function _($1){try{c(G.next($1))}catch(B1){C(B1)}}function m($1){try{c(G.throw($1))}catch(B1){C(B1)}}function c($1){$1.done?F($1.value):N($1.value).then(_,m)}c((G=G.apply(Z,J||[])).next())})};class LD1{constructor(Z,J,H){var G,N,F;if(this.supabaseUrl=Z,this.supabaseKey=J,!Z)throw Error("supabaseUrl is required.");if(!J)throw Error("supabaseKey is required.");let C=D52(Z),_=new URL(C);this.realtimeUrl=new URL("realtime/v1",_),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace("http","ws"),this.authUrl=new URL("auth/v1",_),this.storageUrl=new URL("storage/v1",_),this.functionsUrl=new URL("functions/v1",_);let m=`sb-${_.hostname.split(".")[0]}-auth-token`,c={db:s92,realtime:r92,auth:Object.assign(Object.assign({},t92),{storageKey:m}),global:o92},$1=$52(H!==null&&H!==void 0?H:{},c);if(this.storageKey=(G=$1.auth.storageKey)!==null&&G!==void 0?G:"",this.headers=(N=$1.global.headers)!==null&&N!==void 0?N:{},!$1.accessToken)this.auth=this._initSupabaseAuthClient((F=$1.auth)!==null&&F!==void 0?F:{},this.headers,$1.global.fetch);else this.accessToken=$1.accessToken,this.auth=new Proxy({},{get:(B1,n)=>{throw Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(n)} is not possible`)}});if(this.fetch=e92(J,this._getAccessToken.bind(this),$1.global.fetch),this.realtime=this._initRealtimeClient(Object.assign({headers:this.headers,accessToken:this._getAccessToken.bind(this)},$1.realtime)),this.rest=new _92(new URL("rest/v1",_).href,{headers:this.headers,schema:$1.db.schema,fetch:this.fetch}),this.storage=new QD1(this.storageUrl.href,this.headers,this.fetch,H===null||H===void 0?void 0:H.storage),!$1.accessToken)this._listenForAuthEvents()}get functions(){return new i71(this.functionsUrl.href,{headers:this.headers,customFetch:this.fetch})}from(Z){return this.rest.from(Z)}schema(Z){return this.rest.schema(Z)}rpc(Z,J={},H={}){return this.rest.rpc(Z,J,H)}channel(Z,J={config:{}}){return this.realtime.channel(Z,J)}getChannels(){return this.realtime.getChannels()}removeChannel(Z){return this.realtime.removeChannel(Z)}removeAllChannels(){return this.realtime.removeAllChannels()}_getAccessToken(){var Z,J;return xZ4(this,void 0,void 0,function*(){if(this.accessToken)return yield this.accessToken();let{data:H}=yield this.auth.getSession();return(J=(Z=H.session)===null||Z===void 0?void 0:Z.access_token)!==null&&J!==void 0?J:this.supabaseKey})}_initSupabaseAuthClient({autoRefreshToken:Z,persistSession:J,detectSessionInUrl:H,storage:G,storageKey:N,flowType:F,lock:C,debug:_},m,c){let $1={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new SP1({url:this.authUrl.href,headers:Object.assign(Object.assign({},$1),m),storageKey:N,autoRefreshToken:Z,persistSession:J,detectSessionInUrl:H,storage:G,flowType:F,lock:C,debug:_,fetch:c,hasCustomAuthorizationHeader:"Authorization"in this.headers})}_initRealtimeClient(Z){return new tn(this.realtimeUrl.href,Object.assign(Object.assign({},Z),{params:Object.assign({apikey:this.supabaseKey},Z===null||Z===void 0?void 0:Z.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((J,H)=>{this._handleTokenChanged(J,"CLIENT",H===null||H===void 0?void 0:H.access_token)})}_handleTokenChanged(Z,J,H){if((Z==="TOKEN_REFRESHED"||Z==="SIGNED_IN")&&this.changedAccessToken!==H)this.changedAccessToken=H;else if(Z==="SIGNED_OUT"){if(this.realtime.setAuth(),J=="STORAGE")this.auth.signOut();this.changedAccessToken=void 0}}}var Jo=(Z,J,H)=>{return new LD1(Z,J,H)};function pZ4(){if(typeof window<"u")return!1;if(typeof process>"u")return!1;let Z=process.version;if(Z===void 0||Z===null)return!1;let J=Z.match(/^v(\d+)\./);if(!J)return!1;return parseInt(J[1],10)<=18}if(pZ4())console.warn("\u26A0\uFE0F Node.js 18 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. "+"Please upgrade to Node.js 20 or later. For more information, visit: https://github.com/orgs/supabase/discussions/37217");var S52=import.meta.env.PUBLIC_SUPABASE_URL,k52=import.meta.env.PUBLIC_SUPABASE_PUBLIC_KEY,kP1=null;function _52(){if(!kP1){if(!S52||!k52)throw Error("Missing Supabase environment variables. Please ensure PUBLIC_SUPABASE_URL and PUBLIC_SUPABASE_PUBLIC_KEY are set.");kP1=Jo(S52,k52)}return kP1}var x52=import.meta.env?.PUBLIC_TAILSCALE_IP,p52=import.meta.env?.PUBLIC_TAILSCALE_DNS,fZ4=import.meta.env?.PUBLIC_NGROK_URL,Ab=v71()?p52?`https://${p52}:8000`:x52?`https://${x52}:8000`:"https://localhost:8000":pn(),t66=v71()?fZ4||"https://localhost:8000":Ab,r66=v71()?`${Ab.replace("https","wss").replace("8000","3001")}/conversation`:`${pn().replace("https","wss")}/conversation`,vZ4=sA1(20),mZ4=()=>{if(typeof window<"u"&&window.location?.search)return new URLSearchParams(window.location.search).get("widgetToken")??null;return null};function _P1(Z=Ab,J,H,G){let N=mZ4();return oR1(Z,{fetcher:Object.assign(async(F,C)=>{let _,m;if(N)_=`vermillion_widget_${N}`;else if(J)_=J.accessToken,m=J.userId;else{let{data:{session:n}}=await _52().auth.getSession();_=n?.access_token,m=n?.user.id}o31({id:m});let c=new Headers;if(C?.body&&!(C.body instanceof FormData))c.set("Content-Type","application/json");_&&c.set("Authorization",`Bearer ${_}`);try{let n=Intl.DateTimeFormat().resolvedOptions().timeZone;if(n)c.set("X-User-Timezone",n)}catch(n){n31(n)}if(H)for(let[n,m1]of Object.entries(H))c.set(n,m1);let $1=()=>vZ4(()=>fetch(F,{...C,headers:{...Object.fromEntries(c.entries()),...C?.headers}}));return G?.shouldRetry?await l02($1,G):await $1()},{preconnect:fetch.preconnect})})}var e66=_P1();import{existsSync as $32,mkdirSync as OX4,readFileSync as RX4,writeFileSync as AX4}from"fs";import PX4 from"http";import{homedir as CX4}from"os";import{join as Z32}from"path";import aP1 from"process";import r52 from"path";import{fileURLToPath as BX4}from"url";import UX4 from"child_process";import FX4,{constants as MX4}from"fs/promises";import{promisify as oZ4}from"util";import sZ4 from"child_process";import mP1,{constants as g52}from"fs/promises";import m52 from"process";import uZ4 from"os";import lZ4 from"fs";import gZ4 from"fs";import f52 from"fs";var xP1;function bZ4(){try{return f52.statSync("/.dockerenv"),!0}catch{return!1}}function yZ4(){try{return f52.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function pP1(){if(xP1===void 0)xP1=bZ4()||yZ4();return xP1}var fP1,hZ4=()=>{try{return gZ4.statSync("/run/.containerenv"),!0}catch{return!1}};function Pb(){if(fP1===void 0)fP1=hZ4()||pP1();return fP1}var v52=()=>{if(m52.platform!=="linux")return!1;if(uZ4.release().toLowerCase().includes("microsoft")){if(Pb())return!1;return!0}try{return lZ4.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")?!Pb():!1}catch{return!1}},KP=m52.env.__IS_WSL_TEST__?v52:v52();import b52 from"process";import{Buffer as cZ4}from"buffer";import{promisify as aZ4}from"util";import iZ4 from"child_process";var nZ4=aZ4(iZ4.execFile),vP1=()=>`${b52.env.SYSTEMROOT||b52.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`;var MN=async(Z,J={})=>{let{powerShellPath:H,...G}=J,N=MN.encodeCommand(Z);return nZ4(H??vP1(),[...MN.argumentsPrefix,N],{encoding:"utf8",...G})};MN.argumentsPrefix=["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"];MN.encodeCommand=(Z)=>cZ4.from(Z,"utf16le").toString("base64");MN.escapeArgument=(Z)=>`'${String(Z).replaceAll("'","''")}'`;var tZ4=oZ4(sZ4.execFile),rZ4=(()=>{let J;return async function(){if(J)return J;let H="/etc/wsl.conf",G=!1;try{await mP1.access(H,g52.F_OK),G=!0}catch{}if(!G)return"/mnt/";let N=await mP1.readFile(H,{encoding:"utf8"}),F=/(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(N);if(!F)return"/mnt/";return J=F.groups.mountPoint.trim(),J=J.endsWith("/")?J:`${J}/`,J}})(),eZ4=async()=>{return`${await rZ4()}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`},OD1=KP?eZ4:vP1,y52,h52=async()=>{return y52??=(async()=>{try{let Z=await OD1();return await mP1.access(Z,g52.X_OK),!0}catch{return!1}})(),y52},u52=async()=>{let Z=await OD1(),J=String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`,{stdout:H}=await MN(J,{powerShellPath:Z});return H.trim()},l52=async(Z)=>{if(/^[a-z]+:\/\//i.test(Z))return Z;try{let{stdout:J}=await tZ4("wslpath",["-aw",Z],{encoding:"utf8"});return J.trim()}catch{return Z}};function Ik(Z,J,H){let G=(N)=>Object.defineProperty(Z,J,{value:N,enumerable:!0,writable:!0});return Object.defineProperty(Z,J,{configurable:!0,enumerable:!0,get(){let N=H();return G(N),N},set(N){G(N)}}),Z}import{promisify as GX4}from"util";import uP1 from"process";import{execFile as wX4}from"child_process";import{promisify as DX4}from"util";import $X4 from"process";import{execFile as ZX4}from"child_process";var XX4=DX4(ZX4);async function bP1(){if($X4.platform!=="darwin")throw Error("macOS only");let{stdout:Z}=await XX4("defaults",["read","com.apple.LaunchServices/com.apple.launchservices.secure","LSHandlers"]),H=/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(Z)?.groups.id??"com.apple.Safari";if(H==="com.apple.safari")return"com.apple.Safari";return H}import QX4 from"process";import{promisify as YX4}from"util";import{execFile as JX4,execFileSync as x06}from"child_process";var WX4=YX4(JX4);async function c52(Z,{humanReadableOutput:J=!0,signal:H}={}){if(QX4.platform!=="darwin")throw Error("macOS only");let G=J?[]:["-ss"],N={};if(H)N.signal=H;let{stdout:F}=await WX4("osascript",["-e",Z,G],N);return F.trim()}async function yP1(Z){return c52(`tell application "Finder" to set app_path to application file id "${Z}" as string
632
- tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}import{promisify as HX4}from"util";import{execFile as zX4}from"child_process";var qX4=HX4(zX4),a52={MSEdgeHTM:{name:"Edge",id:"com.microsoft.edge"},MSEdgeBHTML:{name:"Edge Beta",id:"com.microsoft.edge.beta"},MSEdgeDHTML:{name:"Edge Dev",id:"com.microsoft.edge.dev"},AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:"Edge",id:"com.microsoft.edge.old"},ChromeHTML:{name:"Chrome",id:"com.google.chrome"},ChromeBHTML:{name:"Chrome Beta",id:"com.google.chrome.beta"},ChromeDHTML:{name:"Chrome Dev",id:"com.google.chrome.dev"},ChromiumHTM:{name:"Chromium",id:"org.chromium.Chromium"},BraveHTML:{name:"Brave",id:"com.brave.Browser"},BraveBHTML:{name:"Brave Beta",id:"com.brave.Browser.beta"},BraveDHTML:{name:"Brave Dev",id:"com.brave.Browser.dev"},BraveSSHTM:{name:"Brave Nightly",id:"com.brave.Browser.nightly"},FirefoxURL:{name:"Firefox",id:"org.mozilla.firefox"},OperaStable:{name:"Opera",id:"com.operasoftware.Opera"},VivaldiHTM:{name:"Vivaldi",id:"com.vivaldi.Vivaldi"},"IE.HTTP":{name:"Internet Explorer",id:"com.microsoft.ie"}},RD1=new Map(Object.entries(a52));class gP1 extends Error{}async function hP1(Z=qX4){let{stdout:J}=await Z("reg",["QUERY"," HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice","/v","ProgId"]),H=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(J);if(!H)throw new gP1(`Cannot find Windows browser in stdout: ${JSON.stringify(J)}`);let{id:G}=H.groups,N=a52[G];if(!N)throw new gP1(`Unknown browser ID: ${G}`);return N}var VX4=GX4(wX4),NX4=(Z)=>Z.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,(J)=>J.toUpperCase());async function lP1(){if(uP1.platform==="darwin"){let Z=await bP1();return{name:await yP1(Z),id:Z}}if(uP1.platform==="linux"){let{stdout:Z}=await VX4("xdg-mime",["query","default","x-scheme-handler/http"]),J=Z.trim();return{name:NX4(J.replace(/.desktop$/,"").replace("-"," ")),id:J}}if(uP1.platform==="win32")return hP1();throw Error("Only macOS, Linux, and Windows are supported")}import cP1 from"process";var KX4=Boolean(cP1.env.SSH_CONNECTION||cP1.env.SSH_CLIENT||cP1.env.SSH_TTY),i52=KX4;var AD1=Symbol("fallbackAttempt"),iP1=import.meta.url?r52.dirname(BX4(import.meta.url)):"",n52=r52.join(iP1,"xdg-open"),{platform:Cb,arch:o52}=aP1,s52=async(Z,J)=>{if(Z.length===0)return;let H=[];for(let G of Z)try{return await J(G)}catch(N){H.push(N)}throw AggregateError(H,"Failed to open in all supported apps")},PD1=async(Z)=>{Z={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...Z};let J=Z[AD1]===!0;if(delete Z[AD1],Array.isArray(Z.app))return s52(Z.app,(c)=>PD1({...Z,app:c,[AD1]:!0}));let{name:H,arguments:G=[]}=Z.app??{};if(G=[...G],Array.isArray(H))return s52(H,(c)=>PD1({...Z,app:{name:c,arguments:G},[AD1]:!0}));if(H==="browser"||H==="browserPrivate"){let c={"com.google.chrome":"chrome","google-chrome.desktop":"chrome","com.brave.browser":"brave","org.mozilla.firefox":"firefox","firefox.desktop":"firefox","com.microsoft.msedge":"edge","com.microsoft.edge":"edge","com.microsoft.edgemac":"edge","microsoft-edge.desktop":"edge","com.apple.safari":"safari"},$1={chrome:"--incognito",brave:"--incognito",firefox:"--private-window",edge:"--inPrivate"},B1;if(KP){let n=await u52();B1=RD1.get(n)??{}}else B1=await lP1();if(B1.id in c){let n=c[B1.id.toLowerCase()];if(H==="browserPrivate"){if(n==="safari")throw Error("Safari doesn't support opening in private mode via command line");G.push($1[n])}return PD1({...Z,app:{name:Eb[n],arguments:G}})}throw Error(`${B1.name} is not supported as a default browser`)}let N,F=[],C={},_=!1;if(KP&&!Pb()&&!i52&&!H)_=await h52();if(Cb==="darwin"){if(N="open",Z.wait)F.push("--wait-apps");if(Z.background)F.push("--background");if(Z.newInstance)F.push("--new");if(H)F.push("-a",H)}else if(Cb==="win32"||_){if(N=await OD1(),F.push(...MN.argumentsPrefix),!KP)C.windowsVerbatimArguments=!0;if(KP&&Z.target)Z.target=await l52(Z.target);let c=["$ProgressPreference = 'SilentlyContinue';","Start"];if(Z.wait)c.push("-Wait");if(H){if(c.push(MN.escapeArgument(H)),Z.target)G.push(Z.target)}else if(Z.target)c.push(MN.escapeArgument(Z.target));if(G.length>0)G=G.map(($1)=>MN.escapeArgument($1)),c.push("-ArgumentList",G.join(","));if(Z.target=MN.encodeCommand(c.join(" ")),!Z.wait)C.stdio="ignore"}else{if(H)N=H;else{let c=!iP1||iP1==="/",$1=!1;try{await FX4.access(n52,MX4.X_OK),$1=!0}catch{}N=aP1.versions.electron??(Cb==="android"||c||!$1)?"xdg-open":n52}if(G.length>0)F.push(...G);if(!Z.wait)C.stdio="ignore",C.detached=!0}if(Cb==="darwin"&&G.length>0)F.push("--args",...G);if(Z.target)F.push(Z.target);let m=UX4.spawn(N,F,C);if(Z.wait)return new Promise((c,$1)=>{m.once("error",$1),m.once("close",(B1)=>{if(!Z.allowNonzeroExitCode&&B1!==0){$1(Error(`Exited with code ${B1}`));return}c(m)})});if(J)return new Promise((c,$1)=>{m.once("error",$1),m.once("spawn",()=>{m.once("close",(B1)=>{if(m.off("error",$1),B1!==0){$1(Error(`Exited with code ${B1}`));return}m.unref(),c(m)})})});return m.unref(),new Promise((c,$1)=>{m.once("error",$1),m.once("spawn",()=>{m.off("error",$1),c(m)})})},LX4=(Z,J)=>{if(typeof Z!=="string")throw TypeError("Expected a `target`");return PD1({...J,target:Z})};function t52(Z){if(typeof Z==="string"||Array.isArray(Z))return Z;let{[o52]:J}=Z;if(!J)throw Error(`${o52} is not supported`);return J}function Wo({[Cb]:Z},{wsl:J}={}){if(J&&KP)return t52(J);if(!Z)throw Error(`${Cb} is not supported`);return t52(Z)}var Eb={browser:"browser",browserPrivate:"browserPrivate"};Ik(Eb,"chrome",()=>Wo({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium","chromium-browser"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]}}));Ik(Eb,"brave",()=>Wo({darwin:"brave browser",win32:"brave",linux:["brave-browser","brave"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe",x64:["/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe","/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe"]}}));Ik(Eb,"firefox",()=>Wo({darwin:"firefox",win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));Ik(Eb,"edge",()=>Wo({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));Ik(Eb,"safari",()=>Wo({darwin:"Safari"}));var e52=LX4;var D32=Y2.Array(Y2.Union([u02,h02]));class Tk extends Error{cause;constructor(Z,J){super(Z);this.cause=J;this.name="InvalidAuthFileError"}}var nP1=Z32(CX4(),".vermillion"),oP1=Z32(nP1,"auth.json");function jb(){if(!$32(oP1))return[];try{let Z=RX4(oP1,"utf8");if(!Z.trim())return[];let J=JSON.parse(Z);if(!zP.Check(D32,J)){let G=[...zP.Errors(D32,J)];throw new Tk(`Auth file has invalid format: ${G.map((N)=>`${N.path}: ${N.message}`).join(", ")}`,G)}let H=[];for(let G of J)if(!("type"in G))H.push({type:"supabase",userId:G.userId,userEmail:G.userEmail,token:G.token,isSelected:G.isSelected,serverUrl:G.serverUrl,expiresAt:G.expiresAt,supabaseUrl:G.supabaseUrl,supabaseKey:G.supabaseKey,refreshToken:G.refreshToken});else H.push(G);return H}catch(Z){if(Z instanceof Tk)throw Z;throw new Tk("Failed to parse auth file",Z)}}function Ho(Z){if(!$32(nP1))OX4(nP1,{recursive:!0});AX4(oP1,JSON.stringify(Z,null,2))}function EX4(Z){let H=Math.floor(Date.now()/1000);return Z<=H+300}function jj(){let Z=jb();if(!Z.length)throw Error("No auth found. Run `dreamer auth login` to authenticate.");return Z.map((H)=>{let G=EX4(H.expiresAt);if(H.type==="supabase")return{type:"supabase",supabaseUrl:H.supabaseUrl,supabaseKey:H.supabaseKey,refreshToken:H.refreshToken,userId:H.userId,userEmail:H.userEmail,token:H.token,isExpired:G,isSelected:H.isSelected,serverUrl:H.serverUrl,canRefresh:!0,expiresAt:H.expiresAt};return{type:"coding-session",userId:H.userId,userEmail:H.userEmail,token:H.token,isExpired:G,isSelected:H.isSelected,serverUrl:H.serverUrl,canRefresh:!1,expiresAt:H.expiresAt}})}async function X32(Z,J,H,G="google",N=7645){let F=Jo(Z,J,{auth:{flowType:"pkce"}}),{data:C,error:_}=await F.auth.signInWithOAuth({provider:G,options:{redirectTo:`http://localhost:${N}/callback`}});if(_||!C.url)throw Error(`Failed to start OAuth: ${_?.message}`);await e52(C.url),await new Promise((m1,A1)=>{let F1=PX4.createServer(async(w2,P2)=>{if(!w2.url?.startsWith("/callback"))return;try{let d4=new URL(w2.url,`http://localhost:${N}`).searchParams.get("code");if(!d4)throw Error("No code in callback URL");let{error:l4}=await F.auth.exchangeCodeForSession(d4);if(l4)throw l4;P2.end('<html><body style="font-family: system-ui; text-align: center; padding: 50px;"><h1>Super! Authentication Complete.</h1><p>You can close this window and return to your terminal.</p></body></html>'),F1.close(),m1()}catch(h2){P2.statusCode=500,P2.end(`<!doctype html><html><body><h1>\u274C Authentication Failed</h1><p>${String(h2)}</p></body></html>`),F1.close(),A1(h2)}});F1.listen(N)});let{data:m,error:c}=await F.auth.getSession();if(c||!m.session)throw Error("Failed to get session after authentication");let $1=m.session,B1=jb().filter((m1)=>!(m1.supabaseUrl===Z&&m1.userId===$1.user.id)),n={type:"supabase",supabaseUrl:Z,supabaseKey:J,userId:$1.user.id,userEmail:$1.user.email??"",token:$1.access_token,refreshToken:$1.refresh_token,expiresAt:$1.expires_at??0,isSelected:B1.every((m1)=>!m1.isSelected),serverUrl:H};return B1.push(n),Ho(B1),{type:"supabase",supabaseUrl:n.supabaseUrl,supabaseKey:n.supabaseKey,refreshToken:n.refreshToken,userId:n.userId,userEmail:n.userEmail,token:n.token,isExpired:!1,isSelected:n.isSelected,serverUrl:n.serverUrl,canRefresh:!0,expiresAt:n.expiresAt}}async function Q32(Z,J){let H=jb(),G=H.find(($1)=>$1.supabaseUrl===Z&&$1.userId===J);if(!G)throw Error("Auth not found");if(G.type==="coding-session")throw Error("Cannot refresh coding-session tokens");let N=Jo(Z,G.supabaseKey,{auth:{flowType:"pkce"}}),{data:F,error:C}=await N.auth.refreshSession({refresh_token:G.refreshToken});if(C||!F.session)throw Error(`Token refresh failed: ${C?.message}`);let _=G.expiresAt,m=F.session,c=m.expires_at??0;return console.log(`Token refreshed - Old expiry: ${new Date(_*1000).toISOString()}, New expiry: ${new Date(c*1000).toISOString()}`),console.log(`...for supabase URL: ${Z}`),console.log(`...token is new: ${G.token!==m.access_token}`),G.token=m.access_token,G.refreshToken=m.refresh_token,G.expiresAt=c,Ho(H),{type:"supabase",supabaseUrl:G.supabaseUrl,supabaseKey:G.supabaseKey,refreshToken:G.refreshToken,userId:G.userId,userEmail:G.userEmail,token:G.token,isExpired:!1,isSelected:G.isSelected,serverUrl:G.serverUrl,canRefresh:!0,expiresAt:G.expiresAt}}function Y32(){return jj().find((Z)=>Z.isSelected)}function J32(Z,J){let H=jb(),G=H.findIndex((N)=>(Z?N.supabaseUrl===Z:N.type==="coding-session")&&N.userId===J);if(G===-1)throw Error("Auth not found");H.forEach((N,F)=>{N.isSelected=F===G}),Ho(H)}function W32(Z,J){let H=jb(),G=H.findIndex((N)=>(Z?N.supabaseUrl===Z:N.type==="coding-session")&&N.userId===J);if(G===-1)throw Error("Auth not found");H.splice(G,1),Ho(H)}function H32(Z,J,H){let G=jb(),N=G.find((F)=>(Z?F.supabaseUrl===Z:F.type==="coding-session")&&F.userId===J);if(!N)throw Error("Auth not found");N.serverUrl=H,Ho(G)}import{notStrictEqual as nX4,strictEqual as oX4}from"assert";var jX4={right:dX4,center:SX4};class q32{constructor(Z){var J;this.width=Z.width,this.wrap=(J=Z.wrap)!==null&&J!==void 0?J:!0,this.rows=[]}span(...Z){let J=this.div(...Z);J.span=!0}resetOutput(){this.rows=[]}div(...Z){if(Z.length===0)this.div("");if(this.wrap&&this.shouldApplyLayoutDSL(...Z)&&typeof Z[0]==="string")return this.applyLayoutDSL(Z[0]);let J=Z.map((H)=>{if(typeof H==="string")return this.colFromString(H);return H});return this.rows.push(J),J}shouldApplyLayoutDSL(...Z){return Z.length===1&&typeof Z[0]==="string"&&/[\t\n]/.test(Z[0])}applyLayoutDSL(Z){let J=Z.split(`
632
+ tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}import{promisify as HX4}from"util";import{execFile as zX4}from"child_process";var qX4=HX4(zX4),a52={MSEdgeHTM:{name:"Edge",id:"com.microsoft.edge"},MSEdgeBHTML:{name:"Edge Beta",id:"com.microsoft.edge.beta"},MSEdgeDHTML:{name:"Edge Dev",id:"com.microsoft.edge.dev"},AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:"Edge",id:"com.microsoft.edge.old"},ChromeHTML:{name:"Chrome",id:"com.google.chrome"},ChromeBHTML:{name:"Chrome Beta",id:"com.google.chrome.beta"},ChromeDHTML:{name:"Chrome Dev",id:"com.google.chrome.dev"},ChromiumHTM:{name:"Chromium",id:"org.chromium.Chromium"},BraveHTML:{name:"Brave",id:"com.brave.Browser"},BraveBHTML:{name:"Brave Beta",id:"com.brave.Browser.beta"},BraveDHTML:{name:"Brave Dev",id:"com.brave.Browser.dev"},BraveSSHTM:{name:"Brave Nightly",id:"com.brave.Browser.nightly"},FirefoxURL:{name:"Firefox",id:"org.mozilla.firefox"},OperaStable:{name:"Opera",id:"com.operasoftware.Opera"},VivaldiHTM:{name:"Vivaldi",id:"com.vivaldi.Vivaldi"},"IE.HTTP":{name:"Internet Explorer",id:"com.microsoft.ie"}},RD1=new Map(Object.entries(a52));class gP1 extends Error{}async function hP1(Z=qX4){let{stdout:J}=await Z("reg",["QUERY"," HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice","/v","ProgId"]),H=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(J);if(!H)throw new gP1(`Cannot find Windows browser in stdout: ${JSON.stringify(J)}`);let{id:G}=H.groups,N=a52[G];if(!N)throw new gP1(`Unknown browser ID: ${G}`);return N}var VX4=GX4(wX4),NX4=(Z)=>Z.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,(J)=>J.toUpperCase());async function lP1(){if(uP1.platform==="darwin"){let Z=await bP1();return{name:await yP1(Z),id:Z}}if(uP1.platform==="linux"){let{stdout:Z}=await VX4("xdg-mime",["query","default","x-scheme-handler/http"]),J=Z.trim();return{name:NX4(J.replace(/.desktop$/,"").replace("-"," ")),id:J}}if(uP1.platform==="win32")return hP1();throw Error("Only macOS, Linux, and Windows are supported")}import cP1 from"process";var KX4=Boolean(cP1.env.SSH_CONNECTION||cP1.env.SSH_CLIENT||cP1.env.SSH_TTY),i52=KX4;var AD1=Symbol("fallbackAttempt"),iP1=import.meta.url?r52.dirname(BX4(import.meta.url)):"",n52=r52.join(iP1,"xdg-open"),{platform:Cb,arch:o52}=aP1,s52=async(Z,J)=>{if(Z.length===0)return;let H=[];for(let G of Z)try{return await J(G)}catch(N){H.push(N)}throw AggregateError(H,"Failed to open in all supported apps")},PD1=async(Z)=>{Z={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...Z};let J=Z[AD1]===!0;if(delete Z[AD1],Array.isArray(Z.app))return s52(Z.app,(c)=>PD1({...Z,app:c,[AD1]:!0}));let{name:H,arguments:G=[]}=Z.app??{};if(G=[...G],Array.isArray(H))return s52(H,(c)=>PD1({...Z,app:{name:c,arguments:G},[AD1]:!0}));if(H==="browser"||H==="browserPrivate"){let c={"com.google.chrome":"chrome","google-chrome.desktop":"chrome","com.brave.browser":"brave","org.mozilla.firefox":"firefox","firefox.desktop":"firefox","com.microsoft.msedge":"edge","com.microsoft.edge":"edge","com.microsoft.edgemac":"edge","microsoft-edge.desktop":"edge","com.apple.safari":"safari"},$1={chrome:"--incognito",brave:"--incognito",firefox:"--private-window",edge:"--inPrivate"},B1;if(KP){let n=await u52();B1=RD1.get(n)??{}}else B1=await lP1();if(B1.id in c){let n=c[B1.id.toLowerCase()];if(H==="browserPrivate"){if(n==="safari")throw Error("Safari doesn't support opening in private mode via command line");G.push($1[n])}return PD1({...Z,app:{name:Eb[n],arguments:G}})}throw Error(`${B1.name} is not supported as a default browser`)}let N,F=[],C={},_=!1;if(KP&&!Pb()&&!i52&&!H)_=await h52();if(Cb==="darwin"){if(N="open",Z.wait)F.push("--wait-apps");if(Z.background)F.push("--background");if(Z.newInstance)F.push("--new");if(H)F.push("-a",H)}else if(Cb==="win32"||_){if(N=await OD1(),F.push(...MN.argumentsPrefix),!KP)C.windowsVerbatimArguments=!0;if(KP&&Z.target)Z.target=await l52(Z.target);let c=["$ProgressPreference = 'SilentlyContinue';","Start"];if(Z.wait)c.push("-Wait");if(H){if(c.push(MN.escapeArgument(H)),Z.target)G.push(Z.target)}else if(Z.target)c.push(MN.escapeArgument(Z.target));if(G.length>0)G=G.map(($1)=>MN.escapeArgument($1)),c.push("-ArgumentList",G.join(","));if(Z.target=MN.encodeCommand(c.join(" ")),!Z.wait)C.stdio="ignore"}else{if(H)N=H;else{let c=!iP1||iP1==="/",$1=!1;try{await FX4.access(n52,MX4.X_OK),$1=!0}catch{}N=aP1.versions.electron??(Cb==="android"||c||!$1)?"xdg-open":n52}if(G.length>0)F.push(...G);if(!Z.wait)C.stdio="ignore",C.detached=!0}if(Cb==="darwin"&&G.length>0)F.push("--args",...G);if(Z.target)F.push(Z.target);let m=UX4.spawn(N,F,C);if(Z.wait)return new Promise((c,$1)=>{m.once("error",$1),m.once("close",(B1)=>{if(!Z.allowNonzeroExitCode&&B1!==0){$1(Error(`Exited with code ${B1}`));return}c(m)})});if(J)return new Promise((c,$1)=>{m.once("error",$1),m.once("spawn",()=>{m.once("close",(B1)=>{if(m.off("error",$1),B1!==0){$1(Error(`Exited with code ${B1}`));return}m.unref(),c(m)})})});return m.unref(),new Promise((c,$1)=>{m.once("error",$1),m.once("spawn",()=>{m.off("error",$1),c(m)})})},LX4=(Z,J)=>{if(typeof Z!=="string")throw TypeError("Expected a `target`");return PD1({...J,target:Z})};function t52(Z){if(typeof Z==="string"||Array.isArray(Z))return Z;let{[o52]:J}=Z;if(!J)throw Error(`${o52} is not supported`);return J}function Wo({[Cb]:Z},{wsl:J}={}){if(J&&KP)return t52(J);if(!Z)throw Error(`${Cb} is not supported`);return t52(Z)}var Eb={browser:"browser",browserPrivate:"browserPrivate"};Ik(Eb,"chrome",()=>Wo({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium","chromium-browser"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]}}));Ik(Eb,"brave",()=>Wo({darwin:"brave browser",win32:"brave",linux:["brave-browser","brave"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe",x64:["/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe","/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe"]}}));Ik(Eb,"firefox",()=>Wo({darwin:"firefox",win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));Ik(Eb,"edge",()=>Wo({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));Ik(Eb,"safari",()=>Wo({darwin:"Safari"}));var e52=LX4;var D32=Y2.Array(Y2.Union([u02,h02]));class Tk extends Error{cause;constructor(Z,J){super(Z);this.cause=J;this.name="InvalidAuthFileError"}}var nP1=Z32(CX4(),".vermillion"),oP1=Z32(nP1,"auth.json");function jb(){if(!$32(oP1))return[];try{let Z=RX4(oP1,"utf8");if(!Z.trim())return[];let J=JSON.parse(Z);if(!zP.Check(D32,J)){let G=[...zP.Errors(D32,J)];throw new Tk(`Auth file has invalid format: ${G.map((N)=>`${N.path}: ${N.message}`).join(", ")}`,G)}let H=[];for(let G of J)if(!("type"in G))H.push({type:"supabase",userId:G.userId,userEmail:G.userEmail,token:G.token,isSelected:G.isSelected,serverUrl:G.serverUrl,expiresAt:G.expiresAt,supabaseUrl:G.supabaseUrl,supabaseKey:G.supabaseKey,refreshToken:G.refreshToken});else H.push(G);return H}catch(Z){if(Z instanceof Tk)throw Z;throw new Tk("Failed to parse auth file",Z)}}function Ho(Z){if(!$32(nP1))OX4(nP1,{recursive:!0});AX4(oP1,JSON.stringify(Z,null,2))}function EX4(Z){let H=Math.floor(Date.now()/1000);return Z<=H+300}function jj(){let Z=jb();if(!Z.length)throw Error("No auth found. Run `dreamer auth login` to authenticate.");return Z.map((H)=>{let G=EX4(H.expiresAt);if(H.type==="supabase")return{type:"supabase",supabaseUrl:H.supabaseUrl,supabaseKey:H.supabaseKey,refreshToken:H.refreshToken,userId:H.userId,userEmail:H.userEmail,token:H.token,isExpired:G,isSelected:H.isSelected,serverUrl:H.serverUrl,canRefresh:!0,expiresAt:H.expiresAt};return{type:"coding-session",userId:H.userId,userEmail:H.userEmail,token:H.token,isExpired:G,isSelected:H.isSelected,serverUrl:H.serverUrl,canRefresh:!1,expiresAt:H.expiresAt}})}async function X32(Z,J,H,G="google",N=7645){let F=Jo(Z,J,{auth:{flowType:"pkce"}}),{data:C,error:_}=await F.auth.signInWithOAuth({provider:G,options:{redirectTo:`http://localhost:${N}/callback`,...G==="google"&&{queryParams:{prompt:"select_account"}}}});if(_||!C.url)throw Error(`Failed to start OAuth: ${_?.message}`);await e52(C.url),await new Promise((m1,A1)=>{let F1=PX4.createServer(async(w2,P2)=>{if(!w2.url?.startsWith("/callback"))return;try{let d4=new URL(w2.url,`http://localhost:${N}`).searchParams.get("code");if(!d4)throw Error("No code in callback URL");let{error:l4}=await F.auth.exchangeCodeForSession(d4);if(l4)throw l4;P2.end('<html><body style="font-family: system-ui; text-align: center; padding: 50px;"><h1>Super! Authentication Complete.</h1><p>You can close this window and return to your terminal.</p></body></html>'),F1.close(),m1()}catch(h2){P2.statusCode=500,P2.end(`<!doctype html><html><body><h1>\u274C Authentication Failed</h1><p>${String(h2)}</p></body></html>`),F1.close(),A1(h2)}});F1.listen(N)});let{data:m,error:c}=await F.auth.getSession();if(c||!m.session)throw Error("Failed to get session after authentication");let $1=m.session,B1=jb().filter((m1)=>!(m1.supabaseUrl===Z&&m1.userId===$1.user.id)),n={type:"supabase",supabaseUrl:Z,supabaseKey:J,userId:$1.user.id,userEmail:$1.user.email??"",token:$1.access_token,refreshToken:$1.refresh_token,expiresAt:$1.expires_at??0,isSelected:B1.every((m1)=>!m1.isSelected),serverUrl:H};return B1.push(n),Ho(B1),{type:"supabase",supabaseUrl:n.supabaseUrl,supabaseKey:n.supabaseKey,refreshToken:n.refreshToken,userId:n.userId,userEmail:n.userEmail,token:n.token,isExpired:!1,isSelected:n.isSelected,serverUrl:n.serverUrl,canRefresh:!0,expiresAt:n.expiresAt}}async function Q32(Z,J){let H=jb(),G=H.find(($1)=>$1.supabaseUrl===Z&&$1.userId===J);if(!G)throw Error("Auth not found");if(G.type==="coding-session")throw Error("Cannot refresh coding-session tokens");let N=Jo(Z,G.supabaseKey,{auth:{flowType:"pkce"}}),{data:F,error:C}=await N.auth.refreshSession({refresh_token:G.refreshToken});if(C||!F.session)throw Error(`Token refresh failed: ${C?.message}`);let _=G.expiresAt,m=F.session,c=m.expires_at??0;return console.log(`Token refreshed - Old expiry: ${new Date(_*1000).toISOString()}, New expiry: ${new Date(c*1000).toISOString()}`),console.log(`...for supabase URL: ${Z}`),console.log(`...token is new: ${G.token!==m.access_token}`),G.token=m.access_token,G.refreshToken=m.refresh_token,G.expiresAt=c,Ho(H),{type:"supabase",supabaseUrl:G.supabaseUrl,supabaseKey:G.supabaseKey,refreshToken:G.refreshToken,userId:G.userId,userEmail:G.userEmail,token:G.token,isExpired:!1,isSelected:G.isSelected,serverUrl:G.serverUrl,canRefresh:!0,expiresAt:G.expiresAt}}function Y32(){return jj().find((Z)=>Z.isSelected)}function J32(Z,J){let H=jb(),G=H.findIndex((N)=>(Z?N.supabaseUrl===Z:N.type==="coding-session")&&N.userId===J);if(G===-1)throw Error("Auth not found");H.forEach((N,F)=>{N.isSelected=F===G}),Ho(H)}function W32(Z,J){let H=jb(),G=H.findIndex((N)=>(Z?N.supabaseUrl===Z:N.type==="coding-session")&&N.userId===J);if(G===-1)throw Error("Auth not found");H.splice(G,1),Ho(H)}function H32(Z,J,H){let G=jb(),N=G.find((F)=>(Z?F.supabaseUrl===Z:F.type==="coding-session")&&F.userId===J);if(!N)throw Error("Auth not found");N.serverUrl=H,Ho(G)}import{notStrictEqual as nX4,strictEqual as oX4}from"assert";var jX4={right:dX4,center:SX4};class q32{constructor(Z){var J;this.width=Z.width,this.wrap=(J=Z.wrap)!==null&&J!==void 0?J:!0,this.rows=[]}span(...Z){let J=this.div(...Z);J.span=!0}resetOutput(){this.rows=[]}div(...Z){if(Z.length===0)this.div("");if(this.wrap&&this.shouldApplyLayoutDSL(...Z)&&typeof Z[0]==="string")return this.applyLayoutDSL(Z[0]);let J=Z.map((H)=>{if(typeof H==="string")return this.colFromString(H);return H});return this.rows.push(J),J}shouldApplyLayoutDSL(...Z){return Z.length===1&&typeof Z[0]==="string"&&/[\t\n]/.test(Z[0])}applyLayoutDSL(Z){let J=Z.split(`
633
633
  `).map((G)=>G.split("\t")),H=0;return J.forEach((G)=>{if(G.length>1&&LN.stringWidth(G[0])>H)H=Math.min(Math.floor(this.width*0.5),LN.stringWidth(G[0]))}),J.forEach((G)=>{this.div(...G.map((N,F)=>{return{text:N.trim(),padding:this.measurePadding(N),width:F===0&&G.length>1?H:void 0}}))}),this.rows[this.rows.length-1]}colFromString(Z){return{text:Z,padding:this.measurePadding(Z)}}measurePadding(Z){let J=LN.stripAnsi(Z);return[0,J.match(/\s*$/)[0].length,0,J.match(/^\s*/)[0].length]}toString(){let Z=[];return this.rows.forEach((J)=>{this.rowToString(J,Z)}),Z.filter((J)=>!J.hidden).map((J)=>J.text).join(`
634
634
  `)}rowToString(Z,J){return this.rasterize(Z).forEach((H,G)=>{let N="";H.forEach((F,C)=>{let{width:_}=Z[C],m=this.negatePadding(Z[C]),c=F;if(m>LN.stringWidth(F))c+=" ".repeat(m-LN.stringWidth(F));if(Z[C].align&&Z[C].align!=="left"&&this.wrap){let B1=jX4[Z[C].align];if(c=B1(c,m),LN.stringWidth(c)<m)c+=" ".repeat((_||0)-LN.stringWidth(c)-1)}let $1=Z[C].padding||[0,0,0,0];if($1[3])N+=" ".repeat($1[3]);if(N+=z32(Z[C],c,"| "),N+=c,N+=z32(Z[C],c," |"),$1[1])N+=" ".repeat($1[1]);if(G===0&&J.length>0)N=this.renderInline(N,J[J.length-1])}),J.push({text:N.replace(/ +$/,""),span:Z.span})}),J}renderInline(Z,J){let H=Z.match(/^ */),G=H?H[0].length:0,N=J.text,F=LN.stringWidth(N.trimRight());if(!J.span)return Z;if(!this.wrap)return J.hidden=!0,N+Z;if(G<F)return Z;return J.hidden=!0,N.trimRight()+" ".repeat(G-F)+Z.trimLeft()}rasterize(Z){let J=[],H=this.columnWidths(Z),G;return Z.forEach((N,F)=>{if(N.width=H[F],this.wrap)G=LN.wrap(N.text,this.negatePadding(N),{hard:!0}).split(`
635
635
  `);else G=N.text.split(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dreamer",
3
- "version": "0.0.0-alpha-20251205081620",
3
+ "version": "0.0.0-alpha-20251205162826",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "dreamer": "dist/index.js"