@junobuild/core 2.1.2 → 2.2.0-next-2025-09-23

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.
@@ -1,2 +1,2 @@
1
- import{assertNonNullish as ii}from"@dfinity/utils";import{uint8ArrayToArrayOfNumber as vr}from"@dfinity/utils";import{DER_COSE_OID as Dr,wrapDER as Sr}from"@dfinity/agent";import{uint8ArrayToBase64 as Lr}from"@dfinity/utils";import{Cbor as ya,SignIdentity as Hr}from"@dfinity/agent";import{arrayBufferToUint8Array as K,isNullish as te,uint8ArraysEqual as $r}from"@dfinity/utils";import{isNullish as Qr}from"@dfinity/utils";import{nonNullish as no}from"@dfinity/utils";var Ir=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let a=e.slice(37,53),r=br({bytes:a});return"aaguid"in r?{aaguidBytes:a,aaguidText:r.aaguid}:{unknownProvider:null}},br=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let a=(e instanceof Uint8Array?vr(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 Cr(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 kr(e){return Sr(e,Dr)}var Ur=class{constructor(e){this._cose=e,this.#e=kr(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 Ur(a)}getPublicKey(){return this.#a}getCredentialId(){return this.#e}getCredentialIdText(){return Lr(this.#e)}},qr=class extends fa{#e;#a;constructor({authData:e,...a}){super(a);let r=Ir({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}},Br=class extends fa{},jr=class extends Error{},Mr=class extends Error{},Jr=class extends Error{},Kr=class extends Error{},Wr=class extends Error{},zr=class extends Error{},Gr=class extends Error{},xa=class extends Error{};var Yr={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},Xr=6e4,Fa=()=>window.crypto.getRandomValues(new Uint8Array(16)),Zr=()=>Fa(),eo=()=>Fa(),ao=()=>{let{location:{href:e}}=window,a=URL.parse(e);if(Qr(a))throw new jr;let{hostname:r}=a;return r},Aa=({appId:e})=>e?.id??ao(),ro=({appId:e,user:a}={})=>{let{document:{title:r}}=window,o=()=>({rp:{name:e?.name??r,id:Aa({appId:e})}}),i=()=>({user:{id:eo(),name:a?.name??a?.displayName??r,displayName:a?.displayName??r}});return{attestation:"direct",challenge:Zr(),...o(),...i(),pubKeyCredParams:Object.values(Yr).map(n=>({type:"public-key",alg:n})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},oo=(e={})=>({rpId:Aa(e),allowCredentials:[],userVerification:"required"}),ea=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||{}),Va=({timeout:e})=>AbortSignal.timeout(e??Xr),io=async({challenge:e,credentialIds:a,passkeyOptions:r,timeout:o})=>await navigator.credentials.get({publicKey:{...oo(r),challenge:e.buffer,allowCredentials:(a??[]).map(i=>({id:i.buffer,type:"public-key"}))},signal:Va({timeout:o})}),Ra=e=>{if(e.status!=="initialized")throw new Mr},ga=e=>{if(te(e))throw new Jr},ha=({type:e})=>{if(e!=="public-key")throw new Kr},aa=class ce extends Hr{#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 qr(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:ro(a),signal:Va({timeout:r})});ga(i),ha(i);let{response:{attestationObject:n},rawId:s}=i;if(te(n))throw new Wr;let{authData:t}=ya.decode(K(n)),c=Cr(t);return new ce({...o,rawId:K(s),cose:c,authData:t})}static async createWithExistingCredential(a){return new ce(a)}getPublicKey(){Ra(this.#a);let{credential:a}=this.#a;return a.getPublicKey()}getCredential(){Ra(this.#a);let{credential:a}=this.#a;return a}async sign(a){let r=await ea({fn:async()=>{let o=await io({challenge:a,...this.#a.status==="initialized"&&{credentialIds:[this.#a.credential.getCredentialId()]}});return ga(o),ha(o),o},step:0,onProgress:this.#e});return await ea({fn:async()=>{let{rawId:o}=r;if(this.#a.status==="initialized"){if(!$r({a:this.#a.credential.getCredentialId(),b:K(o)}))throw new zr;return}let{retrievePublicKey:i}=this.#a,n=await i({credentialId:K(o)});this.#a=ce.#r({credential:new Br({rawId:K(o),cose:n})})},step:1,onProgress:this.#e}),await ea({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 xa;if(te(s))throw new xa;let t=ya.encode({authenticator_data:n,client_data_json:new TextDecoder().decode(i),signature:K(s)});if(te(t))throw new Gr;return Object.assign(t,{__signature__:void 0}),t},step:2,onProgress:this.#e})}},so=async()=>no(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;import{isNullish as Yo}from"@dfinity/utils";var W=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 W{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 ra=({message:e,detail:a})=>{let r=new CustomEvent(e,{detail:a,bubbles:!0});document.dispatchEvent(r)};import{isNullish as jo}from"@dfinity/utils";import{Actor as co}from"@dfinity/agent";import{isNullish as ia}from"@dfinity/utils";import{isNullish as oa}from"@dfinity/utils";import{HttpAgent as to}from"@dfinity/agent";import{nonNullish as Ea}from"@dfinity/utils";var z="http://127.0.0.1:5987",Pa="rdmx6-jaaaa-aaaaa-aaadq-cai";var wa=async({identity:e,container:a})=>{let o=Ea(a)&&a!==!1?a===!0?z:a:"https://icp-api.io",i=Ea(a);return await to.create({identity:e,shouldFetchRootKey:i,host:o})};var G=class e{static instance;#e=void 0;constructor(){}static getInstance(){return oa(e.instance)&&(e.instance=new e),e.instance}async getAgent({identity:a,...r}){let o=a.getPrincipal().toText();if(oa(this.#e)||oa(this.#e[o])){let i=await wa({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 ia(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(ia(this.#e)||ia(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 co.createActor(a,{agent:i,canisterId:r})}};var va=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),lo=()=>{window.addEventListener("beforeunload",va,{capture:!0})},po=()=>{window.removeEventListener("beforeunload",va,{capture:!0})},na=async({fn:e})=>{try{return lo(),await e()}finally{po()}};import{isNullish as No,nonNullish as qa}from"@dfinity/utils";var N=class e extends W{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 Ia=BigInt(144e11),ba=!1,Da={width:576,height:576},Sa={width:505,height:705},Ca="internetcomputer.org";import{isNullish as Ua}from"@dfinity/utils";import{jsonReplacer as uo,jsonReviver as _o}from"@dfinity/utils";var ka=async e=>{let a=new Blob([JSON.stringify(e,uo)],{type:"application/json; charset=utf-8"});return new Uint8Array(await a.arrayBuffer())},ue=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(),_o)},_e=()=>typeof window<"u";var me=({width:e,height:a})=>{if(!_e()||Ua(window)||Ua(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 mo}from"@dfinity/auth-client";import{isNullish as To}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 La=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))(La||{});var Te=class extends Error{},M=class extends Error{},Ne=class extends Error{},Oe=class extends Error{},xe=class extends Error{},ye=class extends Error{},Re=class extends Error{},ge=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(To(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===mo){i(new Ne(n));return}i(new Te(n))},maxTimeToLive:a?.maxTimeToLiveInNanoseconds??Ia,allowPinAuthentication:a?.allowPin??ba,...a?.derivationOrigin!==void 0&&{derivationOrigin:a.derivationOrigin},...this.signInOptions({windowed:a?.windowed})})})}};var he=class extends ${#e;constructor({domain:a}){super(),this.#e=a}get id(){return"internet_identity"}signInOptions({windowed:a}){let r=()=>{let o=N.getInstance().get()?.container;if(No(o)||o===!1)return`https://identity.${this.#e??Ca}`;let i=N.getInstance().get(),n=qa(i)&&qa(i?.internetIdentityId)?i.internetIdentityId:Pa,{host:s,protocol:t}=new URL(o===!0?z:o);return/apple/i.test(navigator?.vendor)?`${t}//${s}?canisterId=${n}`:`${t}//${n}.${s.replace("127.0.0.1","localhost")}`};return{...a!==!1&&{windowOpenerFeatures:me(Da)},identityProvider:r()}}};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:me(Sa)},identityProvider:`https://nfid.one/authenticate/?applicationName=${encodeURI(this.#e)}&applicationLogo=${encodeURI(this.#a)}`}}};import{AnonymousIdentity as Vo}from"@dfinity/agent";import{IdbStorage as Po,KEY_STORAGE_DELEGATION as Eo,KEY_STORAGE_KEY as wo}from"@dfinity/auth-client";import{DelegationChain as vo,DelegationIdentity as Io,DER_COSE_OID as bo,ECDSAKeyIdentity as Do,unwrapDER as So}from"@dfinity/identity";import{isNullish as ua,uint8ArrayToBase64 as Co}from"@dfinity/utils";var F={certified:!1};import{AnonymousIdentity as Oo}from"@dfinity/agent";import{nonNullish as xo}from"@dfinity/utils";var l=e=>xo(e)?e:Fe()??new Oo;import{fromNullable as X,isNullish as go,nonNullish as ho}from"@dfinity/utils";import{assertNonNullish as yo}from"@dfinity/utils";import{Actor as Pn}from"@dfinity/agent";import{isNullish as wn}from"@dfinity/utils";import{nonNullish as In}from"@dfinity/utils";import{HttpAgent as Dn}from"@dfinity/agent";var Ba=({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)}),_=e.Record({controllers:e.Vec(e.Principal)}),m=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),d=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:m,expires_at:e.Opt(e.Nat64)}),p=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}),k=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)))}),Ee=e.Record({db:e.Opt(C),authentication:e.Opt(P),storage:k}),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)}),we=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),ve=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Ie=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),re=e.Variant({AssetsUpgrade:ve,SegmentsDeployment:Ie}),w=e.Record({status:we,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}),U=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(U),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)}),be=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:U,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}),De=e.Variant({Callback:e.Record({token:q,callback:e.Func([],[],["query"])})}),Se=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(De),status_code:e.Nat16}),Ce=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}),Ue=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Le=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}),qe=e.Record({desc:e.Bool}),Be=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),je=e.Record({order:e.Opt(qe),paginate:e.Opt(Be)}),Me=e.Record({proposal_id:e.Nat}),Je=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Me,w)),items_length:e.Nat64}),Ke=e.Record({include_system:e.Bool}),We=e.Record({matcher:e.Opt(Ke)}),ze=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,L)),items_length:e.Nat64}),Ge=e.Record({stable:e.Nat64,heap:e.Nat64}),He=e.Record({version:e.Opt(e.Nat64),internet_identity:e.Opt(D),rules:e.Opt(S)}),$e=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:m,expires_at:e.Opt(e.Nat64)}),Ye=e.Record({controller:$e,controllers:e.Vec(e.Principal)}),Xe=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)}),Qe=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(U),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)}),Ze=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([_],[e.Vec(e.Tuple(e.Principal,d))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,p],[],[]),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,p))],[],[]),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([],[Ee],[]),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([],[k],["query"]),http_request:e.Func([be],[Se],["query"]),http_request_streaming_callback:e.Func([q],[Ce],["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,d))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Ue))],["query"]),list_docs:e.Func([e.Text,c],[Le],["query"]),list_proposals:e.Func([je],[Je],["query"]),list_rules:e.Func([T,We],[ze],["query"]),memory_size:e.Func([],[Ge],["query"]),reject_proposal:e.Func([r],[e.Null],[]),set_auth_config:e.Func([He],[P],[]),set_controllers:e.Func([Ye],[e.Vec(e.Tuple(e.Principal,d))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([Xe],[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,Qe],[L],[]),set_storage_config:e.Func([Ze],[k],[]),submit_proposal:e.Func([e.Nat],[e.Nat,w],[]),upload_asset_chunk:e.Func([ne],[se],[]),upload_proposal_asset_chunk:e.Func([ne],[se],[])})},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)}),_=e.Record({controllers:e.Vec(e.Principal)}),m=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),d=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:m,expires_at:e.Opt(e.Nat64)}),p=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}),k=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)))}),Ee=e.Record({db:e.Opt(C),authentication:e.Opt(P),storage:k}),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)}),we=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),ve=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Ie=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),re=e.Variant({AssetsUpgrade:ve,SegmentsDeployment:Ie}),w=e.Record({status:we,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}),U=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(U),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)}),be=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:U,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}),De=e.Variant({Callback:e.Record({token:q,callback:e.Func([],[],[])})}),Se=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(De),status_code:e.Nat16}),Ce=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}),Ue=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Le=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}),qe=e.Record({desc:e.Bool}),Be=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),je=e.Record({order:e.Opt(qe),paginate:e.Opt(Be)}),Me=e.Record({proposal_id:e.Nat}),Je=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Me,w)),items_length:e.Nat64}),Ke=e.Record({include_system:e.Bool}),We=e.Record({matcher:e.Opt(Ke)}),ze=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,L)),items_length:e.Nat64}),Ge=e.Record({stable:e.Nat64,heap:e.Nat64}),He=e.Record({version:e.Opt(e.Nat64),internet_identity:e.Opt(D),rules:e.Opt(S)}),$e=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:m,expires_at:e.Opt(e.Nat64)}),Ye=e.Record({controller:$e,controllers:e.Vec(e.Principal)}),Xe=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)}),Qe=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(U),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)}),Ze=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([_],[e.Vec(e.Tuple(e.Principal,d))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,p],[],[]),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,p))],[],[]),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([],[Ee],[]),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([],[k],[]),http_request:e.Func([be],[Se],[]),http_request_streaming_callback:e.Func([q],[Ce],[]),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,d))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Ue))],[]),list_docs:e.Func([e.Text,c],[Le],[]),list_proposals:e.Func([je],[Je],[]),list_rules:e.Func([T,We],[ze],[]),memory_size:e.Func([],[Ge],[]),reject_proposal:e.Func([r],[e.Null],[]),set_auth_config:e.Func([He],[P],[]),set_controllers:e.Func([Ye],[e.Vec(e.Tuple(e.Principal,d))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([Xe],[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,Qe],[L],[]),set_storage_config:e.Func([Ze],[k],[]),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 sa}from"@dfinity/utils";var Ma=({satelliteId:e,container:a})=>{let{satelliteId:r}=ta({satelliteId:e}),{container:o}=ca({container:a});if(sa(o)&&o!==!1){let{host:i,protocol:n}=new URL(o===!0?z:o);return`${n}//${r??"unknown"}.${i.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},ta=({satelliteId:e})=>sa(e)?{satelliteId:e}:N.getInstance().get()??{satelliteId:void 0},ca=({container:e})=>sa(e)?{container:e}:N.getInstance().get()??{container:void 0};var u=({satellite:e,options:{certified:a}})=>Ka({idlFactory:a?ja:Ba,actorKey:`stock#${a?"update":"query"}`,...e}),Ja=({idlFactory:e,...a})=>Ka({idlFactory:e,actorKey:"extended#query",...a}),Ka=async({satelliteId:e,container:a,...r})=>{let{satelliteId:o}=ta({satelliteId:e});yo(o,"No satellite ID defined. Did you initialize Juno?");let{container:i}=ca({container:a});return await H.getInstance().getActor({satelliteId:o,container:i,...r})};import{Principal as Ro}from"@dfinity/principal";import{isNullish as Y,toNullable as x}from"@dfinity/utils";var Wa=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 ge("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:Wa(e.createdAt),updated_at:Wa(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"?Ro.fromText(o):o)});var za=async({data:e})=>{try{return await ue(e)}catch(a){console.error("The data parsing has failed, mapping to undefined as a fallback.",a);return}};import{fromNullable as Ga,toNullable as la}from"@dfinity/utils";var pa=async e=>{let{data:a,version:r,description:o}=e;return{description:la(o),data:await ka(a),version:la(r)}},da=e=>{let{version:a}=e;return{version:la(a)}},le=async({doc:e,key:a})=>{let{owner:r,version:o,description:i,data:n,...s}=e;return{key:a,description:Ga(i),owner:r.toText(),data:await ue(n),version:Ga(o),...s}};var Ha=async({collection:e,key:a,...r})=>{let{get_doc:o}=await u(r),i=X(await o(e,a));if(!go(i))return le({doc:i,key:a})},$a=async({docs:e,...a})=>{let{get_many_docs:r}=await u(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(ho(c)?await le({key:s,doc:c}):void 0)}return n},Ya=async({collection:e,doc:a,...r})=>{let{set_doc:o}=await u(r),{key:i}=a,n=await pa(a),s=await o(e,i,n);return await le({key:i,doc:s})},Xa=async({docs:e,...a})=>{let{set_many_docs:r}=await u(a),o=[];for(let{collection:s,doc:t}of e){let{key:c}=t;o.push([s,c,await pa(t)])}let i=await r(o),n=[];for(let[s,t]of i)n.push(await le({key:s,doc:t}));return n},Qa=async({collection:e,doc:a,...r})=>{let{del_doc:o}=await u(r),{key:i}=a;return o(e,i,da(a))},Za=async({docs:e,...a})=>{let{del_many_docs:r}=await u(a),o=e.map(({collection:i,doc:n})=>[i,n.key,da(n)]);await r(o)},er=async({collection:e,filter:a,...r})=>{let{del_filtered_docs:o}=await u(r);return o(e,b(a))},ar=async({collection:e,filter:a,...r})=>{let{list_docs:o}=await u(r),{items:i,items_page:n,items_length:s,matches_length:t,matches_pages:c}=await o(e,b(a)),_=[];for(let[m,d]of i){let{data:p,owner:T,description:h,version:A,...R}=d;_.push({key:m,description:X(h),owner:T.toText(),data:await za({data:p}),version:X(A),...R})}return{items:_,items_length:s,items_page:X(n),matches_length:t,matches_pages:X(c)}},rr=async({collection:e,filter:a,...r})=>{let{count_docs:o}=await u(r);return o(e,b(a))};var Ae=async({satellite:e,options:a,...r})=>{let o=l(e?.identity);return await Ha({...r,satellite:{...e,identity:o},options:a??F})},cs=async({satellite:e,options:a,...r})=>{let o=l(e?.identity);return await $a({...r,satellite:{...e,identity:o},options:a??F})},or=async({satellite:e,...a})=>{let r=l(e?.identity);return await Ya({...a,satellite:{...e,identity:r},options:{certified:!0}})},ir=async({satellite:e,...a})=>{let r=l(e?.identity);return await Xa({...a,satellite:{...e,identity:r},options:{certified:!0}})},ls=async({satellite:e,...a})=>{let r=l(e?.identity);return await Qa({...a,satellite:{...e,identity:r},options:{certified:!0}})},ps=async({satellite:e,...a})=>{let r=l(e?.identity);return await Za({...a,satellite:{...e,identity:r},options:{certified:!0}})},ds=async({satellite:e,filter:a,...r})=>{let o=l(e?.identity);return await er({...r,filter:a??{},satellite:{...e,identity:o},options:{certified:!0}})},us=async({satellite:e,options:a,filter:r,...o})=>{let i=l(e?.identity);return await ar({...o,filter:r??{},satellite:{...e,identity:i},options:a??F})},_s=async({satellite:e,options:a,filter:r,...o})=>{let i=l(e?.identity);return await rr({...o,filter:r??{},satellite:{...e,identity:i},options:a??F})};import{nonNullish as fo,uint8ArrayToArrayOfNumber as Fo}from"@dfinity/utils";var nr=async({delegationIdentity:e,passkeyIdentity:a,satelliteId:r})=>{let o=a.getCredential().getAAGUID(),[i,n]=await ir({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...fo(o)&&{aaguid:Fo(o)}}}}}},{collection:"#user-webauthn",doc:{key:a.getCredential().getCredentialIdText(),data:{publicKey:a.getPublicKey().toRaw()}}}],satellite:{identity:e,satelliteId:r}});return i};var sr=(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))(sr||{}),tr=(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))(tr||{});var pe=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(ua(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 aa.createWithNewCredential({onProgress:s,passkeyOptions:o}),step:0,onProgress:a}),{delegationIdentity:_,sessionKey:m}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),p=await f({fn:async()=>await nr({delegationIdentity:_,passkeyIdentity:c,satelliteId:n}),step:5,onProgress:a});await f({fn:async()=>await this.#a({delegationIdentity:_,sessionKey:m}),step:4,onProgress:a}),await f({fn:async()=>await i({user:p}),step:5,onProgress:a})}async signIn({options:{onProgress:a,maxTimeToLiveInMilliseconds:r}={},loadAuth:o}){let{satelliteId:i}=N.getInstance().get()??{satelliteId:void 0};if(ua(i))throw new M("Satellite ID not set. Have you initialized the Satellite?");let n=async({credentialId:d})=>{let p=await Ae({collection:"#user-webauthn",key:Co(d),options:{certified:!0},satellite:{identity:new Vo,satelliteId:i}});if(ua(p))throw new xe("No public key found for the selected passkey.");let{data:T}=p,{publicKey:h}=T;return So(h,bo)},s=({step:d,state:p})=>{switch(d){case I.RequestingUserCredential:a?.({step:0,state:p});break;case I.FinalizingCredential:a?.({step:1,state:p});break;case I.Signing:a?.({step:2,state:p});break}},t=await aa.createWithExistingCredential({retrievePublicKey:n,onProgress:s}),{delegationIdentity:c,sessionKey:_}=await this.#e({identity:t,maxTimeToLiveInMilliseconds:r});await f({fn:async()=>await this.#a({delegationIdentity:c,sessionKey:_}),step:3,onProgress:a}),await f({fn:o,step:4,onProgress:a})}async#e({identity:a,maxTimeToLiveInMilliseconds:r}){let o=await Do.generate({extractable:!1}),i=r??144e5,n=await vo.create(a,o.getPublicKey(),new Date(Date.now()+i));return{delegationIdentity:Io.fromDelegation(o,n),sessionKey:o}}async#a({sessionKey:a,delegationIdentity:r}){let o=new Po;await Promise.all([o.set(wo,a.getKeyPair()),o.set(Eo,JSON.stringify(r.getDelegation().toJSON()))])}};import{AuthClient as ko,IdbStorage as Uo,KEY_STORAGE_KEY as Lo}from"@dfinity/auth-client";var de=()=>ko.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),cr=async()=>(await new Uo().remove(Lo),await de());import{isNullish as qo,nonNullish as pr}from"@dfinity/utils";var _a=({error:e,type:a})=>typeof e=="string"?e.includes(a):e instanceof Error?e.message.includes(a):!1;var lr="juno.datastore.error.user.cannot_update";var dr=async({provider:e})=>{let{user:a,userId:r}=await ma();if(pr(a))return a;try{return await Bo({userId:r,provider:e})}catch(o){if(_a({error:o,type:lr})){let i=await ur({userId:r});if(pr(i))return i}throw o}},ma=async()=>{let e=Fe();if(qo(e))throw new Re("No identity to initialize the user. Have you initialized Juno?");let a=e.getPrincipal().toText(),r=await ur({userId:a});return{userId:a,user:r}},ur=({userId:e})=>Ae({collection:"#user",key:e}),Bo=({userId:e,...a})=>or({collection:"#user",doc:{key:e,data:a}});var y,Ta=async()=>{await Na({fn:async()=>{let{user:a}=await ma();O.getInstance().set(a??null)}})},Mo=async({user:e})=>{await Na({fn:async()=>{O.getInstance().set(e)}})},_r=async({provider:e})=>{await Na({fn:async()=>{let r=await dr({provider:e});O.getInstance().set(r)}})},Na=async({fn:e})=>{if(y=await de(),!await y.isAuthenticated()){y=await cr();return}await e()},Jo=async e=>{let a=async()=>await Wo(e);if(Object.values(e)[0].context?.windowGuard===!1){await a();return}await na({fn:a})},Ko=async e=>{let a=async()=>await zo(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await a();return}await na({fn:a})},Wo=async e=>{if("webauthn"in e){let{webauthn:{options:a}}=e;await new pe().signIn({options:a,loadAuth:Ta});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:_r});return}if("internet_identity"in e){let{internet_identity:{options:a}}=e,{domain:r,...o}=a??{};await new he({domain:r}).signIn({options:o,authClient:y,initAuth:_r});return}throw new Oe("An unknown or unsupported provider was provided for sign-in.")},zo=async e=>{if("webauthn"in e){let{webauthn:{options:a}}=e;await new pe().signUp({options:a,loadAuthWithUser:Mo});return}throw new ye("An unknown or unsupported provider was provided for sign-up.")},Oa=async e=>{await Go(),y=await de(),e?.windowReload!==!1&&window.location.reload()},Go=async()=>{await y?.logout(),y=null,O.getInstance().reset(),H.getInstance().reset(),G.getInstance().reset()},Fe=()=>y?.getIdentity(),Ho=async()=>(y??await de()).getIdentity(),$o=async()=>{let e=O.getInstance().get();return jo(e)||!(await y?.isAuthenticated()??!1)?null:y?.getIdentity()??null};var mr=e=>{let a=e===!0?"./workers/auth.worker.js":e,r=new Worker(a),o=async()=>{ra({message:"junoSignOutAuthTimer"}),await Oa()};return r.onmessage=async({data:i})=>{let{msg:n,data:s}=i;switch(n){case"junoSignOutAuthTimer":await o();return;case"junoDelegationRemainingTime":ra({message:"junoDelegationRemainingTime",detail:s?.authRemainingTime});return}},O.getInstance().subscribe(i=>{if(Yo(i)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var Tr=()=>{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()},Nr=()=>{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 lt=async({idlFactory:e,satellite:a})=>{let r=l(a?.identity);return await Ja({idlFactory:e,...a,identity:r})};import{fromNullable as Pr,nonNullish as oi}from"@dfinity/utils";import{fromNullable as Pe}from"@dfinity/utils";import{assertNonNullish as ut,toNullable as Ve}from"@dfinity/utils";var Or=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(Xo(r));i?.onInitiatedBatch();let{chunkIds:_}=await ei({data:e,uploadFn:s,batchId:c});i?.onUploadedFileChunks(r.fullPath),await Zo({commitFn:t,batchId:c,data:e,headers:a,chunkIds:_}),i?.onCommittedBatch()};var Xo=({filename:e,collection:a,token:r,fullPath:o,encoding:i,description:n})=>({collection:a,full_path:o,name:e,token:Ve(r),encoding_type:Ve(i),description:Ve(n)}),Qo=({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??[]]}},Zo=async({commitFn:e,...a})=>{let r=Qo(a);await e(r)},ei=async({data:e,uploadFn:a,batchId:r})=>{let o=[],i=_e()?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 ai({uploadChunks:o}))s=[...s,...t];return{chunkIds:s}};async function*ai({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=>ri(i)))}}var ri=async({batchId:e,chunk:a,uploadFn:r,orderId:o})=>r({batch_id:e,content:new Uint8Array(await a.arrayBuffer()),order_id:Ve(o)});var xr=async({asset:e,...a})=>{let r=await u(a);await Or({actor:r,asset:e})},yr=async({collection:e,filter:a,...r})=>{let{list_assets:o}=await u(r),{items:i,items_length:n,items_page:s,matches_length:t,matches_pages:c}=await o(e,b(a));return{items:i.map(([_,m])=>m),items_length:n,items_page:Pe(s),matches_length:t,matches_pages:Pe(c)}},Rr=async({collection:e,filter:a,...r})=>{let{count_assets:o}=await u(r);return o(e,b(a))},gr=async({collection:e,fullPath:a,...r})=>(await u(r)).del_asset(e,a),hr=async({assets:e,satellite:a})=>{let{del_many_assets:r}=await u({satellite:a,options:{certified:!0}}),o=e.map(({collection:i,fullPath:n})=>[i,n]);await r(o)},fr=async({collection:e,filter:a,...r})=>{let{del_filtered_assets:o}=await u(r);return o(e,b(a))},Fr=async({collection:e,fullPath:a,...r})=>{let{get_asset:o}=await u(r);return Pe(await o(e,a))},Ar=async({assets:e,...a})=>{let{get_many_assets:r}=await u(a),o=e.map(({collection:n,fullPath:s})=>[n,s]);return(await r(o)).map(([n,s])=>Pe(s))};var Vr=e=>btoa([...e].map(a=>String.fromCharCode(a)).join(""));var Pt=e=>Er(e),Et=e=>Er({filename:e.data.name,...e}),Er=async({filename:e,data:a,collection:r,headers:o=[],fullPath:i,token:n,satellite:s,encoding:t,description:c})=>{let _=l(s?.identity),m=decodeURI(e),d=i??`/${r}/${m}`,p={...s,identity:_};return await xr({asset:{data:a,filename:m,collection:r,token:n,headers:o,fullPath:d,encoding:t,description:c},satellite:p,options:{certified:!0}}),{downloadUrl:wr({satellite:p,assetKey:{fullPath:d,token:n}}),fullPath:d,name:m}},wt=async({collection:e,filter:a,satellite:r,options:o})=>{let i={...r,identity:l(r?.identity)},{items:n,...s}=await yr({collection:e,filter:a??{},satellite:i,options:o??F}),t=n.map(({key:{full_path:c,token:_,name:m,owner:d,description:p},headers:T,encodings:h,created_at:A,updated_at:R})=>{let J=Pr(_);return{fullPath:c,description:Pr(p),name:m,downloadUrl:wr({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:Vr(S),total_length:P}}),{}),owner:d.toText(),created_at:A,updated_at:R}});return{items:t,assets:t,...s}},vt=async({collection:e,filter:a,satellite:r,options:o})=>{let i={...r,identity:l(r?.identity)};return await Rr({collection:e,satellite:i,filter:a??{},options:o??F})},It=({collection:e,fullPath:a,satellite:r})=>gr({collection:e,fullPath:a,satellite:{...r,identity:l(r?.identity)},options:{certified:!0}}),bt=({assets:e,satellite:a})=>hr({assets:e,satellite:{...a,identity:l(a?.identity)},options:{certified:!0}}),Dt=async({collection:e,satellite:a,filter:r})=>{let o={...a,identity:l(a?.identity)};return await fr({collection:e,satellite:o,filter:r??{},options:{certified:!0}})},St=async({satellite:e,options:a,...r})=>{let o=l(e?.identity);return await Fr({...r,satellite:{...e,identity:o},options:a??F})},Ct=async({satellite:e,options:a,...r})=>{let o=l(e?.identity);return await Ar({...r,satellite:{...e,identity:o},options:a??F})},wr=({assetKey:{fullPath:e,token:a},satellite:r})=>{let o={...r,identity:l(r?.identity)};return`${Ma(o)}${e}${oi(a)?`?token=${a}`:""}`};var ni=e=>{let a=e?.satelliteId??Tr();ii(a,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??Nr();return{satelliteId:a,internetIdentityId:e?.internetIdentityId,workers:e?.workers,container:r}},Kt=e=>si(e),si=async e=>{let a=ni(e);N.getInstance().set(a),await Ta();let r=a.workers?.auth!==void 0?mr(a.workers.auth):void 0;return[...r?[r]:[]]},ti=e=>O.getInstance().subscribe(e),Wt=ti;export{La as AuthClientSignInProgressStep,Re as InitError,he as InternetIdentityProvider,ge as ListError,fe as NFIDProvider,Te as SignInError,M as SignInInitError,Oe as SignInProviderNotSupportedError,Ne as SignInUserInterruptError,ye as SignUpProviderNotSupportedError,sr as WebAuthnSignInProgressStep,xe as WebAuthnSignInRetrievePublicKeyError,tr as WebAuthnSignUpProgressStep,Wt as authSubscribe,vt as countAssets,_s as countDocs,It as deleteAsset,ls as deleteDoc,Dt as deleteFilteredAssets,ds as deleteFilteredDocs,bt as deleteManyAssets,ps as deleteManyDocs,wr as downloadUrl,St as getAsset,Ae as getDoc,$o as getIdentityOnce,Ct as getManyAssets,cs as getManyDocs,lt as getSatelliteExtendedActor,Kt as initJuno,si as initSatellite,so as isWebAuthnAvailable,wt as listAssets,us as listDocs,ti as onAuthStateChange,or as setDoc,ir as setManyDocs,Jo as signIn,Oa as signOut,Ko as signUp,Ho as unsafeIdentity,Pt as uploadBlob,Et as uploadFile};
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};
2
2
  //# sourceMappingURL=index.js.map