@junobuild/core-peer 2.2.1-next-2025-10-22 → 2.2.1-next-2025-10-28

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