@junobuild/core 0.0.8 → 0.0.9

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.
@@ -19,7 +19,7 @@ ic-request`),zt=class{getPrincipal(){return this._principal||(this._principal=st
19
19
  Request ID: ${It(r)}
20
20
  `)}throw new Error("unreachable")}var ui=({IDL:e})=>{let t=e.Principal,r=e.Record({controllers:e.Vec(e.Principal),freezing_threshold:e.Nat,memory_allocation:e.Nat,compute_allocation:e.Nat}),i=e.Record({controllers:e.Opt(e.Vec(e.Principal)),freezing_threshold:e.Opt(e.Nat),memory_allocation:e.Opt(e.Nat),compute_allocation:e.Opt(e.Nat)}),a=e.Vec(e.Nat8);return e.Service({canister_status:e.Func([e.Record({canister_id:t})],[e.Record({status:e.Variant({stopped:e.Null,stopping:e.Null,running:e.Null}),memory_size:e.Nat,cycles:e.Nat,settings:r,module_hash:e.Opt(e.Vec(e.Nat8))})],[]),create_canister:e.Func([e.Record({settings:e.Opt(i)})],[e.Record({canister_id:t})],[]),delete_canister:e.Func([e.Record({canister_id:t})],[],[]),deposit_cycles:e.Func([e.Record({canister_id:t})],[],[]),install_code:e.Func([e.Record({arg:e.Vec(e.Nat8),wasm_module:a,mode:e.Variant({reinstall:e.Null,upgrade:e.Null,install:e.Null}),canister_id:t})],[],[]),provisional_create_canister_with_cycles:e.Func([e.Record({settings:e.Opt(i),amount:e.Opt(e.Nat)})],[e.Record({canister_id:t})],[]),provisional_top_up_canister:e.Func([e.Record({canister_id:t,amount:e.Nat})],[],[]),raw_rand:e.Func([],[e.Vec(e.Nat8)],[]),start_canister:e.Func([e.Record({canister_id:t})],[],[]),stop_canister:e.Func([e.Record({canister_id:t})],[],[]),uninstall_code:e.Func([e.Record({canister_id:t})],[],[]),update_settings:e.Func([e.Record({canister_id:e.Principal,settings:i})],[],[])})};var hr=class extends ke{constructor(t,r,i,a){super(["Call failed:",` Canister: ${t.toText()}`,` Method: ${r} (${i})`,...Object.getOwnPropertyNames(a).map(u=>` "${u}": ${JSON.stringify(a[u])}`)].join(`
21
21
  `)),this.canisterId=t,this.methodName=r,this.type=i,this.props=a}},Gr=class extends hr{constructor(t,r,i){var a;super(t,r,"query",{Status:i.status,Code:(a=cr[i.reject_code])!==null&&a!==void 0?a:`Unknown Code "${i.reject_code}"`,Message:i.reject_message}),this.result=i}},Jr=class extends hr{constructor(t,r,i,a){super(t,r,"update",{"Request ID":It(i),"HTTP status code":a.status.toString(),"HTTP status text":a.statusText}),this.requestId=i,this.response=a}},Xr;(function(e){e.Install="install",e.Reinstall="reinstall",e.Upgrade="upgrade"})(Xr||(Xr={}));var At=Symbol.for("ic-agent-metadata"),Gt=class{constructor(t){this[At]=Object.freeze(t)}static agentOf(t){return t[At].config.agent}static interfaceOf(t){return t[At].service}static canisterIdOf(t){return st.from(t[At].config.canisterId)}static async install(t,r){let i=t.mode===void 0?Xr.Install:t.mode,a=t.arg?[...new Uint8Array(t.arg)]:[],u=[...new Uint8Array(t.module)],d=typeof r.canisterId=="string"?st.fromText(r.canisterId):r.canisterId;await di(r).install_code({mode:{[i]:null},arg:a,wasm_module:u,canister_id:d})}static async createCanister(t){let{canister_id:r}=await di(t||{}).provisional_create_canister_with_cycles({amount:[],settings:[]});return r}static async createAndInstallCanister(t,r,i){let a=await this.createCanister(i);return await this.install(Object.assign({},r),Object.assign(Object.assign({},i),{canisterId:a})),this.createActor(t,Object.assign(Object.assign({},i),{canisterId:a}))}static createActorClass(t){let r=t({IDL:je});class i extends Gt{constructor(u){let d=typeof u.canisterId=="string"?st.fromText(u.canisterId):u.canisterId;super({config:Object.assign(Object.assign(Object.assign({},pi),u),{canisterId:d}),service:r});for(let[m,w]of r._fields)this[m]=ia(this,m,w,u.blsVerify)}}return i}static createActor(t,r){return new(this.createActorClass(t))(r)}};function li(e,t){let r=je.decode(e,hi.Buffer.from(t));switch(r.length){case 0:return;case 1:return r[0];default:return r}}var pi={pollingStrategyFactory:dr.defaultStrategy};function ia(e,t,r,i){let a;r.annotations.includes("query")?a=async(d,...m)=>{var w,T;d=Object.assign(Object.assign({},d),(T=(w=e[At].config).queryTransform)===null||T===void 0?void 0:T.call(w,t,m,Object.assign(Object.assign({},e[At].config),d)));let j=d.agent||e[At].config.agent||Wr(),O=st.from(d.canisterId||e[At].config.canisterId),Q=je.encode(r.argTypes,m),at=await j.query(O,{methodName:t,arg:Q});switch(at.status){case"rejected":throw new Gr(O,t,at);case"replied":return li(r.retTypes,at.reply.arg)}}:a=async(d,...m)=>{var w,T;d=Object.assign(Object.assign({},d),(T=(w=e[At].config).callTransform)===null||T===void 0?void 0:T.call(w,t,m,Object.assign(Object.assign({},e[At].config),d)));let j=d.agent||e[At].config.agent||Wr(),{canisterId:O,effectiveCanisterId:Q,pollingStrategyFactory:at}=Object.assign(Object.assign(Object.assign({},pi),e[At].config),d),it=st.from(O),bt=Q!==void 0?st.from(Q):it,Mt=je.encode(r.argTypes,m),{requestId:Dt,response:le}=await j.call(it,{methodName:t,arg:Mt,effectiveCanisterId:bt});if(!le.ok)throw new Jr(it,t,Dt,le);let Zt=at(),Yt=await zr(j,bt,Dt,Zt,i);if(Yt!==void 0)return li(r.retTypes,Yt);if(r.retTypes.length===0)return;throw new Error(`Call was returned undefined, but type [${r.retTypes.join(",")}].`)};let u=(...d)=>a({},...d);return u.withOptions=d=>(...m)=>a(d,...m),u}function di(e){function t(r,i,a){let u=i[0],d=st.fromHex("");return u&&typeof u=="object"&&u.canister_id&&(d=st.from(u.canister_id)),{effectiveCanisterId:d}}return Gt.createActor(ui,Object.assign(Object.assign(Object.assign({},e),{canisterId:st.fromHex("")}),{callTransform:t,queryTransform:t}))}var Ye=me(Zr());function Ae(e){var t;return new Uint8Array(((t=e.match(/.{1,2}/g))!==null&&t!==void 0?t:[]).map(r=>parseInt(r,16))).buffer}function Jt(e){return new Uint8Array(e).reduce((t,r)=>t+r.toString(16).padStart(2,"0"),"")}var sa=(e,t)=>{if(e.byteLength!==t.byteLength)return!1;let r=new Uint8Array(e),i=new Uint8Array(t);for(let a=0;a<r.length;a++)if(r[a]!==i[a])return!1;return!0},wi=e=>{if(e<=127)return 1;if(e<=255)return 2;if(e<=65535)return 3;if(e<=16777215)return 4;throw new Error("Length too long (> 4 bytes)")},gi=(e,t,r)=>{if(r<=127)return e[t]=r,1;if(r<=255)return e[t]=129,e[t+1]=r,2;if(r<=65535)return e[t]=130,e[t+1]=r>>8,e[t+2]=r,3;if(r<=16777215)return e[t]=131,e[t+1]=r>>16,e[t+2]=r>>8,e[t+3]=r,4;throw new Error("Length too long (> 4 bytes)")},Qr=(e,t)=>{if(e[t]<128)return 1;if(e[t]===128)throw new Error("Invalid length 0");if(e[t]===129)return 2;if(e[t]===130)return 3;if(e[t]===131)return 4;throw new Error("Length too long (> 4 bytes)")},fa=(e,t)=>{let r=Qr(e,t);if(r===1)return e[t];if(r===2)return e[t+1];if(r===3)return(e[t+1]<<8)+e[t+2];if(r===4)return(e[t+1]<<16)+(e[t+2]<<8)+e[t+3];throw new Error("Length too long (> 4 bytes)")},_i=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]),yr=Uint8Array.from([48,5,6,3,43,101,112]),af=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]);function mr(e,t){let r=2+wi(e.byteLength+1),i=t.byteLength+r+e.byteLength,a=0,u=new Uint8Array(1+wi(i)+i);return u[a++]=48,a+=gi(u,a,i),u.set(t,a),a+=t.byteLength,u[a++]=3,a+=gi(u,a,e.byteLength+1),u[a++]=0,u.set(new Uint8Array(e),a),u}var Dr=(e,t)=>{let r=0,i=(m,w)=>{if(a[r++]!==m)throw new Error("Expected: "+w)},a=new Uint8Array(e);if(i(48,"sequence"),r+=Qr(a,r),!sa(a.slice(r,r+t.byteLength),t))throw new Error("Not the expected OID.");r+=t.byteLength,i(3,"bit string");let u=fa(a,r)-1;r+=Qr(a,r),i(0,"0 padding");let d=a.slice(r);if(u!==d.length)throw new Error(`DER payload mismatch: Expected length ${u} actual length ${d.length}`);return d};var Tt=class{constructor(t){this.rawKey=t,this.derKey=Tt.derEncode(t)}static from(t){return this.fromDer(t.toDer())}static fromRaw(t){return new Tt(t)}static fromDer(t){return new Tt(this.derDecode(t))}static derEncode(t){return mr(t,yr).buffer}static derDecode(t){let r=Dr(t,yr);if(r.length!==this.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");return r}toDer(){return this.derKey}toRaw(){return this.rawKey}};Tt.RAW_KEY_LENGTH=32;var Ut=class extends zt{constructor(t,r){super(),this._privateKey=r,this._publicKey=Tt.from(t)}static generate(t){if(t&&t.length!==32)throw new Error("Ed25519 Seed needs to be 32 bytes long.");let{publicKey:r,secretKey:i}=t===void 0?Ye.sign.keyPair():Ye.sign.keyPair.fromSeed(t);return new this(Tt.fromRaw(r),i)}static fromParsedJson(t){let[r,i]=t;return new Ut(Tt.fromDer(Ae(r)),Ae(i))}static fromJSON(t){let r=JSON.parse(t);if(Array.isArray(r)){if(typeof r[0]=="string"&&typeof r[1]=="string")return this.fromParsedJson([r[0],r[1]]);throw new Error("Deserialization error: JSON must have at least 2 items.")}throw new Error(`Deserialization error: Invalid JSON type for string: ${JSON.stringify(t)}`)}static fromKeyPair(t,r){return new Ut(Tt.fromRaw(t),r)}static fromSecretKey(t){let r=Ye.sign.keyPair.fromSecretKey(new Uint8Array(t));return Ut.fromKeyPair(r.publicKey,r.secretKey)}toJSON(){return[Jt(this._publicKey.toDer()),Jt(this._privateKey)]}getKeyPair(){return{secretKey:this._privateKey,publicKey:this._publicKey}}getPublicKey(){return this._publicKey}async sign(t){let r=new Uint8Array(t);return Ye.sign.detached(r,new Uint8Array(this._privateKey)).buffer}};var Ve=class extends Error{constructor(t){super(t),this.message=t,Object.setPrototypeOf(this,Ve.prototype)}};function bi(e){if(e)return e;if(typeof crypto<"u"&&crypto.subtle)return crypto.subtle;throw new Ve("Global crypto was not available and none was provided. Please inlcude a SubtleCrypto implementation. See https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto")}var fe=class extends zt{constructor(t,r,i){super(),this._keyPair=t,this._derKey=r,this._subtleCrypto=i}static async generate(t){let{extractable:r=!1,keyUsages:i=["sign","verify"],subtleCrypto:a}=t??{},u=bi(a),d=await u.generateKey({name:"ECDSA",namedCurve:"P-256"},r,i),m=await u.exportKey("spki",d.publicKey);return new this(d,m,u)}static async fromKeyPair(t,r){let i=bi(r),a=await i.exportKey("spki",t.publicKey);return new fe(t,a,i)}getKeyPair(){return this._keyPair}getPublicKey(){let t=this._derKey,r=Object.create(this._keyPair.publicKey);return r.toDer=function(){return t},r}async sign(t){let r={name:"ECDSA",hash:{name:"SHA-256"}};return this._keyPair.privateKey,await this._subtleCrypto.sign(r,this._keyPair.privateKey,t)}};var Te=me(Fn());var ca=function(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,i=Object.getOwnPropertySymbols(e);a<i.length;a++)t.indexOf(i[a])<0&&Object.prototype.propertyIsEnumerable.call(e,i[a])&&(r[i[a]]=e[i[a]]);return r},ua=new TextEncoder().encode("ic-request-auth-delegation"),la=new TextEncoder().encode(`
22
- ic-request`);function Lr(e){if(typeof e!="string"||e.length<64)throw new Error("Invalid public key.");return Ae(e)}var Se=class{constructor(t,r,i){this.pubkey=t,this.expiration=r,this.targets=i}toCBOR(){return Te.value.map(Object.assign({pubkey:Te.value.bytes(this.pubkey),expiration:Te.value.u64(this.expiration.toString(16),16)},this.targets&&{targets:Te.value.array(this.targets.map(t=>Te.value.bytes(t.toUint8Array())))}))}toJSON(){return Object.assign({expiration:this.expiration.toString(16),pubkey:Jt(this.pubkey)},this.targets&&{targets:this.targets.map(t=>t.toHex())})}};async function da(e,t,r,i){let a=new Se(t.toDer(),BigInt(+r)*BigInt(1e6),i),u=new Uint8Array([...ua,...new Uint8Array(ee(a))]),d=await e.sign(u);return{delegation:a,signature:d}}var ce=class{constructor(t,r){this.delegations=t,this.publicKey=r}static async create(t,r,i=new Date(Date.now()+15*60*1e3),a={}){var u,d;let m=await da(t,r,i,a.targets);return new ce([...((u=a.previous)===null||u===void 0?void 0:u.delegations)||[],m],((d=a.previous)===null||d===void 0?void 0:d.publicKey)||t.getPublicKey().toDer())}static fromJSON(t){let{publicKey:r,delegations:i}=typeof t=="string"?JSON.parse(t):t;if(!Array.isArray(i))throw new Error("Invalid delegations.");let a=i.map(u=>{let{delegation:d,signature:m}=u,{pubkey:w,expiration:T,targets:j}=d;if(j!==void 0&&!Array.isArray(j))throw new Error("Invalid targets.");return{delegation:new Se(Lr(w),BigInt(`0x${T}`),j&&j.map(O=>{if(typeof O!="string")throw new Error("Invalid target.");return st.fromHex(O)})),signature:Lr(m)}});return new this(a,Lr(r))}static fromDelegations(t,r){return new this(t,r)}toJSON(){return{delegations:this.delegations.map(t=>{let{delegation:r,signature:i}=t,{targets:a}=r;return{delegation:Object.assign({expiration:r.expiration.toString(16),pubkey:Jt(r.pubkey)},a&&{targets:a.map(u=>u.toHex())}),signature:Jt(i)}}),publicKey:Jt(this.publicKey)}}},qe=class extends zt{constructor(t,r){super(),this._inner=t,this._delegation=r}static fromDelegation(t,r){return new this(t,r)}getDelegation(){return this._delegation}getPublicKey(){return{toDer:()=>this._delegation.publicKey}}sign(t){return this._inner.sign(t)}async transformRequest(t){let{body:r}=t,i=ca(t,["body"]),a=await ee(r);return Object.assign(Object.assign({},i),{body:{content:r,sender_sig:await this.sign(new Uint8Array([...la,...new Uint8Array(a)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}})}};function vi(e,t){for(let{delegation:a}of e.delegations)if(+new Date(Number(a.expiration/BigInt(1e6)))<=+Date.now())return!1;let r=[],i=t?.scope;i&&(Array.isArray(i)?r.push(...i.map(a=>typeof a=="string"?st.fromText(a):a)):r.push(typeof i=="string"?st.fromText(i):i));for(let a of r){let u=a.toText();for(let{delegation:d}of e.delegations){if(d.targets===void 0)continue;let m=!0;for(let w of d.targets)if(w.toText()===u){m=!1;break}if(m)return!1}}return!0}var ha=me(co()),pa=me(Zr());var Ei;(function(e){e[e.ECDSA_WITH_SHA256=-7]="ECDSA_WITH_SHA256"})(Ei||(Ei={}));var Ai=["mousedown","mousemove","keydown","touchstart","wheel"],He=class{constructor(t={}){var r;this.callbacks=[],this.idleTimeout=10*60*1e3,this.timeoutID=void 0;let{onIdle:i,idleTimeout:a=10*60*1e3}=t||{};this.callbacks=i?[i]:[],this.idleTimeout=a;let u=this._resetTimer.bind(this);window.addEventListener("load",u,!0),Ai.forEach(function(m){document.addEventListener(m,u,!0)});let d=(m,w)=>{let T;return(...j)=>{let O=this,Q=function(){T=void 0,m.apply(O,j)};clearTimeout(T),T=window.setTimeout(Q,w)}};if(t?.captureScroll){let m=d(u,(r=t?.scrollDebounce)!==null&&r!==void 0?r:100);window.addEventListener("scroll",m,!0)}u()}static create(t={}){return new this(t)}registerCallback(t){this.callbacks.push(t)}exit(){clearTimeout(this.timeoutID),window.removeEventListener("load",this._resetTimer,!0);let t=this._resetTimer.bind(this);Ai.forEach(function(r){document.removeEventListener(r,t,!0)}),this.callbacks.forEach(r=>r())}_resetTimer(){let t=this.exit.bind(this);window.clearTimeout(this.timeoutID),this.timeoutID=window.setTimeout(t,this.idleTimeout)}};var xa=(e,t)=>t.some(r=>e instanceof r),Ti,Si;function ya(){return Ti||(Ti=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function ma(){return Si||(Si=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var Oi=new WeakMap,en=new WeakMap,Ui=new WeakMap,tn=new WeakMap,nn=new WeakMap;function wa(e){let t=new Promise((r,i)=>{let a=()=>{e.removeEventListener("success",u),e.removeEventListener("error",d)},u=()=>{r(kt(e.result)),a()},d=()=>{i(e.error),a()};e.addEventListener("success",u),e.addEventListener("error",d)});return t.then(r=>{r instanceof IDBCursor&&Oi.set(r,e)}).catch(()=>{}),nn.set(t,e),t}function ga(e){if(en.has(e))return;let t=new Promise((r,i)=>{let a=()=>{e.removeEventListener("complete",u),e.removeEventListener("error",d),e.removeEventListener("abort",d)},u=()=>{r(),a()},d=()=>{i(e.error||new DOMException("AbortError","AbortError")),a()};e.addEventListener("complete",u),e.addEventListener("error",d),e.addEventListener("abort",d)});en.set(e,t)}var rn={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return en.get(e);if(t==="objectStoreNames")return e.objectStoreNames||Ui.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return kt(e[t])},set(e,t,r){return e[t]=r,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};function Bi(e){rn=e(rn)}function _a(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...r){let i=e.call(wr(this),t,...r);return Ui.set(i,t.sort?t.sort():[t]),kt(i)}:ma().includes(e)?function(...t){return e.apply(wr(this),t),kt(Oi.get(this))}:function(...t){return kt(e.apply(wr(this),t))}}function ba(e){return typeof e=="function"?_a(e):(e instanceof IDBTransaction&&ga(e),xa(e,ya())?new Proxy(e,rn):e)}function kt(e){if(e instanceof IDBRequest)return wa(e);if(tn.has(e))return tn.get(e);let t=ba(e);return t!==e&&(tn.set(e,t),nn.set(t,e)),t}var wr=e=>nn.get(e);function Ni(e,t,{blocked:r,upgrade:i,blocking:a,terminated:u}={}){let d=indexedDB.open(e,t),m=kt(d);return i&&d.addEventListener("upgradeneeded",w=>{i(kt(d.result),w.oldVersion,w.newVersion,kt(d.transaction),w)}),r&&d.addEventListener("blocked",w=>r(w.oldVersion,w.newVersion,w)),m.then(w=>{u&&w.addEventListener("close",()=>u()),a&&w.addEventListener("versionchange",T=>a(T.oldVersion,T.newVersion,T))}).catch(()=>{}),m}var va=["get","getKey","getAll","getAllKeys","count"],Ea=["put","add","delete","clear"],on=new Map;function Ri(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(on.get(t))return on.get(t);let r=t.replace(/FromIndex$/,""),i=t!==r,a=Ea.includes(r);if(!(r in(i?IDBIndex:IDBObjectStore).prototype)||!(a||va.includes(r)))return;let u=async function(d,...m){let w=this.transaction(d,a?"readwrite":"readonly"),T=w.store;return i&&(T=T.index(m.shift())),(await Promise.all([T[r](...m),a&&w.done]))[0]};return on.set(t,u),u}Bi(e=>({...e,get:(t,r,i)=>Ri(t,r)||e.get(t,r,i),has:(t,r)=>!!Ri(t,r)||e.has(t,r)}));var Ci="auth-client-db",Fi="ic-keyval",Aa=async(e=Ci,t=Fi,r)=>(gr&&(localStorage!=null&&localStorage.getItem(Bt))&&(localStorage.removeItem(Bt),localStorage.removeItem(Rt)),await Ni(e,r,{upgrade:i=>{i.objectStoreNames,i.objectStoreNames.contains(t)&&i.clear(t),i.createObjectStore(t)}}));async function Ta(e,t,r){return await e.get(t,r)}async function Sa(e,t,r,i){return await e.put(t,i,r)}async function Oa(e,t,r){return await e.delete(t,r)}var ue=class{constructor(t,r){this._db=t,this._storeName=r}static async create(t){let{dbName:r=Ci,storeName:i=Fi,version:a=1}=t??{},u=await Aa(r,i,a);return new ue(u,i)}async set(t,r){return await Sa(this._db,this._storeName,t,r)}async get(t){var r;return(r=await Ta(this._db,this._storeName,t))!==null&&r!==void 0?r:null}async remove(t){return await Oa(this._db,this._storeName,t)}};var Rt="identity",Bt="delegation",Pi="iv",Ua=1,gr=typeof window<"u",Ie=class{constructor(t="ic-",r){this.prefix=t,this._localStorage=r}get(t){return Promise.resolve(this._getLocalStorage().getItem(this.prefix+t))}set(t,r){return this._getLocalStorage().setItem(this.prefix+t,r),Promise.resolve()}remove(t){return this._getLocalStorage().removeItem(this.prefix+t),Promise.resolve()}_getLocalStorage(){if(this._localStorage)return this._localStorage;let t=typeof window>"u"&&typeof window>"u"?typeof self>"u"?void 0:self.localStorage:window.localStorage;if(!t)throw new Error("Could not find local storage.");return t}},$e=class{get _db(){return new Promise(t=>{if(this.initializedDb){t(this.initializedDb);return}ue.create({version:Ua}).then(r=>{this.initializedDb=r,t(r)})})}async get(t){return await(await this._db).get(t)}async set(t,r){await(await this._db).set(t,r)}async remove(t){await(await this._db).remove(t)}};var Ba="https://identity.ic0.app",Ra="#authorize",an="ECDSA",sn="Ed25519",Na=500,Ca="UserInterrupt",_r=class{constructor(t,r,i,a,u,d,m,w){var T;this._identity=t,this._key=r,this._chain=i,this._storage=a,this.idleManager=u,this._createOptions=d,this._idpWindow=m,this._eventHandler=w;let j=this.logout.bind(this),O=d?.idleOptions;!O?.onIdle&&!O?.disableDefaultIdleCallback&&((T=this.idleManager)===null||T===void 0||T.registerCallback(()=>{j(),location.reload()}))}static async create(t={}){var r,i,a;let u=(r=t.storage)!==null&&r!==void 0?r:new $e,d=(i=t.keyType)!==null&&i!==void 0?i:an,m=null;if(t.identity)m=t.identity;else{let O=await u.get(Rt);if(!O&&gr)try{let Q=new Ie,at=await Q.get(Bt),it=await Q.get(Rt);at&&it&&d===an&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await u.set(Bt,at),await u.set(Rt,it),O=at,await Q.remove(Bt),await Q.remove(Rt))}catch(Q){console.error("error while attempting to recover localstorage: "+Q)}if(O)try{typeof O=="object"?d===sn&&typeof O=="string"?m=await Ut.fromJSON(O):m=await fe.fromKeyPair(O):typeof O=="string"&&(m=Ut.fromJSON(O))}catch{}}let w=new ie,T=null;if(m)try{let O=await u.get(Bt);if(typeof O=="object"&&O!==null)throw new Error("Delegation chain is incorrectly stored. A delegation chain should be stored as a string.");t.identity?w=t.identity:O&&(T=ce.fromJSON(O),vi(T)?w=qe.fromDelegation(m,T):(await fn(u),m=null))}catch(O){console.error(O),await fn(u),m=null}let j;return!((a=t.idleOptions)===null||a===void 0)&&a.disableIdle?j=void 0:(T||t.identity)&&(j=He.create(t.idleOptions)),m||(d===sn?(m=await Ut.generate(),await u.set(Rt,JSON.stringify(m.toJSON()))):(t.storage&&d===an&&console.warn(`You are using a custom storage provider that may not support CryptoKey storage. If you are using a custom storage provider that does not support CryptoKey storage, you should use '${sn}' as the key type, as it can serialize to a string`),m=await fe.generate(),await u.set(Rt,m.getKeyPair()))),new this(w,m,T,u,j,t)}_handleSuccess(t,r){var i,a,u;let d=t.delegations.map(T=>({delegation:new Se(T.delegation.pubkey,T.delegation.expiration,T.delegation.targets),signature:T.signature.buffer})),m=ce.fromDelegations(d,t.userPublicKey.buffer),w=this._key;if(w){if(this._chain=m,this._identity=qe.fromDelegation(w,this._chain),(i=this._idpWindow)===null||i===void 0||i.close(),!this.idleManager){let T=(a=this._createOptions)===null||a===void 0?void 0:a.idleOptions;this.idleManager=He.create(T),!T?.onIdle&&!T?.disableDefaultIdleCallback&&((u=this.idleManager)===null||u===void 0||u.registerCallback(()=>{this.logout(),location.reload()}))}r?.(),this._removeEventListener(),delete this._idpWindow}}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null}async login(t){var r,i,a,u;let d=BigInt(8)*BigInt(36e11),m=new URL(((r=t?.identityProvider)===null||r===void 0?void 0:r.toString())||Ba);m.hash=Ra,(i=this._idpWindow)===null||i===void 0||i.close(),this._removeEventListener(),this._eventHandler=this._getEventHandler(m,Object.assign({maxTimeToLive:(a=t?.maxTimeToLive)!==null&&a!==void 0?a:d},t)),window.addEventListener("message",this._eventHandler),this._idpWindow=(u=window.open(m.toString(),"idpWindow",t?.windowOpenerFeatures))!==null&&u!==void 0?u:void 0;let w=()=>{this._idpWindow&&(this._idpWindow.closed?this._handleFailure(Ca,t?.onError):setTimeout(w,Na))};w()}_getEventHandler(t,r){return async i=>{var a,u,d;if(i.origin!==t.origin){console.warn(`WARNING: expected origin '${t.origin}', got '${i.origin}' (ignoring)`);return}let m=i.data;switch(m.kind){case"authorize-ready":{let w={kind:"authorize-client",sessionPublicKey:new Uint8Array((a=this._key)===null||a===void 0?void 0:a.getPublicKey().toDer()),maxTimeToLive:r?.maxTimeToLive,derivationOrigin:(u=r?.derivationOrigin)===null||u===void 0?void 0:u.toString()};(d=this._idpWindow)===null||d===void 0||d.postMessage(w,t.origin);break}case"authorize-client-success":try{this._handleSuccess(m,r?.onSuccess),this._chain&&await this._storage.set(Bt,JSON.stringify(this._chain.toJSON()))}catch(w){this._handleFailure(w.message,r?.onError)}break;case"authorize-client-failure":this._handleFailure(m.text,r?.onError);break;default:break}}}_handleFailure(t,r){var i;(i=this._idpWindow)===null||i===void 0||i.close(),r?.(t),this._removeEventListener(),delete this._idpWindow}_removeEventListener(){this._eventHandler&&window.removeEventListener("message",this._eventHandler),this._eventHandler=void 0}async logout(t={}){if(await fn(this._storage),this._identity=new ie,this._chain=null,t.returnTo)try{window.history.pushState({},"",t.returnTo)}catch{window.location.href=t.returnTo}}};async function fn(e){await e.remove(Rt),await e.remove(Bt),await e.remove(Pi)}var cn=()=>_r.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}});var br=()=>typeof window<"u",un=()=>{let e=mt.getInstance().get()?.satelliteId??"unknown";return mt.getInstance().localIdentity()?`http://${e}.localhost:8000`:`https://${e}.ic0.app`};var ki=({width:e,height:t})=>{if(!br()||$t(window)||$t(window.top))return;let{top:{innerWidth:r,innerHeight:i}}=window,a=i/2+screenY-t/2,u=r/2+screenX-e/2;return`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=${e}, height=${t}, top=${a}, left=${u}`};var gt=e=>e?[e]:[],vr=e=>e?.[0],ji=async e=>{let t=new Blob([JSON.stringify(e)],{type:"application/json; charset=utf-8"});return new Uint8Array(await t.arrayBuffer())},ln=async e=>{let t=new Blob([e instanceof Uint8Array?e:new Uint8Array(e)],{type:"application/json; charset=utf-8"});return JSON.parse(await t.text())};var Er=({matcher:e,paginate:t,order:r})=>({matcher:gt(e),paginate:gt($t(t)?void 0:{start_after:gt(t.startAfter),limit:gt($t(t.limit)?void 0:BigInt(t.limit))}),order:gt($t(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}})});var Ki=({IDL:e})=>{let t=e.Record({controllers:e.Vec(e.Principal)}),r=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),i=e.Record({updated_at:e.Opt(e.Nat64)}),a=e.Record({headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text))))}),u=e.Record({storage:a}),d=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),created_at:e.Nat64}),m=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text))}),w=e.Record({token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),T=e.Variant({Callback:e.Record({token:w,callback:e.Func([],[],[])})}),j=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(T),status_code:e.Nat16}),O=e.Record({token:e.Opt(w),body:e.Vec(e.Nat8)}),Q=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,encoding_type:e.Opt(e.Text),full_path:e.Text}),at=e.Record({batch_id:e.Nat}),it=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),bt=e.Record({field:it,desc:e.Bool}),Mt=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),Dt=e.Record({order:e.Opt(bt),matcher:e.Opt(e.Text),paginate:e.Opt(Mt)}),le=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,full_path:e.Text}),Zt=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),Yt=e.Record({key:le,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,Zt)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64}),Vt=e.Record({matches_length:e.Nat64,length:e.Nat64,items:e.Vec(e.Tuple(e.Text,Yt))}),We=e.Record({updated_at:e.Nat64,created_at:e.Nat64,bn_id:e.Opt(e.Text)}),ze=e.Record({matches_length:e.Nat64,length:e.Nat64,items:e.Vec(e.Tuple(e.Text,d))}),Oe=e.Variant({Db:e.Null,Storage:e.Null}),Qt=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),de=e.Record({updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:Qt,created_at:e.Nat64,write:Qt}),Ue=e.Record({updated_at:e.Opt(e.Nat64),data:e.Vec(e.Nat8)}),Ge=e.Record({updated_at:e.Opt(e.Nat64),max_size:e.Opt(e.Nat),read:Qt,write:Qt}),Be=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat}),Re=e.Record({chunk_id:e.Nat});return e.Service({add_controllers:e.Func([t],[e.Vec(e.Principal)],[]),commit_asset_upload:e.Func([r],[],[]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Opt(e.Text)],[],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,i],[],[]),get_config:e.Func([],[u],[]),get_doc:e.Func([e.Text,e.Text],[e.Opt(d)],["query"]),http_request:e.Func([m],[j],["query"]),http_request_streaming_callback:e.Func([w],[O],["query"]),init_asset_upload:e.Func([Q],[at],[]),list_assets:e.Func([e.Opt(e.Text),Dt],[Vt],["query"]),list_controllers:e.Func([],[e.Vec(e.Principal)],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,We))],["query"]),list_docs:e.Func([e.Text,Dt],[ze],["query"]),list_rules:e.Func([Oe],[e.Vec(e.Tuple(e.Text,de))],["query"]),remove_controllers:e.Func([t],[e.Vec(e.Principal)],[]),set_config:e.Func([u],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_doc:e.Func([e.Text,e.Text,Ue],[d],[]),set_rule:e.Func([Oe,e.Text,Ge],[],[]),upload_asset_chunk:e.Func([Be],[Re],[]),version:e.Func([],[e.Text],["query"])})};var Mi=async({satelliteId:e,idlFactory:t,identity:r,fetch:i,env:a="prod"})=>{let u=a==="dev"||mt.getInstance().localIdentity(),d=u?"http://127.0.0.1:8000/":"https://ic0.app",m=new ae({identity:r,...d&&{host:d},...i&&{fetch:i}});return u&&await m.fetchRootKey(),Gt.createActor(t,{agent:m,canisterId:e})};var jt=async({satelliteId:e,...t})=>{let{satelliteId:r}=e!==void 0?{satelliteId:e}:mt.getInstance().get()??{satelliteId:void 0};if(!r)throw new Error("No satellite principal defined.");return Mi({satelliteId:r,idlFactory:Ki,...t})};var Yi=async({collection:e,key:t,satellite:r})=>{let i=await jt(r),a=vr(await i.get_doc(e,t));if(!a)return;let u=await ln(a.data);return{key:t,data:u,created_at:a.created_at,updated_at:a.updated_at}},Vi=async({collection:e,doc:t,satellite:r})=>{let i=await jt(r),{key:a,data:u,updated_at:d}=t,m=await i.set_doc(e,a,{data:await ji(u),updated_at:gt(d)});return{key:a,data:u,created_at:m.created_at,updated_at:m.updated_at}},qi=async({collection:e,doc:t,satellite:r})=>{let i=await jt(r),{key:a,updated_at:u}=t;return i.del_doc(e,a,{updated_at:gt(u)})},Hi=async({collection:e,filter:t,satellite:r})=>{let i=await jt(r),{items:a,matches_length:u,length:d}=await i.list_docs(e,Er(t)),m=[];for(let[w,T]of a)m.push({key:w,data:await ln(T.data),created_at:T.created_at,updated_at:T.updated_at});return{items:m,length:d,matches_length:u}};var Kt=e=>{if(e!==void 0)return e;let t=Ar();if(!t)throw new Error("No internet identity.");return t};var Ii=async({satellite:e,...t})=>{let r=Kt(e?.identity);return Yi({...t,satellite:{...e,identity:r}})},$i=async({satellite:e,...t})=>{let r=Kt(e?.identity);return Vi({...t,satellite:{...e,identity:r}})},_c=async({satellite:e,...t})=>{let r=Kt(e?.identity);return qi({...t,satellite:{...e,identity:r}})},bc=async({satellite:e,...t})=>{let r=Kt(e?.identity);return Hi({...t,satellite:{...e,identity:r}})};var Wi=async()=>{let e=Ar();if(!e)throw new Error("No internet identity.");let t=e.getPrincipal().toText(),r=await Ii({collection:"#user",key:t});return r||await Fa({userId:t,principal:e.getPrincipal()})},Fa=async({userId:e,principal:t})=>{let r=new Date;return $i({collection:"#user",doc:{key:e,data:{principal:t,created_at:r,updated_at:r}}})};var Xt,dn=async()=>{if(Xt=Xt??await cn(),!(await Xt?.isAuthenticated()||!1))return;let t=await Wi();Nt.getInstance().set(t)},Pa=async e=>new Promise(async(t,r)=>{Xt=Xt??await cn(),await Xt.login({onSuccess:async()=>{await dn(),t()},onError:i=>r(i),maxTimeToLive:e?.maxTimeToLive??jn,...mt.getInstance().localIdentity()&&{identityProvider:`http://${mt.getInstance().get()?.localIdentityCanisterId}.localhost:8000?#authorize`},...e?.derivationOrigin!==void 0&&{derivationOrigin:e.derivationOrigin},...e?.windowed!==!1&&{windowOpenerFeatures:ki({width:Kn,height:Mn})}})}),hn=async()=>{await Xt?.logout(),Xt=void 0,Nt.getInstance().reset()},Ar=()=>Xt?.getIdentity();var zi=e=>{let t=e===!0?"./workers/auth.worker.js":e,r=new Worker(t),i=async()=>{kn({message:"junoSignOutAuthTimer"}),await hn()};return r.onmessage=async({data:a})=>{let{msg:u}=a;switch(u){case"junoSignOutAuthTimer":await i();return}},Nt.getInstance().subscribe(a=>{if($t(a)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var Gi=async({data:e,filename:t,collection:r,headers:i,token:a,fullPath:u,encoding:d,satellite:m})=>{let w=await jt(m),{batch_id:T}=await w.init_asset_upload({collection:r,full_path:u,name:t,token:gt(a),encoding_type:gt(d)}),j=7e5,O=[],Q=br()?new Blob([await e.arrayBuffer()]):e;for(let it=0;it<Q.size;it+=j){let bt=Q.slice(it,it+j);O.push(await ka({batchId:T,chunk:bt,actor:w}))}let at=i.find(([it,bt])=>it.toLowerCase()==="content-type")===void 0&&e.type!==void 0&&e.type!==""?[["Content-Type",e.type]]:void 0;await w.commit_asset_upload({batch_id:T,chunk_ids:O.map(({chunk_id:it})=>it),headers:[...i,...at||[]]})},ka=async({batchId:e,chunk:t,actor:r})=>r.upload_asset_chunk({batch_id:e,content:new Uint8Array(await t.arrayBuffer())}),Ji=async({collection:e,satellite:t,filter:r})=>{let i=await jt(t),{items:a,matches_length:u,length:d}=await i.list_assets(gt(e),Er(r));return{items:a.map(([m,w])=>w),length:d,matches_length:u}},Xi=async({collection:e,storageFile:t,satellite:r})=>{let i=await jt(r),{fullPath:a}=t;return i.del_asset(e,a)},Zi=async({collection:e,satellite:t})=>(await jt(t)).del_assets(gt(e));var Qi=e=>btoa([...e].map(t=>String.fromCharCode(t)).join(""));var pn=e=>encodeURI(e.toLowerCase().replace(/\s/g,"-"));var Qc=async e=>Di(e),Dc=async e=>Di({filename:e.data.name,...e}),Di=async({filename:e,data:t,collection:r,headers:i=[],fullPath:a,token:u,satellite:d,encoding:m})=>{let w=Kt(d?.identity),T=pn(e),j=a||`/${r}/${T}`;return await Gi({data:t,filename:pn(T),collection:r,token:u,headers:i,fullPath:j,encoding:m,satellite:{...d,identity:w}}),{downloadUrl:`${un()}${j}${u!==void 0?`?token=${u}`:""}`,fullPath:j,name:T}},Lc=async({collection:e,satellite:t,filter:r})=>{let{items:i,...a}=await Ji({collection:e,satellite:{...t,identity:Kt(t?.identity)},filter:r??{}}),u=un();return{assets:i.map(({key:{full_path:d,token:m,name:w},headers:T,encodings:j})=>{let O=vr(m);return{fullPath:d,name:w,downloadUrl:`${u}${d}${O!==void 0?`?token=${O}`:""}`,token:O,headers:T,encodings:j.reduce((Q,[at,{modified:it,sha256:bt,total_length:Mt}])=>({...Q,[at]:{modified:it,sha256:Qi(bt),total_length:Mt}}),{})}}),...a}},t0=async({storageFile:e,collection:t,satellite:r})=>Xi({collection:t,storageFile:e,satellite:{...r,identity:Kt(r?.identity)}}),e0=async({collection:e,satellite:t})=>Zi({collection:e,satellite:{...t,identity:Kt(t?.identity)}});var s0=async e=>{mt.getInstance().set(e),await dn();let t=e.workers?.auth!==void 0?zi(e.workers.auth):void 0;return[...t?[t]:[]]},f0=e=>Nt.getInstance().subscribe(e);export{f0 as authSubscribe,_c as delDoc,t0 as deleteAsset,e0 as deleteAssets,Ii as getDoc,s0 as initJuno,Lc as listAssets,bc as listDocs,$i as setDoc,Pa as signIn,hn as signOut,Qc as uploadBlob,Dc as uploadFile};
22
+ ic-request`);function Lr(e){if(typeof e!="string"||e.length<64)throw new Error("Invalid public key.");return Ae(e)}var Se=class{constructor(t,r,i){this.pubkey=t,this.expiration=r,this.targets=i}toCBOR(){return Te.value.map(Object.assign({pubkey:Te.value.bytes(this.pubkey),expiration:Te.value.u64(this.expiration.toString(16),16)},this.targets&&{targets:Te.value.array(this.targets.map(t=>Te.value.bytes(t.toUint8Array())))}))}toJSON(){return Object.assign({expiration:this.expiration.toString(16),pubkey:Jt(this.pubkey)},this.targets&&{targets:this.targets.map(t=>t.toHex())})}};async function da(e,t,r,i){let a=new Se(t.toDer(),BigInt(+r)*BigInt(1e6),i),u=new Uint8Array([...ua,...new Uint8Array(ee(a))]),d=await e.sign(u);return{delegation:a,signature:d}}var ce=class{constructor(t,r){this.delegations=t,this.publicKey=r}static async create(t,r,i=new Date(Date.now()+15*60*1e3),a={}){var u,d;let m=await da(t,r,i,a.targets);return new ce([...((u=a.previous)===null||u===void 0?void 0:u.delegations)||[],m],((d=a.previous)===null||d===void 0?void 0:d.publicKey)||t.getPublicKey().toDer())}static fromJSON(t){let{publicKey:r,delegations:i}=typeof t=="string"?JSON.parse(t):t;if(!Array.isArray(i))throw new Error("Invalid delegations.");let a=i.map(u=>{let{delegation:d,signature:m}=u,{pubkey:w,expiration:T,targets:j}=d;if(j!==void 0&&!Array.isArray(j))throw new Error("Invalid targets.");return{delegation:new Se(Lr(w),BigInt(`0x${T}`),j&&j.map(O=>{if(typeof O!="string")throw new Error("Invalid target.");return st.fromHex(O)})),signature:Lr(m)}});return new this(a,Lr(r))}static fromDelegations(t,r){return new this(t,r)}toJSON(){return{delegations:this.delegations.map(t=>{let{delegation:r,signature:i}=t,{targets:a}=r;return{delegation:Object.assign({expiration:r.expiration.toString(16),pubkey:Jt(r.pubkey)},a&&{targets:a.map(u=>u.toHex())}),signature:Jt(i)}}),publicKey:Jt(this.publicKey)}}},qe=class extends zt{constructor(t,r){super(),this._inner=t,this._delegation=r}static fromDelegation(t,r){return new this(t,r)}getDelegation(){return this._delegation}getPublicKey(){return{toDer:()=>this._delegation.publicKey}}sign(t){return this._inner.sign(t)}async transformRequest(t){let{body:r}=t,i=ca(t,["body"]),a=await ee(r);return Object.assign(Object.assign({},i),{body:{content:r,sender_sig:await this.sign(new Uint8Array([...la,...new Uint8Array(a)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}})}};function vi(e,t){for(let{delegation:a}of e.delegations)if(+new Date(Number(a.expiration/BigInt(1e6)))<=+Date.now())return!1;let r=[],i=t?.scope;i&&(Array.isArray(i)?r.push(...i.map(a=>typeof a=="string"?st.fromText(a):a)):r.push(typeof i=="string"?st.fromText(i):i));for(let a of r){let u=a.toText();for(let{delegation:d}of e.delegations){if(d.targets===void 0)continue;let m=!0;for(let w of d.targets)if(w.toText()===u){m=!1;break}if(m)return!1}}return!0}var ha=me(co()),pa=me(Zr());var Ei;(function(e){e[e.ECDSA_WITH_SHA256=-7]="ECDSA_WITH_SHA256"})(Ei||(Ei={}));var Ai=["mousedown","mousemove","keydown","touchstart","wheel"],He=class{constructor(t={}){var r;this.callbacks=[],this.idleTimeout=10*60*1e3,this.timeoutID=void 0;let{onIdle:i,idleTimeout:a=10*60*1e3}=t||{};this.callbacks=i?[i]:[],this.idleTimeout=a;let u=this._resetTimer.bind(this);window.addEventListener("load",u,!0),Ai.forEach(function(m){document.addEventListener(m,u,!0)});let d=(m,w)=>{let T;return(...j)=>{let O=this,Q=function(){T=void 0,m.apply(O,j)};clearTimeout(T),T=window.setTimeout(Q,w)}};if(t?.captureScroll){let m=d(u,(r=t?.scrollDebounce)!==null&&r!==void 0?r:100);window.addEventListener("scroll",m,!0)}u()}static create(t={}){return new this(t)}registerCallback(t){this.callbacks.push(t)}exit(){clearTimeout(this.timeoutID),window.removeEventListener("load",this._resetTimer,!0);let t=this._resetTimer.bind(this);Ai.forEach(function(r){document.removeEventListener(r,t,!0)}),this.callbacks.forEach(r=>r())}_resetTimer(){let t=this.exit.bind(this);window.clearTimeout(this.timeoutID),this.timeoutID=window.setTimeout(t,this.idleTimeout)}};var xa=(e,t)=>t.some(r=>e instanceof r),Ti,Si;function ya(){return Ti||(Ti=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function ma(){return Si||(Si=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var Oi=new WeakMap,en=new WeakMap,Ui=new WeakMap,tn=new WeakMap,nn=new WeakMap;function wa(e){let t=new Promise((r,i)=>{let a=()=>{e.removeEventListener("success",u),e.removeEventListener("error",d)},u=()=>{r(kt(e.result)),a()},d=()=>{i(e.error),a()};e.addEventListener("success",u),e.addEventListener("error",d)});return t.then(r=>{r instanceof IDBCursor&&Oi.set(r,e)}).catch(()=>{}),nn.set(t,e),t}function ga(e){if(en.has(e))return;let t=new Promise((r,i)=>{let a=()=>{e.removeEventListener("complete",u),e.removeEventListener("error",d),e.removeEventListener("abort",d)},u=()=>{r(),a()},d=()=>{i(e.error||new DOMException("AbortError","AbortError")),a()};e.addEventListener("complete",u),e.addEventListener("error",d),e.addEventListener("abort",d)});en.set(e,t)}var rn={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return en.get(e);if(t==="objectStoreNames")return e.objectStoreNames||Ui.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return kt(e[t])},set(e,t,r){return e[t]=r,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};function Bi(e){rn=e(rn)}function _a(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...r){let i=e.call(wr(this),t,...r);return Ui.set(i,t.sort?t.sort():[t]),kt(i)}:ma().includes(e)?function(...t){return e.apply(wr(this),t),kt(Oi.get(this))}:function(...t){return kt(e.apply(wr(this),t))}}function ba(e){return typeof e=="function"?_a(e):(e instanceof IDBTransaction&&ga(e),xa(e,ya())?new Proxy(e,rn):e)}function kt(e){if(e instanceof IDBRequest)return wa(e);if(tn.has(e))return tn.get(e);let t=ba(e);return t!==e&&(tn.set(e,t),nn.set(t,e)),t}var wr=e=>nn.get(e);function Ni(e,t,{blocked:r,upgrade:i,blocking:a,terminated:u}={}){let d=indexedDB.open(e,t),m=kt(d);return i&&d.addEventListener("upgradeneeded",w=>{i(kt(d.result),w.oldVersion,w.newVersion,kt(d.transaction),w)}),r&&d.addEventListener("blocked",w=>r(w.oldVersion,w.newVersion,w)),m.then(w=>{u&&w.addEventListener("close",()=>u()),a&&w.addEventListener("versionchange",T=>a(T.oldVersion,T.newVersion,T))}).catch(()=>{}),m}var va=["get","getKey","getAll","getAllKeys","count"],Ea=["put","add","delete","clear"],on=new Map;function Ri(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(on.get(t))return on.get(t);let r=t.replace(/FromIndex$/,""),i=t!==r,a=Ea.includes(r);if(!(r in(i?IDBIndex:IDBObjectStore).prototype)||!(a||va.includes(r)))return;let u=async function(d,...m){let w=this.transaction(d,a?"readwrite":"readonly"),T=w.store;return i&&(T=T.index(m.shift())),(await Promise.all([T[r](...m),a&&w.done]))[0]};return on.set(t,u),u}Bi(e=>({...e,get:(t,r,i)=>Ri(t,r)||e.get(t,r,i),has:(t,r)=>!!Ri(t,r)||e.has(t,r)}));var Ci="auth-client-db",Fi="ic-keyval",Aa=async(e=Ci,t=Fi,r)=>(gr&&(localStorage!=null&&localStorage.getItem(Bt))&&(localStorage.removeItem(Bt),localStorage.removeItem(Rt)),await Ni(e,r,{upgrade:i=>{i.objectStoreNames,i.objectStoreNames.contains(t)&&i.clear(t),i.createObjectStore(t)}}));async function Ta(e,t,r){return await e.get(t,r)}async function Sa(e,t,r,i){return await e.put(t,i,r)}async function Oa(e,t,r){return await e.delete(t,r)}var ue=class{constructor(t,r){this._db=t,this._storeName=r}static async create(t){let{dbName:r=Ci,storeName:i=Fi,version:a=1}=t??{},u=await Aa(r,i,a);return new ue(u,i)}async set(t,r){return await Sa(this._db,this._storeName,t,r)}async get(t){var r;return(r=await Ta(this._db,this._storeName,t))!==null&&r!==void 0?r:null}async remove(t){return await Oa(this._db,this._storeName,t)}};var Rt="identity",Bt="delegation",Pi="iv",Ua=1,gr=typeof window<"u",Ie=class{constructor(t="ic-",r){this.prefix=t,this._localStorage=r}get(t){return Promise.resolve(this._getLocalStorage().getItem(this.prefix+t))}set(t,r){return this._getLocalStorage().setItem(this.prefix+t,r),Promise.resolve()}remove(t){return this._getLocalStorage().removeItem(this.prefix+t),Promise.resolve()}_getLocalStorage(){if(this._localStorage)return this._localStorage;let t=typeof window>"u"&&typeof window>"u"?typeof self>"u"?void 0:self.localStorage:window.localStorage;if(!t)throw new Error("Could not find local storage.");return t}},$e=class{get _db(){return new Promise(t=>{if(this.initializedDb){t(this.initializedDb);return}ue.create({version:Ua}).then(r=>{this.initializedDb=r,t(r)})})}async get(t){return await(await this._db).get(t)}async set(t,r){await(await this._db).set(t,r)}async remove(t){await(await this._db).remove(t)}};var Ba="https://identity.ic0.app",Ra="#authorize",an="ECDSA",sn="Ed25519",Na=500,Ca="UserInterrupt",_r=class{constructor(t,r,i,a,u,d,m,w){var T;this._identity=t,this._key=r,this._chain=i,this._storage=a,this.idleManager=u,this._createOptions=d,this._idpWindow=m,this._eventHandler=w;let j=this.logout.bind(this),O=d?.idleOptions;!O?.onIdle&&!O?.disableDefaultIdleCallback&&((T=this.idleManager)===null||T===void 0||T.registerCallback(()=>{j(),location.reload()}))}static async create(t={}){var r,i,a;let u=(r=t.storage)!==null&&r!==void 0?r:new $e,d=(i=t.keyType)!==null&&i!==void 0?i:an,m=null;if(t.identity)m=t.identity;else{let O=await u.get(Rt);if(!O&&gr)try{let Q=new Ie,at=await Q.get(Bt),it=await Q.get(Rt);at&&it&&d===an&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await u.set(Bt,at),await u.set(Rt,it),O=at,await Q.remove(Bt),await Q.remove(Rt))}catch(Q){console.error("error while attempting to recover localstorage: "+Q)}if(O)try{typeof O=="object"?d===sn&&typeof O=="string"?m=await Ut.fromJSON(O):m=await fe.fromKeyPair(O):typeof O=="string"&&(m=Ut.fromJSON(O))}catch{}}let w=new ie,T=null;if(m)try{let O=await u.get(Bt);if(typeof O=="object"&&O!==null)throw new Error("Delegation chain is incorrectly stored. A delegation chain should be stored as a string.");t.identity?w=t.identity:O&&(T=ce.fromJSON(O),vi(T)?w=qe.fromDelegation(m,T):(await fn(u),m=null))}catch(O){console.error(O),await fn(u),m=null}let j;return!((a=t.idleOptions)===null||a===void 0)&&a.disableIdle?j=void 0:(T||t.identity)&&(j=He.create(t.idleOptions)),m||(d===sn?(m=await Ut.generate(),await u.set(Rt,JSON.stringify(m.toJSON()))):(t.storage&&d===an&&console.warn(`You are using a custom storage provider that may not support CryptoKey storage. If you are using a custom storage provider that does not support CryptoKey storage, you should use '${sn}' as the key type, as it can serialize to a string`),m=await fe.generate(),await u.set(Rt,m.getKeyPair()))),new this(w,m,T,u,j,t)}_handleSuccess(t,r){var i,a,u;let d=t.delegations.map(T=>({delegation:new Se(T.delegation.pubkey,T.delegation.expiration,T.delegation.targets),signature:T.signature.buffer})),m=ce.fromDelegations(d,t.userPublicKey.buffer),w=this._key;if(w){if(this._chain=m,this._identity=qe.fromDelegation(w,this._chain),(i=this._idpWindow)===null||i===void 0||i.close(),!this.idleManager){let T=(a=this._createOptions)===null||a===void 0?void 0:a.idleOptions;this.idleManager=He.create(T),!T?.onIdle&&!T?.disableDefaultIdleCallback&&((u=this.idleManager)===null||u===void 0||u.registerCallback(()=>{this.logout(),location.reload()}))}r?.(),this._removeEventListener(),delete this._idpWindow}}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null}async login(t){var r,i,a,u;let d=BigInt(8)*BigInt(36e11),m=new URL(((r=t?.identityProvider)===null||r===void 0?void 0:r.toString())||Ba);m.hash=Ra,(i=this._idpWindow)===null||i===void 0||i.close(),this._removeEventListener(),this._eventHandler=this._getEventHandler(m,Object.assign({maxTimeToLive:(a=t?.maxTimeToLive)!==null&&a!==void 0?a:d},t)),window.addEventListener("message",this._eventHandler),this._idpWindow=(u=window.open(m.toString(),"idpWindow",t?.windowOpenerFeatures))!==null&&u!==void 0?u:void 0;let w=()=>{this._idpWindow&&(this._idpWindow.closed?this._handleFailure(Ca,t?.onError):setTimeout(w,Na))};w()}_getEventHandler(t,r){return async i=>{var a,u,d;if(i.origin!==t.origin){console.warn(`WARNING: expected origin '${t.origin}', got '${i.origin}' (ignoring)`);return}let m=i.data;switch(m.kind){case"authorize-ready":{let w={kind:"authorize-client",sessionPublicKey:new Uint8Array((a=this._key)===null||a===void 0?void 0:a.getPublicKey().toDer()),maxTimeToLive:r?.maxTimeToLive,derivationOrigin:(u=r?.derivationOrigin)===null||u===void 0?void 0:u.toString()};(d=this._idpWindow)===null||d===void 0||d.postMessage(w,t.origin);break}case"authorize-client-success":try{this._handleSuccess(m,r?.onSuccess),this._chain&&await this._storage.set(Bt,JSON.stringify(this._chain.toJSON()))}catch(w){this._handleFailure(w.message,r?.onError)}break;case"authorize-client-failure":this._handleFailure(m.text,r?.onError);break;default:break}}}_handleFailure(t,r){var i;(i=this._idpWindow)===null||i===void 0||i.close(),r?.(t),this._removeEventListener(),delete this._idpWindow}_removeEventListener(){this._eventHandler&&window.removeEventListener("message",this._eventHandler),this._eventHandler=void 0}async logout(t={}){if(await fn(this._storage),this._identity=new ie,this._chain=null,t.returnTo)try{window.history.pushState({},"",t.returnTo)}catch{window.location.href=t.returnTo}}};async function fn(e){await e.remove(Rt),await e.remove(Bt),await e.remove(Pi)}var cn=()=>_r.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}});var br=()=>typeof window<"u",un=()=>{let e=mt.getInstance().get()?.satelliteId??"unknown";return mt.getInstance().localIdentity()?`http://${e}.localhost:8000`:`https://${e}.icp0.io`};var ki=({width:e,height:t})=>{if(!br()||$t(window)||$t(window.top))return;let{top:{innerWidth:r,innerHeight:i}}=window,a=i/2+screenY-t/2,u=r/2+screenX-e/2;return`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=${e}, height=${t}, top=${a}, left=${u}`};var gt=e=>e?[e]:[],vr=e=>e?.[0],ji=async e=>{let t=new Blob([JSON.stringify(e)],{type:"application/json; charset=utf-8"});return new Uint8Array(await t.arrayBuffer())},ln=async e=>{let t=new Blob([e instanceof Uint8Array?e:new Uint8Array(e)],{type:"application/json; charset=utf-8"});return JSON.parse(await t.text())};var Er=({matcher:e,paginate:t,order:r})=>({matcher:gt(e),paginate:gt($t(t)?void 0:{start_after:gt(t.startAfter),limit:gt($t(t.limit)?void 0:BigInt(t.limit))}),order:gt($t(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}})});var Ki=({IDL:e})=>{let t=e.Record({controllers:e.Vec(e.Principal)}),r=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),i=e.Record({updated_at:e.Opt(e.Nat64)}),a=e.Record({headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text))))}),u=e.Record({storage:a}),d=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),created_at:e.Nat64}),m=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text))}),w=e.Record({token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),T=e.Variant({Callback:e.Record({token:w,callback:e.Func([],[],[])})}),j=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(T),status_code:e.Nat16}),O=e.Record({token:e.Opt(w),body:e.Vec(e.Nat8)}),Q=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,encoding_type:e.Opt(e.Text),full_path:e.Text}),at=e.Record({batch_id:e.Nat}),it=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),bt=e.Record({field:it,desc:e.Bool}),Mt=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),Dt=e.Record({order:e.Opt(bt),matcher:e.Opt(e.Text),paginate:e.Opt(Mt)}),le=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,full_path:e.Text}),Zt=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),Yt=e.Record({key:le,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,Zt)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64}),Vt=e.Record({matches_length:e.Nat64,length:e.Nat64,items:e.Vec(e.Tuple(e.Text,Yt))}),We=e.Record({updated_at:e.Nat64,created_at:e.Nat64,bn_id:e.Opt(e.Text)}),ze=e.Record({matches_length:e.Nat64,length:e.Nat64,items:e.Vec(e.Tuple(e.Text,d))}),Oe=e.Variant({Db:e.Null,Storage:e.Null}),Qt=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),de=e.Record({updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:Qt,created_at:e.Nat64,write:Qt}),Ue=e.Record({updated_at:e.Opt(e.Nat64),data:e.Vec(e.Nat8)}),Ge=e.Record({updated_at:e.Opt(e.Nat64),max_size:e.Opt(e.Nat),read:Qt,write:Qt}),Be=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat}),Re=e.Record({chunk_id:e.Nat});return e.Service({add_controllers:e.Func([t],[e.Vec(e.Principal)],[]),commit_asset_upload:e.Func([r],[],[]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Opt(e.Text)],[],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,i],[],[]),get_config:e.Func([],[u],[]),get_doc:e.Func([e.Text,e.Text],[e.Opt(d)],["query"]),http_request:e.Func([m],[j],["query"]),http_request_streaming_callback:e.Func([w],[O],["query"]),init_asset_upload:e.Func([Q],[at],[]),list_assets:e.Func([e.Opt(e.Text),Dt],[Vt],["query"]),list_controllers:e.Func([],[e.Vec(e.Principal)],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,We))],["query"]),list_docs:e.Func([e.Text,Dt],[ze],["query"]),list_rules:e.Func([Oe],[e.Vec(e.Tuple(e.Text,de))],["query"]),remove_controllers:e.Func([t],[e.Vec(e.Principal)],[]),set_config:e.Func([u],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_doc:e.Func([e.Text,e.Text,Ue],[d],[]),set_rule:e.Func([Oe,e.Text,Ge],[],[]),upload_asset_chunk:e.Func([Be],[Re],[]),version:e.Func([],[e.Text],["query"])})};var Mi=async({satelliteId:e,idlFactory:t,identity:r,fetch:i,env:a="prod"})=>{let u=a==="dev"||mt.getInstance().localIdentity(),d=u?"http://127.0.0.1:8000/":"https://icp0.io",m=new ae({identity:r,...d&&{host:d},...i&&{fetch:i}});return u&&await m.fetchRootKey(),Gt.createActor(t,{agent:m,canisterId:e})};var jt=async({satelliteId:e,...t})=>{let{satelliteId:r}=e!==void 0?{satelliteId:e}:mt.getInstance().get()??{satelliteId:void 0};if(!r)throw new Error("No satellite principal defined.");return Mi({satelliteId:r,idlFactory:Ki,...t})};var Yi=async({collection:e,key:t,satellite:r})=>{let i=await jt(r),a=vr(await i.get_doc(e,t));if(!a)return;let u=await ln(a.data);return{key:t,data:u,created_at:a.created_at,updated_at:a.updated_at}},Vi=async({collection:e,doc:t,satellite:r})=>{let i=await jt(r),{key:a,data:u,updated_at:d}=t,m=await i.set_doc(e,a,{data:await ji(u),updated_at:gt(d)});return{key:a,data:u,created_at:m.created_at,updated_at:m.updated_at}},qi=async({collection:e,doc:t,satellite:r})=>{let i=await jt(r),{key:a,updated_at:u}=t;return i.del_doc(e,a,{updated_at:gt(u)})},Hi=async({collection:e,filter:t,satellite:r})=>{let i=await jt(r),{items:a,matches_length:u,length:d}=await i.list_docs(e,Er(t)),m=[];for(let[w,T]of a)m.push({key:w,data:await ln(T.data),created_at:T.created_at,updated_at:T.updated_at});return{items:m,length:d,matches_length:u}};var Kt=e=>{if(e!==void 0)return e;let t=Ar();if(!t)throw new Error("No internet identity.");return t};var Ii=async({satellite:e,...t})=>{let r=Kt(e?.identity);return Yi({...t,satellite:{...e,identity:r}})},$i=async({satellite:e,...t})=>{let r=Kt(e?.identity);return Vi({...t,satellite:{...e,identity:r}})},_c=async({satellite:e,...t})=>{let r=Kt(e?.identity);return qi({...t,satellite:{...e,identity:r}})},bc=async({satellite:e,...t})=>{let r=Kt(e?.identity);return Hi({...t,satellite:{...e,identity:r}})};var Wi=async()=>{let e=Ar();if(!e)throw new Error("No internet identity.");let t=e.getPrincipal().toText(),r=await Ii({collection:"#user",key:t});return r||await Fa({userId:t,principal:e.getPrincipal()})},Fa=async({userId:e,principal:t})=>{let r=new Date;return $i({collection:"#user",doc:{key:e,data:{principal:t,created_at:r,updated_at:r}}})};var Xt,dn=async()=>{if(Xt=Xt??await cn(),!(await Xt?.isAuthenticated()||!1))return;let t=await Wi();Nt.getInstance().set(t)},Pa=async e=>new Promise(async(t,r)=>{Xt=Xt??await cn(),await Xt.login({onSuccess:async()=>{await dn(),t()},onError:i=>r(i),maxTimeToLive:e?.maxTimeToLive??jn,...mt.getInstance().localIdentity()&&{identityProvider:`http://${mt.getInstance().get()?.localIdentityCanisterId}.localhost:8000?#authorize`},...e?.derivationOrigin!==void 0&&{derivationOrigin:e.derivationOrigin},...e?.windowed!==!1&&{windowOpenerFeatures:ki({width:Kn,height:Mn})}})}),hn=async()=>{await Xt?.logout(),Xt=void 0,Nt.getInstance().reset()},Ar=()=>Xt?.getIdentity();var zi=e=>{let t=e===!0?"./workers/auth.worker.js":e,r=new Worker(t),i=async()=>{kn({message:"junoSignOutAuthTimer"}),await hn()};return r.onmessage=async({data:a})=>{let{msg:u}=a;switch(u){case"junoSignOutAuthTimer":await i();return}},Nt.getInstance().subscribe(a=>{if($t(a)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var Gi=async({data:e,filename:t,collection:r,headers:i,token:a,fullPath:u,encoding:d,satellite:m})=>{let w=await jt(m),{batch_id:T}=await w.init_asset_upload({collection:r,full_path:u,name:t,token:gt(a),encoding_type:gt(d)}),j=7e5,O=[],Q=br()?new Blob([await e.arrayBuffer()]):e;for(let it=0;it<Q.size;it+=j){let bt=Q.slice(it,it+j);O.push(await ka({batchId:T,chunk:bt,actor:w}))}let at=i.find(([it,bt])=>it.toLowerCase()==="content-type")===void 0&&e.type!==void 0&&e.type!==""?[["Content-Type",e.type]]:void 0;await w.commit_asset_upload({batch_id:T,chunk_ids:O.map(({chunk_id:it})=>it),headers:[...i,...at||[]]})},ka=async({batchId:e,chunk:t,actor:r})=>r.upload_asset_chunk({batch_id:e,content:new Uint8Array(await t.arrayBuffer())}),Ji=async({collection:e,satellite:t,filter:r})=>{let i=await jt(t),{items:a,matches_length:u,length:d}=await i.list_assets(gt(e),Er(r));return{items:a.map(([m,w])=>w),length:d,matches_length:u}},Xi=async({collection:e,storageFile:t,satellite:r})=>{let i=await jt(r),{fullPath:a}=t;return i.del_asset(e,a)},Zi=async({collection:e,satellite:t})=>(await jt(t)).del_assets(gt(e));var Qi=e=>btoa([...e].map(t=>String.fromCharCode(t)).join(""));var pn=e=>encodeURI(e.toLowerCase().replace(/\s/g,"-"));var Qc=async e=>Di(e),Dc=async e=>Di({filename:e.data.name,...e}),Di=async({filename:e,data:t,collection:r,headers:i=[],fullPath:a,token:u,satellite:d,encoding:m})=>{let w=Kt(d?.identity),T=pn(e),j=a||`/${r}/${T}`;return await Gi({data:t,filename:pn(T),collection:r,token:u,headers:i,fullPath:j,encoding:m,satellite:{...d,identity:w}}),{downloadUrl:`${un()}${j}${u!==void 0?`?token=${u}`:""}`,fullPath:j,name:T}},Lc=async({collection:e,satellite:t,filter:r})=>{let{items:i,...a}=await Ji({collection:e,satellite:{...t,identity:Kt(t?.identity)},filter:r??{}}),u=un();return{assets:i.map(({key:{full_path:d,token:m,name:w},headers:T,encodings:j})=>{let O=vr(m);return{fullPath:d,name:w,downloadUrl:`${u}${d}${O!==void 0?`?token=${O}`:""}`,token:O,headers:T,encodings:j.reduce((Q,[at,{modified:it,sha256:bt,total_length:Mt}])=>({...Q,[at]:{modified:it,sha256:Qi(bt),total_length:Mt}}),{})}}),...a}},t0=async({storageFile:e,collection:t,satellite:r})=>Xi({collection:t,storageFile:e,satellite:{...r,identity:Kt(r?.identity)}}),e0=async({collection:e,satellite:t})=>Zi({collection:e,satellite:{...t,identity:Kt(t?.identity)}});var s0=async e=>{mt.getInstance().set(e),await dn();let t=e.workers?.auth!==void 0?zi(e.workers.auth):void 0;return[...t?[t]:[]]},f0=e=>Nt.getInstance().subscribe(e);export{f0 as authSubscribe,_c as delDoc,t0 as deleteAsset,e0 as deleteAssets,Ii as getDoc,s0 as initJuno,Lc as listAssets,bc as listDocs,$i as setDoc,Pa as signIn,hn as signOut,Qc as uploadBlob,Dc as uploadFile};
23
23
  /*! Bundled license information:
24
24
 
25
25
  buffer/index.js: