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