@junobuild/core 2.2.1-next-2025-10-28 → 2.2.1-next-2025-10-29

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