@spikonado/sprocket 0.3.1 → 0.3.2-dev.17ae032d3ff924fece13a85577a10e4a25dc9012
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +101 -188
- package/README.md +3 -2
- package/package.json +7 -7
- package/web/_app/immutable/assets/0.Btn1dfCy.css +2 -0
- package/web/_app/immutable/chunks/3HfAD3ar.js +1 -0
- package/web/_app/immutable/chunks/BQbJFoq8.js +1 -0
- package/web/_app/immutable/chunks/CeNjyCLa.js +2 -0
- package/web/_app/immutable/chunks/D-3DgMVM.js +3 -0
- package/web/_app/immutable/chunks/D3cLDkti.js +7 -0
- package/web/_app/immutable/chunks/DEtIisIw.js +1 -0
- package/web/_app/immutable/chunks/D_7QcTZV.js +6 -0
- package/web/_app/immutable/chunks/Dtk4_9sS.js +64 -0
- package/web/_app/immutable/chunks/{eYQozHfV.js → PSXYTcvE.js} +1 -1
- package/web/_app/immutable/chunks/ciWa3Jzw.js +1 -0
- package/web/_app/immutable/entry/{app.Bp8dpCVh.js → app.wYgsoABy.js} +2 -2
- package/web/_app/immutable/entry/start.DG546NWJ.js +1 -0
- package/web/_app/immutable/nodes/0.mG7tw7cg.js +1 -0
- package/web/_app/immutable/nodes/1.CzMQelO0.js +1 -0
- package/web/_app/immutable/nodes/2.CRE2vVG2.js +127 -0
- package/web/_app/immutable/nodes/{3.DAi7yBqf.js → 3.Djb4H8LS.js} +1 -1
- package/web/_app/immutable/nodes/{4.BumxIo63.js → 4.CAArqXb-.js} +1 -1
- package/web/_app/version.json +1 -1
- package/web/callback.html +16 -15
- package/web/index.html +13 -12
- package/web/pair.html +17 -16
- package/web/_app/immutable/assets/0.7UApui6t.css +0 -2
- package/web/_app/immutable/chunks/4-desXp-.js +0 -6
- package/web/_app/immutable/chunks/B2QV2lSm.js +0 -1
- package/web/_app/immutable/chunks/BZ468YC5.js +0 -1
- package/web/_app/immutable/chunks/DWXDZqdt.js +0 -2
- package/web/_app/immutable/chunks/G9InG5jW.js +0 -3
- package/web/_app/immutable/chunks/tDzg1Ybi.js +0 -1
- package/web/_app/immutable/chunks/xs22-Wnd.js +0 -1
- package/web/_app/immutable/entry/start.CKqJgKm5.js +0 -1
- package/web/_app/immutable/nodes/0.a2pYxQ7W.js +0 -1
- package/web/_app/immutable/nodes/1.Bcc3twrr.js +0 -1
- package/web/_app/immutable/nodes/2.dBLbMK7u.js +0 -122
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{$ as e,F as t,H as n,J as r,Q as i,R as a,X as o,at as s,ct as c,dt as l}from"./D-3DgMVM.js";import{m as u}from"./D_7QcTZV.js";for(var d=`1.45.0`,f=[],p=[],m=Uint8Array,h=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,g=0,_=h.length;g<_;++g)f[g]=h[g],p[h.charCodeAt(g)]=g;p[45]=62,p[95]=63;function v(e){var t=e.length;if(t%4>0)throw Error(`Invalid string. Length must be a multiple of 4`);var n=e.indexOf(`=`);n===-1&&(n=t);var r=n===t?0:4-n%4;return[n,r]}function ee(e,t,n){return(t+n)*3/4-n}function y(e){var t,n=v(e),r=n[0],i=n[1],a=new m(ee(e,r,i)),o=0,s=i>0?r-4:r,c;for(c=0;c<s;c+=4)t=p[e.charCodeAt(c)]<<18|p[e.charCodeAt(c+1)]<<12|p[e.charCodeAt(c+2)]<<6|p[e.charCodeAt(c+3)],a[o++]=t>>16&255,a[o++]=t>>8&255,a[o++]=t&255;return i===2&&(t=p[e.charCodeAt(c)]<<2|p[e.charCodeAt(c+1)]>>4,a[o++]=t&255),i===1&&(t=p[e.charCodeAt(c)]<<10|p[e.charCodeAt(c+1)]<<4|p[e.charCodeAt(c+2)]>>2,a[o++]=t>>8&255,a[o++]=t&255),a}function b(e){return f[e>>18&63]+f[e>>12&63]+f[e>>6&63]+f[e&63]}function te(e,t,n){for(var r,i=[],a=t;a<n;a+=3)r=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(e[a+2]&255),i.push(b(r));return i.join(``)}function x(e){for(var t,n=e.length,r=n%3,i=[],a=16383,o=0,s=n-r;o<s;o+=a)i.push(te(e,o,o+a>s?s:o+a));return r===1?(t=e[n-1],i.push(f[t>>2]+f[t<<4&63]+`==`)):r===2&&(t=(e[n-2]<<8)+e[n-1],i.push(f[t>>10]+f[t>>4&63]+f[t<<2&63]+`=`)),i.join(``)}function S(e){if(e===void 0)return{};if(!re(e))throw Error(`The arguments to a Convex function must be an object. Received: ${e}`);return e}function ne(e){if(e===void 0)throw Error(`Client created with undefined deployment address. If you used an environment variable, check that it's set.`);if(typeof e!=`string`)throw Error(`Invalid deployment address: found ${e}".`);if(!(e.startsWith(`http:`)||e.startsWith(`https:`)))throw Error(`Invalid deployment address: Must start with "https://" or "http://". Found "${e}".`);try{new URL(e)}catch{throw Error(`Invalid deployment address: "${e}" is not a valid URL. If you believe this URL is correct, use the \`skipConvexDeploymentUrlCheck\` option to bypass this.`)}if(e.endsWith(`.convex.site`))throw Error(`Invalid deployment address: "${e}" ends with .convex.site, which is used for HTTP Actions. Convex deployment URLs typically end with .convex.cloud? If you believe this URL is correct, use the \`skipConvexDeploymentUrlCheck\` option to bypass this.`)}function re(e){let t=typeof e==`object`,n=Object.getPrototypeOf(e),r=n===null||n===Object.prototype||n?.constructor?.name===`Object`;return t&&r}var ie=!0,C=BigInt(`-9223372036854775808`),w=BigInt(`9223372036854775807`),ae=BigInt(`0`),oe=BigInt(`8`),se=BigInt(`256`),ce=`This commit timestamp is unresolved: its value is assigned when the mutation commits. Read the document after the mutation completes to get its value.`,le=class{[Symbol.toPrimitive](e){if(e===`string`)return this.toString();throw Error(ce)}valueOf(){throw Error(ce)}toJSON(){throw Error(ce)}toString(){return`[unresolved commit timestamp]`}},ue=new le;function de(e){return Number.isNaN(e)||!Number.isFinite(e)||Object.is(e,-0)}function fe(e){e<ae&&(e-=C+C);let t=e.toString(16);t.length%2==1&&(t=`0`+t);let n=new Uint8Array(new ArrayBuffer(8)),r=0;for(let i of t.match(/.{2}/g).reverse())n.set([parseInt(i,16)],r++),e>>=oe;return x(n)}function pe(e){let t=y(e);if(t.byteLength!==8)throw Error(`Received ${t.byteLength} bytes, expected 8 for $integer`);let n=ae,r=ae;for(let e of t)n+=BigInt(e)*se**r,r++;return n>w&&(n+=C+C),n}function me(e){if(e<C||w<e)throw Error(`BigInt ${e} does not fit into a 64-bit signed integer.`);let t=new ArrayBuffer(8);return new DataView(t).setBigInt64(0,e,!0),x(new Uint8Array(t))}function he(e){let t=y(e);if(t.byteLength!==8)throw Error(`Received ${t.byteLength} bytes, expected 8 for $integer`);return new DataView(t.buffer).getBigInt64(0,!0)}var ge=DataView.prototype.setBigInt64?me:fe,_e=DataView.prototype.getBigInt64?he:pe,ve=1024;function ye(e){if(e.length>ve)throw Error(`Field name ${e} exceeds maximum field name length ${ve}.`);if(e.startsWith(`$`))throw Error(`Field name ${e} starts with a '$', which is reserved.`);for(let t=0;t<e.length;t+=1){let n=e.charCodeAt(t);if(n<32||n>=127)throw Error(`Field name ${e} has invalid character '${e[t]}': Field names can only contain non-control ASCII characters`)}}function T(e){if(e===null||typeof e==`boolean`||typeof e==`number`||typeof e==`string`)return e;if(Array.isArray(e))return e.map(e=>T(e));if(typeof e!=`object`)throw Error(`Unexpected type of ${e}`);let t=Object.entries(e);if(t.length===1){let n=t[0][0];if(n===`$bytes`){if(typeof e.$bytes!=`string`)throw Error(`Malformed $bytes field on ${e}`);return y(e.$bytes).buffer}if(n===`$integer`){if(typeof e.$integer!=`string`)throw Error(`Malformed $integer field on ${e}`);return _e(e.$integer)}if(n===`$float`){if(typeof e.$float!=`string`)throw Error(`Malformed $float field on ${e}`);let t=y(e.$float);if(t.byteLength!==8)throw Error(`Received ${t.byteLength} bytes, expected 8 for $float`);let n=new DataView(t.buffer).getFloat64(0,ie);if(!de(n))throw Error(`Float ${n} should be encoded as a number`);return n}if(n===`$commitTs`){if(e.$commitTs!==null)throw Error(`Malformed $commitTs field on ${e}`);return ue}if(n===`$set`)throw Error(`Received a Set which is no longer supported as a Convex type.`);if(n===`$map`)throw Error(`Received a Map which is no longer supported as a Convex type.`)}let n={};for(let[t,r]of Object.entries(e))ye(t),n[t]=T(r);return n}var be=16384;function E(e){let t=JSON.stringify(e,(e,t)=>t===void 0?`undefined`:typeof t==`bigint`?`${t.toString()}n`:t);if(t.length>be){let e=16370,n=t.codePointAt(e-1);return n!==void 0&&n>65535&&--e,t.substring(0,e)+`[...truncated]`}return t}function D(e,t,n,r){if(e===void 0){let e=n&&` (present at path ${n} in original object ${E(t)})`;throw Error(`undefined is not a valid Convex value${e}. To learn about Convex's supported types, see https://docs.convex.dev/using/types.`)}if(e===null)return e;if(typeof e==`bigint`){if(e<C||w<e)throw Error(`BigInt ${e} does not fit into a 64-bit signed integer.`);return{$integer:ge(e)}}if(typeof e==`number`){if(de(e)){let t=new ArrayBuffer(8);return new DataView(t).setFloat64(0,e,ie),{$float:x(new Uint8Array(t))}}return e}if(typeof e==`boolean`||typeof e==`string`)return e;if(e instanceof ArrayBuffer)return{$bytes:x(new Uint8Array(e))};if(e instanceof le)return{$commitTs:null};if(Array.isArray(e))return e.map((e,r)=>D(e,t,n+`[${r}]`,!1));if(e instanceof Set)throw Error(xe(n,`Set`,[...e],t));if(e instanceof Map)throw Error(xe(n,`Map`,[...e],t));if(!re(e)){let r=e?.constructor?.name,i=r?`${r} `:``;throw Error(xe(n,i,e,t))}let i={},a=Object.entries(e);a.sort(([e,t],[n,r])=>e===n?0:e<n?-1:1);for(let[e,o]of a)o===void 0?r&&(ye(e),i[e]=Se(o,t,n+`.${e}`)):(ye(e),i[e]=D(o,t,n+`.${e}`,!1));return i}function xe(e,t,n,r){return e?`${t}${E(n)} is not a supported Convex type (present at path ${e} in original object ${E(r)}). To learn about Convex's supported types, see https://docs.convex.dev/using/types.`:`${t}${E(n)} is not a supported Convex type.`}function Se(e,t,n){if(e===void 0)return{$undefined:null};if(t===void 0)throw Error(`Programming error. Current value is ${E(e)} but original value is undefined`);return D(e,t,n,!1)}function O(e){return D(e,e,``,!1)}var Ce=Object.defineProperty,we=(e,t,n)=>t in e?Ce(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Te=(e,t,n)=>we(e,typeof t==`symbol`?t:t+``,n),Ee,De,Oe=Symbol.for(`ConvexError`),k=class extends (De=Error,Ee=Oe,De){constructor(e){super(typeof e==`string`?e:E(e)),Te(this,`name`,`ConvexError`),Te(this,`data`),Te(this,Ee,!0),this.data=e}},ke=Object.defineProperty,Ae=(e,t,n)=>t in e?ke(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,je=(e,t,n)=>Ae(e,typeof t==`symbol`?t:t+``,n),Me=`color:rgb(0, 145, 255)`;function Ne(e){switch(e){case`query`:return`Q`;case`mutation`:return`M`;case`action`:return`A`;case`any`:return`?`}}var Pe=class{constructor(e){je(this,`_onLogLineFuncs`),je(this,`_verbose`),this._onLogLineFuncs={},this._verbose=e.verbose}addLogLineListener(e){let t=Math.random().toString(36).substring(2,15);for(let e=0;e<10&&this._onLogLineFuncs[t]!==void 0;e++)t=Math.random().toString(36).substring(2,15);return this._onLogLineFuncs[t]=e,()=>{delete this._onLogLineFuncs[t]}}logVerbose(...e){if(this._verbose)for(let t of Object.values(this._onLogLineFuncs))t(`debug`,`${new Date().toISOString()}`,...e)}log(...e){for(let t of Object.values(this._onLogLineFuncs))t(`info`,...e)}warn(...e){for(let t of Object.values(this._onLogLineFuncs))t(`warn`,...e)}error(...e){for(let t of Object.values(this._onLogLineFuncs))t(`error`,...e)}};function Fe(e){let t=new Pe(e);return t.addLogLineListener((e,...t)=>{switch(e){case`debug`:console.debug(...t);break;case`info`:console.log(...t);break;case`warn`:console.warn(...t);break;case`error`:console.error(...t);break;default:console.log(...t)}}),t}function Ie(e){return new Pe(e)}function A(e,t,n,r,i){let a=Ne(n);if(typeof i==`object`&&(i=`ConvexError ${JSON.stringify(i.errorData,null,2)}`),t===`info`){let t=i.match(/^\[.*?\] /);if(t===null){e.error(`[CONVEX ${a}(${r})] Could not parse console.log`);return}let n=i.slice(1,t[0].length-2),o=i.slice(t[0].length);e.log(`%c[CONVEX ${a}(${r})] [${n}]`,Me,o)}else e.error(`[CONVEX ${a}(${r})] ${i}`)}function Le(e,t){let n=`[CONVEX FATAL ERROR] ${t}`;return e.error(n),Error(n)}function j(e,t,n){return`[CONVEX ${Ne(e)}(${t})] ${n.errorMessage}
|
|
2
|
+
Called by client`}function M(e,t){return t.data=e.errorData,t}function N(e){let t=e.split(`:`),n,r;return t.length===1?(n=t[0],r=`default`):(n=t.slice(0,t.length-1).join(`:`),r=t[t.length-1]),n.endsWith(`.js`)&&(n=n.slice(0,-3)),`${n}:${r}`}function P(e,t){return JSON.stringify({udfPath:N(e),args:O(t)})}function Re(e,t,n){let{initialNumItems:r,id:i}=n;return JSON.stringify({type:`paginated`,udfPath:N(e),args:O(t),options:O({initialNumItems:r,id:i})})}function ze(e){return JSON.parse(e).type===`paginated`}var Be=Object.defineProperty,Ve=(e,t,n)=>t in e?Be(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,F=(e,t,n)=>Ve(e,typeof t==`symbol`?t:t+``,n),He=class{constructor(){F(this,`nextQueryId`),F(this,`querySetVersion`),F(this,`querySet`),F(this,`queryIdToToken`),F(this,`identityVersion`),F(this,`auth`),F(this,`outstandingQueriesOlderThanRestart`),F(this,`outstandingAuthOlderThanRestart`),F(this,`paused`),F(this,`pendingQuerySetModifications`),this.nextQueryId=0,this.querySetVersion=0,this.identityVersion=0,this.querySet=new Map,this.queryIdToToken=new Map,this.outstandingQueriesOlderThanRestart=new Set,this.outstandingAuthOlderThanRestart=!1,this.paused=!1,this.pendingQuerySetModifications=new Map}hasSyncedPastLastReconnect(){return this.outstandingQueriesOlderThanRestart.size===0&&!this.outstandingAuthOlderThanRestart}markAuthCompletion(){this.outstandingAuthOlderThanRestart=!1}subscribe(e,t,n,r){let i=N(e),a=P(i,t),o=this.querySet.get(a);if(o!==void 0)return o.numSubscribers+=1,{queryToken:a,modification:null,unsubscribe:()=>this.removeSubscriber(a)};{let e=this.nextQueryId++,o={id:e,canonicalizedUdfPath:i,args:t,numSubscribers:1,journal:n,componentPath:r};this.querySet.set(a,o),this.queryIdToToken.set(e,a);let s=this.querySetVersion,c=this.querySetVersion+1,l={type:`Add`,queryId:e,udfPath:i,args:[O(t)],journal:n,componentPath:r};return this.paused?this.pendingQuerySetModifications.set(e,l):this.querySetVersion=c,{queryToken:a,modification:{type:`ModifyQuerySet`,baseVersion:s,newVersion:c,modifications:[l]},unsubscribe:()=>this.removeSubscriber(a)}}}transition(e){for(let t of e.modifications)switch(t.type){case`QueryUpdated`:case`QueryFailed`:{this.outstandingQueriesOlderThanRestart.delete(t.queryId);let e=t.journal;if(e!==void 0){let n=this.queryIdToToken.get(t.queryId);n!==void 0&&(this.querySet.get(n).journal=e)}break}case`QueryRemoved`:this.outstandingQueriesOlderThanRestart.delete(t.queryId);break;default:throw Error(`Invalid modification ${t.type}`)}}queryId(e,t){let n=P(N(e),t),r=this.querySet.get(n);return r===void 0?null:r.id}isCurrentOrNewerAuthVersion(e){return e>=this.identityVersion}getAuth(){return this.auth}setAuth(e){this.auth={tokenType:`User`,value:e};let t=this.identityVersion;return this.paused||(this.identityVersion=t+1),{type:`Authenticate`,baseVersion:t,...this.auth}}setAdminAuth(e,t){let n={tokenType:`Admin`,value:e,impersonating:t};this.auth=n;let r=this.identityVersion;return this.paused||(this.identityVersion=r+1),{type:`Authenticate`,baseVersion:r,...n}}clearAuth(){this.auth=void 0,this.markAuthCompletion();let e=this.identityVersion;return this.paused||(this.identityVersion=e+1),{type:`Authenticate`,tokenType:`None`,baseVersion:e}}hasAuth(){return!!this.auth}isNewAuth(e){return this.auth?.value!==e}queryPath(e){let t=this.queryIdToToken.get(e);return t?this.querySet.get(t).canonicalizedUdfPath:null}queryArgs(e){let t=this.queryIdToToken.get(e);return t?this.querySet.get(t).args:null}queryToken(e){return this.queryIdToToken.get(e)??null}queryJournal(e){return this.querySet.get(e)?.journal}restart(){this.unpause(),this.outstandingQueriesOlderThanRestart.clear();let e=[];for(let t of this.querySet.values()){let n={type:`Add`,queryId:t.id,udfPath:t.canonicalizedUdfPath,args:[O(t.args)],journal:t.journal,componentPath:t.componentPath};e.push(n),this.outstandingQueriesOlderThanRestart.add(t.id)}this.querySetVersion=1;let t={type:`ModifyQuerySet`,baseVersion:0,newVersion:1,modifications:e};if(!this.auth)return this.identityVersion=0,[t,void 0];this.outstandingAuthOlderThanRestart=!0;let n={type:`Authenticate`,baseVersion:0,...this.auth};return this.identityVersion=1,[t,n]}pause(){this.paused=!0}resume(){let e=this.pendingQuerySetModifications.size>0?{type:`ModifyQuerySet`,baseVersion:this.querySetVersion,newVersion:++this.querySetVersion,modifications:Array.from(this.pendingQuerySetModifications.values())}:void 0,t=this.auth===void 0?void 0:{type:`Authenticate`,baseVersion:this.identityVersion++,...this.auth};return this.unpause(),[e,t]}unpause(){this.paused=!1,this.pendingQuerySetModifications.clear()}removeSubscriber(e){let t=this.querySet.get(e);if(t.numSubscribers>1)return--t.numSubscribers,null;{this.querySet.delete(e),this.queryIdToToken.delete(t.id),this.outstandingQueriesOlderThanRestart.delete(t.id);let n=this.querySetVersion,r=this.querySetVersion+1,i={type:`Remove`,queryId:t.id};return this.paused?this.pendingQuerySetModifications.has(t.id)?this.pendingQuerySetModifications.delete(t.id):this.pendingQuerySetModifications.set(t.id,i):this.querySetVersion=r,{type:`ModifyQuerySet`,baseVersion:n,newVersion:r,modifications:[i]}}}},Ue=Object.defineProperty,We=(e,t,n)=>t in e?Ue(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,I=(e,t,n)=>We(e,typeof t==`symbol`?t:t+``,n),Ge=class{constructor(e,t){this.logger=e,this.markConnectionStateDirty=t,I(this,`inflightRequests`),I(this,`requestsOlderThanRestart`),I(this,`inflightMutationsCount`,0),I(this,`inflightActionsCount`,0),this.inflightRequests=new Map,this.requestsOlderThanRestart=new Set}request(e,t){let n=new Promise(n=>{let r=t?`Requested`:`NotSent`;this.inflightRequests.set(e.requestId,{message:e,status:{status:r,requestedAt:new Date,onResult:n}}),e.type===`Mutation`?this.inflightMutationsCount++:e.type===`Action`&&this.inflightActionsCount++});return this.markConnectionStateDirty(),n}onResponse(e){let t=this.inflightRequests.get(e.requestId);if(t===void 0||t.status.status===`Completed`)return null;let n=t.message.type===`Mutation`?`mutation`:`action`,r=t.message.udfPath;for(let t of e.logLines)A(this.logger,`info`,n,r,t);let i=t.status,a,o;if(e.success)a={success:!0,logLines:e.logLines,value:T(e.result)},o=()=>i.onResult(a);else{let t=e.result,{errorData:s}=e;A(this.logger,`error`,n,r,t),a={success:!1,errorMessage:t,errorData:s===void 0?void 0:T(s),logLines:e.logLines},o=()=>i.onResult(a)}return e.type===`ActionResponse`||!e.success?(o(),this.inflightRequests.delete(e.requestId),this.requestsOlderThanRestart.delete(e.requestId),t.message.type===`Action`?this.inflightActionsCount--:t.message.type===`Mutation`&&this.inflightMutationsCount--,this.markConnectionStateDirty(),{requestId:e.requestId,result:a}):(t.status={status:`Completed`,result:a,ts:e.ts,onResolve:o},null)}removeCompleted(e){let t=new Map;for(let[n,r]of this.inflightRequests.entries()){let i=r.status;i.status===`Completed`&&i.ts.lessThanOrEqual(e)&&(i.onResolve(),t.set(n,i.result),r.message.type===`Mutation`?this.inflightMutationsCount--:r.message.type===`Action`&&this.inflightActionsCount--,this.inflightRequests.delete(n),this.requestsOlderThanRestart.delete(n))}return t.size>0&&this.markConnectionStateDirty(),t}restart(){this.requestsOlderThanRestart=new Set(this.inflightRequests.keys());let e=[];for(let[t,n]of this.inflightRequests){if(n.status.status===`NotSent`){n.status.status=`Requested`,e.push(n.message);continue}if(n.message.type===`Mutation`)e.push(n.message);else if(n.message.type===`Action`){if(this.inflightRequests.delete(t),this.requestsOlderThanRestart.delete(t),this.inflightActionsCount--,n.status.status===`Completed`)throw Error(`Action should never be in 'Completed' state`);n.status.onResult({success:!1,errorMessage:`Connection lost while action was in flight`,logLines:[]})}}return this.markConnectionStateDirty(),e}resume(){let e=[];for(let[,t]of this.inflightRequests)if(t.status.status===`NotSent`){t.status.status=`Requested`,e.push(t.message);continue}return e}hasIncompleteRequests(){for(let e of this.inflightRequests.values())if(e.status.status===`Requested`)return!0;return!1}hasInflightRequests(){return this.inflightRequests.size>0}hasSyncedPastLastReconnect(){return this.requestsOlderThanRestart.size===0}timeOfOldestInflightRequest(){if(this.inflightRequests.size===0)return null;let e=Date.now();for(let t of this.inflightRequests.values())t.status.status!==`Completed`&&t.status.requestedAt.getTime()<e&&(e=t.status.requestedAt.getTime());return new Date(e)}inflightMutations(){return this.inflightMutationsCount}inflightActions(){return this.inflightActionsCount}},Ke=Object.defineProperty,qe=(e,t,n)=>t in e?Ke(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,L=(e,t,n)=>qe(e,typeof t==`symbol`?t:t+``,n),Je=class e{constructor(e){L(this,`queryResults`),L(this,`modifiedQueries`),this.queryResults=e,this.modifiedQueries=[]}getQuery(t,...n){let r=S(n[0]),i=u(t),a=this.queryResults.get(P(i,r));if(a!==void 0)return e.queryValue(a.result)}getAllQueries(t){let n=[],r=u(t);for(let t of this.queryResults.values())t.udfPath===N(r)&&n.push({args:t.args,value:e.queryValue(t.result)});return n}setQuery(e,t,n){let r=S(t),i=u(e),a=P(i,r),o;o=n===void 0?void 0:{success:!0,value:n,logLines:[]};let s={udfPath:i,args:r,result:o};this.queryResults.set(a,s),this.modifiedQueries.push(a)}static queryValue(e){if(e!==void 0&&e.success)return e.value}},Ye=class{constructor(){L(this,`queryResults`),L(this,`optimisticUpdates`),this.queryResults=new Map,this.optimisticUpdates=[]}ingestQueryResultsFromServer(e,t){this.optimisticUpdates=this.optimisticUpdates.filter(e=>!t.has(e.mutationId));let n=this.queryResults;this.queryResults=new Map(e);let r=new Je(this.queryResults);for(let e of this.optimisticUpdates)e.update(r);let i=[];for(let[e,t]of this.queryResults){let r=n.get(e);(r===void 0||r.result!==t.result)&&i.push(e)}return i}applyOptimisticUpdate(e,t){this.optimisticUpdates.push({update:e,mutationId:t});let n=new Je(this.queryResults);return e(n),n.modifiedQueries}rawQueryResult(e){let t=this.queryResults.get(e);if(t!==void 0)return t.result}queryResult(e){let t=this.queryResults.get(e);if(t===void 0)return;let n=t.result;if(n!==void 0){if(n.success)return n.value;throw n.errorData===void 0?Error(j(`query`,t.udfPath,n)):M(n,new k(j(`query`,t.udfPath,n)))}}hasQueryResult(e){return this.queryResults.get(e)!==void 0}queryLogs(e){return this.queryResults.get(e)?.result?.logLines}},Xe=Object.defineProperty,Ze=(e,t,n)=>t in e?Xe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,R=(e,t,n)=>Ze(e,typeof t==`symbol`?t:t+``,n),z=class e{constructor(e,t){R(this,`low`),R(this,`high`),R(this,`__isUnsignedLong__`),this.low=e|0,this.high=t|0,this.__isUnsignedLong__=!0}static isLong(e){return(e&&e.__isUnsignedLong__)===!0}static fromBytesLE(t){return new e(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24)}toBytesLE(){let e=this.high,t=this.low;return[t&255,t>>>8&255,t>>>16&255,t>>>24,e&255,e>>>8&255,e>>>16&255,e>>>24]}static fromNumber(t){return isNaN(t)||t<0?Qe:t>=et?tt:new e(t%B|0,t/B|0)}toString(){return(BigInt(this.high)*BigInt(B)+BigInt(this.low)).toString()}equals(t){return e.isLong(t)||(t=e.fromValue(t)),this.high>>>31==1&&t.high>>>31==1?!1:this.high===t.high&&this.low===t.low}notEquals(e){return!this.equals(e)}comp(t){return e.isLong(t)||(t=e.fromValue(t)),this.equals(t)?0:t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1}lessThanOrEqual(e){return this.comp(e)<=0}static fromValue(t){return typeof t==`number`?e.fromNumber(t):new e(t.low,t.high)}},Qe=new z(0,0),$e=65536,B=$e*$e,et=B*B,tt=new z(-1,-1),nt=Object.defineProperty,rt=(e,t,n)=>t in e?nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,V=(e,t,n)=>rt(e,typeof t==`symbol`?t:t+``,n),it=class{constructor(e,t){V(this,`version`),V(this,`remoteQuerySet`),V(this,`queryPath`),V(this,`logger`),this.version={querySet:0,ts:z.fromNumber(0),identity:0},this.remoteQuerySet=new Map,this.queryPath=e,this.logger=t}transition(e){let t=e.startVersion;if(this.version.querySet!==t.querySet||this.version.ts.notEquals(t.ts)||this.version.identity!==t.identity)throw Error(`Invalid start version: ${t.ts.toString()}:${t.querySet}:${t.identity}, transitioning from ${this.version.ts.toString()}:${this.version.querySet}:${this.version.identity}`);for(let t of e.modifications)switch(t.type){case`QueryUpdated`:{let e=this.queryPath(t.queryId);if(e)for(let n of t.logLines)A(this.logger,`info`,`query`,e,n);let n=T(t.value??null);this.remoteQuerySet.set(t.queryId,{success:!0,value:n,logLines:t.logLines});break}case`QueryFailed`:{let e=this.queryPath(t.queryId);if(e)for(let n of t.logLines)A(this.logger,`info`,`query`,e,n);let{errorData:n}=t;this.remoteQuerySet.set(t.queryId,{success:!1,errorMessage:t.errorMessage,errorData:n===void 0?void 0:T(n),logLines:t.logLines});break}case`QueryRemoved`:this.remoteQuerySet.delete(t.queryId);break;default:throw Error(`Invalid modification ${t.type}`)}this.version=e.endVersion}remoteQueryResults(){return this.remoteQuerySet}timestamp(){return this.version.ts}};function at(e){let t=y(e);return z.fromBytesLE(Array.from(t))}function ot(e){return x(new Uint8Array(e.toBytesLE()))}function st(e){switch(e.type){case`FatalError`:case`AuthError`:case`ActionResponse`:case`TransitionChunk`:case`Ping`:return{...e};case`MutationResponse`:return e.success?{...e,ts:at(e.ts)}:{...e};case`Transition`:return{...e,startVersion:{...e.startVersion,ts:at(e.startVersion.ts)},endVersion:{...e.endVersion,ts:at(e.endVersion.ts)}}}}function ct(e){switch(e.type){case`Authenticate`:case`ModifyQuerySet`:case`Mutation`:case`Action`:case`Event`:return{...e};case`Connect`:return e.maxObservedTimestamp===void 0?{...e,maxObservedTimestamp:void 0}:{...e,maxObservedTimestamp:ot(e.maxObservedTimestamp)}}}var lt=Object.defineProperty,ut=(e,t,n)=>t in e?lt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,H=(e,t,n)=>ut(e,typeof t==`symbol`?t:t+``,n),dt=1e3,ft=1001,pt=1005,mt=4040,U;function W(){return U===void 0&&(U=Date.now()),typeof performance>`u`||!performance.now?Date.now():Math.round(U+performance.now())}function ht(){return`t=${Math.round((W()-U)/100)/10}s`}var gt={InternalServerError:{timeout:1e3},SubscriptionsWorkerFullError:{timeout:3e3},TooManyConcurrentRequests:{timeout:3e3},CommitterFullError:{timeout:3e3},AwsTooManyRequestsException:{timeout:3e3},ExecuteFullError:{timeout:3e3},SystemTimeoutError:{timeout:3e3},ExpiredInQueue:{timeout:3e3},VectorIndexesUnavailable:{timeout:1e3},SearchIndexesUnavailable:{timeout:1e3},TableSummariesUnavailable:{timeout:1e3},VectorIndexTooLarge:{timeout:3e3},SearchIndexTooLarge:{timeout:3e3},TooManyWritesInTimePeriod:{timeout:3e3}};function _t(e){if(e===void 0)return`Unknown`;for(let t of Object.keys(gt))if(e.startsWith(t))return t;return`Unknown`}var vt=class{constructor(e,t,n,r,i,a){this.markConnectionStateDirty=i,this.debug=a,H(this,`socket`),H(this,`connectionCount`),H(this,`_hasEverConnected`,!1),H(this,`lastCloseReason`),H(this,`transitionChunkBuffer`,null),H(this,`defaultInitialBackoff`),H(this,`maxBackoff`),H(this,`retries`),H(this,`serverInactivityThreshold`),H(this,`reconnectDueToServerInactivityTimeout`),H(this,`scheduledReconnect`,null),H(this,`networkOnlineHandler`,null),H(this,`pendingNetworkRecoveryInfo`,null),H(this,`uri`),H(this,`onOpen`),H(this,`onResume`),H(this,`onMessage`),H(this,`webSocketConstructor`),H(this,`logger`),H(this,`onServerDisconnectError`),this.webSocketConstructor=n,this.socket={state:`disconnected`},this.connectionCount=0,this.lastCloseReason=`InitialConnect`,this.defaultInitialBackoff=1e3,this.maxBackoff=16e3,this.retries=0,this.serverInactivityThreshold=6e4,this.reconnectDueToServerInactivityTimeout=null,this.uri=e,this.onOpen=t.onOpen,this.onResume=t.onResume,this.onMessage=t.onMessage,this.onServerDisconnectError=t.onServerDisconnectError,this.logger=r,this.setupNetworkListener(),this.connect()}setSocketState(e){this.socket=e,this._logVerbose(`socket state changed: ${this.socket.state}, paused: ${`paused`in this.socket?this.socket.paused:void 0}`),this.markConnectionStateDirty()}setupNetworkListener(){typeof window>`u`||typeof window.addEventListener!=`function`||this.networkOnlineHandler===null&&(this.networkOnlineHandler=()=>{this._logVerbose(`network online event detected`),this.tryReconnectImmediately()},window.addEventListener(`online`,this.networkOnlineHandler),this._logVerbose(`network online event listener registered`))}cleanupNetworkListener(){this.networkOnlineHandler&&typeof window<`u`&&typeof window.removeEventListener==`function`&&(window.removeEventListener(`online`,this.networkOnlineHandler),this.networkOnlineHandler=null,this._logVerbose(`network online event listener removed`))}assembleTransition(e){if(e.partNumber<0||e.partNumber>=e.totalParts||e.totalParts===0||this.transitionChunkBuffer&&(this.transitionChunkBuffer.totalParts!==e.totalParts||this.transitionChunkBuffer.transitionId!==e.transitionId))throw this.transitionChunkBuffer=null,Error(`Invalid TransitionChunk`);if(this.transitionChunkBuffer===null&&(this.transitionChunkBuffer={chunks:[],totalParts:e.totalParts,transitionId:e.transitionId}),e.partNumber!==this.transitionChunkBuffer.chunks.length){let t=this.transitionChunkBuffer.chunks.length;throw this.transitionChunkBuffer=null,Error(`TransitionChunk received out of order: expected part ${t}, got ${e.partNumber}`)}if(this.transitionChunkBuffer.chunks.push(e.chunk),this.transitionChunkBuffer.chunks.length===e.totalParts){let e=this.transitionChunkBuffer.chunks.join(``);this.transitionChunkBuffer=null;let t=st(JSON.parse(e));if(t.type!==`Transition`)throw Error(`Expected Transition, got ${t.type} after assembling chunks`);return t}return null}connect(){if(this.socket.state===`terminated`)return;if(this.socket.state!==`disconnected`&&this.socket.state!==`stopped`)throw Error(`Didn't start connection from disconnected state: `+this.socket.state);let e=new this.webSocketConstructor(this.uri);this._logVerbose(`constructed WebSocket`),this.setSocketState({state:`connecting`,ws:e,paused:`no`}),this.resetServerInactivityTimeout(),e.onopen=()=>{if(this.logger.logVerbose(`begin ws.onopen`),this.socket.state!==`connecting`)throw Error(`onopen called with socket not in connecting state`);if(this.setSocketState({state:`ready`,ws:e,paused:this.socket.paused===`yes`?`uninitialized`:`no`}),this.resetServerInactivityTimeout(),this.socket.paused===`no`&&(this._hasEverConnected=!0,this.onOpen({connectionCount:this.connectionCount,lastCloseReason:this.lastCloseReason,clientTs:W()})),this.lastCloseReason!==`InitialConnect`&&(this.lastCloseReason?this.logger.log(`WebSocket reconnected at`,ht(),`after disconnect due to`,this.lastCloseReason):this.logger.log(`WebSocket reconnected at`,ht())),this.connectionCount+=1,this.lastCloseReason=null,this.pendingNetworkRecoveryInfo!==null){let{timeSavedMs:e}=this.pendingNetworkRecoveryInfo;this.pendingNetworkRecoveryInfo=null,this.sendMessage({type:`Event`,eventType:`NetworkRecoveryReconnect`,event:{timeSavedMs:e}}),this.logger.log(`Network recovery reconnect saved ~${Math.round(e/1e3)}s of waiting`)}},e.onerror=e=>{this.transitionChunkBuffer=null;let t=e.message;t&&this.logger.log(`WebSocket error message: ${t}`)},e.onmessage=e=>{this.resetServerInactivityTimeout();let t=e.data.length,n=st(JSON.parse(e.data));if(this._logVerbose(`received ws message with type ${n.type}`),n.type!==`Ping`){if(n.type===`TransitionChunk`){let e=this.assembleTransition(n);if(!e)return;n=e,this._logVerbose(`assembled full ws message of type ${n.type}`)}this.transitionChunkBuffer!==null&&(this.transitionChunkBuffer=null,this.logger.log(`Received unexpected ${n.type} while buffering TransitionChunks`)),n.type===`Transition`&&this.reportLargeTransition({messageLength:t,transition:n}),this.onMessage(n).hasSyncedPastLastReconnect&&(this.retries=0,this.markConnectionStateDirty())}},e.onclose=e=>{if(this._logVerbose(`begin ws.onclose`),this.transitionChunkBuffer=null,this.lastCloseReason===null&&(this.lastCloseReason=e.reason||`closed with code ${e.code}`),e.code!==dt&&e.code!==ft&&e.code!==pt&&e.code!==mt){let t=`WebSocket closed with code ${e.code}`;e.reason&&(t+=`: ${e.reason}`),this.logger.log(t),this.onServerDisconnectError&&e.reason&&this.onServerDisconnectError(t)}let t=_t(e.reason);this.scheduleReconnect(t)}}socketState(){return this.socket.state}sendMessage(e){let t={type:e.type,...e.type===`Authenticate`&&e.tokenType===`User`?{value:`...${e.value.slice(-7)}`}:{}};if(this.socket.state===`ready`&&this.socket.paused===`no`){let n=ct(e),r=JSON.stringify(n),i=!1;try{this.socket.ws.send(r),i=!0}catch(e){this.logger.log(`Failed to send message on WebSocket, reconnecting: ${e}`),this.closeAndReconnect(`FailedToSendMessage`)}return this._logVerbose(`${i?`sent`:`failed to send`} message with type ${e.type}: ${JSON.stringify(t)}`),!0}return this._logVerbose(`message not sent (socket state: ${this.socket.state}, paused: ${`paused`in this.socket?this.socket.paused:void 0}): ${JSON.stringify(t)}`),!1}resetServerInactivityTimeout(){this.socket.state!==`terminated`&&(this.reconnectDueToServerInactivityTimeout!==null&&(clearTimeout(this.reconnectDueToServerInactivityTimeout),this.reconnectDueToServerInactivityTimeout=null),this.reconnectDueToServerInactivityTimeout=setTimeout(()=>{this.closeAndReconnect(`InactiveServer`)},this.serverInactivityThreshold))}scheduleReconnect(e){this.scheduledReconnect&&=(clearTimeout(this.scheduledReconnect.timeout),null),this.socket={state:`disconnected`};let t=this.nextBackoff(e);this.markConnectionStateDirty(),this.logger.log(`Attempting reconnect in ${Math.round(t)}ms`);let n=W(),r=setTimeout(()=>{this.scheduledReconnect?.timeout===r&&(this.scheduledReconnect=null,this.connect())},t);this.scheduledReconnect={timeout:r,scheduledAt:n,backoffMs:t}}closeAndReconnect(e){switch(this._logVerbose(`begin closeAndReconnect with reason ${e}`),this.socket.state){case`disconnected`:case`terminated`:case`stopped`:return;case`connecting`:case`ready`:this.lastCloseReason=e,this.close(),this.scheduleReconnect(`client`);return;default:this.socket}}close(){switch(this.transitionChunkBuffer=null,this.socket.state){case`disconnected`:case`terminated`:case`stopped`:return Promise.resolve();case`connecting`:{let e=this.socket.ws;return e.onmessage=e=>{this._logVerbose(`Ignoring message received after close`)},new Promise(t=>{e.onclose=()=>{this._logVerbose(`Closed after connecting`),t()},e.onopen=()=>{this._logVerbose(`Opened after connecting`),e.close()}})}case`ready`:{this._logVerbose(`ws.close called`);let e=this.socket.ws;e.onmessage=e=>{this._logVerbose(`Ignoring message received after close`)};let t=new Promise(t=>{e.onclose=()=>{t()}});return e.close(),t}default:return this.socket,Promise.resolve()}}terminate(){switch(this.reconnectDueToServerInactivityTimeout&&clearTimeout(this.reconnectDueToServerInactivityTimeout),this.scheduledReconnect&&=(clearTimeout(this.scheduledReconnect.timeout),null),this.cleanupNetworkListener(),this.socket.state){case`terminated`:case`stopped`:case`disconnected`:case`connecting`:case`ready`:{let e=this.close();return this.setSocketState({state:`terminated`}),e}default:throw this.socket,Error(`Invalid websocket state: ${this.socket.state}`)}}stop(){switch(this.socket.state){case`terminated`:return Promise.resolve();case`connecting`:case`stopped`:case`disconnected`:case`ready`:{this.cleanupNetworkListener();let e=this.close();return this.socket={state:`stopped`},e}default:return this.socket,Promise.resolve()}}tryRestart(){switch(this.socket.state){case`stopped`:break;case`terminated`:case`connecting`:case`ready`:case`disconnected`:this.logger.logVerbose(`Restart called without stopping first`);return;default:this.socket}this.setupNetworkListener(),this.connect()}pause(){switch(this.socket.state){case`disconnected`:case`stopped`:case`terminated`:return;case`connecting`:case`ready`:this.socket={...this.socket,paused:`yes`};return;default:this.socket;return}}tryReconnectImmediately(){if(this._logVerbose(`tryReconnectImmediately called`),this.socket.state!==`disconnected`){this._logVerbose(`tryReconnectImmediately called but socket state is ${this.socket.state}, no action taken`);return}let e=null;if(this.scheduledReconnect){let t=W()-this.scheduledReconnect.scheduledAt;e=Math.max(0,this.scheduledReconnect.backoffMs-t),this._logVerbose(`would have waited ${Math.round(e)}ms more (backoff was ${Math.round(this.scheduledReconnect.backoffMs)}ms, elapsed ${Math.round(t)}ms)`),clearTimeout(this.scheduledReconnect.timeout),this.scheduledReconnect=null,this._logVerbose(`canceled scheduled reconnect`)}this.logger.log(`Network recovery detected, reconnecting immediately`),this.pendingNetworkRecoveryInfo=e===null?null:{timeSavedMs:e},this.connect()}resume(){switch(this.socket.state){case`connecting`:this.socket={...this.socket,paused:`no`};return;case`ready`:this.socket.paused===`uninitialized`?(this.socket={...this.socket,paused:`no`},this._hasEverConnected=!0,this.onOpen({connectionCount:this.connectionCount,lastCloseReason:this.lastCloseReason,clientTs:W()})):this.socket.paused===`yes`&&(this.socket={...this.socket,paused:`no`},this.onResume());return;case`terminated`:case`stopped`:case`disconnected`:return;default:this.socket}this.connect()}connectionState(){return{isConnected:this.socket.state===`ready`,hasEverConnected:this._hasEverConnected,connectionCount:this.connectionCount,connectionRetries:this.retries}}_logVerbose(e){this.logger.logVerbose(e)}nextBackoff(e){let t=(e===`client`?100:e===`Unknown`?this.defaultInitialBackoff:gt[e].timeout)*2**this.retries;this.retries+=1;let n=Math.min(t,this.maxBackoff);return n+n*(Math.random()-.5)}reportLargeTransition({transition:e,messageLength:t}){if(e.clientClockSkew===void 0||e.serverTs===void 0)return;let n=W()-e.clientClockSkew-e.serverTs/1e6,r=`${Math.round(n)}ms`,i=`${Math.round(t/1e4)/100}MB`,a=t/(n/1e3),o=`${Math.round(a/1e4)/100}MB per second`;this._logVerbose(`received ${i} transition in ${r} at ${o}`),t>2e7?this.logger.log(`received query results totaling more that 20MB (${i}) which will take a long time to download on slower connections`):n>2e4&&this.logger.log(`received query results totaling ${i} which took more than 20s to arrive (${r})`),this.debug&&this.sendMessage({type:`Event`,eventType:`ClientReceivedTransition`,event:{transitionTransitTime:n,messageLength:t}})}};function yt(){return bt()}function bt(){return`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e===`x`?t:t&3|8).toString(16)})}var G=class extends Error{};G.prototype.name=`InvalidTokenError`;function xt(e){return decodeURIComponent(atob(e).replace(/(.)/g,(e,t)=>{let n=t.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n=`0`+n),`%`+n}))}function St(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`);switch(t.length%4){case 0:break;case 2:t+=`==`;break;case 3:t+=`=`;break;default:throw Error(`base64 string is not of the correct length`)}try{return xt(t)}catch{return atob(t)}}function Ct(e,t){if(typeof e!=`string`)throw new G(`Invalid token specified: must be a string`);t||={};let n=t.header===!0?0:1,r=e.split(`.`)[n];if(typeof r!=`string`)throw new G(`Invalid token specified: missing part #${n+1}`);let i;try{i=St(r)}catch(e){throw new G(`Invalid token specified: invalid base64 for part #${n+1} (${e.message})`)}try{return JSON.parse(i)}catch(e){throw new G(`Invalid token specified: invalid json for part #${n+1} (${e.message})`)}}var wt=Object.defineProperty,Tt=(e,t,n)=>t in e?wt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,K=(e,t,n)=>Tt(e,typeof t==`symbol`?t:t+``,n),Et=1728e6,Dt=2,Ot=class{constructor(e,t,n){K(this,`authState`,{state:`noAuth`}),K(this,`configVersion`,0),K(this,`syncState`),K(this,`authenticate`),K(this,`stopSocket`),K(this,`tryRestartSocket`),K(this,`pauseSocket`),K(this,`resumeSocket`),K(this,`clearAuth`),K(this,`logger`),K(this,`refreshTokenLeewaySeconds`),K(this,`initialAuthTokenReuse`),K(this,`lastRefreshChange`),K(this,`tokenConfirmationAttempts`,0),this.syncState=e,this.authenticate=t.authenticate,this.stopSocket=t.stopSocket,this.tryRestartSocket=t.tryRestartSocket,this.pauseSocket=t.pauseSocket,this.resumeSocket=t.resumeSocket,this.clearAuth=t.clearAuth,this.logger=n.logger,this.refreshTokenLeewaySeconds=n.refreshTokenLeewaySeconds,this.initialAuthTokenReuse=n.initialAuthTokenReuse,this.lastRefreshChange=!1}notifyRefreshChange(e){this.authState.state!==`noAuth`&&this.authState.state!==`initialRefetch`&&this.authState.config.onRefreshChange&&this.lastRefreshChange!==e&&(this.lastRefreshChange=e,this.authState.config.onRefreshChange(e))}async setConfig(e,t,n){this.resetAuthState(),this._logVerbose(`pausing WS for auth token fetch`),this.pauseSocket();let r=await this.fetchTokenAndGuardAgainstRace(e,{forceRefreshToken:!1});if(r.isFromOutdatedConfig)return;let i={fetchToken:e,onAuthChange:t,onRefreshChange:n};r.value?(this.setAuthState({state:`waitingForServerConfirmationOfCachedToken`,config:i,hasRetried:!1}),this.authenticate(r.value)):(this.setAuthState({state:`initialRefetch`,config:i}),await this.refetchToken()),this._logVerbose(`resuming WS after auth token fetch`),this.resumeSocket()}onTransition(e){if(this.syncState.isCurrentOrNewerAuthVersion(e.endVersion.identity)&&!(e.endVersion.identity<=e.startVersion.identity)){if(this._logVerbose(`auth state is ${this.authState.state} when handling transition`),this.syncState.markAuthCompletion(),this.authState.state===`waitingForServerConfirmationOfCachedToken`){this._logVerbose(`server confirmed auth token is valid`);let t=this.syncState.getAuth()?.value;this.initialAuthTokenReuse&&t?this.scheduleTokenRefetch(t,e.clientClockSkew):this.refetchToken(),this.authState.config.onAuthChange(!0);return}this.authState.state===`waitingForServerConfirmationOfFreshToken`&&(this._logVerbose(`server confirmed new auth token is valid`),this.notifyRefreshChange(!1),this.scheduleTokenRefetch(this.authState.token),this.tokenConfirmationAttempts=0,this.authState.hadAuth||this.authState.config.onAuthChange(!0))}}onAuthError(e){if(e.authUpdateAttempted===!1&&(this.authState.state===`waitingForServerConfirmationOfFreshToken`||this.authState.state===`waitingForServerConfirmationOfCachedToken`)){this._logVerbose(`ignoring non-auth token expired error`);return}let{baseVersion:t}=e;if(!this.syncState.isCurrentOrNewerAuthVersion(t+1)){this._logVerbose(`ignoring auth error for previous auth attempt`);return}this.tryToReauthenticate(e)}async tryToReauthenticate(e){if(this._logVerbose(`attempting to reauthenticate: ${e.error}`),this.authState.state===`noAuth`||this.authState.state===`waitingForServerConfirmationOfFreshToken`&&this.tokenConfirmationAttempts>=Dt){this.logger.error(`Failed to authenticate: "${e.error}", check your server auth config`),this.syncState.hasAuth()&&this.syncState.clearAuth(),this.authState.state!==`noAuth`&&this.setAndReportAuthFailed(this.authState.config.onAuthChange);return}if(this.authState.state===`waitingForServerConfirmationOfFreshToken`&&(this.tokenConfirmationAttempts++,this._logVerbose(`retrying reauthentication, ${Dt-this.tokenConfirmationAttempts} attempts remaining`)),this.notifyRefreshChange(!0),await this.stopSocket(),this.authState.state===`noAuth`)return;let t=await this.fetchTokenAndGuardAgainstRace(this.authState.config.fetchToken,{forceRefreshToken:!0});t.isFromOutdatedConfig||(t.value&&this.syncState.isNewAuth(t.value)?(this.authenticate(t.value),this.setAuthState({state:`waitingForServerConfirmationOfFreshToken`,config:this.authState.config,token:t.value,hadAuth:this.authState.state===`notRefetching`||this.authState.state===`waitingForScheduledRefetch`})):(this._logVerbose(`reauthentication failed, could not fetch a new token`),this.syncState.hasAuth()&&this.syncState.clearAuth(),this.setAndReportAuthFailed(this.authState.config.onAuthChange)),this.tryRestartSocket())}async refetchToken(){if(this.authState.state===`noAuth`)return;this._logVerbose(`refetching auth token`);let e=await this.fetchTokenAndGuardAgainstRace(this.authState.config.fetchToken,{forceRefreshToken:!0});e.isFromOutdatedConfig||(e.value?this.syncState.isNewAuth(e.value)?(this.setAuthState({state:`waitingForServerConfirmationOfFreshToken`,hadAuth:this.syncState.hasAuth(),token:e.value,config:this.authState.config}),this.authenticate(e.value)):this.setAuthState({state:`notRefetching`,config:this.authState.config}):(this._logVerbose(`refetching token failed`),this.syncState.hasAuth()&&this.clearAuth(),this.setAndReportAuthFailed(this.authState.config.onAuthChange)),this._logVerbose(`restarting WS after auth token fetch (if currently stopped)`),this.tryRestartSocket())}scheduleTokenRefetch(e,t){if(this.authState.state===`noAuth`)return;let n=this.decodeToken(e);if(!n){this.logger.error(`Auth token is not a valid JWT, cannot refetch the token`);return}let{iat:r,exp:i}=n;if(!r||!i){this.logger.error(`Auth token does not have required fields, cannot refetch the token`);return}let a=i-r;if(a<=2){this.logger.error(`Auth token does not live long enough, cannot refetch the token`);return}let o;t===void 0?o=a:(o=i-(Date.now()-t)/1e3,o<=0&&(o=0));let s=Math.min(Et,(o-this.refreshTokenLeewaySeconds)*1e3);s<=0&&(this.logger.warn(`Refetching auth token immediately, configured leeway ${this.refreshTokenLeewaySeconds}s is larger than the token's lifetime ${o}s`),s=0);let c=setTimeout(()=>{this._logVerbose(`running scheduled token refetch`),this.refetchToken()},s);this.setAuthState({state:`waitingForScheduledRefetch`,refetchTokenTimeoutId:c,config:this.authState.config}),this._logVerbose(`scheduled preemptive auth token refetching in ${s}ms`)}async fetchTokenAndGuardAgainstRace(e,t){let n=++this.configVersion;this._logVerbose(`fetching token with config version ${n}`);let r=await e(t);return this.configVersion===n?{isFromOutdatedConfig:!1,value:r}:(this._logVerbose(`stale config version, expected ${n}, got ${this.configVersion}`),{isFromOutdatedConfig:!0})}stop(){this.resetAuthState(),this.configVersion++,this._logVerbose(`config version bumped to ${this.configVersion}`)}setAndReportAuthFailed(e){e(!1),this.resetAuthState()}resetAuthState(){this.notifyRefreshChange(!1),this.setAuthState({state:`noAuth`})}setAuthState(e){let t=e.state===`waitingForServerConfirmationOfFreshToken`?{hadAuth:e.hadAuth,state:e.state,token:`...${e.token.slice(-7)}`}:{state:e.state};switch(this._logVerbose(`setting auth state to ${JSON.stringify(t)}`),e.state){case`waitingForScheduledRefetch`:case`notRefetching`:case`noAuth`:this.tokenConfirmationAttempts=0}this.authState.state===`waitingForScheduledRefetch`&&clearTimeout(this.authState.refetchTokenTimeoutId),this.authState=e}decodeToken(e){try{return Ct(e)}catch(e){return this._logVerbose(`Error decoding token: ${e instanceof Error?e.message:`Unknown error`}`),null}}_logVerbose(e){this.logger.logVerbose(`${e} [v${this.configVersion}]`)}},kt=[`convexClientConstructed`,`convexWebSocketOpen`,`convexFirstMessageReceived`];function At(e,t){let n={sessionId:t};typeof performance>`u`||!performance.mark||performance.mark(e,{detail:n})}function jt(e){let t=e.name.slice(6);return t=t.charAt(0).toLowerCase()+t.slice(1),{name:t,startTime:e.startTime}}function Mt(e){if(typeof performance>`u`||!performance.getEntriesByName)return[];let t=[];for(let n of kt){let r=performance.getEntriesByName(n).filter(e=>e.entryType===`mark`).filter(t=>t.detail.sessionId===e);t.push(...r)}return t.map(jt)}var Nt=Object.defineProperty,Pt=(e,t,n)=>t in e?Nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,q=(e,t,n)=>Pt(e,typeof t==`symbol`?t:t+``,n),Ft=class{constructor(e,t,n){if(q(this,`address`),q(this,`state`),q(this,`requestManager`),q(this,`webSocketManager`),q(this,`authenticationManager`),q(this,`remoteQuerySet`),q(this,`optimisticQueryResults`),q(this,`_transitionHandlerCounter`,0),q(this,`_nextRequestId`),q(this,`_onTransitionFns`,new Map),q(this,`_sessionId`),q(this,`firstMessageReceived`,!1),q(this,`debug`),q(this,`logger`),q(this,`maxObservedTimestamp`),q(this,`connectionStateSubscribers`,new Map),q(this,`nextConnectionStateSubscriberId`,0),q(this,`_lastPublishedConnectionState`),q(this,`markConnectionStateDirty`,()=>{Promise.resolve().then(()=>{let e=this.connectionState();if(JSON.stringify(e)!==JSON.stringify(this._lastPublishedConnectionState)){this._lastPublishedConnectionState=e;for(let t of this.connectionStateSubscribers.values())t(e)}})}),q(this,`mark`,e=>{this.debug&&At(e,this.sessionId)}),typeof e==`object`)throw Error(`Passing a ClientConfig object is no longer supported. Pass the URL of the Convex deployment as a string directly.`);n?.skipConvexDeploymentUrlCheck!==!0&&ne(e),n={...n};let r=n.authRefreshTokenLeewaySeconds??10,i=n.webSocketConstructor;if(!i&&typeof WebSocket>`u`)throw Error(`No WebSocket global variable defined! To use Convex in an environment without WebSocket try the HTTP client: https://docs.convex.dev/api/classes/browser.ConvexHttpClient`);i||=WebSocket,this.debug=n.reportDebugInfoToConvex??!1,this.address=e,this.logger=n.logger===!1?Ie({verbose:n.verbose??!1}):n.logger!==!0&&n.logger?n.logger:Fe({verbose:n.verbose??!1});let a=e.search(`://`);if(a===-1)throw Error(`Provided address was not an absolute URL.`);let o=e.substring(a+3),s=e.substring(0,a),c;if(s===`http`)c=`ws`;else if(s===`https`)c=`wss`;else throw Error(`Unknown parent protocol ${s}`);let l=`${c}://${o}/api/${d}/sync`;this.state=new He,this.remoteQuerySet=new it(e=>this.state.queryPath(e),this.logger),this.requestManager=new Ge(this.logger,this.markConnectionStateDirty);let u=()=>{this.webSocketManager.pause(),this.state.pause()};this.authenticationManager=new Ot(this.state,{authenticate:e=>{let t=this.state.setAuth(e);return this.webSocketManager.sendMessage(t),t.baseVersion},stopSocket:()=>this.webSocketManager.stop(),tryRestartSocket:()=>this.webSocketManager.tryRestart(),pauseSocket:u,resumeSocket:()=>this.webSocketManager.resume(),clearAuth:()=>{this.clearAuth()}},{logger:this.logger,refreshTokenLeewaySeconds:r,initialAuthTokenReuse:n.initialAuthTokenReuse??!1}),this.optimisticQueryResults=new Ye,this.addOnTransitionHandler(e=>{t(e.queries.map(e=>e.token))}),this._nextRequestId=0,this._sessionId=yt();let{unsavedChangesWarning:f}=n;if(typeof window>`u`||window.addEventListener===void 0){if(f===!0)throw Error(`unsavedChangesWarning requested, but window.addEventListener not found! Remove {unsavedChangesWarning: true} from Convex client options.`)}else f!==!1&&window.addEventListener(`beforeunload`,e=>{if(this.requestManager.hasIncompleteRequests()){e.preventDefault();let t=`Are you sure you want to leave? Your changes may not be saved.`;return(e||window.event).returnValue=t,t}});this.webSocketManager=new vt(l,{onOpen:e=>{this.mark(`convexWebSocketOpen`),this.webSocketManager.sendMessage({...e,type:`Connect`,sessionId:this._sessionId,maxObservedTimestamp:this.maxObservedTimestamp}),this.remoteQuerySet=new it(e=>this.state.queryPath(e),this.logger);let[t,n]=this.state.restart();n&&this.webSocketManager.sendMessage(n),this.webSocketManager.sendMessage(t);for(let e of this.requestManager.restart())this.webSocketManager.sendMessage(e)},onResume:()=>{let[e,t]=this.state.resume();t&&this.webSocketManager.sendMessage(t),e&&this.webSocketManager.sendMessage(e);for(let e of this.requestManager.resume())this.webSocketManager.sendMessage(e)},onMessage:e=>{switch(this.firstMessageReceived||(this.firstMessageReceived=!0,this.mark(`convexFirstMessageReceived`),this.reportMarks()),e.type){case`Transition`:{this.observedTimestamp(e.endVersion.ts),this.authenticationManager.onTransition(e),this.remoteQuerySet.transition(e),this.state.transition(e);let t=this.requestManager.removeCompleted(this.remoteQuerySet.timestamp());this.notifyOnQueryResultChanges(t);break}case`MutationResponse`:{e.success&&this.observedTimestamp(e.ts);let t=this.requestManager.onResponse(e);t!==null&&this.notifyOnQueryResultChanges(new Map([[t.requestId,t.result]]));break}case`ActionResponse`:this.requestManager.onResponse(e);break;case`AuthError`:this.authenticationManager.onAuthError(e);break;case`FatalError`:{let t=Le(this.logger,e.error);throw this.webSocketManager.terminate(),t}}return{hasSyncedPastLastReconnect:this.hasSyncedPastLastReconnect()}},onServerDisconnectError:n.onServerDisconnectError},i,this.logger,this.markConnectionStateDirty,this.debug),this.mark(`convexClientConstructed`),n.expectAuth&&u()}hasSyncedPastLastReconnect(){return this.requestManager.hasSyncedPastLastReconnect()&&this.state.hasSyncedPastLastReconnect()}observedTimestamp(e){(this.maxObservedTimestamp===void 0||this.maxObservedTimestamp.lessThanOrEqual(e))&&(this.maxObservedTimestamp=e)}getMaxObservedTimestamp(){return this.maxObservedTimestamp}notifyOnQueryResultChanges(e){let t=this.remoteQuerySet.remoteQueryResults(),n=new Map;for(let[e,r]of t){let t=this.state.queryToken(e);if(t!==null){let i={result:r,udfPath:this.state.queryPath(e),args:this.state.queryArgs(e)};n.set(t,i)}}let r=this.optimisticQueryResults.ingestQueryResultsFromServer(n,new Set(e.keys()));this.handleTransition({queries:r.map(e=>({token:e,modification:{kind:`Updated`,result:this.optimisticQueryResults.rawQueryResult(e)}})),reflectedMutations:Array.from(e).map(([e,t])=>({requestId:e,result:t})),timestamp:this.remoteQuerySet.timestamp()})}handleTransition(e){for(let t of this._onTransitionFns.values())t(e)}addOnTransitionHandler(e){let t=this._transitionHandlerCounter++;return this._onTransitionFns.set(t,e),()=>this._onTransitionFns.delete(t)}getCurrentAuthClaims(){let e=this.state.getAuth(),t={};if(e&&e.tokenType===`User`)try{t=e?Ct(e.value):{}}catch{t={}}else return;return{token:e.value,decoded:t}}setAuth(e,t,n){this.authenticationManager.setConfig(e,t,n)}hasAuth(){return this.state.hasAuth()}setAdminAuth(e,t){let n=this.state.setAdminAuth(e,t);this.webSocketManager.sendMessage(n)}clearAuth(){let e=this.state.clearAuth();this.webSocketManager.sendMessage(e)}subscribe(e,t,n){let r=S(t),{modification:i,queryToken:a,unsubscribe:o}=this.state.subscribe(e,r,n?.journal,n?.componentPath);return i!==null&&this.webSocketManager.sendMessage(i),{queryToken:a,unsubscribe:()=>{let e=o();e&&this.webSocketManager.sendMessage(e)}}}localQueryResult(e,t){let n=P(e,S(t));return this.optimisticQueryResults.queryResult(n)}localQueryResultByToken(e){return this.optimisticQueryResults.queryResult(e)}hasLocalQueryResultByToken(e){return this.optimisticQueryResults.hasQueryResult(e)}localQueryLogs(e,t){let n=P(e,S(t));return this.optimisticQueryResults.queryLogs(n)}queryJournal(e,t){let n=P(e,S(t));return this.state.queryJournal(n)}connectionState(){let e=this.webSocketManager.connectionState();return{hasInflightRequests:this.requestManager.hasInflightRequests(),isWebSocketConnected:e.isConnected,hasEverConnected:e.hasEverConnected,connectionCount:e.connectionCount,connectionRetries:e.connectionRetries,timeOfOldestInflightRequest:this.requestManager.timeOfOldestInflightRequest(),inflightMutations:this.requestManager.inflightMutations(),inflightActions:this.requestManager.inflightActions()}}subscribeToConnectionState(e){let t=this.nextConnectionStateSubscriberId++;return this.connectionStateSubscribers.set(t,e),()=>{this.connectionStateSubscribers.delete(t)}}async mutation(e,t,n){let r=await this.mutationInternal(e,t,n);if(!r.success)throw r.errorData===void 0?Error(j(`mutation`,e,r)):M(r,new k(j(`mutation`,e,r)));return r.value}async mutationInternal(e,t,n,r){let{mutationPromise:i}=this.enqueueMutation(e,t,n,r);return i}enqueueMutation(e,t,n,r){let i=S(t);this.tryReportLongDisconnect();let a=this.nextRequestId;if(this._nextRequestId++,n!==void 0){let e=n.optimisticUpdate;if(e!==void 0){let t=this.optimisticQueryResults.applyOptimisticUpdate(t=>{e(t,i)instanceof Promise&&this.logger.warn(`Optimistic update handler returned a Promise. Optimistic updates should be synchronous.`)},a).map(e=>{let t=this.localQueryResultByToken(e);return{token:e,modification:{kind:`Updated`,result:t===void 0?void 0:{success:!0,value:t,logLines:[]}}}});this.handleTransition({queries:t,reflectedMutations:[],timestamp:this.remoteQuerySet.timestamp()})}}let o={type:`Mutation`,requestId:a,udfPath:e,componentPath:r,args:[O(i)]},s=this.webSocketManager.sendMessage(o);return{requestId:a,mutationPromise:this.requestManager.request(o,s)}}async action(e,t){let n=await this.actionInternal(e,t);if(!n.success)throw n.errorData===void 0?Error(j(`action`,e,n)):M(n,new k(j(`action`,e,n)));return n.value}async actionInternal(e,t,n){let r=S(t),i=this.nextRequestId;this._nextRequestId++,this.tryReportLongDisconnect();let a={type:`Action`,requestId:i,udfPath:e,componentPath:n,args:[O(r)]},o=this.webSocketManager.sendMessage(a);return this.requestManager.request(a,o)}async close(){return this.authenticationManager.stop(),this.webSocketManager.terminate()}get url(){return this.address}get nextRequestId(){return this._nextRequestId}get sessionId(){return this._sessionId}reportMarks(){if(this.debug){let e=Mt(this.sessionId);this.webSocketManager.sendMessage({type:`Event`,eventType:`ClientConnect`,event:e})}}tryReportLongDisconnect(){if(!this.debug)return;let e=this.connectionState().timeOfOldestInflightRequest;if(e===null||Date.now()-e.getTime()<=6e4)return;let t=`${this.address}/api/debug_event`;fetch(t,{method:`POST`,headers:{"Content-Type":`application/json`,"Convex-Client":`npm-${d}`},body:JSON.stringify({event:`LongWebsocketDisconnect`})}).then(e=>{e.ok||this.logger.warn(`Analytics request failed with response:`,e.body)}).catch(e=>{this.logger.warn(`Analytics response failed with error:`,e)})}};function J(e){if(typeof e!=`object`||!e||!Array.isArray(e.page)||typeof e.isDone!=`boolean`||typeof e.continueCursor!=`string`)throw Error(`Not a valid paginated query result: ${e?.toString()}`);return e}var It=Object.defineProperty,Lt=(e,t,n)=>t in e?It(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Rt=(e,t,n)=>Lt(e,typeof t==`symbol`?t:t+``,n),zt=class{constructor(e,t){this.client=e,this.onTransition=t,Rt(this,`paginatedQuerySet`,new Map),Rt(this,`lastTransitionTs`),this.lastTransitionTs=z.fromNumber(0),this.client.addOnTransitionHandler(e=>this.onBaseTransition(e))}subscribe(e,t,n){let r=N(e),i=Re(r,t,n),a=()=>this.removePaginatedQuerySubscriber(i),o=this.paginatedQuerySet.get(i);return o?(o.numSubscribers+=1,{paginatedQueryToken:i,unsubscribe:a}):(this.paginatedQuerySet.set(i,{token:i,canonicalizedUdfPath:r,args:t,numSubscribers:1,options:{initialNumItems:n.initialNumItems},nextPageKey:0,pageKeys:[],pageKeyToQuery:new Map,ongoingSplits:new Map,skip:!1,id:n.id}),this.addPageToPaginatedQuery(i,null,n.initialNumItems),{paginatedQueryToken:i,unsubscribe:a})}localQueryResult(e,t,n){let r=Re(N(e),t,n);return this.localQueryResultByToken(r)}localQueryResultByToken(e){let t=this.paginatedQuerySet.get(e);if(!t)return;let n=this.activePageQueryTokens(t);if(n.length===0)return{results:[],status:`LoadingFirstPage`,loadMore:t=>this.loadMoreOfPaginatedQuery(e,t)};let r=[],i=!1,a=!1;for(let e of n){let t=this.client.localQueryResultByToken(e);if(t===void 0){i=!0,a=!1;continue}let n=J(t);r=r.concat(n.page),a=!!n.isDone}let o;return o=i?r.length===0?`LoadingFirstPage`:`LoadingMore`:a?`Exhausted`:`CanLoadMore`,{results:r,status:o,loadMore:t=>this.loadMoreOfPaginatedQuery(e,t)}}onBaseTransition(e){let t=e.queries.map(e=>e.token),n=this.queriesContainingTokens(t),r=[];n.length>0&&(this.processPaginatedQuerySplits(n,e=>this.client.localQueryResultByToken(e)),r=n.map(e=>({token:e,modification:{kind:`Updated`,result:this.localQueryResultByToken(e)}})));let i={...e,paginatedQueries:r};this.onTransition(i)}loadMoreOfPaginatedQuery(e,t){this.mustGetPaginatedQuery(e);let n=this.queryTokenForLastPageOfPaginatedQuery(e),r=this.client.localQueryResultByToken(n);if(!r)return!1;let i=J(r);if(i.isDone)return!1;this.addPageToPaginatedQuery(e,i.continueCursor,t);let a={timestamp:this.lastTransitionTs,reflectedMutations:[],queries:[],paginatedQueries:[{token:e,modification:{kind:`Updated`,result:this.localQueryResultByToken(e)}}]};return this.onTransition(a),!0}queriesContainingTokens(e){if(e.length===0)return[];let t=[],n=new Set(e);for(let[e,r]of this.paginatedQuerySet)for(let i of this.allQueryTokens(r))if(n.has(i)){t.push(e);break}return t}processPaginatedQuerySplits(e,t){for(let n of e){let e=this.mustGetPaginatedQuery(n),{ongoingSplits:r,pageKeyToQuery:i,pageKeys:a}=e;for(let[n,[a,o]]of r)t(i.get(a).queryToken)!==void 0&&t(i.get(o).queryToken)!==void 0&&this.completePaginatedQuerySplit(e,n,a,o);for(let n of a){if(r.has(n))continue;let a=i.get(n);if(!a)throw Error(`No page query for active pageKey ${n}`);let o=t(a.queryToken);if(!o)continue;let s=J(o);s.splitCursor&&(s.pageStatus===`SplitRecommended`||s.pageStatus===`SplitRequired`||s.page.length>e.options.initialNumItems*2)&&this.splitPaginatedQueryPage(e,n,a.cursor,s.splitCursor,s.continueCursor)}}}splitPaginatedQueryPage(e,t,n,r,i){let a=e.nextPageKey++,o=e.nextPageKey++,s={numItems:e.options.initialNumItems,id:e.id},c=this.client.subscribe(e.canonicalizedUdfPath,{...e.args,paginationOpts:{...s,cursor:n,endCursor:r}});e.pageKeyToQuery.set(a,{...c,cursor:n});let l=this.client.subscribe(e.canonicalizedUdfPath,{...e.args,paginationOpts:{...s,cursor:r,endCursor:i}});e.pageKeyToQuery.set(o,{...l,cursor:r}),e.ongoingSplits.set(t,[a,o])}addPageToPaginatedQuery(e,t,n){let r=this.mustGetPaginatedQuery(e),i=r.nextPageKey++,a={cursor:t,numItems:n,id:r.id},o={...r.args,paginationOpts:a},s=this.client.subscribe(r.canonicalizedUdfPath,o);return r.pageKeys.push(i),r.pageKeyToQuery.set(i,{...s,cursor:t}),s}removePaginatedQuerySubscriber(e){let t=this.paginatedQuerySet.get(e);if(t&&(--t.numSubscribers,!(t.numSubscribers>0))){for(let e of t.pageKeyToQuery.values())e.unsubscribe();this.paginatedQuerySet.delete(e)}}completePaginatedQuerySplit(e,t,n,r){let i=e.pageKeyToQuery.get(t);e.pageKeyToQuery.delete(t);let a=e.pageKeys.indexOf(t);e.pageKeys.splice(a,1,n,r),e.ongoingSplits.delete(t),i.unsubscribe()}activePageQueryTokens(e){return e.pageKeys.map(t=>e.pageKeyToQuery.get(t).queryToken)}allQueryTokens(e){return Array.from(e.pageKeyToQuery.values()).map(e=>e.queryToken)}queryTokenForLastPageOfPaginatedQuery(e){let t=this.mustGetPaginatedQuery(e),n=t.pageKeys[t.pageKeys.length-1];if(n===void 0)throw Error(`No pages for paginated query ${e}`);return t.pageKeyToQuery.get(n).queryToken}mustGetPaginatedQuery(e){let t=this.paginatedQuerySet.get(e);if(!t)throw Error(`paginated query no longer exists for token `+e);return t}},Bt=Object.defineProperty,Vt=(e,t,n)=>t in e?Bt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Y=(e,t,n)=>Vt(e,typeof t==`symbol`?t:t+``,n),Ht,Ut=class{constructor(e,t={}){Y(this,`listeners`),Y(this,`_client`),Y(this,`_paginatedClient`),Y(this,`callNewListenersWithCurrentValuesTimer`),Y(this,`_closed`),Y(this,`_disabled`),t.skipConvexDeploymentUrlCheck!==!0&&ne(e);let{disabled:n,...r}=t;this._closed=!1,this._disabled=!!n,Ht&&!(`webSocketConstructor`in r)&&typeof WebSocket>`u`&&(r.webSocketConstructor=Ht),typeof window>`u`&&!(`unsavedChangesWarning`in r)&&(r.unsavedChangesWarning=!1),this.disabled||(this._client=new Ft(e,()=>{},r),this._paginatedClient=new zt(this._client,e=>this._transition(e))),this.listeners=new Set}get closed(){return this._closed}get client(){if(this._client)return this._client;throw Error(`ConvexClient is disabled`)}get paginatedClient(){if(this._paginatedClient)return this._paginatedClient;throw Error(`ConvexClient is disabled`)}get disabled(){return this._disabled}onUpdate(e,t,n,r){if(this.disabled)return this.createDisabledUnsubscribe();let{queryToken:i,unsubscribe:a}=this.client.subscribe(u(e),t),o={queryToken:i,callback:n,onError:r,unsubscribe:a,hasEverRun:!1,query:e,args:t,paginationOptions:void 0};this.listeners.add(o),this.queryResultReady(i)&&this.callNewListenersWithCurrentValuesTimer===void 0&&(this.callNewListenersWithCurrentValuesTimer=setTimeout(()=>this.callNewListenersWithCurrentValues(),0));let s={unsubscribe:()=>{this.closed||(this.listeners.delete(o),a())},getCurrentValue:()=>this.client.localQueryResultByToken(i),getQueryLogs:()=>this.client.localQueryLogs(i)},c=s.unsubscribe;return Object.assign(c,s),c}onPaginatedUpdate_experimental(e,t,n,r,i){if(this.disabled)return this.createDisabledUnsubscribe();let a={initialNumItems:n.initialNumItems,id:-1},{paginatedQueryToken:o,unsubscribe:s}=this.paginatedClient.subscribe(u(e),t,a),c={queryToken:o,callback:r,onError:i,unsubscribe:s,hasEverRun:!1,query:e,args:t,paginationOptions:a};this.listeners.add(c),this.paginatedClient.localQueryResultByToken(o)&&this.callNewListenersWithCurrentValuesTimer===void 0&&(this.callNewListenersWithCurrentValuesTimer=setTimeout(()=>this.callNewListenersWithCurrentValues(),0));let l={unsubscribe:()=>{this.closed||(this.listeners.delete(c),s())},getCurrentValue:()=>this.paginatedClient.localQueryResult(u(e),t,a),getQueryLogs:()=>[]},d=l.unsubscribe;return Object.assign(d,l),d}callNewListenersWithCurrentValues(){this.callNewListenersWithCurrentValuesTimer=void 0,this._transition({queries:[],paginatedQueries:[]},!0)}queryResultReady(e){return this.client.hasLocalQueryResultByToken(e)}createDisabledUnsubscribe(){let e=(()=>{});return Object.assign(e,{unsubscribe:e,getCurrentValue:()=>void 0,getQueryLogs:()=>void 0}),e}async close(){if(!this.disabled)return this.listeners.clear(),this._closed=!0,this._paginatedClient&&=void 0,this.client.close()}getAuth(){if(!this.disabled)return this.client.getCurrentAuthClaims()}setAuth(e,t){this.disabled||this.client.setAuth(e,t??(()=>{}))}setAdminAuth(e,t){if(this.closed)throw Error(`ConvexClient has already been closed.`);this.disabled||this.client.setAdminAuth(e,t)}_transition({queries:e,paginatedQueries:t},n=!1){let r=[...e.map(e=>e.token),...t.map(e=>e.token)];for(let e of this.listeners){let{callback:t,queryToken:i,onError:a,hasEverRun:o}=e,s=ze(i),c=s?!!this.paginatedClient.localQueryResultByToken(i):this.client.hasLocalQueryResultByToken(i);if(r.includes(i)||n&&!o&&c){e.hasEverRun=!0;let n;try{n=s?this.paginatedClient.localQueryResultByToken(i):this.client.localQueryResultByToken(i)}catch(e){if(!(e instanceof Error))throw e;a?a(e,`Second argument to onUpdate onError is reserved for later use`):Promise.reject(e);continue}t(n,`Second argument to onUpdate callback is reserved for later use`)}}}async mutation(e,t,n){if(this.disabled)throw Error(`ConvexClient is disabled`);return await this.client.mutation(u(e),t,n)}async action(e,t){if(this.disabled)throw Error(`ConvexClient is disabled`);return await this.client.action(u(e),t)}async query(e,t){if(this.disabled)throw Error(`ConvexClient is disabled`);let n=this.client.localQueryResult(u(e),t);return n===void 0?new Promise((n,r)=>{let{unsubscribe:i}=this.onUpdate(e,t,e=>{i(),n(e)},e=>{i(),r(e)})}):Promise.resolve(n)}connectionState(){if(this.disabled)throw Error(`ConvexClient is disabled`);return this.client.connectionState()}subscribeToConnectionState(e){return this.disabled?()=>{}:this.client.subscribeToConnectionState(e)}},X=Symbol(`convex.useQuery.skip`);function Wt(e){return typeof e==`function`&&(e=e()),e===`skip`?{skip:!0,args:void 0}:{skip:!1,args:e}}function Gt(e,t){return JSON.stringify(O(e))===JSON.stringify(O(t))}function Kt(e,t){return e===X&&t===X?!0:e===X||t===X?!1:Gt(e,t)}function Z(e){let{skip:t,args:n}=Wt(e);return t?X:l(n)}var Q=null,qt=null,Jt=[];function Yt(){if(Jt===null)return;let e=Jt;Jt=null;for(let t of e)t()}function Xt(){return Q?.closed?(Q=null,qt=null,null):Q}function Zt(){return qt}function Qt(e,t){qt=e,Q=t}function $t(){let e=Xt();if(!e)throw Error(`Convex client not initialized. Call setupConvex() or initConvex() first.`);return e}function en(e){return!e.disabled&&!e.closed}var tn=`$$_convexClient`,nn=`$$_convexAuth`,rn=()=>{let e=s(tn);if(!e)throw Error(`No ConvexClient was found in Svelte context. Did you forget to call setupConvex() in a parent component?`);return e},an=e=>c(tn,e),on=(e,t={})=>{if(!e||typeof e!=`string`)throw Error(`Expected string url property for setupConvex`);let n=Xt();if(n&&Zt()!==e)throw Error(`setupConvex() was called with ${e}, but the Convex client is already initialized for ${Zt()}. Only one deployment per app is supported. Call closeConvex() first to switch deployments.`);let r=n??new Ut(e,{disabled:!1,...t});return n||Qt(e,r),an(r),queueMicrotask(()=>Yt()),r};function sn(i,o={},s={}){let c=rn();if(typeof i==`string`)throw Error(`Query must be a functionReference object, not a string`);let d=r({result:$(s).initialData,lastResult:void 0,argsForLastResult:void 0,haveArgsEverChanged:!1});n(()=>{let e=Z(o);if(e===X){d.result=void 0,d.argsForLastResult=X;return}if(en(c))return c.onUpdate(i,e,t=>{let n=structuredClone(t);d.result=n,d.argsForLastResult=e,d.lastResult=n},t=>{d.result=t,d.argsForLastResult=e;let n=structuredClone(t);d.lastResult=n})});let f=e(()=>Z(o)),p=Z(o),m=e(()=>d.argsForLastResult!==void 0&&t(f)!==X&&d.argsForLastResult!==X&&Gt(d.argsForLastResult,t(f))),h=e(()=>!!($(s).keepPreviousData&&d.lastResult)),g=e(()=>t(f)===X);n(()=>{if(!a(()=>d.haveArgsEverChanged)){let e=Z(o);if(!Kt(p,e)){d.haveArgsEverChanged=!0;let e=$(s);e.initialData!==void 0&&(d.argsForLastResult=p===X?X:l(p),d.lastResult=e.initialData)}}});let _=e(()=>{if(t(g))return;if($(s).initialData&&!d.haveArgsEverChanged)return d.result;let e;try{e=en(c)?c.client.localQueryResult(u(i),t(f)):void 0}catch(t){if(!(t instanceof Error))throw console.error(`threw non-Error instance`,t),t;e=t}return d.result,e}),v=e(()=>t(_)===void 0?t(h)?d.lastResult:void 0:t(_)),ee=e(()=>!t(g)&&t(_)===void 0&&t(h)&&!t(m)&&t(v)!==void 0),y=e(()=>{if(!(t(v)instanceof Error))return t(v)}),b=e(()=>{if(t(v)instanceof Error)return t(v)});return{get data(){return t(y)},get isLoading(){return!t(g)&&t(b)===void 0&&t(y)===void 0},get error(){return t(b)},get isStale(){return!t(g)&&t(ee)}}}function $(e){return typeof e==`function`&&(e=e()),l(e)}function cn(e,s){let l=rn(),u=s?.initialState!==void 0,d=i(r(u?!!s.initialState.isAuthenticated:null)),f=!1,p,m=!1;if(u&&s.initialState?.isAuthenticated){let{fetchAccessToken:t}=e();m=!0,l.setAuth(t,e=>{o(d,e,!0)})}Yt(),n(()=>{let{isLoading:n,isAuthenticated:r,fetchAccessToken:i}=e();n||(f=!0);let s=a(()=>t(d));if(p=r,m)return r?(m=!1,()=>{l.setAuth(async()=>null,()=>{})}):void 0;if(n&&s!==null&&f&&o(d,null),!n&&!r&&s!==!1&&o(d,!1),r){s===!1&&o(d,null);let e=!0;return l.setAuth(i,t=>{e&&o(d,t,!0)}),()=>{e=!1,l.setAuth(async()=>null,()=>{})}}}),c(nn,{get isLoading(){return t(d)===null||t(d)===!1&&p!==void 0&&a(()=>e().isAuthenticated)!==p},get isAuthenticated(){let n=t(d);return!f&&u?n===!0:n===!0||a(()=>e().isAuthenticated)&&(n??!1)}})}function ln(){let e=s(nn);if(!e)throw Error(`useAuth() requires setupAuth() to be called in a parent component. If you are using an auth adapter (e.g. convex-better-auth-svelte), make sure its setup function is called before useAuth().`);return{get isLoading(){return e.isLoading},get isAuthenticated(){return e.isAuthenticated}}}function un(e){return(t,n)=>$t().mutation(e,t,n)}function dn(e){return t=>$t().action(e,t)}export{un as a,O as c,ln as i,on as n,sn as o,dn as r,k as s,cn as t};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r},n=Array.isArray,r=Array.prototype.indexOf,i=Array.prototype.includes,a=Array.from,o=Object.defineProperty,s=Object.getOwnPropertyDescriptor,c=Object.getOwnPropertyDescriptors,l=Object.prototype,u=Array.prototype,d=Object.getPrototypeOf,f=Object.isExtensible;function p(e){return typeof e==`function`}var m=()=>{};function h(e){for(var t=0;t<e.length;t++)e[t]()}function g(){var e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function _(e,t){if(Array.isArray(e))return e;if(t===void 0||!(Symbol.iterator in e))return Array.from(e);let n=[];for(let r of e)if(n.push(r),n.length===t)break;return n}var v=1<<24,y=1024,b=2048,x=4096,S=8192,ee=16384,te=32768,ne=1<<25,re=65536,ie=1<<18,ae=1<<19,oe=1<<20,se=1<<25,ce=65536,le=1<<21,ue=1<<22,de=1<<23,fe=Symbol(`$state`),pe=Symbol(`legacy props`),me=Symbol(``),he=Symbol(`proxy path`),ge=Symbol(`attributes`),_e=Symbol(`class`),ve=Symbol(`style`),ye=Symbol(`text`),be=Symbol(`form reset`),xe=new class extends Error{name=`StaleReactionError`;message="The reaction that called `getAbortSignal()` was re-run or destroyed"},Se=!!globalThis.document?.contentType&&globalThis.document.contentType.includes(`xml`);function Ce(e){throw Error(`https://svelte.dev/e/experimental_async_required`)}function we(e){throw Error(`https://svelte.dev/e/lifecycle_outside_component`)}function Te(){throw Error(`https://svelte.dev/e/missing_context`)}function Ee(){throw Error(`https://svelte.dev/e/async_derived_orphan`)}function De(e,t,n){throw Error(`https://svelte.dev/e/each_key_duplicate`)}function Oe(e){throw Error(`https://svelte.dev/e/effect_in_teardown`)}function ke(){throw Error(`https://svelte.dev/e/effect_in_unowned_derived`)}function Ae(e){throw Error(`https://svelte.dev/e/effect_orphan`)}function je(){throw Error(`https://svelte.dev/e/effect_update_depth_exceeded`)}function Me(){throw Error(`https://svelte.dev/e/fork_discarded`)}function Ne(){throw Error(`https://svelte.dev/e/fork_timing`)}function Pe(){throw Error(`https://svelte.dev/e/get_abort_signal_outside_reaction`)}function Fe(){throw Error(`https://svelte.dev/e/hydration_failed`)}function Ie(e){throw Error(`https://svelte.dev/e/lifecycle_legacy_only`)}function Le(e){throw Error(`https://svelte.dev/e/props_invalid_value`)}function Re(){throw Error(`https://svelte.dev/e/state_descriptors_fixed`)}function ze(){throw Error(`https://svelte.dev/e/state_prototype_fixed`)}function Be(){throw Error(`https://svelte.dev/e/state_unsafe_mutation`)}function Ve(){throw Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`)}var He={},C=Symbol(`uninitialized`),Ue=`http://www.w3.org/1999/xhtml`,We=`http://www.w3.org/2000/svg`,Ge=`http://www.w3.org/1998/Math/MathML`;function Ke(){console.warn(`https://svelte.dev/e/derived_inert`)}function qe(e){console.warn(`https://svelte.dev/e/hydratable_missing_but_expected`)}function Je(e){console.warn(`https://svelte.dev/e/hydration_mismatch`)}function Ye(){console.warn(`https://svelte.dev/e/select_multiple_invalid_value`)}function Xe(){console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`)}var w=!1;function T(e){w=e}var E;function D(e){if(e===null)throw Je(),He;return E=e}function O(){return D(R(E))}function Ze(e){if(w){if(R(E)!==null)throw Je(),He;E=e}}function Qe(e=1){if(w){for(var t=e,n=E;t--;)n=R(n);E=n}}function $e(e=!0){for(var t=0,n=E;;){if(n.nodeType===8){var r=n.data;if(r===`]`){if(t===0)return n;--t}else(r===`[`||r===`[!`||r[0]===`[`&&!isNaN(Number(r.slice(1))))&&(t+=1)}var i=R(n);e&&n.remove(),n=i}}function et(e){if(!e||e.nodeType!==8)throw Je(),He;return e.data}function tt(e){return e===this.v}function nt(e,t){return e==e?e!==t||typeof e==`object`&&!!e||typeof e==`function`:t==t}function rt(e){return!nt(e,this.v)}var it=[];function at(e,t=!1,n=!1){return ot(e,new Map,``,it,null,n)}function ot(e,t,r,i,a=null,o=!1){if(typeof e==`object`&&e){var s=t.get(e);if(s!==void 0)return s;if(e instanceof Map)return new Map(e);if(e instanceof Set)return new Set(e);if(n(e)){var c=Array(e.length);t.set(e,c),a!==null&&t.set(a,c);for(var u=0;u<e.length;u+=1){var f=e[u];u in e&&(c[u]=ot(f,t,r,i,null,o))}return c}if(d(e)===l){c={},t.set(e,c),a!==null&&t.set(a,c);for(var p of Object.keys(e))c[p]=ot(e[p],t,r,i,null,o);return c}if(e instanceof Date)return structuredClone(e);if(typeof e.toJSON==`function`&&!o)return ot(e.toJSON(),t,r,i,e)}if(e instanceof EventTarget)return e;try{return structuredClone(e)}catch{return e}}function st(e,t){return e.label=t,ct(e.v,t),e}function ct(e,t){return e?.[he]?.(t),e}function lt(e){return typeof e==`symbol`?`Symbol(${e.description})`:typeof e==`function`?`<function>`:typeof e==`object`&&e?`<object>`:String(e)}var k=null;function ut(e){k=e}function dt(){let e={};return[()=>(mt(e)||Te(),ft(e)),t=>pt(e,t)]}function ft(e){return yt(`getContext`).get(e)}function pt(e,t){return yt(`setContext`).set(e,t),t}function mt(e){return yt(`hasContext`).has(e)}function ht(){return yt(`getAllContexts`)}function gt(e,t=!1,n){k={p:k,i:!1,c:null,e:null,s:e,x:null,r:K,l:null}}function _t(e){var t=k,n=t.e;if(n!==null){t.e=null;for(var r of n)or(r)}return e!==void 0&&(t.x=e),t.i=!0,k=t.p,e??{}}function vt(){return!0}function yt(e){return k===null&&we(e),k.c??=new Map(bt(k)||void 0)}function bt(e){let t=e.p;for(;t!==null;){let e=t.c;if(e!==null)return e;t=t.p}return null}var xt=[];function St(){var e=xt;xt=[],h(e)}function A(e){if(xt.length===0&&!pn){var t=xt;queueMicrotask(()=>{t===xt&&St()})}xt.push(e)}function Ct(){for(;xt.length>0;)St()}function wt(e){var t=K;if(t===null)return U.f|=de,e;if(!(t.f&32768)&&!(t.f&4))throw e;Tt(e,t)}function Tt(e,t){if(!(t!==null&&t.f&16384)){for(;t!==null;){if(t.f&128){if(!(t.f&32768))throw e;try{t.b.error(e);return}catch(t){e=t}}t=t.parent}throw e}}var Et=~(b|x|y);function j(e,t){e.f=e.f&Et|t}function Dt(e){e.f&512||e.deps===null?j(e,y):j(e,x)}function Ot(e){if(e!==null)for(let t of e)!(t.f&2)||!(t.f&65536)||(t.f^=ce,Ot(t.deps))}function kt(e,t,n){e.f&2048?t.add(e):e.f&4096&&n.add(e),Ot(e.deps),j(e,y)}function At(e,t,n){if(e==null)return t(void 0),n&&n(void 0),m;let r=Gr(()=>e.subscribe(t,n));return r.unsubscribe?()=>r.unsubscribe():r}var jt=[];function Mt(e,t=m){let n=null,r=new Set;function i(t){if(nt(e,t)&&(e=t,n)){let t=!jt.length;for(let t of r)t[1](),jt.push(t,e);if(t){for(let e=0;e<jt.length;e+=2)jt[e][0](jt[e+1]);jt.length=0}}}function a(t){i(t(e))}function o(o,s=m){let c=[o,s];return r.add(c),r.size===1&&(n=t(i,a)||m),o(e),()=>{r.delete(c),r.size===0&&n&&(n(),n=null)}}return{set:i,update:a,subscribe:o}}function Nt(e){let t;return At(e,e=>t=e)(),t}var Pt=!1,Ft=Symbol(`unmounted`);function It(e,t,n){let r=n[t]??={store:null,source:Pn(void 0),unsubscribe:m};if(r.store!==e&&!(Ft in n)){if(r.unsubscribe(),r.store=e??null,e==null)r.source.v=void 0,r.unsubscribe=m;else{var i=!0;r.unsubscribe=At(e,e=>{i?r.source.v=e:F(r.source,e)}),i=!1}}return e&&Ft in n?Nt(e):Q(r.source)}function Lt(){let e={};function t(){ir(()=>{for(var t in e)e[t].unsubscribe();o(e,Ft,{enumerable:!1,value:!0})})}return[e,t]}function Rt(e){var t=Pt;try{return Pt=!1,[e(),Pt]}finally{Pt=t}}function zt(e,t){if(t){let t=document.body;e.autofocus=!0,A(()=>{document.activeElement===t&&e.focus()})}}function Bt(e){w&&L(e)!==null&&Zn(e)}var Vt=!1;function Ht(){Vt||(Vt=!0,document.addEventListener(`reset`,e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(let t of e.target.elements)t[be]?.()})},{capture:!0}))}function Ut(e){var t=U,n=K;G(null),q(null);try{return e()}finally{G(t),q(n)}}function Wt(e,t,n,r=n){e.addEventListener(t,()=>Ut(n));let i=e[be];e[be]=i?()=>{i(),r(!0)}:()=>r(!0),Ht()}function Gt(e){let t=0,n=Mn(0),r;return()=>{rr()&&(Q(n),dr(()=>(t===0&&(r=Gr(()=>e(()=>Ln(n)))),t+=1,()=>{A(()=>{--t,t===0&&(r?.(),r=void 0,Ln(n))})})))}}var Kt=re|ae;function qt(e,t,n,r){new Jt(e,t,n,r)}var Jt=class{parent;is_pending=!1;transform_error;#e;#t=w?E:null;#n;#r;#i;#a=null;#o=null;#s=null;#c=null;#l=0;#u=0;#d=!1;#f=new Set;#p=new Set;#m=null;#h=Gt(()=>(this.#m=Mn(this.#l),()=>{this.#m=null}));constructor(e,t,n,r){this.#e=e,this.#n=t,this.#r=e=>{var t=K;t.b=this,t.f|=128,n(e)},this.parent=K.b,this.transform_error=r??this.parent?.transform_error??(e=>e),this.#i=pr(()=>{if(w){let e=this.#t;O();let t=e.data===`[!`;if(e.data.startsWith(`[?`)){let t=JSON.parse(e.data.slice(2));this.#_(t)}else t?this.#y():this.#g()}else this.#b()},Kt),w&&(this.#e=E)}#g(){try{this.#a=B(()=>this.#r(this.#e))}catch(e){this.error(e)}}#_(e){let t=this.#n.failed,{reset:n,invoke_onerror:r}=this.#v(e);A(r),t&&(this.#s=B(()=>{t(this.#e,()=>e,()=>n)}))}#v(e){var t=!1,n=!1;let r=()=>{if(t){Xe();return}t=!0,n&&Ve(),this.#s!==null&&br(this.#s,()=>{this.#s=null}),this.#S(()=>{this.#b()})};return{reset:r,invoke_onerror:()=>{try{n=!0,this.#n.onerror?.(e,r),n=!1}catch(e){Tt(e,this.#i&&this.#i.parent)}}}}#y(){let e=this.#n.pending;e&&(this.is_pending=!0,this.#o=B(()=>e(this.#e)),A(()=>{var e=this.#c=document.createDocumentFragment(),t=I();e.append(t),this.#a=this.#S(()=>B(()=>this.#r(t))),this.#u===0&&(this.#e.before(e),this.#c=null,br(this.#o,()=>{this.#o=null}),this.#x(M))}))}#b(){try{if(this.is_pending=this.has_pending_snippet(),this.#u=0,this.#l=0,this.#a=B(()=>{this.#r(this.#e)}),this.#u>0){var e=this.#c=document.createDocumentFragment();wr(this.#a,e);let t=this.#n.pending;this.#o=B(()=>t(this.#e))}else this.#x(M)}catch(e){this.error(e)}}#x(e){this.is_pending=!1,e.transfer_effects(this.#f,this.#p)}defer_effect(e){kt(e,this.#f,this.#p)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#n.pending}#S(e){var t=K,n=U,r=k;q(this.#i),G(this.#i),ut(this.#i.ctx);try{return yn.ensure(),e()}catch(e){return wt(e),null}finally{q(t),G(n),ut(r)}}#C(e,t){if(!this.has_pending_snippet()){this.parent&&this.parent.#C(e,t);return}this.#u+=e,this.#u===0&&(this.#x(t),this.#o&&br(this.#o,()=>{this.#o=null}),this.#c&&=(this.#e.before(this.#c),null))}update_pending_count(e,t){this.#C(e,t),this.#l+=e,!(!this.#m||this.#d)&&(this.#d=!0,A(()=>{this.#d=!1,this.#m&&Fn(this.#m,this.#l)}))}get_effect_pending(){return this.#h(),Q(this.#m)}error(e){if(!this.#n.onerror&&!this.#n.failed)throw e;M?.is_fork?(this.#a&&M.skip_effect(this.#a),this.#o&&M.skip_effect(this.#o),this.#s&&M.skip_effect(this.#s),M.oncommit(()=>{this.#w(e)})):this.#w(e)}#w(e){this.#a&&=(V(this.#a),null),this.#o&&=(V(this.#o),null),this.#s&&=(V(this.#s),null),w&&(D(this.#t),Qe(),D($e()));let t=this.#n.failed,n=e=>{let{reset:n,invoke_onerror:r}=this.#v(e);r(),t&&(this.#s=this.#S(()=>{try{return B(()=>{var r=K;r.b=this,r.f|=128,t(this.#e,()=>e,()=>n)})}catch(e){return Tt(e,this.#i.parent),null}}))};A(()=>{var t;try{t=this.transform_error(e)}catch(e){Tt(e,this.#i&&this.#i.parent);return}typeof t==`object`&&t&&typeof t.then==`function`?t.then(n,e=>Tt(e,this.#i&&this.#i.parent)):n(t)})}};function Yt(e,t,n,r){let i=vt()?$t:rn;var a=e.filter(e=>!e.settled),o=t.map(i);if(n.length===0&&a.length===0){r(o);return}var s=K,c=Xt(),l=a.length===1?a[0].promise:a.length>1?Promise.all(a.map(e=>e.promise)):null;function u(e){if(!(s.f&16384)){c();try{r([...o,...e])}catch(e){Tt(e,s)}Zt()}}var d=Qt();if(n.length===0){l.then(()=>u([])).finally(d);return}function f(){Promise.all(n.map(e=>tn(e))).then(u).catch(e=>Tt(e,s)).finally(d)}l?l.then(()=>{c(),f(),Zt()}):f()}function Xt(){var e=K,t=U,n=k,r=M;return function(i=!0){q(e),G(t),ut(n),i&&!(e.f&16384)&&(r?.activate(),r?.apply())}}function Zt(e=!0){q(null),G(null),ut(null),e&&M?.deactivate()}function Qt(){var e=K,t=e.b,n=M,r=!!t?.is_rendered();return t?.update_pending_count(1,n),n.increment(r,e),()=>{t?.update_pending_count(-1,n),n.decrement(r,e)}}function $t(e){var t=2|b;return K!==null&&(K.f|=ae),{ctx:k,deps:null,effects:null,equals:tt,f:t,fn:e,reactions:null,rv:0,v:C,wv:0,parent:K,ac:null}}var en=Symbol(`obsolete`);function tn(e,t,n){let r=K;r===null&&Ee();var i=void 0,a=Mn(C),o=!U,s=new Set;return ur(()=>{var t=K,n=g();i=n.promise;try{Promise.resolve(e()).then(n.resolve,e=>{e!==xe&&n.reject(e)}).finally(Zt)}catch(e){n.reject(e),Zt()}var c=M;if(o){if(t.f&32768)var l=Qt();if(r.b?.is_rendered())c.async_deriveds.get(t)?.reject(en);else for(let e of s.values())e.reject(en);s.add(n),c.async_deriveds.set(t,n)}let u=(e,t=void 0)=>{l?.(),s.delete(n),t!==en&&(c.activate(),t?(a.f|=de,Fn(a,t)):(a.f&8388608&&(a.f^=de),Fn(a,e)),c.deactivate())};n.promise.then(u,e=>u(null,e||`unknown`))}),ir(()=>{for(let e of s)e.reject(en)}),new Promise(e=>{function t(n){function r(){n===i?e(a):t(i)}n.then(r,r)}t(i)})}function nn(e){let t=$t(e);return Or(t),t}function rn(e){let t=$t(e);return t.equals=rt,t}function an(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)V(t[n])}}function on(e){var t,n=K,r=e.parent;if(!H&&r!==null&&e.v!==C&&r.f&24576)return Ke(),e.v;q(r);try{e.f&=~ce,an(e),t=Lr(e)}finally{q(n)}return t}function sn(e){var t=on(e);if(!e.equals(t)&&(e.wv=Pr(),(!M?.is_fork||e.deps===null)&&(M===null?e.v=t:(M.capture(e,t,!0),dn?.capture(e,t,!0)),e.deps===null))){j(e,y);return}H||(N===null?Dt(e):(rr()||M?.is_fork)&&N.set(e,t))}function cn(e){if(e.effects!==null)for(let t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac!==null&&Ut(()=>{t.ac.abort(xe),t.ac=null}),t.fn!==null&&(t.teardown=m),zr(t,0),gr(t))}function ln(e){if(e.effects!==null)for(let t of e.effects)t.teardown&&t.fn!==null&&Br(t)}var un=null,M=null,dn=null,N=null,fn=null,pn=!1,mn=!1,hn=null,gn=null,_n=0,vn=1,yn=class e{id=vn++;#e=!1;linked=!0;#t=null;#n=null;async_deriveds=new Map;current=new Map;previous=new Map;#r=new Set;#i=new Set;#a=0;#o=new Map;#s=null;#c=[];#l=[];#u=new Set;#d=new Set;#f=new Map;#p=new Set;is_fork=!1;#m=!1;constructor(){un===null?un=this:(un.#n=this,this.#t=un),un=this}#h(){if(this.is_fork)return!0;for(let n of this.#o.keys()){for(var e=n,t=!1;e.parent!==null;){if(this.#f.has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1}skip_effect(e){this.#f.has(e)||this.#f.set(e,{d:[],m:[]}),this.#p.delete(e)}unskip_effect(e,t=e=>this.schedule(e)){var n=this.#f.get(e);if(n){this.#f.delete(e);for(var r of n.d)j(r,b),t(r);for(r of n.m)j(r,x),t(r)}this.#p.add(e)}#g(){this.#e=!0,_n++>1e3&&(this.#x(),xn());for(let e of this.#u)this.#d.delete(e),j(e,b),this.schedule(e);for(let e of this.#d)j(e,x),this.schedule(e);let t=this.#c;this.#c=[],this.apply();var n=hn=[],r=[],i=gn=[];for(let e of t)try{this.#_(e,n,r)}catch(t){throw En(e),this.#h()||this.discard(),t}if(M=null,i.length>0){var a=e.ensure();for(let e of i)a.schedule(e)}if(hn=null,gn=null,this.#h()){this.#b(r),this.#b(n);for(let[e,t]of this.#f)Tn(e,t);i.length>0&&M.#g();return}let o=this.#v();if(o){this.#b(r),this.#b(n),o.#y(this);return}this.#u.clear(),this.#d.clear();for(let e of this.#r)e(this);this.#r.clear(),dn=this,Sn(r),Sn(n),dn=null,this.#s?.resolve();var s=M;if(this.#a===0&&(this.#c.length===0||s!==null)&&this.#x(),this.#c.length>0){if(s!==null){let e=s;e.#c.push(...this.#c.filter(t=>!e.#c.includes(t)))}else s=this}s!==null&&s.#g()}#_(e,t,n){e.f^=y;for(var r=e.first;r!==null;){var i=r.f,a=!!(i&96);if(!(a&&i&1024||i&8192||this.#f.has(r))&&r.fn!==null){a?r.f^=y:i&4?t.push(r):Fr(r)&&(i&16&&this.#d.add(r),Br(r));var o=r.first;if(o!==null){r=o;continue}}for(;r!==null;){var s=r.next;if(s!==null){r=s;break}r=r.parent}}}#v(){for(var e=this.#t;e!==null;){if(!e.is_fork){for(let[t,[,n]]of this.current)if(e.current.has(t)&&!n)return e}e=e.#t}return null}#y(e){for(let[t,n]of e.current)!this.previous.has(t)&&e.previous.has(t)&&this.previous.set(t,e.previous.get(t)),this.current.set(t,n);for(let[t,n]of e.async_deriveds){let e=this.async_deriveds.get(t);e&&n.promise.then(e.resolve).catch(e.reject)}e.async_deriveds.clear(),this.transfer_effects(e.#u,e.#d);let t=e=>{var n=e.reactions;if(n!==null&&!(e.f&2&&!(e.f&6144)))for(let e of n){var r=e.f;if(r&2)t(e);else{var i=e;r&4194320&&!this.async_deriveds.has(i)&&(this.#d.delete(i),j(i,b),this.schedule(i))}}};for(let e of this.current.keys())t(e);this.oncommit(()=>e.discard()),e.#x(),M=this,this.#g()}#b(e){for(var t=0;t<e.length;t+=1)kt(e[t],this.#u,this.#d)}capture(e,t,n=!1){e.v!==C&&!this.previous.has(e)&&this.previous.set(e,e.v),e.f&8388608||(this.current.set(e,[t,n]),N?.set(e,t)),this.is_fork||(e.v=t)}activate(){M=this}deactivate(){M=null,N=null}flush(){try{mn=!0,M=this,this.#g()}finally{_n=0,fn=null,hn=null,gn=null,mn=!1,M=null,N=null,kn.clear()}}discard(){for(let e of this.#i)e(this);this.#i.clear();for(let e of this.async_deriveds.values())e.reject(en);this.#x(),this.#s?.resolve()}register_created_effect(e){this.#l.push(e)}increment(e,t){if(this.#a+=1,e){let e=this.#o.get(t)??0;this.#o.set(t,e+1)}}decrement(e,t){if(--this.#a,e){let e=this.#o.get(t)??0;e===1?this.#o.delete(t):this.#o.set(t,e-1)}this.#m||(this.#m=!0,A(()=>{this.#m=!1,this.linked&&this.flush()}))}transfer_effects(e,t){for(let t of e)this.#u.add(t);for(let e of t)this.#d.add(e);e.clear(),t.clear()}oncommit(e){this.#r.add(e)}ondiscard(e){this.#i.add(e)}settled(){return(this.#s??=g()).promise}static ensure(){if(M===null){let t=M=new e;!mn&&!pn&&A(()=>{t.#e||t.flush()})}return M}apply(){N=null}schedule(e){if(fn=e,e.b?.is_pending&&e.f&16777228&&!(e.f&32768)){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var n=t.f;if(hn!==null&&t===K&&(U===null||!(U.f&2)))return;if(n&96){if(!(n&1024))return;t.f^=y}}this.#c.push(t)}#x(){if(this.linked){var e=this.#t,t=this.#n;e===null||(e.#n=t),t===null?un=e:t.#t=e,this.linked=!1}}};function bn(e){var t=pn;pn=!0;try{var n;for(e&&(M!==null&&!M.is_fork&&M.flush(),n=e());;){if(Ct(),M===null)return n;M.flush()}}finally{pn=t}}function xn(){try{je()}catch(e){Tt(e,fn)}}var P=null;function Sn(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if(!(r.f&24576)&&Fr(r)&&(P=new Set,Br(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&yr(r),P?.size>0)){kn.clear();for(let e of P){if(e.f&24576)continue;let t=[e],n=e.parent;for(;n!==null;)P.has(n)&&(P.delete(n),t.push(n)),n=n.parent;for(let e=t.length-1;e>=0;e--){let n=t[e];n.f&24576||Br(n)}}P.clear()}}P=null}}function Cn(e,t){if(e.reactions!==null)for(let n of e.reactions){let e=n.f;e&2?Cn(n,t):e&131072&&(j(n,b),t.add(n))}}function wn(e){M.schedule(e)}function Tn(e,t){if(!(e.f&32&&e.f&1024)){e.f&2048?t.d.push(e):e.f&4096&&t.m.push(e),j(e,y);for(var n=e.first;n!==null;)Tn(n,t),n=n.next}}function En(e){j(e,y);for(var t=e.first;t!==null;)En(t),t=t.next}function Dn(e){Ce(`fork`),M!==null&&Ne();var t=yn.ensure();t.is_fork=!0,N=new Map;var n=!1,r=t.settled();return bn(e),{commit:async()=>{if(n){await r;return}t.linked||Me(),n=!0,t.is_fork=!1;for(var[e,[i]]of t.current)e.v=i,e.wv=Pr();bn(()=>{var e=new Set;for(var n of t.current.keys())Cn(n,e);An(e),In()}),t.flush(),await r},discard:()=>{for(var e of t.current.keys())e.wv=Pr();!n&&t.linked&&t.discard()}}}var On=new Set,kn=new Map;function An(e){On=e}var jn=!1;function Mn(e,t){return{f:0,v:e,reactions:null,equals:tt,rv:0,wv:0}}function Nn(e,t){let n=Mn(e,t);return Or(n),n}function Pn(e,t=!1,n=!0){let r=Mn(e);return t||(r.equals=rt),r}function F(e,t,n=!1){return U!==null&&(!W||U.f&131072)&&vt()&&U.f&4325394&&(J===null||!J.has(e))&&Be(),Fn(e,n?zn(t):t,gn)}function Fn(e,t,n=null){if(!e.equals(t)){kn.set(e,H?t:e.v);var r=yn.ensure();if(r.capture(e,t),e.f&2){let t=e;e.f&2048&&on(t),N===null&&Dt(t)}e.wv=Pr(),Rn(e,b,n),vt()&&K!==null&&K.f&1024&&!(K.f&96)&&(Z===null?kr([e]):Z.push(e)),!r.is_fork&&On.size>0&&!jn&&In()}return t}function In(){jn=!1;for(let e of On){e.f&1024&&j(e,x);let t;try{t=Fr(e)}catch{t=!0}t&&Br(e)}On.clear()}function Ln(e){F(e,e.v+1)}function Rn(e,t,n){var r=e.reactions;if(r!==null)for(var i=vt(),a=r.length,o=0;o<a;o++){var s=r[o],c=s.f;if(!(!i&&s===K)){var l=(c&b)===0;if(l&&j(s,t),c&131072)On.add(s);else if(c&2){var u=s;N?.delete(u),c&65536||(c&512&&(K===null||!(K.f&2097152))&&(s.f|=ce),Rn(u,x,n))}else if(l){var d=s;c&16&&P!==null&&P.add(d),n===null?wn(d):n.push(d)}}}}function zn(e){if(typeof e!=`object`||!e||fe in e)return e;let t=d(e);if(t!==l&&t!==u)return e;var r=new Map,i=n(e),a=Nn(0),o=null,c=Mr,f=e=>{if(Mr===c)return e();var t=U,n=Mr;G(null),Nr(c);var r=e();return G(t),Nr(n),r};return i&&r.set(`length`,Nn(e.length,o)),new Proxy(e,{defineProperty(e,t,n){(!(`value`in n)||n.configurable===!1||n.enumerable===!1||n.writable===!1)&&Re();var i=r.get(t);return i===void 0?f(()=>{var e=Nn(n.value,o);return r.set(t,e),e}):F(i,n.value,!0),!0},deleteProperty(e,t){var n=r.get(t);if(n===void 0){if(t in e){let e=f(()=>Nn(C,o));r.set(t,e),Ln(a)}}else F(n,C),Ln(a);return!0},get(t,n,i){if(n===fe)return e;var a=r.get(n),c=n in t;if(a===void 0&&(!c||s(t,n)?.writable)&&(a=f(()=>Nn(zn(c?t[n]:C),o)),r.set(n,a)),a!==void 0){var l=Q(a);return l===C?void 0:l}return Reflect.get(t,n,i)},getOwnPropertyDescriptor(e,t){var n=Reflect.getOwnPropertyDescriptor(e,t);if(n&&`value`in n){var i=r.get(t);i&&(n.value=Q(i))}else if(n===void 0){var a=r.get(t),o=a?.v;if(a!==void 0&&o!==C)return{enumerable:!0,configurable:!0,value:o,writable:!0}}return n},has(e,t){if(t===fe)return!0;var n=r.get(t),i=n!==void 0&&n.v!==C||Reflect.has(e,t);return(n!==void 0||K!==null&&(!i||s(e,t)?.writable))&&(n===void 0&&(n=f(()=>Nn(i?zn(e[t]):C,o)),r.set(t,n)),Q(n)===C)?!1:i},set(e,t,n,c){var l=r.get(t),u=t in e;if(i&&t===`length`)for(var d=n;d<l.v;d+=1){var p=r.get(d+``);p===void 0?d in e&&(p=f(()=>Nn(C,o)),r.set(d+``,p)):F(p,C)}if(l===void 0)(!u||s(e,t)?.writable)&&(l=f(()=>Nn(void 0,o)),F(l,zn(n)),r.set(t,l));else{u=l.v!==C;var m=f(()=>zn(n));F(l,m)}var h=Reflect.getOwnPropertyDescriptor(e,t);if(h?.set&&h.set.call(c,n),!u){if(i&&typeof t==`string`){var g=r.get(`length`),_=Number(t);Number.isInteger(_)&&_>=g.v&&F(g,_+1)}Ln(a)}return!0},ownKeys(e){Q(a);var t=Reflect.ownKeys(e).filter(e=>{var t=r.get(e);return t===void 0||t.v!==C});for(var[n,i]of r)i.v!==C&&!(n in e)&&t.push(n);return t},setPrototypeOf(){ze()}})}function Bn(e){try{if(typeof e==`object`&&e&&fe in e)return e[fe]}catch{}return e}function Vn(e,t){return Object.is(Bn(e),Bn(t))}var Hn,Un,Wn,Gn,Kn;function qn(){if(Hn===void 0){Hn=window,Un=document,Wn=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Gn=s(t,`firstChild`).get,Kn=s(t,`nextSibling`).get,f(e)&&(e[_e]=void 0,e[ge]=null,e[ve]=void 0,e.__e=void 0),f(n)&&(n[ye]=void 0)}}function I(e=``){return document.createTextNode(e)}function L(e){return Gn.call(e)}function R(e){return Kn.call(e)}function Jn(e,t){if(!w)return L(e);var n=L(E);if(n===null)n=E.appendChild(I());else if(t&&n.nodeType!==3){var r=I();return n?.before(r),D(r),r}return t&&er(n),D(n),n}function Yn(e,t=!1){if(!w){var n=L(e);return n instanceof Comment&&n.data===``?R(n):n}if(t){if(E?.nodeType!==3){var r=I();return E?.before(r),D(r),r}er(E)}return E}function Xn(e,t=1,n=!1){let r=w?E:e;for(var i;t--;)i=r,r=R(r);if(!w)return r;if(n){if(r?.nodeType!==3){var a=I();return r===null?i?.after(a):r.before(a),D(a),a}er(r)}return D(r),r}function Zn(e){e.textContent=``}function Qn(){return!1}function $n(e,t,n){return t==null||t===`http://www.w3.org/1999/xhtml`?n?document.createElement(e,{is:n}):document.createElement(e):n?document.createElementNS(t,e,{is:n}):document.createElementNS(t,e)}function er(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===3;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function tr(e){K===null&&(U===null&&Ae(e),ke()),H&&Oe(e)}function nr(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function z(e,t){var n=K;n!==null&&n.f&8192&&(e|=S);var r={ctx:k,deps:null,nodes:null,f:e|b|512,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};M?.register_created_effect(r);var i=r;if(e&4)hn===null?yn.ensure().schedule(r):hn.push(r);else if(t!==null){try{Br(r)}catch(e){throw V(r),e}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&!(i.f&524288)&&(i=i.first,e&16&&e&65536&&i!==null&&(i.f|=re))}if(i!==null&&(i.parent=n,n!==null&&nr(i,n),U!==null&&U.f&2&&!(e&64))){var a=U;(a.effects??=[]).push(i)}return r}function rr(){return U!==null&&!W}function ir(e){let t=z(8,null);return j(t,y),t.teardown=e,t}function ar(e){tr(`$effect`);var t=K.f;if(!U&&t&32&&k!==null&&!k.i){var n=k;(n.e??=[]).push(e)}else return or(e)}function or(e){return z(4|oe,e)}function sr(e){return tr(`$effect.pre`),z(8|oe,e)}function cr(e){yn.ensure();let t=z(64|ae,e);return(e={})=>new Promise(n=>{e.outro?br(t,()=>{V(t),n(void 0)}):(V(t),n(void 0))})}function lr(e){return z(4,e)}function ur(e){return z(ue|ae,e)}function dr(e,t=0){return z(8|t,e)}function fr(e,t=[],n=[],r=[]){Yt(r,t,n,t=>{z(8,()=>{e(...t.map(Q))})})}function pr(e,t=0){return z(16|t,e)}function mr(e,t=0){return z(v|t,e)}function B(e){return z(32|ae,e)}function hr(e){var t=e.teardown;if(t!==null){let e=H,n=U;Dr(!0),G(null);try{t.call(null)}finally{Dr(e),G(n)}}}function gr(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){let e=n.ac;e!==null&&Ut(()=>{e.abort(xe)});var r=n.next;n.f&64?n.parent=null:V(n,t),n=r}}function _r(e){for(var t=e.first;t!==null;){var n=t.next;t.f&32||V(t),t=n}}function V(e,t=!0){var n=!1;(t||e.f&262144)&&e.nodes!==null&&e.nodes.end!==null&&(vr(e.nodes.start,e.nodes.end),n=!0),e.f|=ne,gr(e,t&&!n),zr(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)e.stop();hr(e),e.f^=ne,e.f|=ee;var i=e.parent;i!==null&&i.first!==null&&yr(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function vr(e,t){for(;e!==null;){var n=e===t?null:R(e);e.remove(),e=n}}function yr(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function br(e,t,n=!0){var r=[];xr(e,r,!0);var i=()=>{n&&V(e),t&&t()},a=r.length;if(a>0){var o=()=>--a||i();for(var s of r)s.out(o)}else i()}function xr(e,t,n){if(!(e.f&8192)){e.f^=S;var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)(e.is_global||n)&&t.push(e);for(var i=e.first;i!==null;){var a=i.next;if(!(i.f&64)){var o=!!(i.f&65536)||!!(i.f&32)&&!!(e.f&16);xr(i,t,o?n:!1)}i=a}}}function Sr(e){Cr(e,!0)}function Cr(e,t){if(e.f&8192){e.f^=S,e.f&1024||(j(e,b),yn.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,i=!!(n.f&65536)||!!(n.f&32);Cr(n,i?t:!1),n=r}var a=e.nodes&&e.nodes.t;if(a!==null)for(let e of a)(e.is_global||t)&&e.in()}}function wr(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var i=n===r?null:R(n);t.append(n),n=i}}var Tr=null,Er=!1,H=!1;function Dr(e){H=e}var U=null,W=!1;function G(e){U=e}var K=null;function q(e){K=e}var J=null;function Or(e){U!==null&&(J??=new Set).add(e)}var Y=null,X=0,Z=null;function kr(e){Z=e}var Ar=1,jr=0,Mr=jr;function Nr(e){Mr=e}function Pr(){return++Ar}function Fr(e){var t=e.f;if(t&2048)return!0;if(t&2&&(e.f&=~ce),t&4096){for(var n=e.deps,r=n.length,i=0;i<r;i++){var a=n[i];if(Fr(a)&&sn(a),a.wv>e.wv)return!0}t&512&&N===null&&j(e,y)}return!1}function Ir(e,t,n=!0){var r=e.reactions;if(r!==null&&!(J!==null&&J.has(e)))for(var i=0;i<r.length;i++){var a=r[i];a.f&2?Ir(a,t,!1):t===a&&(n?j(a,b):a.f&1024&&j(a,x),wn(a))}}function Lr(e){var t=Y,n=X,r=Z,i=U,a=J,o=k,s=W,c=Mr,l=e.f;Y=null,X=0,Z=null,U=l&96?null:e,J=null,ut(e.ctx),W=!1,Mr=++jr,e.ac!==null&&(Ut(()=>{e.ac.abort(xe)}),e.ac=null);try{e.f|=le;var u=e.fn,d=u();e.f|=te;var f=e.deps,p=M?.is_fork;if(Y!==null){var m;if(p||zr(e,X),f!==null&&X>0)for(f.length=X+Y.length,m=0;m<Y.length;m++)f[X+m]=Y[m];else e.deps=f=Y;if(rr()&&e.f&512)for(m=X;m<f.length;m++)(f[m].reactions??=[]).push(e)}else!p&&f!==null&&X<f.length&&(zr(e,X),f.length=X);if(vt()&&Z!==null&&!W&&f!==null&&!(e.f&6146))for(m=0;m<Z.length;m++)Ir(Z[m],e);if(i!==null&&i!==e){if(jr++,i.deps!==null)for(let e=0;e<n;e+=1)i.deps[e].rv=jr;if(t!==null)for(let e of t)e.rv=jr;Z!==null&&(r===null?r=Z:r.push(...Z))}return e.f&8388608&&(e.f^=de),d}catch(e){return wt(e)}finally{e.f^=le,Y=t,X=n,Z=r,U=i,J=a,ut(o),W=s,Mr=c}}function Rr(e,t){let n=t.reactions;if(n!==null){var a=r.call(n,e);if(a!==-1){var o=n.length-1;o===0?n=t.reactions=null:(n[a]=n[o],n.pop())}}if(n===null&&t.f&2&&(Y===null||!i.call(Y,t))){var s=t;s.f&512&&(s.f^=512,s.f&=~ce),s.v!==C&&Dt(s),s.ac!==null&&Ut(()=>{s.ac.abort(xe),s.ac=null,j(s,b)}),cn(s),zr(s,0)}}function zr(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)Rr(e,n[r])}function Br(e){var t=e.f;if(!(t&16384)){j(e,y);var n=K,r=Er;K=e,Er=!(t&96);try{t&16777232?_r(e):gr(e),hr(e);var i=Lr(e);e.teardown=typeof i==`function`?i:null,e.wv=Ar}finally{Er=r,K=n}}}async function Vr(){await Promise.resolve(),bn()}function Hr(){return yn.ensure().settled()}function Q(e){var t=!!(e.f&2);if(Tr?.add(e),U!==null&&!W&&!(K!==null&&K.f&16384)&&(J===null||!J.has(e))){var n=U.deps;if(U.f&2097152)e.rv<jr&&(e.rv=jr,Y===null&&n!==null&&n[X]===e?X++:Y===null?Y=[e]:Y.push(e));else{U.deps??=[],i.call(U.deps,e)||U.deps.push(e);var r=e.reactions;r===null?e.reactions=[U]:i.call(r,U)||r.push(U)}}if(H&&kn.has(e))return kn.get(e);if(t){var a=e;if(H){var o=a.v;return(!(a.f&1024)&&a.reactions!==null||Wr(a))&&(o=on(a)),kn.set(a,o),o}var s=!(a.f&512)&&!W&&U!==null&&(Er||!!(U.f&512)),c=(a.f&te)===0;Fr(a)&&(s&&(a.f|=512),sn(a)),s&&!c&&(ln(a),Ur(a))}if(N?.has(e))return N.get(e);if(e.f&8388608)throw e.v;return e.v}function Ur(e){if(e.f|=512,e.deps!==null)for(let t of e.deps)(t.reactions??=[]).push(e),t.f&2&&!(t.f&512)&&(ln(t),Ur(t))}function Wr(e){if(e.v===C)return!0;if(e.deps===null)return!1;for(let t of e.deps)if(kn.has(t)||t.f&2&&Wr(t))return!0;return!1}function Gr(e){var t=W;try{return W=!0,e()}finally{W=t}}function Kr(e){return e.endsWith(`capture`)&&e!==`gotpointercapture`&&e!==`lostpointercapture`}var qr=[`beforeinput`,`click`,`change`,`dblclick`,`contextmenu`,`focusin`,`focusout`,`input`,`keydown`,`keyup`,`mousedown`,`mousemove`,`mouseout`,`mouseover`,`mouseup`,`pointerdown`,`pointermove`,`pointerout`,`pointerover`,`pointerup`,`touchend`,`touchmove`,`touchstart`];function Jr(e){return qr.includes(e)}var Yr=`allowfullscreen.async.autofocus.autoplay.checked.controls.default.disabled.formnovalidate.indeterminate.inert.ismap.loop.multiple.muted.nomodule.novalidate.open.playsinline.readonly.required.reversed.seamless.selected.webkitdirectory.defer.disablepictureinpicture.disableremoteplayback`.split(`.`),Xr={formnovalidate:`formNoValidate`,ismap:`isMap`,nomodule:`noModule`,playsinline:`playsInline`,readonly:`readOnly`,defaultvalue:`defaultValue`,defaultchecked:`defaultChecked`,srcobject:`srcObject`,novalidate:`noValidate`,allowfullscreen:`allowFullscreen`,disablepictureinpicture:`disablePictureInPicture`,disableremoteplayback:`disableRemotePlayback`};function Zr(e){return e=e.toLowerCase(),Xr[e]??e}[...Yr];var Qr=[`touchstart`,`touchmove`];function $r(e){return Qr.includes(e)}var ei=[`textarea`,`script`,`style`,`title`];function ti(e){return ei.includes(e)}var ni=Symbol(`events`),ri=new Set,ii=new Set;function ai(e,t,n,r={}){function i(e){if(r.capture||ui.call(t,e),!e.cancelBubble)return Ut(()=>n?.call(this,e))}return e.startsWith(`pointer`)||e.startsWith(`touch`)||e===`wheel`?A(()=>{t.addEventListener(e,i,r)}):t.addEventListener(e,i,r),i}function oi(e,t,n,r,i){var a={capture:r,passive:i},o=ai(e,t,n,a);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&ir(()=>{t.removeEventListener(e,o,a)})}function si(e,t,n){(t[ni]??={})[e]=n}function ci(e){for(var t=0;t<e.length;t++)ri.add(e[t]);for(var n of ii)n(e)}var li=null;function ui(e){var t=this,n=t.ownerDocument,r=e.type,i=e.composedPath?.()||[],a=i[0]||e.target;li=e;var s=0,c=li===e&&e[ni];if(c){var l=i.indexOf(c);if(l!==-1&&(t===document||t===window)){e[ni]=t;return}var u=i.indexOf(t);if(u===-1)return;l<=u&&(s=l)}if(a=i[s]||e.target,a!==t){o(e,`currentTarget`,{configurable:!0,get(){return a||n}});var d=U,f=K;G(null),q(null);try{for(var p,m=[];a!==null&&a!==t;){try{var h=a[ni]?.[r];h!=null&&(!a.disabled||e.target===a)&&h.call(a,e)}catch(e){p?m.push(e):p=e}if(e.cancelBubble)break;s++,a=s<i.length?i[s]:null}if(p){for(let e of m)queueMicrotask(()=>{throw e});throw p}}finally{e[ni]=t,delete e.currentTarget,G(d),q(f)}}}var di=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy(`svelte-trusted-html`,{createHTML:e=>e});function fi(e){return di?.createHTML(e)??e}function pi(e){var t=$n(`template`);return t.innerHTML=fi(e.replaceAll(`<!>`,`<!---->`)),t.content}function $(e,t){var n=K;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function mi(e,t){var n=!!(t&1),r=!!(t&2),i,a=!e.startsWith(`<!>`);return()=>{if(w)return $(E,null),E;i===void 0&&(i=pi(a?e:`<!>`+e),n||(i=L(i)));var t=r||Wn?document.importNode(i,!0):i.cloneNode(!0);if(n){var o=L(t),s=t.lastChild;$(o,s)}else $(t,t);return t}}function hi(e,t,n=`svg`){var r=!e.startsWith(`<!>`),i=!!(t&1),a=`<${n}>${r?e:`<!>`+e}</${n}>`,o;return()=>{if(w)return $(E,null),E;if(!o){var e=L(pi(a));if(i)for(o=document.createDocumentFragment();L(e);)o.appendChild(L(e));else o=L(e)}var t=o.cloneNode(!0);if(i){var n=L(t),r=t.lastChild;$(n,r)}else $(t,t);return t}}function gi(e,t){return hi(e,t,`svg`)}function _i(e=``){if(!w){var t=I(e+``);return $(t,t),t}var n=E;return n.nodeType===3?er(n):(n.before(n=I()),D(n)),$(n,n),n}function vi(){if(w)return $(E,null),E;var e=document.createDocumentFragment(),t=document.createComment(``),n=I();return e.append(t,n),$(t,n),e}function yi(e,t){if(w){var n=K;(!(n.f&32768)||n.nodes.end===null)&&(n.nodes.end=E),O();return}e!==null&&e.before(t)}function bi(e,t){var n=t==null?``:typeof t==`object`?`${t}`:t;n!==(e[ye]??=e.nodeValue)&&(e[ye]=n,e.nodeValue=`${n}`)}function xi(e,t){return wi(e,t)}function Si(e,t){qn(),t.intro=t.intro??!1;let n=t.target,r=w,i=E;try{for(var a=L(n);a&&(a.nodeType!==8||a.data!==`[`);)a=R(a);if(!a)throw He;T(!0),D(a);let r=wi(e,{...t,anchor:a});return T(!1),r}catch(r){if(r instanceof Error&&r.message.split(`
|
|
2
|
+
`).some(e=>e.startsWith(`https://svelte.dev/e/`)))throw r;return r!==He&&console.warn(`Failed to hydrate: `,r),t.recover===!1&&Fe(),qn(),Zn(n),T(!1),xi(e,t)}finally{T(r),D(i)}}var Ci=new Map;function wi(e,{target:t,anchor:n,props:r={},events:i,context:o,intro:s=!0,transformError:c}){qn();var l=void 0,u=cr(()=>{var s=n??t.appendChild(I());qt(s,{pending:()=>{}},t=>{gt({});var n=k;if(o&&(n.c=o),i&&(r.$$events=i),w&&$(t,null),l=e(t,r)||{},w&&(K.nodes.end=E,E===null||E.nodeType!==8||E.data!==`]`))throw Je(),He;_t()},c);var u=new Set,d=e=>{for(var n=0;n<e.length;n++){var r=e[n];if(!u.has(r)){u.add(r);var i=$r(r);for(let e of[t,document]){var a=Ci.get(e);a===void 0&&(a=new Map,Ci.set(e,a));var o=a.get(r);o===void 0?(e.addEventListener(r,ui,{passive:i}),a.set(r,1)):a.set(r,o+1)}}}};return d(a(ri)),ii.add(d),()=>{for(var e of u)for(let n of[t,document]){var r=Ci.get(n),i=r.get(e);--i==0?(n.removeEventListener(e,ui),r.delete(e),r.size===0&&Ci.delete(n)):r.set(e,i)}ii.delete(d),s!==n&&s.parentNode?.removeChild(s)}});return Ti.set(l,u),l}var Ti=new WeakMap;function Ei(e,t){let n=Ti.get(e);return n?(Ti.delete(e),n(t)):Promise.resolve()}var Di=class{anchor;#e=new Map;#t=new Map;#n=new Map;#r=new Set;#i=!0;constructor(e,t=!0){this.anchor=e,this.#i=t}#a=e=>{if(this.#e.has(e)){var t=this.#e.get(e),n=this.#t.get(t);if(n)Sr(n),this.#r.delete(t);else{var r=this.#n.get(t);r&&(Sr(r.effect),this.#t.set(t,r.effect),this.#n.delete(t),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),n=r.effect)}for(let[t,n]of this.#e){if(this.#e.delete(t),t===e)break;let r=this.#n.get(n);r&&(V(r.effect),this.#n.delete(n))}for(let[e,r]of this.#t){if(e===t||this.#r.has(e))continue;let i=()=>{if(Array.from(this.#e.values()).includes(e)){var t=document.createDocumentFragment();wr(r,t),t.append(I()),this.#n.set(e,{effect:r,fragment:t})}else V(r);this.#r.delete(e),this.#t.delete(e)};this.#i||!n?(this.#r.add(e),br(r,i,!1)):i()}}};#o=e=>{this.#e.delete(e);let t=Array.from(this.#e.values());for(let[e,n]of this.#n)t.includes(e)||(V(n.effect),this.#n.delete(e))};ensure(e,t){var n=M,r=Qn();if(t&&!this.#t.has(e)&&!this.#n.has(e)){if(r){var i=document.createDocumentFragment(),a=I();i.append(a),this.#n.set(e,{effect:B(()=>t(a)),fragment:i})}else this.#t.set(e,B(()=>t(this.anchor)))}if(this.#e.set(n,e),r){for(let[t,r]of this.#t)t===e?n.unskip_effect(r):n.skip_effect(r);for(let[t,r]of this.#n)t===e?n.unskip_effect(r.effect):n.skip_effect(r.effect);n.oncommit(this.#a),n.ondiscard(this.#o)}else w&&(this.anchor=E),this.#a(n)}};function Oi(e,t,n=!1){var r;w&&(r=E,O());var i=new Di(e),a=n?re:0;function o(e,t){if(w){var n=et(r);if(e!==parseInt(n.substring(1))){var a=$e();D(a),i.anchor=a,T(!1),i.ensure(e,t),T(!0);return}}i.ensure(e,t)}pr(()=>{var e=!1;t((t,n=0)=>{e=!0,o(n,t)}),e||o(-1,null)},a)}var ki=Symbol(`NaN`);function Ai(e,t,n){w&&O();var r=new Di(e),i=!vt();pr(()=>{var e=t();e!==e&&(e=ki),i&&typeof e==`object`&&e&&(e={}),r.ensure(e,n)})}function ji(e,t){return t}function Mi(e,t,n){for(var r=[],i=t.length,o,s=t.length,c=0;c<i;c++){let n=t[c];br(n,()=>{if(o){if(o.pending.delete(n),o.done.add(n),o.pending.size===0){var t=e.outrogroups;Ni(e,a(o.done)),t.delete(o),t.size===0&&(e.outrogroups=null)}}else--s},!1)}if(s===0){var l=r.length===0&&n!==null&&e.pending.size===0;if(l){var u=n,d=u.parentNode;Zn(d),d.append(u),e.items.clear()}Ni(e,t,!l)}else o={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(o)}function Ni(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(let t of e.pending.values())for(let n of t)r.add(e.items.get(n).e)}for(var i=0;i<t.length;i++){var a=t[i];r?.has(a)?(a.f|=se,wr(a,document.createDocumentFragment())):V(t[i],n)}}var Pi;function Fi(e,t,r,i,o,s=null){var c=e,l=new Map;if(t&4){var u=e;c=w?D(L(u)):u.appendChild(I())}w&&O();var d=null,f=rn(()=>{var e=r();return n(e)?e:e==null?[]:a(e)}),p,m=new Map,h=!0;function g(e){v.effect.f&16384||(v.pending.delete(e),v.fallback=d,Li(v,p,c,t,i),d!==null&&(p.length===0?d.f&33554432?(d.f^=se,zi(d,null,c)):Sr(d):br(d,()=>{d=null})))}function _(e){v.pending.delete(e)}var v={effect:pr(()=>{p=Q(f);var e=p.length;let n=!1;w&&et(c)===`[!`!=(e===0)&&(c=$e(),D(c),T(!1),n=!0);for(var a=new Set,u=M,v=Qn(),y=0;y<e;y+=1){w&&E.nodeType===8&&E.data===`]`&&(c=E,n=!0,T(!1));var b=p[y],x=i(b,y),S=h?null:l.get(x);S?(S.v&&Fn(S.v,b),S.i&&Fn(S.i,y),v&&u.unskip_effect(S.e)):(S=Ri(l,h?c:Pi??=I(),b,x,y,o,t,r),h||(S.e.f|=se),l.set(x,S)),a.add(x)}if(e===0&&s&&!d&&(h?d=B(()=>s(c)):(d=B(()=>s(Pi??=I())),d.f|=se)),e>a.size&&De(``,``,``),w&&e>0&&D($e()),!h){if(m.set(u,a),v){for(let[e,t]of l)a.has(e)||u.skip_effect(t.e);u.oncommit(g),u.ondiscard(_)}else g(u)}n&&T(!0),Q(f)}),flags:t,items:l,pending:m,outrogroups:null,fallback:d};h=!1,w&&(c=E)}function Ii(e){for(;e!==null&&!(e.f&32);)e=e.next;return e}function Li(e,t,n,r,i){var o=!!(r&8),s=t.length,c=e.items,l=Ii(e.effect.first),u,d=null,f,p=[],m=[],h,g,_,v;if(o)for(v=0;v<s;v+=1)h=t[v],g=i(h,v),_=c.get(g).e,_.f&33554432||(_.nodes?.a?.measure(),(f??=new Set).add(_));for(v=0;v<s;v+=1){if(h=t[v],g=i(h,v),_=c.get(g).e,e.outrogroups!==null)for(let t of e.outrogroups)t.pending.delete(_),t.done.delete(_);if(_.f&8192&&(Sr(_),o&&(_.nodes?.a?.unfix(),(f??=new Set).delete(_))),_.f&33554432){if(_.f^=se,_===l)zi(_,null,n);else{var y=d?d.next:l;_===e.effect.last&&(e.effect.last=_.prev),_.prev&&(_.prev.next=_.next),_.next&&(_.next.prev=_.prev),Bi(e,d,_),Bi(e,_,y),zi(_,y,n),d=_,p=[],m=[],l=Ii(d.next);continue}}if(_!==l){if(u!==void 0&&u.has(_)){if(p.length<m.length){var b=m[0],x;d=b.prev;var S=p[0],ee=p[p.length-1];for(x=0;x<p.length;x+=1)zi(p[x],b,n);for(x=0;x<m.length;x+=1)u.delete(m[x]);Bi(e,S.prev,ee.next),Bi(e,d,S),Bi(e,ee,b),l=b,d=ee,--v,p=[],m=[]}else u.delete(_),zi(_,l,n),Bi(e,_.prev,_.next),Bi(e,_,d===null?e.effect.first:d.next),Bi(e,d,_),d=_;continue}for(p=[],m=[];l!==null&&l!==_;)(u??=new Set).add(l),m.push(l),l=Ii(l.next);if(l===null)continue}_.f&33554432||p.push(_),d=_,l=Ii(_.next)}if(e.outrogroups!==null){for(let t of e.outrogroups)t.pending.size===0&&(Ni(e,a(t.done)),e.outrogroups?.delete(t));e.outrogroups.size===0&&(e.outrogroups=null)}if(l!==null||u!==void 0){var te=[];if(u!==void 0)for(_ of u)_.f&8192||te.push(_);for(;l!==null;)!(l.f&8192)&&l!==e.fallback&&te.push(l),l=Ii(l.next);var ne=te.length;if(ne>0){var re=r&4&&s===0?n:null;if(o){for(v=0;v<ne;v+=1)te[v].nodes?.a?.measure();for(v=0;v<ne;v+=1)te[v].nodes?.a?.fix()}Mi(e,te,re)}}o&&A(()=>{if(f!==void 0)for(_ of f)_.nodes?.a?.apply()})}function Ri(e,t,n,r,i,a,o,s){var c=o&1?o&16?Mn(n):Pn(n,!1,!1):null,l=o&2?Mn(i):null;return{v:c,i:l,e:B(()=>(a(t,c??n,l??i,s),()=>{e.delete(r)}))}}function zi(e,t,n){if(e.nodes)for(var r=e.nodes.start,i=e.nodes.end,a=t&&!(t.f&33554432)?t.nodes.start:n;r!==null;){var o=R(r);if(a.before(r),r===i)return;r=o}}function Bi(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function Vi(e,t,n=!1,r=!1,i=!1,a=!1){var o=e,s=``;if(n){var c=e;w&&(o=D(L(c)))}fr(()=>{var e=K;if(s===(s=t()??``)){w&&O();return}if(n&&!w){e.nodes=null,c.innerHTML=s,s!==``&&$(L(c),c.lastChild);return}if(e.nodes!==null&&(vr(e.nodes.start,e.nodes.end),e.nodes=null),s!==``){if(w){for(var a=E.data,l=O(),u=l;l!==null&&(l.nodeType!==8||l.data!==``);)u=l,l=R(l);if(l===null)throw Je(),He;$(E,u),o=D(l);return}var d=$n(r?`svg`:i?`math`:`template`,r?We:i?Ge:void 0);d.innerHTML=s;var f=r||i?d:d.content;if($(L(f),f.lastChild),r||i)for(;L(f);)o.before(L(f));else o.before(f)}})}function Hi(e,t,...n){var r=new Di(e);pr(()=>{let e=t()??null;r.ensure(e,e&&(t=>e(t,...n)))},re)}function Ui(e){return(t,...n)=>{var r=e(...n),i;w?(i=E,O()):(i=L(pi(r.render().trim())),t.before(i));let a=r.setup?.(i);$(i,i),typeof a==`function`&&ir(a)}}function Wi(e,t,n){var r;w&&(r=E,O());var i=new Di(e);pr(()=>{var e=t()??null;if(w&&et(r)===`[`!=(e!==null)){var a=$e();D(a),i.anchor=a,T(!1),i.ensure(e,e&&(t=>n(t,e))),T(!0);return}i.ensure(e,e&&(t=>n(t,e)))},re)}function Gi(e,t,n,r,i,a){let o=w;w&&O();var s=null;w&&E.nodeType===1&&(s=E,O());var c=w?E:e,l=new Di(c,!1);pr(()=>{let e=t()||null;var a=i?i():n||e===`svg`?We:void 0;if(e===null){l.ensure(null,null);return}return l.ensure(e,t=>{if(e){if(s=w?s:$n(e,a),$(s,s),r){var n=null;w&&ti(e)&&s.append(n=document.createComment(``));var i=w?L(s):s.appendChild(I());w&&(i===null?T(!1):D(i)),r(s,i),n?.remove()}K.nodes.end=s,t.before(s)}w&&D(t)}),()=>{}},re),ir(()=>{}),o&&(T(!0),D(c))}function Ki(e,t){let n=null,r=w;var i;if(w){n=E;for(var a=L(document.head);a!==null&&(a.nodeType!==8||a.data!==e);)a=R(a);if(a===null)T(!1);else{var o=R(a);a.remove(),D(o)}}w||(i=document.head.appendChild(I()));try{pr(()=>{var e=B(()=>t(i));e.f|=ie})}finally{r&&(T(!0),D(n))}}function qi(e,t){var n=void 0,r;mr(()=>{n!==(n=t())&&(r&&=(V(r),null),n&&(r=B(()=>{lr(()=>n(e))})))})}function Ji(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=Ji(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n)}return r}function Yi(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Ji(e))&&(r&&(r+=` `),r+=t);return r}function Xi(e){return typeof e==`object`?Yi(e):e??``}var Zi=[...`
|
|
3
|
+
\r\f\xA0\v`];function Qi(e,t,n){var r=e==null?``:``+e;if(t&&(r=r?r+` `+t:t),n){for(var i of Object.keys(n))if(n[i])r=r?r+` `+i:i;else if(r.length)for(var a=i.length,o=0;(o=r.indexOf(i,o))>=0;){var s=o+a;(o===0||Zi.includes(r[o-1]))&&(s===r.length||Zi.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function $i(e,t=!1){var n=t?` !important;`:`;`,r=``;for(var i of Object.keys(e)){var a=e[i];a!=null&&a!==``&&(r+=` `+i+`: `+a+n)}return r}function ea(e){return e[0]!==`-`||e[1]!==`-`?e.toLowerCase():e}function ta(e,t){if(t){var n=``,r,i;if(Array.isArray(t)?(r=t[0],i=t[1]):r=t,e){e=String(e).replaceAll(/\s*\/\*.*?\*\/\s*/g,``).trim();var a=!1,o=0,s=!1,c=[];r&&c.push(...Object.keys(r).map(ea)),i&&c.push(...Object.keys(i).map(ea));var l=0,u=-1;let t=e.length;for(var d=0;d<t;d++){var f=e[d];if(s?f===`/`&&e[d-1]===`*`&&(s=!1):a?a===f&&(a=!1):f===`/`&&e[d+1]===`*`?s=!0:f===`"`||f===`'`?a=f:f===`(`?o++:f===`)`&&o--,!s&&a===!1&&o===0){if(f===`:`&&u===-1)u=d;else if(f===`;`||d===t-1){if(u!==-1){var p=ea(e.substring(l,u).trim());if(!c.includes(p)){f!==`;`&&d++;var m=e.substring(l,d).trim();n+=` `+m+`;`}}l=d+1,u=-1}}}}return r&&(n+=$i(r)),i&&(n+=$i(i,!0)),n=n.trim(),n===``?null:n}return e==null?null:String(e)}function na(e,t,n,r,i,a){var o=e[_e];if(w||o!==n||o===void 0){var s=Qi(n,r,a);(!w||s!==e.getAttribute(`class`))&&(s==null?e.removeAttribute(`class`):t?e.className=s:e.setAttribute(`class`,s)),e[_e]=n}else if(a&&i!==a)for(var c in a){var l=!!a[c];(i==null||l!==!!i[c])&&e.classList.toggle(c,l)}return a}function ra(e,t={},n,r){for(var i in n){var a=n[i];t[i]!==a&&(n[i]==null?e.style.removeProperty(i):e.style.setProperty(i,a,r))}}function ia(e,t,n,r){var i=e[ve];if(w||i!==t){var a=ta(t,r);(!w||a!==e.getAttribute(`style`))&&(a==null?e.removeAttribute(`style`):e.style.cssText=a),e[ve]=t}else r&&(Array.isArray(r)?(ra(e,n?.[0],r[0]),ra(e,n?.[1],r[1],`important`)):ra(e,n,r));return r}function aa(e,t,r=!1){if(e.multiple){if(t==null)return;if(!n(t))return Ye();for(var i of e.options)i.selected=t.includes(ca(i));return}for(i of e.options)if(Vn(ca(i),t)){i.selected=!0;return}(!r||t!==void 0)&&(e.selectedIndex=-1)}function oa(e){var t=new MutationObserver(()=>{`__value`in e&&aa(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`value`]}),ir(()=>{t.disconnect()})}function sa(e,t,n=t){var r=new WeakSet,i=!0;Wt(e,`change`,t=>{var i=t?`[selected]`:`:checked`,a;if(e.multiple)a=[].map.call(e.querySelectorAll(i),ca);else{var o=e.querySelector(i)??e.querySelector(`option:not([disabled])`);a=o&&ca(o)}n(a),e.__value=a,M!==null&&r.add(M)}),lr(()=>{var a=t();if(e===document.activeElement){var o=M;if(r.has(o))return}if(aa(e,a,i),i&&a===void 0){var s=e.querySelector(`:checked`);s!==null&&(a=ca(s),n(a))}e.__value=a,i=!1}),oa(e)}function ca(e){return`__value`in e?e.__value:e.value}var la=Symbol(`class`),ua=Symbol(`style`),da=Symbol(`is custom element`),fa=Symbol(`is html`),pa=Se?`link`:`LINK`,ma=Se?`input`:`INPUT`,ha=Se?`option`:`OPTION`,ga=Se?`select`:`SELECT`;function _a(e){if(w){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute(`value`)){var n=e.value;ya(e,`value`,null),e.value=n}if(e.hasAttribute(`checked`)){var r=e.checked;ya(e,`checked`,null),e.checked=r}}};e[be]=n,A(n),Ht()}}function va(e,t){t?e.hasAttribute(`selected`)||e.setAttribute(`selected`,``):e.removeAttribute(`selected`)}function ya(e,t,n,r){var i=Sa(e);w&&(i[t]=e.getAttribute(t),t===`src`||t===`srcset`||t===`href`&&e.nodeName===pa)||i[t]!==(i[t]=n)&&(t===`loading`&&(e[me]=n),n==null?e.removeAttribute(t):typeof n!=`string`&&wa(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function ba(e,t,n,r,i=!1,a=!1){if(w&&i&&e.nodeName===ma){var o=e;(o.type===`checkbox`?`defaultChecked`:`defaultValue`)in n||_a(o)}var s=Sa(e),c=s[da],l=!s[fa];let u=w&&c;u&&T(!1);var d=t||{},f=e.nodeName===ha;for(var p in t)p in n||(n[p]=null);n.class?n.class=Xi(n.class):(r||n[la])&&(n.class=null),n[ua]&&(n.style??=null);var m=wa(e);if(e.nodeName===ma&&`type`in n&&(`value`in n||`__value`in n)){var h=n.type;(h!==d.type||h===void 0&&e.hasAttribute(`type`))&&(d.type=h,ya(e,`type`,h,a))}for(let i in n){let o=n[i];if(f&&i===`value`&&o==null){e.value=e.__value=``,d[i]=o;continue}if(i===`class`){na(e,e.namespaceURI===`http://www.w3.org/1999/xhtml`,o,r,t?.[la],n[la]),d[i]=o,d[la]=n[la];continue}if(i===`style`){ia(e,o,t?.[ua],n[ua]),d[i]=o,d[ua]=n[ua];continue}var g=d[i];if(!(o===g&&!(o===void 0&&e.hasAttribute(i)))){d[i]=o;var _=i[0]+i[1];if(_!==`$$`){if(_===`on`){let t={},n=`$$`+i,r=i.slice(2);var v=Jr(r);if(Kr(r)&&(r=r.slice(0,-7),t.capture=!0),!v&&g){if(o!=null)continue;e.removeEventListener(r,d[n],t),d[n]=null}if(v)si(r,e,o),ci([r]);else if(o!=null){function a(e){d[i].call(this,e)}d[n]=ai(r,e,a,t)}}else if(i===`style`)ya(e,i,o);else if(i===`autofocus`)zt(e,!!o);else if(!c&&(i===`__value`||i===`value`&&o!=null))e.value=e.__value=o;else if(i===`selected`&&f)va(e,o);else{var y=i;l||(y=Zr(y));var b=y===`defaultValue`||y===`defaultChecked`;if(o==null&&!c&&!b){if(s[i]=null,y===`value`||y===`checked`){let n=e,r=t===void 0;if(y===`value`){let e=n.defaultValue;n.removeAttribute(y),n.defaultValue=e,n.value=n.__value=r?e:null}else{let e=n.defaultChecked;n.removeAttribute(y),n.defaultChecked=e,n.checked=r?e:!1}}else e.removeAttribute(i)}else b||m.includes(y)&&(c||typeof o!=`string`)?(e[y]=o,y in s&&(s[y]=C)):typeof o!=`function`&&ya(e,y,o,a)}}}}return u&&T(!0),d}function xa(e,t,n=[],r=[],i=[],a,o=!1,s=!1){Yt(i,n,r,n=>{var r=void 0,i={},c=e.nodeName===ga,l=!1;if(mr(()=>{var u=t(...n.map(Q)),d=ba(e,r,u,a,o,s);l&&c&&`value`in u&&aa(e,u.value);for(let e of Object.getOwnPropertySymbols(i))u[e]||V(i[e]);for(let t of Object.getOwnPropertySymbols(u)){var f=u[t];t.description===`@attach`&&(!r||f!==r[t])&&(i[t]&&V(i[t]),i[t]=B(()=>qi(e,()=>f))),d[t]=f}r=d}),c){var u=e;lr(()=>{aa(u,r.value,!0),oa(u)})}l=!0})}function Sa(e){return e[ge]??={[da]:e.nodeName.includes(`-`),[fa]:e.namespaceURI===Ue}}var Ca=new Map;function wa(e){var t=e.getAttribute(`is`)||e.nodeName,n=Ca.get(t);if(n)return n;Ca.set(t,n=[]);for(var r,i=e,a=Element.prototype;a!==i;){for(var o in r=c(i),r)r[o].set&&o!==`innerHTML`&&o!==`textContent`&&o!==`innerText`&&n.push(o);i=d(i)}return n}function Ta(e,t,n=t){var r=new WeakSet;Wt(e,`input`,async i=>{var a=i?e.defaultValue:e.value;if(a=Ea(e)?Da(a):a,n(a),M!==null&&r.add(M),await Vr(),a!==(a=t())){var o=e.selectionStart,s=e.selectionEnd,c=e.value.length;if(e.value=a??``,s!==null){var l=e.value.length;o===s&&s===c&&l>c?(e.selectionStart=l,e.selectionEnd=l):(e.selectionStart=o,e.selectionEnd=Math.min(s,l))}}}),(w&&e.defaultValue!==e.value||Gr(t)==null&&e.value)&&(n(Ea(e)?Da(e.value):e.value),M!==null&&r.add(M)),dr(()=>{var n=t();if(e===document.activeElement){var i=M;if(r.has(i))return}Ea(e)&&n===Da(e.value)||e.type===`date`&&!n&&!e.value||n!==e.value&&(e.value=n??``)})}function Ea(e){var t=e.type;return t===`number`||t===`range`}function Da(e){return e===``?null:+e}function Oa(e,t){return e===t||e?.[fe]===t}function ka(e={},t,n,r){var i=k.r,a=K;return lr(()=>{var o,s;return dr(()=>{o=s,s=r?.()||[],Gr(()=>{Oa(n(...s),e)||(t(e,...s),o&&Oa(n(...o),e)&&t(null,...o))})}),()=>{let r=a;for(;r!==i&&r.parent!==null&&r.parent.f&33554432;)r=r.parent;let o=()=>{s&&Oa(n(...s),e)&&t(null,...s)},c=r.teardown;r.teardown=()=>{o(),c?.()}}}),e}var Aa={get(e,t){if(!e.exclude.has(t))return e.props[t]},set(e,t){return!1},getOwnPropertyDescriptor(e,t){if(!e.exclude.has(t)&&t in e.props)return{enumerable:!0,configurable:!0,value:e.props[t]}},has(e,t){return!e.exclude.has(t)&&t in e.props},ownKeys(e){return Reflect.ownKeys(e.props).filter(t=>!e.exclude.has(t))}};function ja(e,t,n){return new Proxy({props:e,exclude:t},Aa)}var Ma={get(e,t){let n=e.props.length;for(;n--;){let r=e.props[n];if(p(r)&&(r=r()),typeof r==`object`&&r&&t in r)return r[t]}},set(e,t,n){let r=e.props.length;for(;r--;){let i=e.props[r];p(i)&&(i=i());let a=s(i,t);if(a&&a.set)return a.set(n),!0}return!1},getOwnPropertyDescriptor(e,t){let n=e.props.length;for(;n--;){let r=e.props[n];if(p(r)&&(r=r()),typeof r==`object`&&r&&t in r){let e=s(r,t);return e&&!e.configurable&&(e.configurable=!0),e}}},has(e,t){if(t===fe||t===pe)return!1;for(let n of e.props)if(p(n)&&(n=n()),n!=null&&t in n)return!0;return!1},ownKeys(e){let t=[];for(let n of e.props)if(p(n)&&(n=n()),n){for(let e in n)t.includes(e)||t.push(e);for(let e of Object.getOwnPropertySymbols(n))t.includes(e)||t.push(e)}return t}};function Na(...e){return new Proxy({props:e},Ma)}function Pa(e,t,n,r){var i=!0,a=!!(n&8),o=!!(n&16),c=r,l=!0,u=void 0,d=()=>o&&i?(u??=$t(r),Q(u)):(l&&(l=!1,c=o?Gr(r):r),c);let f;if(a){var p=fe in e||pe in e;f=s(e,t)?.set??(p&&t in e?n=>e[t]=n:void 0)}var m,h=!1;a?[m,h]=Rt(()=>e[t]):m=e[t],m===void 0&&r!==void 0&&(m=d(),f&&(i&&Le(t),f(m)));var g=i?()=>{var n=e[t];return n===void 0?d():(l=!0,n)}:()=>{var n=e[t];return n!==void 0&&(c=void 0),n===void 0?c:n};if(i&&!(n&4))return g;if(f){var _=e.$$legacy;return(function(e,t){return arguments.length>0?((!i||!t||_||h)&&f(t?g():e),e):g()})}var v=!1,y=(n&1?$t:rn)(()=>(v=!1,g()));a&&Q(y);var b=K;return(function(e,t){if(arguments.length>0){let n=t?Q(y):i&&a?zn(e):e;return F(y,n),v=!0,c!==void 0&&(c=n),e}return H&&v||b.f&16384?y.v:Q(y)})}function Fa(e){return class extends Ia{constructor(t){super({component:e,...t})}}}var Ia=class{#e;#t;constructor(e){var t=new Map,n=(e,n)=>{var r=Pn(n,!1,!1);return t.set(e,r),r};let r=new Proxy({...e.props||{},$$events:{}},{get(e,r){return Q(t.get(r)??n(r,Reflect.get(e,r)))},has(e,r){return r===pe||(Q(t.get(r)??n(r,Reflect.get(e,r))),Reflect.has(e,r))},set(e,r,i){return F(t.get(r)??n(r,i),i),Reflect.set(e,r,i)}});this.#t=(e.hydrate?Si:xi)(e.component,{target:e.target,anchor:e.anchor,props:r,context:e.context,intro:e.intro??!1,recover:e.recover,transformError:e.transformError}),(!e?.props?.$$host||e.sync===!1)&&bn(),this.#e=r.$$events;for(let e of Object.keys(this.#t))e!==`$set`&&e!==`$destroy`&&e!==`$on`&&o(this,e,{get(){return this.#t[e]},set(t){this.#t[e]=t},enumerable:!0});this.#t.$set=e=>{Object.assign(r,e)},this.#t.$destroy=()=>{Ei(this.#t)}}$set(e){this.#t.$set(e)}$on(e,t){this.#e[e]=this.#e[e]||[];let n=(...e)=>t.call(this,...e);return this.#e[e].push(n),()=>{this.#e[e]=this.#e[e].filter(e=>e!==n)}}$destroy(){this.#t.$destroy()}};function La(e,t){if(Ce(`hydratable`),w){let t=window.__svelte?.h;if(t?.has(e))return t.get(e);qe(e)}return t()}var Ra=t({afterUpdate:()=>Ga,beforeUpdate:()=>Wa,createContext:()=>dt,createEventDispatcher:()=>Ua,createRawSnippet:()=>Ui,flushSync:()=>bn,fork:()=>Dn,getAbortSignal:()=>za,getAllContexts:()=>ht,getContext:()=>ft,hasContext:()=>mt,hydratable:()=>La,hydrate:()=>Si,mount:()=>xi,onDestroy:()=>Va,onMount:()=>Ba,setContext:()=>pt,settled:()=>Hr,tick:()=>Vr,unmount:()=>Ei,untrack:()=>Gr});function za(){return U===null&&Pe(),(U.ac??=new AbortController).signal}function Ba(e){k===null&&we(`onMount`),ar(()=>{let t=Gr(e);if(typeof t==`function`)return t})}function Va(e){k===null&&we(`onDestroy`),Ba(()=>()=>Gr(e))}function Ha(e,t,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(e,{detail:t,bubbles:n,cancelable:r})}function Ua(){let e=k;return e===null&&we(`createEventDispatcher`),(t,r,i)=>{let a=e.s.$$events?.[t];if(a){let o=n(a)?a.slice():[a],s=Ha(t,r,i);for(let t of o)t.call(e.x,s);return!s.defaultPrevented}return!0}}function Wa(e){k===null&&we(`beforeUpdate`),k.l===null&&Ie(`beforeUpdate`),Ka(k).b.push(e)}function Ga(e){k===null&&we(`afterUpdate`),k.l===null&&Ie(`afterUpdate`),Ka(k).a.push(e)}function Ka(e){var t=e.l;return t.u??={a:[],b:[],m:[]}}export{nn as $,gi as A,lr as B,ji as C,yi as D,bi as E,Q as F,Jn as G,ar as H,Hr as I,zn as J,Yn as K,Vr as L,ci as M,si as N,vi as O,oi as P,Nn as Q,Gr as R,Fi as S,Oi as T,sr as U,fr as V,Un as W,F as X,Ln as Y,Mn as Z,Ki as _,ja as a,ft as at,Hi as b,Ta as c,pt as ct,ya as d,at as dt,Bt as et,sa as f,Qe as ft,Yi as g,t as gt,Xi as h,_ as ht,Pa as i,Mt as it,_i as j,mi as k,xa as l,lt,na as m,m as mt,Ba as n,It as nt,Na as o,_t as ot,ia as p,Ze as pt,Xn as q,Fa as r,Nt as rt,ka as s,gt as st,Ra as t,Lt as tt,_a as u,st as ut,Gi as v,Ai as w,Vi as x,Wi as y,Mr as z};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import{a as e,i as t,l as n,n as r,o as i,r as a,s as o,t as s,u as c}from"./Dtk4_9sS.js";var l=o({error:n().optional()}),u=o({authenticated:a().optional()}),d=o({httpBaseUrl:n(),desktopLoginCallbackUrl:n().optional(),pairingCredential:n()}),f=o({parentPath:n(),entries:r(o({name:n(),fullPath:n()}))}),p=o({skills:r(o({name:n(),description:n()})),warnings:r(n())}),m=o({workspacePath:n(),displayName:n(),repositoryKey:n()}),h=o({workspacePath:n(),repositoryKey:n(),displayName:n(),availability:s([`available`,`unavailable`]),lastValidatedAt:i(),lastUsedAt:i(),unavailableReason:n().optional(),previousRepositoryKey:n().optional()}),g=o({runId:n()}),_=o({imageUploadId:n(),name:n(),mediaType:n(),size:i(),storageId:n(),url:n().optional()}),v=o({number:i(),sourceKey:n(),kind:s([`prompt`,`completion`,`tool`]),runId:n(),prompt:o({text:n(),imageUploads:r(_)}).optional(),completion:o({streamId:n().optional(),items:r(c())}).optional(),tool:o({jobId:n().optional(),callId:n(),name:n(),output:c(),status:s([`completed`,`failed`,`cancelled`])}).optional()}),y=o({threadId:n(),totalParts:i(),historyFromNumber:i(),stale:a(),parts:r(v),nextBefore:i().optional(),contextSummary:n().optional()}),b=o({eventType:n(),totalParts:i().optional(),stale:a()}),x=o({threadId:n(),runId:n(),runStatus:s([`queued`,`running`,`awaiting_executor`,`completed`,`failed`,`cancelled`]),streamId:n().optional(),text:n(),parts:r(c()),runStartedAt:i()}),S=t(`eventType`,[o({eventType:e(`updated`),live:x}),o({eventType:e(`cleared`)})]);function C(e){return e}function w(e){return e}function T(e){return{threadId:C(e.threadId),totalParts:e.totalParts,historyFromNumber:e.historyFromNumber,stale:e.stale,nextBefore:e.nextBefore,contextSummary:e.contextSummary,parts:e.parts.map(E)}}function E(e){return{number:e.number,sourceKey:e.sourceKey,kind:e.kind,runId:C(e.runId),prompt:e.prompt?{text:e.prompt.text,imageUploads:e.prompt.imageUploads.map(e=>({...e,imageUploadId:C(e.imageUploadId)}))}:void 0,completion:e.completion?{streamId:e.completion.streamId,items:e.completion.items}:void 0,tool:e.tool?{...e.tool,jobId:e.tool.jobId?C(e.tool.jobId):void 0,output:e.tool.output}:void 0}}function D(e){return{threadId:C(e.threadId),runId:C(e.runId),runStatus:e.runStatus,streamId:e.streamId,text:e.text,parts:e.parts,runStartedAt:e.runStartedAt}}function O(e){return e.eventType===`updated`?{eventType:`updated`,live:D(e.live)}:{eventType:`cleared`}}async function k(e,t,n){if(!e.body)return;let r=e.body.getReader(),i=new TextDecoder,a=``;try{for(;!t.aborted;){let{done:e,value:o}=await r.read();if(e)break;a+=i.decode(o,{stream:!0});let s=a.indexOf(`
|
|
2
|
+
|
|
3
|
+
`);for(;s>=0;){let e=a.slice(0,s);a=a.slice(s+2);let r=e.split(`
|
|
4
|
+
`).filter(e=>e.startsWith(`data:`)).map(e=>e.slice(5).trimStart());r.length>0&&!t.aborted&&n(r.join(`
|
|
5
|
+
`)),s=a.indexOf(`
|
|
6
|
+
|
|
7
|
+
`)}}}catch(e){if(t.aborted)return;throw e}finally{r.releaseLock()}}function A(e,t){return Error(t?.error??`Local request failed (${e}).`)}async function j(e){let t=l.safeParse(await e.json().catch(()=>null));return A(e.status,t.success?t.data:void 0)}async function M(e,t,n,r){let i=await fetch(e,{method:`POST`,credentials:`include`,headers:{"content-type":`application/json`},body:JSON.stringify(t),signal:n});if(!i.ok)throw await j(i);await k(i,n,r)}function N(){return globalThis.window?globalThis.window.location.origin:null}function P(e){if(!globalThis.window)return null;let t=globalThis.window.location.hash.startsWith(`#`)?globalThis.window.location.hash.slice(1):globalThis.window.location.hash;return new URLSearchParams(t).get(e)}function F(){return P(`token`)}function I(){return P(`workspace`)}function L(e){return`#${new URLSearchParams({workspace:e}).toString()}`}function R(){if(!globalThis.window)return;let e=new URL(globalThis.window.location.href);e.hash=``,globalThis.window.history.replaceState(null,``,`${e.pathname}${e.search}`)}async function z(e,t){let n=await fetch(`${e}/api/auth/bootstrap`,{method:`POST`,headers:{"content-type":`application/json`},credentials:`include`,body:JSON.stringify({credential:t})});if(!n.ok){let e=l.safeParse(await n.json().catch(()=>null));throw Error(e.success?e.data.error??`Failed to authenticate with the Sprocket server.`:`Failed to authenticate with the Sprocket server.`)}}async function B(e){let t=await fetch(`${e}/api/auth/session`,{credentials:`include`});if(!t.ok)return!1;let n=u.safeParse(await t.json());return n.success?!!n.data.authenticated:!1}async function V(e,t){if(await B(e))return;let n=F();if(n){await z(e,n),R();return}if(t?.pairingCredential){await z(e,t.pairingCredential);return}let r=await H(e);if(r?.pairingCredential){await z(e,r.pairingCredential);return}throw Error(`Pair with your Sprocket server to continue.`)}async function H(e){try{let t=await fetch(`${e}/api/auth/desktop-bootstrap`);if(!t.ok)return null;let n=d.safeParse(await t.json());return n.success?n.data:null}catch{return null}}async function U(e){return globalThis.window?.sprocketDesktopBridge?.getLocalBootstrap?await globalThis.window.sprocketDesktopBridge.getLocalBootstrap():await H(e)}async function W(e,t){let n=e.headers.get(`content-type`)??``,r=await e.text();if(!n.includes(`application/json`)){let e=r.trim().slice(0,120);if(e.startsWith(`<!`)){let e=N();throw Error(e?`The Sprocket API at ${e} returned a web page instead of JSON. Make sure the server is running correctly.`:`The Sprocket API returned a web page instead of JSON. Make sure the server is running correctly.`)}throw Error(e.length>0?`Local API returned an unexpected response: ${e}`:`Local API returned an empty response.`)}let i=t.safeParse(JSON.parse(r));if(!i.success)throw Error(`Local API returned an unexpected response.`);return i.data}function G(e){async function t(t,n,r){let i=await fetch(`${e}${t}`,{...r,credentials:`include`,headers:{"content-type":`application/json`,...r?.headers}});if(!i.ok)try{let e=await W(i,l);throw Error(e.error??`Local request failed (${i.status}).`)}catch(e){throw e instanceof Error&&e.message!==`Local request failed (${i.status}).`?e:Error(`Local request failed (${i.status}).`,{cause:e})}if(i.status===204)throw Error(`Local API returned an empty response.`);return await W(i,n)}return{browseFilesystem:e=>{let n=e.cwd?{partialPath:e.partialPath,cwd:e.cwd}:{partialPath:e.partialPath};return t(`/api/workspace/browse`,f,{method:`POST`,body:JSON.stringify(n)})},listWorkspaceSkills:e=>t(`/api/workspace/skills`,p,{method:`POST`,body:JSON.stringify({workspacePath:e.workspacePath})}),resolveWorkspacePath:e=>{let n=e.createIfMissing?{workspacePath:e.workspacePath,createIfMissing:!0}:{workspacePath:e.workspacePath};return t(`/api/workspace/resolve`,m,{method:`POST`,body:JSON.stringify(n)})},listProjectAttachments:async()=>(await t(`/api/workspace/projects`,r(h))).map(w),attachProject:async e=>w(await t(`/api/workspace/projects`,h,{method:`POST`,body:JSON.stringify(e)})),runAgent:async e=>({runId:C((await t(`/api/agent/run`,g,{method:`POST`,body:JSON.stringify(e)})).runId)}),fetchTranscriptPage:async e=>T(await t(`/api/transcript/page`,y,{method:`POST`,body:JSON.stringify(e)})),watchTranscript:async(t,n)=>{await M(`${e}/api/transcript/watch`,t,n.signal,e=>{let t=b.safeParse(JSON.parse(e));t.success&&n.onEvent(t.data)})},watchLiveCompletion:async(t,n)=>{await M(`${e}/api/agent/live`,t,n.signal,e=>{let t=S.safeParse(JSON.parse(e));t.success&&n.onEvent(O(t.data))})},clearTranscriptReplica:async t=>{let n=await fetch(`${e}/api/transcript/clear`,{method:`POST`,credentials:`include`,headers:{"content-type":`application/json`},body:JSON.stringify(t)});if(!n.ok)throw await j(n)},fetchTranscriptAttachment:async t=>{let n=await fetch(`${e}/api/transcript/attachment`,{method:`POST`,credentials:`include`,headers:{"content-type":`application/json`},body:JSON.stringify(t)});return n.status===404||!n.ok?null:await n.blob()}}}async function K(){let e=N();if(!e)throw Error(`Unable to resolve the Sprocket server URL.`);return await V(e,await U(e)),G(e)}export{I as a,L as c,F as i,R as n,K as o,H as r,N as s,z as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./D-3DgMVM.js";import{a as e,r as t}from"./3HfAD3ar.js";var n={get data(){return e.data},get error(){return e.error},get form(){return e.form},get params(){return e.params},get route(){return e.route},get state(){return e.state},get status(){return e.status},get url(){return e.url}};t.updated.check;var r=n;export{r as t};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{it as e,rt as t}from"./D-3DgMVM.js";import"./BQbJFoq8.js";import{a as n,i as r,l as i,s as a}from"./Dtk4_9sS.js";var o=`localhost`;`${o}`;function s(e){let t=new URL(e);return t.hostname!==`127.0.0.1`&&t.hostname!==`[::1]`?null:(t.hostname=o,t.toString())}function c(e,t,n){return t||!n&&[`127.0.0.1`,`localhost`,`[::1]`].includes(e)}var l=Symbol.for(`functionName`),u=Symbol.for(`toReferencePath`);function ee(e){return e[u]??null}function te(e){return e.startsWith(`function://`)}function ne(e){let t;if(typeof e==`string`)t=te(e)?{functionHandle:e}:{name:e};else if(e[l])t={name:e[l]};else{let n=ee(e);if(!n)throw Error(`${e} is not a functionReference`);t={reference:n}}return t}function re(e){let t=ne(e);if(t.name===void 0)throw t.functionHandle===void 0?t.reference===void 0?Error(`Expected function reference like "api.file.func" or "internal.file.func", but received ${JSON.stringify(t)}`):Error(`Expected function reference in the current component like "api.file.func" or "internal.file.func", but received reference ${t.reference}`):Error(`Expected function reference like "api.file.func" or "internal.file.func", but received function handle ${t.functionHandle}`);if(typeof e==`string`)return e;let n=e[l];if(!n)throw Error(`${e} is not a functionReference`);return n}function ie(e=[]){return new Proxy({},{get(t,n){if(typeof n==`string`)return ie([...e,n]);if(n===l){if(e.length<2){let t=[`api`,...e].join(`.`);throw Error(`API path is expected to be of the form \`api.moduleName.functionName\`. Found: \`${t}\``)}let t=e.slice(0,-1).join(`/`),n=e[e.length-1];return n==="default"?t:t+`:`+n}if(n===Symbol.toStringTag)return`FunctionReference`}})}var ae=ie();function oe(e,t){return new Proxy({},{get(n,r){if(typeof r==`string`)return oe(e,[...t,r]);if(r===u){if(t.length<1){let n=[e,...t].join(`.`);throw Error(`API path is expected to be of the form \`${e}.childComponent.functionName\`. Found: \`${n}\``)}return`_reference/childComponent/`+t.join(`/`)}}})}var se=()=>oe(`components`,[]),ce=e=>{throw TypeError(e)},d=(e,t,n)=>t.has(e)||ce(`Cannot `+n),f=(e,t,n)=>(d(e,t,`read from private field`),n?n.call(e):t.get(e)),p=(e,t,n)=>t.has(e)?ce(`Cannot add the same private member more than once`):t instanceof WeakSet?t.add(e):t.set(e,n),m=(e,t,n,r)=>(d(e,t,`write to private field`),r?r.call(e,n):t.set(e,n),n),h=(e,t,n)=>(d(e,t,`access private method`),n),le=class extends Error{constructor(){super(...arguments),this.status=500,this.name=`NoClientIdProvidedException`,this.message=`Missing Client ID. Pass it to the constructor (createClient("client_01HXRMBQ9BJ3E7QSTQ9X2PHVB7"))`}};function ue(e,t){if(!t.has(`code`))return!1;let{pathname:n}=window.location,r=new URL(e).pathname;return n===r||n===`${r}/`}function de(){let e={};function t(t,n){e[t]=n}function n(t){return e[t]}function r(t){delete e[t]}function i(){e={}}return{setItem:t,getItem:n,removeItem:r,reset:i}}var g=de();async function fe(){let e=pe();return{codeVerifier:e,codeChallenge:await me(e)}}function pe(){return he(crypto.getRandomValues(new Uint32Array(96)))}async function me(e){return he(await ge(e))}function he(e){return btoa(Array.from(new Uint8Array(e),e=>String.fromCharCode(e)).join(``)).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}function ge(e){let t=new TextEncoder().encode(e);return crypto.subtle.digest(`SHA-256`,t)}function _e(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n=`=`.repeat((4-t.length%4)%4);return atob(t+n)}function ve(e){let t=e.split(`.`);if(t.length!==3)throw Error(`Invalid JWT format`);try{return{header:JSON.parse(_e(t[0])),payload:JSON.parse(_e(t[1]))}}catch(e){throw Error(`Failed to decode JWT: ${e instanceof Error?e.message:String(e)}`)}}var _={codeVerifier:`workos:code-verifier`,user:`workos:user`,accessToken:`workos:access-token`,refreshToken:`workos:refresh-token`,expiresAt:`workos:expires-at`,authenticationMethod:`workos:authentication-method`};function ye(e){return ve(e).payload}function be(e){return`${_.refreshToken}:${e}`}function xe(e,{devMode:t=!1,clientId:n}){let{user:r,accessToken:i,refreshToken:a,authenticationMethod:o}=e;g.setItem(_.user,r),g.setItem(_.accessToken,i),g.setItem(_.authenticationMethod,o),(t?window.localStorage:g).setItem(be(n),a);let{exp:s,iat:c}=ye(i),l=s-c,u=Date.now()+l*1e3;g.setItem(_.expiresAt,u)}function Se({devMode:e=!1,clientId:t}){g.removeItem(_.user),g.removeItem(_.accessToken),g.removeItem(_.authenticationMethod);let n=e?window.localStorage:g;n.removeItem(be(t)),n.removeItem(_.refreshToken)}function Ce({devMode:e=!1,clientId:t}){let n=e?window.localStorage:g,r=n.getItem(be(t))??n.getItem(_.refreshToken);return typeof r==`string`?r:void 0}function we(e){let t=new URLSearchParams,n=Object.keys(e).sort();for(let r of n){let n=e[r];n&&t.append(r,n)}return t.toString()}var v=class extends Error{},y=class extends v{constructor(e,t={}){super(e,t.cause==null?void 0:{cause:t.cause}),this.name=`RefreshError`,this.status=t.status,this.error=t.error,this.isTransient=t.isTransient??!1}},Te=class extends v{},b=class extends v{constructor(){super(...arguments),this.message=`No access token available`}},x=class extends y{constructor(e=`Timed out waiting to refresh the session.`,t){super(e,{cause:t?.cause,isTransient:!0}),this.name=`RefreshTimeoutError`}},Ee=class extends v{constructor(){super(...arguments),this.message=`SignOut() called without an active session. Provide a returnTo URL to redirect anyway.`}},De=class e{constructor(){this.locked=new Map,this.addToLocked=(e,t)=>{let n=this.locked.get(e);n===void 0?t===void 0?this.locked.set(e,[]):this.locked.set(e,[t]):t!==void 0&&(n.unshift(t),this.locked.set(e,n))},this.isLocked=e=>this.locked.has(e),this.lock=e=>new Promise((t,n)=>{this.isLocked(e)?this.addToLocked(e,t):(this.addToLocked(e),t())}),this.unlock=e=>{let t=this.locked.get(e);if(t===void 0||t.length===0){this.locked.delete(e);return}let n=t.pop();this.locked.set(e,t),n!==void 0&&setTimeout(n,0)}}static getInstance(){return e.instance===void 0&&(e.instance=new e),e.instance}};function S(){return De.getInstance()}var Oe=`browser-tabs-lock-key`,C={key:async e=>{throw Error(`Unsupported`)},getItem:async e=>{throw Error(`Unsupported`)},clear:async()=>window.localStorage.clear(),removeItem:async e=>{throw Error(`Unsupported`)},setItem:async(e,t)=>{throw Error(`Unsupported`)},keySync:e=>window.localStorage.key(e),getItemSync:e=>window.localStorage.getItem(e),clearSync:()=>window.localStorage.clear(),removeItemSync:e=>window.localStorage.removeItem(e),setItemSync:(e,t)=>window.localStorage.setItem(e,t)};function ke(e){return new Promise(t=>setTimeout(t,e))}function Ae(e){let t=``;for(let n=0;n<e;n++){let e=Math.floor(Math.random()*61);t+=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz`[e]}return t}function je(){return Date.now().toString()+Ae(15)}var Me=class e{constructor(t){this.acquiredIatSet=new Set,this.storageHandler=void 0,this.id=je(),this.acquireLock=this.acquireLock.bind(this),this.releaseLock=this.releaseLock.bind(this),this.releaseLock__private__=this.releaseLock__private__.bind(this),this.waitForSomethingToChange=this.waitForSomethingToChange.bind(this),this.refreshLockWhileAcquired=this.refreshLockWhileAcquired.bind(this),this.storageHandler=t,e.waiters===void 0&&(e.waiters=[])}async acquireLock(t,n=5e3){let r=Date.now()+Ae(4),i=Date.now()+n,a=`${Oe}-${t}`,o=this.storageHandler===void 0?C:this.storageHandler;for(;Date.now()<i;){if(await ke(30),o.getItemSync(a)===null){let e=`${this.id}-${t}-${r}`;await ke(Math.floor(Math.random()*25)),o.setItemSync(a,JSON.stringify({id:this.id,iat:r,timeoutKey:e,timeAcquired:Date.now(),timeRefreshed:Date.now()})),await ke(30);let n=o.getItemSync(a);if(n!==null){let e=JSON.parse(n);if(e.id===this.id&&e.iat===r)return this.acquiredIatSet.add(r),this.refreshLockWhileAcquired(a,r),!0}}else e.lockCorrector(this.storageHandler===void 0?C:this.storageHandler),await this.waitForSomethingToChange(i);r=Date.now()+Ae(4)}return!1}async refreshLockWhileAcquired(e,t){setTimeout(async()=>{if(await S().lock(t),!this.acquiredIatSet.has(t)){S().unlock(t);return}let n=this.storageHandler===void 0?C:this.storageHandler,r=n.getItemSync(e);if(r!==null){let i=JSON.parse(r);i.timeRefreshed=Date.now(),n.setItemSync(e,JSON.stringify(i)),S().unlock(t)}else{S().unlock(t);return}this.refreshLockWhileAcquired(e,t)},1e3)}async waitForSomethingToChange(t){await new Promise(n=>{let r=!1,i=Date.now(),a=!1;function o(){if(a||=(window.removeEventListener(`storage`,o),e.removeFromWaiting(o),clearTimeout(s),!0),!r){r=!0;let e=50-(Date.now()-i);e>0?setTimeout(n,e):n(null)}}window.addEventListener(`storage`,o),e.addToWaiting(o);let s=setTimeout(o,Math.max(0,t-Date.now()))})}static addToWaiting(t){this.removeFromWaiting(t),e.waiters!==void 0&&e.waiters.push(t)}static removeFromWaiting(t){e.waiters!==void 0&&(e.waiters=e.waiters.filter(e=>e!==t))}static notifyWaiters(){e.waiters!==void 0&&[...e.waiters].forEach(e=>e())}async releaseLock(e){return await this.releaseLock__private__(e)}async releaseLock__private__(t){let n=this.storageHandler===void 0?C:this.storageHandler,r=`${Oe}-${t}`,i=n.getItemSync(r);if(i===null)return;let a=JSON.parse(i);a.id===this.id&&(await S().lock(a.iat),this.acquiredIatSet.delete(a.iat),n.removeItemSync(r),S().unlock(a.iat),e.notifyWaiters())}static lockCorrector(t){let n=Date.now()-5e3,r=t,i=[],a=0;for(;;){let e=r.keySync(a);if(e===null)break;i.push(e),a++}let o=!1;for(let e=0;e<i.length;e++){let t=i[e];if(t.includes(Oe)){let e=r.getItemSync(t);if(e!==null){let i=JSON.parse(e);(i.timeRefreshed===void 0&&i.timeAcquired<n||i.timeRefreshed!==void 0&&i.timeRefreshed<n)&&(r.removeItemSync(t),o=!0)}}}o&&e.notifyWaiters()}};Me.waiters=void 0;var Ne=Me,Pe=1e4;function Fe(e,t,{timeout:n=Pe}={}){if(!e)throw TypeError(`lockName is required and must be a non-empty string.`);return`locks`in navigator?Ie(e,t,n):Le(e,t,n)}async function Ie(e,t,n){try{return await navigator.locks.request(e,{signal:AbortSignal.timeout(n)},t)}catch(t){if(t instanceof DOMException)switch(t.name){case`TimeoutError`:case`AbortError`:throw new Re(`AcquisitionTimeoutError`,e,`Native`)}throw t}}async function Le(e,t,n){let r=new Ne;try{if(await r.acquireLock(e,n))return await t();throw new Re(`AcquisitionTimeoutError`,e,`Vendor`)}finally{await r.releaseLock(e)}}var Re=class extends Error{constructor(e,t,n){super(`Lock acquisition timed out for "${t}" (${n})`),this.name=e,this.lockName=t}},ze=e=>({object:e.object,id:e.id,email:e.email,emailVerified:e.email_verified,firstName:e.first_name,profilePictureUrl:e.profile_picture_url,lastName:e.last_name,lastSignInAt:e.last_sign_in_at,externalId:e.external_id,createdAt:e.created_at,updatedAt:e.updated_at}),Be=e=>{let{user:t,organization_id:n,access_token:r,refresh_token:i,authentication_method:a,impersonator:o,...s}=e;return{user:ze(t),organizationId:n,accessToken:r,refreshToken:i,authenticationMethod:a,impersonator:o,...s}},Ve=`api.workos.com`,He=new Set([408,429,500,502,503,504]),w,T,E,Ue,D,We=class{constructor({clientId:e,hostname:t=Ve,port:n,https:r=!0}){p(this,E),p(this,w),p(this,T),m(this,w,`${r?`https`:`http`}://${t}${n?`:${n}`:``}`),m(this,T,e)}async authenticateWithRefreshToken({refreshToken:e,organizationId:t,useCookie:n}){let r=await h(this,E,D).call(this,`/user_management/authenticate`,{useCookie:n,body:{client_id:f(this,T),grant_type:`refresh_token`,...!n&&{refresh_token:e},organization_id:t}});if(r.ok)return Be(await r.json());let{status:i}=r,a=await h(this,E,Ue).call(this,r);throw new y(a.error_description,{status:i,error:a.error,isTransient:He.has(i)})}async authenticateWithCode({code:e,codeVerifier:t,useCookie:n}){let r=await h(this,E,D).call(this,`/user_management/authenticate`,{useCookie:n,body:{code:e,client_id:f(this,T),grant_type:`authorization_code`,code_verifier:t}});if(r.ok)return Be(await r.json());throw new Te((await r.json()).error_description)}getAuthorizationUrl({connectionId:e,context:t,domainHint:n,loginHint:r,organizationId:i,provider:a=`authkit`,redirectUri:o,state:s,screenHint:c,passwordResetToken:l,invitationToken:u,codeChallenge:ee,codeChallengeMethod:te}){if(!a&&!e&&!i)throw TypeError(`Incomplete arguments. Need to specify either a 'connectionId', 'organizationId', or 'provider'.`);if(a!==`authkit`&&c)throw TypeError(`'screenHint' is only supported for 'authkit' provider`);t&&console.warn("`context` is deprecated. We previously required initiate login endpoints to return the\n`context` query parameter when getting the authorization URL. This is no longer necessary.");let ne=we({connection_id:e,organization_id:i,domain_hint:n,login_hint:r,provider:a,client_id:f(this,T),redirect_uri:o,response_type:`code`,state:s,screen_hint:c,invitation_token:u,password_reset_token:l,code_challenge:ee,code_challenge_method:te});return`${f(this,w)}/user_management/authorize?${ne}`}getLogoutUrl({sessionId:e,returnTo:t}){let n=new URL(`/user_management/sessions/logout`,f(this,w));return n.searchParams.set(`session_id`,e),t&&n.searchParams.set(`return_to`,t),n}};w=new WeakMap,T=new WeakMap,E=new WeakSet,Ue=async function(e){try{return await e.json()}catch{return{}}},D=function(e,{body:t,useCookie:n}){return fetch(new URL(e,f(this,w)),{method:`POST`,...n&&{credentials:`include`},headers:{Accept:`application/json, text/plain, */*`,"Content-Type":`application/json`},body:JSON.stringify(t)})};var O=`workos_organization_id`;function k(e){return`workos-org-id:${e}`}var Ge=`WORKOS_REFRESH_SESSION`;function Ke(e){let t=document.cookie.match(/(?:^|;\s*)workos-has-session=([^;]*)/);if(!t)return!1;let n=t[1];return n===`1`||n.split(`.`).includes(e)}var A,j,M,N,P,F,I,L,R,z,B,V,qe,Je,H,U,Ye,Xe,W,G,Ze,Qe,$e,et=class{constructor(e,{apiHostname:t,https:n,port:r,redirectUri:i=window.origin,devMode:a=location.hostname===`localhost`||location.hostname===`127.0.0.1`,onBeforeAutoRefresh:o=()=>!document.hidden,onRedirectCallback:s=e=>{},onRefresh:c,onRefreshFailure:l,refreshBufferInterval:u=10}={}){if(p(this,V),p(this,A),p(this,j),p(this,M),p(this,N),p(this,P),p(this,F),p(this,I),p(this,L),p(this,R),p(this,z),p(this,B),!e)throw new le;m(this,M,e),m(this,N,new We({clientId:e,hostname:t,port:r,https:n})),m(this,F,a),m(this,P,i),m(this,A,{tag:`INITIAL`}),m(this,I,o),m(this,L,s),m(this,R,c),m(this,z,l),m(this,B,u)}async initialize(){if(f(this,A).tag!==`INITIAL`)return;let e=new URLSearchParams(window.location.search);if(ue(f(this,P),e))await h(this,V,qe).call(this);else if(Ke(f(this,M))||Ce({devMode:f(this,F),clientId:f(this,M)}))try{await h(this,V,U).call(this),h(this,V,H).call(this)}catch{h(this,V,Je).call(this)}}async getSignInUrl(e={}){return await h(this,V,W).call(this,{...e})}async getSignUpUrl(e={}){return await h(this,V,W).call(this,{...e,screenHint:`sign-up`})}async signIn(e={}){let t=await h(this,V,W).call(this,{...e});window.location.assign(t)}async signUp(e={}){let t=await h(this,V,W).call(this,{...e,screenHint:`sign-up`});window.location.assign(t)}signOut(e={navigate:!0}){let{navigate:t=!0,returnTo:n}=e,r=g.getItem(_.accessToken);if(typeof r!=`string`){if(t)throw new Ee;return Promise.reject(new Ee)}let{sid:i}=ye(r),a=f(this,N).getLogoutUrl({sessionId:i,returnTo:n});if(a){if(Se({devMode:f(this,F),clientId:f(this,M)}),sessionStorage.removeItem(k(f(this,M))),sessionStorage.removeItem(O),t)window.location.assign(a);else return new Promise(async e=>{fetch(a,{mode:`no-cors`,credentials:`include`}).catch(e=>{console.warn(`AuthKit: Failed to send logout request`,e)}).finally(e)})}}async getAccessToken(e){if(e?.forceRefresh||h(this,V,Xe).call(this))try{await h(this,V,U).call(this)}catch(t){if(t instanceof x){let t=e?.forceRefresh?void 0:h(this,V,Ze).call(this);if(t)return t;try{await h(this,V,U).call(this)}catch(e){throw e instanceof x?e:e instanceof y?e.isTransient?e:new b:e}}else if(t instanceof y){if(t.isTransient){let n=e?.forceRefresh?void 0:h(this,V,Ze).call(this);if(n)return n;throw t}throw new b}else throw t}let t=h(this,V,G).call(this);if(!t)throw new b;return t}getUser(){return g.getItem(_.user)||null}dispose(){clearTimeout(f(this,j)),g.reset()}async switchToOrganization({organizationId:e,signInOpts:t={}}){try{await h(this,V,U).call(this,{organizationId:e})}catch(n){if(n instanceof x)console.warn(`Couldn't switch organization: lock acquisition timed out.`);else if(n instanceof y){if(n.isTransient)throw n;this.signIn({...t,organizationId:e})}else throw n}}};A=new WeakMap,j=new WeakMap,M=new WeakMap,N=new WeakMap,P=new WeakMap,F=new WeakMap,I=new WeakMap,L=new WeakMap,R=new WeakMap,z=new WeakMap,B=new WeakMap,V=new WeakSet,qe=async function(){if(f(this,A).tag!==`INITIAL`)return;let e=new URL(window.location.href),t=e.searchParams.get(`code`),n=e.searchParams.get(`state`),r;if(n)try{r=JSON.parse(n)}catch{console.warn("AuthKit: ignoring malformed `state` parameter")}let i=window.sessionStorage.getItem(_.codeVerifier);if(t){if(i)try{m(this,A,{tag:`AUTHENTICATING`,response:f(this,N).authenticateWithCode({code:t,codeVerifier:i,useCookie:f(this,V,Qe)})});let e=await f(this,A).response;e&&(m(this,A,{tag:`AUTHENTICATED`}),h(this,V,H).call(this),xe(e,{devMode:f(this,F),clientId:f(this,M)}),h(this,V,$e).call(this,e),f(this,L).call(this,{state:r,...e}))}catch(e){m(this,A,{tag:`ERROR`}),console.error(e)}else m(this,A,{tag:`ERROR`}),console.error(`Couldn't exchange code.
|
|
2
|
+
|
|
3
|
+
An authorization_code was supplied for a login which did not originate at the application. This could happen for various reasons:
|
|
4
|
+
|
|
5
|
+
* This could have been an attempted Login CSRF attack. You were not affected.
|
|
6
|
+
* The developer may not have configured a Login Initiation endpoint.`)}let a=new URL(window.location.toString());a.searchParams.delete(`code`),a.searchParams.delete(`state`),window.sessionStorage.removeItem(_.codeVerifier),window.history.replaceState({},``,a)},Je=function(){f(this,A).tag===`AUTHENTICATED`&&h(this,V,H).call(this)},H=async function(){m(this,j,setTimeout(()=>{h(this,V,Xe).call(this)&&f(this,I).call(this)?h(this,V,U).call(this).catch(e=>{console.debug(e)}).finally(()=>h(this,V,H).call(this)):h(this,V,H).call(this)},1e3))},U=async function({organizationId:e}={}){if(f(this,A).tag===`AUTHENTICATING`){await f(this,A).response;return}let t=f(this,A);m(this,A,{tag:`AUTHENTICATING`,response:h(this,V,Ye).call(this,{organizationId:e,beginningState:t})}),await f(this,A).response},Ye=async function({organizationId:e,beginningState:t}){try{return await Fe(Ge,async()=>{if(e)sessionStorage.setItem(k(f(this,M)),e);else{let t=h(this,V,G).call(this);e=t?ye(t)?.org_id:sessionStorage.getItem(k(f(this,M)))??sessionStorage.getItem(O)??void 0}let t=await f(this,N).authenticateWithRefreshToken({refreshToken:Ce({devMode:f(this,F),clientId:f(this,M)}),organizationId:e,useCookie:f(this,V,Qe)});return m(this,A,{tag:`AUTHENTICATED`}),xe(t,{devMode:f(this,F),clientId:f(this,M)}),h(this,V,$e).call(this,t),t})}catch(e){throw e instanceof Re&&e.name===`AcquisitionTimeoutError`?(console.warn(`Couldn't acquire refresh lock.`),m(this,A,t),new x(void 0,{cause:e})):(t.tag!==`INITIAL`&&console.debug(e),e instanceof y&&!e.isTransient?(Se({devMode:f(this,F),clientId:f(this,M)}),sessionStorage.removeItem(k(f(this,M))),sessionStorage.removeItem(O),t.tag!==`INITIAL`&&f(this,z)&&f(this,z).call(this,{signIn:this.signIn.bind(this)}),m(this,A,{tag:`ERROR`})):m(this,A,{tag:`AUTHENTICATED`}),e)}},Xe=function(){switch(f(this,A).tag){case`INITIAL`:case`AUTHENTICATING`:return!0;case`ERROR`:return!1;case`AUTHENTICATED`:let e=g.getItem(_.accessToken),t=g.getItem(_.expiresAt);return!e||!t||t-f(this,B)*1e3<Date.now()}},W=async function({context:e,invitationToken:t,loginHint:n,organizationId:r,passwordResetToken:i,state:a,screenHint:o}){let{codeVerifier:s,codeChallenge:c}=await fe();return window.sessionStorage.setItem(_.codeVerifier,s),f(this,N).getAuthorizationUrl({codeChallenge:c,codeChallengeMethod:`S256`,context:e,invitationToken:t,loginHint:n,organizationId:r,passwordResetToken:i,redirectUri:f(this,P),screenHint:o,state:a?JSON.stringify(a):void 0})},G=function(){return g.getItem(_.accessToken)},Ze=function(){let e=h(this,V,G).call(this),t=g.getItem(_.expiresAt);return e&&t&&t>Date.now()?e:void 0},Qe=function(){return!f(this,F)},$e=async function(e){if(f(this,R)){let{refreshToken:t,...n}=e;f(this,R).call(this,n)}};async function tt(e,t={}){let n=new et(e,t);return await n.initialize(),n}var nt=ae;se();var K=e({isLoading:!0,isReady:!1,isConfigured:!0,isWaitingForBrowserSignIn:!1,browserSignInUrl:null,user:null,error:null}),rt=e(0),q=e(!1),it=1500,at=3e5,J=null,Y=null,ot=null,st=!1,X=null,ct=Promise.resolve();function lt(){if(ot)return ot;throw Error(`Auth bootstrap is not initialized.`)}async function ut(){if(Y)return await Y;Y=lt().query(nt.authBootstrap.getClientConfig,{});try{return await Y}catch(e){throw Y=null,e}}async function dt(){return(await ut()).workosClientId?.trim()||void 0}function ft(){let e=window.sprocketDesktopBridge;return!e?.getLocalBootstrap||!e.openExternal||!e.focusWindow?null:e}function pt(){return c(window.location.hostname,!1,!1)}async function Z(){return J||=(async()=>{let e=await dt();if(!e)return K.set({isLoading:!1,isReady:!0,isConfigured:!1,isWaitingForBrowserSignIn:!1,browserSignInUrl:null,user:null,error:null}),null;let t=null;try{return t=await tt(e,{redirectUri:`${window.location.origin}/callback`,onRedirectCallback:()=>{window.location.replace(`/`)},onRefresh:()=>{K.update(e=>({...e,user:t?.getUser()??null,error:null}))},onRefreshFailure:()=>{K.update(e=>({...e,user:null,error:e.user&&!st?`Session refresh failed. Sign in again.`:null}))}}),K.set({isLoading:!1,isReady:!0,isConfigured:!0,isWaitingForBrowserSignIn:!1,browserSignInUrl:null,user:t.getUser(),error:null}),t}catch(e){throw J=null,e}})(),await J}async function mt(e){ot=e,K.set({...t(K),isLoading:!0});try{let e=await Z();K.update(t=>t.isConfigured?{isLoading:!1,isReady:!0,isConfigured:!0,isWaitingForBrowserSignIn:!1,browserSignInUrl:null,user:e?.getUser()??null,error:null}:{...t,isLoading:!1,isReady:!0})}catch(e){K.update(t=>({...t,isLoading:!1,isReady:!0,isWaitingForBrowserSignIn:!1,browserSignInUrl:null,user:null,error:e instanceof Error?e.message:`Failed to initialize authentication.`}))}}var ht=a({nonce:i()}),gt=a({error:i().optional()}),_t=r(`status`,[a({status:n(`pending`)}),a({status:n(`complete`),code:i(),state:i()}),a({status:n(`failed`),error:i()})]);function vt(e){try{let t=ht.safeParse(JSON.parse(e));if(!t.success)return null;let n=t.data.nonce.trim();return n.length>0?n:null}catch{return e.trim()||null}}async function yt(e,t){let n=gt.safeParse(await e.json().catch(()=>null));return n.success?n.data.error??t:t}async function bt(e){let t=await fetch(`/api/auth/desktop-login/start`,{method:`POST`,credentials:`include`,headers:{"content-type":`application/json`},body:JSON.stringify({state:e})});if(!t.ok)throw Error(await yt(t,`Failed to start desktop sign-in.`))}function Q(e){return X===e&&!e.abort.signal.aborted}function $(e){if(!Q(e))throw new DOMException(`Aborted`,`AbortError`)}async function xt(e){let t=ct,n;ct=new Promise(e=>{n=e}),await t;try{$(e),await bt(e.nonce),$(e)}finally{n()}}function St(e){let t=e.desktopLoginCallbackUrl?.trim();if(t)return t.replace(/\/$/,``);let n;try{n=new URL(e.httpBaseUrl)}catch{throw Error(`Local server bootstrap URL is invalid.`)}return`http://127.0.0.1:${n.port||(n.protocol===`https:`?`443`:`80`)}/api/auth/desktop-login/callback`}async function Ct(e,t){let n=Date.now();for(;!t.aborted;){if(Date.now()-n>at)throw Error(`Sign-in timed out. Try again.`);let r=await fetch(`/api/auth/desktop-login/result`,{credentials:`include`,signal:t});if(!r.ok)throw Error(await yt(r,`Failed to check desktop sign-in status.`));let i=_t.safeParse(await r.json());if(!i.success)throw Error(`Failed to check desktop sign-in status.`);let a=i.data;if(a.status===`failed`)throw Error(a.error||`Desktop sign-in failed.`);if(a.status===`complete`){if(vt(a.state)!==e)throw Error(`Desktop sign-in state mismatch.`);return{code:a.code,state:a.state}}await new Promise((e,n)=>{let r=setTimeout(()=>{t.removeEventListener(`abort`,i),e()},it);function i(){clearTimeout(r),n(new DOMException(`Aborted`,`AbortError`))}t.addEventListener(`abort`,i,{once:!0})})}throw new DOMException(`Aborted`,`AbortError`)}async function wt(e,t){let n=ft();if(!n&&!pt())throw Error(`Loopback browser sign-in is unavailable.`);Tt();let r={nonce:crypto.randomUUID(),abort:new AbortController};X=r,K.update(e=>({...e,isWaitingForBrowserSignIn:!0,browserSignInUrl:null,error:null}));try{let i=n?await n.getLocalBootstrap():{httpBaseUrl:window.location.origin};$(r);let a=St(i);await xt(r),$(r);let o=await tt(e,{redirectUri:a});$(r);let s={state:{nonce:r.nonce}},c=t===`signUp`?await o.getSignUpUrl(s):await o.getSignInUrl(s);if($(r),K.update(e=>({...e,browserSignInUrl:c})),$(r),n)n.openExternal(c).catch(e=>{if(!Q(r))return;let t=e instanceof Error?e.message.trim():``;K.update(e=>({...e,error:t||`Automatic browser open failed.`}))});else{let e=window.open(c,`_blank`);if(e)try{e.opener=null}catch{}else K.update(e=>({...e,error:`Your browser blocked the sign-in window.`}))}let l=await Ct(r.nonce,r.abort.signal);if($(r),n)try{await n.focusWindow()}catch(e){Q(r)&&console.warn(`Failed to focus desktop window after sign-in`,e)}$(r);let u=new URL(`/callback`,window.location.origin);u.searchParams.set(`code`,l.code),u.searchParams.set(`state`,l.state),$(r),window.location.href=u.toString()}catch(e){if(X!==r)return;if(e instanceof DOMException&&e.name===`AbortError`){K.update(e=>({...e,isWaitingForBrowserSignIn:!1,browserSignInUrl:null,error:null}));return}K.update(t=>({...t,isWaitingForBrowserSignIn:!1,browserSignInUrl:null,error:e instanceof Error?e.message:`Failed to sign in with the browser.`}))}finally{X===r&&(X=null)}}function Tt(){X?.abort.abort(),X=null}function Et(){let e=X,t=ct;Tt(),K.update(e=>({...e,isWaitingForBrowserSignIn:!1,browserSignInUrl:null,error:null})),e&&t.then(async()=>{await fetch(`/api/auth/desktop-login/cancel`,{method:`POST`,credentials:`include`,headers:{"content-type":`application/json`},body:JSON.stringify({state:e.nonce})})}).catch(()=>{})}function Dt(){K.update(e=>!e.isWaitingForBrowserSignIn||e.error===null?e:{...e,error:null})}async function Ot(e){let t=await Z();if(!t)return;let n=await dt();if(n){if(ft()||pt()){await wt(n,e);return}if(e===`signUp`){await t.signUp();return}await t.signIn()}}async function kt(){await Ot(`signIn`)}async function At(){await Ot(`signUp`)}async function jt(){let e=await Z();if(e){Et(),st=!0,K.update(e=>({...e,isLoading:!0}));try{await e.signOut({navigate:!1,returnTo:window.location.origin}),q.set(!1),K.set({isLoading:!1,isReady:!0,isConfigured:!0,isWaitingForBrowserSignIn:!1,browserSignInUrl:null,user:null,error:null})}catch(e){K.update(t=>({...t,isLoading:!1,error:e instanceof Error?e.message:`Failed to sign out.`}))}finally{st=!1}}}async function Mt({forceRefreshToken:e=!1}={}){let t=await Z();if(!t)return null;try{return await t.getAccessToken({forceRefresh:e})}catch(e){if(e instanceof Error&&e.name===`LoginRequiredError`)return K.update(e=>({...e,user:null})),null;throw e}}function Nt(e){return e.retryPending?e.isAuthenticated?{clearPending:!0,sawLoadingDuringRetry:e.sawLoadingDuringRetry}:e.isLoading?{clearPending:!1,sawLoadingDuringRetry:!0}:e.sawLoadingDuringRetry?{clearPending:!0,sawLoadingDuringRetry:!0}:{clearPending:!1,sawLoadingDuringRetry:!1}:{clearPending:!1,sawLoadingDuringRetry:!1}}async function Pt(){K.update(e=>({...e,isLoading:!0,error:null})),q.set(!0);try{if(!await Mt({forceRefreshToken:!0}))throw Error(`Your session has expired. Sign in again.`);rt.update(e=>e+1),K.update(e=>({...e,isLoading:!1,error:null}))}catch(e){q.set(!1),K.update(t=>({...t,isLoading:!1,error:e instanceof Error?e.message:`Failed to refresh authentication.`}))}}export{q as a,mt as c,jt as d,At as f,s as h,Dt as i,Pt as l,re as m,K as n,rt as o,nt as p,Et as r,Mt as s,Nt as t,kt as u};
|