@junobuild/core 3.4.1-next-2026-01-16 → 3.4.1-next-2026-01-17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- import{assertNonNullish as xt,nonNullish as Qi}from"@dfinity/utils";import{uint8ArrayToArrayOfNumber as Zi}from"@dfinity/utils";import{DER_COSE_OID as ro,wrapDER as io}from"@icp-sdk/core/agent";import{uint8ArrayToBase64 as so}from"@dfinity/utils";import{arrayBufferToUint8Array as He,isNullish as oa,uint8ArraysEqual as xo}from"@dfinity/utils";import{Cbor as Rr,SignIdentity as go}from"@icp-sdk/core/agent";import{nonNullish as Po}from"@dfinity/utils";var eo=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let a=e.slice(37,53),r=ao({bytes:a});return"aaguid"in r?{aaguidBytes:a,aaguidText:r.aaguid}:{unknownProvider:null}},ao=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let a=(e instanceof Uint8Array?Zi(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 oo(e){let a=new DataView(new ArrayBuffer(2)),r=e.slice(53,55);[...new Uint8Array(r)].forEach((o,n)=>a.setUint8(n,o));let i=a.getUint16(0);return e.slice(55+i)}function no(e){return io(e,ro)}var to=class{constructor(e){this._cose=e,this.#e=no(e)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},Vr=class{#e;#a;constructor({rawId:e,cose:a}){this.#e=e,this.#a=new to(a)}getPublicKey(){return this.#a}getCredentialId(){return this.#e}getCredentialIdText(){return so(this.#e)}},co=class extends Vr{#e;#a;constructor({authData:e,...a}){super(a);let r=eo({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}},lo=class extends Vr{},po=class extends Error{},uo=class extends Error{},_o=class extends Error{},mo=class extends Error{},No=class extends Error{},To=class extends Error{},Oo=class extends Error{},yr=class extends Error{};var yo={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},Ro=6e4,Ar=()=>window.crypto.getRandomValues(new Uint8Array(16)),ho=()=>Ar(),fo=()=>Ar(),Fo=()=>{let{location:{href:e}}=window;try{let{hostname:a}=new URL(e);return a}catch{throw new po}},wr=({appId:e})=>e?.id??Fo(),Vo=({appId:e,user:a}={})=>{let{document:{title:r}}=window,i=()=>({rp:{name:e?.name??r,id:wr({appId:e})}}),o=()=>({user:{id:fo(),name:a?.name??a?.displayName??r,displayName:a?.displayName??r}});return{attestation:"direct",challenge:ho(),...i(),...o(),pubKeyCredParams:Object.values(yo).map(n=>({type:"public-key",alg:n})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},Ao=(e={})=>({rpId:wr(e),allowCredentials:[],userVerification:"required"}),Ma=async({fn:e,step:a,onProgress:r})=>{r?.({step:a,state:"in_progress"});try{let i=await e();return r?.({step:a,state:"success"}),i}catch(i){throw r?.({step:a,state:"error"}),i}},ye=(e=>(e[e.RequestingUserCredential=0]="RequestingUserCredential",e[e.FinalizingCredential=1]="FinalizingCredential",e[e.Signing=2]="Signing",e))(ye||{}),Pr=({timeout:e})=>AbortSignal.timeout(e??Ro),wo=async({challenge:e,credentialIds:a,passkeyOptions:r,timeout:i})=>await navigator.credentials.get({publicKey:{...Ao(r),challenge:e.buffer,allowCredentials:(a??[]).map(o=>({id:o.buffer,type:"public-key"}))},signal:Pr({timeout:i})}),hr=e=>{if(e.status!=="initialized")throw new uo},fr=e=>{if(oa(e))throw new _o},Fr=({type:e})=>{if(e!=="public-key")throw new mo},Ga=class na extends go{#e;#a;constructor({onProgress:a,...r}){if(super(),this.#e=a,"retrievePublicKey"in r){let{retrievePublicKey:i}=r;this.#a={status:"pending",retrievePublicKey:i};return}this.#a=na.#r({credential:new co(r)})}static#r({credential:a}){return{status:"initialized",credential:a}}static async createWithNewCredential({passkeyOptions:a,timeout:r,...i}={}){let o=await navigator.credentials.create({publicKey:Vo(a),signal:Pr({timeout:r})});fr(o),Fr(o);let{response:{attestationObject:n},rawId:t}=o;if(oa(n))throw new No;let{authData:s}=Rr.decode(He(n)),c=oo(s);return new na({...i,rawId:He(t),cose:c,authData:s})}static async createWithExistingCredential(a){return new na(a)}getPublicKey(){hr(this.#a);let{credential:a}=this.#a;return a.getPublicKey()}getCredential(){hr(this.#a);let{credential:a}=this.#a;return a}async sign(a){let r=await Ma({fn:async()=>{let i=await wo({challenge:a,...this.#a.status==="initialized"&&{credentialIds:[this.#a.credential.getCredentialId()]}});return fr(i),Fr(i),i},step:0,onProgress:this.#e});return await Ma({fn:async()=>{let{rawId:i}=r;if(this.#a.status==="initialized"){if(!xo({a:this.#a.credential.getCredentialId(),b:He(i)}))throw new To;return}let{retrievePublicKey:o}=this.#a,n=await o({credentialId:He(i)});this.#a=na.#r({credential:new lo({rawId:He(i),cose:n})})},step:1,onProgress:this.#e}),await Ma({fn:async()=>{let{response:i}=r,{clientDataJSON:o}=i,{authenticatorData:n,signature:t}="authenticatorData"in i&&"signature"in i?i:{};if(oa(n))throw new yr;if(oa(t))throw new yr;let s=Rr.encode({authenticator_data:n,client_data_json:new TextDecoder().decode(o),signature:He(t)});if(oa(s))throw new Oo;return Object.assign(s,{__signature__:void 0}),s},step:2,onProgress:this.#e})}},Eo=async()=>Po(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;import{isNullish as ko}from"@dfinity/utils";var $e=class{callbacks=[];populate(a){this.callbacks.forEach(({callback:r})=>r(a))}subscribe(a){let r=Symbol();return this.callbacks.push({id:r,callback:a}),()=>this.callbacks=this.callbacks.filter(({id:i})=>i!==r)}};var h=class e extends $e{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 ta=({message:e,detail:a})=>{let r=new CustomEvent(e,{detail:a,bubbles:!0});document.dispatchEvent(r)};import{isNullish as za}from"@dfinity/utils";import{Actor as Io}from"@icp-sdk/core/agent";import{isNullish as Wa}from"@dfinity/utils";import{nonNullish as vr}from"@dfinity/utils";import{HttpAgent as vo}from"@icp-sdk/core/agent";var Ye="http://127.0.0.1:5987",Er="rdmx6-jaaaa-aaaaa-aaadq-cai";var Ir=async({identity:e,container:a})=>{let i=vr(a)&&a!==!1?a===!0?Ye:a:"https://icp-api.io",o=vr(a);return await vo.create({identity:e,shouldFetchRootKey:o,host:i})};var Xe=class e{static instance;#e=void 0;constructor(){}static getInstance(){return Wa(e.instance)&&(e.instance=new e),e.instance}async getAgent({identity:a,...r}){let i=a.getPrincipal().toText();if(Wa(this.#e)||Wa(this.#e[i])){let o=await Ir({identity:a,...r});return this.#e={...this.#e??{},[i]:o},o}return this.#e[i]}reset(){this.#e=null}};var Qe=class e{static instance;#e=void 0;constructor(){}static getInstance(){return za(e.instance)&&(e.instance=new e),e.instance}async getActor({satelliteId:a,identity:r,actorKey:i,...o}){let n=`${i}#${r.getPrincipal().toText()}#${a};`;if(za(this.#e)||za(this.#e[n])){let t=await this.createActor({satelliteId:a,identity:r,...o});return this.#e={...this.#e??{},[n]:t},t}return this.#e[n]}reset(){this.#e=null}async createActor({idlFactory:a,satelliteId:r,...i}){let o=await Xe.getInstance().getAgent(i);return Io.createActor(a,{agent:o,canisterId:r})}};import{isNullish as bo}from"@dfinity/utils";import{AuthClient as So,IdbStorage as br,KEY_STORAGE_DELEGATION as Do,KEY_STORAGE_KEY as Sr}from"@icp-sdk/auth/client";var f=class e{static#e;#a;constructor(){}static getInstance(){return bo(this.#e)&&(this.#e=new e),this.#e}createAuthClient=async()=>(this.#a=await So.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),this.#a);safeCreateAuthClient=async()=>(await new br().remove(Sr),await this.createAuthClient());getAuthClient=()=>this.#a;logout=async()=>{await this.#a?.logout(),this.#a=null};setAuthClientStorage=async({delegationChain:a,sessionKey:r})=>{let i=new br;await Promise.all([i.set(Sr,r.getKeyPair()),i.set(Do,JSON.stringify(a.toJSON()))])}};var Ha=async e=>{await Co(),await f.getInstance().createAuthClient(),e?.windowReload!==!1&&window.location.reload()},Co=async()=>{await f.getInstance().logout(),h.getInstance().reset(),Qe.getInstance().reset(),Xe.getInstance().reset()};var Dr=e=>{let a=e===!0?"./workers/auth.worker.js":e,r=new Worker(a),i=async()=>{ta({message:"junoSignOutAuthTimer"}),await Ha()};return r.onmessage=async({data:o})=>{let{msg:n,data:t}=o;switch(n){case"junoSignOutAuthTimer":await i();return;case"junoDelegationRemainingTime":ta({message:"junoDelegationRemainingTime",detail:t?.authRemainingTime})}},h.getInstance().subscribe(o=>{if(ko(o)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};import{isNullish as Uo,nonNullish as Lo,notEmptyString as qo}from"@dfinity/utils";var Ze=class e{static#e;#a;#r;static CHANNEL_NAME="juno_core_auth_channel";static MESSAGE_LOGIN_SUCCESS="authClientLoginSuccess";constructor(){this.#a=new BroadcastChannel(e.CHANNEL_NAME),this.#r=window.crypto.randomUUID()}static getInstance(){return Uo(this.#e)&&(this.#e=new e),this.#e}onLoginSuccess=a=>{let{location:{origin:r}}=window;this.#a.onmessage=async({origin:i,data:o})=>{i===r&&Lo(o)&&o.msg==="authClientLoginSuccess"&&qo(o.emitterId)&&o.emitterId!==this.#r&&await a()}};destroy=()=>{this.#a.close(),e.#e=null};postLoginSuccess=()=>{let a={emitterId:this.#r,msg:e.MESSAGE_LOGIN_SUCCESS};this.#a.postMessage(a)};get __test__only__emitter_id__(){return this.#r}};var x=class e extends $e{static instance;env;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(a){this.env=a,this.populate(a)}get(){return this.env}reset(){this.env=null}subscribe(a){let r=super.subscribe(a);return a(this.env),r}};var sa=async({fn:e,syncTabsOnSuccess:a})=>{let{authenticated:r}=await Bo({fn:e});!r||!a||x.getInstance().get()?.syncTabs===!1||jo()},Cr=async({fn:e})=>{let{createAuthClient:a}=f.getInstance(),i=await(await a()).isAuthenticated();await e({authenticated:i})},Bo=async({fn:e})=>{let{createAuthClient:a,safeCreateAuthClient:r}=f.getInstance();return await(await a()).isAuthenticated()?(await e(),{authenticated:!0}):(await r(),{authenticated:!1})},jo=()=>{try{Ze.getInstance().postLoginSuccess()}catch(e){console.warn("Auth BroadcastChannel posting failed",e)}};import{isNullish as dn,nonNullish as oi}from"@dfinity/utils";var $a=({error:e,type:a})=>typeof e=="string"?e.includes(a):e instanceof Error?e.message.includes(a):!1;var kr="juno.datastore.error.user.cannot_update";var z={certified:!1};import{nonNullish as Go}from"@dfinity/utils";import{AnonymousIdentity as Wo}from"@icp-sdk/core/agent";import{isNullish as Jo}from"@dfinity/utils";var la=()=>f.getInstance().getAuthClient()?.getIdentity(),Ko=async()=>{let{getAuthClient:e,createAuthClient:a}=f.getInstance();return(e()??await a()).getIdentity()},Mo=async()=>{let e=h.getInstance().get();if(Jo(e))return null;let a=f.getInstance().getAuthClient();return await a?.isAuthenticated()??!1?a?.getIdentity()??null:null};var _=e=>Go(e)?e:la()??new Wo;import{fromNullable as aa,isNullish as cn,nonNullish as ln}from"@dfinity/utils";import{assertNonNullish as on}from"@dfinity/utils";import{isNullish as zo}from"@dfinity/utils";import{Actor as Ho}from"@icp-sdk/core/agent";import{nonNullish as Xo}from"@dfinity/utils";import{HttpAgent as Qo}from"@icp-sdk/core/agent";var Ya=({IDL:e})=>{let a=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(a)}),i=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),n=e.Variant({OpenId:o}),t=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),s=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:t,delegation:s}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),d=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),u=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),p=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:d,GetOrFetchJwks:u,DeriveSeedFailed:e.Text}),m=e.Variant({PrepareDelegation:p,RegisterUser:e.Text}),O=e.Variant({Ok:c,Err:m}),g=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),y=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),W=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),U=e.Record({field:W,desc:e.Bool}),V=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),$=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(V),description:e.Opt(e.Text),created_at:e.Opt(V)}),Y=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),T=e.Record({order:e.Opt(U),owner:e.Opt(e.Principal),matcher:e.Opt($),paginate:e.Opt(Y)}),he=e.Record({controllers:e.Vec(e.Principal)}),X=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),L=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:X,expires_at:e.Opt(e.Nat64)}),Q=e.Record({version:e.Opt(e.Nat64)}),A=e.Variant({Db:e.Null,Storage:e.Null}),fe=e.Record({version:e.Opt(e.Nat64)}),Z=e.Record({proposal_ids:e.Vec(e.Nat)}),ee=e.Record({cycles:e.Nat,destination_id:e.Principal}),ae=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}),w=e.Record({key:ae,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)}),re=e.Variant({Google:e.Null}),ie=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),oe=e.Record({delegation:e.Opt(ie),client_id:e.Text}),P=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(re,oe))}),ne=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),B=e.Record({allowed_callers:e.Vec(e.Principal)}),j=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(P),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(ne),rules:e.Opt(B)}),E=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),J=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)}),te=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),se=e.Variant({Deny:e.Null,Allow:e.Null}),ce=e.Record({status_code:e.Nat16,location:e.Text}),R=e.Record({iframe:e.Opt(te),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(E),raw_access:e.Opt(se),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ce)))}),le=e.Record({db:e.Opt(J),authentication:e.Opt(j),storage:R}),Fe=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Ve=e.Variant({OpenId:Fe}),Ae=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),we=e.Record({signature:e.Vec(e.Nat8),delegation:Ae}),de=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:d,GetOrFetchJwks:u,DeriveSeedFailed:e.Text}),v=e.Variant({Ok:we,Err:de}),pe=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Pe=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Ee=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),I=e.Variant({AssetsUpgrade:Pe,SegmentsDeployment:Ee}),b=e.Record({status:pe,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:I}),S=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),ue=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),D=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(a),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:S,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(ue),write:S,max_changes_per_user:e.Opt(e.Nat32)}),_e=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),K=e.Record({memory:a,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),ve=e.Variant({Callback:e.Record({token:K,callback:e.Func([],[],["query"])})}),me=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(ve),status_code:e.Nat16}),Ie=e.Record({token:e.Opt(K),body:e.Vec(e.Nat8)}),M=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}),G=e.Record({batch_id:e.Nat}),be=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,w)),items_length:e.Nat64}),Se=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),De=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,t)),items_length:e.Nat64}),Ce=e.Record({desc:e.Bool}),Ne=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),ke=e.Record({order:e.Opt(Ce),paginate:e.Opt(Ne)}),Ue=e.Record({proposal_id:e.Nat}),Te=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Ue,b)),items_length:e.Nat64}),Le=e.Record({include_system:e.Bool}),qe=e.Record({matcher:e.Opt(Le)}),Be=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,D)),items_length:e.Nat64}),je=e.Record({stable:e.Nat64,heap:e.Nat64}),Je=e.Record({openid:e.Opt(P),version:e.Opt(e.Nat64),internet_identity:e.Opt(ne),rules:e.Opt(B)}),Ke=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:X,expires_at:e.Opt(e.Nat64)}),Me=e.Record({controller:Ke,controllers:e.Vec(e.Principal)}),Ge=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(E)}),Oe=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),F=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(a),max_size:e.Opt(e.Nat),read:S,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(ue),write:S,max_changes_per_user:e.Opt(e.Nat32)}),We=e.Record({iframe:e.Opt(te),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(E),raw_access:e.Opt(se),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ce)))}),xe=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),C=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([n],[O],[]),commit_asset_upload:e.Func([g],[],[]),commit_proposal:e.Func([y],[e.Null],[]),commit_proposal_asset_upload:e.Func([g],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(g)],[],[]),count_assets:e.Func([e.Text,T],[e.Nat64],["query"]),count_collection_assets:e.Func([e.Text],[e.Nat64],["query"]),count_collection_docs:e.Func([e.Text],[e.Nat64],["query"]),count_docs:e.Func([e.Text,T],[e.Nat64],["query"]),count_proposals:e.Func([],[e.Nat64],["query"]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([he],[e.Vec(e.Tuple(e.Principal,L))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,Q],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,T],[],[]),del_filtered_docs:e.Func([e.Text,T],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Q))],[],[]),del_rule:e.Func([A,e.Text,fe],[],[]),delete_proposal_assets:e.Func([Z],[],[]),deposit_cycles:e.Func([ee],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(w)],["query"]),get_auth_config:e.Func([],[e.Opt(j)],["query"]),get_config:e.Func([],[le],[]),get_db_config:e.Func([],[e.Opt(J)],["query"]),get_delegation:e.Func([Ve],[v],["query"]),get_doc:e.Func([e.Text,e.Text],[e.Opt(t)],["query"]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(w)))],["query"]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(t)))],["query"]),get_proposal:e.Func([e.Nat],[e.Opt(b)],["query"]),get_rule:e.Func([A,e.Text],[e.Opt(D)],["query"]),get_storage_config:e.Func([],[R],["query"]),http_request:e.Func([_e],[me],["query"]),http_request_streaming_callback:e.Func([K],[Ie],["query"]),init_asset_upload:e.Func([M],[G],[]),init_proposal:e.Func([I],[e.Nat,b],[]),init_proposal_asset_upload:e.Func([M,e.Nat],[G],[]),init_proposal_many_assets_upload:e.Func([e.Vec(M),e.Nat],[e.Vec(e.Tuple(e.Text,G))],[]),list_assets:e.Func([e.Text,T],[be],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,L))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Se))],["query"]),list_docs:e.Func([e.Text,T],[De],["query"]),list_proposals:e.Func([ke],[Te],["query"]),list_rules:e.Func([A,qe],[Be],["query"]),memory_size:e.Func([],[je],["query"]),reject_proposal:e.Func([y],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([Je],[j],[]),set_controllers:e.Func([Me],[e.Vec(e.Tuple(e.Principal,L))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([Ge],[J],[]),set_doc:e.Func([e.Text,e.Text,Oe],[t],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Oe))],[e.Vec(e.Tuple(e.Text,t))],[]),set_rule:e.Func([A,e.Text,F],[D],[]),set_storage_config:e.Func([We],[R],[]),submit_proposal:e.Func([e.Nat],[e.Nat,b],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([xe],[C],[]),upload_proposal_asset_chunk:e.Func([xe],[C],[])})},Xa=({IDL:e})=>{let a=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(a)}),i=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),n=e.Variant({OpenId:o}),t=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),s=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:t,delegation:s}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),d=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),u=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),p=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:d,GetOrFetchJwks:u,DeriveSeedFailed:e.Text}),m=e.Variant({PrepareDelegation:p,RegisterUser:e.Text}),O=e.Variant({Ok:c,Err:m}),g=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),y=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),W=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),U=e.Record({field:W,desc:e.Bool}),V=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),$=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(V),description:e.Opt(e.Text),created_at:e.Opt(V)}),Y=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),T=e.Record({order:e.Opt(U),owner:e.Opt(e.Principal),matcher:e.Opt($),paginate:e.Opt(Y)}),he=e.Record({controllers:e.Vec(e.Principal)}),X=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),L=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:X,expires_at:e.Opt(e.Nat64)}),Q=e.Record({version:e.Opt(e.Nat64)}),A=e.Variant({Db:e.Null,Storage:e.Null}),fe=e.Record({version:e.Opt(e.Nat64)}),Z=e.Record({proposal_ids:e.Vec(e.Nat)}),ee=e.Record({cycles:e.Nat,destination_id:e.Principal}),ae=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}),w=e.Record({key:ae,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)}),re=e.Variant({Google:e.Null}),ie=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),oe=e.Record({delegation:e.Opt(ie),client_id:e.Text}),P=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(re,oe))}),ne=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),B=e.Record({allowed_callers:e.Vec(e.Principal)}),j=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(P),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(ne),rules:e.Opt(B)}),E=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),J=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)}),te=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),se=e.Variant({Deny:e.Null,Allow:e.Null}),ce=e.Record({status_code:e.Nat16,location:e.Text}),R=e.Record({iframe:e.Opt(te),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(E),raw_access:e.Opt(se),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ce)))}),le=e.Record({db:e.Opt(J),authentication:e.Opt(j),storage:R}),Fe=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Ve=e.Variant({OpenId:Fe}),Ae=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),we=e.Record({signature:e.Vec(e.Nat8),delegation:Ae}),de=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:d,GetOrFetchJwks:u,DeriveSeedFailed:e.Text}),v=e.Variant({Ok:we,Err:de}),pe=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Pe=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Ee=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),I=e.Variant({AssetsUpgrade:Pe,SegmentsDeployment:Ee}),b=e.Record({status:pe,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:I}),S=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),ue=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),D=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(a),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:S,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(ue),write:S,max_changes_per_user:e.Opt(e.Nat32)}),_e=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),K=e.Record({memory:a,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),ve=e.Variant({Callback:e.Record({token:K,callback:e.Func([],[],[])})}),me=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(ve),status_code:e.Nat16}),Ie=e.Record({token:e.Opt(K),body:e.Vec(e.Nat8)}),M=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}),G=e.Record({batch_id:e.Nat}),be=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,w)),items_length:e.Nat64}),Se=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),De=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,t)),items_length:e.Nat64}),Ce=e.Record({desc:e.Bool}),Ne=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),ke=e.Record({order:e.Opt(Ce),paginate:e.Opt(Ne)}),Ue=e.Record({proposal_id:e.Nat}),Te=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Ue,b)),items_length:e.Nat64}),Le=e.Record({include_system:e.Bool}),qe=e.Record({matcher:e.Opt(Le)}),Be=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,D)),items_length:e.Nat64}),je=e.Record({stable:e.Nat64,heap:e.Nat64}),Je=e.Record({openid:e.Opt(P),version:e.Opt(e.Nat64),internet_identity:e.Opt(ne),rules:e.Opt(B)}),Ke=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:X,expires_at:e.Opt(e.Nat64)}),Me=e.Record({controller:Ke,controllers:e.Vec(e.Principal)}),Ge=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(E)}),Oe=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),F=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(a),max_size:e.Opt(e.Nat),read:S,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(ue),write:S,max_changes_per_user:e.Opt(e.Nat32)}),We=e.Record({iframe:e.Opt(te),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(E),raw_access:e.Opt(se),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ce)))}),xe=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),C=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([n],[O],[]),commit_asset_upload:e.Func([g],[],[]),commit_proposal:e.Func([y],[e.Null],[]),commit_proposal_asset_upload:e.Func([g],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(g)],[],[]),count_assets:e.Func([e.Text,T],[e.Nat64],[]),count_collection_assets:e.Func([e.Text],[e.Nat64],[]),count_collection_docs:e.Func([e.Text],[e.Nat64],[]),count_docs:e.Func([e.Text,T],[e.Nat64],[]),count_proposals:e.Func([],[e.Nat64],[]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([he],[e.Vec(e.Tuple(e.Principal,L))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,Q],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,T],[],[]),del_filtered_docs:e.Func([e.Text,T],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Q))],[],[]),del_rule:e.Func([A,e.Text,fe],[],[]),delete_proposal_assets:e.Func([Z],[],[]),deposit_cycles:e.Func([ee],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(w)],[]),get_auth_config:e.Func([],[e.Opt(j)],[]),get_config:e.Func([],[le],[]),get_db_config:e.Func([],[e.Opt(J)],[]),get_delegation:e.Func([Ve],[v],[]),get_doc:e.Func([e.Text,e.Text],[e.Opt(t)],[]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(w)))],[]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(t)))],[]),get_proposal:e.Func([e.Nat],[e.Opt(b)],[]),get_rule:e.Func([A,e.Text],[e.Opt(D)],[]),get_storage_config:e.Func([],[R],[]),http_request:e.Func([_e],[me],[]),http_request_streaming_callback:e.Func([K],[Ie],[]),init_asset_upload:e.Func([M],[G],[]),init_proposal:e.Func([I],[e.Nat,b],[]),init_proposal_asset_upload:e.Func([M,e.Nat],[G],[]),init_proposal_many_assets_upload:e.Func([e.Vec(M),e.Nat],[e.Vec(e.Tuple(e.Text,G))],[]),list_assets:e.Func([e.Text,T],[be],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,L))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Se))],[]),list_docs:e.Func([e.Text,T],[De],[]),list_proposals:e.Func([ke],[Te],[]),list_rules:e.Func([A,qe],[Be],[]),memory_size:e.Func([],[je],[]),reject_proposal:e.Func([y],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([Je],[j],[]),set_controllers:e.Func([Me],[e.Vec(e.Tuple(e.Principal,L))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([Ge],[J],[]),set_doc:e.Func([e.Text,e.Text,Oe],[t],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Oe))],[e.Vec(e.Tuple(e.Text,t))],[]),set_rule:e.Func([A,e.Text,F],[D],[]),set_storage_config:e.Func([We],[R],[]),submit_proposal:e.Func([e.Nat],[e.Nat,b],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([xe],[C],[]),upload_proposal_asset_chunk:e.Func([xe],[C],[])})},$o=({IDL:e})=>{let a=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),i=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),o=e.Variant({OpenId:i}),n=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),t=e.Variant({Google:e.Null}),s=e.Record({name:e.Opt(e.Text),locale:e.Opt(e.Text),family_name:e.Opt(e.Text),email:e.Opt(e.Text),picture:e.Opt(e.Text),given_name:e.Opt(e.Text)}),c=e.Record({provider:t,data:s}),l=e.Variant({InternetIdentity:e.Null,OpenId:c}),d=e.Record({updated_at:e.Nat64,credits:a,mission_control_id:e.Opt(e.Principal),provider:e.Opt(l),owner:e.Principal,created_at:e.Nat64}),u=e.Record({delegation:n,account:d}),p=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),m=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),O=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),g=e.Variant({JwtFindProvider:p,GetCachedJwks:e.Null,JwtVerify:m,GetOrFetchJwks:O,DeriveSeedFailed:e.Text}),y=e.Variant({PrepareDelegation:g,RegisterUser:e.Text}),W=e.Variant({Ok:u,Err:y}),U=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),V=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),$=e.Record({subnet_id:e.Opt(e.Principal)}),Y=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),name:e.Opt(e.Text),user:e.Principal}),T=e.Variant({Heap:e.Null,Stable:e.Null}),he=e.Record({system_memory:e.Opt(T)}),X=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(he),name:e.Opt(e.Text),user:e.Principal}),L=e.Record({controllers:e.Vec(e.Principal)}),Q=e.Record({proposal_ids:e.Vec(e.Nat)}),A=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),fe=e.Record({delegation:e.Opt(A),client_id:e.Text}),Z=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(t,fe))}),ee=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),ae=e.Record({allowed_callers:e.Vec(e.Principal)}),q=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(Z),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(ee),rules:e.Opt(ae)}),w=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),re=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),ie=e.Variant({Deny:e.Null,Allow:e.Null}),oe=e.Record({status_code:e.Nat16,location:e.Text}),P=e.Record({iframe:e.Opt(w),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(re),raw_access:e.Opt(ie),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),ne=e.Record({authentication:e.Opt(q),storage:P}),B=e.Record({user:e.Principal}),j=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),E=e.Variant({OpenId:j}),J=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),te=e.Record({signature:e.Vec(e.Nat8),delegation:J}),se=e.Variant({JwtFindProvider:p,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:m,GetOrFetchJwks:O,DeriveSeedFailed:e.Text}),ce=e.Variant({Ok:te,Err:se}),R=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),le=e.Record({e12s:e.Nat64}),Fe=e.Record({updated_at:e.Nat64,fee_cycles:le,fee_icp:e.Opt(a)}),Ve=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Ae=e.Record({clear_existing_assets:e.Opt(e.Bool)}),we=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),de=e.Variant({AssetsUpgrade:Ae,SegmentsDeployment:we}),v=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:de}),pe=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),Pe=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)}),Ee=e.Variant({Heap:e.Null,Stable:e.Null}),I=e.Record({memory:Ee,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}),b=e.Variant({Callback:e.Record({token:I,callback:e.Func([],[],["query"])})}),S=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(b),status_code:e.Nat16}),ue=e.Record({token:e.Opt(I),body:e.Vec(e.Nat8)}),D=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}),_e=e.Record({batch_id:e.Nat}),K=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),ve=e.Record({field:K,desc:e.Bool}),me=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),Ie=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(me),description:e.Opt(e.Text),created_at:e.Opt(me)}),M=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),G=e.Record({order:e.Opt(ve),owner:e.Opt(e.Principal),matcher:e.Opt(Ie),paginate:e.Opt(M)}),be=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),Se=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),De=e.Record({key:be,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,Se)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),Ce=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,De)),items_length:e.Nat64}),Ne=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),ke=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:Ne,expires_at:e.Opt(e.Nat64)}),Ue=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Te=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),Le=e.Record({status:Te,updated_at:e.Nat64,block_index_payment:e.Nat64,mission_control_id:e.Opt(e.Principal),created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64)}),qe=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),Be=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),je=e.Record({status:Te,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:Be}),Je=e.Record({desc:e.Bool}),Ke=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Me=e.Record({order:e.Opt(Je),paginate:e.Opt(Ke)}),Ge=e.Record({proposal_id:e.Nat}),Oe=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Ge,v)),items_length:e.Nat64}),F=e.Variant({Orbiter:e.Null,Satellite:e.Null}),We=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(F)}),xe=e.Record({user:e.Principal,segment_id:e.Principal,segment_kind:F}),C=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,created_at:e.Nat64}),Da=e.Record({openid:e.Opt(Z),version:e.Opt(e.Nat64),internet_identity:e.Opt(ee),rules:e.Opt(ae)}),Ca=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:Ne,expires_at:e.Opt(e.Nat64)}),ka=e.Record({controller:Ca,controllers:e.Vec(e.Principal)}),Ua=e.Record({fee_cycles:le,fee_icp:e.Opt(a)}),La=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:F}),qa=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:F}),Ba=e.Record({iframe:e.Opt(w),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(re),raw_access:e.Opt(ie),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),ja=e.Record({segment_id:e.Principal,segment_kind:F}),Ja=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Ka=e.Record({chunk_id:e.Nat});return e.Service({add_credits:e.Func([e.Principal,a],[],[]),add_invitation_code:e.Func([e.Text],[],[]),assert_mission_control_center:e.Func([r],[],["query"]),authenticate:e.Func([o],[W],[]),commit_proposal:e.Func([U],[e.Null],[]),commit_proposal_asset_upload:e.Func([V],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(V)],[],[]),count_proposals:e.Func([],[e.Nat64],["query"]),create_mission_control:e.Func([$],[e.Principal],[]),create_orbiter:e.Func([Y],[e.Principal],[]),create_satellite:e.Func([X],[e.Principal],[]),del_controllers:e.Func([L],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([Q],[],[]),get_account:e.Func([],[e.Opt(d)],["query"]),get_auth_config:e.Func([],[e.Opt(q)],["query"]),get_config:e.Func([],[ne],["query"]),get_create_orbiter_fee:e.Func([B],[e.Opt(a)],["query"]),get_create_satellite_fee:e.Func([B],[e.Opt(a)],["query"]),get_credits:e.Func([],[a],["query"]),get_delegation:e.Func([E],[ce],["query"]),get_fee:e.Func([R],[Fe],["query"]),get_or_init_account:e.Func([],[d],[]),get_proposal:e.Func([e.Nat],[e.Opt(v)],["query"]),get_rate_config:e.Func([R],[pe],["query"]),get_storage_config:e.Func([],[P],["query"]),http_request:e.Func([Pe],[S],["query"]),http_request_streaming_callback:e.Func([I],[ue],["query"]),init_proposal:e.Func([de],[e.Nat,v],[]),init_proposal_asset_upload:e.Func([D,e.Nat],[_e],[]),init_proposal_many_assets_upload:e.Func([e.Vec(D),e.Nat],[e.Vec(e.Tuple(e.Text,_e))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,d))],["query"]),list_assets:e.Func([e.Text,G],[Ce],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,ke))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Ue))],["query"]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,Le))],["query"]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(qe,je))],["query"]),list_proposals:e.Func([Me],[Oe],["query"]),list_segments:e.Func([We],[e.Vec(e.Tuple(xe,C))],["query"]),reject_proposal:e.Func([U],[e.Null],[]),set_auth_config:e.Func([Da],[q],[]),set_controllers:e.Func([ka],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([R,Ua],[],[]),set_rate_config:e.Func([R,pe],[],[]),set_segment:e.Func([La],[C],[]),set_segment_metadata:e.Func([qa],[C],[]),set_storage_config:e.Func([Ba],[P],[]),submit_proposal:e.Func([e.Nat],[e.Nat,v],[]),unset_segment:e.Func([ja],[],[]),upload_proposal_asset_chunk:e.Func([Ja],[Ka],[])})},Yo=({IDL:e})=>{let a=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),i=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),o=e.Variant({OpenId:i}),n=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),t=e.Variant({Google:e.Null}),s=e.Record({name:e.Opt(e.Text),locale:e.Opt(e.Text),family_name:e.Opt(e.Text),email:e.Opt(e.Text),picture:e.Opt(e.Text),given_name:e.Opt(e.Text)}),c=e.Record({provider:t,data:s}),l=e.Variant({InternetIdentity:e.Null,OpenId:c}),d=e.Record({updated_at:e.Nat64,credits:a,mission_control_id:e.Opt(e.Principal),provider:e.Opt(l),owner:e.Principal,created_at:e.Nat64}),u=e.Record({delegation:n,account:d}),p=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),m=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),O=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),g=e.Variant({JwtFindProvider:p,GetCachedJwks:e.Null,JwtVerify:m,GetOrFetchJwks:O,DeriveSeedFailed:e.Text}),y=e.Variant({PrepareDelegation:g,RegisterUser:e.Text}),W=e.Variant({Ok:u,Err:y}),U=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),V=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),$=e.Record({subnet_id:e.Opt(e.Principal)}),Y=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),name:e.Opt(e.Text),user:e.Principal}),T=e.Variant({Heap:e.Null,Stable:e.Null}),he=e.Record({system_memory:e.Opt(T)}),X=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(he),name:e.Opt(e.Text),user:e.Principal}),L=e.Record({controllers:e.Vec(e.Principal)}),Q=e.Record({proposal_ids:e.Vec(e.Nat)}),A=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),fe=e.Record({delegation:e.Opt(A),client_id:e.Text}),Z=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(t,fe))}),ee=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),ae=e.Record({allowed_callers:e.Vec(e.Principal)}),q=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(Z),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(ee),rules:e.Opt(ae)}),w=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),re=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),ie=e.Variant({Deny:e.Null,Allow:e.Null}),oe=e.Record({status_code:e.Nat16,location:e.Text}),P=e.Record({iframe:e.Opt(w),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(re),raw_access:e.Opt(ie),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),ne=e.Record({authentication:e.Opt(q),storage:P}),B=e.Record({user:e.Principal}),j=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),E=e.Variant({OpenId:j}),J=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),te=e.Record({signature:e.Vec(e.Nat8),delegation:J}),se=e.Variant({JwtFindProvider:p,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:m,GetOrFetchJwks:O,DeriveSeedFailed:e.Text}),ce=e.Variant({Ok:te,Err:se}),R=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),le=e.Record({e12s:e.Nat64}),Fe=e.Record({updated_at:e.Nat64,fee_cycles:le,fee_icp:e.Opt(a)}),Ve=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Ae=e.Record({clear_existing_assets:e.Opt(e.Bool)}),we=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),de=e.Variant({AssetsUpgrade:Ae,SegmentsDeployment:we}),v=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:de}),pe=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),Pe=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)}),Ee=e.Variant({Heap:e.Null,Stable:e.Null}),I=e.Record({memory:Ee,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}),b=e.Variant({Callback:e.Record({token:I,callback:e.Func([],[],[])})}),S=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(b),status_code:e.Nat16}),ue=e.Record({token:e.Opt(I),body:e.Vec(e.Nat8)}),D=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}),_e=e.Record({batch_id:e.Nat}),K=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),ve=e.Record({field:K,desc:e.Bool}),me=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),Ie=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(me),description:e.Opt(e.Text),created_at:e.Opt(me)}),M=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),G=e.Record({order:e.Opt(ve),owner:e.Opt(e.Principal),matcher:e.Opt(Ie),paginate:e.Opt(M)}),be=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),Se=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),De=e.Record({key:be,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,Se)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),Ce=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,De)),items_length:e.Nat64}),Ne=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),ke=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:Ne,expires_at:e.Opt(e.Nat64)}),Ue=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Te=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),Le=e.Record({status:Te,updated_at:e.Nat64,block_index_payment:e.Nat64,mission_control_id:e.Opt(e.Principal),created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64)}),qe=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),Be=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),je=e.Record({status:Te,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:Be}),Je=e.Record({desc:e.Bool}),Ke=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Me=e.Record({order:e.Opt(Je),paginate:e.Opt(Ke)}),Ge=e.Record({proposal_id:e.Nat}),Oe=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Ge,v)),items_length:e.Nat64}),F=e.Variant({Orbiter:e.Null,Satellite:e.Null}),We=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(F)}),xe=e.Record({user:e.Principal,segment_id:e.Principal,segment_kind:F}),C=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,created_at:e.Nat64}),Da=e.Record({openid:e.Opt(Z),version:e.Opt(e.Nat64),internet_identity:e.Opt(ee),rules:e.Opt(ae)}),Ca=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:Ne,expires_at:e.Opt(e.Nat64)}),ka=e.Record({controller:Ca,controllers:e.Vec(e.Principal)}),Ua=e.Record({fee_cycles:le,fee_icp:e.Opt(a)}),La=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:F}),qa=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:F}),Ba=e.Record({iframe:e.Opt(w),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(re),raw_access:e.Opt(ie),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),ja=e.Record({segment_id:e.Principal,segment_kind:F}),Ja=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Ka=e.Record({chunk_id:e.Nat});return e.Service({add_credits:e.Func([e.Principal,a],[],[]),add_invitation_code:e.Func([e.Text],[],[]),assert_mission_control_center:e.Func([r],[],[]),authenticate:e.Func([o],[W],[]),commit_proposal:e.Func([U],[e.Null],[]),commit_proposal_asset_upload:e.Func([V],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(V)],[],[]),count_proposals:e.Func([],[e.Nat64],[]),create_mission_control:e.Func([$],[e.Principal],[]),create_orbiter:e.Func([Y],[e.Principal],[]),create_satellite:e.Func([X],[e.Principal],[]),del_controllers:e.Func([L],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([Q],[],[]),get_account:e.Func([],[e.Opt(d)],[]),get_auth_config:e.Func([],[e.Opt(q)],[]),get_config:e.Func([],[ne],[]),get_create_orbiter_fee:e.Func([B],[e.Opt(a)],[]),get_create_satellite_fee:e.Func([B],[e.Opt(a)],[]),get_credits:e.Func([],[a],[]),get_delegation:e.Func([E],[ce],[]),get_fee:e.Func([R],[Fe],[]),get_or_init_account:e.Func([],[d],[]),get_proposal:e.Func([e.Nat],[e.Opt(v)],[]),get_rate_config:e.Func([R],[pe],[]),get_storage_config:e.Func([],[P],[]),http_request:e.Func([Pe],[S],[]),http_request_streaming_callback:e.Func([I],[ue],[]),init_proposal:e.Func([de],[e.Nat,v],[]),init_proposal_asset_upload:e.Func([D,e.Nat],[_e],[]),init_proposal_many_assets_upload:e.Func([e.Vec(D),e.Nat],[e.Vec(e.Tuple(e.Text,_e))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,d))],[]),list_assets:e.Func([e.Text,G],[Ce],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,ke))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Ue))],[]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,Le))],[]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(qe,je))],[]),list_proposals:e.Func([Me],[Oe],[]),list_segments:e.Func([We],[e.Vec(e.Tuple(xe,C))],[]),reject_proposal:e.Func([U],[e.Null],[]),set_auth_config:e.Func([Da],[q],[]),set_controllers:e.Func([ka],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([R,Ua],[],[]),set_rate_config:e.Func([R,pe],[],[]),set_segment:e.Func([La],[C],[]),set_segment_metadata:e.Func([qa],[C],[]),set_storage_config:e.Func([Ba],[P],[]),submit_proposal:e.Func([e.Nat],[e.Nat,v],[]),unset_segment:e.Func([ja],[],[]),upload_proposal_asset_chunk:e.Func([Ja],[Ka],[])})};var Zo=async({identity:e,host:a,localActor:r})=>await Qo.create({identity:e,host:a,retryTimes:10,shouldFetchRootKey:r}),en=async({agent:e,...a})=>e??await an(a),an=async({identity:e,container:a})=>{let r=Xo(a)&&a!==!1;return await Zo({identity:e,host:r?a===!0?"http://127.0.0.1:5987":a:"https://icp-api.io",localActor:r})};var Ur=({satelliteId:e,certified:a=!1,...r})=>qr({canisterId:e,...r,idlFactory:a?Xa:Ya});var Lr=({consoleId:e,certified:a=!1,...r})=>qr({canisterId:e,...r,idlFactory:a?Yo:$o}),qr=({canisterId:e,idlFactory:a,...r})=>{if(zo(e))throw new Error("No canister ID provided.");return rn({canisterId:e,idlFactory:a,...r})},rn=async({canisterId:e,idlFactory:a,config:r,...i})=>{let o=await en(i);return Ho.createActor(a,{agent:o,canisterId:e,...r??{}})};import{nonNullish as Qa}from"@dfinity/utils";var Br=({satelliteId:e,container:a})=>{let{satelliteId:r}=Za({satelliteId:e}),{container:i}=er({container:a});if(Qa(i)&&i!==!1){let{host:o,protocol:n}=new URL(i===!0?Ye:i);return`${n}//${r??"unknown"}.${o.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},Za=({satelliteId:e})=>Qa(e)?{satelliteId:e}:x.getInstance().get()??{satelliteId:void 0},er=({container:e})=>Qa(e)?{container:e}:x.getInstance().get()??{container:void 0};var N=({satellite:e,options:{certified:a}})=>Jr({idlFactory:a?Xa:Ya,actorKey:`stock#${a?"update":"query"}`,...e}),jr=({idlFactory:e,...a})=>Jr({idlFactory:e,actorKey:"extended#query",...a}),Jr=async({satelliteId:e,container:a,...r})=>{let{satelliteId:i}=Za({satelliteId:e});on(i,"No satellite ID defined. Did you initialize Juno?");let{container:o}=er({container:a});return await Qe.getInstance().getActor({satelliteId:i,container:o,...r})};import{isNullish as ea,toNullable as k}from"@dfinity/utils";import{Principal as nn}from"@icp-sdk/core/principal";var da=class extends Error{},ge=class extends Error{},pa=class extends Error{},ua=class extends Error{},_a=class extends Error{},ma=class extends Error{},Na=class extends Error{},Ta=class extends Error{},Oa=class extends Error{};var Kr=e=>{if(ea(e))return k();switch(e.matcher){case"equal":return k({Equal:e.timestamp});case"greaterThan":return k({GreaterThan:e.timestamp});case"lessThan":return k({LessThan:e.timestamp});case"between":return k({Between:[e.timestamps.start,e.timestamps.end]});default:throw new Oa("Invalid list matcher for timestamp",e)}},Re=({matcher:e,paginate:a,order:r,owner:i})=>({matcher:ea(e)?[]:[{key:k(e.key),description:k(e.description),created_at:Kr(e.createdAt),updated_at:Kr(e.updatedAt)}],paginate:k(ea(a)?void 0:{start_after:k(a.startAfter),limit:k(ea(a.limit)?void 0:BigInt(a.limit))}),order:k(ea(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:k(ea(i)?void 0:typeof i=="string"?nn.fromText(i):i)});import{jsonReplacer as tn,jsonReviver as sn}from"@dfinity/utils";var Mr=async e=>{let a=new Blob([JSON.stringify(e,tn)],{type:"application/json; charset=utf-8"});return new Uint8Array(await a.arrayBuffer())},xa=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(),sn)},ga=()=>typeof window<"u";var Gr=async({data:e})=>{try{return await xa(e)}catch(a){console.error("The data parsing has failed, mapping to undefined as a fallback.",a);return}};import{fromNullable as Wr,toNullable as ar}from"@dfinity/utils";var rr=async e=>{let{data:a,version:r,description:i}=e;return{description:ar(i),data:await Mr(a),version:ar(r)}},ir=e=>{let{version:a}=e;return{version:ar(a)}},ze=async({doc:e,key:a})=>{let{owner:r,version:i,description:o,data:n,...t}=e;return{key:a,description:Wr(o),owner:r.toText(),data:await xa(n),version:Wr(i),...t}};var zr=async({collection:e,key:a,...r})=>{let{get_doc:i}=await N(r),o=aa(await i(e,a));if(!cn(o))return ze({doc:o,key:a})},Hr=async({docs:e,...a})=>{let{get_many_docs:r}=await N(a),i=e.map(({collection:t,key:s})=>[t,s]),o=await r(i),n=[];for(let[t,s]of o){let c=aa(s);n.push(ln(c)?await ze({key:t,doc:c}):void 0)}return n},$r=async({collection:e,doc:a,...r})=>{let{set_doc:i}=await N(r),{key:o}=a,n=await rr(a),t=await i(e,o,n);return await ze({key:o,doc:t})},Yr=async({docs:e,...a})=>{let{set_many_docs:r}=await N(a),i=[];for(let{collection:t,doc:s}of e){let{key:c}=s;i.push([t,c,await rr(s)])}let o=await r(i),n=[];for(let[t,s]of o)n.push(await ze({key:t,doc:s}));return n},Xr=async({collection:e,doc:a,...r})=>{let{del_doc:i}=await N(r),{key:o}=a;return i(e,o,ir(a))},Qr=async({docs:e,...a})=>{let{del_many_docs:r}=await N(a),i=e.map(({collection:o,doc:n})=>[o,n.key,ir(n)]);await r(i)},Zr=async({collection:e,filter:a,...r})=>{let{del_filtered_docs:i}=await N(r);return i(e,Re(a))},ei=async({collection:e,filter:a,...r})=>{let{list_docs:i}=await N(r),{items:o,items_page:n,items_length:t,matches_length:s,matches_pages:c}=await i(e,Re(a)),l=[];for(let[d,u]of o){let{data:p,owner:m,description:O,version:g,...y}=u;l.push({key:d,description:aa(O),owner:m.toText(),data:await Gr({data:p}),version:aa(g),...y})}return{items:l,items_length:t,items_page:aa(n),matches_length:s,matches_pages:aa(c)}},ai=async({collection:e,filter:a,...r})=>{let{count_docs:i}=await N(r);return i(e,Re(a))};var ya=async({satellite:e,options:a,...r})=>{let i=_(e?.identity);return await zr({...r,satellite:{...e,identity:i},options:a??z})},Oc=async({satellite:e,options:a,...r})=>{let i=_(e?.identity);return await Hr({...r,satellite:{...e,identity:i},options:a??z})},ri=async({satellite:e,...a})=>{let r=_(e?.identity);return await $r({...a,satellite:{...e,identity:r},options:{certified:!0}})},ii=async({satellite:e,...a})=>{let r=_(e?.identity);return await Yr({...a,satellite:{...e,identity:r},options:{certified:!0}})},xc=async({satellite:e,...a})=>{let r=_(e?.identity);return await Xr({...a,satellite:{...e,identity:r},options:{certified:!0}})},gc=async({satellite:e,...a})=>{let r=_(e?.identity);return await Qr({...a,satellite:{...e,identity:r},options:{certified:!0}})},yc=async({satellite:e,filter:a,...r})=>{let i=_(e?.identity);return await Zr({...r,filter:a??{},satellite:{...e,identity:i},options:{certified:!0}})},Rc=async({satellite:e,options:a,filter:r,...i})=>{let o=_(e?.identity);return await ei({...i,filter:r??{},satellite:{...e,identity:o},options:a??z})},hc=async({satellite:e,options:a,filter:r,...i})=>{let o=_(e?.identity);return await ai({...i,filter:r??{},satellite:{...e,identity:o},options:a??z})};var ni=async({provider:e})=>{let{user:a,userId:r}=await Ra();if(oi(a))return a;try{return await pn({userId:r,provider:e})}catch(i){if($a({error:i,type:kr})){let o=await ti({userId:r});if(oi(o))return o}throw i}},Ra=async()=>{let e=la();if(dn(e))throw new Ta("No identity to initialize the user. Have you initialized Juno?");let a=e.getPrincipal().toText(),r=await ti({userId:a});return{userId:a,user:r}},ti=({userId:e})=>ya({collection:"#user",key:e}),pn=({userId:e,...a})=>ri({collection:"#user",doc:{key:e,data:a}});var ha=async({syncTabsOnSuccess:e}={syncTabsOnSuccess:!1})=>{await sa({fn:async()=>{let{user:r}=await Ra();h.getInstance().set(r??null)},syncTabsOnSuccess:e})},si=async()=>{await Cr({fn:async({authenticated:a})=>{let i=a?Ra:()=>Promise.resolve({user:null}),{user:o}=await i();h.getInstance().set(o??null)}})},fa=async({user:e})=>{await sa({fn:async()=>{h.getInstance().set(e)},syncTabsOnSuccess:!0})};var ci=()=>{try{let e=Ze.getInstance(),a=async()=>{await si(),ta({message:"junoSignInReload"})};return e.onLoginSuccess(a),()=>{e?.destroy()}}catch(e){console.warn("Auth BroadcastChannel initialization failed",e);return}};var li=()=>{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()},di=()=>{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()},pi=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_GOOGLE_CLIENT_ID??import.meta.env?.PUBLIC_GOOGLE_CLIENT_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID??e():e()};import{isEmptyString as mn,isNullish as Nn,nonNullish as Ri}from"@dfinity/utils";var ui=BigInt(144e11),_i=!1,mi={width:576,height:576},Ni={width:424,height:576};var ca="internetcomputer.org",Ti="ic0.app",Oi="id.ai";import{isNullish as xi}from"@dfinity/utils";var gi=({width:e,height:a})=>{if(!ga()||xi(window)||xi(window.top))return;let{top:{innerWidth:r,innerHeight:i}}=window,o=i/2+screenY-a/2,n=r/2+screenX-e/2;return`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=${e}, height=${a}, top=${o}, left=${n}`};import{isNullish as un}from"@dfinity/utils";import{ERROR_USER_INTERRUPT as _n}from"@icp-sdk/auth/client";var H=async({fn:e,step:a,onProgress:r})=>{r?.({step:a,state:"in_progress"});try{let i=await e();return r?.({step:a,state:"success"}),i}catch(i){throw r?.({step:a,state:"error"}),i}};var yi=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))(yi||{});var Fa=class{async signIn({options:a,authClient:r,initAuth:i}){await H({fn:async()=>await this.#e({options:a,authClient:r}),step:0,onProgress:a?.onProgress}),await H({fn:async()=>await i({provider:this.id}),step:1,onProgress:a?.onProgress})}#e({options:a,authClient:r}){return new Promise(async(i,o)=>{if(un(r)){o(new ge("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:i,onError:n=>{if(n===_n){o(new pa(n));return}o(new da(n))},maxTimeToLive:a?.maxTimeToLiveInNanoseconds??ui,allowPinAuthentication:a?.allowPin??_i,...a?.derivationOrigin!==void 0&&{derivationOrigin:a.derivationOrigin},...this.signInOptions({windowed:a?.windowed})})})}};var Va=class extends Fa{#e;constructor({domain:a}){super(),this.#e=a}get id(){return"internet_identity"}signInOptions({windowed:a}){let i=(()=>{let n=x.getInstance().get()?.container;if(Nn(n)||n===!1){let d=[ca,Ti].includes(this.#e??ca);return mn(this.#e)?`https://identity.${ca}`:d?`https://identity.${this.#e??ca}`:`https://${this.#e}`}let t=x.getInstance().get(),s=Ri(t)&&Ri(t?.internetIdentityId)?t.internetIdentityId:Er,{host:c,protocol:l}=new URL(n===!0?Ye:n);return/apple/i.test(navigator?.vendor)?`${l}//${c}?canisterId=${s}`:`${l}//${s}.${c.replace("127.0.0.1","localhost")}`})();return{...a!==!1&&{windowOpenerFeatures:gi((()=>{try{let{hostname:n}=new URL(i);return n.includes(Oi)}catch{return!1}})()?Ni:mi)},identityProvider:i}}};import{isNullish as Kn}from"@dfinity/utils";var or=class extends Error{},nr=class extends Error{},tr=class extends Error{},sr=class extends Error{},cr=class extends Error{},lr=class extends Error{},dr=class extends Error{},Aa=class extends Error{},pr=class extends Error{},ur=class extends Error{};import{uint8ArrayToBase64 as Tn}from"@dfinity/utils";var wa=e=>Tn(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),ra=({url:e})=>{try{return new URL(e)}catch{throw new or("Cannot parse authURL",{cause:e})}};var hi=({initUrl:e})=>async({nonce:a})=>{let r=ra({url:e});r.searchParams.set("nonce",a);let{state:i}=await fetch(r.toString(),{credentials:"include"}).then(o=>o.json());return i};var On=()=>wa(window.crypto.getRandomValues(new Uint8Array(12))),fi=async e=>On();var Fi=({authUrl:e,clientId:a,authScopes:r,state:i,redirectUrl:o})=>{let n=ra({url:e});n.searchParams.set("client_id",a);let{location:{origin:t}}=window;n.searchParams.set("redirect_uri",o??t),n.searchParams.set("scope",r.join(" ")),n.searchParams.set("state",i),window.location.href=n.toString()};import{isNullish as xn,notEmptyString as gn}from"@dfinity/utils";var Vi=({authUrl:e,clientId:a,nonce:r,loginHint:i,authScopes:o,state:n,redirectUrl:t})=>{let s=ra({url:e});s.searchParams.set("client_id",a);let{location:{origin:c}}=window;s.searchParams.set("redirect_uri",t??c),s.searchParams.set("response_type","code id_token"),s.searchParams.set("scope",o.join(" ")),s.searchParams.set("state",n),s.searchParams.set("nonce",r),gn(i)?s.searchParams.set("login_hint",i):s.searchParams.set("prompt","select_account"),window.location.href=s.toString()},Ai=async({configUrl:e,clientId:a,nonce:r,loginHint:i,domainHint:o})=>{let n=await navigator.credentials.get({identity:{context:"use",providers:[{configURL:e,clientId:a,nonce:r,loginHint:i,domainHint:o}],mode:"active"},mediation:"required"});if(xn(n))throw new tr;let{type:t}=n;if(t!=="identity"||!("token"in n)||typeof n.token!="string")throw new sr("Invalid credential received from FedCM API",{cause:n});let{token:s}=n;return{jwt:s}};var _r="juno:auth:openid",mr={authUrl:"https://accounts.google.com/o/oauth2/v2/auth",authScopes:["openid","profile","email"],configUrl:"https://accounts.google.com/gsi/fedcm.json"},wi={authUrl:"http://accounts.google.com/o/o/oauth2/v2/auth",authScopes:["read:user","repo"],initUrl:"http://localhost:3000/v1/auth/init/github",finalizeUrl:"http://localhost:3000/v1/auth/finalize/github"};import{isNullish as yn}from"@dfinity/utils";import{Ed25519KeyIdentity as Rn}from"@icp-sdk/core/identity";import{arrayBufferToUint8Array as hn}from"@dfinity/utils";import{base64ToUint8Array as An,uint8ArrayToBase64 as wn}from"@dfinity/utils";import{Ed25519KeyIdentity as Pn}from"@icp-sdk/core/identity";var fn=()=>window.crypto.getRandomValues(new Uint8Array(32)),Fn=async({salt:e,caller:a})=>{let r=a.getPrincipal().toUint8Array(),i=new Uint8Array(e.length+r.byteLength);i.set(e),i.set(r,e.length);let o=await window.crypto.subtle.digest("SHA-256",i);return wa(hn(o))},Vn=async({caller:e})=>{let a=fn();return{nonce:await Fn({salt:a,caller:e}),salt:a}},Pi="__caller__",Ei="__salt__",vi="__state__",En=({caller:e,state:a,salt:r})=>{let i={[Pi]:e.toJSON(),[Ei]:wn(r),[vi]:a};return JSON.stringify(i)},vn=e=>{let{[Pi]:a,[Ei]:r,[vi]:i}=JSON.parse(e);return{caller:Pn.fromParsedJson(a),salt:An(r),state:i}},Nr=async({generateState:e})=>{let a=Rn.generate(),{nonce:r,salt:i}=await Vn({caller:a}),o=await e({nonce:r}),n=En({caller:a,salt:i,state:o});return sessionStorage.setItem(_r,n),{nonce:r,state:o}},Ii=()=>{let e=sessionStorage.getItem(_r);if(yn(e))throw new nr;return vn(e)};async function Tr(e){if("github"in e){let{github:t}=e,{redirect:s}=t,{initUrl:c,...l}=s,{authUrl:d,authScopes:u,initUrl:p}=wi,m=await Nr({generateState:hi({initUrl:c??p})});Fi({...l,...m,authUrl:d,authScopes:u});return}let a=await Nr({generateState:fi}),{google:r}=e;if("credentials"in r){let{credentials:t}=r,{configUrl:s}=mr;return await Ai({...t,...a,configUrl:s})}let{redirect:i}=r,{authUrl:o,authScopes:n}=mr;Vi({...i,...a,authUrl:o,authScopes:n})}import{fromNullable as In}from"@dfinity/utils";import{Delegation as bn,ECDSAKeyIdentity as Sn}from"@icp-sdk/core/identity";import{DelegationChain as kn,DelegationIdentity as Un}from"@icp-sdk/core/identity";var bi=({auth:e,identity:a})=>"satellite"in e?Ur({...e.satellite,identity:a}):Lr({...e.console,identity:a}),Dn=async({actorParams:e,args:a})=>{let{authenticate:r}=await bi(e);return await r(a)},Cn=async({actorParams:e,args:a})=>{let{get_delegation:r}=await bi(e);return await r(a)},Ln=({delegations:e,sessionKey:a})=>{let[r,i]=e,o=kn.fromDelegations(i,Uint8Array.from(r));return{identity:Un.fromDelegation(a,o),delegationChain:o,sessionKey:a}},Pa=async({jwt:e,context:a,auth:r})=>{let i=await Sn.generate({extractable:!1}),o=new Uint8Array(i.getPublicKey().toDer()),{delegations:n,data:t}=await qn({jwt:e,publicKey:o,context:a,auth:r});return{identity:Ln({sessionKey:i,delegations:n}),data:t}},qn=async({jwt:e,publicKey:a,context:{caller:r,salt:i},auth:o})=>{let n=await Dn({args:{OpenId:{jwt:e,session_key:a,salt:i}},actorParams:{auth:o,identity:r}});if("Err"in n)throw new cr("Authentication failed",{cause:n});let{delegation:{user_key:t,expiration:s},...c}=n.Ok,l=await Bn({jwt:e,context:{caller:r,salt:i},auth:o,publicKey:a,expiration:s}),{delegation:d,signature:u}=l,{pubkey:p,expiration:m,targets:O}=d;return{delegations:[t,[{delegation:new bn(Uint8Array.from(p),m,In(O)),signature:Uint8Array.from(u)}]],data:c}},Bn=async({jwt:e,publicKey:a,context:{salt:r,caller:i},auth:o,expiration:n,maxRetries:t=5})=>{for(let s=0;s<t;s++){await new Promise(l=>{setInterval(l,1e3*s)});let c=await Cn({args:{OpenId:{jwt:e,session_key:a,salt:r,expiration:n}},actorParams:{auth:o,identity:i}});if("Err"in c){let{Err:l}=c;if("NoSuchDelegation"in l||"GetCachedJwks"in l)continue;throw new pr("Getting delegation failed",{cause:c})}return c.Ok}throw new ur};import{isEmptyString as Ea}from"@dfinity/utils";var Or=async e=>{let a=Ii();if("github"in e){let{github:i}=e;return await Jn({...i,context:a})}let{google:r}=e;if("credentials"in r){let{credentials:{jwt:i},auth:o}=r;return await Pa({jwt:i,context:a,auth:o})}return await jn({...r,context:a})},jn=async({auth:e,context:a})=>{let{location:{hash:r}}=window;if(Ea(r)||!r.startsWith("#"))throw new lr("No hash found in the current location URL");let i=new URLSearchParams(r.slice(1)),o=i.get("state"),n=i.get("id_token"),{state:t}=a;if(Ea(t)||o!==t)throw new dr("The provided state is invalid",{cause:o});if(Ea(n))throw new Aa;return await Pa({jwt:n,auth:e,context:a})},Jn=async({auth:e,context:a,redirect:{finalizeUrl:r}})=>{let{location:{search:i}}=window,o=new URLSearchParams(i),n=o.get("code"),t=o.get("state"),{token:s}=await fetch(r,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:n,state:t})}).then(c=>c.json());if(Ea(s))throw new Aa;return await Pa({jwt:s,auth:e,context:a})};var Mn=async()=>{let{satelliteId:e}=x.getInstance().get()??{satelliteId:void 0};if(Kn(e))throw new ge("Satellite ID not set. Have you initialized the Satellite?");let a=x.getInstance().get()?.container,{identity:{delegationChain:r,sessionKey:i,identity:o},data:{doc:n}}=await Or({google:{redirect:null,auth:{satellite:{satelliteId:e,container:a}}}});await f.getInstance().setAuthClientStorage({delegationChain:r,sessionKey:i});let t=await ze({doc:n,key:o.getPrincipal().toText()});await fa({user:t})};var Si=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),Gn=()=>{window.addEventListener("beforeunload",Si,{capture:!0})},Wn=()=>{window.removeEventListener("beforeunload",Si,{capture:!0})},va=async({fn:e})=>{try{return Gn(),await e()}finally{Wn()}};import{isNullish as zn}from"@dfinity/utils";var Ia=class{async signIn({options:a={}}){let r=a?.redirect?.clientId??pi();if(zn(r))throw new _a;let{redirect:i}=a;await Tr({google:{redirect:{...i??{},clientId:r}}})}};import{isNullish as xr,uint8ArrayToBase64 as Xn}from"@dfinity/utils";import{IdbStorage as Qn,KEY_STORAGE_DELEGATION as Zn,KEY_STORAGE_KEY as et}from"@icp-sdk/auth/client";import{AnonymousIdentity as at}from"@icp-sdk/core/agent";import{DelegationChain as rt,DelegationIdentity as it,DER_COSE_OID as ot,ECDSAKeyIdentity as nt,unwrapDER as tt}from"@icp-sdk/core/identity";import{nonNullish as Hn,uint8ArrayToArrayOfNumber as $n}from"@dfinity/utils";var Di=async({delegationIdentity:e,passkeyIdentity:a,satelliteId:r})=>{let i=a.getCredential().getAAGUID(),[o,n]=await ii({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...Hn(i)&&{aaguid:$n(i)}}}}}},{collection:"#user-webauthn",doc:{key:a.getCredential().getCredentialIdText(),data:{publicKey:a.getPublicKey().toRaw()}}}],satellite:{identity:e,satelliteId:r}});return o};var Ci=(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))(Ci||{}),ki=(t=>(t[t.CreatingUserCredential=0]="CreatingUserCredential",t[t.ValidatingUserCredential=1]="ValidatingUserCredential",t[t.FinalizingCredential=2]="FinalizingCredential",t[t.Signing=3]="Signing",t[t.FinalizingSession=4]="FinalizingSession",t[t.RegisteringUser=5]="RegisteringUser",t))(ki||{});var ia=class{async signUp({options:{onProgress:a,maxTimeToLiveInMilliseconds:r,passkey:i}={},loadAuthWithUser:o}){let{satelliteId:n}=x.getInstance().get()??{satelliteId:void 0};if(xr(n))throw new ge("Satellite ID not set. Have you initialized the Satellite?");let t=({step:g,state:y})=>{switch(g){case ye.RequestingUserCredential:a?.({step:1,state:y});break;case ye.FinalizingCredential:a?.({step:2,state:y});break;case ye.Signing:a?.({step:3,state:y});break}},c=await H({fn:async()=>await Ga.createWithNewCredential({onProgress:t,passkeyOptions:i}),step:0,onProgress:a}),{delegationIdentity:l,sessionKey:d}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),p=await H({fn:async()=>await Di({delegationIdentity:l,passkeyIdentity:c,satelliteId:n}),step:5,onProgress:a});await H({fn:async()=>await this.#a({delegationIdentity:l,sessionKey:d}),step:4,onProgress:a}),await H({fn:async()=>await o({user:p}),step:5,onProgress:a})}async signIn({options:{onProgress:a,maxTimeToLiveInMilliseconds:r}={},loadAuth:i}){let{satelliteId:o}=x.getInstance().get()??{satelliteId:void 0};if(xr(o))throw new ge("Satellite ID not set. Have you initialized the Satellite?");let n=async({credentialId:u})=>{let p=await ya({collection:"#user-webauthn",key:Xn(u),options:{certified:!0},satellite:{identity:new at,satelliteId:o}});if(xr(p))throw new ma("No public key found for the selected passkey.");let{data:m}=p,{publicKey:O}=m;return tt(O,ot)},t=({step:u,state:p})=>{switch(u){case ye.RequestingUserCredential:a?.({step:0,state:p});break;case ye.FinalizingCredential:a?.({step:1,state:p});break;case ye.Signing:a?.({step:2,state:p});break}},s=await Ga.createWithExistingCredential({retrievePublicKey:n,onProgress:t}),{delegationIdentity:c,sessionKey:l}=await this.#e({identity:s,maxTimeToLiveInMilliseconds:r});await H({fn:async()=>await this.#a({delegationIdentity:c,sessionKey:l}),step:3,onProgress:a}),await H({fn:i,step:4,onProgress:a})}async#e({identity:a,maxTimeToLiveInMilliseconds:r}){let i=await nt.generate({extractable:!1}),o=r??144e5,n=await rt.create(a,i.getPublicKey(),new Date(Date.now()+o));return{delegationIdentity:it.fromDelegation(i,n),sessionKey:i}}async#a({sessionKey:a,delegationIdentity:r}){let i=new Qn;await Promise.all([i.set(et,a.getKeyPair()),i.set(Zn,JSON.stringify(r.getDelegation().toJSON()))])}};var st=async({provider:e})=>{await sa({fn:async()=>{let r=await ni({provider:e});h.getInstance().set(r)},syncTabsOnSuccess:!0})},ct=async e=>{if("google"in e){let{google:{options:a}}=e;await gr({fn:()=>new Ia().signIn({options:a}),context:{windowGuard:!1}});return}if("webauthn"in e){let{webauthn:{options:a,context:r}}=e;await gr({fn:()=>new ia().signIn({options:a,loadAuth:()=>ha({syncTabsOnSuccess:!0})}),context:r});return}if("internet_identity"in e){let{internet_identity:{options:a,context:r}}=e,{domain:i,...o}=a??{};await gr({fn:()=>new Va({domain:i}).signIn({options:o,authClient:f.getInstance().getAuthClient(),initAuth:st}),context:r});return}throw new ua("An unknown or unsupported provider was provided for sign-in.")},gr=async({fn:e,context:a})=>{if(a?.windowGuard===!1){await e();return}await va({fn:e})};var lt=async e=>{let a=async()=>await dt(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await a();return}await va({fn:a})},dt=async e=>{if("webauthn"in e){let{webauthn:{options:a}}=e;await new ia().signUp({options:a,loadAuthWithUser:fa});return}throw new Na("An unknown or unsupported provider was provided for sign-up.")};var cp=e=>e?.data?.provider==="webauthn",lp=e=>e?.data?.provider==="google";var _p=async({idlFactory:e,satellite:a})=>{let r=_(a?.identity);return await jr({idlFactory:e,...a,identity:r})};import{fromNullable as Hi,nonNullish as $i}from"@dfinity/utils";import{fromNullable as Sa,toNullable as Ot}from"@dfinity/utils";import{assertNonNullish as Tp,toNullable as ba}from"@dfinity/utils";var Ui=async({asset:{data:e,headers:a,...r},actor:i,progress:o})=>{let{init_asset_upload:n,upload_asset_chunk:t,commit_asset_upload:s}=i,{batch_id:c}=await n(pt(r));o?.onInitiatedBatch();let{chunkIds:l}=await mt({data:e,uploadFn:t,batchId:c});o?.onUploadedFileChunks(r.fullPath),await _t({commitFn:s,batchId:c,data:e,headers:a,chunkIds:l}),o?.onCommittedBatch()};var pt=({filename:e,collection:a,token:r,fullPath:i,encoding:o,description:n})=>({collection:a,full_path:i,name:e,token:ba(r),encoding_type:ba(o),description:ba(n)}),ut=({batchId:e,chunkIds:a,headers:r,data:i})=>{let o=r.find(([n,t])=>n.toLowerCase()==="content-type")===void 0&&i.type!==void 0&&i.type!==""?[["Content-Type",i.type]]:void 0;return{batch_id:e,chunk_ids:a.map(({chunk_id:n})=>n),headers:[...r,...o??[]]}},_t=async({commitFn:e,...a})=>{let r=ut(a);await e(r)},mt=async({data:e,uploadFn:a,batchId:r})=>{let i=[],o=ga()?new Blob([await e.arrayBuffer()]):e,n=0n;for(let s=0;s<o.size;s+=19e5){let c=o.slice(s,s+19e5);i.push({batchId:r,chunk:c,uploadFn:a,orderId:n}),n++}let t=[];for await(let s of Nt({uploadChunks:i}))t=[...t,...s];return{chunkIds:t}};async function*Nt({uploadChunks:e,limit:a=12}){for(let r=0;r<e.length;r=r+a){let i=e.slice(r,r+a);yield await Promise.all(i.map(o=>Tt(o)))}}var Tt=async({batchId:e,chunk:a,uploadFn:r,orderId:i})=>r({batch_id:e,content:new Uint8Array(await a.arrayBuffer()),order_id:ba(i)});var Li=async({asset:e,...a})=>{let r=await N(a);await Ui({actor:r,asset:e})},qi=async({collection:e,filter:a,...r})=>{let{list_assets:i}=await N(r),{items:o,items_length:n,items_page:t,matches_length:s,matches_pages:c}=await i(e,Re(a));return{items:o.map(([l,d])=>d),items_length:n,items_page:Sa(t),matches_length:s,matches_pages:Sa(c)}},Bi=async({collection:e,filter:a,...r})=>{let{count_assets:i}=await N(r);return i(e,Re(a))},ji=async({collection:e,fullPath:a,...r})=>(await N(r)).del_asset(e,a),Ji=async({assets:e,satellite:a})=>{let{del_many_assets:r}=await N({satellite:a,options:{certified:!0}}),i=e.map(({collection:o,fullPath:n})=>[o,n]);await r(i)},Ki=async({collection:e,filter:a,...r})=>{let{del_filtered_assets:i}=await N(r);return i(e,Re(a))},Mi=async({collection:e,fullPath:a,token:r,...i})=>{let{set_asset_token:o}=await N(i);return o(e,a,Ot(r))},Gi=async({collection:e,fullPath:a,...r})=>{let{get_asset:i}=await N(r);return Sa(await i(e,a))},Wi=async({assets:e,...a})=>{let{get_many_assets:r}=await N(a),i=e.map(({collection:n,fullPath:t})=>[n,t]);return(await r(i)).map(([n,t])=>Sa(t))};var zi=e=>btoa([...e].map(a=>String.fromCharCode(a)).join(""));var Ip=e=>Yi(e),bp=e=>Yi({filename:e.data.name,...e}),Yi=async({filename:e,data:a,collection:r,headers:i=[],fullPath:o,token:n,satellite:t,encoding:s,description:c})=>{let l=_(t?.identity),d=decodeURI(e),u=o??`/${r}/${d}`,p={...t,identity:l};return await Li({asset:{data:a,filename:d,collection:r,token:n,headers:i,fullPath:u,encoding:s,description:c},satellite:p,options:{certified:!0}}),{downloadUrl:Xi({satellite:p,assetKey:{fullPath:u,token:n}}),fullPath:u,...$i(n)&&{token:n},name:d}},Sp=async({collection:e,filter:a,satellite:r,options:i})=>{let o={...r,identity:_(r?.identity)},{items:n,...t}=await qi({collection:e,filter:a??{},satellite:o,options:i??z}),s=n.map(({key:{full_path:c,token:l,name:d,owner:u,description:p},headers:m,encodings:O,created_at:g,updated_at:y})=>{let W=Hi(l);return{fullPath:c,description:Hi(p),name:d,downloadUrl:Xi({satellite:o,assetKey:{fullPath:c,token:W}}),token:W,headers:m,encodings:O.reduce((U,[V,{modified:$,sha256:Y,total_length:T}])=>({...U,[V]:{modified:$,sha256:zi(Y),total_length:T}}),{}),owner:u.toText(),created_at:g,updated_at:y}});return{items:s,assets:s,...t}},Dp=async({collection:e,filter:a,satellite:r,options:i})=>{let o={...r,identity:_(r?.identity)};return await Bi({collection:e,satellite:o,filter:a??{},options:i??z})},Cp=({collection:e,fullPath:a,satellite:r})=>ji({collection:e,fullPath:a,satellite:{...r,identity:_(r?.identity)},options:{certified:!0}}),kp=({collection:e,fullPath:a,token:r,satellite:i})=>Mi({collection:e,fullPath:a,token:r,satellite:{...i,identity:_(i?.identity)},options:{certified:!0}}),Up=({assets:e,satellite:a})=>Ji({assets:e,satellite:{...a,identity:_(a?.identity)},options:{certified:!0}}),Lp=async({collection:e,satellite:a,filter:r})=>{let i={...a,identity:_(a?.identity)};return await Ki({collection:e,satellite:i,filter:r??{},options:{certified:!0}})},qp=async({satellite:e,options:a,...r})=>{let i=_(e?.identity);return await Gi({...r,satellite:{...e,identity:i},options:a??z})},Bp=async({satellite:e,options:a,...r})=>{let i=_(e?.identity);return await Wi({...r,satellite:{...e,identity:i},options:a??z})},Xi=({assetKey:{fullPath:e,token:a},satellite:r})=>{let i={...r,identity:_(r?.identity)};return`${Br(i)}${e}${$i(a)?`?token=${a}`:""}`};var gt=e=>{let a=e?.satelliteId??li();xt(a,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??di();return{satelliteId:a,internetIdentityId:e?.internetIdentityId,workers:e?.workers,syncTabs:e?.syncTabs,container:r}},Yp=e=>yt(e),yt=async e=>{let a=gt(e);x.getInstance().set(a),await ha();let r=a.workers?.auth!==void 0?Dr(a.workers.auth):void 0,i=a.syncTabs===!1?void 0:ci();return[...Qi(r)?[r]:[],...Qi(i)?[i]:[]]},Rt=e=>h.getInstance().subscribe(e),Xp=Rt;export{yi as AuthClientSignInProgressStep,Ta as InitError,Va as InternetIdentityProvider,Oa as ListError,da as SignInError,ge as SignInInitError,_a as SignInMissingClientIdError,ua as SignInProviderNotSupportedError,pa as SignInUserInterruptError,Na as SignUpProviderNotSupportedError,Ci as WebAuthnSignInProgressStep,ma as WebAuthnSignInRetrievePublicKeyError,ki as WebAuthnSignUpProgressStep,Xp as authSubscribe,Dp as countAssets,hc as countDocs,Cp as deleteAsset,xc as deleteDoc,Lp as deleteFilteredAssets,yc as deleteFilteredDocs,Up as deleteManyAssets,gc as deleteManyDocs,Xi as downloadUrl,qp as getAsset,ya as getDoc,Mo as getIdentityOnce,Bp as getManyAssets,Oc as getManyDocs,_p as getSatelliteExtendedActor,Mn as handleRedirectCallback,Yp as initJuno,yt as initSatellite,lp as isGoogleUser,Eo as isWebAuthnAvailable,cp as isWebAuthnUser,Sp as listAssets,Rc as listDocs,Rt as onAuthStateChange,kp as setAssetToken,ri as setDoc,ii as setManyDocs,ct as signIn,Ha as signOut,lt as signUp,Ko as unsafeIdentity,Ip as uploadBlob,bp as uploadFile};
1
+ import{assertNonNullish as xt,nonNullish as Qi}from"@dfinity/utils";import{uint8ArrayToArrayOfNumber as Zi}from"@dfinity/utils";import{DER_COSE_OID as ro,wrapDER as io}from"@icp-sdk/core/agent";import{uint8ArrayToBase64 as so}from"@dfinity/utils";import{arrayBufferToUint8Array as He,isNullish as oa,uint8ArraysEqual as xo}from"@dfinity/utils";import{Cbor as hr,SignIdentity as go}from"@icp-sdk/core/agent";import{nonNullish as Po}from"@dfinity/utils";var eo=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let a=e.slice(37,53),r=ao({bytes:a});return"aaguid"in r?{aaguidBytes:a,aaguidText:r.aaguid}:{unknownProvider:null}},ao=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let a=(e instanceof Uint8Array?Zi(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 oo(e){let a=new DataView(new ArrayBuffer(2)),r=e.slice(53,55);[...new Uint8Array(r)].forEach((o,n)=>a.setUint8(n,o));let i=a.getUint16(0);return e.slice(55+i)}function no(e){return io(e,ro)}var to=class{constructor(e){this._cose=e,this.#e=no(e)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},Ar=class{#e;#a;constructor({rawId:e,cose:a}){this.#e=e,this.#a=new to(a)}getPublicKey(){return this.#a}getCredentialId(){return this.#e}getCredentialIdText(){return so(this.#e)}},co=class extends Ar{#e;#a;constructor({authData:e,...a}){super(a);let r=eo({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}},lo=class extends Ar{},po=class extends Error{},uo=class extends Error{},_o=class extends Error{},mo=class extends Error{},No=class extends Error{},To=class extends Error{},Oo=class extends Error{},Rr=class extends Error{};var yo={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},Ro=6e4,wr=()=>window.crypto.getRandomValues(new Uint8Array(16)),ho=()=>wr(),fo=()=>wr(),Fo=()=>{let{location:{href:e}}=window;try{let{hostname:a}=new URL(e);return a}catch{throw new po}},Pr=({appId:e})=>e?.id??Fo(),Vo=({appId:e,user:a}={})=>{let{document:{title:r}}=window,i=()=>({rp:{name:e?.name??r,id:Pr({appId:e})}}),o=()=>({user:{id:fo(),name:a?.name??a?.displayName??r,displayName:a?.displayName??r}});return{attestation:"direct",challenge:ho(),...i(),...o(),pubKeyCredParams:Object.values(yo).map(n=>({type:"public-key",alg:n})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},Ao=(e={})=>({rpId:Pr(e),allowCredentials:[],userVerification:"required"}),Ga=async({fn:e,step:a,onProgress:r})=>{r?.({step:a,state:"in_progress"});try{let i=await e();return r?.({step:a,state:"success"}),i}catch(i){throw r?.({step:a,state:"error"}),i}},ye=(e=>(e[e.RequestingUserCredential=0]="RequestingUserCredential",e[e.FinalizingCredential=1]="FinalizingCredential",e[e.Signing=2]="Signing",e))(ye||{}),Er=({timeout:e})=>AbortSignal.timeout(e??Ro),wo=async({challenge:e,credentialIds:a,passkeyOptions:r,timeout:i})=>await navigator.credentials.get({publicKey:{...Ao(r),challenge:e.buffer,allowCredentials:(a??[]).map(o=>({id:o.buffer,type:"public-key"}))},signal:Er({timeout:i})}),fr=e=>{if(e.status!=="initialized")throw new uo},Fr=e=>{if(oa(e))throw new _o},Vr=({type:e})=>{if(e!=="public-key")throw new mo},Wa=class na extends go{#e;#a;constructor({onProgress:a,...r}){if(super(),this.#e=a,"retrievePublicKey"in r){let{retrievePublicKey:i}=r;this.#a={status:"pending",retrievePublicKey:i};return}this.#a=na.#r({credential:new co(r)})}static#r({credential:a}){return{status:"initialized",credential:a}}static async createWithNewCredential({passkeyOptions:a,timeout:r,...i}={}){let o=await navigator.credentials.create({publicKey:Vo(a),signal:Er({timeout:r})});Fr(o),Vr(o);let{response:{attestationObject:n},rawId:t}=o;if(oa(n))throw new No;let{authData:s}=hr.decode(He(n)),c=oo(s);return new na({...i,rawId:He(t),cose:c,authData:s})}static async createWithExistingCredential(a){return new na(a)}getPublicKey(){fr(this.#a);let{credential:a}=this.#a;return a.getPublicKey()}getCredential(){fr(this.#a);let{credential:a}=this.#a;return a}async sign(a){let r=await Ga({fn:async()=>{let i=await wo({challenge:a,...this.#a.status==="initialized"&&{credentialIds:[this.#a.credential.getCredentialId()]}});return Fr(i),Vr(i),i},step:0,onProgress:this.#e});return await Ga({fn:async()=>{let{rawId:i}=r;if(this.#a.status==="initialized"){if(!xo({a:this.#a.credential.getCredentialId(),b:He(i)}))throw new To;return}let{retrievePublicKey:o}=this.#a,n=await o({credentialId:He(i)});this.#a=na.#r({credential:new lo({rawId:He(i),cose:n})})},step:1,onProgress:this.#e}),await Ga({fn:async()=>{let{response:i}=r,{clientDataJSON:o}=i,{authenticatorData:n,signature:t}="authenticatorData"in i&&"signature"in i?i:{};if(oa(n))throw new Rr;if(oa(t))throw new Rr;let s=hr.encode({authenticator_data:n,client_data_json:new TextDecoder().decode(o),signature:He(t)});if(oa(s))throw new Oo;return Object.assign(s,{__signature__:void 0}),s},step:2,onProgress:this.#e})}},Eo=async()=>Po(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;import{isNullish as ko}from"@dfinity/utils";var $e=class{callbacks=[];populate(a){this.callbacks.forEach(({callback:r})=>r(a))}subscribe(a){let r=Symbol();return this.callbacks.push({id:r,callback:a}),()=>this.callbacks=this.callbacks.filter(({id:i})=>i!==r)}};var h=class e extends $e{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 ta=({message:e,detail:a})=>{let r=new CustomEvent(e,{detail:a,bubbles:!0});document.dispatchEvent(r)};import{isNullish as Ha}from"@dfinity/utils";import{Actor as Io}from"@icp-sdk/core/agent";import{isNullish as za}from"@dfinity/utils";import{nonNullish as Ir}from"@dfinity/utils";import{HttpAgent as vo}from"@icp-sdk/core/agent";var Ye="http://127.0.0.1:5987",vr="rdmx6-jaaaa-aaaaa-aaadq-cai";var br=async({identity:e,container:a})=>{let i=Ir(a)&&a!==!1?a===!0?Ye:a:"https://icp-api.io",o=Ir(a);return await vo.create({identity:e,shouldFetchRootKey:o,host:i})};var Xe=class e{static instance;#e=void 0;constructor(){}static getInstance(){return za(e.instance)&&(e.instance=new e),e.instance}async getAgent({identity:a,...r}){let i=a.getPrincipal().toText();if(za(this.#e)||za(this.#e[i])){let o=await br({identity:a,...r});return this.#e={...this.#e??{},[i]:o},o}return this.#e[i]}reset(){this.#e=null}};var Qe=class e{static instance;#e=void 0;constructor(){}static getInstance(){return Ha(e.instance)&&(e.instance=new e),e.instance}async getActor({satelliteId:a,identity:r,actorKey:i,...o}){let n=`${i}#${r.getPrincipal().toText()}#${a};`;if(Ha(this.#e)||Ha(this.#e[n])){let t=await this.createActor({satelliteId:a,identity:r,...o});return this.#e={...this.#e??{},[n]:t},t}return this.#e[n]}reset(){this.#e=null}async createActor({idlFactory:a,satelliteId:r,...i}){let o=await Xe.getInstance().getAgent(i);return Io.createActor(a,{agent:o,canisterId:r})}};import{isNullish as bo}from"@dfinity/utils";import{AuthClient as So,IdbStorage as Sr,KEY_STORAGE_DELEGATION as Do,KEY_STORAGE_KEY as Dr}from"@icp-sdk/auth/client";var f=class e{static#e;#a;constructor(){}static getInstance(){return bo(this.#e)&&(this.#e=new e),this.#e}createAuthClient=async()=>(this.#a=await So.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),this.#a);safeCreateAuthClient=async()=>(await new Sr().remove(Dr),await this.createAuthClient());getAuthClient=()=>this.#a;logout=async()=>{await this.#a?.logout(),this.#a=null};setAuthClientStorage=async({delegationChain:a,sessionKey:r})=>{let i=new Sr;await Promise.all([i.set(Dr,r.getKeyPair()),i.set(Do,JSON.stringify(a.toJSON()))])}};var $a=async e=>{await Co(),await f.getInstance().createAuthClient(),e?.windowReload!==!1&&window.location.reload()},Co=async()=>{await f.getInstance().logout(),h.getInstance().reset(),Qe.getInstance().reset(),Xe.getInstance().reset()};var Cr=e=>{let a=e===!0?"./workers/auth.worker.js":e,r=new Worker(a),i=async()=>{ta({message:"junoSignOutAuthTimer"}),await $a()};return r.onmessage=async({data:o})=>{let{msg:n,data:t}=o;switch(n){case"junoSignOutAuthTimer":await i();return;case"junoDelegationRemainingTime":ta({message:"junoDelegationRemainingTime",detail:t?.authRemainingTime})}},h.getInstance().subscribe(o=>{if(ko(o)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};import{isNullish as Uo,nonNullish as Lo,notEmptyString as qo}from"@dfinity/utils";var Ze=class e{static#e;#a;#r;static CHANNEL_NAME="juno_core_auth_channel";static MESSAGE_LOGIN_SUCCESS="authClientLoginSuccess";constructor(){this.#a=new BroadcastChannel(e.CHANNEL_NAME),this.#r=window.crypto.randomUUID()}static getInstance(){return Uo(this.#e)&&(this.#e=new e),this.#e}onLoginSuccess=a=>{let{location:{origin:r}}=window;this.#a.onmessage=async({origin:i,data:o})=>{i===r&&Lo(o)&&o.msg==="authClientLoginSuccess"&&qo(o.emitterId)&&o.emitterId!==this.#r&&await a()}};destroy=()=>{this.#a.close(),e.#e=null};postLoginSuccess=()=>{let a={emitterId:this.#r,msg:e.MESSAGE_LOGIN_SUCCESS};this.#a.postMessage(a)};get __test__only__emitter_id__(){return this.#r}};var x=class e extends $e{static instance;env;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(a){this.env=a,this.populate(a)}get(){return this.env}reset(){this.env=null}subscribe(a){let r=super.subscribe(a);return a(this.env),r}};var sa=async({fn:e,syncTabsOnSuccess:a})=>{let{authenticated:r}=await Bo({fn:e});!r||!a||x.getInstance().get()?.syncTabs===!1||jo()},kr=async({fn:e})=>{let{createAuthClient:a}=f.getInstance(),i=await(await a()).isAuthenticated();await e({authenticated:i})},Bo=async({fn:e})=>{let{createAuthClient:a,safeCreateAuthClient:r}=f.getInstance();return await(await a()).isAuthenticated()?(await e(),{authenticated:!0}):(await r(),{authenticated:!1})},jo=()=>{try{Ze.getInstance().postLoginSuccess()}catch(e){console.warn("Auth BroadcastChannel posting failed",e)}};import{isNullish as dn,nonNullish as ni}from"@dfinity/utils";var Ya=({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 z={certified:!1};import{nonNullish as Go}from"@dfinity/utils";import{AnonymousIdentity as Wo}from"@icp-sdk/core/agent";import{isNullish as Jo}from"@dfinity/utils";var la=()=>f.getInstance().getAuthClient()?.getIdentity(),Ko=async()=>{let{getAuthClient:e,createAuthClient:a}=f.getInstance();return(e()??await a()).getIdentity()},Mo=async()=>{let e=h.getInstance().get();if(Jo(e))return null;let a=f.getInstance().getAuthClient();return await a?.isAuthenticated()??!1?a?.getIdentity()??null:null};var _=e=>Go(e)?e:la()??new Wo;import{fromNullable as aa,isNullish as cn,nonNullish as ln}from"@dfinity/utils";import{assertNonNullish as on}from"@dfinity/utils";import{isNullish as zo}from"@dfinity/utils";import{Actor as Ho}from"@icp-sdk/core/agent";import{nonNullish as Xo}from"@dfinity/utils";import{HttpAgent as Qo}from"@icp-sdk/core/agent";var Xa=({IDL:e})=>{let a=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(a)}),i=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),n=e.Variant({OpenId:o}),t=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),s=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:t,delegation:s}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),d=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),u=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),p=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:d,GetOrFetchJwks:u,DeriveSeedFailed:e.Text}),m=e.Variant({PrepareDelegation:p,RegisterUser:e.Text}),O=e.Variant({Ok:c,Err:m}),g=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),y=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),W=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),U=e.Record({field:W,desc:e.Bool}),V=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),$=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(V),description:e.Opt(e.Text),created_at:e.Opt(V)}),Y=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),T=e.Record({order:e.Opt(U),owner:e.Opt(e.Principal),matcher:e.Opt($),paginate:e.Opt(Y)}),he=e.Record({controllers:e.Vec(e.Principal)}),X=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),L=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:X,expires_at:e.Opt(e.Nat64)}),Q=e.Record({version:e.Opt(e.Nat64)}),A=e.Variant({Db:e.Null,Storage:e.Null}),fe=e.Record({version:e.Opt(e.Nat64)}),Z=e.Record({proposal_ids:e.Vec(e.Nat)}),ee=e.Record({cycles:e.Nat,destination_id:e.Principal}),ae=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}),w=e.Record({key:ae,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)}),re=e.Variant({Google:e.Null}),ie=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),oe=e.Record({delegation:e.Opt(ie),client_id:e.Text}),P=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(re,oe))}),ne=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),B=e.Record({allowed_callers:e.Vec(e.Principal)}),j=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(P),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(ne),rules:e.Opt(B)}),E=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),J=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)}),te=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),se=e.Variant({Deny:e.Null,Allow:e.Null}),ce=e.Record({status_code:e.Nat16,location:e.Text}),R=e.Record({iframe:e.Opt(te),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(E),raw_access:e.Opt(se),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ce)))}),le=e.Record({db:e.Opt(J),authentication:e.Opt(j),storage:R}),Fe=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Ve=e.Variant({OpenId:Fe}),Ae=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),we=e.Record({signature:e.Vec(e.Nat8),delegation:Ae}),de=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:d,GetOrFetchJwks:u,DeriveSeedFailed:e.Text}),v=e.Variant({Ok:we,Err:de}),pe=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Pe=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Ee=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),I=e.Variant({AssetsUpgrade:Pe,SegmentsDeployment:Ee}),b=e.Record({status:pe,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:I}),S=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),ue=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),D=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(a),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:S,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(ue),write:S,max_changes_per_user:e.Opt(e.Nat32)}),_e=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),K=e.Record({memory:a,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),ve=e.Variant({Callback:e.Record({token:K,callback:e.Func([],[],["query"])})}),me=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(ve),status_code:e.Nat16}),Ie=e.Record({token:e.Opt(K),body:e.Vec(e.Nat8)}),M=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}),G=e.Record({batch_id:e.Nat}),be=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,w)),items_length:e.Nat64}),Se=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),De=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,t)),items_length:e.Nat64}),Ce=e.Record({desc:e.Bool}),Ne=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),ke=e.Record({order:e.Opt(Ce),paginate:e.Opt(Ne)}),Ue=e.Record({proposal_id:e.Nat}),Te=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Ue,b)),items_length:e.Nat64}),Le=e.Record({include_system:e.Bool}),qe=e.Record({matcher:e.Opt(Le)}),Be=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,D)),items_length:e.Nat64}),je=e.Record({stable:e.Nat64,heap:e.Nat64}),Je=e.Record({openid:e.Opt(P),version:e.Opt(e.Nat64),internet_identity:e.Opt(ne),rules:e.Opt(B)}),Ke=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:X,expires_at:e.Opt(e.Nat64)}),Me=e.Record({controller:Ke,controllers:e.Vec(e.Principal)}),Ge=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(E)}),Oe=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),F=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(a),max_size:e.Opt(e.Nat),read:S,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(ue),write:S,max_changes_per_user:e.Opt(e.Nat32)}),We=e.Record({iframe:e.Opt(te),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(E),raw_access:e.Opt(se),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ce)))}),xe=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),C=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([n],[O],[]),commit_asset_upload:e.Func([g],[],[]),commit_proposal:e.Func([y],[e.Null],[]),commit_proposal_asset_upload:e.Func([g],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(g)],[],[]),count_assets:e.Func([e.Text,T],[e.Nat64],["query"]),count_collection_assets:e.Func([e.Text],[e.Nat64],["query"]),count_collection_docs:e.Func([e.Text],[e.Nat64],["query"]),count_docs:e.Func([e.Text,T],[e.Nat64],["query"]),count_proposals:e.Func([],[e.Nat64],["query"]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([he],[e.Vec(e.Tuple(e.Principal,L))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,Q],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,T],[],[]),del_filtered_docs:e.Func([e.Text,T],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Q))],[],[]),del_rule:e.Func([A,e.Text,fe],[],[]),delete_proposal_assets:e.Func([Z],[],[]),deposit_cycles:e.Func([ee],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(w)],["query"]),get_auth_config:e.Func([],[e.Opt(j)],["query"]),get_config:e.Func([],[le],[]),get_db_config:e.Func([],[e.Opt(J)],["query"]),get_delegation:e.Func([Ve],[v],["query"]),get_doc:e.Func([e.Text,e.Text],[e.Opt(t)],["query"]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(w)))],["query"]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(t)))],["query"]),get_proposal:e.Func([e.Nat],[e.Opt(b)],["query"]),get_rule:e.Func([A,e.Text],[e.Opt(D)],["query"]),get_storage_config:e.Func([],[R],["query"]),http_request:e.Func([_e],[me],["query"]),http_request_streaming_callback:e.Func([K],[Ie],["query"]),init_asset_upload:e.Func([M],[G],[]),init_proposal:e.Func([I],[e.Nat,b],[]),init_proposal_asset_upload:e.Func([M,e.Nat],[G],[]),init_proposal_many_assets_upload:e.Func([e.Vec(M),e.Nat],[e.Vec(e.Tuple(e.Text,G))],[]),list_assets:e.Func([e.Text,T],[be],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,L))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Se))],["query"]),list_docs:e.Func([e.Text,T],[De],["query"]),list_proposals:e.Func([ke],[Te],["query"]),list_rules:e.Func([A,qe],[Be],["query"]),memory_size:e.Func([],[je],["query"]),reject_proposal:e.Func([y],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([Je],[j],[]),set_controllers:e.Func([Me],[e.Vec(e.Tuple(e.Principal,L))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([Ge],[J],[]),set_doc:e.Func([e.Text,e.Text,Oe],[t],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Oe))],[e.Vec(e.Tuple(e.Text,t))],[]),set_rule:e.Func([A,e.Text,F],[D],[]),set_storage_config:e.Func([We],[R],[]),submit_proposal:e.Func([e.Nat],[e.Nat,b],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([xe],[C],[]),upload_proposal_asset_chunk:e.Func([xe],[C],[])})},Qa=({IDL:e})=>{let a=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(a)}),i=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),n=e.Variant({OpenId:o}),t=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),s=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:t,delegation:s}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),d=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),u=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),p=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:d,GetOrFetchJwks:u,DeriveSeedFailed:e.Text}),m=e.Variant({PrepareDelegation:p,RegisterUser:e.Text}),O=e.Variant({Ok:c,Err:m}),g=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),y=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),W=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),U=e.Record({field:W,desc:e.Bool}),V=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),$=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(V),description:e.Opt(e.Text),created_at:e.Opt(V)}),Y=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),T=e.Record({order:e.Opt(U),owner:e.Opt(e.Principal),matcher:e.Opt($),paginate:e.Opt(Y)}),he=e.Record({controllers:e.Vec(e.Principal)}),X=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),L=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:X,expires_at:e.Opt(e.Nat64)}),Q=e.Record({version:e.Opt(e.Nat64)}),A=e.Variant({Db:e.Null,Storage:e.Null}),fe=e.Record({version:e.Opt(e.Nat64)}),Z=e.Record({proposal_ids:e.Vec(e.Nat)}),ee=e.Record({cycles:e.Nat,destination_id:e.Principal}),ae=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}),w=e.Record({key:ae,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)}),re=e.Variant({Google:e.Null}),ie=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),oe=e.Record({delegation:e.Opt(ie),client_id:e.Text}),P=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(re,oe))}),ne=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),B=e.Record({allowed_callers:e.Vec(e.Principal)}),j=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(P),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(ne),rules:e.Opt(B)}),E=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),J=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)}),te=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),se=e.Variant({Deny:e.Null,Allow:e.Null}),ce=e.Record({status_code:e.Nat16,location:e.Text}),R=e.Record({iframe:e.Opt(te),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(E),raw_access:e.Opt(se),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ce)))}),le=e.Record({db:e.Opt(J),authentication:e.Opt(j),storage:R}),Fe=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Ve=e.Variant({OpenId:Fe}),Ae=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),we=e.Record({signature:e.Vec(e.Nat8),delegation:Ae}),de=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:d,GetOrFetchJwks:u,DeriveSeedFailed:e.Text}),v=e.Variant({Ok:we,Err:de}),pe=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Pe=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Ee=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),I=e.Variant({AssetsUpgrade:Pe,SegmentsDeployment:Ee}),b=e.Record({status:pe,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:I}),S=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),ue=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),D=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(a),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:S,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(ue),write:S,max_changes_per_user:e.Opt(e.Nat32)}),_e=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),K=e.Record({memory:a,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),ve=e.Variant({Callback:e.Record({token:K,callback:e.Func([],[],[])})}),me=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(ve),status_code:e.Nat16}),Ie=e.Record({token:e.Opt(K),body:e.Vec(e.Nat8)}),M=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}),G=e.Record({batch_id:e.Nat}),be=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,w)),items_length:e.Nat64}),Se=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),De=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,t)),items_length:e.Nat64}),Ce=e.Record({desc:e.Bool}),Ne=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),ke=e.Record({order:e.Opt(Ce),paginate:e.Opt(Ne)}),Ue=e.Record({proposal_id:e.Nat}),Te=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Ue,b)),items_length:e.Nat64}),Le=e.Record({include_system:e.Bool}),qe=e.Record({matcher:e.Opt(Le)}),Be=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,D)),items_length:e.Nat64}),je=e.Record({stable:e.Nat64,heap:e.Nat64}),Je=e.Record({openid:e.Opt(P),version:e.Opt(e.Nat64),internet_identity:e.Opt(ne),rules:e.Opt(B)}),Ke=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:X,expires_at:e.Opt(e.Nat64)}),Me=e.Record({controller:Ke,controllers:e.Vec(e.Principal)}),Ge=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(E)}),Oe=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),F=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(a),max_size:e.Opt(e.Nat),read:S,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(ue),write:S,max_changes_per_user:e.Opt(e.Nat32)}),We=e.Record({iframe:e.Opt(te),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(E),raw_access:e.Opt(se),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ce)))}),xe=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),C=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([n],[O],[]),commit_asset_upload:e.Func([g],[],[]),commit_proposal:e.Func([y],[e.Null],[]),commit_proposal_asset_upload:e.Func([g],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(g)],[],[]),count_assets:e.Func([e.Text,T],[e.Nat64],[]),count_collection_assets:e.Func([e.Text],[e.Nat64],[]),count_collection_docs:e.Func([e.Text],[e.Nat64],[]),count_docs:e.Func([e.Text,T],[e.Nat64],[]),count_proposals:e.Func([],[e.Nat64],[]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([he],[e.Vec(e.Tuple(e.Principal,L))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,Q],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,T],[],[]),del_filtered_docs:e.Func([e.Text,T],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Q))],[],[]),del_rule:e.Func([A,e.Text,fe],[],[]),delete_proposal_assets:e.Func([Z],[],[]),deposit_cycles:e.Func([ee],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(w)],[]),get_auth_config:e.Func([],[e.Opt(j)],[]),get_config:e.Func([],[le],[]),get_db_config:e.Func([],[e.Opt(J)],[]),get_delegation:e.Func([Ve],[v],[]),get_doc:e.Func([e.Text,e.Text],[e.Opt(t)],[]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(w)))],[]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(t)))],[]),get_proposal:e.Func([e.Nat],[e.Opt(b)],[]),get_rule:e.Func([A,e.Text],[e.Opt(D)],[]),get_storage_config:e.Func([],[R],[]),http_request:e.Func([_e],[me],[]),http_request_streaming_callback:e.Func([K],[Ie],[]),init_asset_upload:e.Func([M],[G],[]),init_proposal:e.Func([I],[e.Nat,b],[]),init_proposal_asset_upload:e.Func([M,e.Nat],[G],[]),init_proposal_many_assets_upload:e.Func([e.Vec(M),e.Nat],[e.Vec(e.Tuple(e.Text,G))],[]),list_assets:e.Func([e.Text,T],[be],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,L))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Se))],[]),list_docs:e.Func([e.Text,T],[De],[]),list_proposals:e.Func([ke],[Te],[]),list_rules:e.Func([A,qe],[Be],[]),memory_size:e.Func([],[je],[]),reject_proposal:e.Func([y],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([Je],[j],[]),set_controllers:e.Func([Me],[e.Vec(e.Tuple(e.Principal,L))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([Ge],[J],[]),set_doc:e.Func([e.Text,e.Text,Oe],[t],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Oe))],[e.Vec(e.Tuple(e.Text,t))],[]),set_rule:e.Func([A,e.Text,F],[D],[]),set_storage_config:e.Func([We],[R],[]),submit_proposal:e.Func([e.Nat],[e.Nat,b],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([xe],[C],[]),upload_proposal_asset_chunk:e.Func([xe],[C],[])})},$o=({IDL:e})=>{let a=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),i=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),o=e.Variant({OpenId:i}),n=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),t=e.Variant({Google:e.Null}),s=e.Record({name:e.Opt(e.Text),locale:e.Opt(e.Text),family_name:e.Opt(e.Text),email:e.Opt(e.Text),picture:e.Opt(e.Text),given_name:e.Opt(e.Text)}),c=e.Record({provider:t,data:s}),l=e.Variant({InternetIdentity:e.Null,OpenId:c}),d=e.Record({updated_at:e.Nat64,credits:a,mission_control_id:e.Opt(e.Principal),provider:e.Opt(l),owner:e.Principal,created_at:e.Nat64}),u=e.Record({delegation:n,account:d}),p=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),m=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),O=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),g=e.Variant({JwtFindProvider:p,GetCachedJwks:e.Null,JwtVerify:m,GetOrFetchJwks:O,DeriveSeedFailed:e.Text}),y=e.Variant({PrepareDelegation:g,RegisterUser:e.Text}),W=e.Variant({Ok:u,Err:y}),U=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),V=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),$=e.Record({subnet_id:e.Opt(e.Principal)}),Y=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),name:e.Opt(e.Text),user:e.Principal}),T=e.Variant({Heap:e.Null,Stable:e.Null}),he=e.Record({system_memory:e.Opt(T)}),X=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(he),name:e.Opt(e.Text),user:e.Principal}),L=e.Record({controllers:e.Vec(e.Principal)}),Q=e.Record({proposal_ids:e.Vec(e.Nat)}),A=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),fe=e.Record({delegation:e.Opt(A),client_id:e.Text}),Z=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(t,fe))}),ee=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),ae=e.Record({allowed_callers:e.Vec(e.Principal)}),q=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(Z),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(ee),rules:e.Opt(ae)}),w=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),re=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),ie=e.Variant({Deny:e.Null,Allow:e.Null}),oe=e.Record({status_code:e.Nat16,location:e.Text}),P=e.Record({iframe:e.Opt(w),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(re),raw_access:e.Opt(ie),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),ne=e.Record({authentication:e.Opt(q),storage:P}),B=e.Record({user:e.Principal}),j=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),E=e.Variant({OpenId:j}),J=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),te=e.Record({signature:e.Vec(e.Nat8),delegation:J}),se=e.Variant({JwtFindProvider:p,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:m,GetOrFetchJwks:O,DeriveSeedFailed:e.Text}),ce=e.Variant({Ok:te,Err:se}),R=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),le=e.Record({e12s:e.Nat64}),Fe=e.Record({updated_at:e.Nat64,fee_cycles:le,fee_icp:e.Opt(a)}),Ve=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Ae=e.Record({clear_existing_assets:e.Opt(e.Bool)}),we=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),de=e.Variant({AssetsUpgrade:Ae,SegmentsDeployment:we}),v=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:de}),pe=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),Pe=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)}),Ee=e.Variant({Heap:e.Null,Stable:e.Null}),I=e.Record({memory:Ee,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}),b=e.Variant({Callback:e.Record({token:I,callback:e.Func([],[],["query"])})}),S=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(b),status_code:e.Nat16}),ue=e.Record({token:e.Opt(I),body:e.Vec(e.Nat8)}),D=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}),_e=e.Record({batch_id:e.Nat}),K=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),ve=e.Record({field:K,desc:e.Bool}),me=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),Ie=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(me),description:e.Opt(e.Text),created_at:e.Opt(me)}),M=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),G=e.Record({order:e.Opt(ve),owner:e.Opt(e.Principal),matcher:e.Opt(Ie),paginate:e.Opt(M)}),be=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),Se=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),De=e.Record({key:be,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,Se)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),Ce=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,De)),items_length:e.Nat64}),Ne=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),ke=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:Ne,expires_at:e.Opt(e.Nat64)}),Ue=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Te=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),Le=e.Record({status:Te,updated_at:e.Nat64,block_index_payment:e.Nat64,mission_control_id:e.Opt(e.Principal),created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64)}),qe=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),Be=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),je=e.Record({status:Te,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:Be}),Je=e.Record({desc:e.Bool}),Ke=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Me=e.Record({order:e.Opt(Je),paginate:e.Opt(Ke)}),Ge=e.Record({proposal_id:e.Nat}),Oe=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Ge,v)),items_length:e.Nat64}),F=e.Variant({Orbiter:e.Null,Satellite:e.Null}),We=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(F)}),xe=e.Record({user:e.Principal,segment_id:e.Principal,segment_kind:F}),C=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,created_at:e.Nat64}),Ca=e.Record({openid:e.Opt(Z),version:e.Opt(e.Nat64),internet_identity:e.Opt(ee),rules:e.Opt(ae)}),ka=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:Ne,expires_at:e.Opt(e.Nat64)}),Ua=e.Record({controller:ka,controllers:e.Vec(e.Principal)}),La=e.Record({fee_cycles:le,fee_icp:e.Opt(a)}),qa=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:F}),Ba=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:F}),ja=e.Record({iframe:e.Opt(w),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(re),raw_access:e.Opt(ie),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),Ja=e.Record({segment_id:e.Principal,segment_kind:F}),Ka=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Ma=e.Record({chunk_id:e.Nat});return e.Service({add_credits:e.Func([e.Principal,a],[],[]),add_invitation_code:e.Func([e.Text],[],[]),assert_mission_control_center:e.Func([r],[],["query"]),authenticate:e.Func([o],[W],[]),commit_proposal:e.Func([U],[e.Null],[]),commit_proposal_asset_upload:e.Func([V],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(V)],[],[]),count_proposals:e.Func([],[e.Nat64],["query"]),create_mission_control:e.Func([$],[e.Principal],[]),create_orbiter:e.Func([Y],[e.Principal],[]),create_satellite:e.Func([X],[e.Principal],[]),del_controllers:e.Func([L],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([Q],[],[]),get_account:e.Func([],[e.Opt(d)],["query"]),get_auth_config:e.Func([],[e.Opt(q)],["query"]),get_config:e.Func([],[ne],["query"]),get_create_orbiter_fee:e.Func([B],[e.Opt(a)],["query"]),get_create_satellite_fee:e.Func([B],[e.Opt(a)],["query"]),get_credits:e.Func([],[a],["query"]),get_delegation:e.Func([E],[ce],["query"]),get_fee:e.Func([R],[Fe],["query"]),get_or_init_account:e.Func([],[d],[]),get_proposal:e.Func([e.Nat],[e.Opt(v)],["query"]),get_rate_config:e.Func([R],[pe],["query"]),get_storage_config:e.Func([],[P],["query"]),http_request:e.Func([Pe],[S],["query"]),http_request_streaming_callback:e.Func([I],[ue],["query"]),init_proposal:e.Func([de],[e.Nat,v],[]),init_proposal_asset_upload:e.Func([D,e.Nat],[_e],[]),init_proposal_many_assets_upload:e.Func([e.Vec(D),e.Nat],[e.Vec(e.Tuple(e.Text,_e))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,d))],["query"]),list_assets:e.Func([e.Text,G],[Ce],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,ke))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Ue))],["query"]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,Le))],["query"]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(qe,je))],["query"]),list_proposals:e.Func([Me],[Oe],["query"]),list_segments:e.Func([We],[e.Vec(e.Tuple(xe,C))],["query"]),reject_proposal:e.Func([U],[e.Null],[]),set_auth_config:e.Func([Ca],[q],[]),set_controllers:e.Func([Ua],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([R,La],[],[]),set_rate_config:e.Func([R,pe],[],[]),set_segment:e.Func([qa],[C],[]),set_segment_metadata:e.Func([Ba],[C],[]),set_storage_config:e.Func([ja],[P],[]),submit_proposal:e.Func([e.Nat],[e.Nat,v],[]),unset_segment:e.Func([Ja],[],[]),upload_proposal_asset_chunk:e.Func([Ka],[Ma],[])})},Yo=({IDL:e})=>{let a=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),i=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),o=e.Variant({OpenId:i}),n=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),t=e.Variant({Google:e.Null}),s=e.Record({name:e.Opt(e.Text),locale:e.Opt(e.Text),family_name:e.Opt(e.Text),email:e.Opt(e.Text),picture:e.Opt(e.Text),given_name:e.Opt(e.Text)}),c=e.Record({provider:t,data:s}),l=e.Variant({InternetIdentity:e.Null,OpenId:c}),d=e.Record({updated_at:e.Nat64,credits:a,mission_control_id:e.Opt(e.Principal),provider:e.Opt(l),owner:e.Principal,created_at:e.Nat64}),u=e.Record({delegation:n,account:d}),p=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),m=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),O=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),g=e.Variant({JwtFindProvider:p,GetCachedJwks:e.Null,JwtVerify:m,GetOrFetchJwks:O,DeriveSeedFailed:e.Text}),y=e.Variant({PrepareDelegation:g,RegisterUser:e.Text}),W=e.Variant({Ok:u,Err:y}),U=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),V=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),$=e.Record({subnet_id:e.Opt(e.Principal)}),Y=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),name:e.Opt(e.Text),user:e.Principal}),T=e.Variant({Heap:e.Null,Stable:e.Null}),he=e.Record({system_memory:e.Opt(T)}),X=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(he),name:e.Opt(e.Text),user:e.Principal}),L=e.Record({controllers:e.Vec(e.Principal)}),Q=e.Record({proposal_ids:e.Vec(e.Nat)}),A=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),fe=e.Record({delegation:e.Opt(A),client_id:e.Text}),Z=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(t,fe))}),ee=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),ae=e.Record({allowed_callers:e.Vec(e.Principal)}),q=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(Z),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(ee),rules:e.Opt(ae)}),w=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),re=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),ie=e.Variant({Deny:e.Null,Allow:e.Null}),oe=e.Record({status_code:e.Nat16,location:e.Text}),P=e.Record({iframe:e.Opt(w),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(re),raw_access:e.Opt(ie),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),ne=e.Record({authentication:e.Opt(q),storage:P}),B=e.Record({user:e.Principal}),j=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),E=e.Variant({OpenId:j}),J=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),te=e.Record({signature:e.Vec(e.Nat8),delegation:J}),se=e.Variant({JwtFindProvider:p,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:m,GetOrFetchJwks:O,DeriveSeedFailed:e.Text}),ce=e.Variant({Ok:te,Err:se}),R=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),le=e.Record({e12s:e.Nat64}),Fe=e.Record({updated_at:e.Nat64,fee_cycles:le,fee_icp:e.Opt(a)}),Ve=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Ae=e.Record({clear_existing_assets:e.Opt(e.Bool)}),we=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),de=e.Variant({AssetsUpgrade:Ae,SegmentsDeployment:we}),v=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:de}),pe=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),Pe=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)}),Ee=e.Variant({Heap:e.Null,Stable:e.Null}),I=e.Record({memory:Ee,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}),b=e.Variant({Callback:e.Record({token:I,callback:e.Func([],[],[])})}),S=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(b),status_code:e.Nat16}),ue=e.Record({token:e.Opt(I),body:e.Vec(e.Nat8)}),D=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}),_e=e.Record({batch_id:e.Nat}),K=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),ve=e.Record({field:K,desc:e.Bool}),me=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),Ie=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(me),description:e.Opt(e.Text),created_at:e.Opt(me)}),M=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),G=e.Record({order:e.Opt(ve),owner:e.Opt(e.Principal),matcher:e.Opt(Ie),paginate:e.Opt(M)}),be=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),Se=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),De=e.Record({key:be,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,Se)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),Ce=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,De)),items_length:e.Nat64}),Ne=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),ke=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:Ne,expires_at:e.Opt(e.Nat64)}),Ue=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Te=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),Le=e.Record({status:Te,updated_at:e.Nat64,block_index_payment:e.Nat64,mission_control_id:e.Opt(e.Principal),created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64)}),qe=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),Be=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),je=e.Record({status:Te,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:Be}),Je=e.Record({desc:e.Bool}),Ke=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Me=e.Record({order:e.Opt(Je),paginate:e.Opt(Ke)}),Ge=e.Record({proposal_id:e.Nat}),Oe=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Ge,v)),items_length:e.Nat64}),F=e.Variant({Orbiter:e.Null,Satellite:e.Null}),We=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(F)}),xe=e.Record({user:e.Principal,segment_id:e.Principal,segment_kind:F}),C=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,created_at:e.Nat64}),Ca=e.Record({openid:e.Opt(Z),version:e.Opt(e.Nat64),internet_identity:e.Opt(ee),rules:e.Opt(ae)}),ka=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:Ne,expires_at:e.Opt(e.Nat64)}),Ua=e.Record({controller:ka,controllers:e.Vec(e.Principal)}),La=e.Record({fee_cycles:le,fee_icp:e.Opt(a)}),qa=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:F}),Ba=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:F}),ja=e.Record({iframe:e.Opt(w),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(re),raw_access:e.Opt(ie),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),Ja=e.Record({segment_id:e.Principal,segment_kind:F}),Ka=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Ma=e.Record({chunk_id:e.Nat});return e.Service({add_credits:e.Func([e.Principal,a],[],[]),add_invitation_code:e.Func([e.Text],[],[]),assert_mission_control_center:e.Func([r],[],[]),authenticate:e.Func([o],[W],[]),commit_proposal:e.Func([U],[e.Null],[]),commit_proposal_asset_upload:e.Func([V],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(V)],[],[]),count_proposals:e.Func([],[e.Nat64],[]),create_mission_control:e.Func([$],[e.Principal],[]),create_orbiter:e.Func([Y],[e.Principal],[]),create_satellite:e.Func([X],[e.Principal],[]),del_controllers:e.Func([L],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([Q],[],[]),get_account:e.Func([],[e.Opt(d)],[]),get_auth_config:e.Func([],[e.Opt(q)],[]),get_config:e.Func([],[ne],[]),get_create_orbiter_fee:e.Func([B],[e.Opt(a)],[]),get_create_satellite_fee:e.Func([B],[e.Opt(a)],[]),get_credits:e.Func([],[a],[]),get_delegation:e.Func([E],[ce],[]),get_fee:e.Func([R],[Fe],[]),get_or_init_account:e.Func([],[d],[]),get_proposal:e.Func([e.Nat],[e.Opt(v)],[]),get_rate_config:e.Func([R],[pe],[]),get_storage_config:e.Func([],[P],[]),http_request:e.Func([Pe],[S],[]),http_request_streaming_callback:e.Func([I],[ue],[]),init_proposal:e.Func([de],[e.Nat,v],[]),init_proposal_asset_upload:e.Func([D,e.Nat],[_e],[]),init_proposal_many_assets_upload:e.Func([e.Vec(D),e.Nat],[e.Vec(e.Tuple(e.Text,_e))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,d))],[]),list_assets:e.Func([e.Text,G],[Ce],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,ke))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Ue))],[]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,Le))],[]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(qe,je))],[]),list_proposals:e.Func([Me],[Oe],[]),list_segments:e.Func([We],[e.Vec(e.Tuple(xe,C))],[]),reject_proposal:e.Func([U],[e.Null],[]),set_auth_config:e.Func([Ca],[q],[]),set_controllers:e.Func([Ua],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([R,La],[],[]),set_rate_config:e.Func([R,pe],[],[]),set_segment:e.Func([qa],[C],[]),set_segment_metadata:e.Func([Ba],[C],[]),set_storage_config:e.Func([ja],[P],[]),submit_proposal:e.Func([e.Nat],[e.Nat,v],[]),unset_segment:e.Func([Ja],[],[]),upload_proposal_asset_chunk:e.Func([Ka],[Ma],[])})};var Zo=async({identity:e,host:a,localActor:r})=>await Qo.create({identity:e,host:a,retryTimes:10,shouldFetchRootKey:r}),en=async({agent:e,...a})=>e??await an(a),an=async({identity:e,container:a})=>{let r=Xo(a)&&a!==!1;return await Zo({identity:e,host:r?a===!0?"http://127.0.0.1:5987":a:"https://icp-api.io",localActor:r})};var Lr=({satelliteId:e,certified:a=!1,...r})=>Br({canisterId:e,...r,idlFactory:a?Qa:Xa});var qr=({consoleId:e,certified:a=!1,...r})=>Br({canisterId:e,...r,idlFactory:a?Yo:$o}),Br=({canisterId:e,idlFactory:a,...r})=>{if(zo(e))throw new Error("No canister ID provided.");return rn({canisterId:e,idlFactory:a,...r})},rn=async({canisterId:e,idlFactory:a,config:r,...i})=>{let o=await en(i);return Ho.createActor(a,{agent:o,canisterId:e,...r??{}})};import{nonNullish as Za}from"@dfinity/utils";var jr=({satelliteId:e,container:a})=>{let{satelliteId:r}=er({satelliteId:e}),{container:i}=ar({container:a});if(Za(i)&&i!==!1){let{host:o,protocol:n}=new URL(i===!0?Ye:i);return`${n}//${r??"unknown"}.${o.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},er=({satelliteId:e})=>Za(e)?{satelliteId:e}:x.getInstance().get()??{satelliteId:void 0},ar=({container:e})=>Za(e)?{container:e}:x.getInstance().get()??{container:void 0};var N=({satellite:e,options:{certified:a}})=>Kr({idlFactory:a?Qa:Xa,actorKey:`stock#${a?"update":"query"}`,...e}),Jr=({idlFactory:e,...a})=>Kr({idlFactory:e,actorKey:"extended#query",...a}),Kr=async({satelliteId:e,container:a,...r})=>{let{satelliteId:i}=er({satelliteId:e});on(i,"No satellite ID defined. Did you initialize Juno?");let{container:o}=ar({container:a});return await Qe.getInstance().getActor({satelliteId:i,container:o,...r})};import{isNullish as ea,toNullable as k}from"@dfinity/utils";import{Principal as nn}from"@icp-sdk/core/principal";var da=class extends Error{},ge=class extends Error{},pa=class extends Error{},ua=class extends Error{},_a=class extends Error{},ma=class extends Error{},Na=class extends Error{},Ta=class extends Error{},Oa=class extends Error{};var Mr=e=>{if(ea(e))return k();switch(e.matcher){case"equal":return k({Equal:e.timestamp});case"greaterThan":return k({GreaterThan:e.timestamp});case"lessThan":return k({LessThan:e.timestamp});case"between":return k({Between:[e.timestamps.start,e.timestamps.end]});default:throw new Oa("Invalid list matcher for timestamp",e)}},Re=({matcher:e,paginate:a,order:r,owner:i})=>({matcher:ea(e)?[]:[{key:k(e.key),description:k(e.description),created_at:Mr(e.createdAt),updated_at:Mr(e.updatedAt)}],paginate:k(ea(a)?void 0:{start_after:k(a.startAfter),limit:k(ea(a.limit)?void 0:BigInt(a.limit))}),order:k(ea(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:k(ea(i)?void 0:typeof i=="string"?nn.fromText(i):i)});import{jsonReplacer as tn,jsonReviver as sn}from"@dfinity/utils";var Gr=async e=>{let a=new Blob([JSON.stringify(e,tn)],{type:"application/json; charset=utf-8"});return new Uint8Array(await a.arrayBuffer())},xa=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(),sn)},ga=()=>typeof window<"u";var Wr=async({data:e})=>{try{return await xa(e)}catch(a){console.error("The data parsing has failed, mapping to undefined as a fallback.",a);return}};import{fromNullable as zr,toNullable as rr}from"@dfinity/utils";var ir=async e=>{let{data:a,version:r,description:i}=e;return{description:rr(i),data:await Gr(a),version:rr(r)}},or=e=>{let{version:a}=e;return{version:rr(a)}},ze=async({doc:e,key:a})=>{let{owner:r,version:i,description:o,data:n,...t}=e;return{key:a,description:zr(o),owner:r.toText(),data:await xa(n),version:zr(i),...t}};var Hr=async({collection:e,key:a,...r})=>{let{get_doc:i}=await N(r),o=aa(await i(e,a));if(!cn(o))return ze({doc:o,key:a})},$r=async({docs:e,...a})=>{let{get_many_docs:r}=await N(a),i=e.map(({collection:t,key:s})=>[t,s]),o=await r(i),n=[];for(let[t,s]of o){let c=aa(s);n.push(ln(c)?await ze({key:t,doc:c}):void 0)}return n},Yr=async({collection:e,doc:a,...r})=>{let{set_doc:i}=await N(r),{key:o}=a,n=await ir(a),t=await i(e,o,n);return await ze({key:o,doc:t})},Xr=async({docs:e,...a})=>{let{set_many_docs:r}=await N(a),i=[];for(let{collection:t,doc:s}of e){let{key:c}=s;i.push([t,c,await ir(s)])}let o=await r(i),n=[];for(let[t,s]of o)n.push(await ze({key:t,doc:s}));return n},Qr=async({collection:e,doc:a,...r})=>{let{del_doc:i}=await N(r),{key:o}=a;return i(e,o,or(a))},Zr=async({docs:e,...a})=>{let{del_many_docs:r}=await N(a),i=e.map(({collection:o,doc:n})=>[o,n.key,or(n)]);await r(i)},ei=async({collection:e,filter:a,...r})=>{let{del_filtered_docs:i}=await N(r);return i(e,Re(a))},ai=async({collection:e,filter:a,...r})=>{let{list_docs:i}=await N(r),{items:o,items_page:n,items_length:t,matches_length:s,matches_pages:c}=await i(e,Re(a)),l=[];for(let[d,u]of o){let{data:p,owner:m,description:O,version:g,...y}=u;l.push({key:d,description:aa(O),owner:m.toText(),data:await Wr({data:p}),version:aa(g),...y})}return{items:l,items_length:t,items_page:aa(n),matches_length:s,matches_pages:aa(c)}},ri=async({collection:e,filter:a,...r})=>{let{count_docs:i}=await N(r);return i(e,Re(a))};var ya=async({satellite:e,options:a,...r})=>{let i=_(e?.identity);return await Hr({...r,satellite:{...e,identity:i},options:a??z})},Oc=async({satellite:e,options:a,...r})=>{let i=_(e?.identity);return await $r({...r,satellite:{...e,identity:i},options:a??z})},ii=async({satellite:e,...a})=>{let r=_(e?.identity);return await Yr({...a,satellite:{...e,identity:r},options:{certified:!0}})},oi=async({satellite:e,...a})=>{let r=_(e?.identity);return await Xr({...a,satellite:{...e,identity:r},options:{certified:!0}})},xc=async({satellite:e,...a})=>{let r=_(e?.identity);return await Qr({...a,satellite:{...e,identity:r},options:{certified:!0}})},gc=async({satellite:e,...a})=>{let r=_(e?.identity);return await Zr({...a,satellite:{...e,identity:r},options:{certified:!0}})},yc=async({satellite:e,filter:a,...r})=>{let i=_(e?.identity);return await ei({...r,filter:a??{},satellite:{...e,identity:i},options:{certified:!0}})},Rc=async({satellite:e,options:a,filter:r,...i})=>{let o=_(e?.identity);return await ai({...i,filter:r??{},satellite:{...e,identity:o},options:a??z})},hc=async({satellite:e,options:a,filter:r,...i})=>{let o=_(e?.identity);return await ri({...i,filter:r??{},satellite:{...e,identity:o},options:a??z})};var ti=async({provider:e})=>{let{user:a,userId:r}=await Ra();if(ni(a))return a;try{return await pn({userId:r,provider:e})}catch(i){if(Ya({error:i,type:Ur})){let o=await si({userId:r});if(ni(o))return o}throw i}},Ra=async()=>{let e=la();if(dn(e))throw new Ta("No identity to initialize the user. Have you initialized Juno?");let a=e.getPrincipal().toText(),r=await si({userId:a});return{userId:a,user:r}},si=({userId:e})=>ya({collection:"#user",key:e}),pn=({userId:e,...a})=>ii({collection:"#user",doc:{key:e,data:a}});var ha=async({syncTabsOnSuccess:e}={syncTabsOnSuccess:!1})=>{await sa({fn:async()=>{let{user:r}=await Ra();h.getInstance().set(r??null)},syncTabsOnSuccess:e})},ci=async()=>{await kr({fn:async({authenticated:a})=>{let i=a?Ra:()=>Promise.resolve({user:null}),{user:o}=await i();h.getInstance().set(o??null)}})},fa=async({user:e})=>{await sa({fn:async()=>{h.getInstance().set(e)},syncTabsOnSuccess:!0})};var li=()=>{try{let e=Ze.getInstance(),a=async()=>{await ci(),ta({message:"junoSignInReload"})};return e.onLoginSuccess(a),()=>{e?.destroy()}}catch(e){console.warn("Auth BroadcastChannel initialization failed",e);return}};var di=()=>{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()},pi=()=>{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()},ui=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_GOOGLE_CLIENT_ID??import.meta.env?.PUBLIC_GOOGLE_CLIENT_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID??e():e()};import{isEmptyString as mn,isNullish as Nn,nonNullish as hi}from"@dfinity/utils";var _i=BigInt(144e11),mi=!1,Ni={width:576,height:576},Ti={width:424,height:576};var ca="internetcomputer.org",Oi="ic0.app",xi="id.ai";import{isNullish as gi}from"@dfinity/utils";var yi=({width:e,height:a})=>{if(!ga()||gi(window)||gi(window.top))return;let{top:{innerWidth:r,innerHeight:i}}=window,o=i/2+screenY-a/2,n=r/2+screenX-e/2;return`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=${e}, height=${a}, top=${o}, left=${n}`};import{isNullish as un}from"@dfinity/utils";import{ERROR_USER_INTERRUPT as _n}from"@icp-sdk/auth/client";var H=async({fn:e,step:a,onProgress:r})=>{r?.({step:a,state:"in_progress"});try{let i=await e();return r?.({step:a,state:"success"}),i}catch(i){throw r?.({step:a,state:"error"}),i}};var Ri=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))(Ri||{});var Fa=class{async signIn({options:a,authClient:r,initAuth:i}){await H({fn:async()=>await this.#e({options:a,authClient:r}),step:0,onProgress:a?.onProgress}),await H({fn:async()=>await i({provider:this.id}),step:1,onProgress:a?.onProgress})}#e({options:a,authClient:r}){return new Promise(async(i,o)=>{if(un(r)){o(new ge("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:i,onError:n=>{if(n===_n){o(new pa(n));return}o(new da(n))},maxTimeToLive:a?.maxTimeToLiveInNanoseconds??_i,allowPinAuthentication:a?.allowPin??mi,...a?.derivationOrigin!==void 0&&{derivationOrigin:a.derivationOrigin},...this.signInOptions({windowed:a?.windowed})})})}};var Va=class extends Fa{#e;constructor({domain:a}){super(),this.#e=a}get id(){return"internet_identity"}signInOptions({windowed:a}){let i=(()=>{let n=x.getInstance().get()?.container;if(Nn(n)||n===!1){let d=[ca,Oi].includes(this.#e??ca);return mn(this.#e)?`https://identity.${ca}`:d?`https://identity.${this.#e??ca}`:`https://${this.#e}`}let t=x.getInstance().get(),s=hi(t)&&hi(t?.internetIdentityId)?t.internetIdentityId:vr,{host:c,protocol:l}=new URL(n===!0?Ye:n);return/apple/i.test(navigator?.vendor)?`${l}//${c}?canisterId=${s}`:`${l}//${s}.${c.replace("127.0.0.1","localhost")}`})();return{...a!==!1&&{windowOpenerFeatures:yi((()=>{try{let{hostname:n}=new URL(i);return n.includes(xi)}catch{return!1}})()?Ti:Ni)},identityProvider:i}}};import{isNullish as Kn}from"@dfinity/utils";var nr=class extends Error{},tr=class extends Error{},sr=class extends Error{},cr=class extends Error{},lr=class extends Error{},dr=class extends Error{},pr=class extends Error{},Aa=class extends Error{},ur=class extends Error{},_r=class extends Error{};import{uint8ArrayToBase64 as Tn}from"@dfinity/utils";var wa=e=>Tn(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),ra=({url:e})=>{try{return new URL(e)}catch{throw new nr("Cannot parse authURL",{cause:e})}};var fi=({initUrl:e})=>async({nonce:a})=>{let r=ra({url:e});r.searchParams.set("nonce",a);let{state:i}=await fetch(r.toString(),{credentials:"include"}).then(o=>o.json());return i};var On=()=>wa(window.crypto.getRandomValues(new Uint8Array(12))),Fi=async e=>On();var Vi=({authUrl:e,clientId:a,authScopes:r,state:i,redirectUrl:o})=>{let n=ra({url:e});n.searchParams.set("client_id",a);let{location:{origin:t}}=window;n.searchParams.set("redirect_uri",o??t),n.searchParams.set("scope",r.join(" ")),n.searchParams.set("state",i),window.location.href=n.toString()};import{isNullish as xn,notEmptyString as gn}from"@dfinity/utils";var Ai=({authUrl:e,clientId:a,nonce:r,loginHint:i,authScopes:o,state:n,redirectUrl:t})=>{let s=ra({url:e});s.searchParams.set("client_id",a);let{location:{origin:c}}=window;s.searchParams.set("redirect_uri",t??c),s.searchParams.set("response_type","code id_token"),s.searchParams.set("scope",o.join(" ")),s.searchParams.set("state",n),s.searchParams.set("nonce",r),gn(i)?s.searchParams.set("login_hint",i):s.searchParams.set("prompt","select_account"),window.location.href=s.toString()},wi=async({configUrl:e,clientId:a,nonce:r,loginHint:i,domainHint:o})=>{let n=await navigator.credentials.get({identity:{context:"use",providers:[{configURL:e,clientId:a,nonce:r,loginHint:i,domainHint:o}],mode:"active"},mediation:"required"});if(xn(n))throw new sr;let{type:t}=n;if(t!=="identity"||!("token"in n)||typeof n.token!="string")throw new cr("Invalid credential received from FedCM API",{cause:n});let{token:s}=n;return{jwt:s}};var mr="juno:auth:openid",Nr={authUrl:"https://accounts.google.com/o/oauth2/v2/auth",authScopes:["openid","profile","email"],configUrl:"https://accounts.google.com/gsi/fedcm.json"},Pa={authUrl:"https://github.com/login/oauth/authorize",authScopes:["read:user","repo"],initUrl:"http://localhost:3000/v1/auth/init/github",finalizeUrl:"http://localhost:3000/v1/auth/finalize/github"};import{isNullish as yn}from"@dfinity/utils";import{Ed25519KeyIdentity as Rn}from"@icp-sdk/core/identity";import{arrayBufferToUint8Array as hn}from"@dfinity/utils";import{base64ToUint8Array as An,uint8ArrayToBase64 as wn}from"@dfinity/utils";import{Ed25519KeyIdentity as Pn}from"@icp-sdk/core/identity";var fn=()=>window.crypto.getRandomValues(new Uint8Array(32)),Fn=async({salt:e,caller:a})=>{let r=a.getPrincipal().toUint8Array(),i=new Uint8Array(e.length+r.byteLength);i.set(e),i.set(r,e.length);let o=await window.crypto.subtle.digest("SHA-256",i);return wa(hn(o))},Vn=async({caller:e})=>{let a=fn();return{nonce:await Fn({salt:a,caller:e}),salt:a}},Pi="__caller__",Ei="__salt__",vi="__state__",En=({caller:e,state:a,salt:r})=>{let i={[Pi]:e.toJSON(),[Ei]:wn(r),[vi]:a};return JSON.stringify(i)},vn=e=>{let{[Pi]:a,[Ei]:r,[vi]:i}=JSON.parse(e);return{caller:Pn.fromParsedJson(a),salt:An(r),state:i}},Tr=async({generateState:e})=>{let a=Rn.generate(),{nonce:r,salt:i}=await Vn({caller:a}),o=await e({nonce:r}),n=En({caller:a,salt:i,state:o});return sessionStorage.setItem(mr,n),{nonce:r,state:o}},Ii=()=>{let e=sessionStorage.getItem(mr);if(yn(e))throw new tr;return vn(e)};async function Or(e){if("github"in e){let{github:t}=e,{redirect:s}=t,{initUrl:c,...l}=s,{authUrl:d,authScopes:u,initUrl:p}=Pa,m=await Tr({generateState:fi({initUrl:c??p})});Vi({...l,...m,authUrl:d,authScopes:u});return}let a=await Tr({generateState:Fi}),{google:r}=e;if("credentials"in r){let{credentials:t}=r,{configUrl:s}=Nr;return await wi({...t,...a,configUrl:s})}let{redirect:i}=r,{authUrl:o,authScopes:n}=Nr;Ai({...i,...a,authUrl:o,authScopes:n})}import{fromNullable as In}from"@dfinity/utils";import{Delegation as bn,ECDSAKeyIdentity as Sn}from"@icp-sdk/core/identity";import{DelegationChain as kn,DelegationIdentity as Un}from"@icp-sdk/core/identity";var bi=({auth:e,identity:a})=>"satellite"in e?Lr({...e.satellite,identity:a}):qr({...e.console,identity:a}),Dn=async({actorParams:e,args:a})=>{let{authenticate:r}=await bi(e);return await r(a)},Cn=async({actorParams:e,args:a})=>{let{get_delegation:r}=await bi(e);return await r(a)},Ln=({delegations:e,sessionKey:a})=>{let[r,i]=e,o=kn.fromDelegations(i,Uint8Array.from(r));return{identity:Un.fromDelegation(a,o),delegationChain:o,sessionKey:a}},Ea=async({jwt:e,context:a,auth:r})=>{let i=await Sn.generate({extractable:!1}),o=new Uint8Array(i.getPublicKey().toDer()),{delegations:n,data:t}=await qn({jwt:e,publicKey:o,context:a,auth:r});return{identity:Ln({sessionKey:i,delegations:n}),data:t}},qn=async({jwt:e,publicKey:a,context:{caller:r,salt:i},auth:o})=>{let n=await Dn({args:{OpenId:{jwt:e,session_key:a,salt:i}},actorParams:{auth:o,identity:r}});if("Err"in n)throw new lr("Authentication failed",{cause:n});let{delegation:{user_key:t,expiration:s},...c}=n.Ok,l=await Bn({jwt:e,context:{caller:r,salt:i},auth:o,publicKey:a,expiration:s}),{delegation:d,signature:u}=l,{pubkey:p,expiration:m,targets:O}=d;return{delegations:[t,[{delegation:new bn(Uint8Array.from(p),m,In(O)),signature:Uint8Array.from(u)}]],data:c}},Bn=async({jwt:e,publicKey:a,context:{salt:r,caller:i},auth:o,expiration:n,maxRetries:t=5})=>{for(let s=0;s<t;s++){await new Promise(l=>{setInterval(l,1e3*s)});let c=await Cn({args:{OpenId:{jwt:e,session_key:a,salt:r,expiration:n}},actorParams:{auth:o,identity:i}});if("Err"in c){let{Err:l}=c;if("NoSuchDelegation"in l||"GetCachedJwks"in l)continue;throw new ur("Getting delegation failed",{cause:c})}return c.Ok}throw new _r};import{isEmptyString as va}from"@dfinity/utils";var xr=async e=>{let a=Ii();if("github"in e){let{github:{redirect:{finalizeUrl:i},auth:o}}=e,{finalizeUrl:n}=Pa;return await Jn({finalizeUrl:i??n,auth:o,context:a})}let{google:r}=e;if("credentials"in r){let{credentials:{jwt:i},auth:o}=r;return await Ea({jwt:i,context:a,auth:o})}return await jn({...r,context:a})},jn=async({auth:e,context:a})=>{let{location:{hash:r}}=window;if(va(r)||!r.startsWith("#"))throw new dr("No hash found in the current location URL");let i=new URLSearchParams(r.slice(1)),o=i.get("state"),n=i.get("id_token"),{state:t}=a;if(va(t)||o!==t)throw new pr("The provided state is invalid",{cause:o});if(va(n))throw new Aa;return await Ea({jwt:n,auth:e,context:a})},Jn=async({auth:e,context:a,finalizeUrl:r})=>{let{location:{search:i}}=window,o=new URLSearchParams(i),n=o.get("code"),t=o.get("state"),{token:s}=await fetch(r,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:n,state:t})}).then(c=>c.json());if(va(s))throw new Aa;return await Ea({jwt:s,auth:e,context:a})};var Mn=async()=>{let{satelliteId:e}=x.getInstance().get()??{satelliteId:void 0};if(Kn(e))throw new ge("Satellite ID not set. Have you initialized the Satellite?");let a=x.getInstance().get()?.container,{identity:{delegationChain:r,sessionKey:i,identity:o},data:{doc:n}}=await xr({google:{redirect:null,auth:{satellite:{satelliteId:e,container:a}}}});await f.getInstance().setAuthClientStorage({delegationChain:r,sessionKey:i});let t=await ze({doc:n,key:o.getPrincipal().toText()});await fa({user:t})};var Si=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),Gn=()=>{window.addEventListener("beforeunload",Si,{capture:!0})},Wn=()=>{window.removeEventListener("beforeunload",Si,{capture:!0})},Ia=async({fn:e})=>{try{return Gn(),await e()}finally{Wn()}};import{isNullish as zn}from"@dfinity/utils";var ba=class{async signIn({options:a={}}){let r=a?.redirect?.clientId??ui();if(zn(r))throw new _a;let{redirect:i}=a;await Or({google:{redirect:{...i??{},clientId:r}}})}};import{isNullish as gr,uint8ArrayToBase64 as Xn}from"@dfinity/utils";import{IdbStorage as Qn,KEY_STORAGE_DELEGATION as Zn,KEY_STORAGE_KEY as et}from"@icp-sdk/auth/client";import{AnonymousIdentity as at}from"@icp-sdk/core/agent";import{DelegationChain as rt,DelegationIdentity as it,DER_COSE_OID as ot,ECDSAKeyIdentity as nt,unwrapDER as tt}from"@icp-sdk/core/identity";import{nonNullish as Hn,uint8ArrayToArrayOfNumber as $n}from"@dfinity/utils";var Di=async({delegationIdentity:e,passkeyIdentity:a,satelliteId:r})=>{let i=a.getCredential().getAAGUID(),[o,n]=await oi({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...Hn(i)&&{aaguid:$n(i)}}}}}},{collection:"#user-webauthn",doc:{key:a.getCredential().getCredentialIdText(),data:{publicKey:a.getPublicKey().toRaw()}}}],satellite:{identity:e,satelliteId:r}});return o};var Ci=(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))(Ci||{}),ki=(t=>(t[t.CreatingUserCredential=0]="CreatingUserCredential",t[t.ValidatingUserCredential=1]="ValidatingUserCredential",t[t.FinalizingCredential=2]="FinalizingCredential",t[t.Signing=3]="Signing",t[t.FinalizingSession=4]="FinalizingSession",t[t.RegisteringUser=5]="RegisteringUser",t))(ki||{});var ia=class{async signUp({options:{onProgress:a,maxTimeToLiveInMilliseconds:r,passkey:i}={},loadAuthWithUser:o}){let{satelliteId:n}=x.getInstance().get()??{satelliteId:void 0};if(gr(n))throw new ge("Satellite ID not set. Have you initialized the Satellite?");let t=({step:g,state:y})=>{switch(g){case ye.RequestingUserCredential:a?.({step:1,state:y});break;case ye.FinalizingCredential:a?.({step:2,state:y});break;case ye.Signing:a?.({step:3,state:y});break}},c=await H({fn:async()=>await Wa.createWithNewCredential({onProgress:t,passkeyOptions:i}),step:0,onProgress:a}),{delegationIdentity:l,sessionKey:d}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),p=await H({fn:async()=>await Di({delegationIdentity:l,passkeyIdentity:c,satelliteId:n}),step:5,onProgress:a});await H({fn:async()=>await this.#a({delegationIdentity:l,sessionKey:d}),step:4,onProgress:a}),await H({fn:async()=>await o({user:p}),step:5,onProgress:a})}async signIn({options:{onProgress:a,maxTimeToLiveInMilliseconds:r}={},loadAuth:i}){let{satelliteId:o}=x.getInstance().get()??{satelliteId:void 0};if(gr(o))throw new ge("Satellite ID not set. Have you initialized the Satellite?");let n=async({credentialId:u})=>{let p=await ya({collection:"#user-webauthn",key:Xn(u),options:{certified:!0},satellite:{identity:new at,satelliteId:o}});if(gr(p))throw new ma("No public key found for the selected passkey.");let{data:m}=p,{publicKey:O}=m;return tt(O,ot)},t=({step:u,state:p})=>{switch(u){case ye.RequestingUserCredential:a?.({step:0,state:p});break;case ye.FinalizingCredential:a?.({step:1,state:p});break;case ye.Signing:a?.({step:2,state:p});break}},s=await Wa.createWithExistingCredential({retrievePublicKey:n,onProgress:t}),{delegationIdentity:c,sessionKey:l}=await this.#e({identity:s,maxTimeToLiveInMilliseconds:r});await H({fn:async()=>await this.#a({delegationIdentity:c,sessionKey:l}),step:3,onProgress:a}),await H({fn:i,step:4,onProgress:a})}async#e({identity:a,maxTimeToLiveInMilliseconds:r}){let i=await nt.generate({extractable:!1}),o=r??144e5,n=await rt.create(a,i.getPublicKey(),new Date(Date.now()+o));return{delegationIdentity:it.fromDelegation(i,n),sessionKey:i}}async#a({sessionKey:a,delegationIdentity:r}){let i=new Qn;await Promise.all([i.set(et,a.getKeyPair()),i.set(Zn,JSON.stringify(r.getDelegation().toJSON()))])}};var st=async({provider:e})=>{await sa({fn:async()=>{let r=await ti({provider:e});h.getInstance().set(r)},syncTabsOnSuccess:!0})},ct=async e=>{if("google"in e){let{google:{options:a}}=e;await yr({fn:()=>new ba().signIn({options:a}),context:{windowGuard:!1}});return}if("webauthn"in e){let{webauthn:{options:a,context:r}}=e;await yr({fn:()=>new ia().signIn({options:a,loadAuth:()=>ha({syncTabsOnSuccess:!0})}),context:r});return}if("internet_identity"in e){let{internet_identity:{options:a,context:r}}=e,{domain:i,...o}=a??{};await yr({fn:()=>new Va({domain:i}).signIn({options:o,authClient:f.getInstance().getAuthClient(),initAuth:st}),context:r});return}throw new ua("An unknown or unsupported provider was provided for sign-in.")},yr=async({fn:e,context:a})=>{if(a?.windowGuard===!1){await e();return}await Ia({fn:e})};var lt=async e=>{let a=async()=>await dt(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await a();return}await Ia({fn:a})},dt=async e=>{if("webauthn"in e){let{webauthn:{options:a}}=e;await new ia().signUp({options:a,loadAuthWithUser:fa});return}throw new Na("An unknown or unsupported provider was provided for sign-up.")};var lp=e=>e?.data?.provider==="webauthn",dp=e=>e?.data?.provider==="google";var mp=async({idlFactory:e,satellite:a})=>{let r=_(a?.identity);return await Jr({idlFactory:e,...a,identity:r})};import{fromNullable as Hi,nonNullish as $i}from"@dfinity/utils";import{fromNullable as Da,toNullable as Ot}from"@dfinity/utils";import{assertNonNullish as Op,toNullable as Sa}from"@dfinity/utils";var Ui=async({asset:{data:e,headers:a,...r},actor:i,progress:o})=>{let{init_asset_upload:n,upload_asset_chunk:t,commit_asset_upload:s}=i,{batch_id:c}=await n(pt(r));o?.onInitiatedBatch();let{chunkIds:l}=await mt({data:e,uploadFn:t,batchId:c});o?.onUploadedFileChunks(r.fullPath),await _t({commitFn:s,batchId:c,data:e,headers:a,chunkIds:l}),o?.onCommittedBatch()};var pt=({filename:e,collection:a,token:r,fullPath:i,encoding:o,description:n})=>({collection:a,full_path:i,name:e,token:Sa(r),encoding_type:Sa(o),description:Sa(n)}),ut=({batchId:e,chunkIds:a,headers:r,data:i})=>{let o=r.find(([n,t])=>n.toLowerCase()==="content-type")===void 0&&i.type!==void 0&&i.type!==""?[["Content-Type",i.type]]:void 0;return{batch_id:e,chunk_ids:a.map(({chunk_id:n})=>n),headers:[...r,...o??[]]}},_t=async({commitFn:e,...a})=>{let r=ut(a);await e(r)},mt=async({data:e,uploadFn:a,batchId:r})=>{let i=[],o=ga()?new Blob([await e.arrayBuffer()]):e,n=0n;for(let s=0;s<o.size;s+=19e5){let c=o.slice(s,s+19e5);i.push({batchId:r,chunk:c,uploadFn:a,orderId:n}),n++}let t=[];for await(let s of Nt({uploadChunks:i}))t=[...t,...s];return{chunkIds:t}};async function*Nt({uploadChunks:e,limit:a=12}){for(let r=0;r<e.length;r=r+a){let i=e.slice(r,r+a);yield await Promise.all(i.map(o=>Tt(o)))}}var Tt=async({batchId:e,chunk:a,uploadFn:r,orderId:i})=>r({batch_id:e,content:new Uint8Array(await a.arrayBuffer()),order_id:Sa(i)});var Li=async({asset:e,...a})=>{let r=await N(a);await Ui({actor:r,asset:e})},qi=async({collection:e,filter:a,...r})=>{let{list_assets:i}=await N(r),{items:o,items_length:n,items_page:t,matches_length:s,matches_pages:c}=await i(e,Re(a));return{items:o.map(([l,d])=>d),items_length:n,items_page:Da(t),matches_length:s,matches_pages:Da(c)}},Bi=async({collection:e,filter:a,...r})=>{let{count_assets:i}=await N(r);return i(e,Re(a))},ji=async({collection:e,fullPath:a,...r})=>(await N(r)).del_asset(e,a),Ji=async({assets:e,satellite:a})=>{let{del_many_assets:r}=await N({satellite:a,options:{certified:!0}}),i=e.map(({collection:o,fullPath:n})=>[o,n]);await r(i)},Ki=async({collection:e,filter:a,...r})=>{let{del_filtered_assets:i}=await N(r);return i(e,Re(a))},Mi=async({collection:e,fullPath:a,token:r,...i})=>{let{set_asset_token:o}=await N(i);return o(e,a,Ot(r))},Gi=async({collection:e,fullPath:a,...r})=>{let{get_asset:i}=await N(r);return Da(await i(e,a))},Wi=async({assets:e,...a})=>{let{get_many_assets:r}=await N(a),i=e.map(({collection:n,fullPath:t})=>[n,t]);return(await r(i)).map(([n,t])=>Da(t))};var zi=e=>btoa([...e].map(a=>String.fromCharCode(a)).join(""));var bp=e=>Yi(e),Sp=e=>Yi({filename:e.data.name,...e}),Yi=async({filename:e,data:a,collection:r,headers:i=[],fullPath:o,token:n,satellite:t,encoding:s,description:c})=>{let l=_(t?.identity),d=decodeURI(e),u=o??`/${r}/${d}`,p={...t,identity:l};return await Li({asset:{data:a,filename:d,collection:r,token:n,headers:i,fullPath:u,encoding:s,description:c},satellite:p,options:{certified:!0}}),{downloadUrl:Xi({satellite:p,assetKey:{fullPath:u,token:n}}),fullPath:u,...$i(n)&&{token:n},name:d}},Dp=async({collection:e,filter:a,satellite:r,options:i})=>{let o={...r,identity:_(r?.identity)},{items:n,...t}=await qi({collection:e,filter:a??{},satellite:o,options:i??z}),s=n.map(({key:{full_path:c,token:l,name:d,owner:u,description:p},headers:m,encodings:O,created_at:g,updated_at:y})=>{let W=Hi(l);return{fullPath:c,description:Hi(p),name:d,downloadUrl:Xi({satellite:o,assetKey:{fullPath:c,token:W}}),token:W,headers:m,encodings:O.reduce((U,[V,{modified:$,sha256:Y,total_length:T}])=>({...U,[V]:{modified:$,sha256:zi(Y),total_length:T}}),{}),owner:u.toText(),created_at:g,updated_at:y}});return{items:s,assets:s,...t}},Cp=async({collection:e,filter:a,satellite:r,options:i})=>{let o={...r,identity:_(r?.identity)};return await Bi({collection:e,satellite:o,filter:a??{},options:i??z})},kp=({collection:e,fullPath:a,satellite:r})=>ji({collection:e,fullPath:a,satellite:{...r,identity:_(r?.identity)},options:{certified:!0}}),Up=({collection:e,fullPath:a,token:r,satellite:i})=>Mi({collection:e,fullPath:a,token:r,satellite:{...i,identity:_(i?.identity)},options:{certified:!0}}),Lp=({assets:e,satellite:a})=>Ji({assets:e,satellite:{...a,identity:_(a?.identity)},options:{certified:!0}}),qp=async({collection:e,satellite:a,filter:r})=>{let i={...a,identity:_(a?.identity)};return await Ki({collection:e,satellite:i,filter:r??{},options:{certified:!0}})},Bp=async({satellite:e,options:a,...r})=>{let i=_(e?.identity);return await Gi({...r,satellite:{...e,identity:i},options:a??z})},jp=async({satellite:e,options:a,...r})=>{let i=_(e?.identity);return await Wi({...r,satellite:{...e,identity:i},options:a??z})},Xi=({assetKey:{fullPath:e,token:a},satellite:r})=>{let i={...r,identity:_(r?.identity)};return`${jr(i)}${e}${$i(a)?`?token=${a}`:""}`};var gt=e=>{let a=e?.satelliteId??di();xt(a,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??pi();return{satelliteId:a,internetIdentityId:e?.internetIdentityId,workers:e?.workers,syncTabs:e?.syncTabs,container:r}},Xp=e=>yt(e),yt=async e=>{let a=gt(e);x.getInstance().set(a),await ha();let r=a.workers?.auth!==void 0?Cr(a.workers.auth):void 0,i=a.syncTabs===!1?void 0:li();return[...Qi(r)?[r]:[],...Qi(i)?[i]:[]]},Rt=e=>h.getInstance().subscribe(e),Qp=Rt;export{Ri as AuthClientSignInProgressStep,Ta as InitError,Va as InternetIdentityProvider,Oa as ListError,da as SignInError,ge as SignInInitError,_a as SignInMissingClientIdError,ua as SignInProviderNotSupportedError,pa as SignInUserInterruptError,Na as SignUpProviderNotSupportedError,Ci as WebAuthnSignInProgressStep,ma as WebAuthnSignInRetrievePublicKeyError,ki as WebAuthnSignUpProgressStep,Qp as authSubscribe,Cp as countAssets,hc as countDocs,kp as deleteAsset,xc as deleteDoc,qp as deleteFilteredAssets,yc as deleteFilteredDocs,Lp as deleteManyAssets,gc as deleteManyDocs,Xi as downloadUrl,Bp as getAsset,ya as getDoc,Mo as getIdentityOnce,jp as getManyAssets,Oc as getManyDocs,mp as getSatelliteExtendedActor,Mn as handleRedirectCallback,Xp as initJuno,yt as initSatellite,dp as isGoogleUser,Eo as isWebAuthnAvailable,lp as isWebAuthnUser,Dp as listAssets,Rc as listDocs,Rt as onAuthStateChange,Up as setAssetToken,ii as setDoc,oi as setManyDocs,ct as signIn,$a as signOut,lt as signUp,Ko as unsafeIdentity,bp as uploadBlob,Sp as uploadFile};
2
2
  //# sourceMappingURL=index.js.map