@junobuild/core 2.2.0-next-2025-09-27.1 → 2.2.0-next-2025-10-14

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