@junobuild/admin 4.0.2-next-2026-02-12 → 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 Bt,JUNO_PACKAGE_ORBITER_ID as Gt,JUNO_PACKAGE_SATELLITE_ID as Ht}from"@junobuild/config";var E=class extends Error{constructor(){super(`Invalid dependency tree: required module ${Ht} is missing.`)}},G=class extends Error{constructor(){super(`Invalid package: the provided module name is not ${Bt}.`)}},H=class extends Error{constructor(){super(`Invalid package: the provided module name is not ${Gt}.`)}};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 Vt}from"@junobuild/config";var Vo=async({junoPackage:e,wasm:t})=>{if(we(e))return await Kt({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},Kt=async({wasm:e})=>{let t=await ke({wasm:e,sectionName:"icp:public juno:build"});return ne(t)&&["stock","extended"].includes(t)?t:void 0},Ko=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}=Vt.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 Fo=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"}),Wt=k.strictObject({tag:w,console:w,observatory:w.optional(),mission_control:w,satellite:w,orbiter:w.optional(),sputnik:w.optional()}),Ft=k.array(Wt).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),Xo=k.strictObject({mission_controls:ae,satellites:ae,orbiters:ae,releases:Ft});import{getDeprecatedMissionControlVersionActor as qt,getMissionControlActor as K}from"@junobuild/ic-client/actor";var Ie=async({missionControl:e})=>{let{version:t}=await qt(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 Xt,toNullable as Ue}from"@dfinity/utils";import{Principal as Zt}from"@icp-sdk/core/principal";var se=({controllerId:e,profile:t})=>({controllerIds:[Zt.fromText(e)],controller:$t(t)}),$t=e=>({metadata:Xt(e)&&e!==""?[["profile",e]]:[],expires_at:Ue(void 0),scope:{Admin:null},kind:Ue()});var ir=({controllerId:e,profile:t,...o})=>Re({...o,...se({controllerId:e,profile:t})}),nr=({controllerId:e,profile:t,...o})=>Oe({...o,...se({controllerId:e,profile:t})}),ar=e=>ve(e);import{toPrincipal as po}from"@junobuild/ic-client/utils";var z={reinstall:null},I={upgrade:[{skip_pre_upgrade:[!1],wasm_memory_persistence:[{replace:null}]}]};import{fromNullable as no,isNullish as ao,uint8ArrayToHexString as so}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 Yt}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 eo({wasmModule:o}),{uploadChunks:a,storedChunks:s,preClearChunks:l,postClearChunks:c}=await to({actor:e,wasmChunks:n,canisterId:t});l&&await W({actor:e,canisterId:t});let m=[];for await(let f of oo({uploadChunks:a,actor:e,canisterId:t}))m=[...m,...f];await Ge({actor:e,code:{...i,chunkHashesList:[...m,...s].sort(({orderId:f},{orderId:p})=>f-p).map(({chunkHash:f})=>f),targetCanisterId:t,wasmModuleHash:await V(o)}}),c&&await W({actor:e,canisterId:t})},eo=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},to=async({canisterId:e,actor:t,wasmChunks:o})=>{let r=await Je({actor:t,canisterId:e}),i=r.map(({hash:s})=>({chunkHash:{hash:s},sha256:Yt(s)})),{storedChunks:n,uploadChunks:a}=o.reduce(({uploadChunks:s,storedChunks:l},{sha256:c,...m})=>{let f=i.find(({sha256:p})=>p===c);return{uploadChunks:[...s,...Fe(f)?[]:[{sha256:c,...m}]],storedChunks:[...l,...Fe(f)?[{...m,...f}]:[]]}},{uploadChunks:[],storedChunks:[]});return{uploadChunks:a,storedChunks:n,preClearChunks:r.length>0&&n.length===0,postClearChunks:!0}};async function*oo({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=>ro({uploadChunk:a,...o})))}}var ro=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 lo({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 mo({canisterId:t,actor:o}):Promise.resolve(),onProgress:r,step:2}),await j({fn:async()=>await co({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}},lo=async({actor:e,canisterId:t,wasmModule:o,reset:r})=>{if(r===!0)return;let{module_hash:i}=await He({actor:e,canisterId:t}),n=no(i);if(ao(n))return;let a=await V(o),s=so(n);if(a===s)throw new B},co=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})},mo=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 zr=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:po(r),arg:n,mode:I,...t})};import{assertNonNullish as go,isNullish as Co}from"@dfinity/utils";import{JUNO_PACKAGE_MISSION_CONTROL_ID as Po}from"@junobuild/config";import{isNullish as uo}from"@dfinity/utils";import{JunoPackageSchema as fo}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(uo(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(fo).parse(i))(o)},Hr=async e=>(await b(e))?.version,Vr=async e=>(await b(e))?.dependencies;var $r=async({missionControl:{missionControlId:e,...t}})=>{go(e,"A Mission Control ID must be provided to request its version.");let o=await b({moduleId:e,...t});if(Co(o))return await Ie({missionControl:{missionControlId:e,...t}});let{name:r,version:i}=o;if(r===Po)return i;throw new G};var ei=async e=>{await _(e)};import{getDeprecatedOrbiterVersionActor as yo,getOrbiterActor as le}from"@junobuild/ic-client/actor";var $e=async({orbiter:e})=>{let{version:t}=await yo(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 ni=e=>Z(e),ai=e=>Qe(e);var ci=e=>Ye(e);import{toPrincipal as So}from"@junobuild/ic-client/utils";var Ci=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:So(r),arg:a,mode:t?z:I,reset:t,...o})};import{assertNonNullish as ho,isNullish as xo}from"@dfinity/utils";import{JUNO_PACKAGE_ORBITER_ID as Ao}from"@junobuild/config";var Di=async({orbiter:{orbiterId:e,...t}})=>{ho(e,"An Orbiter ID must be provided to request its version.");let o=await b({moduleId:e,...t});if(xo(o))return await $e({orbiter:{orbiterId:e,...t}});let{name:r,version:i}=o;if(r===Ao)return i;throw new H};import{toNullable as Do}from"@dfinity/utils";import{getDeprecatedSatelliteActor as _o,getDeprecatedSatelliteNoScopeActor as bo,getDeprecatedSatelliteVersionActor as wo,getSatelliteActor as g}from"@junobuild/ic-client/actor";var et=async({config:e,satellite:t})=>{let{set_storage_config:o}=await g(t);return o(e)},tt=async({config:e,satellite:t})=>{let{set_db_config:o}=await g(t);return o(e)},ot=async({config:e,satellite:t})=>{let{set_auth_config:o}=await g(t);return o(e)},rt=async({config:e,satellite:t})=>{let{set_automation_config:o}=await g(t);return o(e)},it=async({satellite:e})=>{let{get_storage_config:t}=await g(e);return t()},nt=async({satellite:e})=>{let{get_db_config:t}=await g(e);return t()},at=async({satellite:e})=>{let{get_auth_config:t}=await g(e);return t()},st=async({satellite:e})=>{let{get_automation_config:t}=await g(e);return t()},lt=async({satellite:e})=>{let{get_config:t}=await g(e);return t()},ct=async({satellite:e,type:t,filter:o})=>{let{list_rules:r}=await g(e);return r(t,o)},mt=async({type:e,collection:t,rule:o,satellite:r})=>{let{set_rule:i}=await g(r);return i(e,t,o)},pt=async({satellite:e})=>{let{version:t}=await wo(e);return t()},dt=async({satellite:e})=>{let{list_controllers:t}=await _o(e);return t()},$=async({satellite:e})=>{let{list_controllers:t}=await bo(e);return t()},Q=async({satellite:e,certified:t})=>{let{list_controllers:o}=await g({...e,certified:t});return o()},ut=async({satellite:e})=>{let{list_custom_domains:t}=await g(e);return t()},ce=async({satellite:e,domainName:t,boundaryNodesId:o})=>{let{set_custom_domain:r}=await g(e);await r(t,Do(o))},ft=async({satellite:e})=>{let{memory_size:t}=await g(e);return t()},gt=async({collection:e,satellite:t})=>{let{count_collection_docs:o}=await g(t);return o(e)},Ct=async({collection:e,satellite:t})=>{let{count_collection_assets:o}=await g(t);return o(e)},Pt=async({collection:e,satellite:t})=>{let{del_docs:o}=await g(t);return o(e)},yt=async({collection:e,satellite:t})=>{let{del_assets:o}=await g(t);return o(e)},St=async({args:e,satellite:t})=>{let{set_controllers:o}=await g(t);return o(e)};var Ii=e=>Ct(e),Ti=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 u,toNullable as P}from"@dfinity/utils";import{Principal as ht}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 xt=({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=u(l)?"Allow"in l:void 0,m=d(t),f=u(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},...u(s)&&{redirects:s},...u(f)&&{iframe:f},version:d(o),...u(c)&&{rawAccess:c},...p}},At=({maxMemorySize:e,version:t})=>({max_memory_size:pe(e),version:P(t)}),ee=({version:e,max_memory_size:t})=>({...de(t),version:d(e)}),Dt=({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=>ht.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=>ht.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=u(C)&&u(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||u(y))&&{delegation:{...S!==void 0&&{allowedTargets:S},...u(y)&&{sessionDuration:y}}}}},l=d(o),c=l?.providers.find(([p])=>"Google"in p)?.[1],m=l?.providers.find(([p])=>"GitHub"in p)?.[1],f=d(r);return{...u(i)&&{internetIdentity:{...u(n)&&{derivationOrigin:n},...u(a)&&{externalAlternativeOrigins:a}}},...u(c)&&{google:{clientId:c.client_id,...s(c)}},...u(m)&&{github:{clientId:m.client_id,...s(m)}},...u(f)&&{rules:{allowedCallers:f.allowed_callers.map(p=>p.toText())}},version:d(e)}},_t=({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,...u(d(m.branches))&&{branches:d(m.branches)}})),n=d(r?.controller??[]),a=d(n?.scope??[]),s=d(n?.max_time_to_live??[]),l=u(a)||u(s);return{...u(r)&&{github:{repositories:i,...l&&{accessKeys:{...u(a)&&{scope:"Write"in a?"Write":"Submit"in a?"Submit":void 0},...u(s)&&{timeToLive:s}}}}},version:d(e)}};var Bi=async({config:e,satellite:t})=>{let o=await et({satellite:t,config:xt(e)});return Y(o)},Gi=async({config:e,...t})=>{let o=await tt({config:At(e),...t});return ee(o)},Hi=async({config:e,...t})=>{let o=await ot({config:Dt(e),...t});return te(o)},Vi=async({config:e,...t})=>{let o=await rt({config:_t(e),...t});return oe(o)},Ki=async({satellite:e})=>{let t=await at({satellite:e}),o=N(t);if(!fe(o))return te(o)},Wi=async({satellite:e})=>{let t=await st({satellite:e}),o=N(t);if(!fe(o))return oe(o)},Fi=async({satellite:e})=>{let t=await it({satellite:e});return Y(t)},qi=async({satellite:e})=>{let t=await nt({satellite:e}),o=N(t);if(!fe(o))return ee(o)},Xi=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 Qi=({deprecatedNoScope:e,...t})=>(e===!0?$:Q)(t),Yi=e=>St(e);var on=e=>gt(e),rn=e=>Pt(e);import{fromNullable as bt,nonNullish as ko}from"@dfinity/utils";var ln=async({satellite:e})=>(await ut({satellite:e})).map(([o,r])=>{let i=bt(r.version);return{domain:o,bn_id:bt(r.bn_id),created_at:r.created_at,updated_at:r.updated_at,...ko(i)&&{version:i}}}),cn=({satellite:e,domains:t})=>Promise.all(t.map(({domain:o,bn_id:r})=>ce({satellite:e,domainName:o,boundaryNodesId:r}))),mn=({satellite:e,domain:t})=>ce({satellite:e,domainName:t.domain,boundaryNodesId:t.bn_id});var un=e=>ft(e);import{fromNullable as R,isNullish as Mo,nonNullish as A,toNullable as O}from"@dfinity/utils";var wt={Db:null},kt={Storage:null},Mt={Public:null},It={Private:null},Tt={Managed:null},vt={Controllers:null},ge={Heap:null},Rt={Stable:null},Ot=600000000n;var Ce=e=>e==="storage"?kt:wt,Et=e=>({matcher:Mo(e)?O():O({include_system:e.include_system})}),Lt=({read:e,write:t,memory:o,maxSize:r,maxChangesPerUser:i,maxCapacity:n,version:a,mutablePermissions:s,maxTokens:l})=>({read:Nt(e),write:Nt(t),memory:A(o)?[Io(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:Ot}]:[]}),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:f,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(f),U=p?.[0]?.max_tokens??0n>0n?R(p)?.max_tokens:void 0;return{collection:e,read:Ut(o),write:Ut(r),memory:To(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}}},Ut=e=>"Public"in e?"public":"Private"in e?"private":"Managed"in e?"managed":"controllers",Nt=e=>{switch(e){case"public":return Mt;case"private":return It;case"managed":return Tt;default:return vt}},Io=e=>e.toLowerCase()==="heap"?ge:Rt,To=e=>"Heap"in e?"heap":"stable";var xn=async({type:e,satellite:t,filter:o})=>{let{items:r,...i}=await ct({satellite:t,type:Ce(e),filter:Et(o)});return{...i,items:r.map(n=>Pe(n))}},An=async({rule:{collection:e,...t},type:o,satellite:r})=>{let i=await mt({type:Ce(o),rule:Lt(t),satellite:r,collection:e});return Pe([e,i])};import{isNullish as vo}from"@dfinity/utils";import{IDL as re}from"@icp-sdk/core/candid";import{toPrincipal as zt}from"@junobuild/ic-client/utils";var vn=async({satellite:e,deprecated:t,deprecatedNoScope:o,reset:r=!1,...i})=>{let{satelliteId:n,...a}=e;if(vo(n))throw new Error("No satellite principal defined.");if(t){let m=await dt({satellite:e}),f=re.encode([re.Record({controllers:re.Vec(re.Principal)})],[{controllers:m}]);await _({actor:a,canisterId:zt(n),arg:new Uint8Array(f),mode:r?z:I,reset:r,...i});return}let l=await(o?$:Q)({satellite:e,certified:r}),c=q(l);await _({actor:a,canisterId:zt(n),arg:c,mode:r?z:I,reset:r,...i})};import{assertNonNullish as jt,isNullish as Jt,nonNullish as ye}from"@dfinity/utils";import{JUNO_PACKAGE_SATELLITE_ID as ie}from"@junobuild/config";var Jn=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(Jt(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},Bn=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(Jt(o))return await Ro({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},Ro=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{Fo as BuildTypeSchema,w as MetadataVersionSchema,ae as MetadataVersionsSchema,G as MissionControlVersionError,H as OrbiterVersionError,Wt as ReleaseMetadataSchema,Xo as ReleasesMetadataSchema,Ft as ReleasesSchema,E as SatelliteMissingDependencyError,We as UpgradeCodeProgressStep,B as UpgradeCodeUnchangedError,xe as blobSha256,jo as checkUpgradeVersion,Ii as countAssets,on as countDocs,Ti as deleteAssets,rn as deleteDocs,Vo as extractBuildType,L as findJunoPackageDependency,Ki as getAuthConfig,Wi as getAutomationConfig,Xi as getConfig,qi as getDatastoreConfig,b as getJunoPackage,Vr as getJunoPackageDependencies,Hr as getJunoPackageVersion,Fi as getStorageConfig,ln as listCustomDomains,ar as listMissionControlControllers,ni as listOrbiterControllers,xn as listRules,Qi as listSatelliteControllers,$r as missionControlVersion,ci as orbiterMemorySize,Di as orbiterVersion,Ko as readCustomSectionJunoPackage,Bn as satelliteBuildType,un as satelliteMemorySize,Jn as satelliteVersion,Hi as setAuthConfig,Vi as setAutomationConfig,mn as setCustomDomain,cn as setCustomDomains,Gi as setDatastoreConfig,nr as setMissionControlController,ai as setOrbiterControllers,An as setRule,Yi as setSatelliteControllers,ir as setSatellitesController,Bi as setStorageConfig,V as uint8ArraySha256,zr as upgradeMissionControl,ei as upgradeModule,Ci as upgradeOrbiter,vn 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