@junobuild/core
Version:
JavaScript core client for Juno
3 lines • 77.2 kB
JavaScript
import { createRequire as topLevelCreateRequire } from 'module';
const require = topLevelCreateRequire(import.meta.url);
import{assertNonNullish as Kn}from"@dfinity/utils";import{uint8ArrayToArrayOfNumber as bo}from"@dfinity/utils";import{DER_COSE_OID as Co,wrapDER as ko}from"@icp-sdk/core/agent";import{uint8ArrayToBase64 as Bo}from"@dfinity/utils";import{arrayBufferToUint8Array as Ke,isNullish as ea,uint8ArraysEqual as Yo}from"@dfinity/utils";import{Cbor as sr,SignIdentity as Xo}from"@icp-sdk/core/agent";import{nonNullish as ti}from"@dfinity/utils";var So=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let a=e.slice(37,53),r=Do({bytes:a});return"aaguid"in r?{aaguidBytes:a,aaguidText:r.aaguid}:{unknownProvider:null}},Do=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let a=(e instanceof Uint8Array?bo(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 Uo(e){let a=new DataView(new ArrayBuffer(2)),r=e.slice(53,55);[...new Uint8Array(r)].forEach((i,n)=>a.setUint8(n,i));let o=a.getUint16(0);return e.slice(55+o)}function Lo(e){return ko(e,Co)}var qo=class{constructor(e){this._cose=e,this.#e=Lo(e)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},pr=class{#e;#a;constructor({rawId:e,cose:a}){this.#e=e,this.#a=new qo(a)}getPublicKey(){return this.#a}getCredentialId(){return this.#e}getCredentialIdText(){return Bo(this.#e)}},Jo=class extends pr{#e;#a;constructor({authData:e,...a}){super(a);let r=So({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}},jo=class extends pr{},Mo=class extends Error{},Ko=class extends Error{},Go=class extends Error{},Wo=class extends Error{},zo=class extends Error{},Ho=class extends Error{},$o=class extends Error{},tr=class extends Error{};var Qo={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},Zo=6e4,ur=()=>window.crypto.getRandomValues(new Uint8Array(16)),ei=()=>ur(),ai=()=>ur(),ri=()=>{let{location:{href:e}}=window;try{let{hostname:a}=new URL(e);return a}catch{throw new Mo}},_r=({appId:e})=>e?.id??ri(),oi=({appId:e,user:a}={})=>{let{document:{title:r}}=window,o=()=>({rp:{name:e?.name??r,id:_r({appId:e})}}),i=()=>({user:{id:ai(),name:a?.name??a?.displayName??r,displayName:a?.displayName??r}});return{attestation:"direct",challenge:ei(),...o(),...i(),pubKeyCredParams:Object.values(Qo).map(n=>({type:"public-key",alg:n})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},ii=(e={})=>({rpId:_r(e),allowCredentials:[],userVerification:"required"}),Aa=async({fn:e,step:a,onProgress:r})=>{r?.({step:a,state:"in_progress"});try{let o=await e();return r?.({step:a,state:"success"}),o}catch(o){throw r?.({step:a,state:"error"}),o}},Ne=(e=>(e[e.RequestingUserCredential=0]="RequestingUserCredential",e[e.FinalizingCredential=1]="FinalizingCredential",e[e.Signing=2]="Signing",e))(Ne||{}),mr=({timeout:e})=>AbortSignal.timeout(e??Zo),ni=async({challenge:e,credentialIds:a,passkeyOptions:r,timeout:o})=>await navigator.credentials.get({publicKey:{...ii(r),challenge:e.buffer,allowCredentials:(a??[]).map(i=>({id:i.buffer,type:"public-key"}))},signal:mr({timeout:o})}),cr=e=>{if(e.status!=="initialized")throw new Ko},lr=e=>{if(ea(e))throw new Go},dr=({type:e})=>{if(e!=="public-key")throw new Wo},wa=class aa extends Xo{#e;#a;constructor({onProgress:a,...r}){if(super(),this.#e=a,"retrievePublicKey"in r){let{retrievePublicKey:o}=r;this.#a={status:"pending",retrievePublicKey:o};return}this.#a=aa.#r({credential:new Jo(r)})}static#r({credential:a}){return{status:"initialized",credential:a}}static async createWithNewCredential({passkeyOptions:a,timeout:r,...o}={}){let i=await navigator.credentials.create({publicKey:oi(a),signal:mr({timeout:r})});lr(i),dr(i);let{response:{attestationObject:n},rawId:t}=i;if(ea(n))throw new zo;let{authData:s}=sr.decode(Ke(n)),c=Uo(s);return new aa({...o,rawId:Ke(t),cose:c,authData:s})}static async createWithExistingCredential(a){return new aa(a)}getPublicKey(){cr(this.#a);let{credential:a}=this.#a;return a.getPublicKey()}getCredential(){cr(this.#a);let{credential:a}=this.#a;return a}async sign(a){let r=await Aa({fn:async()=>{let o=await ni({challenge:a,...this.#a.status==="initialized"&&{credentialIds:[this.#a.credential.getCredentialId()]}});return lr(o),dr(o),o},step:0,onProgress:this.#e});return await Aa({fn:async()=>{let{rawId:o}=r;if(this.#a.status==="initialized"){if(!Yo({a:this.#a.credential.getCredentialId(),b:Ke(o)}))throw new Ho;return}let{retrievePublicKey:i}=this.#a,n=await i({credentialId:Ke(o)});this.#a=aa.#r({credential:new jo({rawId:Ke(o),cose:n})})},step:1,onProgress:this.#e}),await Aa({fn:async()=>{let{response:o}=r,{clientDataJSON:i}=o,{authenticatorData:n,signature:t}="authenticatorData"in o&&"signature"in o?o:{};if(ea(n))throw new tr;if(ea(t))throw new tr;let s=sr.encode({authenticator_data:n,client_data_json:new TextDecoder().decode(i),signature:Ke(t)});if(ea(s))throw new $o;return Object.assign(s,{__signature__:void 0}),s},step:2,onProgress:this.#e})}},si=async()=>ti(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;import{isNullish as mi}from"@dfinity/utils";var Ge=class{callbacks=[];populate(a){this.callbacks.forEach(({callback:r})=>r(a))}subscribe(a){let r=Symbol();return this.callbacks.push({id:r,callback:a}),()=>this.callbacks=this.callbacks.filter(({id:o})=>o!==r)}};var R=class e extends Ge{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 Pa=({message:e,detail:a})=>{let r=new CustomEvent(e,{detail:a,bubbles:!0});document.dispatchEvent(r)};import{isNullish as va}from"@dfinity/utils";import{Actor as li}from"@icp-sdk/core/agent";import{isNullish as Ea}from"@dfinity/utils";import{nonNullish as Tr}from"@dfinity/utils";import{HttpAgent as ci}from"@icp-sdk/core/agent";var We="http://127.0.0.1:5987",Nr="rdmx6-jaaaa-aaaaa-aaadq-cai";var Or=async({identity:e,container:a})=>{let o=Tr(a)&&a!==!1?a===!0?We:a:"https://icp-api.io",i=Tr(a);return await ci.create({identity:e,shouldFetchRootKey:i,host:o})};var ze=class e{static instance;#e=void 0;constructor(){}static getInstance(){return Ea(e.instance)&&(e.instance=new e),e.instance}async getAgent({identity:a,...r}){let o=a.getPrincipal().toText();if(Ea(this.#e)||Ea(this.#e[o])){let i=await Or({identity:a,...r});return this.#e={...this.#e??{},[o]:i},i}return this.#e[o]}reset(){this.#e=null}};var He=class e{static instance;#e=void 0;constructor(){}static getInstance(){return va(e.instance)&&(e.instance=new e),e.instance}async getActor({satelliteId:a,identity:r,actorKey:o,...i}){let n=`${o}#${r.getPrincipal().toText()}#${a};`;if(va(this.#e)||va(this.#e[n])){let t=await this.createActor({satelliteId:a,identity:r,...i});return this.#e={...this.#e??{},[n]:t},t}return this.#e[n]}reset(){this.#e=null}async createActor({idlFactory:a,satelliteId:r,...o}){let i=await ze.getInstance().getAgent(o);return li.createActor(a,{agent:i,canisterId:r})}};import{isNullish as di}from"@dfinity/utils";import{AuthClient as pi,IdbStorage as xr,KEY_STORAGE_DELEGATION as ui,KEY_STORAGE_KEY as yr}from"@icp-sdk/auth/client";var h=class e{static#e;#a;constructor(){}static getInstance(){return di(this.#e)&&(this.#e=new e),this.#e}createAuthClient=async()=>(this.#a=await pi.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),this.#a);safeCreateAuthClient=async()=>(await new xr().remove(yr),await this.createAuthClient());getAuthClient=()=>this.#a;logout=async()=>{await this.#a?.logout(),this.#a=null};setAuthClientStorage=async({delegationChain:a,sessionKey:r})=>{let o=new xr;await Promise.all([o.set(yr,r.getKeyPair()),o.set(ui,JSON.stringify(a.toJSON()))])}};var Ia=async e=>{await _i(),await h.getInstance().createAuthClient(),e?.windowReload!==!1&&window.location.reload()},_i=async()=>{await h.getInstance().logout(),R.getInstance().reset(),He.getInstance().reset(),ze.getInstance().reset()};var gr=e=>{let a=e===!0?"./workers/auth.worker.js":e,r=new Worker(a),o=async()=>{Pa({message:"junoSignOutAuthTimer"}),await Ia()};return r.onmessage=async({data:i})=>{let{msg:n,data:t}=i;switch(n){case"junoSignOutAuthTimer":await o();return;case"junoDelegationRemainingTime":Pa({message:"junoDelegationRemainingTime",detail:t?.authRemainingTime});return}},R.getInstance().subscribe(i=>{if(mi(i)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var ra=async({fn:e})=>{let{createAuthClient:a,safeCreateAuthClient:r}=h.getInstance();if(!await(await a()).isAuthenticated()){await r();return}await e()};import{isNullish as ki,nonNullish as Mr}from"@dfinity/utils";var ba=({error:e,type:a})=>typeof e=="string"?e.includes(a):e instanceof Error?e.message.includes(a):!1;var Rr="juno.datastore.error.user.cannot_update";var z={certified:!1};import{nonNullish as xi}from"@dfinity/utils";import{AnonymousIdentity as yi}from"@icp-sdk/core/agent";import{isNullish as Ni}from"@dfinity/utils";var ia=()=>h.getInstance().getAuthClient()?.getIdentity(),Ti=async()=>{let{getAuthClient:e,createAuthClient:a}=h.getInstance();return(e()??await a()).getIdentity()},Oi=async()=>{let e=R.getInstance().get();if(Ni(e))return null;let a=h.getInstance().getAuthClient();return await a?.isAuthenticated()??!1?a?.getIdentity()??null:null};var _=e=>xi(e)?e:ia()??new yi;import{fromNullable as Ye,isNullish as Di,nonNullish as Ci}from"@dfinity/utils";import{assertNonNullish as vi}from"@dfinity/utils";import{isNullish as gi}from"@dfinity/utils";import{Actor as Ri}from"@icp-sdk/core/agent";import{nonNullish as Fi}from"@dfinity/utils";import{HttpAgent as Vi}from"@icp-sdk/core/agent";var Sa=({IDL:e})=>{let a=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(a)}),o=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),i=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),n=e.Variant({OpenId:i}),t=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),s=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:t,delegation:s}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),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}),T=e.Variant({PrepareDelegation:p,RegisterUser:e.Text}),O=e.Variant({Ok:c,Err:T}),x=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}),b=e.Record({field:W,desc:e.Bool}),f=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(f),description:e.Opt(e.Text),created_at:e.Opt(f)}),Y=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),m=e.Record({order:e.Opt(b),owner:e.Opt(e.Principal),matcher:e.Opt($),paginate:e.Opt(Y)}),Oe=e.Record({controllers:e.Vec(e.Principal)}),X=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),S=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:X,expires_at:e.Opt(e.Nat64)}),Q=e.Record({version:e.Opt(e.Nat64)}),F=e.Variant({Db:e.Null,Storage:e.Null}),Z=e.Record({version:e.Opt(e.Nat64)}),ee=e.Record({proposal_ids:e.Vec(e.Nat)}),ae=e.Record({cycles:e.Nat,destination_id:e.Principal}),D=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}),re=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),V=e.Record({key:D,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,re)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),oe=e.Variant({Google:e.Null}),ie=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),C=e.Record({delegation:e.Opt(ie),client_id:e.Text}),ne=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(oe,C))}),k=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),te=e.Record({allowed_callers:e.Vec(e.Principal)}),U=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(ne),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(k),rules:e.Opt(te)}),A=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),L=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A)}),se=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),ce=e.Variant({Deny:e.Null,Allow:e.Null}),le=e.Record({status_code:e.Nat16,location:e.Text}),q=e.Record({iframe:e.Opt(se),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(A),raw_access:e.Opt(ce),redirects:e.Opt(e.Vec(e.Tuple(e.Text,le)))}),xe=e.Record({db:e.Opt(L),authentication:e.Opt(U),storage:q}),de=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),w=e.Variant({OpenId:de}),ye=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),ge=e.Record({signature:e.Vec(e.Nat8),delegation:ye}),B=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:d,GetOrFetchJwks:u,DeriveSeedFailed:e.Text}),Re=e.Variant({Ok:ge,Err:B}),he=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),fe=e.Record({clear_existing_assets:e.Opt(e.Bool)}),pe=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),J=e.Variant({AssetsUpgrade:fe,SegmentsDeployment:pe}),P=e.Record({status:he,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:J}),E=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),j=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),M=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(a),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:E,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(j),write:E,max_changes_per_user:e.Opt(e.Nat32)}),Fe=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"])})}),Ae=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}),we=e.Record({token:e.Opt(K),body:e.Vec(e.Nat8)}),G=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}),v=e.Record({batch_id:e.Nat}),Pe=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,V)),items_length:e.Nat64}),Ee=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),ve=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}),Ie=e.Record({desc:e.Bool}),be=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Se=e.Record({order:e.Opt(Ie),paginate:e.Opt(be)}),De=e.Record({proposal_id:e.Nat}),Ce=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(De,P)),items_length:e.Nat64}),ke=e.Record({include_system:e.Bool}),Ue=e.Record({matcher:e.Opt(ke)}),Le=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,M)),items_length:e.Nat64}),qe=e.Record({stable:e.Nat64,heap:e.Nat64}),ue=e.Record({openid:e.Opt(ne),version:e.Opt(e.Nat64),internet_identity:e.Opt(k),rules:e.Opt(te)}),Be=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:X,expires_at:e.Opt(e.Nat64)}),Je=e.Record({controller:Be,controllers:e.Vec(e.Principal)}),je=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(A)}),_e=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),Fa=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(a),max_size:e.Opt(e.Nat),read:E,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(j),write:E,max_changes_per_user:e.Opt(e.Nat32)}),Va=e.Record({iframe:e.Opt(se),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(A),raw_access:e.Opt(ce),redirects:e.Opt(e.Vec(e.Tuple(e.Text,le)))}),Qe=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Ze=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([n],[O],[]),commit_asset_upload:e.Func([x],[],[]),commit_proposal:e.Func([y],[e.Null],[]),commit_proposal_asset_upload:e.Func([x],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(x)],[],[]),count_assets:e.Func([e.Text,m],[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,m],[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([Oe],[e.Vec(e.Tuple(e.Principal,S))],[]),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,m],[],[]),del_filtered_docs:e.Func([e.Text,m],[],[]),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([F,e.Text,Z],[],[]),delete_proposal_assets:e.Func([ee],[],[]),deposit_cycles:e.Func([ae],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(V)],["query"]),get_auth_config:e.Func([],[e.Opt(U)],["query"]),get_config:e.Func([],[xe],[]),get_db_config:e.Func([],[e.Opt(L)],["query"]),get_delegation:e.Func([w],[Re],["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(V)))],["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(P)],["query"]),get_rule:e.Func([F,e.Text],[e.Opt(M)],["query"]),get_storage_config:e.Func([],[q],["query"]),http_request:e.Func([Fe],[Ae],["query"]),http_request_streaming_callback:e.Func([K],[we],["query"]),init_asset_upload:e.Func([G],[v],[]),init_proposal:e.Func([J],[e.Nat,P],[]),init_proposal_asset_upload:e.Func([G,e.Nat],[v],[]),init_proposal_many_assets_upload:e.Func([e.Vec(G),e.Nat],[e.Vec(e.Tuple(e.Text,v))],[]),list_assets:e.Func([e.Text,m],[Pe],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,S))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Ee))],["query"]),list_docs:e.Func([e.Text,m],[ve],["query"]),list_proposals:e.Func([Se],[Ce],["query"]),list_rules:e.Func([F,Ue],[Le],["query"]),memory_size:e.Func([],[qe],["query"]),reject_proposal:e.Func([y],[e.Null],[]),set_auth_config:e.Func([ue],[U],[]),set_controllers:e.Func([Je],[e.Vec(e.Tuple(e.Principal,S))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([je],[L],[]),set_doc:e.Func([e.Text,e.Text,_e],[t],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,_e))],[e.Vec(e.Tuple(e.Text,t))],[]),set_rule:e.Func([F,e.Text,Fa],[M],[]),set_storage_config:e.Func([Va],[q],[]),submit_proposal:e.Func([e.Nat],[e.Nat,P],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([Qe],[Ze],[]),upload_proposal_asset_chunk:e.Func([Qe],[Ze],[])})},Da=({IDL:e})=>{let a=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(a)}),o=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),i=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),n=e.Variant({OpenId:i}),t=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),s=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:t,delegation:s}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),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}),T=e.Variant({PrepareDelegation:p,RegisterUser:e.Text}),O=e.Variant({Ok:c,Err:T}),x=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}),b=e.Record({field:W,desc:e.Bool}),f=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(f),description:e.Opt(e.Text),created_at:e.Opt(f)}),Y=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),m=e.Record({order:e.Opt(b),owner:e.Opt(e.Principal),matcher:e.Opt($),paginate:e.Opt(Y)}),Oe=e.Record({controllers:e.Vec(e.Principal)}),X=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),S=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:X,expires_at:e.Opt(e.Nat64)}),Q=e.Record({version:e.Opt(e.Nat64)}),F=e.Variant({Db:e.Null,Storage:e.Null}),Z=e.Record({version:e.Opt(e.Nat64)}),ee=e.Record({proposal_ids:e.Vec(e.Nat)}),ae=e.Record({cycles:e.Nat,destination_id:e.Principal}),D=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}),re=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),V=e.Record({key:D,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,re)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),oe=e.Variant({Google:e.Null}),ie=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),C=e.Record({delegation:e.Opt(ie),client_id:e.Text}),ne=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(oe,C))}),k=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),te=e.Record({allowed_callers:e.Vec(e.Principal)}),U=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(ne),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(k),rules:e.Opt(te)}),A=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),L=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A)}),se=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),ce=e.Variant({Deny:e.Null,Allow:e.Null}),le=e.Record({status_code:e.Nat16,location:e.Text}),q=e.Record({iframe:e.Opt(se),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(A),raw_access:e.Opt(ce),redirects:e.Opt(e.Vec(e.Tuple(e.Text,le)))}),xe=e.Record({db:e.Opt(L),authentication:e.Opt(U),storage:q}),de=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),w=e.Variant({OpenId:de}),ye=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),ge=e.Record({signature:e.Vec(e.Nat8),delegation:ye}),B=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:d,GetOrFetchJwks:u,DeriveSeedFailed:e.Text}),Re=e.Variant({Ok:ge,Err:B}),he=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),fe=e.Record({clear_existing_assets:e.Opt(e.Bool)}),pe=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),J=e.Variant({AssetsUpgrade:fe,SegmentsDeployment:pe}),P=e.Record({status:he,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:J}),E=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),j=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),M=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(a),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:E,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(j),write:E,max_changes_per_user:e.Opt(e.Nat32)}),Fe=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([],[],[])})}),Ae=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}),we=e.Record({token:e.Opt(K),body:e.Vec(e.Nat8)}),G=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}),v=e.Record({batch_id:e.Nat}),Pe=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,V)),items_length:e.Nat64}),Ee=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),ve=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}),Ie=e.Record({desc:e.Bool}),be=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Se=e.Record({order:e.Opt(Ie),paginate:e.Opt(be)}),De=e.Record({proposal_id:e.Nat}),Ce=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(De,P)),items_length:e.Nat64}),ke=e.Record({include_system:e.Bool}),Ue=e.Record({matcher:e.Opt(ke)}),Le=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,M)),items_length:e.Nat64}),qe=e.Record({stable:e.Nat64,heap:e.Nat64}),ue=e.Record({openid:e.Opt(ne),version:e.Opt(e.Nat64),internet_identity:e.Opt(k),rules:e.Opt(te)}),Be=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:X,expires_at:e.Opt(e.Nat64)}),Je=e.Record({controller:Be,controllers:e.Vec(e.Principal)}),je=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(A)}),_e=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),Fa=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(a),max_size:e.Opt(e.Nat),read:E,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(j),write:E,max_changes_per_user:e.Opt(e.Nat32)}),Va=e.Record({iframe:e.Opt(se),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(A),raw_access:e.Opt(ce),redirects:e.Opt(e.Vec(e.Tuple(e.Text,le)))}),Qe=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Ze=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([n],[O],[]),commit_asset_upload:e.Func([x],[],[]),commit_proposal:e.Func([y],[e.Null],[]),commit_proposal_asset_upload:e.Func([x],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(x)],[],[]),count_assets:e.Func([e.Text,m],[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,m],[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([Oe],[e.Vec(e.Tuple(e.Principal,S))],[]),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,m],[],[]),del_filtered_docs:e.Func([e.Text,m],[],[]),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([F,e.Text,Z],[],[]),delete_proposal_assets:e.Func([ee],[],[]),deposit_cycles:e.Func([ae],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(V)],[]),get_auth_config:e.Func([],[e.Opt(U)],[]),get_config:e.Func([],[xe],[]),get_db_config:e.Func([],[e.Opt(L)],[]),get_delegation:e.Func([w],[Re],[]),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(V)))],[]),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(P)],[]),get_rule:e.Func([F,e.Text],[e.Opt(M)],[]),get_storage_config:e.Func([],[q],[]),http_request:e.Func([Fe],[Ae],[]),http_request_streaming_callback:e.Func([K],[we],[]),init_asset_upload:e.Func([G],[v],[]),init_proposal:e.Func([J],[e.Nat,P],[]),init_proposal_asset_upload:e.Func([G,e.Nat],[v],[]),init_proposal_many_assets_upload:e.Func([e.Vec(G),e.Nat],[e.Vec(e.Tuple(e.Text,v))],[]),list_assets:e.Func([e.Text,m],[Pe],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,S))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Ee))],[]),list_docs:e.Func([e.Text,m],[ve],[]),list_proposals:e.Func([Se],[Ce],[]),list_rules:e.Func([F,Ue],[Le],[]),memory_size:e.Func([],[qe],[]),reject_proposal:e.Func([y],[e.Null],[]),set_auth_config:e.Func([ue],[U],[]),set_controllers:e.Func([Je],[e.Vec(e.Tuple(e.Principal,S))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([je],[L],[]),set_doc:e.Func([e.Text,e.Text,_e],[t],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,_e))],[e.Vec(e.Tuple(e.Text,t))],[]),set_rule:e.Func([F,e.Text,Fa],[M],[]),set_storage_config:e.Func([Va],[q],[]),submit_proposal:e.Func([e.Nat],[e.Nat,P],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([Qe],[Ze],[]),upload_proposal_asset_chunk:e.Func([Qe],[Ze],[])})},hi=({IDL:e})=>{let a=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),i=e.Variant({OpenId:o}),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,mission_control:d}),p=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),T=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}),x=e.Variant({JwtFindProvider:p,GetCachedJwks:e.Null,JwtVerify:T,GetOrFetchJwks:O,DeriveSeedFailed:e.Text}),y=e.Variant({PrepareDelegation:x,RegisterUser:e.Text}),W=e.Variant({Ok:u,Err:y}),b=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),f=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),$=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),user:e.Principal}),Y=e.Variant({Heap:e.Null,Stable:e.Null}),m=e.Record({system_memory:e.Opt(Y)}),Oe=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(m),user:e.Principal}),X=e.Record({controllers:e.Vec(e.Principal)}),S=e.Record({proposal_ids:e.Vec(e.Nat)}),Q=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),F=e.Record({delegation:e.Opt(Q),client_id:e.Text}),Z=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(t,F))}),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)}),D=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)}),re=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),V=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),oe=e.Variant({Deny:e.Null,Allow:e.Null}),ie=e.Record({status_code:e.Nat16,location:e.Text}),C=e.Record({iframe:e.Opt(re),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(V),raw_access:e.Opt(oe),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ie)))}),ne=e.Record({authentication:e.Opt(D),storage:C}),k=e.Record({user:e.Principal}),te=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),U=e.Variant({OpenId:te}),A=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),L=e.Record({signature:e.Vec(e.Nat8),delegation:A}),se=e.Variant({JwtFindProvider:p,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:T,GetOrFetchJwks:O,DeriveSeedFailed:e.Text}),ce=e.Variant({Ok:L,Err:se}),le=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),q=e.Record({clear_existing_assets:e.Opt(e.Bool)}),xe=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),de=e.Variant({AssetsUpgrade:q,SegmentsDeployment:xe}),w=e.Record({status:le,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}),ye=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)}),ge=e.Variant({Heap:e.Null,Stable:e.Null}),B=e.Record({memory:ge,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}),Re=e.Variant({Callback:e.Record({token:B,callback:e.Func([],[],["query"])})}),he=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Re),status_code:e.Nat16}),fe=e.Record({token:e.Opt(B),body:e.Vec(e.Nat8)}),pe=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),J=e.Record({batch_id:e.Nat}),P=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),E=e.Record({field:P,desc:e.Bool}),j=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),M=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(j),description:e.Opt(e.Text),created_at:e.Opt(j)}),Fe=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),K=e.Record({order:e.Opt(E),owner:e.Opt(e.Principal),matcher:e.Opt(M),paginate:e.Opt(Fe)}),Ve=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}),Ae=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),we=e.Record({key:Ve,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,Ae)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),G=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,we)),items_length:e.Nat64}),v=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),Pe=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:v,expires_at:e.Opt(e.Nat64)}),Ee=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),ve=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),Ie=e.Record({status:ve,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)}),be=e.Record({desc:e.Bool}),Se=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),De=e.Record({order:e.Opt(be),paginate:e.Opt(Se)}),Ce=e.Record({proposal_id:e.Nat}),ke=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Ce,w)),items_length:e.Nat64}),Ue=e.Record({openid:e.Opt(Z),version:e.Opt(e.Nat64),internet_identity:e.Opt(ee),rules:e.Opt(ae)}),Le=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:v,expires_at:e.Opt(e.Nat64)}),qe=e.Record({controller:Le,controllers:e.Vec(e.Principal)}),ue=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),Be=e.Record({iframe:e.Opt(re),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(V),raw_access:e.Opt(oe),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ie)))}),Je=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),je=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),_e=e.Record({chunk_id:e.Nat});return e.Service({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([i],[W],[]),commit_proposal:e.Func([b],[e.Null],[]),commit_proposal_asset_upload:e.Func([f],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(f)],[],[]),count_proposals:e.Func([],[e.Nat64],["query"]),create_orbiter:e.Func([$],[e.Principal],[]),create_satellite:e.Func([Oe],[e.Principal],[]),del_controllers:e.Func([X],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([S],[],[]),get_auth_config:e.Func([],[e.Opt(D)],["query"]),get_config:e.Func([],[ne],["query"]),get_create_orbiter_fee:e.Func([k],[e.Opt(a)],["query"]),get_create_satellite_fee:e.Func([k],[e.Opt(a)],["query"]),get_credits:e.Func([],[a],["query"]),get_delegation:e.Func([U],[ce],["query"]),get_proposal:e.Func([e.Nat],[e.Opt(w)],["query"]),get_storage_config:e.Func([],[C],["query"]),get_user_mission_control_center:e.Func([],[e.Opt(d)],["query"]),http_request:e.Func([ye],[he],["query"]),http_request_streaming_callback:e.Func([B],[fe],["query"]),init_proposal:e.Func([de],[e.Nat,w],[]),init_proposal_asset_upload:e.Func([pe,e.Nat],[J],[]),init_proposal_many_assets_upload:e.Func([e.Vec(pe),e.Nat],[e.Vec(e.Tuple(e.Text,J))],[]),init_user_mission_control_center:e.Func([],[d],[]),list_assets:e.Func([e.Text,K],[G],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,Pe))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Ee))],["query"]),list_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,Ie))],["query"]),list_proposals:e.Func([De],[ke],["query"]),list_user_mission_control_centers:e.Func([],[e.Vec(e.Tuple(e.Principal,d))],["query"]),reject_proposal:e.Func([b],[e.Null],[]),set_auth_config:e.Func([Ue],[D],[]),set_controllers:e.Func([qe],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([ue,a],[],[]),set_storage_config:e.Func([Be],[C],[]),submit_proposal:e.Func([e.Nat],[e.Nat,w],[]),update_rate_config:e.Func([ue,Je],[],[]),upload_proposal_asset_chunk:e.Func([je],[_e],[])})},fi=({IDL:e})=>{let a=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),i=e.Variant({OpenId:o}),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,mission_control:d}),p=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),T=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}),x=e.Variant({JwtFindProvider:p,GetCachedJwks:e.Null,JwtVerify:T,GetOrFetchJwks:O,DeriveSeedFailed:e.Text}),y=e.Variant({PrepareDelegation:x,RegisterUser:e.Text}),W=e.Variant({Ok:u,Err:y}),b=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),f=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),$=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),user:e.Principal}),Y=e.Variant({Heap:e.Null,Stable:e.Null}),m=e.Record({system_memory:e.Opt(Y)}),Oe=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(m),user:e.Principal}),X=e.Record({controllers:e.Vec(e.Principal)}),S=e.Record({proposal_ids:e.Vec(e.Nat)}),Q=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),F=e.Record({delegation:e.Opt(Q),client_id:e.Text}),Z=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(t,F))}),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)}),D=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)}),re=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),V=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),oe=e.Variant({Deny:e.Null,Allow:e.Null}),ie=e.Record({status_code:e.Nat16,location:e.Text}),C=e.Record({iframe:e.Opt(re),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(V),raw_access:e.Opt(oe),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ie)))}),ne=e.Record({authentication:e.Opt(D),storage:C}),k=e.Record({user:e.Principal}),te=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),U=e.Variant({OpenId:te}),A=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),L=e.Record({signature:e.Vec(e.Nat8),delegation:A}),se=e.Variant({JwtFindProvider:p,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:T,GetOrFetchJwks:O,DeriveSeedFailed:e.Text}),ce=e.Variant({Ok:L,Err:se}),le=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),q=e.Record({clear_existing_assets:e.Opt(e.Bool)}),xe=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),de=e.Variant({AssetsUpgrade:q,SegmentsDeployment:xe}),w=e.Record({status:le,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}),ye=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)}),ge=e.Variant({Heap:e.Null,Stable:e.Null}),B=e.Record({memory:ge,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}),Re=e.Variant({Callback:e.Record({token:B,callback:e.Func([],[],[])})}),he=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Re),status_code:e.Nat16}),fe=e.Record({token:e.Opt(B),body:e.Vec(e.Nat8)}),pe=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),J=e.Record({batch_id:e.Nat}),P=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),E=e.Record({field:P,desc:e.Bool}),j=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),M=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(j),description:e.Opt(e.Text),created_at:e.Opt(j)}),Fe=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),K=e.Record({order:e.Opt(E),owner:e.Opt(e.Principal),matcher:e.Opt(M),paginate:e.Opt(Fe)}),Ve=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}),Ae=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),we=e.Record({key:Ve,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,Ae)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),G=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,we)),items_length:e.Nat64}),v=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),Pe=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:v,expires_at:e.Opt(e.Nat64)}),Ee=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),ve=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),Ie=e.Record({status:ve,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)}),be=e.Record({desc:e.Bool}),Se=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),De=e.Record({order:e.Opt(be),paginate:e.Opt(Se)}),Ce=e.Record({proposal_id:e.Nat}),ke=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Ce,w)),items_length:e.Nat64}),Ue=e.Record({openid:e.Opt(Z),version:e.Opt(e.Nat64),internet_identity:e.Opt(ee),rules:e.Opt(ae)}),Le=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:v,expires_at:e.Opt(e.Nat64)}),qe=e.Record({controller:Le,controllers:e.Vec(e.Principal)}),ue=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),Be=e.Record({iframe:e.Opt(re),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(V),raw_access:e.Opt(oe),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ie)))}),Je=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),je=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),_e=e.Record({chunk_id:e.Nat});return e.Service({add_credits:e.Func([e.Principal,a],[],[]),add_invitation_code:e.Func([e.Text],[],[]),assert_mission_control_center:e.Func([r],[],[]),authenticate:e.Func([i],[W],[]),commit_proposal:e.Func([b],[e.Null],[]),commit_proposal_asset_upload:e.Func([f],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(f)],[],[]),count_proposals:e.Func([],[e.Nat64],[]),create_orbiter:e.Func([$],[e.Principal],[]),create_satellite:e.Func([Oe],[e.Principal],[]),del_controllers:e.Func([X],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([S],[],[]),get_auth_config:e.Func([],[e.Opt(D)],[]),get_config:e.Func([],[ne],[]),get_create_orbiter_fee:e.Func([k],[e.Opt(a)],[]),get_create_satellite_fee:e.Func([k],[e.Opt(a)],[]),get_credits:e.Func([],[a],[]),get_delegation:e.Func([U],[ce],[]),get_proposal:e.Func([e.Nat],[e.Opt(w)],[]),get_storage_config:e.Func([],[C],[]),get_user_mission_control_center:e.Func([],[e.Opt(d)],[]),http_request:e.Func([ye],[he],[]),http_request_streaming_callback:e.Func([B],[fe],[]),init_proposal:e.Func([de],[e.Nat,w],[]),init_proposal_asset_upload:e.Func([pe,e.Nat],[J],[]),init_proposal_many_assets_upload:e.Func([e.Vec(pe),e.Nat],[e.Vec(e.Tuple(e.Text,J))],[]),init_user_mission_control_center:e.Func([],[d],[]),list_assets:e.Func([e.Text,K],[G],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,Pe))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Ee))],[]),list_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,Ie))],[]),list_proposals:e.Func([De],[ke],[]),list_user_mission_control_centers:e.Func([],[e.Vec(e.Tuple(e.Principal,d))],[]),reject_proposal:e.Func([b],[e.Null],[]),set_auth_config:e.Func([Ue],[D],[]),set_controllers:e.Func([qe],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([ue,a],[],[]),set_storage_config:e.Func([Be],[C],[]),submit_proposal:e.Func([e.Nat],[e.Nat,w],[]),update_rate_config:e.Func([ue,Je],[],[]),upload_proposal_asset_chunk:e.Func([je],[_e],[])})};var Ai=async({identity:e,host:a,localActor:r})=>await Vi.create({identity:e,host:a,retryTimes:10,shouldFetchRootKey:r}),wi=async({agent:e,...a})=>e??await Pi(a),Pi=async({identity:e,container:a})=>{let r=Fi(a)&&a!==!1;return await Ai({identity:e,host:r?a===!0?"http://127.0.0.1:5987":a:"https://icp-api.io",localActor:r})};var hr=({satelliteId:e,certified:a=!1,...r})=>Fr({canisterId:e,...r,idlFactory:a?Da:Sa});var fr=({consoleId:e,certified:a=!1,...r})=>Fr({canisterId:e,...r,idlFactory:a?fi:hi}),Fr=({canisterId:e,idlFactory:a,...r})=>{if(gi(e))throw new Error("No canister ID provided.");return Ei({canisterId:e,idlFactory:a,...r})},Ei=async({canisterId:e,idlFactory:a,config:r,...o})=>{let i=await wi(o);return Ri.createActor(a,{agent:i,canisterId:e,...r??{}})};import{nonNullish as Ca}from"@dfinity/utils";var g=class e extends Ge{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 Vr=({satelliteId:e,container:a})=>{let{satelliteId:r}