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