@junobuild/admin 3.0.1 → 3.0.2

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 Ut,JUNO_PACKAGE_ORBITER_ID as Ot,JUNO_PACKAGE_SATELLITE_ID as Et}from"@junobuild/config";var v=class extends Error{constructor(){super(`Invalid dependency tree: required module ${Et} 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 ${Ot}.`)}};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 Ur=({currentVersion:e,selectedVersion:t})=>{let r=ye(e),o=ye(t),i=Se(e),a=Se(t),s=he(e),l=he(t);return r<o-1||i<a-1||s<l-1?{canUpgrade:!1}:{canUpgrade:!0}};import{isNullish as _e,nonNullish as ie}from"@dfinity/utils";import{JUNO_PACKAGE_SATELLITE_ID as xe,JunoPackageSchema as Lt}from"@junobuild/config";var jr=async({junoPackage:e,wasm:t})=>{if(_e(e))return await zt({wasm:t});let{name:r,dependencies:o}=e;if(r===xe)return"stock";let i=U({dependencies:o,dependencyId:xe});return ie(i)?"extended":void 0},zt=async({wasm:e})=>{let t=await ke({wasm:e,sectionName:"icp:public juno:build"});return ie(t)&&["stock","extended"].includes(t)?t:void 0},Jr=async({wasm:e})=>{let t=await ke({wasm:e,sectionName:"icp:public juno:package"});if(_e(t))return;let r=JSON.parse(t),{success:o,data:i}=Lt.safeParse(r);return o?i:void 0},ke=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 D from"zod";var A=D.string().refine(e=>/^\d+\.\d+\.\d+$/.test(e),{message:"Version does not match x.y.z format"}),jt=D.strictObject({tag:A,console:A,observatory:A.optional(),mission_control:A,satellite:A,orbiter:A.optional(),sputnik:A.optional()}),Jt=D.array(jt).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=D.array(A).min(1),Gr=D.strictObject({mission_controls:ae,satellites:ae,orbiters:ae,releases:Jt});import{getDeprecatedMissionControlVersionActor as Bt,getMissionControlActor as V}from"@junobuild/ic-client/actor";var Ae=async({missionControl:e})=>{let{version:t}=await Bt(e);return t()},De=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{nonNullish as Ht,toNullable as Vt}from"@dfinity/utils";import{Principal as Gt}from"@icp-sdk/core/principal";var se=({controllerId:e,profile:t})=>({controllerIds:[Gt.fromText(e)],controller:Kt(t)}),Kt=e=>({metadata:Ht(e)&&e!==""?[["profile",e]]:[],expires_at:Vt(void 0),scope:{Admin:null}});var Yr=({controllerId:e,profile:t,...r})=>Me({...r,...se({controllerId:e,profile:t})}),eo=({controllerId:e,profile:t,...r})=>Ie({...r,...se({controllerId:e,profile:t})}),to=e=>be(e);import{toPrincipal as nr}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 Ft}from"@icp-sdk/core/agent";import{Principal as Te}from"@icp-sdk/core/principal";import{useOrInitAgent as y}from"@junobuild/ic-client/actor";var Re=async({canisterId:e,actor:t})=>{let r=await y(t),{stopCanister:o}=S.create({agent:r});await o(e)},Ne=async({canisterId:e,actor:t})=>{let r=await y(t),{startCanister:o}=S.create({agent:r});await o(e)},ve=async({actor:e,code:t})=>{let r=await y(e),{installCode:o}=S.create({agent:r});return o(t)},Ue=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})},Oe=async({actor:e,chunk:t})=>{let r=await y(e),{uploadChunk:o}=S.create({agent:r});return o(t)},Ee=async({actor:e,code:t})=>{let r=await y(e),{installChunkedCode:o}=S.create({agent:r});return o(t)},Le=async({actor:e,canisterId:t})=>{let r=await y(e),{canisterStatus:o}=S.create({agent:r});return o(t)},K=async({canisterId:e,path:t,...r})=>{let o=await y(r),i=globalThis.console.warn;globalThis.console.warn=()=>null;let a=await Ft.request({canisterId:e instanceof Te?e:Te.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 y(e),{listCanisterSnapshots:o}=S.create({agent:r});return o({canisterId:t})},je=async({actor:e,...t})=>{let r=await y(e),{takeCanisterSnapshot:o}=S.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 Wt,nonNullish as Be,uint8ArrayToHexString as Xt}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 s=await Zt({wasmModule:o}),{uploadChunks:l,storedChunks:n,preClearChunks:m,postClearChunks:f}=await $t({actor:e,wasmChunks:s,canisterId:t,missionControlId:r});m&&await G({actor:e,canisterId:t});let p=[];for await(let c of Qt({uploadChunks:l,actor:e,canisterId:t,missionControlId:r}))p=[...p,...c];await Ee({actor:e,code:{...a,chunkHashesList:[...p,...n].sort(({orderId:c},{orderId:d})=>c-d).map(({chunkHash:c})=>c),targetCanisterId:t,storeCanisterId:r,wasmModuleHash:await H(o)}}),f&&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 s=t.slice(a,a+o);r.push({chunk:s,orderId:i,sha256:await Pe(s)}),i++}return r},$t=async({canisterId:e,missionControlId:t,actor:r,wasmChunks:o})=>{let i=await Ue({actor:r,canisterId:t??e}),a=i.map(({hash:n})=>({chunkHash:{hash:n},sha256:Xt(n)})),{storedChunks:s,uploadChunks:l}=o.reduce(({uploadChunks:n,storedChunks:m},{sha256:f,...p})=>{let c=a.find(({sha256:d})=>d===f);return{uploadChunks:[...n,...Be(c)?[]:[{sha256:f,...p}]],storedChunks:[...m,...Be(c)?[{...p,...c}]:[]]}},{uploadChunks:[],storedChunks:[]});return{uploadChunks:l,storedChunks:s,preClearChunks:i.length>0&&s.length===0,postClearChunks:Wt(t)}};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(s=>Yt({uploadChunk:s,...r})))}}var Yt=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 ve({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 Re({canisterId:t,actor:r}),onProgress:o,step:1});try{await E({fn:async()=>i?await sr({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 Ne({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 Le({actor:e,canisterId:t}),a=tr(i);if(rr(a))return;let s=await H(r),l=or(a);if(s===l)throw new j},ar=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})},sr=async e=>{let t=await ze(e);await je({...e,snapshotId:t?.[0]?.id})};import{IDL as I}from"@icp-sdk/core/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 Uo=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=Ge(r);await x({actor:i,canisterId:nr(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 _=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,s)=>{try{return JSON.parse(a)}catch{return s.addIssue({code:"custom",message:"Invalid JSON"}),q.never}}).pipe(cr).parse(i))(r)},jo=async e=>(await _(e))?.version,Jo=async e=>(await _(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 _({moduleId:e,...t});if(pr(r))return await Ae({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 Ke}from"@junobuild/ic-client/actor";var Fe=async({orbiter:e})=>{let{version:t}=await ur(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 fr}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}),s=F(a);await x({actor:i,canisterId:fr(o),arg:s,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 yi=async({orbiter:{orbiterId:e,...t}})=>{gr(e,"An Orbiter ID must be provided to request its version.");let r=await _({moduleId:e,...t});if(Cr(r))return await Fe({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 u}from"@junobuild/ic-client/actor";var We=async({config:e,satellite:t})=>{let{set_storage_config:r}=await u(t);return r(e)},Xe=async({config:e,satellite:t})=>{let{set_db_config:r}=await u(t);return r(e)},Ze=async({config:e,satellite:t})=>{let{set_auth_config:r}=await u(t);return r(e)},$e=async({satellite:e})=>{let{get_storage_config:t}=await u(e);return t()},Qe=async({satellite:e})=>{let{get_db_config:t}=await u(e);return t()},Ye=async({satellite:e})=>{let{get_auth_config:t}=await u(e);return t()},et=async({satellite:e})=>{let{get_config:t}=await u(e);return t()},tt=async({satellite:e,type:t,filter:r})=>{let{list_rules:o}=await u(e);return o(t,r)},rt=async({type:e,collection:t,rule:r,satellite:o})=>{let{set_rule:i}=await u(o);return i(e,t,r)},ot=async({satellite:e})=>{let{version:t}=await xr(e);return t()},it=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 u({...e,certified:t});return r()},at=async({satellite:e})=>{let{list_custom_domains:t}=await u(e);return t()},ne=async({satellite:e,domainName:t,boundaryNodesId:r})=>{let{set_custom_domain:o}=await u(e);await o(t,yr(r))},st=async({satellite:e})=>{let{memory_size:t}=await u(e);return t()},nt=async({collection:e,satellite:t})=>{let{count_collection_docs:r}=await u(t);return r(e)},lt=async({collection:e,satellite:t})=>{let{count_collection_assets:r}=await u(t);return r(e)},ct=async({collection:e,satellite:t})=>{let{del_docs:r}=await u(t);return r(e)},mt=async({collection:e,satellite:t})=>{let{del_assets:r}=await u(t);return r(e)},pt=async({args:e,satellite:t})=>{let{set_controllers:r}=await u(t);return r(e)};var wi=e=>lt(e),Ai=e=>mt(e);import{fromNullable as te,isNullish as Pt,nonNullish as Ct}from"@dfinity/utils";import{fromNullable as g,isNullish as $,nonNullish as C,toNullable as N}from"@dfinity/utils";import{Principal as dt}from"@icp-sdk/core/principal";import{fromNullable as le,nonNullish as b,toNullable as L}from"@dfinity/utils";var ce=e=>L(b(e)&&(b(L(e.heap))||b(L(e.stable)))?{heap:L(e.heap),stable:L(e.stable)}:void 0),me=e=>{let t=le(e),r=le(t?.heap??[]),o=le(t?.stable??[]);return{...b(t)&&(b(r)||b(o))&&{maxMemorySize:{...b(r)&&{heap:r},...b(o)&&{stable:o}}}}};var ut=({headers:e,rewrites:t,redirects:r,iframe:o,rawAccess:i,maxMemorySize:a,version:s})=>{let l=(e??[]).map(({source:c,headers:d})=>[c,d]),n=(t??[]).map(({source:c,destination:d})=>[c,d]),m=(r??[]).map(({source:c,location:d,code:P})=>[c,{status_code:P,location:d}]);return{headers:l,rewrites:n,redirects:[m],iframe:[o==="same-origin"?{SameOrigin:null}:o==="allow-any"?{AllowAny:null}:{Deny:null}],raw_access:[i===!0?{Allow:null}:{Deny:null}],max_memory_size:ce(a),version:N(s)}},Q=({redirects:e,iframe:t,version:r,raw_access:o,max_memory_size:i,headers:a,rewrites:s})=>{let l=g(e)?.map(([k,{status_code:w,...z}])=>({...z,code:w,source:k})),n=g(o),m=C(n)?"Allow"in n:void 0,f=g(t),p=C(f)?"SameOrigin"in f?"same-origin":"AllowAny"in f?"allow-any":"deny":void 0,c=me(i),d=a.map(([k,w])=>({source:k,headers:w})),P=s.map(([k,w])=>({source:k,destination:w}));return{...d.length>0&&{headers:d},...P.length>0&&{rewrites:P},...C(l)&&{redirects:l},...C(p)&&{iframe:p},version:g(r),...C(m)&&{rawAccess:m},...c}},ft=({maxMemorySize:e,version:t})=>({max_memory_size:ce(e),version:N(t)}),Y=({version:e,max_memory_size:t})=>({...me(t),version:g(e)}),gt=({internetIdentity:e,google:t,rules:r,version:o})=>({internet_identity:$(e)?[]:[{derivation_origin:N(e?.derivationOrigin),external_alternative_origins:N(e?.externalAlternativeOrigins)}],openid:$(t)?[]:[{providers:[[{Google:null},{client_id:t.clientId,delegation:$(t.delegation)?[]:[{targets:t.delegation.allowedTargets===null?[]:[(t.delegation.allowedTargets??[])?.map(i=>dt.fromText(i))],max_time_to_live:N(t.delegation.sessionDuration)}]}]],observatory_id:[]}],rules:$(r)?[]:[{allowed_callers:r.allowedCallers.map(i=>dt.fromText(i))}],version:N(o)}),ee=({version:e,internet_identity:t,openid:r,rules:o})=>{let i=g(t),a=g(i?.derivation_origin??[]),s=g(i?.external_alternative_origins??[]),n=g(r)?.providers.find(([P])=>"Google"in P)?.[1],m=g(n?.delegation??[]),f=C(m)&&C(m.targets)&&m.targets.length===0?null:(g(m?.targets??[])??[]).length===0?void 0:(g(m?.targets??[])??[]).map(P=>P.toText()),p=g(m?.max_time_to_live??[]),c=f!==void 0||C(p),d=g(o);return{...C(i)&&{internetIdentity:{...C(a)&&{derivationOrigin:a},...C(s)&&{externalAlternativeOrigins:s}}},...C(n)&&{google:{clientId:n.client_id,...c&&{delegation:{...f!==void 0&&{allowedTargets:f},...C(p)&&{sessionDuration:p}}}}},...C(d)&&{rules:{allowedCallers:d.allowed_callers.map(P=>P.toText())}},version:g(e)}};var Ei=async({config:e,satellite:t})=>{let r=await We({satellite:t,config:ut(e)});return Q(r)},Li=async({config:e,...t})=>{let r=await Xe({config:ft(e),...t});return Y(r)},zi=async({config:e,...t})=>{let r=await Ze({config:gt(e),...t});return ee(r)},ji=async({satellite:e})=>{let t=await Ye({satellite:e}),r=te(t);if(!Pt(r))return ee(r)},Ji=async({satellite:e})=>{let t=await $e({satellite:e});return Q(t)},Bi=async({satellite:e})=>{let t=await Qe({satellite:e}),r=te(t);if(!Pt(r))return Y(r)},Hi=async({satellite:e})=>{let{storage:t,db:r,authentication:o}=await et({satellite:e}),i=te(r),a=te(o);return{storage:Q(t),...Ct(i)&&{datastore:Y(i)},...Ct(a)&&{auth:ee(a)}}};var Ki=({deprecatedNoScope:e,...t})=>(e===!0?X:Z)(t),Fi=e=>pt(e);var Xi=e=>nt(e),Zi=e=>ct(e);import{fromNullable as yt,nonNullish as _r}from"@dfinity/utils";var ea=async({satellite:e})=>(await at({satellite:e})).map(([r,o])=>{let i=yt(o.version);return{domain:r,bn_id:yt(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=>st(e);import{fromNullable as T,isNullish as kr,nonNullish as h,toNullable as R}from"@dfinity/utils";var St={Db:null},ht={Storage:null},xt={Public:null},_t={Private:null},kt={Managed:null},wt={Controllers:null},pe={Heap:null},At={Stable:null},Dt=600000000n;var de=e=>e==="storage"?ht:St,It=e=>({matcher:kr(e)?R():R({include_system:e.include_system})}),Tt=({read:e,write:t,memory:r,maxSize:o,maxChangesPerUser:i,maxCapacity:a,version:s,mutablePermissions:l,maxTokens:n})=>({read:Mt(e),write:Mt(t),memory:h(r)?[wr(r)]:[],version:R(s),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(l??!0),rate_config:h(n)&&n>0n?[{max_tokens:n,time_per_token_ns:Dt}]:[]}),ue=([e,t])=>{let{read:r,write:o,updated_at:i,created_at:a,max_size:s,max_changes_per_user:l,max_capacity:n,memory:m,mutable_permissions:f,version:p,rate_config:c}=t,d=s?.[0]??0n>0n?T(s):void 0,P=l?.[0]??!1?T(l):void 0,k=n?.[0]??!1?T(n):void 0,w=T(p),z=c?.[0]?.max_tokens??0n>0n?T(c)?.max_tokens:void 0;return{collection:e,read:bt(r),write:bt(o),memory:Ar(T(m)??pe),updatedAt:i,createdAt:a,...h(w)&&{version:w},...h(P)&&{maxChangesPerUser:P},...h(d)&&{maxSize:d},...h(k)&&{maxCapacity:k},mutablePermissions:T(f)??!0,...h(z)&&{maxTokens:z}}},bt=e=>"Public"in e?"public":"Private"in e?"private":"Managed"in e?"managed":"controllers",Mt=e=>{switch(e){case"public":return xt;case"private":return _t;case"managed":return kt;default:return wt}},wr=e=>{switch(e.toLowerCase()){case"heap":return pe;default:return At}},Ar=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:It(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:Tt(t),satellite:o,collection:e});return ue([e,i])};import{isNullish as Dr}from"@dfinity/utils";import{IDL as re}from"@icp-sdk/core/candid";import{toPrincipal as Rt}from"@junobuild/ic-client/utils";var ka=async({satellite:e,deprecated:t,deprecatedNoScope:r,reset:o=!1,...i})=>{let{satelliteId:a,...s}=e;if(Dr(a))throw new Error("No satellite principal defined.");if(t){let f=await it({satellite:e}),p=re.encode([re.Record({controllers:re.Vec(re.Principal)})],[{controllers:f}]);await x({actor:s,canisterId:Rt(a),arg:new Uint8Array(p),mode:o?O:M,reset:o,...i});return}let n=await(r?X:Z)({satellite:e,certified:o}),m=F(n);await x({actor:s,canisterId:Rt(a),arg:m,mode:o?O:M,reset:o,...i})};import{assertNonNullish as Nt,isNullish as vt,nonNullish as fe}from"@dfinity/utils";import{JUNO_PACKAGE_SATELLITE_ID as oe}from"@junobuild/config";var Na=async({satellite:{satelliteId:e,...t}})=>{Nt(e,"A Satellite ID must be provided to request its version.");let r=await _({moduleId:e,...t});if(vt(r))return await ot({satellite:{satelliteId:e,...t}});let{name:o,version:i,dependencies:a}=r;if(o===oe)return i;let s=U({dependencies:a,dependencyId:oe});if(fe(s)){let[l,n]=s;return n}throw new v},va=async({satellite:{satelliteId:e,...t}})=>{Nt(e,"A Satellite ID must be provided to request its version.");let r=await _({moduleId:e,...t});if(vt(r))return await br({satellite:{satelliteId:e,...t}});let{name:o,dependencies:i}=r;if(o===oe)return"stock";let a=U({dependencies:i,dependencyId:oe});if(fe(a))return"extended";throw new v},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,A as MetadataVersionSchema,ae as MetadataVersionsSchema,J as MissionControlVersionError,B as OrbiterVersionError,jt as ReleaseMetadataSchema,Gr as ReleasesMetadataSchema,Jt as ReleasesSchema,v as SatelliteMissingDependencyError,Je as UpgradeCodeProgressStep,j as UpgradeCodeUnchangedError,Pe as blobSha256,Ur as checkUpgradeVersion,wi as countAssets,Xi as countDocs,Ai as deleteAssets,Zi as deleteDocs,jr as extractBuildType,U as findJunoPackageDependency,ji as getAuthConfig,Hi as getConfig,Bi as getDatastoreConfig,_ 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,va 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,Uo as upgradeMissionControl,Zo as upgradeModule,pi as upgradeOrbiter,ka as upgradeSatellite};
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 vt,JUNO_PACKAGE_ORBITER_ID as Ot,JUNO_PACKAGE_SATELLITE_ID as Et}from"@junobuild/config";var U=class extends Error{constructor(){super(`Invalid dependency tree: required module ${Et} is missing.`)}},J=class extends Error{constructor(){super(`Invalid package: the provided module name is not ${vt}.`)}},B=class extends Error{constructor(){super(`Invalid package: the provided module name is not ${Ot}.`)}};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 v=({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),s=he(e),l=he(t);return r<o-1||i<a-1||s<l-1?{canUpgrade:!1}:{canUpgrade:!0}};import{isNullish as _e,nonNullish as ie}from"@dfinity/utils";import{JUNO_PACKAGE_SATELLITE_ID as xe,JunoPackageSchema as Lt}from"@junobuild/config";var jr=async({junoPackage:e,wasm:t})=>{if(_e(e))return await zt({wasm:t});let{name:r,dependencies:o}=e;if(r===xe)return"stock";let i=v({dependencies:o,dependencyId:xe});return ie(i)?"extended":void 0},zt=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}=Lt.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 ke from"zod";var Hr=ke.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"}),jt=D.strictObject({tag:w,console:w,observatory:w.optional(),mission_control:w,satellite:w,orbiter:w.optional(),sputnik:w.optional()}),Jt=D.array(jt).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=D.array(w).min(1),Gr=D.strictObject({mission_controls:ae,satellites:ae,orbiters:ae,releases:Jt});import{getDeprecatedMissionControlVersionActor as Bt,getMissionControlActor as V}from"@junobuild/ic-client/actor";var we=async({missionControl:e})=>{let{version:t}=await Bt(e);return t()},De=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{nonNullish as Ht,toNullable as Vt}from"@dfinity/utils";import{Principal as Gt}from"@icp-sdk/core/principal";var se=({controllerId:e,profile:t})=>({controllerIds:[Gt.fromText(e)],controller:Kt(t)}),Kt=e=>({metadata:Ht(e)&&e!==""?[["profile",e]]:[],expires_at:Vt(void 0),scope:{Admin:null}});var Yr=({controllerId:e,profile:t,...r})=>Me({...r,...se({controllerId:e,profile:t})}),eo=({controllerId:e,profile:t,...r})=>Ie({...r,...se({controllerId:e,profile:t})}),to=e=>be(e);import{toPrincipal as nr}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 Ft}from"@icp-sdk/core/agent";import{Principal as Te}from"@icp-sdk/core/principal";import{useOrInitAgent as y}from"@junobuild/ic-client/actor";var Re=async({canisterId:e,actor:t})=>{let r=await y(t),{stopCanister:o}=S.create({agent:r});await o(e)},Ne=async({canisterId:e,actor:t})=>{let r=await y(t),{startCanister:o}=S.create({agent:r});await o(e)},Ue=async({actor:e,code:t})=>{let r=await y(e),{installCode:o}=S.create({agent:r});return o(t)},ve=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})},Oe=async({actor:e,chunk:t})=>{let r=await y(e),{uploadChunk:o}=S.create({agent:r});return o(t)},Ee=async({actor:e,code:t})=>{let r=await y(e),{installChunkedCode:o}=S.create({agent:r});return o(t)},Le=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 Ft.request({canisterId:e instanceof Te?e:Te.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 y(e),{listCanisterSnapshots:o}=S.create({agent:r});return o({canisterId:t})},je=async({actor:e,...t})=>{let r=await y(e),{takeCanisterSnapshot:o}=S.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 Wt,nonNullish as Be,uint8ArrayToHexString as Xt}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 s=await Zt({wasmModule:o}),{uploadChunks:l,storedChunks:n,preClearChunks:m,postClearChunks:f}=await $t({actor:e,wasmChunks:s,canisterId:t,missionControlId:r});m&&await G({actor:e,canisterId:t});let p=[];for await(let c of Qt({uploadChunks:l,actor:e,canisterId:t,missionControlId:r}))p=[...p,...c];await Ee({actor:e,code:{...a,chunkHashesList:[...p,...n].sort(({orderId:c},{orderId:d})=>c-d).map(({chunkHash:c})=>c),targetCanisterId:t,storeCanisterId:r,wasmModuleHash:await H(o)}}),f&&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 s=t.slice(a,a+o);r.push({chunk:s,orderId:i,sha256:await Pe(s)}),i++}return r},$t=async({canisterId:e,missionControlId:t,actor:r,wasmChunks:o})=>{let i=await ve({actor:r,canisterId:t??e}),a=i.map(({hash:n})=>({chunkHash:{hash:n},sha256:Xt(n)})),{storedChunks:s,uploadChunks:l}=o.reduce(({uploadChunks:n,storedChunks:m},{sha256:f,...p})=>{let c=a.find(({sha256:d})=>d===f);return{uploadChunks:[...n,...Be(c)?[]:[{sha256:f,...p}]],storedChunks:[...m,...Be(c)?[{...p,...c}]:[]]}},{uploadChunks:[],storedChunks:[]});return{uploadChunks:l,storedChunks:s,preClearChunks:i.length>0&&s.length===0,postClearChunks:Wt(t)}};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(s=>Yt({uploadChunk:s,...r})))}}var Yt=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 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 Re({canisterId:t,actor:r}),onProgress:o,step:1});try{await E({fn:async()=>i?await sr({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 Ne({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 Le({actor:e,canisterId:t}),a=tr(i);if(rr(a))return;let s=await H(r),l=or(a);if(s===l)throw new j},ar=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})},sr=async e=>{let t=await ze(e);await je({...e,snapshotId:t?.[0]?.id})};import{IDL as I}from"@icp-sdk/core/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 De({missionControl:e}),{missionControlId:o,...i}=e;if(!o)throw new Error("No mission control principal defined.");let a=Ge(r);await x({actor:i,canisterId:nr(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 _=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,s)=>{try{return JSON.parse(a)}catch{return s.addIssue({code:"custom",message:"Invalid JSON"}),q.never}}).pipe(cr).parse(i))(r)},jo=async e=>(await _(e))?.version,Jo=async e=>(await _(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 _({moduleId:e,...t});if(pr(r))return await we({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 Ke}from"@junobuild/ic-client/actor";var Fe=async({orbiter:e})=>{let{version:t}=await ur(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 fr}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}),s=F(a);await x({actor:i,canisterId:fr(o),arg:s,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 yi=async({orbiter:{orbiterId:e,...t}})=>{gr(e,"An Orbiter ID must be provided to request its version.");let r=await _({moduleId:e,...t});if(Cr(r))return await Fe({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 u}from"@junobuild/ic-client/actor";var We=async({config:e,satellite:t})=>{let{set_storage_config:r}=await u(t);return r(e)},Xe=async({config:e,satellite:t})=>{let{set_db_config:r}=await u(t);return r(e)},Ze=async({config:e,satellite:t})=>{let{set_auth_config:r}=await u(t);return r(e)},$e=async({satellite:e})=>{let{get_storage_config:t}=await u(e);return t()},Qe=async({satellite:e})=>{let{get_db_config:t}=await u(e);return t()},Ye=async({satellite:e})=>{let{get_auth_config:t}=await u(e);return t()},et=async({satellite:e})=>{let{get_config:t}=await u(e);return t()},tt=async({satellite:e,type:t,filter:r})=>{let{list_rules:o}=await u(e);return o(t,r)},rt=async({type:e,collection:t,rule:r,satellite:o})=>{let{set_rule:i}=await u(o);return i(e,t,r)},ot=async({satellite:e})=>{let{version:t}=await xr(e);return t()},it=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 u({...e,certified:t});return r()},at=async({satellite:e})=>{let{list_custom_domains:t}=await u(e);return t()},ne=async({satellite:e,domainName:t,boundaryNodesId:r})=>{let{set_custom_domain:o}=await u(e);await o(t,yr(r))},st=async({satellite:e})=>{let{memory_size:t}=await u(e);return t()},nt=async({collection:e,satellite:t})=>{let{count_collection_docs:r}=await u(t);return r(e)},lt=async({collection:e,satellite:t})=>{let{count_collection_assets:r}=await u(t);return r(e)},ct=async({collection:e,satellite:t})=>{let{del_docs:r}=await u(t);return r(e)},mt=async({collection:e,satellite:t})=>{let{del_assets:r}=await u(t);return r(e)},pt=async({args:e,satellite:t})=>{let{set_controllers:r}=await u(t);return r(e)};var ki=e=>lt(e),wi=e=>mt(e);import{fromNullable as te,isNullish as Pt,nonNullish as Ct}from"@dfinity/utils";import{fromNullable as g,isNullish as $,nonNullish as C,toNullable as N}from"@dfinity/utils";import{Principal as dt}from"@icp-sdk/core/principal";import{fromNullable as le,nonNullish as b,toNullable as L}from"@dfinity/utils";var ce=e=>L(b(e)&&(b(L(e.heap))||b(L(e.stable)))?{heap:L(e.heap),stable:L(e.stable)}:void 0),me=e=>{let t=le(e),r=le(t?.heap??[]),o=le(t?.stable??[]);return{...b(t)&&(b(r)||b(o))&&{maxMemorySize:{...b(r)&&{heap:r},...b(o)&&{stable:o}}}}};var ut=({headers:e,rewrites:t,redirects:r,iframe:o,rawAccess:i,maxMemorySize:a,version:s})=>{let l=(e??[]).map(({source:c,headers:d})=>[c,d]),n=(t??[]).map(({source:c,destination:d})=>[c,d]),m=(r??[]).map(({source:c,location:d,code:P})=>[c,{status_code:P,location:d}]);return{headers:l,rewrites:n,redirects:[m],iframe:[o==="same-origin"?{SameOrigin:null}:o==="allow-any"?{AllowAny:null}:{Deny:null}],raw_access:[i===!0?{Allow:null}:{Deny:null}],max_memory_size:ce(a),version:N(s)}},Q=({redirects:e,iframe:t,version:r,raw_access:o,max_memory_size:i,headers:a,rewrites:s})=>{let l=g(e)?.map(([A,{status_code:k,...z}])=>({...z,code:k,source:A})),n=g(o),m=C(n)?"Allow"in n:void 0,f=g(t),p=C(f)?"SameOrigin"in f?"same-origin":"AllowAny"in f?"allow-any":"deny":void 0,c=me(i),d=a.map(([A,k])=>({source:A,headers:k})),P=s.map(([A,k])=>({source:A,destination:k}));return{...d.length>0&&{headers:d},...P.length>0&&{rewrites:P},...C(l)&&{redirects:l},...C(p)&&{iframe:p},version:g(r),...C(m)&&{rawAccess:m},...c}},ft=({maxMemorySize:e,version:t})=>({max_memory_size:ce(e),version:N(t)}),Y=({version:e,max_memory_size:t})=>({...me(t),version:g(e)}),gt=({internetIdentity:e,google:t,rules:r,version:o})=>({internet_identity:$(e)?[]:[{derivation_origin:N(e?.derivationOrigin),external_alternative_origins:N(e?.externalAlternativeOrigins)}],openid:$(t)?[]:[{providers:[[{Google:null},{client_id:t.clientId,delegation:$(t.delegation)?[]:[{targets:t.delegation.allowedTargets===null?[]:[(t.delegation.allowedTargets??[])?.map(i=>dt.fromText(i))],max_time_to_live:N(t.delegation.sessionDuration)}]}]],observatory_id:[]}],rules:$(r)?[]:[{allowed_callers:r.allowedCallers.map(i=>dt.fromText(i))}],version:N(o)}),ee=({version:e,internet_identity:t,openid:r,rules:o})=>{let i=g(t),a=g(i?.derivation_origin??[]),s=g(i?.external_alternative_origins??[]),n=g(r)?.providers.find(([P])=>"Google"in P)?.[1],m=g(n?.delegation??[]),f=C(m)&&C(m.targets)&&m.targets.length===0?null:(g(m?.targets??[])??[]).length===0?void 0:(g(m?.targets??[])??[]).map(P=>P.toText()),p=g(m?.max_time_to_live??[]),c=f!==void 0||C(p),d=g(o);return{...C(i)&&{internetIdentity:{...C(a)&&{derivationOrigin:a},...C(s)&&{externalAlternativeOrigins:s}}},...C(n)&&{google:{clientId:n.client_id,...c&&{delegation:{...f!==void 0&&{allowedTargets:f},...C(p)&&{sessionDuration:p}}}}},...C(d)&&{rules:{allowedCallers:d.allowed_callers.map(P=>P.toText())}},version:g(e)}};var Ei=async({config:e,satellite:t})=>{let r=await We({satellite:t,config:ut(e)});return Q(r)},Li=async({config:e,...t})=>{let r=await Xe({config:ft(e),...t});return Y(r)},zi=async({config:e,...t})=>{let r=await Ze({config:gt(e),...t});return ee(r)},ji=async({satellite:e})=>{let t=await Ye({satellite:e}),r=te(t);if(!Pt(r))return ee(r)},Ji=async({satellite:e})=>{let t=await $e({satellite:e});return Q(t)},Bi=async({satellite:e})=>{let t=await Qe({satellite:e}),r=te(t);if(!Pt(r))return Y(r)},Hi=async({satellite:e})=>{let{storage:t,db:r,authentication:o}=await et({satellite:e}),i=te(r),a=te(o);return{storage:Q(t),...Ct(i)&&{datastore:Y(i)},...Ct(a)&&{auth:ee(a)}}};var Ki=({deprecatedNoScope:e,...t})=>(e===!0?X:Z)(t),Fi=e=>pt(e);var Xi=e=>nt(e),Zi=e=>ct(e);import{fromNullable as yt,nonNullish as _r}from"@dfinity/utils";var ea=async({satellite:e})=>(await at({satellite:e})).map(([r,o])=>{let i=yt(o.version);return{domain:r,bn_id:yt(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=>st(e);import{fromNullable as T,isNullish as Ar,nonNullish as h,toNullable as R}from"@dfinity/utils";var St={Db:null},ht={Storage:null},xt={Public:null},_t={Private:null},At={Managed:null},kt={Controllers:null},pe={Heap:null},wt={Stable:null},Dt=600000000n;var de=e=>e==="storage"?ht:St,It=e=>({matcher:Ar(e)?R():R({include_system:e.include_system})}),Tt=({read:e,write:t,memory:r,maxSize:o,maxChangesPerUser:i,maxCapacity:a,version:s,mutablePermissions:l,maxTokens:n})=>({read:Mt(e),write:Mt(t),memory:h(r)?[kr(r)]:[],version:R(s),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(l??!0),rate_config:h(n)&&n>0n?[{max_tokens:n,time_per_token_ns:Dt}]:[]}),ue=([e,t])=>{let{read:r,write:o,updated_at:i,created_at:a,max_size:s,max_changes_per_user:l,max_capacity:n,memory:m,mutable_permissions:f,version:p,rate_config:c}=t,d=s?.[0]??0n>0n?T(s):void 0,P=l?.[0]??!1?T(l):void 0,A=n?.[0]??!1?T(n):void 0,k=T(p),z=c?.[0]?.max_tokens??0n>0n?T(c)?.max_tokens:void 0;return{collection:e,read:bt(r),write:bt(o),memory:wr(T(m)??pe),updatedAt:i,createdAt:a,...h(k)&&{version:k},...h(P)&&{maxChangesPerUser:P},...h(d)&&{maxSize:d},...h(A)&&{maxCapacity:A},mutablePermissions:T(f)??!0,...h(z)&&{maxTokens:z}}},bt=e=>"Public"in e?"public":"Private"in e?"private":"Managed"in e?"managed":"controllers",Mt=e=>{switch(e){case"public":return xt;case"private":return _t;case"managed":return At;default:return kt}},kr=e=>{switch(e.toLowerCase()){case"heap":return pe;default:return wt}},wr=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:It(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:Tt(t),satellite:o,collection:e});return ue([e,i])};import{isNullish as Dr}from"@dfinity/utils";import{IDL as re}from"@icp-sdk/core/candid";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,...s}=e;if(Dr(a))throw new Error("No satellite principal defined.");if(t){let f=await it({satellite:e}),p=re.encode([re.Record({controllers:re.Vec(re.Principal)})],[{controllers:f}]);await x({actor:s,canisterId:Rt(a),arg:new Uint8Array(p),mode:o?O:M,reset:o,...i});return}let n=await(r?X:Z)({satellite:e,certified:o}),m=F(n);await x({actor:s,canisterId:Rt(a),arg:m,mode:o?O:M,reset:o,...i})};import{assertNonNullish as Nt,isNullish as Ut,nonNullish as fe}from"@dfinity/utils";import{JUNO_PACKAGE_SATELLITE_ID as oe}from"@junobuild/config";var Na=async({satellite:{satelliteId:e,...t}})=>{Nt(e,"A Satellite ID must be provided to request its version.");let r=await _({moduleId:e,...t});if(Ut(r))return await ot({satellite:{satelliteId:e,...t}});let{name:o,version:i,dependencies:a}=r;if(o===oe)return i;let s=v({dependencies:a,dependencyId:oe});if(fe(s)){let[l,n]=s;return n}throw new U},Ua=async({satellite:{satelliteId:e,...t}})=>{Nt(e,"A Satellite ID must be provided to request its version.");let r=await _({moduleId:e,...t});if(Ut(r))return await br({satellite:{satelliteId:e,...t}});let{name:o,dependencies:i}=r;if(o===oe)return"stock";let a=v({dependencies:i,dependencyId:oe});if(fe(a))return"extended";throw new U},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,ae as MetadataVersionsSchema,J as MissionControlVersionError,B as OrbiterVersionError,jt as ReleaseMetadataSchema,Gr as ReleasesMetadataSchema,Jt as ReleasesSchema,U as SatelliteMissingDependencyError,Je as UpgradeCodeProgressStep,j as UpgradeCodeUnchangedError,Pe as blobSha256,vr as checkUpgradeVersion,ki as countAssets,Xi as countDocs,wi as deleteAssets,Zi as deleteDocs,jr as extractBuildType,v as findJunoPackageDependency,ji as getAuthConfig,Hi as getConfig,Bi as getDatastoreConfig,_ 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};
4
4
  //# sourceMappingURL=index.mjs.map