@junobuild/core 2.2.1-next-2025-11-02.2 → 2.2.1-next-2025-11-05

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