@junobuild/admin 4.0.2-next-2026-02-12.1 → 4.0.2-next-2026-02-13

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 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 Gt,JUNO_PACKAGE_ORBITER_ID as Ht,JUNO_PACKAGE_SATELLITE_ID as Vt}from"@junobuild/config";var E=class extends Error{constructor(){super(`Invalid dependency tree: required module ${Vt} is missing.`)}},G=class extends Error{constructor(){super(`Invalid package: the provided module name is not ${Gt}.`)}},H=class extends Error{constructor(){super(`Invalid package: the provided module name is not ${Ht}.`)}};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 Jo=({currentVersion:e,selectedVersion:t})=>{let o=Ae(e),r=Ae(t),i=De(e),n=De(t),a=_e(e),s=_e(t);return o<r-1||i<n-1||a<s-1?{canUpgrade:!1}:{canUpgrade:!0}};import{isNullish as we,nonNullish as ne}from"@dfinity/utils";import{JUNO_PACKAGE_SATELLITE_ID as be,JunoPackageSchema as Kt}from"@junobuild/config";var Ko=async({junoPackage:e,wasm:t})=>{if(we(e))return await Wt({wasm:t});let{name:o,dependencies:r}=e;if(o===be)return"stock";let i=L({dependencies:r,dependencyId:be});return ne(i)?"extended":void 0},Wt=async({wasm:e})=>{let t=await ke({wasm:e,sectionName:"icp:public juno:build"});return ne(t)&&["stock","extended"].includes(t)?t:void 0},Wo=async({wasm:e})=>{let t=await ke({wasm:e,sectionName:"icp:public juno:package"});if(we(t))return;let o=JSON.parse(t),{success:r,data:i}=Kt.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 ne(i)?new TextDecoder().decode(i):void 0};import*as Me from"zod";var qo=Me.enum(["stock","extended"]);import*as k from"zod";var w=k.string().refine(e=>/^\d+\.\d+\.\d+$/.test(e),{message:"Version does not match x.y.z format"}),Ft=k.strictObject({tag:w,console:w,observatory:w.optional(),mission_control:w,satellite:w,orbiter:w.optional(),sputnik:w.optional()}),qt=k.array(Ft).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=k.array(w).min(1),Zo=k.strictObject({mission_controls:ae,satellites:ae,orbiters:ae,releases:qt});import{getDeprecatedMissionControlVersionActor as Xt,getMissionControlActor as K}from"@junobuild/ic-client/actor";var Ie=async({missionControl:e})=>{let{version:t}=await Xt(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 Zt,toNullable as Ue}from"@dfinity/utils";import{Principal as $t}from"@icp-sdk/core/principal";var se=({controllerId:e,profile:t})=>({controllerIds:[$t.fromText(e)],controller:Qt(t)}),Qt=e=>({metadata:Zt(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})}),ar=({controllerId:e,profile:t,...o})=>Oe({...o,...se({controllerId:e,profile:t})}),sr=e=>ve(e);import{toPrincipal as uo}from"@junobuild/ic-client/utils";var z={reinstall:null},I={upgrade:[{skip_pre_upgrade:[!1],wasm_memory_persistence:[{replace:null}]}]};import{fromNullable as ao,isNullish as so,uint8ArrayToHexString as lo}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 n=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,n.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=(n=>(n[n.AssertingExistingCode=0]="AssertingExistingCode",n[n.StoppingCanister=1]="StoppingCanister",n[n.TakingSnapshot=2]="TakingSnapshot",n[n.UpgradingCode=3]="UpgradingCode",n[n.RestartingCanister=4]="RestartingCanister",n))(We||{});import{nonNullish as Fe,uint8ArrayToHexString as eo}from"@dfinity/utils";var qe=async({actor:e,canisterId:t,wasmModule:o,preClearChunks:r,...i})=>{r&&await W({actor:e,canisterId:t});let n=await to({wasmModule:o}),{uploadChunks:a,storedChunks:s,preClearChunks:l,postClearChunks:c}=await oo({actor:e,wasmChunks:n,canisterId:t});l&&await W({actor:e,canisterId:t});let m=[];for await(let g of ro({uploadChunks:a,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})},to=async({wasmModule:e})=>{let t=new Blob([e]),o=[],r=1e6,i=0;for(let n=0;n<t.size;n+=r){let a=t.slice(n,n+r);o.push({chunk:a,orderId:i,sha256:await xe(a)}),i++}return o},oo=async({canisterId:e,actor:t,wasmChunks:o})=>{let r=await Je({actor:t,canisterId:e}),i=r.map(({hash:s})=>({chunkHash:{hash:s},sha256:eo(s)})),{storedChunks:n,uploadChunks:a}=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:a,storedChunks:n,preClearChunks:r.length>0&&n.length===0,postClearChunks:!0}};async function*ro({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(a=>io({uploadChunk:a,...o})))}}var io=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,...n})=>{await j({fn:async()=>await co({wasmModule:e,canisterId:t,actor:o,...n}),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 po({canisterId:t,actor:o}):Promise.resolve(),onProgress:r,step:2}),await j({fn:async()=>await mo({wasmModule:e,canisterId:t,actor:o,...n}),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}},co=async({actor:e,canisterId:t,wasmModule:o,reset:r})=>{if(r===!0)return;let{module_hash:i}=await He({actor:e,canisterId:t}),n=ao(i);if(so(n))return;let a=await V(o),s=lo(n);if(a===s)throw new B},mo=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})},po=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 n=Ze(o);await _({actor:i,canisterId:uo(r),arg:n,mode:I,...t})};import{assertNonNullish as Co,isNullish as Po}from"@dfinity/utils";import{JUNO_PACKAGE_MISSION_CONTROL_ID as yo}from"@junobuild/config";import{isNullish as fo}from"@dfinity/utils";import{JunoPackageSchema as go}from"@junobuild/config";import*as X from"zod";var b=async({moduleId:e,...t})=>{let o=await F({...t,canisterId:e,path:"juno:package"});if(fo(o))return;if(typeof o!="string")throw new Error("Unexpected metadata type to parse public custom section juno:package");return(i=>X.string().transform((n,a)=>{try{return JSON.parse(n)}catch{return a.addIssue({code:"custom",message:"Invalid JSON"}),X.never}}).pipe(go).parse(i))(o)},Vr=async e=>(await b(e))?.version,Kr=async e=>(await b(e))?.dependencies;var Qr=async({missionControl:{missionControlId:e,...t}})=>{Co(e,"A Mission Control ID must be provided to request its version.");let o=await b({moduleId:e,...t});if(Po(o))return await Ie({missionControl:{missionControlId:e,...t}});let{name:r,version:i}=o;if(r===yo)return i;throw new G};var ti=async e=>{await _(e)};import{getDeprecatedOrbiterVersionActor as So,getOrbiterActor as le}from"@junobuild/ic-client/actor";var $e=async({orbiter:e})=>{let{version:t}=await So(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 ai=e=>Z(e),si=e=>Qe(e);var mi=e=>Ye(e);import{toPrincipal as ho}from"@junobuild/ic-client/utils";var Pi=async({orbiter:e,reset:t=!1,...o})=>{let{orbiterId:r,...i}=e;if(!r)throw new Error("No orbiter principal defined.");let n=await Z({orbiter:e,certified:t}),a=q(n);await _({actor:i,canisterId:ho(r),arg:a,mode:t?z:I,reset:t,...o})};import{assertNonNullish as xo,isNullish as Ao}from"@dfinity/utils";import{JUNO_PACKAGE_ORBITER_ID as Do}from"@junobuild/config";var _i=async({orbiter:{orbiterId:e,...t}})=>{xo(e,"An Orbiter ID must be provided to request its version.");let o=await b({moduleId:e,...t});if(Ao(o))return await $e({orbiter:{orbiterId:e,...t}});let{name:r,version:i}=o;if(r===Do)return i;throw new H};import{toNullable as _o}from"@dfinity/utils";import{getDeprecatedSatelliteActor as bo,getDeprecatedSatelliteNoScopeActor as wo,getDeprecatedSatelliteVersionActor as ko,getSatelliteActor as u}from"@junobuild/ic-client/actor";var et=async({config:e,satellite:t})=>{let{set_storage_config:o}=await u(t);return o(e)},tt=async({config:e,satellite:t})=>{let{set_db_config:o}=await u(t);return o(e)},ot=async({config:e,satellite:t})=>{let{set_auth_config:o}=await u(t);return o(e)},rt=async({config:e,satellite:t})=>{let{set_automation_config:o}=await u(t);return o(e)},it=async({satellite:e})=>{let{get_storage_config:t}=await u(e);return t()},nt=async({satellite:e})=>{let{get_db_config:t}=await u(e);return t()},at=async({satellite:e})=>{let{get_auth_config:t}=await u(e);return t()},st=async({satellite:e})=>{let{get_automation_config:t}=await u(e);return t()},lt=async({satellite:e})=>{let{get_config:t}=await u(e);return t()},ct=async({satellite:e,type:t,filter:o})=>{let{list_rules:r}=await u(e);return r(t,o)},mt=async({type:e,collection:t,rule:o,satellite:r})=>{let{set_rule:i}=await u(r);return i(e,t,o)},pt=async({satellite:e})=>{let{version:t}=await ko(e);return t()},dt=async({satellite:e})=>{let{list_controllers:t}=await bo(e);return t()},$=async({satellite:e})=>{let{list_controllers:t}=await wo(e);return t()},Q=async({satellite:e,certified:t})=>{let{list_controllers:o}=await u({...e,certified:t});return o()},ut=async({satellite:e})=>{let{list_custom_domains:t}=await u(e);return t()},ce=async({satellite:e,domainName:t,boundaryNodesId:o})=>{let{set_custom_domain:r}=await u(e);await r(t,_o(o))},ft=async({satellite:e})=>{let{memory_size:t}=await u(e);return t()},gt=async({collection:e,satellite:t})=>{let{count_collection_docs:o}=await u(t);return o(e)},Ct=async({collection:e,satellite:t})=>{let{count_collection_assets:o}=await u(t);return o(e)},Pt=async({collection:e,satellite:t})=>{let{del_docs:o}=await u(t);return o(e)},yt=async({collection:e,satellite:t})=>{let{del_assets:o}=await u(t);return o(e)},St=async({args:e,satellite:t})=>{let{set_controllers:o}=await u(t);return o(e)},ht=async({args:e,satellite:t})=>{let{del_controllers:o}=await u(t);return o(e)};var Ti=e=>Ct(e),vi=e=>yt(e);import{fromNullable as N,isNullish as fe,nonNullish as ue}from"@dfinity/utils";import{fromNullable as d,isNullish as v,nonNullish as f,toNullable as P}from"@dfinity/utils";import{Principal as xt}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 At=({headers:e,rewrites:t,redirects:o,iframe:r,rawAccess:i,maxMemorySize:n,version:a})=>{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(n),version:P(a)}},Y=({redirects:e,iframe:t,version:o,raw_access:r,max_memory_size:i,headers:n,rewrites:a})=>{let s=d(e)?.map(([y,{status_code:D,...U}])=>({...U,code:D,source:y})),l=d(r),c=f(l)?"Allow"in l:void 0,m=d(t),g=f(m)?"SameOrigin"in m?"same-origin":"AllowAny"in m?"allow-any":"deny":void 0,p=de(i),C=n.map(([y,D])=>({source:y,headers:D})),S=a.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:d(o),...f(c)&&{rawAccess:c},...p}},Dt=({maxMemorySize:e,version:t})=>({max_memory_size:pe(e),version:P(t)}),ee=({version:e,max_memory_size:t})=>({...de(t),version:d(e)}),_t=({internetIdentity:e,github:t,google:o,rules:r,version:i})=>{let n=s=>({client_id:s.clientId,delegation:v(s.delegation)?[]:[{targets:s.delegation.allowedTargets===null?[]:[(s.delegation.allowedTargets??[])?.map(l=>xt.fromText(l))],max_time_to_live:P(s.delegation.sessionDuration)}]}),a=[...v(o)?[]:[[{Google:null},n(o)]],...v(t)?[]:[[{GitHub:null},n(t)]]];return{internet_identity:v(e)?[]:[{derivation_origin:P(e?.derivationOrigin),external_alternative_origins:P(e?.externalAlternativeOrigins)}],openid:a.length===0?[]:[{providers:a,observatory_id:[]}],rules:v(r)?[]:[{allowed_callers:r.allowedCallers.map(s=>xt.fromText(s))}],version:P(i)}},te=({version:e,internet_identity:t,openid:o,rules:r})=>{let i=d(t),n=d(i?.derivation_origin??[]),a=d(i?.external_alternative_origins??[]),s=p=>{let C=d(p?.delegation??[]),S=f(C)&&f(C.targets)&&C.targets.length===0?null:(d(C?.targets??[])??[]).length===0?void 0:(d(C?.targets??[])??[]).map(U=>U.toText()),y=d(C?.max_time_to_live??[]);return{...(S!==void 0||f(y))&&{delegation:{...S!==void 0&&{allowedTargets:S},...f(y)&&{sessionDuration:y}}}}},l=d(o),c=l?.providers.find(([p])=>"Google"in p)?.[1],m=l?.providers.find(([p])=>"GitHub"in p)?.[1],g=d(r);return{...f(i)&&{internetIdentity:{...f(n)&&{derivationOrigin:n},...f(a)&&{externalAlternativeOrigins:a}}},...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:d(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:a,name:s,branches:l})=>[{owner:a,name:s},{branches:(l?.length??0)>0?P(l):P()}])),n=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(n)}]],observatory_id:[]}],version:P(t)}},oe=({version:e,openid:t})=>{let r=d(t)?.providers.find(([c])=>"GitHub"in c)?.[1],i=(r?.repositories??[]).map(([c,m])=>({...c,...f(d(m.branches))&&{branches:d(m.branches)}})),n=d(r?.controller??[]),a=d(n?.scope??[]),s=d(n?.max_time_to_live??[]),l=f(a)||f(s);return{...f(r)&&{github:{repositories:i,...l&&{accessKeys:{...f(a)&&{scope:"Write"in a?"Write":"Submit"in a?"Submit":void 0},...f(s)&&{timeToLive:s}}}}},version:d(e)}};var Gi=async({config:e,satellite:t})=>{let o=await et({satellite:t,config:At(e)});return Y(o)},Hi=async({config:e,...t})=>{let o=await tt({config:Dt(e),...t});return ee(o)},Vi=async({config:e,...t})=>{let o=await ot({config:_t(e),...t});return te(o)},Ki=async({config:e,...t})=>{let o=await rt({config:bt(e),...t});return oe(o)},Wi=async({satellite:e})=>{let t=await at({satellite:e}),o=N(t);if(!fe(o))return te(o)},Fi=async({satellite:e})=>{let t=await st({satellite:e}),o=N(t);if(!fe(o))return oe(o)},qi=async({satellite:e})=>{let t=await it({satellite:e});return Y(t)},Xi=async({satellite:e})=>{let t=await nt({satellite:e}),o=N(t);if(!fe(o))return ee(o)},Zi=async({satellite:e})=>{let{storage:t,db:o,authentication:r,automation:i}=await lt({satellite:e}),n=N(o),a=N(r),s=N(i);return{storage:Y(t),...ue(n)&&{datastore:ee(n)},...ue(a)&&{auth:te(a)},...ue(s)&&{automation:oe(s)}}};var Yi=({deprecatedNoScope:e,...t})=>(e===!0?$:Q)(t),en=e=>St(e),tn=e=>ht(e);var nn=e=>gt(e),an=e=>Pt(e);import{fromNullable as wt,nonNullish as Mo}from"@dfinity/utils";var mn=async({satellite:e})=>(await ut({satellite:e})).map(([o,r])=>{let i=wt(r.version);return{domain:o,bn_id:wt(r.bn_id),created_at:r.created_at,updated_at:r.updated_at,...Mo(i)&&{version:i}}}),pn=({satellite:e,domains:t})=>Promise.all(t.map(({domain:o,bn_id:r})=>ce({satellite:e,domainName:o,boundaryNodesId:r}))),dn=({satellite:e,domain:t})=>ce({satellite:e,domainName:t.domain,boundaryNodesId:t.bn_id});var gn=e=>ft(e);import{fromNullable as R,isNullish as Io,nonNullish as A,toNullable as O}from"@dfinity/utils";var kt={Db:null},Mt={Storage:null},It={Public:null},Tt={Private:null},vt={Managed:null},Rt={Controllers:null},ge={Heap:null},Ot={Stable:null},Ut=600000000n;var Ce=e=>e==="storage"?Mt:kt,Lt=e=>({matcher:Io(e)?O():O({include_system:e.include_system})}),zt=({read:e,write:t,memory:o,maxSize:r,maxChangesPerUser:i,maxCapacity:n,version:a,mutablePermissions:s,maxTokens:l})=>({read:Et(e),write:Et(t),memory:A(o)?[To(o)]:[],version:O(a),max_size:O(A(r)&&r>0n?r:void 0),max_capacity:O(A(n)&&n>0?n: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:Ut}]:[]}),Pe=([e,t])=>{let{read:o,write:r,updated_at:i,created_at:n,max_size:a,max_changes_per_user:s,max_capacity:l,memory:c,mutable_permissions:m,version:g,rate_config:p}=t,C=a?.[0]??0n>0n?R(a):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:Nt(o),write:Nt(r),memory:vo(R(c)??ge),updatedAt:i,createdAt:n,...A(D)&&{version:D},...A(S)&&{maxChangesPerUser:S},...A(C)&&{maxSize:C},...A(y)&&{maxCapacity:y},mutablePermissions:R(m)??!0,...A(U)&&{maxTokens:U}}},Nt=e=>"Public"in e?"public":"Private"in e?"private":"Managed"in e?"managed":"controllers",Et=e=>{switch(e){case"public":return It;case"private":return Tt;case"managed":return vt;default:return Rt}},To=e=>e.toLowerCase()==="heap"?ge:Ot,vo=e=>"Heap"in e?"heap":"stable";var Dn=async({type:e,satellite:t,filter:o})=>{let{items:r,...i}=await ct({satellite:t,type:Ce(e),filter:Lt(o)});return{...i,items:r.map(n=>Pe(n))}},_n=async({rule:{collection:e,...t},type:o,satellite:r})=>{let i=await mt({type:Ce(o),rule:zt(t),satellite:r,collection:e});return Pe([e,i])};import{isNullish as Ro}from"@dfinity/utils";import{IDL as re}from"@icp-sdk/core/candid";import{toPrincipal as jt}from"@junobuild/ic-client/utils";var On=async({satellite:e,deprecated:t,deprecatedNoScope:o,reset:r=!1,...i})=>{let{satelliteId:n,...a}=e;if(Ro(n))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:a,canisterId:jt(n),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:a,canisterId:jt(n),arg:c,mode:r?z:I,reset:r,...i})};import{assertNonNullish as Jt,isNullish as Bt,nonNullish as ye}from"@dfinity/utils";import{JUNO_PACKAGE_SATELLITE_ID as ie}from"@junobuild/config";var Gn=async({satellite:{satelliteId:e,...t}})=>{Jt(e,"A Satellite ID must be provided to request its version.");let o=await b({moduleId:e,...t});if(Bt(o))return await pt({satellite:{satelliteId:e,...t}});let{name:r,version:i,dependencies:n}=o;if(r===ie)return i;let a=L({dependencies:n,dependencyId:ie});if(ye(a)){let[s,l]=a;return l}throw new E},Hn=async({satellite:{satelliteId:e,...t}})=>{Jt(e,"A Satellite ID must be provided to request its version.");let o=await b({moduleId:e,...t});if(Bt(o))return await Oo({satellite:{satelliteId:e,...t}});let{name:r,dependencies:i}=o;if(r===ie)return"stock";let n=L({dependencies:i,dependencyId:ie});if(ye(n))return"extended";throw new E},Oo=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{qo as BuildTypeSchema,w as MetadataVersionSchema,ae as MetadataVersionsSchema,G as MissionControlVersionError,H as OrbiterVersionError,Ft as ReleaseMetadataSchema,Zo as ReleasesMetadataSchema,qt as ReleasesSchema,E as SatelliteMissingDependencyError,We as UpgradeCodeProgressStep,B as UpgradeCodeUnchangedError,xe as blobSha256,Jo as checkUpgradeVersion,Ti as countAssets,nn as countDocs,vi as deleteAssets,an as deleteDocs,tn as deleteSatelliteControllers,Ko as extractBuildType,L as findJunoPackageDependency,Wi as getAuthConfig,Fi as getAutomationConfig,Zi as getConfig,Xi as getDatastoreConfig,b as getJunoPackage,Kr as getJunoPackageDependencies,Vr as getJunoPackageVersion,qi as getStorageConfig,mn as listCustomDomains,sr as listMissionControlControllers,ai as listOrbiterControllers,Dn as listRules,Yi as listSatelliteControllers,Qr as missionControlVersion,mi as orbiterMemorySize,_i as orbiterVersion,Wo as readCustomSectionJunoPackage,Hn as satelliteBuildType,gn as satelliteMemorySize,Gn as satelliteVersion,Vi as setAuthConfig,Ki as setAutomationConfig,dn as setCustomDomain,pn as setCustomDomains,Hi as setDatastoreConfig,ar as setMissionControlController,si as setOrbiterControllers,_n as setRule,en as setSatelliteControllers,nr as setSatellitesController,Gi as setStorageConfig,V as uint8ArraySha256,jr as upgradeMissionControl,ti as upgradeModule,Pi as upgradeOrbiter,On as upgradeSatellite};
1
+ 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 we,nonNullish as ae}from"@dfinity/utils";import{JUNO_PACKAGE_SATELLITE_ID as be,JunoPackageSchema as Wt}from"@junobuild/config";var Wo=async({junoPackage:e,wasm:t})=>{if(we(e))return await Ft({wasm:t});let{name:o,dependencies:r}=e;if(o===be)return"stock";let i=L({dependencies:r,dependencyId:be});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(we(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 w=k.string().refine(e=>/^\d+\.\d+\.\d+$/.test(e),{message:"Version does not match x.y.z format"}),qt=k.strictObject({tag:w,console:w,observatory:w.optional(),mission_control:w,satellite:w,orbiter:w.optional(),sputnik:w.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(w).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 b=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 b(e))?.version,Wr=async e=>(await b(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 b({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 bi=async({orbiter:{orbiterId:e,...t}})=>{Ao(e,"An Orbiter ID must be provided to request its version.");let o=await b({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 bo}from"@dfinity/utils";import{getDeprecatedSatelliteActor as wo,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 wo(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,bo(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)}),bt=({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)}},wt=({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,branches:l})=>[{owner:n,name:s},{branches:(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.branches))&&{branches:u(m.branches)}})),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:bt(e),...t});return te(o)},Wi=async({config:e,...t})=>{let o=await rt({config:wt(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))}},ba=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 b({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 b({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,w 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,b 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,bi 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,ba 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};
2
2
  //# sourceMappingURL=index.js.map