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