@junobuild/admin 2.3.0-next-2025-10-14 → 2.3.1

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