@junobuild/admin 4.0.2 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
1
  import { createRequire as topLevelCreateRequire } from 'module';
2
2
  const require = topLevelCreateRequire(import.meta.url);
3
- var j=class extends Error{constructor(){super("The Wasm code for the upgrade is identical to the code currently installed. No upgrade is necessary.")}};import{JUNO_PACKAGE_MISSION_CONTROL_ID as Et,JUNO_PACKAGE_ORBITER_ID as Lt,JUNO_PACKAGE_SATELLITE_ID as zt}from"@junobuild/config";var N=class extends Error{constructor(){super(`Invalid dependency tree: required module ${zt} is missing.`)}},J=class extends Error{constructor(){super(`Invalid package: the provided module name is not ${Et}.`)}},B=class extends Error{constructor(){super(`Invalid package: the provided module name is not ${Lt}.`)}};var Ce=e=>crypto.subtle.digest("SHA-256",e),Pe=e=>Array.from(new Uint8Array(e)).map(r=>r.toString(16).padStart(2,"0")).join(""),ye=async e=>{let t=await Ce(await e.arrayBuffer());return Pe(t)},H=async e=>{let t=await Ce(e);return Pe(t)};var v=({dependencyId:e,dependencies:t})=>Object.entries(t??{}).find(([r,o])=>r===e);import{major as Se,minor as he,patch as xe}from"semver";var vr=({currentVersion:e,selectedVersion:t})=>{let r=Se(e),o=Se(t),i=he(e),a=he(t),n=xe(e),s=xe(t);return r<o-1||i<a-1||n<s-1?{canUpgrade:!1}:{canUpgrade:!0}};import{isNullish as _e,nonNullish as ie}from"@dfinity/utils";import{JUNO_PACKAGE_SATELLITE_ID as De,JunoPackageSchema as jt}from"@junobuild/config";var jr=async({junoPackage:e,wasm:t})=>{if(_e(e))return await Jt({wasm:t});let{name:r,dependencies:o}=e;if(r===De)return"stock";let i=v({dependencies:o,dependencyId:De});return ie(i)?"extended":void 0},Jt=async({wasm:e})=>{let t=await Ae({wasm:e,sectionName:"icp:public juno:build"});return ie(t)&&["stock","extended"].includes(t)?t:void 0},Jr=async({wasm:e})=>{let t=await Ae({wasm:e,sectionName:"icp:public juno:package"});if(_e(t))return;let r=JSON.parse(t),{success:o,data:i}=jt.safeParse(r);return o?i:void 0},Ae=async({sectionName:e,wasm:t})=>{let r=await WebAssembly.compile(t),o=WebAssembly.Module.customSections(r,e),[i]=o;return ie(i)?new TextDecoder().decode(i):void 0};import*as we from"zod";var Hr=we.enum(["stock","extended"]);import*as b from"zod";var w=b.string().refine(e=>/^\d+\.\d+\.\d+$/.test(e),{message:"Version does not match x.y.z format"}),Bt=b.strictObject({tag:w,console:w,observatory:w.optional(),mission_control:w,satellite:w,orbiter:w.optional(),sputnik:w.optional()}),Ht=b.array(Bt).min(1).refine(e=>new Set(e.map(({tag:t})=>t)).size===e.length,{message:"A release tag appears multiple times but must be unique"}),ae=b.array(w).min(1),Gr=b.strictObject({mission_controls:ae,satellites:ae,orbiters:ae,releases:Ht});import{getDeprecatedMissionControlVersionActor as Vt,getMissionControlActor as V}from"@junobuild/ic-client/actor";var be=async({missionControl:e})=>{let{version:t}=await Vt(e);return t()},ke=async({missionControl:e})=>{let{get_user:t}=await V(e);return t()},Me=async({missionControl:e})=>{let{list_mission_control_controllers:t}=await V(e);return t()},Ie=async({missionControl:e,satelliteIds:t,controllerIds:r,controller:o})=>{let{set_satellites_controllers:i}=await V(e);return i(t,r,o)},Te=async({missionControl:e,controllerIds:t,controller:r})=>{let{set_mission_control_controllers:o}=await V(e);return o(t,r)};import{nonNullish as Gt,toNullable as Kt}from"@dfinity/utils";import{Principal as Ft}from"@icp-sdk/core/principal";var ne=({controllerId:e,profile:t})=>({controllerIds:[Ft.fromText(e)],controller:qt(t)}),qt=e=>({metadata:Gt(e)&&e!==""?[["profile",e]]:[],expires_at:Kt(void 0),scope:{Admin:null}});var Yr=({controllerId:e,profile:t,...r})=>Ie({...r,...ne({controllerId:e,profile:t})}),eo=({controllerId:e,profile:t,...r})=>Te({...r,...ne({controllerId:e,profile:t})}),to=e=>Me(e);import{toPrincipal as sr}from"@junobuild/ic-client/utils";var O={reinstall:null},M={upgrade:[{skip_pre_upgrade:[!1],wasm_memory_persistence:[{replace:null}]}]};import{fromNullable as tr,isNullish as rr,uint8ArrayToHexString as or}from"@dfinity/utils";import{IcManagementCanister as S}from"@icp-sdk/canisters/ic-management";import{CanisterStatus as Re}from"@icp-sdk/core/agent";import{Principal as Ue}from"@icp-sdk/core/principal";import{useOrInitAgent as y}from"@junobuild/ic-client/actor";var Ne=async({canisterId:e,actor:t})=>{let r=await y(t),{stopCanister:o}=S.create({agent:r});await o(e)},ve=async({canisterId:e,actor:t})=>{let r=await y(t),{startCanister:o}=S.create({agent:r});await o(e)},Oe=async({actor:e,code:t})=>{let r=await y(e),{installCode:o}=S.create({agent:r});return o(t)},Ee=async({actor:e,canisterId:t})=>{let r=await y(e),{storedChunks:o}=S.create({agent:r});return o({canisterId:t})},G=async({actor:e,canisterId:t})=>{let r=await y(e),{clearChunkStore:o}=S.create({agent:r});return o({canisterId:t})},Le=async({actor:e,chunk:t})=>{let r=await y(e),{uploadChunk:o}=S.create({agent:r});return o(t)},ze=async({actor:e,code:t})=>{let r=await y(e),{installChunkedCode:o}=S.create({agent:r});return o(t)},je=async({actor:e,canisterId:t})=>{let r=await y(e),{canisterStatus:o}=S.create({agent:r});return o({canisterId:t})},K=async({canisterId:e,path:t,...r})=>{let o=await y(r),i=globalThis.console.warn;globalThis.console.warn=()=>null;let a=await Re.request({canisterId:e instanceof Ue?e:Ue.from(e),agent:o,paths:[new Re.CustomPath(t,t,"utf-8")]});return globalThis.console.warn=i,a.get(t)},Je=async({actor:e,canisterId:t})=>{let r=await y(e),{listCanisterSnapshots:o}=S.create({agent:r});return o({canisterId:t})},Be=async({actor:e,...t})=>{let r=await y(e),{takeCanisterSnapshot:o}=S.create({agent:r});return o(t)};var He=(a=>(a[a.AssertingExistingCode=0]="AssertingExistingCode",a[a.StoppingCanister=1]="StoppingCanister",a[a.TakingSnapshot=2]="TakingSnapshot",a[a.UpgradingCode=3]="UpgradingCode",a[a.RestartingCanister=4]="RestartingCanister",a))(He||{});import{nonNullish as Ve,uint8ArrayToHexString as Xt}from"@dfinity/utils";var Ge=async({actor:e,canisterId:t,wasmModule:r,preClearChunks:o,...i})=>{o&&await G({actor:e,canisterId:t});let a=await Zt({wasmModule:r}),{uploadChunks:n,storedChunks:s,preClearChunks:l,postClearChunks:c}=await $t({actor:e,wasmChunks:a,canisterId:t});l&&await G({actor:e,canisterId:t});let p=[];for await(let m of Qt({uploadChunks:n,actor:e,canisterId:t}))p=[...p,...m];await ze({actor:e,code:{...i,chunkHashesList:[...p,...s].sort(({orderId:m},{orderId:u})=>m-u).map(({chunkHash:m})=>m),targetCanisterId:t,wasmModuleHash:await H(r)}}),c&&await G({actor:e,canisterId:t})},Zt=async({wasmModule:e})=>{let t=new Blob([e]),r=[],o=1e6,i=0;for(let a=0;a<t.size;a+=o){let n=t.slice(a,a+o);r.push({chunk:n,orderId:i,sha256:await ye(n)}),i++}return r},$t=async({canisterId:e,actor:t,wasmChunks:r})=>{let o=await Ee({actor:t,canisterId:e}),i=o.map(({hash:s})=>({chunkHash:{hash:s},sha256:Xt(s)})),{storedChunks:a,uploadChunks:n}=r.reduce(({uploadChunks:s,storedChunks:l},{sha256:c,...p})=>{let m=i.find(({sha256:u})=>u===c);return{uploadChunks:[...s,...Ve(m)?[]:[{sha256:c,...p}]],storedChunks:[...l,...Ve(m)?[{...p,...m}]:[]]}},{uploadChunks:[],storedChunks:[]});return{uploadChunks:n,storedChunks:a,preClearChunks:o.length>0&&a.length===0,postClearChunks:!0}};async function*Qt({uploadChunks:e,limit:t=12,...r}){for(let o=0;o<e.length;o=o+t){let i=e.slice(o,o+t);yield await Promise.all(i.map(n=>Yt({uploadChunk:n,...r})))}}var Yt=async({actor:e,canisterId:t,uploadChunk:{chunk:r,...o}})=>({chunkHash:await Le({actor:e,chunk:{canisterId:t,chunk:new Uint8Array(await r.arrayBuffer())}}),...o});var Ke=async({actor:e,...t})=>{await Oe({actor:e,code:t})};var x=async({wasmModule:e,canisterId:t,actor:r,onProgress:o,takeSnapshot:i=!0,...a})=>{await E({fn:async()=>await ir({wasmModule:e,canisterId:t,actor:r,...a}),onProgress:o,step:0}),await E({fn:async()=>await Ne({canisterId:t,actor:r}),onProgress:o,step:1});try{await E({fn:async()=>i?await nr({canisterId:t,actor:r}):Promise.resolve(),onProgress:o,step:2}),await E({fn:async()=>await ar({wasmModule:e,canisterId:t,actor:r,...a}),onProgress:o,step:3})}finally{await E({fn:async()=>await ve({canisterId:t,actor:r}),onProgress:o,step:4})}},E=async({fn:e,step:t,onProgress:r})=>{r?.({step:t,state:"in_progress"});try{await e(),r?.({step:t,state:"success"})}catch(o){throw r?.({step:t,state:"error"}),o}},ir=async({actor:e,canisterId:t,wasmModule:r,reset:o})=>{if(o===!0)return;let{module_hash:i}=await je({actor:e,canisterId:t}),a=tr(i);if(rr(a))return;let n=await H(r),s=or(a);if(n===s)throw new j},ar=async({wasmModule:e,canisterId:t,actor:r,...o})=>{await((new Blob([e]).size>2e6?"chunked":"single")==="chunked"?Ge:Ke)({wasmModule:e,canisterId:t,actor:r,...o})},nr=async e=>{let t=await Je(e);await Be({...e,snapshotId:t?.[0]?.id})};import{IDL as I}from"@icp-sdk/core/candid";var Fe=e=>I.encode([I.Record({user:I.Principal})],[{user:e}]),F=e=>I.encode([I.Record({controllers:I.Vec(I.Principal)})],[{controllers:e.filter(([t,{scope:r}])=>"Admin"in r).map(([t,r])=>t)}]);var vo=async({missionControl:e,...t})=>{let r=await ke({missionControl:e}),{missionControlId:o,...i}=e;if(!o)throw new Error("No mission control principal defined.");let a=Fe(r);await x({actor:i,canisterId:sr(o),arg:a,mode:M,...t})};import{assertNonNullish as mr,isNullish as pr}from"@dfinity/utils";import{JUNO_PACKAGE_MISSION_CONTROL_ID as dr}from"@junobuild/config";import{isNullish as lr}from"@dfinity/utils";import{JunoPackageSchema as cr}from"@junobuild/config";import*as q from"zod";var D=async({moduleId:e,...t})=>{let r=await K({...t,canisterId:e,path:"juno:package"});if(lr(r))return;if(typeof r!="string")throw new Error("Unexpected metadata type to parse public custom section juno:package");return(i=>q.string().transform((a,n)=>{try{return JSON.parse(a)}catch{return n.addIssue({code:"custom",message:"Invalid JSON"}),q.never}}).pipe(cr).parse(i))(r)},jo=async e=>(await D(e))?.version,Jo=async e=>(await D(e))?.dependencies;var qo=async({missionControl:{missionControlId:e,...t}})=>{mr(e,"A Mission Control ID must be provided to request its version.");let r=await D({moduleId:e,...t});if(pr(r))return await be({missionControl:{missionControlId:e,...t}});let{name:o,version:i}=r;if(o===dr)return i;throw new J};var Zo=async e=>{await x(e)};import{getDeprecatedOrbiterVersionActor as ur,getOrbiterActor as se}from"@junobuild/ic-client/actor";var qe=async({orbiter:e})=>{let{version:t}=await ur(e);return t()},W=async({orbiter:e,certified:t})=>{let{list_controllers:r}=await se({...e,certified:t});return r()},We=async({args:e,orbiter:t})=>{let{set_controllers:r}=await se(t);return r(e)},Xe=async({orbiter:e})=>{let{memory_size:t}=await se(e);return t()};var ti=e=>W(e),ri=e=>We(e);var ai=e=>Xe(e);import{toPrincipal as fr}from"@junobuild/ic-client/utils";var di=async({orbiter:e,reset:t=!1,...r})=>{let{orbiterId:o,...i}=e;if(!o)throw new Error("No orbiter principal defined.");let a=await W({orbiter:e,certified:t}),n=F(a);await x({actor:i,canisterId:fr(o),arg:n,mode:t?O:M,reset:t,...r})};import{assertNonNullish as gr,isNullish as Cr}from"@dfinity/utils";import{JUNO_PACKAGE_ORBITER_ID as Pr}from"@junobuild/config";var Si=async({orbiter:{orbiterId:e,...t}})=>{gr(e,"An Orbiter ID must be provided to request its version.");let r=await D({moduleId:e,...t});if(Cr(r))return await qe({orbiter:{orbiterId:e,...t}});let{name:o,version:i}=r;if(o===Pr)return i;throw new B};import{toNullable as yr}from"@dfinity/utils";import{getDeprecatedSatelliteActor as Sr,getDeprecatedSatelliteNoScopeActor as hr,getDeprecatedSatelliteVersionActor as xr,getSatelliteActor as d}from"@junobuild/ic-client/actor";var Ze=async({config:e,satellite:t})=>{let{set_storage_config:r}=await d(t);return r(e)},$e=async({config:e,satellite:t})=>{let{set_db_config:r}=await d(t);return r(e)},Qe=async({config:e,satellite:t})=>{let{set_auth_config:r}=await d(t);return r(e)},Ye=async({satellite:e})=>{let{get_storage_config:t}=await d(e);return t()},et=async({satellite:e})=>{let{get_db_config:t}=await d(e);return t()},tt=async({satellite:e})=>{let{get_auth_config:t}=await d(e);return t()},rt=async({satellite:e})=>{let{get_config:t}=await d(e);return t()},ot=async({satellite:e,type:t,filter:r})=>{let{list_rules:o}=await d(e);return o(t,r)},it=async({type:e,collection:t,rule:r,satellite:o})=>{let{set_rule:i}=await d(o);return i(e,t,r)},at=async({satellite:e})=>{let{version:t}=await xr(e);return t()},nt=async({satellite:e})=>{let{list_controllers:t}=await Sr(e);return t()},X=async({satellite:e})=>{let{list_controllers:t}=await hr(e);return t()},Z=async({satellite:e,certified:t})=>{let{list_controllers:r}=await d({...e,certified:t});return r()},st=async({satellite:e})=>{let{list_custom_domains:t}=await d(e);return t()},le=async({satellite:e,domainName:t,boundaryNodesId:r})=>{let{set_custom_domain:o}=await d(e);await o(t,yr(r))},lt=async({satellite:e})=>{let{memory_size:t}=await d(e);return t()},ct=async({collection:e,satellite:t})=>{let{count_collection_docs:r}=await d(t);return r(e)},mt=async({collection:e,satellite:t})=>{let{count_collection_assets:r}=await d(t);return r(e)},pt=async({collection:e,satellite:t})=>{let{del_docs:r}=await d(t);return r(e)},dt=async({collection:e,satellite:t})=>{let{del_assets:r}=await d(t);return r(e)},ut=async({args:e,satellite:t})=>{let{set_controllers:r}=await d(t);return r(e)};var wi=e=>mt(e),bi=e=>dt(e);import{fromNullable as te,isNullish as St,nonNullish as yt}from"@dfinity/utils";import{fromNullable as f,isNullish as $,nonNullish as C,toNullable as U}from"@dfinity/utils";import{Principal as ft}from"@icp-sdk/core/principal";import{fromNullable as ce,nonNullish as k,toNullable as L}from"@dfinity/utils";var me=e=>L(k(e)&&(k(L(e.heap))||k(L(e.stable)))?{heap:L(e.heap),stable:L(e.stable)}:void 0),pe=e=>{let t=ce(e),r=ce(t?.heap??[]),o=ce(t?.stable??[]);return{...k(t)&&(k(r)||k(o))&&{maxMemorySize:{...k(r)&&{heap:r},...k(o)&&{stable:o}}}}};var gt=({headers:e,rewrites:t,redirects:r,iframe:o,rawAccess:i,maxMemorySize:a,version:n})=>{let s=(e??[]).map(({source:u,headers:g})=>[u,g]),l=(t??[]).map(({source:u,destination:g})=>[u,g]),c=(r??[]).map(({source:u,location:g,code:P})=>[u,{status_code:P,location:g}]);return{headers:s,rewrites:l,redirects:[c],iframe:[o==="same-origin"?{SameOrigin:null}:o==="allow-any"?{AllowAny:null}:{Deny:null}],raw_access:[i===!0?{Allow:null}:{Deny:null}],max_memory_size:me(a),version:U(n)}},Q=({redirects:e,iframe:t,version:r,raw_access:o,max_memory_size:i,headers:a,rewrites:n})=>{let s=f(e)?.map(([_,{status_code:A,...z}])=>({...z,code:A,source:_})),l=f(o),c=C(l)?"Allow"in l:void 0,p=f(t),m=C(p)?"SameOrigin"in p?"same-origin":"AllowAny"in p?"allow-any":"deny":void 0,u=pe(i),g=a.map(([_,A])=>({source:_,headers:A})),P=n.map(([_,A])=>({source:_,destination:A}));return{...g.length>0&&{headers:g},...P.length>0&&{rewrites:P},...C(s)&&{redirects:s},...C(m)&&{iframe:m},version:f(r),...C(c)&&{rawAccess:c},...u}},Ct=({maxMemorySize:e,version:t})=>({max_memory_size:me(e),version:U(t)}),Y=({version:e,max_memory_size:t})=>({...pe(t),version:f(e)}),Pt=({internetIdentity:e,google:t,rules:r,version:o})=>({internet_identity:$(e)?[]:[{derivation_origin:U(e?.derivationOrigin),external_alternative_origins:U(e?.externalAlternativeOrigins)}],openid:$(t)?[]:[{providers:[[{Google:null},{client_id:t.clientId,delegation:$(t.delegation)?[]:[{targets:t.delegation.allowedTargets===null?[]:[(t.delegation.allowedTargets??[])?.map(i=>ft.fromText(i))],max_time_to_live:U(t.delegation.sessionDuration)}]}]],observatory_id:[]}],rules:$(r)?[]:[{allowed_callers:r.allowedCallers.map(i=>ft.fromText(i))}],version:U(o)}),ee=({version:e,internet_identity:t,openid:r,rules:o})=>{let i=f(t),a=f(i?.derivation_origin??[]),n=f(i?.external_alternative_origins??[]),l=f(r)?.providers.find(([P])=>"Google"in P)?.[1],c=f(l?.delegation??[]),p=C(c)&&C(c.targets)&&c.targets.length===0?null:(f(c?.targets??[])??[]).length===0?void 0:(f(c?.targets??[])??[]).map(P=>P.toText()),m=f(c?.max_time_to_live??[]),u=p!==void 0||C(m),g=f(o);return{...C(i)&&{internetIdentity:{...C(a)&&{derivationOrigin:a},...C(n)&&{externalAlternativeOrigins:n}}},...C(l)&&{google:{clientId:l.client_id,...u&&{delegation:{...p!==void 0&&{allowedTargets:p},...C(m)&&{sessionDuration:m}}}}},...C(g)&&{rules:{allowedCallers:g.allowed_callers.map(P=>P.toText())}},version:f(e)}};var Li=async({config:e,satellite:t})=>{let r=await Ze({satellite:t,config:gt(e)});return Q(r)},zi=async({config:e,...t})=>{let r=await $e({config:Ct(e),...t});return Y(r)},ji=async({config:e,...t})=>{let r=await Qe({config:Pt(e),...t});return ee(r)},Ji=async({satellite:e})=>{let t=await tt({satellite:e}),r=te(t);if(!St(r))return ee(r)},Bi=async({satellite:e})=>{let t=await Ye({satellite:e});return Q(t)},Hi=async({satellite:e})=>{let t=await et({satellite:e}),r=te(t);if(!St(r))return Y(r)},Vi=async({satellite:e})=>{let{storage:t,db:r,authentication:o}=await rt({satellite:e}),i=te(r),a=te(o);return{storage:Q(t),...yt(i)&&{datastore:Y(i)},...yt(a)&&{auth:ee(a)}}};var Fi=({deprecatedNoScope:e,...t})=>(e===!0?X:Z)(t),qi=e=>ut(e);var Zi=e=>ct(e),$i=e=>pt(e);import{fromNullable as ht,nonNullish as Dr}from"@dfinity/utils";var ta=async({satellite:e})=>(await st({satellite:e})).map(([r,o])=>{let i=ht(o.version);return{domain:r,bn_id:ht(o.bn_id),created_at:o.created_at,updated_at:o.updated_at,...Dr(i)&&{version:i}}}),ra=({satellite:e,domains:t})=>Promise.all(t.map(({domain:r,bn_id:o})=>le({satellite:e,domainName:r,boundaryNodesId:o}))),oa=({satellite:e,domain:t})=>le({satellite:e,domainName:t.domain,boundaryNodesId:t.bn_id});var na=e=>lt(e);import{fromNullable as T,isNullish as _r,nonNullish as h,toNullable as R}from"@dfinity/utils";var xt={Db:null},Dt={Storage:null},_t={Public:null},At={Private:null},wt={Managed:null},bt={Controllers:null},de={Heap:null},kt={Stable:null},Mt=600000000n;var ue=e=>e==="storage"?Dt:xt,Rt=e=>({matcher:_r(e)?R():R({include_system:e.include_system})}),Ut=({read:e,write:t,memory:r,maxSize:o,maxChangesPerUser:i,maxCapacity:a,version:n,mutablePermissions:s,maxTokens:l})=>({read:Tt(e),write:Tt(t),memory:h(r)?[Ar(r)]:[],version:R(n),max_size:R(h(o)&&o>0n?o:void 0),max_capacity:R(h(a)&&a>0?a:void 0),max_changes_per_user:R(h(i)&&i>0?i:void 0),mutable_permissions:R(s??!0),rate_config:h(l)&&l>0n?[{max_tokens:l,time_per_token_ns:Mt}]:[]}),fe=([e,t])=>{let{read:r,write:o,updated_at:i,created_at:a,max_size:n,max_changes_per_user:s,max_capacity:l,memory:c,mutable_permissions:p,version:m,rate_config:u}=t,g=n?.[0]??0n>0n?T(n):void 0,P=s?.[0]??!1?T(s):void 0,_=l?.[0]??!1?T(l):void 0,A=T(m),z=u?.[0]?.max_tokens??0n>0n?T(u)?.max_tokens:void 0;return{collection:e,read:It(r),write:It(o),memory:wr(T(c)??de),updatedAt:i,createdAt:a,...h(A)&&{version:A},...h(P)&&{maxChangesPerUser:P},...h(g)&&{maxSize:g},...h(_)&&{maxCapacity:_},mutablePermissions:T(p)??!0,...h(z)&&{maxTokens:z}}},It=e=>"Public"in e?"public":"Private"in e?"private":"Managed"in e?"managed":"controllers",Tt=e=>{switch(e){case"public":return _t;case"private":return At;case"managed":return wt;default:return bt}},Ar=e=>e.toLowerCase()==="heap"?de:kt,wr=e=>"Heap"in e?"heap":"stable";var fa=async({type:e,satellite:t,filter:r})=>{let{items:o,...i}=await ot({satellite:t,type:ue(e),filter:Rt(r)});return{...i,items:o.map(a=>fe(a))}},ga=async({rule:{collection:e,...t},type:r,satellite:o})=>{let i=await it({type:ue(r),rule:Ut(t),satellite:o,collection:e});return fe([e,i])};import{isNullish as br}from"@dfinity/utils";import{IDL as re}from"@icp-sdk/core/candid";import{toPrincipal as Nt}from"@junobuild/ic-client/utils";var Aa=async({satellite:e,deprecated:t,deprecatedNoScope:r,reset:o=!1,...i})=>{let{satelliteId:a,...n}=e;if(br(a))throw new Error("No satellite principal defined.");if(t){let p=await nt({satellite:e}),m=re.encode([re.Record({controllers:re.Vec(re.Principal)})],[{controllers:p}]);await x({actor:n,canisterId:Nt(a),arg:new Uint8Array(m),mode:o?O:M,reset:o,...i});return}let l=await(r?X:Z)({satellite:e,certified:o}),c=F(l);await x({actor:n,canisterId:Nt(a),arg:c,mode:o?O:M,reset:o,...i})};import{assertNonNullish as vt,isNullish as Ot,nonNullish as ge}from"@dfinity/utils";import{JUNO_PACKAGE_SATELLITE_ID as oe}from"@junobuild/config";var Na=async({satellite:{satelliteId:e,...t}})=>{vt(e,"A Satellite ID must be provided to request its version.");let r=await D({moduleId:e,...t});if(Ot(r))return await at({satellite:{satelliteId:e,...t}});let{name:o,version:i,dependencies:a}=r;if(o===oe)return i;let n=v({dependencies:a,dependencyId:oe});if(ge(n)){let[s,l]=n;return l}throw new N},va=async({satellite:{satelliteId:e,...t}})=>{vt(e,"A Satellite ID must be provided to request its version.");let r=await D({moduleId:e,...t});if(Ot(r))return await kr({satellite:{satelliteId:e,...t}});let{name:o,dependencies:i}=r;if(o===oe)return"stock";let a=v({dependencies:i,dependencyId:oe});if(ge(a))return"extended";throw new N},kr=async({satellite:{satelliteId:e,...t}})=>{let r=await K({...t,canisterId:e,path:"juno:build"});return ge(r)&&["stock","extended"].includes(r)?r:void 0};export{Hr as BuildTypeSchema,w as MetadataVersionSchema,ae as MetadataVersionsSchema,J as MissionControlVersionError,B as OrbiterVersionError,Bt as ReleaseMetadataSchema,Gr as ReleasesMetadataSchema,Ht as ReleasesSchema,N as SatelliteMissingDependencyError,He as UpgradeCodeProgressStep,j as UpgradeCodeUnchangedError,ye as blobSha256,vr as checkUpgradeVersion,wi as countAssets,Zi as countDocs,bi as deleteAssets,$i as deleteDocs,jr as extractBuildType,v as findJunoPackageDependency,Ji as getAuthConfig,Vi as getConfig,Hi as getDatastoreConfig,D as getJunoPackage,Jo as getJunoPackageDependencies,jo as getJunoPackageVersion,Bi as getStorageConfig,ta as listCustomDomains,to as listMissionControlControllers,ti as listOrbiterControllers,fa as listRules,Fi as listSatelliteControllers,qo as missionControlVersion,ai as orbiterMemorySize,Si as orbiterVersion,Jr as readCustomSectionJunoPackage,va as satelliteBuildType,na as satelliteMemorySize,Na as satelliteVersion,ji as setAuthConfig,oa as setCustomDomain,ra as setCustomDomains,zi as setDatastoreConfig,eo as setMissionControlController,ri as setOrbiterControllers,ga as setRule,qi as setSatelliteControllers,Yr as setSatellitesController,Li as setStorageConfig,H as uint8ArraySha256,vo as upgradeMissionControl,Zo as upgradeModule,di as upgradeOrbiter,Aa as upgradeSatellite};
3
+ var B=class extends Error{constructor(){super("The Wasm code for the upgrade is identical to the code currently installed. No upgrade is necessary.")}};import{JUNO_PACKAGE_MISSION_CONTROL_ID as Ht,JUNO_PACKAGE_ORBITER_ID as Vt,JUNO_PACKAGE_SATELLITE_ID as Kt}from"@junobuild/config";var E=class extends Error{constructor(){super(`Invalid dependency tree: required module ${Kt} is missing.`)}},G=class extends Error{constructor(){super(`Invalid package: the provided module name is not ${Ht}.`)}},H=class extends Error{constructor(){super(`Invalid package: the provided module name is not ${Vt}.`)}};var Se=e=>crypto.subtle.digest("SHA-256",e),he=e=>Array.from(new Uint8Array(e)).map(o=>o.toString(16).padStart(2,"0")).join(""),xe=async e=>{let t=await Se(await e.arrayBuffer());return he(t)},V=async e=>{let t=await Se(e);return he(t)};var L=({dependencyId:e,dependencies:t})=>Object.entries(t??{}).find(([o,r])=>o===e);import{major as Ae,minor as De,patch as _e}from"semver";var Bo=({currentVersion:e,selectedVersion:t})=>{let o=Ae(e),r=Ae(t),i=De(e),a=De(t),n=_e(e),s=_e(t);return o<r-1||i<a-1||n<s-1?{canUpgrade:!1}:{canUpgrade:!0}};import{isNullish as be,nonNullish as ae}from"@dfinity/utils";import{JUNO_PACKAGE_SATELLITE_ID as we,JunoPackageSchema as Wt}from"@junobuild/config";var Wo=async({junoPackage:e,wasm:t})=>{if(be(e))return await Ft({wasm:t});let{name:o,dependencies:r}=e;if(o===we)return"stock";let i=L({dependencies:r,dependencyId:we});return ae(i)?"extended":void 0},Ft=async({wasm:e})=>{let t=await ke({wasm:e,sectionName:"icp:public juno:build"});return ae(t)&&["stock","extended"].includes(t)?t:void 0},Fo=async({wasm:e})=>{let t=await ke({wasm:e,sectionName:"icp:public juno:package"});if(be(t))return;let o=JSON.parse(t),{success:r,data:i}=Wt.safeParse(o);return r?i:void 0},ke=async({sectionName:e,wasm:t})=>{let o=await WebAssembly.compile(t),r=WebAssembly.Module.customSections(o,e),[i]=r;return ae(i)?new TextDecoder().decode(i):void 0};import*as Me from"zod";var Xo=Me.enum(["stock","extended"]);import*as k from"zod";var b=k.string().refine(e=>/^\d+\.\d+\.\d+$/.test(e),{message:"Version does not match x.y.z format"}),qt=k.strictObject({tag:b,console:b,observatory:b.optional(),mission_control:b,satellite:b,orbiter:b.optional(),sputnik:b.optional()}),Xt=k.array(qt).min(1).refine(e=>new Set(e.map(({tag:t})=>t)).size===e.length,{message:"A release tag appears multiple times but must be unique"}),ne=k.array(b).min(1),$o=k.strictObject({mission_controls:ne,satellites:ne,orbiters:ne,releases:Xt});import{getDeprecatedMissionControlVersionActor as Zt,getMissionControlActor as K}from"@junobuild/ic-client/actor";var Ie=async({missionControl:e})=>{let{version:t}=await Zt(e);return t()},Te=async({missionControl:e})=>{let{get_user:t}=await K(e);return t()},ve=async({missionControl:e})=>{let{list_mission_control_controllers:t}=await K(e);return t()},Re=async({missionControl:e,satelliteIds:t,controllerIds:o,controller:r})=>{let{set_satellites_controllers:i}=await K(e);return i(t,o,r)},Oe=async({missionControl:e,controllerIds:t,controller:o})=>{let{set_mission_control_controllers:r}=await K(e);return r(t,o)};import{nonNullish as $t,toNullable as Ue}from"@dfinity/utils";import{Principal as Qt}from"@icp-sdk/core/principal";var se=({controllerId:e,profile:t})=>({controllerIds:[Qt.fromText(e)],controller:Yt(t)}),Yt=e=>({metadata:$t(e)&&e!==""?[["profile",e]]:[],expires_at:Ue(void 0),scope:{Admin:null},kind:Ue()});var nr=({controllerId:e,profile:t,...o})=>Re({...o,...se({controllerId:e,profile:t})}),sr=({controllerId:e,profile:t,...o})=>Oe({...o,...se({controllerId:e,profile:t})}),lr=e=>ve(e);import{toPrincipal as fo}from"@junobuild/ic-client/utils";var z={reinstall:null},I={upgrade:[{skip_pre_upgrade:[!1],wasm_memory_persistence:[{replace:null}]}]};import{fromNullable as so,isNullish as lo,uint8ArrayToHexString as co}from"@dfinity/utils";import{IcManagementCanister as x}from"@icp-sdk/canisters/ic-management";import{CanisterStatus as Ne}from"@icp-sdk/core/agent";import{Principal as Ee}from"@icp-sdk/core/principal";import{useOrInitAgent as h}from"@junobuild/ic-client/actor";var Le=async({canisterId:e,actor:t})=>{let o=await h(t),{stopCanister:r}=x.create({agent:o});await r(e)},ze=async({canisterId:e,actor:t})=>{let o=await h(t),{startCanister:r}=x.create({agent:o});await r(e)},je=async({actor:e,code:t})=>{let o=await h(e),{installCode:r}=x.create({agent:o});return r(t)},Je=async({actor:e,canisterId:t})=>{let o=await h(e),{storedChunks:r}=x.create({agent:o});return r({canisterId:t})},W=async({actor:e,canisterId:t})=>{let o=await h(e),{clearChunkStore:r}=x.create({agent:o});return r({canisterId:t})},Be=async({actor:e,chunk:t})=>{let o=await h(e),{uploadChunk:r}=x.create({agent:o});return r(t)},Ge=async({actor:e,code:t})=>{let o=await h(e),{installChunkedCode:r}=x.create({agent:o});return r(t)},He=async({actor:e,canisterId:t})=>{let o=await h(e),{canisterStatus:r}=x.create({agent:o});return r({canisterId:t})},F=async({canisterId:e,path:t,...o})=>{let r=await h(o),i=globalThis.console.warn;globalThis.console.warn=()=>null;let a=await Ne.request({canisterId:e instanceof Ee?e:Ee.from(e),agent:r,paths:[new Ne.CustomPath(t,t,"utf-8")]});return globalThis.console.warn=i,a.get(t)},Ve=async({actor:e,canisterId:t})=>{let o=await h(e),{listCanisterSnapshots:r}=x.create({agent:o});return r({canisterId:t})},Ke=async({actor:e,...t})=>{let o=await h(e),{takeCanisterSnapshot:r}=x.create({agent:o});return r(t)};var We=(a=>(a[a.AssertingExistingCode=0]="AssertingExistingCode",a[a.StoppingCanister=1]="StoppingCanister",a[a.TakingSnapshot=2]="TakingSnapshot",a[a.UpgradingCode=3]="UpgradingCode",a[a.RestartingCanister=4]="RestartingCanister",a))(We||{});import{nonNullish as Fe,uint8ArrayToHexString as to}from"@dfinity/utils";var qe=async({actor:e,canisterId:t,wasmModule:o,preClearChunks:r,...i})=>{r&&await W({actor:e,canisterId:t});let a=await oo({wasmModule:o}),{uploadChunks:n,storedChunks:s,preClearChunks:l,postClearChunks:c}=await ro({actor:e,wasmChunks:a,canisterId:t});l&&await W({actor:e,canisterId:t});let m=[];for await(let g of io({uploadChunks:n,actor:e,canisterId:t}))m=[...m,...g];await Ge({actor:e,code:{...i,chunkHashesList:[...m,...s].sort(({orderId:g},{orderId:p})=>g-p).map(({chunkHash:g})=>g),targetCanisterId:t,wasmModuleHash:await V(o)}}),c&&await W({actor:e,canisterId:t})},oo=async({wasmModule:e})=>{let t=new Blob([e]),o=[],r=1e6,i=0;for(let a=0;a<t.size;a+=r){let n=t.slice(a,a+r);o.push({chunk:n,orderId:i,sha256:await xe(n)}),i++}return o},ro=async({canisterId:e,actor:t,wasmChunks:o})=>{let r=await Je({actor:t,canisterId:e}),i=r.map(({hash:s})=>({chunkHash:{hash:s},sha256:to(s)})),{storedChunks:a,uploadChunks:n}=o.reduce(({uploadChunks:s,storedChunks:l},{sha256:c,...m})=>{let g=i.find(({sha256:p})=>p===c);return{uploadChunks:[...s,...Fe(g)?[]:[{sha256:c,...m}]],storedChunks:[...l,...Fe(g)?[{...m,...g}]:[]]}},{uploadChunks:[],storedChunks:[]});return{uploadChunks:n,storedChunks:a,preClearChunks:r.length>0&&a.length===0,postClearChunks:!0}};async function*io({uploadChunks:e,limit:t=12,...o}){for(let r=0;r<e.length;r=r+t){let i=e.slice(r,r+t);yield await Promise.all(i.map(n=>ao({uploadChunk:n,...o})))}}var ao=async({actor:e,canisterId:t,uploadChunk:{chunk:o,...r}})=>({chunkHash:await Be({actor:e,chunk:{canisterId:t,chunk:new Uint8Array(await o.arrayBuffer())}}),...r});var Xe=async({actor:e,...t})=>{await je({actor:e,code:t})};var _=async({wasmModule:e,canisterId:t,actor:o,onProgress:r,takeSnapshot:i=!0,...a})=>{await j({fn:async()=>await mo({wasmModule:e,canisterId:t,actor:o,...a}),onProgress:r,step:0}),await j({fn:async()=>await Le({canisterId:t,actor:o}),onProgress:r,step:1});try{await j({fn:async()=>i?await uo({canisterId:t,actor:o}):Promise.resolve(),onProgress:r,step:2}),await j({fn:async()=>await po({wasmModule:e,canisterId:t,actor:o,...a}),onProgress:r,step:3})}finally{await j({fn:async()=>await ze({canisterId:t,actor:o}),onProgress:r,step:4})}},j=async({fn:e,step:t,onProgress:o})=>{o?.({step:t,state:"in_progress"});try{await e(),o?.({step:t,state:"success"})}catch(r){throw o?.({step:t,state:"error"}),r}},mo=async({actor:e,canisterId:t,wasmModule:o,reset:r})=>{if(r===!0)return;let{module_hash:i}=await He({actor:e,canisterId:t}),a=so(i);if(lo(a))return;let n=await V(o),s=co(a);if(n===s)throw new B},po=async({wasmModule:e,canisterId:t,actor:o,...r})=>{await((new Blob([e]).size>2e6?"chunked":"single")==="chunked"?qe:Xe)({wasmModule:e,canisterId:t,actor:o,...r})},uo=async e=>{let t=await Ve(e);await Ke({...e,snapshotId:t?.[0]?.id})};import{IDL as T}from"@icp-sdk/core/candid";var Ze=e=>T.encode([T.Record({user:T.Principal})],[{user:e}]),q=e=>T.encode([T.Record({controllers:T.Vec(T.Principal)})],[{controllers:e.filter(([t,{scope:o}])=>"Admin"in o).map(([t,o])=>t)}]);var Jr=async({missionControl:e,...t})=>{let o=await Te({missionControl:e}),{missionControlId:r,...i}=e;if(!r)throw new Error("No mission control principal defined.");let a=Ze(o);await _({actor:i,canisterId:fo(r),arg:a,mode:I,...t})};import{assertNonNullish as Po,isNullish as yo}from"@dfinity/utils";import{JUNO_PACKAGE_MISSION_CONTROL_ID as So}from"@junobuild/config";import{isNullish as go}from"@dfinity/utils";import{JunoPackageSchema as Co}from"@junobuild/config";import*as X from"zod";var w=async({moduleId:e,...t})=>{let o=await F({...t,canisterId:e,path:"juno:package"});if(go(o))return;if(typeof o!="string")throw new Error("Unexpected metadata type to parse public custom section juno:package");return(i=>X.string().transform((a,n)=>{try{return JSON.parse(a)}catch{return n.addIssue({code:"custom",message:"Invalid JSON"}),X.never}}).pipe(Co).parse(i))(o)},Kr=async e=>(await w(e))?.version,Wr=async e=>(await w(e))?.dependencies;var Yr=async({missionControl:{missionControlId:e,...t}})=>{Po(e,"A Mission Control ID must be provided to request its version.");let o=await w({moduleId:e,...t});if(yo(o))return await Ie({missionControl:{missionControlId:e,...t}});let{name:r,version:i}=o;if(r===So)return i;throw new G};var oi=async e=>{await _(e)};import{getDeprecatedOrbiterVersionActor as ho,getOrbiterActor as le}from"@junobuild/ic-client/actor";var $e=async({orbiter:e})=>{let{version:t}=await ho(e);return t()},Z=async({orbiter:e,certified:t})=>{let{list_controllers:o}=await le({...e,certified:t});return o()},Qe=async({args:e,orbiter:t})=>{let{set_controllers:o}=await le(t);return o(e)},Ye=async({orbiter:e})=>{let{memory_size:t}=await le(e);return t()};var si=e=>Z(e),li=e=>Qe(e);var pi=e=>Ye(e);import{toPrincipal as xo}from"@junobuild/ic-client/utils";var yi=async({orbiter:e,reset:t=!1,...o})=>{let{orbiterId:r,...i}=e;if(!r)throw new Error("No orbiter principal defined.");let a=await Z({orbiter:e,certified:t}),n=q(a);await _({actor:i,canisterId:xo(r),arg:n,mode:t?z:I,reset:t,...o})};import{assertNonNullish as Ao,isNullish as Do}from"@dfinity/utils";import{JUNO_PACKAGE_ORBITER_ID as _o}from"@junobuild/config";var wi=async({orbiter:{orbiterId:e,...t}})=>{Ao(e,"An Orbiter ID must be provided to request its version.");let o=await w({moduleId:e,...t});if(Do(o))return await $e({orbiter:{orbiterId:e,...t}});let{name:r,version:i}=o;if(r===_o)return i;throw new H};import{toNullable as wo}from"@dfinity/utils";import{getDeprecatedSatelliteActor as bo,getDeprecatedSatelliteNoScopeActor as ko,getDeprecatedSatelliteVersionActor as Mo,getSatelliteActor as d}from"@junobuild/ic-client/actor";var et=async({config:e,satellite:t})=>{let{set_storage_config:o}=await d(t);return o(e)},tt=async({config:e,satellite:t})=>{let{set_db_config:o}=await d(t);return o(e)},ot=async({config:e,satellite:t})=>{let{set_auth_config:o}=await d(t);return o(e)},rt=async({config:e,satellite:t})=>{let{set_automation_config:o}=await d(t);return o(e)},it=async({satellite:e})=>{let{get_storage_config:t}=await d(e);return t()},at=async({satellite:e})=>{let{get_db_config:t}=await d(e);return t()},nt=async({satellite:e})=>{let{get_auth_config:t}=await d(e);return t()},st=async({satellite:e})=>{let{get_automation_config:t}=await d(e);return t()},lt=async({satellite:e})=>{let{get_config:t}=await d(e);return t()},ct=async({satellite:e,type:t,filter:o})=>{let{list_rules:r}=await d(e);return r(t,o)},mt=async({type:e,collection:t,rule:o,satellite:r})=>{let{set_rule:i}=await d(r);return i(e,t,o)},pt=async({satellite:e})=>{let{version:t}=await Mo(e);return t()},dt=async({satellite:e})=>{let{list_controllers:t}=await bo(e);return t()},$=async({satellite:e})=>{let{list_controllers:t}=await ko(e);return t()},Q=async({satellite:e,certified:t})=>{let{list_controllers:o}=await d({...e,certified:t});return o()},ut=async({satellite:e})=>{let{list_custom_domains:t}=await d(e);return t()},ce=async({satellite:e,domainName:t,boundaryNodesId:o})=>{let{set_custom_domain:r}=await d(e);await r(t,wo(o))},ft=async({satellite:e})=>{let{memory_size:t}=await d(e);return t()},gt=async({collection:e,satellite:t})=>{let{count_collection_docs:o}=await d(t);return o(e)},Ct=async({collection:e,satellite:t})=>{let{count_collection_assets:o}=await d(t);return o(e)},Pt=async({collection:e,satellite:t})=>{let{del_docs:o}=await d(t);return o(e)},yt=async({collection:e,satellite:t})=>{let{del_assets:o}=await d(t);return o(e)},St=async({args:e,satellite:t})=>{let{set_controllers:o}=await d(t);return o(e)},ht=async({args:e,satellite:t})=>{let{del_controllers:o}=await d(t);return o(e)},xt=async({satellite:e})=>{let{del_controller_self:t}=await d(e);await t()};var vi=e=>Ct(e),Ri=e=>yt(e);import{fromNullable as N,isNullish as fe,nonNullish as ue}from"@dfinity/utils";import{fromNullable as u,isNullish as v,nonNullish as f,toNullable as P}from"@dfinity/utils";import{Principal as At}from"@icp-sdk/core/principal";import{fromNullable as me,nonNullish as M,toNullable as J}from"@dfinity/utils";var pe=e=>J(M(e)&&(M(J(e.heap))||M(J(e.stable)))?{heap:J(e.heap),stable:J(e.stable)}:void 0),de=e=>{let t=me(e),o=me(t?.heap??[]),r=me(t?.stable??[]);return{...M(t)&&(M(o)||M(r))&&{maxMemorySize:{...M(o)&&{heap:o},...M(r)&&{stable:r}}}}};var Dt=({headers:e,rewrites:t,redirects:o,iframe:r,rawAccess:i,maxMemorySize:a,version:n})=>{let s=(e??[]).map(({source:p,headers:C})=>[p,C]),l=(t??[]).map(({source:p,destination:C})=>[p,C]),c=(o??[]).map(({source:p,location:C,code:S})=>[p,{status_code:S,location:C}]);return{headers:s,rewrites:l,redirects:[c],iframe:[r==="same-origin"?{SameOrigin:null}:r==="allow-any"?{AllowAny:null}:{Deny:null}],raw_access:[i===!0?{Allow:null}:{Deny:null}],max_memory_size:pe(a),version:P(n)}},Y=({redirects:e,iframe:t,version:o,raw_access:r,max_memory_size:i,headers:a,rewrites:n})=>{let s=u(e)?.map(([y,{status_code:D,...U}])=>({...U,code:D,source:y})),l=u(r),c=f(l)?"Allow"in l:void 0,m=u(t),g=f(m)?"SameOrigin"in m?"same-origin":"AllowAny"in m?"allow-any":"deny":void 0,p=de(i),C=a.map(([y,D])=>({source:y,headers:D})),S=n.map(([y,D])=>({source:y,destination:D}));return{...C.length>0&&{headers:C},...S.length>0&&{rewrites:S},...f(s)&&{redirects:s},...f(g)&&{iframe:g},version:u(o),...f(c)&&{rawAccess:c},...p}},_t=({maxMemorySize:e,version:t})=>({max_memory_size:pe(e),version:P(t)}),ee=({version:e,max_memory_size:t})=>({...de(t),version:u(e)}),wt=({internetIdentity:e,github:t,google:o,rules:r,version:i})=>{let a=s=>({client_id:s.clientId,delegation:v(s.delegation)?[]:[{targets:s.delegation.allowedTargets===null?[]:[(s.delegation.allowedTargets??[])?.map(l=>At.fromText(l))],max_time_to_live:P(s.delegation.sessionDuration)}]}),n=[...v(o)?[]:[[{Google:null},a(o)]],...v(t)?[]:[[{GitHub:null},a(t)]]];return{internet_identity:v(e)?[]:[{derivation_origin:P(e?.derivationOrigin),external_alternative_origins:P(e?.externalAlternativeOrigins)}],openid:n.length===0?[]:[{providers:n,observatory_id:[]}],rules:v(r)?[]:[{allowed_callers:r.allowedCallers.map(s=>At.fromText(s))}],version:P(i)}},te=({version:e,internet_identity:t,openid:o,rules:r})=>{let i=u(t),a=u(i?.derivation_origin??[]),n=u(i?.external_alternative_origins??[]),s=p=>{let C=u(p?.delegation??[]),S=f(C)&&f(C.targets)&&C.targets.length===0?null:(u(C?.targets??[])??[]).length===0?void 0:(u(C?.targets??[])??[]).map(U=>U.toText()),y=u(C?.max_time_to_live??[]);return{...(S!==void 0||f(y))&&{delegation:{...S!==void 0&&{allowedTargets:S},...f(y)&&{sessionDuration:y}}}}},l=u(o),c=l?.providers.find(([p])=>"Google"in p)?.[1],m=l?.providers.find(([p])=>"GitHub"in p)?.[1],g=u(r);return{...f(i)&&{internetIdentity:{...f(a)&&{derivationOrigin:a},...f(n)&&{externalAlternativeOrigins:n}}},...f(c)&&{google:{clientId:c.client_id,...s(c)}},...f(m)&&{github:{clientId:m.client_id,...s(m)}},...f(g)&&{rules:{allowedCallers:g.allowed_callers.map(p=>p.toText())}},version:u(e)}},bt=({github:e,version:t})=>{if(v(e))return{openid:[],version:P(t)};let{repositories:o,accessKeys:r}=e,i=new Map(o.map(({owner:n,name:s,refs:l})=>[{owner:n,name:s},{refs:(l?.length??0)>0?P(l):P()}])),a=v(r)?void 0:{scope:P(r.scope==="Write"?{Write:null}:r.scope==="Submit"?{Submit:null}:void 0),max_time_to_live:P(r.timeToLive)};return{openid:[{providers:[[{GitHub:null},{repositories:[...i],controller:P(a)}]],observatory_id:[]}],version:P(t)}},oe=({version:e,openid:t})=>{let r=u(t)?.providers.find(([c])=>"GitHub"in c)?.[1],i=(r?.repositories??[]).map(([c,m])=>({...c,...f(u(m.refs))&&{refs:u(m.refs)}})),a=u(r?.controller??[]),n=u(a?.scope??[]),s=u(a?.max_time_to_live??[]),l=f(n)||f(s);return{...f(r)&&{github:{repositories:i,...l&&{accessKeys:{...f(n)&&{scope:"Write"in n?"Write":"Submit"in n?"Submit":void 0},...f(s)&&{timeToLive:s}}}}},version:u(e)}};var Hi=async({config:e,satellite:t})=>{let o=await et({satellite:t,config:Dt(e)});return Y(o)},Vi=async({config:e,...t})=>{let o=await tt({config:_t(e),...t});return ee(o)},Ki=async({config:e,...t})=>{let o=await ot({config:wt(e),...t});return te(o)},Wi=async({config:e,...t})=>{let o=await rt({config:bt(e),...t});return oe(o)},Fi=async({satellite:e})=>{let t=await nt({satellite:e}),o=N(t);if(!fe(o))return te(o)},qi=async({satellite:e})=>{let t=await st({satellite:e}),o=N(t);if(!fe(o))return oe(o)},Xi=async({satellite:e})=>{let t=await it({satellite:e});return Y(t)},Zi=async({satellite:e})=>{let t=await at({satellite:e}),o=N(t);if(!fe(o))return ee(o)},$i=async({satellite:e})=>{let{storage:t,db:o,authentication:r,automation:i}=await lt({satellite:e}),a=N(o),n=N(r),s=N(i);return{storage:Y(t),...ue(a)&&{datastore:ee(a)},...ue(n)&&{auth:te(n)},...ue(s)&&{automation:oe(s)}}};var ea=({deprecatedNoScope:e,...t})=>(e===!0?$:Q)(t),ta=e=>St(e),oa=e=>ht(e),ra=e=>xt(e);var na=e=>gt(e),sa=e=>Pt(e);import{fromNullable as kt,nonNullish as Io}from"@dfinity/utils";var pa=async({satellite:e})=>(await ut({satellite:e})).map(([o,r])=>{let i=kt(r.version);return{domain:o,bn_id:kt(r.bn_id),created_at:r.created_at,updated_at:r.updated_at,...Io(i)&&{version:i}}}),da=({satellite:e,domains:t})=>Promise.all(t.map(({domain:o,bn_id:r})=>ce({satellite:e,domainName:o,boundaryNodesId:r}))),ua=({satellite:e,domain:t})=>ce({satellite:e,domainName:t.domain,boundaryNodesId:t.bn_id});var Ca=e=>ft(e);import{fromNullable as R,isNullish as To,nonNullish as A,toNullable as O}from"@dfinity/utils";var Mt={Db:null},It={Storage:null},Tt={Public:null},vt={Private:null},Rt={Managed:null},Ot={Controllers:null},ge={Heap:null},Ut={Stable:null},Nt=600000000n;var Ce=e=>e==="storage"?It:Mt,zt=e=>({matcher:To(e)?O():O({include_system:e.include_system})}),jt=({read:e,write:t,memory:o,maxSize:r,maxChangesPerUser:i,maxCapacity:a,version:n,mutablePermissions:s,maxTokens:l})=>({read:Lt(e),write:Lt(t),memory:A(o)?[vo(o)]:[],version:O(n),max_size:O(A(r)&&r>0n?r:void 0),max_capacity:O(A(a)&&a>0?a:void 0),max_changes_per_user:O(A(i)&&i>0?i:void 0),mutable_permissions:O(s??!0),rate_config:A(l)&&l>0n?[{max_tokens:l,time_per_token_ns:Nt}]:[]}),Pe=([e,t])=>{let{read:o,write:r,updated_at:i,created_at:a,max_size:n,max_changes_per_user:s,max_capacity:l,memory:c,mutable_permissions:m,version:g,rate_config:p}=t,C=n?.[0]??0n>0n?R(n):void 0,S=s?.[0]??!1?R(s):void 0,y=l?.[0]??!1?R(l):void 0,D=R(g),U=p?.[0]?.max_tokens??0n>0n?R(p)?.max_tokens:void 0;return{collection:e,read:Et(o),write:Et(r),memory:Ro(R(c)??ge),updatedAt:i,createdAt:a,...A(D)&&{version:D},...A(S)&&{maxChangesPerUser:S},...A(C)&&{maxSize:C},...A(y)&&{maxCapacity:y},mutablePermissions:R(m)??!0,...A(U)&&{maxTokens:U}}},Et=e=>"Public"in e?"public":"Private"in e?"private":"Managed"in e?"managed":"controllers",Lt=e=>{switch(e){case"public":return Tt;case"private":return vt;case"managed":return Rt;default:return Ot}},vo=e=>e.toLowerCase()==="heap"?ge:Ut,Ro=e=>"Heap"in e?"heap":"stable";var _a=async({type:e,satellite:t,filter:o})=>{let{items:r,...i}=await ct({satellite:t,type:Ce(e),filter:zt(o)});return{...i,items:r.map(a=>Pe(a))}},wa=async({rule:{collection:e,...t},type:o,satellite:r})=>{let i=await mt({type:Ce(o),rule:jt(t),satellite:r,collection:e});return Pe([e,i])};import{isNullish as Oo}from"@dfinity/utils";import{IDL as re}from"@icp-sdk/core/candid";import{toPrincipal as Jt}from"@junobuild/ic-client/utils";var Ua=async({satellite:e,deprecated:t,deprecatedNoScope:o,reset:r=!1,...i})=>{let{satelliteId:a,...n}=e;if(Oo(a))throw new Error("No satellite principal defined.");if(t){let m=await dt({satellite:e}),g=re.encode([re.Record({controllers:re.Vec(re.Principal)})],[{controllers:m}]);await _({actor:n,canisterId:Jt(a),arg:new Uint8Array(g),mode:r?z:I,reset:r,...i});return}let l=await(o?$:Q)({satellite:e,certified:r}),c=q(l);await _({actor:n,canisterId:Jt(a),arg:c,mode:r?z:I,reset:r,...i})};import{assertNonNullish as Bt,isNullish as Gt,nonNullish as ye}from"@dfinity/utils";import{JUNO_PACKAGE_SATELLITE_ID as ie}from"@junobuild/config";var Ha=async({satellite:{satelliteId:e,...t}})=>{Bt(e,"A Satellite ID must be provided to request its version.");let o=await w({moduleId:e,...t});if(Gt(o))return await pt({satellite:{satelliteId:e,...t}});let{name:r,version:i,dependencies:a}=o;if(r===ie)return i;let n=L({dependencies:a,dependencyId:ie});if(ye(n)){let[s,l]=n;return l}throw new E},Va=async({satellite:{satelliteId:e,...t}})=>{Bt(e,"A Satellite ID must be provided to request its version.");let o=await w({moduleId:e,...t});if(Gt(o))return await Uo({satellite:{satelliteId:e,...t}});let{name:r,dependencies:i}=o;if(r===ie)return"stock";let a=L({dependencies:i,dependencyId:ie});if(ye(a))return"extended";throw new E},Uo=async({satellite:{satelliteId:e,...t}})=>{let o=await F({...t,canisterId:e,path:"juno:build"});return ye(o)&&["stock","extended"].includes(o)?o:void 0};export{Xo as BuildTypeSchema,b as MetadataVersionSchema,ne as MetadataVersionsSchema,G as MissionControlVersionError,H as OrbiterVersionError,qt as ReleaseMetadataSchema,$o as ReleasesMetadataSchema,Xt as ReleasesSchema,E as SatelliteMissingDependencyError,We as UpgradeCodeProgressStep,B as UpgradeCodeUnchangedError,xe as blobSha256,Bo as checkUpgradeVersion,vi as countAssets,na as countDocs,Ri as deleteAssets,sa as deleteDocs,ra as deleteSatelliteControllerSelf,oa as deleteSatelliteControllers,Wo as extractBuildType,L as findJunoPackageDependency,Fi as getAuthConfig,qi as getAutomationConfig,$i as getConfig,Zi as getDatastoreConfig,w as getJunoPackage,Wr as getJunoPackageDependencies,Kr as getJunoPackageVersion,Xi as getStorageConfig,pa as listCustomDomains,lr as listMissionControlControllers,si as listOrbiterControllers,_a as listRules,ea as listSatelliteControllers,Yr as missionControlVersion,pi as orbiterMemorySize,wi as orbiterVersion,Fo as readCustomSectionJunoPackage,Va as satelliteBuildType,Ca as satelliteMemorySize,Ha as satelliteVersion,Ki as setAuthConfig,Wi as setAutomationConfig,ua as setCustomDomain,da as setCustomDomains,Vi as setDatastoreConfig,sr as setMissionControlController,li as setOrbiterControllers,wa as setRule,ta as setSatelliteControllers,nr as setSatellitesController,Hi as setStorageConfig,V as uint8ArraySha256,Jr as upgradeMissionControl,oi as upgradeModule,yi as upgradeOrbiter,Ua as upgradeSatellite};
4
4
  //# sourceMappingURL=index.mjs.map