@junobuild/admin 4.2.0 → 4.2.1-next-2026-03-20

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