@junobuild/core-peer 2.2.0 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/browser/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{assertNonNullish as ci}from"@dfinity/utils";import{uint8ArrayToArrayOfNumber as Dr}from"@dfinity/utils";import{DER_COSE_OID as Ur,wrapDER as kr}from"@dfinity/agent";import{uint8ArrayToBase64 as jr}from"@dfinity/utils";import{Cbor as Ra,SignIdentity as Xr}from"@dfinity/agent";import{arrayBufferToUint8Array as K,isNullish as te,uint8ArraysEqual as Qr}from"@dfinity/utils";import{isNullish as ao}from"@dfinity/utils";import{nonNullish as co}from"@dfinity/utils";var Sr=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let a=e.slice(37,53),r=Cr({bytes:a});return"aaguid"in r?{aaguidBytes:a,aaguidText:r.aaguid}:{unknownProvider:null}},Cr=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let a=(e instanceof Uint8Array?Dr(e):e).map(r=>r.toString(16).padStart(2,"0")).join("").replace(/^(.{8})(.{4})(.{4})(.{4})(.{12})$/,"$1-$2-$3-$4-$5");return a==="00000000-0000-0000-0000-000000000000"?{unknownProvider:null}:{aaguid:a}};function Lr(e){let a=new DataView(new ArrayBuffer(2)),r=e.slice(53,55);[...new Uint8Array(r)].forEach((i,n)=>a.setUint8(n,i));let o=a.getUint16(0);return e.slice(55+o)}function qr(e){return kr(e,Ur)}var Br=class{constructor(e){this._cose=e,this.#e=qr(e)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},Fa=class{#e;#a;constructor({rawId:e,cose:a}){this.#e=e,this.#a=new Br(a)}getPublicKey(){return this.#a}getCredentialId(){return this.#e}getCredentialIdText(){return jr(this.#e)}},Mr=class extends Fa{#e;#a;constructor({authData:e,...a}){super(a);let r=Sr({authData:e});this.#e="aaguidText"in r?r.aaguidText:void 0,this.#a="aaguidBytes"in r?r.aaguidBytes:void 0}getAAGUID(){return this.#a}getAAGUIDText(){return this.#e}},Jr=class extends Fa{},Kr=class extends Error{},zr=class extends Error{},Wr=class extends Error{},Gr=class extends Error{},Hr=class extends Error{},$r=class extends Error{},Yr=class extends Error{},ya=class extends Error{};var Zr={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},eo=6e4,Aa=()=>window.crypto.getRandomValues(new Uint8Array(16)),ro=()=>Aa(),oo=()=>Aa(),io=()=>{let{location:{href:e}}=window,a=URL.parse(e);if(ao(a))throw new Kr;let{hostname:r}=a;return r},Va=({appId:e})=>e?.id??io(),no=({appId:e,user:a}={})=>{let{document:{title:r}}=window,o=()=>({rp:{name:e?.name??r,id:Va({appId:e})}}),i=()=>({user:{id:oo(),name:a?.name??a?.displayName??r,displayName:a?.displayName??r}});return{attestation:"direct",challenge:ro(),...o(),...i(),pubKeyCredParams:Object.values(Zr).map(n=>({type:"public-key",alg:n})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},so=(e={})=>({rpId:Va(e),allowCredentials:[],userVerification:"required"}),aa=async({fn:e,step:a,onProgress:r})=>{r?.({step:a,state:"in_progress"});try{let o=await e();return r?.({step:a,state:"success"}),o}catch(o){throw r?.({step:a,state:"error"}),o}},I=(e=>(e[e.RequestingUserCredential=0]="RequestingUserCredential",e[e.FinalizingCredential=1]="FinalizingCredential",e[e.Signing=2]="Signing",e))(I||{}),Pa=({timeout:e})=>AbortSignal.timeout(e??eo),to=async({challenge:e,credentialIds:a,passkeyOptions:r,timeout:o})=>await navigator.credentials.get({publicKey:{...so(r),challenge:e.buffer,allowCredentials:(a??[]).map(i=>({id:i.buffer,type:"public-key"}))},signal:Pa({timeout:o})}),ga=e=>{if(e.status!=="initialized")throw new zr},ha=e=>{if(te(e))throw new Wr},fa=({type:e})=>{if(e!=="public-key")throw new Gr},ra=class ce extends Xr{#e;#a;constructor({onProgress:a,...r}){if(super(),this.#e=a,"retrievePublicKey"in r){let{retrievePublicKey:o}=r;this.#a={status:"pending",retrievePublicKey:o};return}this.#a=ce.#r({credential:new Mr(r)})}static#r({credential:a}){return{status:"initialized",credential:a}}static async createWithNewCredential({passkeyOptions:a,timeout:r,...o}={}){let i=await navigator.credentials.create({publicKey:no(a),signal:Pa({timeout:r})});ha(i),fa(i);let{response:{attestationObject:n},rawId:s}=i;if(te(n))throw new Hr;let{authData:t}=Ra.decode(K(n)),c=Lr(t);return new ce({...o,rawId:K(s),cose:c,authData:t})}static async createWithExistingCredential(a){return new ce(a)}getPublicKey(){ga(this.#a);let{credential:a}=this.#a;return a.getPublicKey()}getCredential(){ga(this.#a);let{credential:a}=this.#a;return a}async sign(a){let r=await aa({fn:async()=>{let o=await to({challenge:a,...this.#a.status==="initialized"&&{credentialIds:[this.#a.credential.getCredentialId()]}});return ha(o),fa(o),o},step:0,onProgress:this.#e});return await aa({fn:async()=>{let{rawId:o}=r;if(this.#a.status==="initialized"){if(!Qr({a:this.#a.credential.getCredentialId(),b:K(o)}))throw new $r;return}let{retrievePublicKey:i}=this.#a,n=await i({credentialId:K(o)});this.#a=ce.#r({credential:new Jr({rawId:K(o),cose:n})})},step:1,onProgress:this.#e}),await aa({fn:async()=>{let{response:o}=r,{clientDataJSON:i}=o,{authenticatorData:n,signature:s}="authenticatorData"in o&&"signature"in o?o:{};if(te(n))throw new ya;if(te(s))throw new ya;let t=Ra.encode({authenticator_data:n,client_data_json:new TextDecoder().decode(i),signature:K(s)});if(te(t))throw new Yr;return Object.assign(t,{__signature__:void 0}),t},step:2,onProgress:this.#e})}},lo=async()=>co(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;import{isNullish as ei}from"@dfinity/utils";var z=class{callbacks=[];populate(a){this.callbacks.forEach(({callback:r})=>r(a))}subscribe(a){let r=Symbol();return this.callbacks.push({id:r,callback:a}),()=>this.callbacks=this.callbacks.filter(({id:o})=>o!==r)}};var O=class e extends z{static instance;authUser=null;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(a){this.authUser=a,this.populate(a)}get(){return this.authUser}subscribe(a){let r=super.subscribe(a);return a(this.authUser),r}reset(){this.authUser=null,this.populate(this.authUser)}};var oa=({message:e,detail:a})=>{let r=new CustomEvent(e,{detail:a,bubbles:!0});document.dispatchEvent(r)};import{isNullish as zo}from"@dfinity/utils";import{Actor as uo}from"@dfinity/agent";import{isNullish as na}from"@dfinity/utils";import{isNullish as ia}from"@dfinity/utils";import{HttpAgent as po}from"@dfinity/agent";import{nonNullish as wa}from"@dfinity/utils";var W="http://127.0.0.1:5987",Ea="rdmx6-jaaaa-aaaaa-aaadq-cai";var va=async({identity:e,container:a})=>{let o=wa(a)&&a!==!1?a===!0?W:a:"https://icp-api.io",i=wa(a);return await po.create({identity:e,shouldFetchRootKey:i,host:o})};var G=class e{static instance;#e=void 0;constructor(){}static getInstance(){return ia(e.instance)&&(e.instance=new e),e.instance}async getAgent({identity:a,...r}){let o=a.getPrincipal().toText();if(ia(this.#e)||ia(this.#e[o])){let i=await va({identity:a,...r});return this.#e={...this.#e??{},[o]:i},i}return this.#e[o]}reset(){this.#e=null}};var H=class e{static instance;#e=void 0;constructor(){}static getInstance(){return na(e.instance)&&(e.instance=new e),e.instance}async getActor({satelliteId:a,identity:r,actorKey:o,...i}){let n=`${o}#${r.getPrincipal().toText()}#${a};`;if(na(this.#e)||na(this.#e[n])){let s=await this.createActor({satelliteId:a,identity:r,...i});return this.#e={...this.#e??{},[n]:s},s}return this.#e[n]}reset(){this.#e=null}async createActor({idlFactory:a,satelliteId:r,...o}){let i=await G.getInstance().getAgent(o);return uo.createActor(a,{agent:i,canisterId:r})}};var Ia=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),_o=()=>{window.addEventListener("beforeunload",Ia,{capture:!0})},mo=()=>{window.removeEventListener("beforeunload",Ia,{capture:!0})},sa=async({fn:e})=>{try{return _o(),await e()}finally{mo()}};import{isEmptyString as yo,isNullish as Ro,nonNullish as Ma}from"@dfinity/utils";var N=class e extends z{static instance;env;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(a){this.env=a,this.populate(a)}get(){return this.env}reset(){this.env=null}subscribe(a){let r=super.subscribe(a);return a(this.env),r}};var ba=BigInt(144e11),Da=!1,Sa={width:576,height:576},Ca={width:424,height:576},Ua={width:505,height:705},le="internetcomputer.org",ka="ic0.app",La="id.ai";import{isNullish as Ba}from"@dfinity/utils";import{jsonReplacer as To,jsonReviver as No}from"@dfinity/utils";var qa=async e=>{let a=new Blob([JSON.stringify(e,To)],{type:"application/json; charset=utf-8"});return new Uint8Array(await a.arrayBuffer())},_e=async e=>{let a=new Blob([e instanceof Uint8Array?e:new Uint8Array(e)],{type:"application/json; charset=utf-8"});return JSON.parse(await a.text(),No)},me=()=>typeof window<"u";var Te=({width:e,height:a})=>{if(!me()||Ba(window)||Ba(window.top))return;let{top:{innerWidth:r,innerHeight:o}}=window,i=o/2+screenY-a/2,n=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=${a}, top=${i}, left=${n}`};import{ERROR_USER_INTERRUPT as Oo}from"@dfinity/auth-client";import{isNullish as xo}from"@dfinity/utils";var f=async({fn:e,step:a,onProgress:r})=>{r?.({step:a,state:"in_progress"});try{let o=await e();return r?.({step:a,state:"success"}),o}catch(o){throw r?.({step:a,state:"error"}),o}};var ja=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))(ja||{});var Ne=class extends Error{},M=class extends Error{},Oe=class extends Error{},xe=class extends Error{},ye=class extends Error{},Re=class extends Error{},ge=class extends Error{},he=class extends Error{};var $=class{async signIn({options:a,authClient:r,initAuth:o}){await f({fn:async()=>await this.#e({options:a,authClient:r}),step:0,onProgress:a?.onProgress}),await f({fn:async()=>await o({provider:this.id}),step:1,onProgress:a?.onProgress})}#e({options:a,authClient:r}){return new Promise(async(o,i)=>{if(xo(r)){i(new M("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:o,onError:n=>{if(n===Oo){i(new Oe(n));return}i(new Ne(n))},maxTimeToLive:a?.maxTimeToLiveInNanoseconds??ba,allowPinAuthentication:a?.allowPin??Da,...a?.derivationOrigin!==void 0&&{derivationOrigin:a.derivationOrigin},...this.signInOptions({windowed:a?.windowed})})})}};var fe=class extends ${#e;constructor({domain:a}){super(),this.#e=a}get id(){return"internet_identity"}signInOptions({windowed:a}){let o=(()=>{let n=N.getInstance().get()?.container;if(Ro(n)||n===!1){let u=[le,ka].includes(this.#e??le);return yo(this.#e)?`https://identity.${le}`:u?`https://identity.${this.#e??le}`:`https://${this.#e}`}let s=N.getInstance().get(),t=Ma(s)&&Ma(s?.internetIdentityId)?s.internetIdentityId:Ea,{host:c,protocol:p}=new URL(n===!0?W:n);return/apple/i.test(navigator?.vendor)?`${p}//${c}?canisterId=${t}`:`${p}//${t}.${c.replace("127.0.0.1","localhost")}`})(),i=URL.parse(o)?.hostname?.includes(La)===!0;return{...a!==!1&&{windowOpenerFeatures:Te(i?Ca:Sa)},identityProvider:o}}};var Fe=class extends ${#e;#a;constructor({appName:a,logoUrl:r}){super(),this.#e=a,this.#a=r}get id(){return"nfid"}signInOptions({windowed:a}){return{...a!==!1&&{windowOpenerFeatures:Te(Ua)},identityProvider:`https://nfid.one/authenticate/?applicationName=${encodeURI(this.#e)}&applicationLogo=${encodeURI(this.#a)}`}}};import{AnonymousIdentity as vo}from"@dfinity/agent";import{IdbStorage as Io,KEY_STORAGE_DELEGATION as bo,KEY_STORAGE_KEY as Do}from"@dfinity/auth-client";import{DelegationChain as So,DelegationIdentity as Co,DER_COSE_OID as Uo,ECDSAKeyIdentity as ko,unwrapDER as Lo}from"@dfinity/identity";import{isNullish as _a,uint8ArrayToBase64 as qo}from"@dfinity/utils";var F={certified:!1};import{AnonymousIdentity as go}from"@dfinity/agent";import{nonNullish as ho}from"@dfinity/utils";var l=e=>ho(e)?e:Ae()??new go;import{fromNullable as X,isNullish as Ao,nonNullish as Vo}from"@dfinity/utils";import{assertNonNullish as fo}from"@dfinity/utils";import{Actor as In}from"@dfinity/agent";import{isNullish as Dn}from"@dfinity/utils";import{nonNullish as Cn}from"@dfinity/utils";import{HttpAgent as kn}from"@dfinity/agent";var Ja=({IDL:e})=>{let a=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),r=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),o=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),i=e.Record({field:o,desc:e.Bool}),n=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),s=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(n),description:e.Opt(e.Text),created_at:e.Opt(n)}),t=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),c=e.Record({order:e.Opt(i),owner:e.Opt(e.Principal),matcher:e.Opt(s),paginate:e.Opt(t)}),p=e.Record({controllers:e.Vec(e.Principal)}),u=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),_=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:u,expires_at:e.Opt(e.Nat64)}),d=e.Record({version:e.Opt(e.Nat64)}),T=e.Variant({Db:e.Null,Storage:e.Null}),h=e.Record({version:e.Opt(e.Nat64)}),A=e.Record({proposal_ids:e.Vec(e.Nat)}),R=e.Record({cycles:e.Nat,destination_id:e.Principal}),J=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),Q=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),V=e.Record({key:J,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,Q)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),D=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),S=e.Record({allowed_callers:e.Vec(e.Principal)}),P=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(D),rules:e.Opt(S)}),E=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),C=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(E)}),Z=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),ee=e.Variant({Deny:e.Null,Allow:e.Null}),ae=e.Record({status_code:e.Nat16,location:e.Text}),U=e.Record({iframe:e.Opt(Z),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(E),raw_access:e.Opt(ee),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ae)))}),we=e.Record({db:e.Opt(C),authentication:e.Opt(P),storage:U}),g=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),ve=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Ie=e.Record({clear_existing_assets:e.Opt(e.Bool)}),be=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),re=e.Variant({AssetsUpgrade:Ie,SegmentsDeployment:be}),w=e.Record({status:ve,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:re}),k=e.Variant({Heap:e.Null,Stable:e.Null}),v=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),oe=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),L=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(k),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:v,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(oe),write:v,max_changes_per_user:e.Opt(e.Nat32)}),De=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),q=e.Record({memory:k,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}),Se=e.Variant({Callback:e.Record({token:q,callback:e.Func([],[],["query"])})}),Ce=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Se),status_code:e.Nat16}),Ue=e.Record({token:e.Opt(q),body:e.Vec(e.Nat8)}),B=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),j=e.Record({batch_id:e.Nat}),ke=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,V)),items_length:e.Nat64}),Le=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),qe=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,g)),items_length:e.Nat64}),Be=e.Record({desc:e.Bool}),je=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Me=e.Record({order:e.Opt(Be),paginate:e.Opt(je)}),Je=e.Record({proposal_id:e.Nat}),Ke=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Je,w)),items_length:e.Nat64}),ze=e.Record({include_system:e.Bool}),We=e.Record({matcher:e.Opt(ze)}),Ge=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,L)),items_length:e.Nat64}),He=e.Record({stable:e.Nat64,heap:e.Nat64}),$e=e.Record({version:e.Opt(e.Nat64),internet_identity:e.Opt(D),rules:e.Opt(S)}),Ye=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:u,expires_at:e.Opt(e.Nat64)}),Xe=e.Record({controller:Ye,controllers:e.Vec(e.Principal)}),Qe=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(E)}),ie=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),Ze=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(k),max_size:e.Opt(e.Nat),read:v,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(oe),write:v,max_changes_per_user:e.Opt(e.Nat32)}),ea=e.Record({iframe:e.Opt(Z),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(E),raw_access:e.Opt(ee),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ae)))}),ne=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),se=e.Record({chunk_id:e.Nat});return e.Service({commit_asset_upload:e.Func([a],[],[]),commit_proposal:e.Func([r],[e.Null],[]),commit_proposal_asset_upload:e.Func([a],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(a)],[],[]),count_assets:e.Func([e.Text,c],[e.Nat64],["query"]),count_collection_assets:e.Func([e.Text],[e.Nat64],["query"]),count_collection_docs:e.Func([e.Text],[e.Nat64],["query"]),count_docs:e.Func([e.Text,c],[e.Nat64],["query"]),count_proposals:e.Func([],[e.Nat64],["query"]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([p],[e.Vec(e.Tuple(e.Principal,_))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,d],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,c],[],[]),del_filtered_docs:e.Func([e.Text,c],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,d))],[],[]),del_rule:e.Func([T,e.Text,h],[],[]),delete_proposal_assets:e.Func([A],[],[]),deposit_cycles:e.Func([R],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(V)],["query"]),get_auth_config:e.Func([],[e.Opt(P)],["query"]),get_config:e.Func([],[we],[]),get_db_config:e.Func([],[e.Opt(C)],["query"]),get_doc:e.Func([e.Text,e.Text],[e.Opt(g)],["query"]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(V)))],["query"]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(g)))],["query"]),get_proposal:e.Func([e.Nat],[e.Opt(w)],["query"]),get_rule:e.Func([T,e.Text],[e.Opt(L)],["query"]),get_storage_config:e.Func([],[U],["query"]),http_request:e.Func([De],[Ce],["query"]),http_request_streaming_callback:e.Func([q],[Ue],["query"]),init_asset_upload:e.Func([B],[j],[]),init_proposal:e.Func([re],[e.Nat,w],[]),init_proposal_asset_upload:e.Func([B,e.Nat],[j],[]),init_proposal_many_assets_upload:e.Func([e.Vec(B),e.Nat],[e.Vec(e.Tuple(e.Text,j))],[]),list_assets:e.Func([e.Text,c],[ke],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,_))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Le))],["query"]),list_docs:e.Func([e.Text,c],[qe],["query"]),list_proposals:e.Func([Me],[Ke],["query"]),list_rules:e.Func([T,We],[Ge],["query"]),memory_size:e.Func([],[He],["query"]),reject_proposal:e.Func([r],[e.Null],[]),set_auth_config:e.Func([$e],[P],[]),set_controllers:e.Func([Xe],[e.Vec(e.Tuple(e.Principal,_))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([Qe],[C],[]),set_doc:e.Func([e.Text,e.Text,ie],[g],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,ie))],[e.Vec(e.Tuple(e.Text,g))],[]),set_rule:e.Func([T,e.Text,Ze],[L],[]),set_storage_config:e.Func([ea],[U],[]),submit_proposal:e.Func([e.Nat],[e.Nat,w],[]),upload_asset_chunk:e.Func([ne],[se],[]),upload_proposal_asset_chunk:e.Func([ne],[se],[])})},Ka=({IDL:e})=>{let a=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),r=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),o=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),i=e.Record({field:o,desc:e.Bool}),n=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),s=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(n),description:e.Opt(e.Text),created_at:e.Opt(n)}),t=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),c=e.Record({order:e.Opt(i),owner:e.Opt(e.Principal),matcher:e.Opt(s),paginate:e.Opt(t)}),p=e.Record({controllers:e.Vec(e.Principal)}),u=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),_=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:u,expires_at:e.Opt(e.Nat64)}),d=e.Record({version:e.Opt(e.Nat64)}),T=e.Variant({Db:e.Null,Storage:e.Null}),h=e.Record({version:e.Opt(e.Nat64)}),A=e.Record({proposal_ids:e.Vec(e.Nat)}),R=e.Record({cycles:e.Nat,destination_id:e.Principal}),J=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),Q=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),V=e.Record({key:J,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,Q)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),D=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),S=e.Record({allowed_callers:e.Vec(e.Principal)}),P=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(D),rules:e.Opt(S)}),E=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),C=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(E)}),Z=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),ee=e.Variant({Deny:e.Null,Allow:e.Null}),ae=e.Record({status_code:e.Nat16,location:e.Text}),U=e.Record({iframe:e.Opt(Z),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(E),raw_access:e.Opt(ee),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ae)))}),we=e.Record({db:e.Opt(C),authentication:e.Opt(P),storage:U}),g=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),ve=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Ie=e.Record({clear_existing_assets:e.Opt(e.Bool)}),be=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),re=e.Variant({AssetsUpgrade:Ie,SegmentsDeployment:be}),w=e.Record({status:ve,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:re}),k=e.Variant({Heap:e.Null,Stable:e.Null}),v=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),oe=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),L=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(k),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:v,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(oe),write:v,max_changes_per_user:e.Opt(e.Nat32)}),De=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),q=e.Record({memory:k,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}),Se=e.Variant({Callback:e.Record({token:q,callback:e.Func([],[],[])})}),Ce=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Se),status_code:e.Nat16}),Ue=e.Record({token:e.Opt(q),body:e.Vec(e.Nat8)}),B=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),j=e.Record({batch_id:e.Nat}),ke=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,V)),items_length:e.Nat64}),Le=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),qe=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,g)),items_length:e.Nat64}),Be=e.Record({desc:e.Bool}),je=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Me=e.Record({order:e.Opt(Be),paginate:e.Opt(je)}),Je=e.Record({proposal_id:e.Nat}),Ke=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Je,w)),items_length:e.Nat64}),ze=e.Record({include_system:e.Bool}),We=e.Record({matcher:e.Opt(ze)}),Ge=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,L)),items_length:e.Nat64}),He=e.Record({stable:e.Nat64,heap:e.Nat64}),$e=e.Record({version:e.Opt(e.Nat64),internet_identity:e.Opt(D),rules:e.Opt(S)}),Ye=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:u,expires_at:e.Opt(e.Nat64)}),Xe=e.Record({controller:Ye,controllers:e.Vec(e.Principal)}),Qe=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(E)}),ie=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),Ze=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(k),max_size:e.Opt(e.Nat),read:v,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(oe),write:v,max_changes_per_user:e.Opt(e.Nat32)}),ea=e.Record({iframe:e.Opt(Z),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(E),raw_access:e.Opt(ee),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ae)))}),ne=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),se=e.Record({chunk_id:e.Nat});return e.Service({commit_asset_upload:e.Func([a],[],[]),commit_proposal:e.Func([r],[e.Null],[]),commit_proposal_asset_upload:e.Func([a],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(a)],[],[]),count_assets:e.Func([e.Text,c],[e.Nat64],[]),count_collection_assets:e.Func([e.Text],[e.Nat64],[]),count_collection_docs:e.Func([e.Text],[e.Nat64],[]),count_docs:e.Func([e.Text,c],[e.Nat64],[]),count_proposals:e.Func([],[e.Nat64],[]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([p],[e.Vec(e.Tuple(e.Principal,_))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,d],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,c],[],[]),del_filtered_docs:e.Func([e.Text,c],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,d))],[],[]),del_rule:e.Func([T,e.Text,h],[],[]),delete_proposal_assets:e.Func([A],[],[]),deposit_cycles:e.Func([R],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(V)],[]),get_auth_config:e.Func([],[e.Opt(P)],[]),get_config:e.Func([],[we],[]),get_db_config:e.Func([],[e.Opt(C)],[]),get_doc:e.Func([e.Text,e.Text],[e.Opt(g)],[]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(V)))],[]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(g)))],[]),get_proposal:e.Func([e.Nat],[e.Opt(w)],[]),get_rule:e.Func([T,e.Text],[e.Opt(L)],[]),get_storage_config:e.Func([],[U],[]),http_request:e.Func([De],[Ce],[]),http_request_streaming_callback:e.Func([q],[Ue],[]),init_asset_upload:e.Func([B],[j],[]),init_proposal:e.Func([re],[e.Nat,w],[]),init_proposal_asset_upload:e.Func([B,e.Nat],[j],[]),init_proposal_many_assets_upload:e.Func([e.Vec(B),e.Nat],[e.Vec(e.Tuple(e.Text,j))],[]),list_assets:e.Func([e.Text,c],[ke],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,_))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Le))],[]),list_docs:e.Func([e.Text,c],[qe],[]),list_proposals:e.Func([Me],[Ke],[]),list_rules:e.Func([T,We],[Ge],[]),memory_size:e.Func([],[He],[]),reject_proposal:e.Func([r],[e.Null],[]),set_auth_config:e.Func([$e],[P],[]),set_controllers:e.Func([Xe],[e.Vec(e.Tuple(e.Principal,_))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([Qe],[C],[]),set_doc:e.Func([e.Text,e.Text,ie],[g],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,ie))],[e.Vec(e.Tuple(e.Text,g))],[]),set_rule:e.Func([T,e.Text,Ze],[L],[]),set_storage_config:e.Func([ea],[U],[]),submit_proposal:e.Func([e.Nat],[e.Nat,w],[]),upload_asset_chunk:e.Func([ne],[se],[]),upload_proposal_asset_chunk:e.Func([ne],[se],[])})};import{nonNullish as ta}from"@dfinity/utils";var za=({satelliteId:e,container:a})=>{let{satelliteId:r}=ca({satelliteId:e}),{container:o}=la({container:a});if(ta(o)&&o!==!1){let{host:i,protocol:n}=new URL(o===!0?W:o);return`${n}//${r??"unknown"}.${i.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},ca=({satelliteId:e})=>ta(e)?{satelliteId:e}:N.getInstance().get()??{satelliteId:void 0},la=({container:e})=>ta(e)?{container:e}:N.getInstance().get()??{container:void 0};var m=({satellite:e,options:{certified:a}})=>Ga({idlFactory:a?Ka:Ja,actorKey:`stock#${a?"update":"query"}`,...e}),Wa=({idlFactory:e,...a})=>Ga({idlFactory:e,actorKey:"extended#query",...a}),Ga=async({satelliteId:e,container:a,...r})=>{let{satelliteId:o}=ca({satelliteId:e});fo(o,"No satellite ID defined. Did you initialize Juno?");let{container:i}=la({container:a});return await H.getInstance().getActor({satelliteId:o,container:i,...r})};import{Principal as Fo}from"@dfinity/principal";import{isNullish as Y,toNullable as x}from"@dfinity/utils";var Ha=e=>{if(Y(e))return x();switch(e.matcher){case"equal":return x({Equal:e.timestamp});case"greaterThan":return x({GreaterThan:e.timestamp});case"lessThan":return x({LessThan:e.timestamp});case"between":return x({Between:[e.timestamps.start,e.timestamps.end]});default:throw new he("Invalid list matcher for timestamp",e)}},b=({matcher:e,paginate:a,order:r,owner:o})=>({matcher:Y(e)?[]:[{key:x(e.key),description:x(e.description),created_at:Ha(e.createdAt),updated_at:Ha(e.updatedAt)}],paginate:x(Y(a)?void 0:{start_after:x(a.startAfter),limit:x(Y(a.limit)?void 0:BigInt(a.limit))}),order:x(Y(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:x(Y(o)?void 0:typeof o=="string"?Fo.fromText(o):o)});var $a=async({data:e})=>{try{return await _e(e)}catch(a){console.error("The data parsing has failed, mapping to undefined as a fallback.",a);return}};import{fromNullable as Ya,toNullable as pa}from"@dfinity/utils";var da=async e=>{let{data:a,version:r,description:o}=e;return{description:pa(o),data:await qa(a),version:pa(r)}},ua=e=>{let{version:a}=e;return{version:pa(a)}},pe=async({doc:e,key:a})=>{let{owner:r,version:o,description:i,data:n,...s}=e;return{key:a,description:Ya(i),owner:r.toText(),data:await _e(n),version:Ya(o),...s}};var Xa=async({collection:e,key:a,...r})=>{let{get_doc:o}=await m(r),i=X(await o(e,a));if(!Ao(i))return pe({doc:i,key:a})},Qa=async({docs:e,...a})=>{let{get_many_docs:r}=await m(a),o=e.map(({collection:s,key:t})=>[s,t]),i=await r(o),n=[];for(let[s,t]of i){let c=X(t);n.push(Vo(c)?await pe({key:s,doc:c}):void 0)}return n},Za=async({collection:e,doc:a,...r})=>{let{set_doc:o}=await m(r),{key:i}=a,n=await da(a),s=await o(e,i,n);return await pe({key:i,doc:s})},er=async({docs:e,...a})=>{let{set_many_docs:r}=await m(a),o=[];for(let{collection:s,doc:t}of e){let{key:c}=t;o.push([s,c,await da(t)])}let i=await r(o),n=[];for(let[s,t]of i)n.push(await pe({key:s,doc:t}));return n},ar=async({collection:e,doc:a,...r})=>{let{del_doc:o}=await m(r),{key:i}=a;return o(e,i,ua(a))},rr=async({docs:e,...a})=>{let{del_many_docs:r}=await m(a),o=e.map(({collection:i,doc:n})=>[i,n.key,ua(n)]);await r(o)},or=async({collection:e,filter:a,...r})=>{let{del_filtered_docs:o}=await m(r);return o(e,b(a))},ir=async({collection:e,filter:a,...r})=>{let{list_docs:o}=await m(r),{items:i,items_page:n,items_length:s,matches_length:t,matches_pages:c}=await o(e,b(a)),p=[];for(let[u,_]of i){let{data:d,owner:T,description:h,version:A,...R}=_;p.push({key:u,description:X(h),owner:T.toText(),data:await $a({data:d}),version:X(A),...R})}return{items:p,items_length:s,items_page:X(n),matches_length:t,matches_pages:X(c)}},nr=async({collection:e,filter:a,...r})=>{let{count_docs:o}=await m(r);return o(e,b(a))};var Ve=async({satellite:e,options:a,...r})=>{let o=l(e?.identity);return await Xa({...r,satellite:{...e,identity:o},options:a??F})},us=async({satellite:e,options:a,...r})=>{let o=l(e?.identity);return await Qa({...r,satellite:{...e,identity:o},options:a??F})},sr=async({satellite:e,...a})=>{let r=l(e?.identity);return await Za({...a,satellite:{...e,identity:r},options:{certified:!0}})},tr=async({satellite:e,...a})=>{let r=l(e?.identity);return await er({...a,satellite:{...e,identity:r},options:{certified:!0}})},_s=async({satellite:e,...a})=>{let r=l(e?.identity);return await ar({...a,satellite:{...e,identity:r},options:{certified:!0}})},ms=async({satellite:e,...a})=>{let r=l(e?.identity);return await rr({...a,satellite:{...e,identity:r},options:{certified:!0}})},Ts=async({satellite:e,filter:a,...r})=>{let o=l(e?.identity);return await or({...r,filter:a??{},satellite:{...e,identity:o},options:{certified:!0}})},Ns=async({satellite:e,options:a,filter:r,...o})=>{let i=l(e?.identity);return await ir({...o,filter:r??{},satellite:{...e,identity:i},options:a??F})},Os=async({satellite:e,options:a,filter:r,...o})=>{let i=l(e?.identity);return await nr({...o,filter:r??{},satellite:{...e,identity:i},options:a??F})};import{nonNullish as Po,uint8ArrayToArrayOfNumber as Eo}from"@dfinity/utils";var cr=async({delegationIdentity:e,passkeyIdentity:a,satelliteId:r})=>{let o=a.getCredential().getAAGUID(),[i,n]=await tr({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...Po(o)&&{aaguid:Eo(o)}}}}}},{collection:"#user-webauthn",doc:{key:a.getCredential().getCredentialIdText(),data:{publicKey:a.getPublicKey().toRaw()}}}],satellite:{identity:e,satelliteId:r}});return i};var lr=(n=>(n[n.RequestingUserCredential=0]="RequestingUserCredential",n[n.FinalizingCredential=1]="FinalizingCredential",n[n.Signing=2]="Signing",n[n.FinalizingSession=3]="FinalizingSession",n[n.RetrievingUser=4]="RetrievingUser",n))(lr||{}),pr=(s=>(s[s.CreatingUserCredential=0]="CreatingUserCredential",s[s.ValidatingUserCredential=1]="ValidatingUserCredential",s[s.FinalizingCredential=2]="FinalizingCredential",s[s.Signing=3]="Signing",s[s.FinalizingSession=4]="FinalizingSession",s[s.RegisteringUser=5]="RegisteringUser",s))(pr||{});var de=class{get id(){return"webauthn"}async signUp({options:{onProgress:a,maxTimeToLiveInMilliseconds:r,passkey:o}={},loadAuthWithUser:i}){let{satelliteId:n}=N.getInstance().get()??{satelliteId:void 0};if(_a(n))throw new M("Satellite ID not set. Have you initialized the Satellite?");let s=({step:A,state:R})=>{switch(A){case I.RequestingUserCredential:a?.({step:1,state:R});break;case I.FinalizingCredential:a?.({step:2,state:R});break;case I.Signing:a?.({step:3,state:R});break}},c=await f({fn:async()=>await ra.createWithNewCredential({onProgress:s,passkeyOptions:o}),step:0,onProgress:a}),{delegationIdentity:p,sessionKey:u}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),d=await f({fn:async()=>await cr({delegationIdentity:p,passkeyIdentity:c,satelliteId:n}),step:5,onProgress:a});await f({fn:async()=>await this.#a({delegationIdentity:p,sessionKey:u}),step:4,onProgress:a}),await f({fn:async()=>await i({user:d}),step:5,onProgress:a})}async signIn({options:{onProgress:a,maxTimeToLiveInMilliseconds:r}={},loadAuth:o}){let{satelliteId:i}=N.getInstance().get()??{satelliteId:void 0};if(_a(i))throw new M("Satellite ID not set. Have you initialized the Satellite?");let n=async({credentialId:_})=>{let d=await Ve({collection:"#user-webauthn",key:qo(_),options:{certified:!0},satellite:{identity:new vo,satelliteId:i}});if(_a(d))throw new ye("No public key found for the selected passkey.");let{data:T}=d,{publicKey:h}=T;return Lo(h,Uo)},s=({step:_,state:d})=>{switch(_){case I.RequestingUserCredential:a?.({step:0,state:d});break;case I.FinalizingCredential:a?.({step:1,state:d});break;case I.Signing:a?.({step:2,state:d});break}},t=await ra.createWithExistingCredential({retrievePublicKey:n,onProgress:s}),{delegationIdentity:c,sessionKey:p}=await this.#e({identity:t,maxTimeToLiveInMilliseconds:r});await f({fn:async()=>await this.#a({delegationIdentity:c,sessionKey:p}),step:3,onProgress:a}),await f({fn:o,step:4,onProgress:a})}async#e({identity:a,maxTimeToLiveInMilliseconds:r}){let o=await ko.generate({extractable:!1}),i=r??144e5,n=await So.create(a,o.getPublicKey(),new Date(Date.now()+i));return{delegationIdentity:Co.fromDelegation(o,n),sessionKey:o}}async#a({sessionKey:a,delegationIdentity:r}){let o=new Io;await Promise.all([o.set(Do,a.getKeyPair()),o.set(bo,JSON.stringify(r.getDelegation().toJSON()))])}};import{AuthClient as Bo,IdbStorage as jo,KEY_STORAGE_KEY as Mo}from"@dfinity/auth-client";var ue=()=>Bo.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),dr=async()=>(await new jo().remove(Mo),await ue());import{isNullish as Jo,nonNullish as _r}from"@dfinity/utils";var ma=({error:e,type:a})=>typeof e=="string"?e.includes(a):e instanceof Error?e.message.includes(a):!1;var ur="juno.datastore.error.user.cannot_update";var mr=async({provider:e})=>{let{user:a,userId:r}=await Ta();if(_r(a))return a;try{return await Ko({userId:r,provider:e})}catch(o){if(ma({error:o,type:ur})){let i=await Tr({userId:r});if(_r(i))return i}throw o}},Ta=async()=>{let e=Ae();if(Jo(e))throw new ge("No identity to initialize the user. Have you initialized Juno?");let a=e.getPrincipal().toText(),r=await Tr({userId:a});return{userId:a,user:r}},Tr=({userId:e})=>Ve({collection:"#user",key:e}),Ko=({userId:e,...a})=>sr({collection:"#user",doc:{key:e,data:a}});var y,Na=async()=>{await Oa({fn:async()=>{let{user:a}=await Ta();O.getInstance().set(a??null)}})},Wo=async({user:e})=>{await Oa({fn:async()=>{O.getInstance().set(e)}})},Nr=async({provider:e})=>{await Oa({fn:async()=>{let r=await mr({provider:e});O.getInstance().set(r)}})},Oa=async({fn:e})=>{if(y=await ue(),!await y.isAuthenticated()){y=await dr();return}await e()},Go=async e=>{let a=async()=>await $o(e);if(Object.values(e)[0].context?.windowGuard===!1){await a();return}await sa({fn:a})},Ho=async e=>{let a=async()=>await Yo(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await a();return}await sa({fn:a})},$o=async e=>{if("webauthn"in e){let{webauthn:{options:a}}=e;await new de().signIn({options:a,loadAuth:Na});return}if("nfid"in e){let{nfid:{options:a}}=e,{appName:r,logoUrl:o,...i}=a??{};await new Fe({appName:r,logoUrl:o}).signIn({options:i,authClient:y,initAuth:Nr});return}if("internet_identity"in e){let{internet_identity:{options:a}}=e,{domain:r,...o}=a??{};await new fe({domain:r}).signIn({options:o,authClient:y,initAuth:Nr});return}throw new xe("An unknown or unsupported provider was provided for sign-in.")},Yo=async e=>{if("webauthn"in e){let{webauthn:{options:a}}=e;await new de().signUp({options:a,loadAuthWithUser:Wo});return}throw new Re("An unknown or unsupported provider was provided for sign-up.")},xa=async e=>{await Xo(),y=await ue(),e?.windowReload!==!1&&window.location.reload()},Xo=async()=>{await y?.logout(),y=null,O.getInstance().reset(),H.getInstance().reset(),G.getInstance().reset()},Ae=()=>y?.getIdentity(),Qo=async()=>(y??await ue()).getIdentity(),Zo=async()=>{let e=O.getInstance().get();return zo(e)||!(await y?.isAuthenticated()??!1)?null:y?.getIdentity()??null};var Or=e=>{let a=e===!0?"./workers/auth.worker.js":e,r=new Worker(a),o=async()=>{oa({message:"junoSignOutAuthTimer"}),await xa()};return r.onmessage=async({data:i})=>{let{msg:n,data:s}=i;switch(n){case"junoSignOutAuthTimer":await o();return;case"junoDelegationRemainingTime":oa({message:"junoDelegationRemainingTime",detail:s?.authRemainingTime});return}},O.getInstance().subscribe(i=>{if(ei(i)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var xr=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_SATELLITE_ID??import.meta.env?.PUBLIC_SATELLITE_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_SATELLITE_ID??e():e()},yr=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_CONTAINER??import.meta.env?.PUBLIC_CONTAINER:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_CONTAINER??e():e()};var _t=async({idlFactory:e,satellite:a})=>{let r=l(a?.identity);return await Wa({idlFactory:e,...a,identity:r})};import{fromNullable as vr,nonNullish as ti}from"@dfinity/utils";import{fromNullable as Ee}from"@dfinity/utils";import{assertNonNullish as Nt,toNullable as Pe}from"@dfinity/utils";var Rr=async({asset:{data:e,headers:a,...r},actor:o,progress:i})=>{let{init_asset_upload:n,upload_asset_chunk:s,commit_asset_upload:t}=o,{batch_id:c}=await n(ai(r));i?.onInitiatedBatch();let{chunkIds:p}=await ii({data:e,uploadFn:s,batchId:c});i?.onUploadedFileChunks(r.fullPath),await oi({commitFn:t,batchId:c,data:e,headers:a,chunkIds:p}),i?.onCommittedBatch()};var ai=({filename:e,collection:a,token:r,fullPath:o,encoding:i,description:n})=>({collection:a,full_path:o,name:e,token:Pe(r),encoding_type:Pe(i),description:Pe(n)}),ri=({batchId:e,chunkIds:a,headers:r,data:o})=>{let i=r.find(([n,s])=>n.toLowerCase()==="content-type")===void 0&&o.type!==void 0&&o.type!==""?[["Content-Type",o.type]]:void 0;return{batch_id:e,chunk_ids:a.map(({chunk_id:n})=>n),headers:[...r,...i??[]]}},oi=async({commitFn:e,...a})=>{let r=ri(a);await e(r)},ii=async({data:e,uploadFn:a,batchId:r})=>{let o=[],i=me()?new Blob([await e.arrayBuffer()]):e,n=0n;for(let t=0;t<i.size;t+=19e5){let c=i.slice(t,t+19e5);o.push({batchId:r,chunk:c,uploadFn:a,orderId:n}),n++}let s=[];for await(let t of ni({uploadChunks:o}))s=[...s,...t];return{chunkIds:s}};async function*ni({uploadChunks:e,limit:a=12}){for(let r=0;r<e.length;r=r+a){let o=e.slice(r,r+a);yield await Promise.all(o.map(i=>si(i)))}}var si=async({batchId:e,chunk:a,uploadFn:r,orderId:o})=>r({batch_id:e,content:new Uint8Array(await a.arrayBuffer()),order_id:Pe(o)});var gr=async({asset:e,...a})=>{let r=await m(a);await Rr({actor:r,asset:e})},hr=async({collection:e,filter:a,...r})=>{let{list_assets:o}=await m(r),{items:i,items_length:n,items_page:s,matches_length:t,matches_pages:c}=await o(e,b(a));return{items:i.map(([p,u])=>u),items_length:n,items_page:Ee(s),matches_length:t,matches_pages:Ee(c)}},fr=async({collection:e,filter:a,...r})=>{let{count_assets:o}=await m(r);return o(e,b(a))},Fr=async({collection:e,fullPath:a,...r})=>(await m(r)).del_asset(e,a),Ar=async({assets:e,satellite:a})=>{let{del_many_assets:r}=await m({satellite:a,options:{certified:!0}}),o=e.map(({collection:i,fullPath:n})=>[i,n]);await r(o)},Vr=async({collection:e,filter:a,...r})=>{let{del_filtered_assets:o}=await m(r);return o(e,b(a))},Pr=async({collection:e,fullPath:a,...r})=>{let{get_asset:o}=await m(r);return Ee(await o(e,a))},Er=async({assets:e,...a})=>{let{get_many_assets:r}=await m(a),o=e.map(({collection:n,fullPath:s})=>[n,s]);return(await r(o)).map(([n,s])=>Ee(s))};var wr=e=>btoa([...e].map(a=>String.fromCharCode(a)).join(""));var It=e=>Ir(e),bt=e=>Ir({filename:e.data.name,...e}),Ir=async({filename:e,data:a,collection:r,headers:o=[],fullPath:i,token:n,satellite:s,encoding:t,description:c})=>{let p=l(s?.identity),u=decodeURI(e),_=i??`/${r}/${u}`,d={...s,identity:p};return await gr({asset:{data:a,filename:u,collection:r,token:n,headers:o,fullPath:_,encoding:t,description:c},satellite:d,options:{certified:!0}}),{downloadUrl:br({satellite:d,assetKey:{fullPath:_,token:n}}),fullPath:_,name:u}},Dt=async({collection:e,filter:a,satellite:r,options:o})=>{let i={...r,identity:l(r?.identity)},{items:n,...s}=await hr({collection:e,filter:a??{},satellite:i,options:o??F}),t=n.map(({key:{full_path:c,token:p,name:u,owner:_,description:d},headers:T,encodings:h,created_at:A,updated_at:R})=>{let J=vr(p);return{fullPath:c,description:vr(d),name:u,downloadUrl:br({satellite:i,assetKey:{fullPath:c,token:J}}),token:J,headers:T,encodings:h.reduce((Q,[V,{modified:D,sha256:S,total_length:P}])=>({...Q,[V]:{modified:D,sha256:wr(S),total_length:P}}),{}),owner:_.toText(),created_at:A,updated_at:R}});return{items:t,assets:t,...s}},St=async({collection:e,filter:a,satellite:r,options:o})=>{let i={...r,identity:l(r?.identity)};return await fr({collection:e,satellite:i,filter:a??{},options:o??F})},Ct=({collection:e,fullPath:a,satellite:r})=>Fr({collection:e,fullPath:a,satellite:{...r,identity:l(r?.identity)},options:{certified:!0}}),Ut=({assets:e,satellite:a})=>Ar({assets:e,satellite:{...a,identity:l(a?.identity)},options:{certified:!0}}),kt=async({collection:e,satellite:a,filter:r})=>{let o={...a,identity:l(a?.identity)};return await Vr({collection:e,satellite:o,filter:r??{},options:{certified:!0}})},Lt=async({satellite:e,options:a,...r})=>{let o=l(e?.identity);return await Pr({...r,satellite:{...e,identity:o},options:a??F})},qt=async({satellite:e,options:a,...r})=>{let o=l(e?.identity);return await Er({...r,satellite:{...e,identity:o},options:a??F})},br=({assetKey:{fullPath:e,token:a},satellite:r})=>{let o={...r,identity:l(r?.identity)};return`${za(o)}${e}${ti(a)?`?token=${a}`:""}`};var li=e=>{let a=e?.satelliteId??xr();ci(a,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??yr();return{satelliteId:a,internetIdentityId:e?.internetIdentityId,workers:e?.workers,container:r}},Ht=e=>pi(e),pi=async e=>{let a=li(e);N.getInstance().set(a),await Na();let r=a.workers?.auth!==void 0?Or(a.workers.auth):void 0;return[...r?[r]:[]]},di=e=>O.getInstance().subscribe(e),$t=di;export{ja as AuthClientSignInProgressStep,ge as InitError,fe as InternetIdentityProvider,he as ListError,Fe as NFIDProvider,Ne as SignInError,M as SignInInitError,xe as SignInProviderNotSupportedError,Oe as SignInUserInterruptError,Re as SignUpProviderNotSupportedError,lr as WebAuthnSignInProgressStep,ye as WebAuthnSignInRetrievePublicKeyError,pr as WebAuthnSignUpProgressStep,$t as authSubscribe,St as countAssets,Os as countDocs,Ct as deleteAsset,_s as deleteDoc,kt as deleteFilteredAssets,Ts as deleteFilteredDocs,Ut as deleteManyAssets,ms as deleteManyDocs,br as downloadUrl,Lt as getAsset,Ve as getDoc,Zo as getIdentityOnce,qt as getManyAssets,us as getManyDocs,_t as getSatelliteExtendedActor,Ht as initJuno,pi as initSatellite,lo as isWebAuthnAvailable,Dt as listAssets,Ns as listDocs,di as onAuthStateChange,sr as setDoc,tr as setManyDocs,Go as signIn,xa as signOut,Ho as signUp,Qo as unsafeIdentity,It as uploadBlob,bt as uploadFile};
|
|
1
|
+
import{assertNonNullish as li}from"@dfinity/utils";import{uint8ArrayToArrayOfNumber as Cr}from"@dfinity/utils";import{DER_COSE_OID as Lr,wrapDER as qr}from"@dfinity/agent";import{uint8ArrayToBase64 as Kr}from"@dfinity/utils";import{Cbor as ha,SignIdentity as Zr}from"@dfinity/agent";import{arrayBufferToUint8Array as j,isNullish as le,uint8ArraysEqual as eo}from"@dfinity/utils";import{nonNullish as lo}from"@dfinity/utils";var Ur=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let a=e.slice(37,53),r=kr({bytes:a});return"aaguid"in r?{aaguidBytes:a,aaguidText:r.aaguid}:{unknownProvider:null}},kr=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let a=(e instanceof Uint8Array?Cr(e):e).map(r=>r.toString(16).padStart(2,"0")).join("").replace(/^(.{8})(.{4})(.{4})(.{4})(.{12})$/,"$1-$2-$3-$4-$5");return a==="00000000-0000-0000-0000-000000000000"?{unknownProvider:null}:{aaguid:a}};function Br(e){let a=new DataView(new ArrayBuffer(2)),r=e.slice(53,55);[...new Uint8Array(r)].forEach((i,n)=>a.setUint8(n,i));let o=a.getUint16(0);return e.slice(55+o)}function jr(e){return qr(e,Lr)}var Mr=class{constructor(e){this._cose=e,this.#e=jr(e)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},Aa=class{#e;#a;constructor({rawId:e,cose:a}){this.#e=e,this.#a=new Mr(a)}getPublicKey(){return this.#a}getCredentialId(){return this.#e}getCredentialIdText(){return Kr(this.#e)}},Jr=class extends Aa{#e;#a;constructor({authData:e,...a}){super(a);let r=Ur({authData:e});this.#e="aaguidText"in r?r.aaguidText:void 0,this.#a="aaguidBytes"in r?r.aaguidBytes:void 0}getAAGUID(){return this.#a}getAAGUIDText(){return this.#e}},Wr=class extends Aa{},zr=class extends Error{},Gr=class extends Error{},Hr=class extends Error{},$r=class extends Error{},Yr=class extends Error{},Xr=class extends Error{},Qr=class extends Error{},ga=class extends Error{};var ao={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},ro=6e4,Pa=()=>window.crypto.getRandomValues(new Uint8Array(16)),oo=()=>Pa(),io=()=>Pa(),no=()=>{let{location:{href:e}}=window;try{let{hostname:a}=new URL(e);return a}catch{throw new zr}},Ea=({appId:e})=>e?.id??no(),so=({appId:e,user:a}={})=>{let{document:{title:r}}=window,o=()=>({rp:{name:e?.name??r,id:Ea({appId:e})}}),i=()=>({user:{id:io(),name:a?.name??a?.displayName??r,displayName:a?.displayName??r}});return{attestation:"direct",challenge:oo(),...o(),...i(),pubKeyCredParams:Object.values(ao).map(n=>({type:"public-key",alg:n})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},to=(e={})=>({rpId:Ea(e),allowCredentials:[],userVerification:"required"}),oa=async({fn:e,step:a,onProgress:r})=>{r?.({step:a,state:"in_progress"});try{let o=await e();return r?.({step:a,state:"success"}),o}catch(o){throw r?.({step:a,state:"error"}),o}},v=(e=>(e[e.RequestingUserCredential=0]="RequestingUserCredential",e[e.FinalizingCredential=1]="FinalizingCredential",e[e.Signing=2]="Signing",e))(v||{}),wa=({timeout:e})=>AbortSignal.timeout(e??ro),co=async({challenge:e,credentialIds:a,passkeyOptions:r,timeout:o})=>await navigator.credentials.get({publicKey:{...to(r),challenge:e.buffer,allowCredentials:(a??[]).map(i=>({id:i.buffer,type:"public-key"}))},signal:wa({timeout:o})}),fa=e=>{if(e.status!=="initialized")throw new Gr},Fa=e=>{if(le(e))throw new Hr},Va=({type:e})=>{if(e!=="public-key")throw new $r},ia=class pe extends Zr{#e;#a;constructor({onProgress:a,...r}){if(super(),this.#e=a,"retrievePublicKey"in r){let{retrievePublicKey:o}=r;this.#a={status:"pending",retrievePublicKey:o};return}this.#a=pe.#r({credential:new Jr(r)})}static#r({credential:a}){return{status:"initialized",credential:a}}static async createWithNewCredential({passkeyOptions:a,timeout:r,...o}={}){let i=await navigator.credentials.create({publicKey:so(a),signal:wa({timeout:r})});Fa(i),Va(i);let{response:{attestationObject:n},rawId:s}=i;if(le(n))throw new Yr;let{authData:t}=ha.decode(j(n)),c=Br(t);return new pe({...o,rawId:j(s),cose:c,authData:t})}static async createWithExistingCredential(a){return new pe(a)}getPublicKey(){fa(this.#a);let{credential:a}=this.#a;return a.getPublicKey()}getCredential(){fa(this.#a);let{credential:a}=this.#a;return a}async sign(a){let r=await oa({fn:async()=>{let o=await co({challenge:a,...this.#a.status==="initialized"&&{credentialIds:[this.#a.credential.getCredentialId()]}});return Fa(o),Va(o),o},step:0,onProgress:this.#e});return await oa({fn:async()=>{let{rawId:o}=r;if(this.#a.status==="initialized"){if(!eo({a:this.#a.credential.getCredentialId(),b:j(o)}))throw new Xr;return}let{retrievePublicKey:i}=this.#a,n=await i({credentialId:j(o)});this.#a=pe.#r({credential:new Wr({rawId:j(o),cose:n})})},step:1,onProgress:this.#e}),await oa({fn:async()=>{let{response:o}=r,{clientDataJSON:i}=o,{authenticatorData:n,signature:s}="authenticatorData"in o&&"signature"in o?o:{};if(le(n))throw new ga;if(le(s))throw new ga;let t=ha.encode({authenticator_data:n,client_data_json:new TextDecoder().decode(i),signature:j(s)});if(le(t))throw new Qr;return Object.assign(t,{__signature__:void 0}),t},step:2,onProgress:this.#e})}},po=async()=>lo(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;import{isNullish as ai}from"@dfinity/utils";var M=class{callbacks=[];populate(a){this.callbacks.forEach(({callback:r})=>r(a))}subscribe(a){let r=Symbol();return this.callbacks.push({id:r,callback:a}),()=>this.callbacks=this.callbacks.filter(({id:o})=>o!==r)}};var y=class e extends M{static instance;authUser=null;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(a){this.authUser=a,this.populate(a)}get(){return this.authUser}subscribe(a){let r=super.subscribe(a);return a(this.authUser),r}reset(){this.authUser=null,this.populate(this.authUser)}};var na=({message:e,detail:a})=>{let r=new CustomEvent(e,{detail:a,bubbles:!0});document.dispatchEvent(r)};import{isNullish as zo}from"@dfinity/utils";import{Actor as _o}from"@dfinity/agent";import{isNullish as ta}from"@dfinity/utils";import{isNullish as sa}from"@dfinity/utils";import{HttpAgent as uo}from"@dfinity/agent";import{nonNullish as Ia}from"@dfinity/utils";var K="http://127.0.0.1:5987",va="rdmx6-jaaaa-aaaaa-aaadq-cai";var ba=async({identity:e,container:a})=>{let o=Ia(a)&&a!==!1?a===!0?K:a:"https://icp-api.io",i=Ia(a);return await uo.create({identity:e,shouldFetchRootKey:i,host:o})};var J=class e{static instance;#e=void 0;constructor(){}static getInstance(){return sa(e.instance)&&(e.instance=new e),e.instance}async getAgent({identity:a,...r}){let o=a.getPrincipal().toText();if(sa(this.#e)||sa(this.#e[o])){let i=await ba({identity:a,...r});return this.#e={...this.#e??{},[o]:i},i}return this.#e[o]}reset(){this.#e=null}};var W=class e{static instance;#e=void 0;constructor(){}static getInstance(){return ta(e.instance)&&(e.instance=new e),e.instance}async getActor({satelliteId:a,identity:r,actorKey:o,...i}){let n=`${o}#${r.getPrincipal().toText()}#${a};`;if(ta(this.#e)||ta(this.#e[n])){let s=await this.createActor({satelliteId:a,identity:r,...i});return this.#e={...this.#e??{},[n]:s},s}return this.#e[n]}reset(){this.#e=null}async createActor({idlFactory:a,satelliteId:r,...o}){let i=await J.getInstance().getAgent(o);return _o.createActor(a,{agent:i,canisterId:r})}};var Sa=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),mo=()=>{window.addEventListener("beforeunload",Sa,{capture:!0})},To=()=>{window.removeEventListener("beforeunload",Sa,{capture:!0})},ca=async({fn:e})=>{try{return mo(),await e()}finally{To()}};import{isEmptyString as Ro,isNullish as go,nonNullish as Ja}from"@dfinity/utils";var O=class e extends M{static instance;env;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(a){this.env=a,this.populate(a)}get(){return this.env}reset(){this.env=null}subscribe(a){let r=super.subscribe(a);return a(this.env),r}};var Da=BigInt(144e11),Ca=!1,Ua={width:576,height:576},ka={width:424,height:576},La={width:505,height:705},de="internetcomputer.org",qa="ic0.app",Ba="id.ai";import{isNullish as Ma}from"@dfinity/utils";import{jsonReplacer as No,jsonReviver as Oo}from"@dfinity/utils";var ja=async e=>{let a=new Blob([JSON.stringify(e,No)],{type:"application/json; charset=utf-8"});return new Uint8Array(await a.arrayBuffer())},Te=async e=>{let a=new Blob([e instanceof Uint8Array?e:new Uint8Array(e)],{type:"application/json; charset=utf-8"});return JSON.parse(await a.text(),Oo)},Ne=()=>typeof window<"u";var Oe=({width:e,height:a})=>{if(!Ne()||Ma(window)||Ma(window.top))return;let{top:{innerWidth:r,innerHeight:o}}=window,i=o/2+screenY-a/2,n=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=${a}, top=${i}, left=${n}`};import{ERROR_USER_INTERRUPT as xo}from"@dfinity/auth-client";import{isNullish as yo}from"@dfinity/utils";var F=async({fn:e,step:a,onProgress:r})=>{r?.({step:a,state:"in_progress"});try{let o=await e();return r?.({step:a,state:"success"}),o}catch(o){throw r?.({step:a,state:"error"}),o}};var Ka=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))(Ka||{});var xe=class extends Error{},q=class extends Error{},ye=class extends Error{},Re=class extends Error{},ge=class extends Error{},he=class extends Error{},fe=class extends Error{},Fe=class extends Error{};var z=class{async signIn({options:a,authClient:r,initAuth:o}){await F({fn:async()=>await this.#e({options:a,authClient:r}),step:0,onProgress:a?.onProgress}),await F({fn:async()=>await o({provider:this.id}),step:1,onProgress:a?.onProgress})}#e({options:a,authClient:r}){return new Promise(async(o,i)=>{if(yo(r)){i(new q("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:o,onError:n=>{if(n===xo){i(new ye(n));return}i(new xe(n))},maxTimeToLive:a?.maxTimeToLiveInNanoseconds??Da,allowPinAuthentication:a?.allowPin??Ca,...a?.derivationOrigin!==void 0&&{derivationOrigin:a.derivationOrigin},...this.signInOptions({windowed:a?.windowed})})})}};var Ve=class extends z{#e;constructor({domain:a}){super(),this.#e=a}get id(){return"internet_identity"}signInOptions({windowed:a}){let o=(()=>{let n=O.getInstance().get()?.container;if(go(n)||n===!1){let m=[de,qa].includes(this.#e??de);return Ro(this.#e)?`https://identity.${de}`:m?`https://identity.${this.#e??de}`:`https://${this.#e}`}let s=O.getInstance().get(),t=Ja(s)&&Ja(s?.internetIdentityId)?s.internetIdentityId:va,{host:c,protocol:d}=new URL(n===!0?K:n);return/apple/i.test(navigator?.vendor)?`${d}//${c}?canisterId=${t}`:`${d}//${t}.${c.replace("127.0.0.1","localhost")}`})();return{...a!==!1&&{windowOpenerFeatures:Oe((()=>{try{let{hostname:n}=new URL(o);return n.includes(Ba)}catch{return!1}})()?ka:Ua)},identityProvider:o}}};var Ae=class extends z{#e;#a;constructor({appName:a,logoUrl:r}){super(),this.#e=a,this.#a=r}get id(){return"nfid"}signInOptions({windowed:a}){return{...a!==!1&&{windowOpenerFeatures:Oe(La)},identityProvider:`https://nfid.one/authenticate/?applicationName=${encodeURI(this.#e)}&applicationLogo=${encodeURI(this.#a)}`}}};import{AnonymousIdentity as Io}from"@dfinity/agent";import{IdbStorage as bo,KEY_STORAGE_DELEGATION as So,KEY_STORAGE_KEY as Do}from"@dfinity/auth-client";import{DelegationChain as Co,DelegationIdentity as Uo,DER_COSE_OID as ko,ECDSAKeyIdentity as Lo,unwrapDER as qo}from"@dfinity/identity";import{isNullish as Ta,uint8ArrayToBase64 as Bo}from"@dfinity/utils";var V={certified:!1};import{AnonymousIdentity as ho}from"@dfinity/agent";import{nonNullish as fo}from"@dfinity/utils";var p=e=>fo(e)?e:Pe()??new ho;import{fromNullable as H,isNullish as Ao,nonNullish as Po}from"@dfinity/utils";import{assertNonNullish as Fo}from"@dfinity/utils";import{Actor as In}from"@dfinity/agent";import{isNullish as Sn}from"@dfinity/utils";import{nonNullish as Cn}from"@dfinity/utils";import{HttpAgent as kn}from"@dfinity/agent";var Wa=({IDL:e})=>{let a=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(a)}),o=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),i=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),n=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),s=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),t=e.Record({field:s,desc:e.Bool}),c=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),d=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(c),description:e.Opt(e.Text),created_at:e.Opt(c)}),m=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),l=e.Record({order:e.Opt(t),owner:e.Opt(e.Principal),matcher:e.Opt(d),paginate:e.Opt(m)}),u=e.Record({controllers:e.Vec(e.Principal)}),x=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),N=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:x,expires_at:e.Opt(e.Nat64)}),h=e.Record({version:e.Opt(e.Nat64)}),T=e.Variant({Db:e.Null,Storage:e.Null}),B=e.Record({version:e.Opt(e.Nat64)}),$=e.Record({proposal_ids:e.Vec(e.Nat)}),Y=e.Record({cycles:e.Nat,destination_id:e.Principal}),X=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),Q=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),A=e.Record({key:X,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,Q)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),Z=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),ee=e.Record({allowed_callers:e.Vec(e.Principal)}),b=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(Z),rules:e.Opt(ee)}),P=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),S=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(P)}),ae=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),re=e.Variant({Deny:e.Null,Allow:e.Null}),oe=e.Record({status_code:e.Nat16,location:e.Text}),D=e.Record({iframe:e.Opt(ae),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(P),raw_access:e.Opt(re),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),Ie=e.Record({db:e.Opt(S),authentication:e.Opt(b),storage:D}),f=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),be=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Se=e.Record({clear_existing_assets:e.Opt(e.Bool)}),De=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),ie=e.Variant({AssetsUpgrade:Se,SegmentsDeployment:De}),E=e.Record({status:be,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:ie}),w=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),ne=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),C=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(a),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:w,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(ne),write:w,max_changes_per_user:e.Opt(e.Nat32)}),Ce=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),U=e.Record({memory:a,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}),Ue=e.Variant({Callback:e.Record({token:U,callback:e.Func([],[],["query"])})}),ke=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Ue),status_code:e.Nat16}),Le=e.Record({token:e.Opt(U),body:e.Vec(e.Nat8)}),k=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),L=e.Record({batch_id:e.Nat}),qe=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,A)),items_length:e.Nat64}),Be=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),je=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,f)),items_length:e.Nat64}),Me=e.Record({desc:e.Bool}),Ke=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Je=e.Record({order:e.Opt(Me),paginate:e.Opt(Ke)}),We=e.Record({proposal_id:e.Nat}),ze=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(We,E)),items_length:e.Nat64}),Ge=e.Record({include_system:e.Bool}),He=e.Record({matcher:e.Opt(Ge)}),$e=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,C)),items_length:e.Nat64}),Ye=e.Record({stable:e.Nat64,heap:e.Nat64}),Xe=e.Record({version:e.Opt(e.Nat64),internet_identity:e.Opt(Z),rules:e.Opt(ee)}),Qe=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:x,expires_at:e.Opt(e.Nat64)}),Ze=e.Record({controller:Qe,controllers:e.Vec(e.Principal)}),ea=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(P)}),se=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),aa=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(a),max_size:e.Opt(e.Nat),read:w,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(ne),write:w,max_changes_per_user:e.Opt(e.Nat32)}),ra=e.Record({iframe:e.Opt(ae),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(P),raw_access:e.Opt(re),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),te=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),ce=e.Record({chunk_id:e.Nat});return e.Service({commit_asset_upload:e.Func([i],[],[]),commit_proposal:e.Func([n],[e.Null],[]),commit_proposal_asset_upload:e.Func([i],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(i)],[],[]),count_assets:e.Func([e.Text,l],[e.Nat64],["query"]),count_collection_assets:e.Func([e.Text],[e.Nat64],["query"]),count_collection_docs:e.Func([e.Text],[e.Nat64],["query"]),count_docs:e.Func([e.Text,l],[e.Nat64],["query"]),count_proposals:e.Func([],[e.Nat64],["query"]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([u],[e.Vec(e.Tuple(e.Principal,N))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,h],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,l],[],[]),del_filtered_docs:e.Func([e.Text,l],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,h))],[],[]),del_rule:e.Func([T,e.Text,B],[],[]),delete_proposal_assets:e.Func([$],[],[]),deposit_cycles:e.Func([Y],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(A)],["query"]),get_auth_config:e.Func([],[e.Opt(b)],["query"]),get_config:e.Func([],[Ie],[]),get_db_config:e.Func([],[e.Opt(S)],["query"]),get_doc:e.Func([e.Text,e.Text],[e.Opt(f)],["query"]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(A)))],["query"]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(f)))],["query"]),get_proposal:e.Func([e.Nat],[e.Opt(E)],["query"]),get_rule:e.Func([T,e.Text],[e.Opt(C)],["query"]),get_storage_config:e.Func([],[D],["query"]),http_request:e.Func([Ce],[ke],["query"]),http_request_streaming_callback:e.Func([U],[Le],["query"]),init_asset_upload:e.Func([k],[L],[]),init_proposal:e.Func([ie],[e.Nat,E],[]),init_proposal_asset_upload:e.Func([k,e.Nat],[L],[]),init_proposal_many_assets_upload:e.Func([e.Vec(k),e.Nat],[e.Vec(e.Tuple(e.Text,L))],[]),list_assets:e.Func([e.Text,l],[qe],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,N))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Be))],["query"]),list_docs:e.Func([e.Text,l],[je],["query"]),list_proposals:e.Func([Je],[ze],["query"]),list_rules:e.Func([T,He],[$e],["query"]),memory_size:e.Func([],[Ye],["query"]),reject_proposal:e.Func([n],[e.Null],[]),set_auth_config:e.Func([Xe],[b],[]),set_controllers:e.Func([Ze],[e.Vec(e.Tuple(e.Principal,N))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([ea],[S],[]),set_doc:e.Func([e.Text,e.Text,se],[f],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,se))],[e.Vec(e.Tuple(e.Text,f))],[]),set_rule:e.Func([T,e.Text,aa],[C],[]),set_storage_config:e.Func([ra],[D],[]),submit_proposal:e.Func([e.Nat],[e.Nat,E],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([te],[ce],[]),upload_proposal_asset_chunk:e.Func([te],[ce],[])})},za=({IDL:e})=>{let a=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(a)}),o=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),i=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),n=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),s=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),t=e.Record({field:s,desc:e.Bool}),c=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),d=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(c),description:e.Opt(e.Text),created_at:e.Opt(c)}),m=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),l=e.Record({order:e.Opt(t),owner:e.Opt(e.Principal),matcher:e.Opt(d),paginate:e.Opt(m)}),u=e.Record({controllers:e.Vec(e.Principal)}),x=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),N=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:x,expires_at:e.Opt(e.Nat64)}),h=e.Record({version:e.Opt(e.Nat64)}),T=e.Variant({Db:e.Null,Storage:e.Null}),B=e.Record({version:e.Opt(e.Nat64)}),$=e.Record({proposal_ids:e.Vec(e.Nat)}),Y=e.Record({cycles:e.Nat,destination_id:e.Principal}),X=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),Q=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),A=e.Record({key:X,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,Q)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),Z=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),ee=e.Record({allowed_callers:e.Vec(e.Principal)}),b=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(Z),rules:e.Opt(ee)}),P=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),S=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(P)}),ae=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),re=e.Variant({Deny:e.Null,Allow:e.Null}),oe=e.Record({status_code:e.Nat16,location:e.Text}),D=e.Record({iframe:e.Opt(ae),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(P),raw_access:e.Opt(re),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),Ie=e.Record({db:e.Opt(S),authentication:e.Opt(b),storage:D}),f=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),be=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Se=e.Record({clear_existing_assets:e.Opt(e.Bool)}),De=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),ie=e.Variant({AssetsUpgrade:Se,SegmentsDeployment:De}),E=e.Record({status:be,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:ie}),w=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),ne=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),C=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(a),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:w,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(ne),write:w,max_changes_per_user:e.Opt(e.Nat32)}),Ce=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),U=e.Record({memory:a,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}),Ue=e.Variant({Callback:e.Record({token:U,callback:e.Func([],[],[])})}),ke=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Ue),status_code:e.Nat16}),Le=e.Record({token:e.Opt(U),body:e.Vec(e.Nat8)}),k=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),L=e.Record({batch_id:e.Nat}),qe=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,A)),items_length:e.Nat64}),Be=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),je=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,f)),items_length:e.Nat64}),Me=e.Record({desc:e.Bool}),Ke=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Je=e.Record({order:e.Opt(Me),paginate:e.Opt(Ke)}),We=e.Record({proposal_id:e.Nat}),ze=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(We,E)),items_length:e.Nat64}),Ge=e.Record({include_system:e.Bool}),He=e.Record({matcher:e.Opt(Ge)}),$e=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,C)),items_length:e.Nat64}),Ye=e.Record({stable:e.Nat64,heap:e.Nat64}),Xe=e.Record({version:e.Opt(e.Nat64),internet_identity:e.Opt(Z),rules:e.Opt(ee)}),Qe=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:x,expires_at:e.Opt(e.Nat64)}),Ze=e.Record({controller:Qe,controllers:e.Vec(e.Principal)}),ea=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(P)}),se=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),aa=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(a),max_size:e.Opt(e.Nat),read:w,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(ne),write:w,max_changes_per_user:e.Opt(e.Nat32)}),ra=e.Record({iframe:e.Opt(ae),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(P),raw_access:e.Opt(re),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),te=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),ce=e.Record({chunk_id:e.Nat});return e.Service({commit_asset_upload:e.Func([i],[],[]),commit_proposal:e.Func([n],[e.Null],[]),commit_proposal_asset_upload:e.Func([i],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(i)],[],[]),count_assets:e.Func([e.Text,l],[e.Nat64],[]),count_collection_assets:e.Func([e.Text],[e.Nat64],[]),count_collection_docs:e.Func([e.Text],[e.Nat64],[]),count_docs:e.Func([e.Text,l],[e.Nat64],[]),count_proposals:e.Func([],[e.Nat64],[]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([u],[e.Vec(e.Tuple(e.Principal,N))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,h],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,l],[],[]),del_filtered_docs:e.Func([e.Text,l],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,h))],[],[]),del_rule:e.Func([T,e.Text,B],[],[]),delete_proposal_assets:e.Func([$],[],[]),deposit_cycles:e.Func([Y],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(A)],[]),get_auth_config:e.Func([],[e.Opt(b)],[]),get_config:e.Func([],[Ie],[]),get_db_config:e.Func([],[e.Opt(S)],[]),get_doc:e.Func([e.Text,e.Text],[e.Opt(f)],[]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(A)))],[]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(f)))],[]),get_proposal:e.Func([e.Nat],[e.Opt(E)],[]),get_rule:e.Func([T,e.Text],[e.Opt(C)],[]),get_storage_config:e.Func([],[D],[]),http_request:e.Func([Ce],[ke],[]),http_request_streaming_callback:e.Func([U],[Le],[]),init_asset_upload:e.Func([k],[L],[]),init_proposal:e.Func([ie],[e.Nat,E],[]),init_proposal_asset_upload:e.Func([k,e.Nat],[L],[]),init_proposal_many_assets_upload:e.Func([e.Vec(k),e.Nat],[e.Vec(e.Tuple(e.Text,L))],[]),list_assets:e.Func([e.Text,l],[qe],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,N))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Be))],[]),list_docs:e.Func([e.Text,l],[je],[]),list_proposals:e.Func([Je],[ze],[]),list_rules:e.Func([T,He],[$e],[]),memory_size:e.Func([],[Ye],[]),reject_proposal:e.Func([n],[e.Null],[]),set_auth_config:e.Func([Xe],[b],[]),set_controllers:e.Func([Ze],[e.Vec(e.Tuple(e.Principal,N))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([ea],[S],[]),set_doc:e.Func([e.Text,e.Text,se],[f],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,se))],[e.Vec(e.Tuple(e.Text,f))],[]),set_rule:e.Func([T,e.Text,aa],[C],[]),set_storage_config:e.Func([ra],[D],[]),submit_proposal:e.Func([e.Nat],[e.Nat,E],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([te],[ce],[]),upload_proposal_asset_chunk:e.Func([te],[ce],[])})};import{nonNullish as la}from"@dfinity/utils";var Ga=({satelliteId:e,container:a})=>{let{satelliteId:r}=pa({satelliteId:e}),{container:o}=da({container:a});if(la(o)&&o!==!1){let{host:i,protocol:n}=new URL(o===!0?K:o);return`${n}//${r??"unknown"}.${i.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},pa=({satelliteId:e})=>la(e)?{satelliteId:e}:O.getInstance().get()??{satelliteId:void 0},da=({container:e})=>la(e)?{container:e}:O.getInstance().get()??{container:void 0};var _=({satellite:e,options:{certified:a}})=>$a({idlFactory:a?za:Wa,actorKey:`stock#${a?"update":"query"}`,...e}),Ha=({idlFactory:e,...a})=>$a({idlFactory:e,actorKey:"extended#query",...a}),$a=async({satelliteId:e,container:a,...r})=>{let{satelliteId:o}=pa({satelliteId:e});Fo(o,"No satellite ID defined. Did you initialize Juno?");let{container:i}=da({container:a});return await W.getInstance().getActor({satelliteId:o,container:i,...r})};import{Principal as Vo}from"@dfinity/principal";import{isNullish as G,toNullable as R}from"@dfinity/utils";var Ya=e=>{if(G(e))return R();switch(e.matcher){case"equal":return R({Equal:e.timestamp});case"greaterThan":return R({GreaterThan:e.timestamp});case"lessThan":return R({LessThan:e.timestamp});case"between":return R({Between:[e.timestamps.start,e.timestamps.end]});default:throw new Fe("Invalid list matcher for timestamp",e)}},I=({matcher:e,paginate:a,order:r,owner:o})=>({matcher:G(e)?[]:[{key:R(e.key),description:R(e.description),created_at:Ya(e.createdAt),updated_at:Ya(e.updatedAt)}],paginate:R(G(a)?void 0:{start_after:R(a.startAfter),limit:R(G(a.limit)?void 0:BigInt(a.limit))}),order:R(G(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:R(G(o)?void 0:typeof o=="string"?Vo.fromText(o):o)});var Xa=async({data:e})=>{try{return await Te(e)}catch(a){console.error("The data parsing has failed, mapping to undefined as a fallback.",a);return}};import{fromNullable as Qa,toNullable as ua}from"@dfinity/utils";var _a=async e=>{let{data:a,version:r,description:o}=e;return{description:ua(o),data:await ja(a),version:ua(r)}},ma=e=>{let{version:a}=e;return{version:ua(a)}},ue=async({doc:e,key:a})=>{let{owner:r,version:o,description:i,data:n,...s}=e;return{key:a,description:Qa(i),owner:r.toText(),data:await Te(n),version:Qa(o),...s}};var Za=async({collection:e,key:a,...r})=>{let{get_doc:o}=await _(r),i=H(await o(e,a));if(!Ao(i))return ue({doc:i,key:a})},er=async({docs:e,...a})=>{let{get_many_docs:r}=await _(a),o=e.map(({collection:s,key:t})=>[s,t]),i=await r(o),n=[];for(let[s,t]of i){let c=H(t);n.push(Po(c)?await ue({key:s,doc:c}):void 0)}return n},ar=async({collection:e,doc:a,...r})=>{let{set_doc:o}=await _(r),{key:i}=a,n=await _a(a),s=await o(e,i,n);return await ue({key:i,doc:s})},rr=async({docs:e,...a})=>{let{set_many_docs:r}=await _(a),o=[];for(let{collection:s,doc:t}of e){let{key:c}=t;o.push([s,c,await _a(t)])}let i=await r(o),n=[];for(let[s,t]of i)n.push(await ue({key:s,doc:t}));return n},or=async({collection:e,doc:a,...r})=>{let{del_doc:o}=await _(r),{key:i}=a;return o(e,i,ma(a))},ir=async({docs:e,...a})=>{let{del_many_docs:r}=await _(a),o=e.map(({collection:i,doc:n})=>[i,n.key,ma(n)]);await r(o)},nr=async({collection:e,filter:a,...r})=>{let{del_filtered_docs:o}=await _(r);return o(e,I(a))},sr=async({collection:e,filter:a,...r})=>{let{list_docs:o}=await _(r),{items:i,items_page:n,items_length:s,matches_length:t,matches_pages:c}=await o(e,I(a)),d=[];for(let[m,l]of i){let{data:u,owner:x,description:N,version:h,...T}=l;d.push({key:m,description:H(N),owner:x.toText(),data:await Xa({data:u}),version:H(h),...T})}return{items:d,items_length:s,items_page:H(n),matches_length:t,matches_pages:H(c)}},tr=async({collection:e,filter:a,...r})=>{let{count_docs:o}=await _(r);return o(e,I(a))};var Ee=async({satellite:e,options:a,...r})=>{let o=p(e?.identity);return await Za({...r,satellite:{...e,identity:o},options:a??V})},us=async({satellite:e,options:a,...r})=>{let o=p(e?.identity);return await er({...r,satellite:{...e,identity:o},options:a??V})},cr=async({satellite:e,...a})=>{let r=p(e?.identity);return await ar({...a,satellite:{...e,identity:r},options:{certified:!0}})},lr=async({satellite:e,...a})=>{let r=p(e?.identity);return await rr({...a,satellite:{...e,identity:r},options:{certified:!0}})},_s=async({satellite:e,...a})=>{let r=p(e?.identity);return await or({...a,satellite:{...e,identity:r},options:{certified:!0}})},ms=async({satellite:e,...a})=>{let r=p(e?.identity);return await ir({...a,satellite:{...e,identity:r},options:{certified:!0}})},Ts=async({satellite:e,filter:a,...r})=>{let o=p(e?.identity);return await nr({...r,filter:a??{},satellite:{...e,identity:o},options:{certified:!0}})},Ns=async({satellite:e,options:a,filter:r,...o})=>{let i=p(e?.identity);return await sr({...o,filter:r??{},satellite:{...e,identity:i},options:a??V})},Os=async({satellite:e,options:a,filter:r,...o})=>{let i=p(e?.identity);return await tr({...o,filter:r??{},satellite:{...e,identity:i},options:a??V})};import{nonNullish as Eo,uint8ArrayToArrayOfNumber as wo}from"@dfinity/utils";var pr=async({delegationIdentity:e,passkeyIdentity:a,satelliteId:r})=>{let o=a.getCredential().getAAGUID(),[i,n]=await lr({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...Eo(o)&&{aaguid:wo(o)}}}}}},{collection:"#user-webauthn",doc:{key:a.getCredential().getCredentialIdText(),data:{publicKey:a.getPublicKey().toRaw()}}}],satellite:{identity:e,satelliteId:r}});return i};var dr=(n=>(n[n.RequestingUserCredential=0]="RequestingUserCredential",n[n.FinalizingCredential=1]="FinalizingCredential",n[n.Signing=2]="Signing",n[n.FinalizingSession=3]="FinalizingSession",n[n.RetrievingUser=4]="RetrievingUser",n))(dr||{}),ur=(s=>(s[s.CreatingUserCredential=0]="CreatingUserCredential",s[s.ValidatingUserCredential=1]="ValidatingUserCredential",s[s.FinalizingCredential=2]="FinalizingCredential",s[s.Signing=3]="Signing",s[s.FinalizingSession=4]="FinalizingSession",s[s.RegisteringUser=5]="RegisteringUser",s))(ur||{});var _e=class{get id(){return"webauthn"}async signUp({options:{onProgress:a,maxTimeToLiveInMilliseconds:r,passkey:o}={},loadAuthWithUser:i}){let{satelliteId:n}=O.getInstance().get()??{satelliteId:void 0};if(Ta(n))throw new q("Satellite ID not set. Have you initialized the Satellite?");let s=({step:h,state:T})=>{switch(h){case v.RequestingUserCredential:a?.({step:1,state:T});break;case v.FinalizingCredential:a?.({step:2,state:T});break;case v.Signing:a?.({step:3,state:T});break}},c=await F({fn:async()=>await ia.createWithNewCredential({onProgress:s,passkeyOptions:o}),step:0,onProgress:a}),{delegationIdentity:d,sessionKey:m}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),u=await F({fn:async()=>await pr({delegationIdentity:d,passkeyIdentity:c,satelliteId:n}),step:5,onProgress:a});await F({fn:async()=>await this.#a({delegationIdentity:d,sessionKey:m}),step:4,onProgress:a}),await F({fn:async()=>await i({user:u}),step:5,onProgress:a})}async signIn({options:{onProgress:a,maxTimeToLiveInMilliseconds:r}={},loadAuth:o}){let{satelliteId:i}=O.getInstance().get()??{satelliteId:void 0};if(Ta(i))throw new q("Satellite ID not set. Have you initialized the Satellite?");let n=async({credentialId:l})=>{let u=await Ee({collection:"#user-webauthn",key:Bo(l),options:{certified:!0},satellite:{identity:new Io,satelliteId:i}});if(Ta(u))throw new ge("No public key found for the selected passkey.");let{data:x}=u,{publicKey:N}=x;return qo(N,ko)},s=({step:l,state:u})=>{switch(l){case v.RequestingUserCredential:a?.({step:0,state:u});break;case v.FinalizingCredential:a?.({step:1,state:u});break;case v.Signing:a?.({step:2,state:u});break}},t=await ia.createWithExistingCredential({retrievePublicKey:n,onProgress:s}),{delegationIdentity:c,sessionKey:d}=await this.#e({identity:t,maxTimeToLiveInMilliseconds:r});await F({fn:async()=>await this.#a({delegationIdentity:c,sessionKey:d}),step:3,onProgress:a}),await F({fn:o,step:4,onProgress:a})}async#e({identity:a,maxTimeToLiveInMilliseconds:r}){let o=await Lo.generate({extractable:!1}),i=r??144e5,n=await Co.create(a,o.getPublicKey(),new Date(Date.now()+i));return{delegationIdentity:Uo.fromDelegation(o,n),sessionKey:o}}async#a({sessionKey:a,delegationIdentity:r}){let o=new bo;await Promise.all([o.set(Do,a.getKeyPair()),o.set(So,JSON.stringify(r.getDelegation().toJSON()))])}};import{AuthClient as jo,IdbStorage as Mo,KEY_STORAGE_KEY as Ko}from"@dfinity/auth-client";var me=()=>jo.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),_r=async()=>(await new Mo().remove(Ko),await me());import{isNullish as Jo,nonNullish as Tr}from"@dfinity/utils";var Na=({error:e,type:a})=>typeof e=="string"?e.includes(a):e instanceof Error?e.message.includes(a):!1;var mr="juno.datastore.error.user.cannot_update";var Nr=async({provider:e})=>{let{user:a,userId:r}=await Oa();if(Tr(a))return a;try{return await Wo({userId:r,provider:e})}catch(o){if(Na({error:o,type:mr})){let i=await Or({userId:r});if(Tr(i))return i}throw o}},Oa=async()=>{let e=Pe();if(Jo(e))throw new fe("No identity to initialize the user. Have you initialized Juno?");let a=e.getPrincipal().toText(),r=await Or({userId:a});return{userId:a,user:r}},Or=({userId:e})=>Ee({collection:"#user",key:e}),Wo=({userId:e,...a})=>cr({collection:"#user",doc:{key:e,data:a}});var g,xa=async()=>{await ya({fn:async()=>{let{user:a}=await Oa();y.getInstance().set(a??null)}})},Go=async({user:e})=>{await ya({fn:async()=>{y.getInstance().set(e)}})},xr=async({provider:e})=>{await ya({fn:async()=>{let r=await Nr({provider:e});y.getInstance().set(r)}})},ya=async({fn:e})=>{if(g=await me(),!await g.isAuthenticated()){g=await _r();return}await e()},Ho=async e=>{let a=async()=>await Yo(e);if(Object.values(e)[0].context?.windowGuard===!1){await a();return}await ca({fn:a})},$o=async e=>{let a=async()=>await Xo(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await a();return}await ca({fn:a})},Yo=async e=>{if("webauthn"in e){let{webauthn:{options:a}}=e;await new _e().signIn({options:a,loadAuth:xa});return}if("nfid"in e){let{nfid:{options:a}}=e,{appName:r,logoUrl:o,...i}=a??{};await new Ae({appName:r,logoUrl:o}).signIn({options:i,authClient:g,initAuth:xr});return}if("internet_identity"in e){let{internet_identity:{options:a}}=e,{domain:r,...o}=a??{};await new Ve({domain:r}).signIn({options:o,authClient:g,initAuth:xr});return}throw new Re("An unknown or unsupported provider was provided for sign-in.")},Xo=async e=>{if("webauthn"in e){let{webauthn:{options:a}}=e;await new _e().signUp({options:a,loadAuthWithUser:Go});return}throw new he("An unknown or unsupported provider was provided for sign-up.")},Ra=async e=>{await Qo(),g=await me(),e?.windowReload!==!1&&window.location.reload()},Qo=async()=>{await g?.logout(),g=null,y.getInstance().reset(),W.getInstance().reset(),J.getInstance().reset()},Pe=()=>g?.getIdentity(),Zo=async()=>(g??await me()).getIdentity(),ei=async()=>{let e=y.getInstance().get();return zo(e)||!(await g?.isAuthenticated()??!1)?null:g?.getIdentity()??null};var yr=e=>{let a=e===!0?"./workers/auth.worker.js":e,r=new Worker(a),o=async()=>{na({message:"junoSignOutAuthTimer"}),await Ra()};return r.onmessage=async({data:i})=>{let{msg:n,data:s}=i;switch(n){case"junoSignOutAuthTimer":await o();return;case"junoDelegationRemainingTime":na({message:"junoDelegationRemainingTime",detail:s?.authRemainingTime});return}},y.getInstance().subscribe(i=>{if(ai(i)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var Rr=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_SATELLITE_ID??import.meta.env?.PUBLIC_SATELLITE_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_SATELLITE_ID??e():e()},gr=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_CONTAINER??import.meta.env?.PUBLIC_CONTAINER:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_CONTAINER??e():e()};var _t=async({idlFactory:e,satellite:a})=>{let r=p(a?.identity);return await Ha({idlFactory:e,...a,identity:r})};import{fromNullable as br,nonNullish as ci}from"@dfinity/utils";import{fromNullable as ve}from"@dfinity/utils";import{assertNonNullish as Nt,toNullable as we}from"@dfinity/utils";var hr=async({asset:{data:e,headers:a,...r},actor:o,progress:i})=>{let{init_asset_upload:n,upload_asset_chunk:s,commit_asset_upload:t}=o,{batch_id:c}=await n(ri(r));i?.onInitiatedBatch();let{chunkIds:d}=await ni({data:e,uploadFn:s,batchId:c});i?.onUploadedFileChunks(r.fullPath),await ii({commitFn:t,batchId:c,data:e,headers:a,chunkIds:d}),i?.onCommittedBatch()};var ri=({filename:e,collection:a,token:r,fullPath:o,encoding:i,description:n})=>({collection:a,full_path:o,name:e,token:we(r),encoding_type:we(i),description:we(n)}),oi=({batchId:e,chunkIds:a,headers:r,data:o})=>{let i=r.find(([n,s])=>n.toLowerCase()==="content-type")===void 0&&o.type!==void 0&&o.type!==""?[["Content-Type",o.type]]:void 0;return{batch_id:e,chunk_ids:a.map(({chunk_id:n})=>n),headers:[...r,...i??[]]}},ii=async({commitFn:e,...a})=>{let r=oi(a);await e(r)},ni=async({data:e,uploadFn:a,batchId:r})=>{let o=[],i=Ne()?new Blob([await e.arrayBuffer()]):e,n=0n;for(let t=0;t<i.size;t+=19e5){let c=i.slice(t,t+19e5);o.push({batchId:r,chunk:c,uploadFn:a,orderId:n}),n++}let s=[];for await(let t of si({uploadChunks:o}))s=[...s,...t];return{chunkIds:s}};async function*si({uploadChunks:e,limit:a=12}){for(let r=0;r<e.length;r=r+a){let o=e.slice(r,r+a);yield await Promise.all(o.map(i=>ti(i)))}}var ti=async({batchId:e,chunk:a,uploadFn:r,orderId:o})=>r({batch_id:e,content:new Uint8Array(await a.arrayBuffer()),order_id:we(o)});var fr=async({asset:e,...a})=>{let r=await _(a);await hr({actor:r,asset:e})},Fr=async({collection:e,filter:a,...r})=>{let{list_assets:o}=await _(r),{items:i,items_length:n,items_page:s,matches_length:t,matches_pages:c}=await o(e,I(a));return{items:i.map(([d,m])=>m),items_length:n,items_page:ve(s),matches_length:t,matches_pages:ve(c)}},Vr=async({collection:e,filter:a,...r})=>{let{count_assets:o}=await _(r);return o(e,I(a))},Ar=async({collection:e,fullPath:a,...r})=>(await _(r)).del_asset(e,a),Pr=async({assets:e,satellite:a})=>{let{del_many_assets:r}=await _({satellite:a,options:{certified:!0}}),o=e.map(({collection:i,fullPath:n})=>[i,n]);await r(o)},Er=async({collection:e,filter:a,...r})=>{let{del_filtered_assets:o}=await _(r);return o(e,I(a))},wr=async({collection:e,fullPath:a,...r})=>{let{get_asset:o}=await _(r);return ve(await o(e,a))},vr=async({assets:e,...a})=>{let{get_many_assets:r}=await _(a),o=e.map(({collection:n,fullPath:s})=>[n,s]);return(await r(o)).map(([n,s])=>ve(s))};var Ir=e=>btoa([...e].map(a=>String.fromCharCode(a)).join(""));var It=e=>Sr(e),bt=e=>Sr({filename:e.data.name,...e}),Sr=async({filename:e,data:a,collection:r,headers:o=[],fullPath:i,token:n,satellite:s,encoding:t,description:c})=>{let d=p(s?.identity),m=decodeURI(e),l=i??`/${r}/${m}`,u={...s,identity:d};return await fr({asset:{data:a,filename:m,collection:r,token:n,headers:o,fullPath:l,encoding:t,description:c},satellite:u,options:{certified:!0}}),{downloadUrl:Dr({satellite:u,assetKey:{fullPath:l,token:n}}),fullPath:l,name:m}},St=async({collection:e,filter:a,satellite:r,options:o})=>{let i={...r,identity:p(r?.identity)},{items:n,...s}=await Fr({collection:e,filter:a??{},satellite:i,options:o??V}),t=n.map(({key:{full_path:c,token:d,name:m,owner:l,description:u},headers:x,encodings:N,created_at:h,updated_at:T})=>{let B=br(d);return{fullPath:c,description:br(u),name:m,downloadUrl:Dr({satellite:i,assetKey:{fullPath:c,token:B}}),token:B,headers:x,encodings:N.reduce(($,[Y,{modified:X,sha256:Q,total_length:A}])=>({...$,[Y]:{modified:X,sha256:Ir(Q),total_length:A}}),{}),owner:l.toText(),created_at:h,updated_at:T}});return{items:t,assets:t,...s}},Dt=async({collection:e,filter:a,satellite:r,options:o})=>{let i={...r,identity:p(r?.identity)};return await Vr({collection:e,satellite:i,filter:a??{},options:o??V})},Ct=({collection:e,fullPath:a,satellite:r})=>Ar({collection:e,fullPath:a,satellite:{...r,identity:p(r?.identity)},options:{certified:!0}}),Ut=({assets:e,satellite:a})=>Pr({assets:e,satellite:{...a,identity:p(a?.identity)},options:{certified:!0}}),kt=async({collection:e,satellite:a,filter:r})=>{let o={...a,identity:p(a?.identity)};return await Er({collection:e,satellite:o,filter:r??{},options:{certified:!0}})},Lt=async({satellite:e,options:a,...r})=>{let o=p(e?.identity);return await wr({...r,satellite:{...e,identity:o},options:a??V})},qt=async({satellite:e,options:a,...r})=>{let o=p(e?.identity);return await vr({...r,satellite:{...e,identity:o},options:a??V})},Dr=({assetKey:{fullPath:e,token:a},satellite:r})=>{let o={...r,identity:p(r?.identity)};return`${Ga(o)}${e}${ci(a)?`?token=${a}`:""}`};var pi=e=>{let a=e?.satelliteId??Rr();li(a,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??gr();return{satelliteId:a,internetIdentityId:e?.internetIdentityId,workers:e?.workers,container:r}},Ht=e=>di(e),di=async e=>{let a=pi(e);O.getInstance().set(a),await xa();let r=a.workers?.auth!==void 0?yr(a.workers.auth):void 0;return[...r?[r]:[]]},ui=e=>y.getInstance().subscribe(e),$t=ui;export{Ka as AuthClientSignInProgressStep,fe as InitError,Ve as InternetIdentityProvider,Fe as ListError,Ae as NFIDProvider,xe as SignInError,q as SignInInitError,Re as SignInProviderNotSupportedError,ye as SignInUserInterruptError,he as SignUpProviderNotSupportedError,dr as WebAuthnSignInProgressStep,ge as WebAuthnSignInRetrievePublicKeyError,ur as WebAuthnSignUpProgressStep,$t as authSubscribe,Dt as countAssets,Os as countDocs,Ct as deleteAsset,_s as deleteDoc,kt as deleteFilteredAssets,Ts as deleteFilteredDocs,Ut as deleteManyAssets,ms as deleteManyDocs,Dr as downloadUrl,Lt as getAsset,Ee as getDoc,ei as getIdentityOnce,qt as getManyAssets,us as getManyDocs,_t as getSatelliteExtendedActor,Ht as initJuno,di as initSatellite,po as isWebAuthnAvailable,St as listAssets,Ns as listDocs,ui as onAuthStateChange,cr as setDoc,lr as setManyDocs,Ho as signIn,Ra as signOut,$o as signUp,Zo as unsafeIdentity,It as uploadBlob,bt as uploadFile};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|