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