phala 1.0.34 → 1.0.35
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/api/index.d.ts
CHANGED
@@ -4444,7 +4444,7 @@ declare function resizeCvm(appId: string, vcpu?: number, memory?: number, diskSi
|
|
4444
4444
|
* Get all TEEPods with their images
|
4445
4445
|
* @returns List of TEEPods with embedded images
|
4446
4446
|
*/
|
4447
|
-
declare function getTeepods(): Promise<TeepodResponse>;
|
4447
|
+
declare function getTeepods(v03x_only?: boolean): Promise<TeepodResponse>;
|
4448
4448
|
/**
|
4449
4449
|
* Get images for a TEEPod
|
4450
4450
|
* This function is maintained for backwards compatibility.
|
package/dist/api/index.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
import{$ as N,A as g,B as h,C as i,D as j,E as k,F as l,G as n,H as q,I as s,J as u,K as v,L as w,M as y,N as z,O as A,P as B,Q as C,R as D,S as E,T as F,U as G,V as H,W as I,X as J,Y as K,Z as L,_ as M,aa as O,ba as P,ca as Q,o,p as r,q as e,r as f,s as m,t as p,u as t,v as x,w as a,x as b,y as c,z as d}from"../chunk-
|
1
|
+
import{$ as N,A as g,B as h,C as i,D as j,E as k,F as l,G as n,H as q,I as s,J as u,K as v,L as w,M as y,N as z,O as A,P as B,Q as C,R as D,S as E,T as F,U as G,V as H,W as I,X as J,Y as K,Z as L,_ as M,aa as O,ba as P,ca as Q,o,p as r,q as e,r as f,s as m,t as p,u as t,v as x,w as a,x as b,y as c,z as d}from"../chunk-YJKUEQRT.js";import"../chunk-4YCH6IZV.js";export{k as capacitySchema,z as checkCvmExists,r as composeFileSchema,e as configurationSchema,D as createCvm,v as cvmAttestationResponseSchema,s as cvmComposeConfigSchema,t as cvmInstanceSchema,I as deleteCvm,o as dockerConfigSchema,h as encryptedEnvItemSchema,L as getCvmAttestation,A as getCvmByAppId,b as getCvmByAppIdResponseSchema,M as getCvmComposeConfig,C as getCvmNetwork,q as getCvmNetworkResponseSchema,y as getCvms,d as getCvmsByUserIdResponseSchema,B as getPubkeyFromCvm,a as getPubkeyFromCvmResponseSchema,Q as getTeepodImages,P as getTeepods,w as getUserInfo,c as getUserInfoResponseSchema,f as hostedSchema,i as imageSchema,l as kmsListItemSchema,m as managedUserSchema,p as nodeSchema,x as postCvmResponseSchema,N as replicateCvm,u as replicateCvmResponseSchema,O as resizeCvm,G as restartCvm,K as selectCvm,E as startCvm,F as stopCvm,n as teepodResponseSchema,j as teepodSchema,J as updateCvm,H as upgradeCvm,g as upgradeCvmResponseSchema};
|
2
2
|
//# sourceMappingURL=index.js.map
|
@@ -54,5 +54,5 @@ services:
|
|
54
54
|
{{#each envVars}} - {{{this}}}
|
55
55
|
{{/each}}
|
56
56
|
restart: always
|
57
|
-
`;function de(r){try{return JSON.stringify(r)}catch(t){return t instanceof Error&&t.message.includes("cyclic")?"[Cyclic Object]":String(r)}}async function vt(r){try{y.debug(`Fetching user info from ${v.USER_INFO}`);let o=await ze({apiKey:r}).get(v.USER_INFO);y.debug(`Received response: ${de(o)}`);try{return ae.parse(o)}catch(n){throw y.error(`Failed to parse user info response: ${n}`),y.debug(`Response structure: ${de(o)}`),n}}catch(t){throw y.error(`Failed to get user info: ${t instanceof Error?t.message:String(t)}`),new Error(`Failed to get user info: ${t instanceof Error?t.message:String(t)}`)}}import{createClient as T}from"@phala/cloud";import We from"inquirer";import{z as ye}from"zod";import A from"node:fs";import X from"node:path";import z from"node:os";import G from"node:crypto";var K=X.join(z.homedir(),".phala-cloud"),U=X.join(K,"api-key"),q=X.join(K,"docker-credentials.json");function fe(){if(!A.existsSync(K))try{A.mkdirSync(K,{recursive:!0})}catch(r){throw y.error(`Failed to create directory ${K}:`,r),r}}function he(){let r=[z.hostname(),z.platform(),z.arch(),z.cpus()[0]?.model||"",z.userInfo().username],t=G.createHash("sha256");return t.update(r.join("|")),t.digest()}function Fe(r){try{let t=he(),o=G.randomBytes(16),n=G.createCipheriv("aes-256-cbc",t.slice(0,32),o),s=n.update(r,"utf8","hex");return s+=n.final("hex"),o.toString("hex")+":"+s}catch(t){throw y.error("Encryption failed:",t),new Error("Failed to encrypt data")}}function je(r){try{let t=he(),o=r.split(":");if(o.length!==2)throw new Error("Invalid encrypted format");let n=Buffer.from(o[0],"hex"),s=o[1],a=G.createDecipheriv("aes-256-cbc",t.slice(0,32),n),l=a.update(s,"hex","utf8");return l+=a.final("utf8"),l}catch(t){throw y.error("Decryption failed:",t),new Error("Failed to decrypt data")}}async function Rt(r){fe();try{let t=Fe(r);A.writeFileSync(U,t,{mode:384})}catch(t){throw y.error("Failed to save API key:",t),t}}function C(){try{if(process.env.PHALA_CLOUD_API_KEY)return process.env.PHALA_CLOUD_API_KEY;if(A.existsSync(U)){let r=A.readFileSync(U,"utf8").trim();return je(r)}return null}catch(r){return y.error("Failed to read API key:",r),null}}async function Et(){try{A.existsSync(U)?(A.unlinkSync(U),y.success("API key removed successfully.")):y.warn("No API key found to remove.")}catch(r){throw y.error("Failed to remove API key:",r),r}}async function Pt(r){fe();try{A.writeFileSync(q,JSON.stringify(r,null,2),{mode:384}),y.success("Docker information saved successfully.")}catch(t){throw y.error("Failed to save Docker information:",t),t}}async function At(){try{if(A.existsSync(q)){let r=A.readFileSync(q,"utf8");return JSON.parse(r)}return null}catch(r){return y.error("Failed to read Docker credentials:",r),null}}async function be(){try{let r=C(),o=await T({apiKey:r}).get(v.CVMS(0));return ye.array(Y).parse(o)}catch(r){throw new Error(`Failed to get CVMs: ${r instanceof Error?r.message:String(r)}`)}}async function jt(r){let o=(await be()).find(n=>n.hosted?.app_id===r||`app_${n.hosted?.app_id}`===r);if(!o)y.error(`CVM with App ID app_${r} not detected`),process.exit(1);else return y.success(`CVM with App ID app_${r} detected`),o.hosted?.app_id||""}async function Wt(r){try{let t=C(),n=await T({apiKey:t}).get(v.CVM_BY_APP_ID(r));return ie.parse(n)}catch(t){throw new Error(`Failed to get CVM by App ID: ${t instanceof Error?t.message:String(t)}`)}}async function Kt(r){
|
58
|
-
//# sourceMappingURL=chunk-
|
57
|
+
`;function de(r){try{return JSON.stringify(r)}catch(t){return t instanceof Error&&t.message.includes("cyclic")?"[Cyclic Object]":String(r)}}async function vt(r){try{y.debug(`Fetching user info from ${v.USER_INFO}`);let o=await ze({apiKey:r}).get(v.USER_INFO);y.debug(`Received response: ${de(o)}`);try{return ae.parse(o)}catch(n){throw y.error(`Failed to parse user info response: ${n}`),y.debug(`Response structure: ${de(o)}`),n}}catch(t){throw y.error(`Failed to get user info: ${t instanceof Error?t.message:String(t)}`),new Error(`Failed to get user info: ${t instanceof Error?t.message:String(t)}`)}}import{createClient as T}from"@phala/cloud";import We from"inquirer";import{z as ye}from"zod";import A from"node:fs";import X from"node:path";import z from"node:os";import G from"node:crypto";var K=X.join(z.homedir(),".phala-cloud"),U=X.join(K,"api-key"),q=X.join(K,"docker-credentials.json");function fe(){if(!A.existsSync(K))try{A.mkdirSync(K,{recursive:!0})}catch(r){throw y.error(`Failed to create directory ${K}:`,r),r}}function he(){let r=[z.hostname(),z.platform(),z.arch(),z.cpus()[0]?.model||"",z.userInfo().username],t=G.createHash("sha256");return t.update(r.join("|")),t.digest()}function Fe(r){try{let t=he(),o=G.randomBytes(16),n=G.createCipheriv("aes-256-cbc",t.slice(0,32),o),s=n.update(r,"utf8","hex");return s+=n.final("hex"),o.toString("hex")+":"+s}catch(t){throw y.error("Encryption failed:",t),new Error("Failed to encrypt data")}}function je(r){try{let t=he(),o=r.split(":");if(o.length!==2)throw new Error("Invalid encrypted format");let n=Buffer.from(o[0],"hex"),s=o[1],a=G.createDecipheriv("aes-256-cbc",t.slice(0,32),n),l=a.update(s,"hex","utf8");return l+=a.final("utf8"),l}catch(t){throw y.error("Decryption failed:",t),new Error("Failed to decrypt data")}}async function Rt(r){fe();try{let t=Fe(r);A.writeFileSync(U,t,{mode:384})}catch(t){throw y.error("Failed to save API key:",t),t}}function C(){try{if(process.env.PHALA_CLOUD_API_KEY)return process.env.PHALA_CLOUD_API_KEY;if(A.existsSync(U)){let r=A.readFileSync(U,"utf8").trim();return je(r)}return null}catch(r){return y.error("Failed to read API key:",r),null}}async function Et(){try{A.existsSync(U)?(A.unlinkSync(U),y.success("API key removed successfully.")):y.warn("No API key found to remove.")}catch(r){throw y.error("Failed to remove API key:",r),r}}async function Pt(r){fe();try{A.writeFileSync(q,JSON.stringify(r,null,2),{mode:384}),y.success("Docker information saved successfully.")}catch(t){throw y.error("Failed to save Docker information:",t),t}}async function At(){try{if(A.existsSync(q)){let r=A.readFileSync(q,"utf8");return JSON.parse(r)}return null}catch(r){return y.error("Failed to read Docker credentials:",r),null}}async function be(){try{let r=C(),o=await T({apiKey:r}).get(v.CVMS(0));return ye.array(Y).parse(o)}catch(r){throw new Error(`Failed to get CVMs: ${r instanceof Error?r.message:String(r)}`)}}async function jt(r){let o=(await be()).find(n=>n.hosted?.app_id===r||`app_${n.hosted?.app_id}`===r);if(!o)y.error(`CVM with App ID app_${r} not detected`),process.exit(1);else return y.success(`CVM with App ID app_${r} detected`),o.hosted?.app_id||""}async function Wt(r){try{let t=C(),n=await T({apiKey:t}).get(v.CVM_BY_APP_ID(r));return ie.parse(n)}catch(t){throw new Error(`Failed to get CVM by App ID: ${t instanceof Error?t.message:String(t)}`)}}async function Kt(r){let t=C(),n=await T({apiKey:t}).post(v.CVM_PUBKEY,r);return se.parse(n)}async function Ut(r){try{let t=C(),n=await T({apiKey:t}).get(v.CVM_NETWORK(r));return pe.parse(n)}catch(t){throw new Error(`Failed to get network information for CVM: ${t instanceof Error?t.message:String(t)}`)}}async function Bt(r){try{let t=C(),n=await T({apiKey:t}).post(v.CVM_FROM_CONFIGURATION,r);return W.parse(n)}catch(t){throw t instanceof ye.ZodError?(y.error("Schema validation error:",JSON.stringify(t.errors,null,2)),y.error("API response:",JSON.stringify(t.format(),null,2)),new Error(`Response validation failed: ${JSON.stringify(t.errors)}`)):new Error(`Failed to create CVM: ${t instanceof Error?t.message:String(t)}`)}}async function Gt(r){try{let t=C(),n=await T({apiKey:t}).post(v.CVM_START(r));return W.parse(n)}catch(t){throw new Error(`Failed to start CVM: ${t instanceof Error?t.message:String(t)}`)}}async function Zt(r){try{let t=C(),n=await T({apiKey:t}).post(v.CVM_STOP(r));return W.parse(n)}catch(t){throw new Error(`Failed to stop CVM: ${t instanceof Error?t.message:String(t)}`)}}async function Ht(r){try{let t=C(),n=await T({apiKey:t}).post(v.CVM_RESTART(r));return W.parse(n)}catch(t){throw new Error(`Failed to restart CVM: ${t instanceof Error?t.message:String(t)}`)}}async function Yt(r,t){let o=C(),s=await T({apiKey:o}).put(v.CVM_UPGRADE(r),t);return le.parse(s)}async function Jt(r){try{let t=C();return await T({apiKey:t}).delete(v.CVM_BY_APP_ID(r)),!0}catch(t){throw new Error(`Failed to delete CVM: ${t instanceof Error?t.message:String(t)}`)}}async function qt(r){try{let t=C();return await T({apiKey:t}).put(v.CVM_BY_APP_ID(r.app_id),r)}catch(t){throw new Error(`Failed to update CVM: ${t instanceof Error?t.message:String(t)}`)}}async function Xt(){let r=y.startSpinner("Fetching available CVMs"),t=await be();if(r.stop(!0),!t||t.length===0){y.info("No CVMs found for your account");return}let o=t.map(s=>{let a=s.hosted?.app_id||s.hosted?.id,l=s.name||s.hosted?.name,b=s.status||s.hosted?.status;return{name:`${l||"Unnamed"} (${a}) - Status: ${b||"Unknown"}`,value:a}}),{selectedCvm:n}=await We.prompt([{type:"list",name:"selectedCvm",message:"Select a CVM:",choices:o}]);return n}async function Qt(r){try{let t=C(),n=await T({apiKey:t}).get(v.CVM_ATTESTATION(r));try{return ge.parse(n)}catch(s){return y.debug(`Validation error: ${s instanceof Error?s.message:String(s)}`),{is_online:!!n?.is_online,is_public:!!n?.is_public,error:typeof n?.error=="string"?n.error:null,app_certificates:Array.isArray(n?.app_certificates)?n.app_certificates:null,tcb_info:n?.tcb_info||null,compose_file:typeof n?.compose_file=="string"?n.compose_file:null}}}catch(t){throw new Error(`Failed to get attestation information: ${t instanceof Error?t.message:String(t)}`)}}async function er(r){try{let t=C(),n=await T({apiKey:t}).get(v.CVM_COMPOSE(r));return me.parse(n)}catch(t){throw new Error(`Failed to get CVM compose config: ${t instanceof Error?t.message:String(t)}`)}}async function tr(r,t){try{let o=C(),s=await T({apiKey:o}).post(v.REPLICATE_CVM(r),t);return ue.parse(s)}catch(o){throw new Error(`Failed to replicate CVM: ${o instanceof Error?o.message:String(o)}`)}}async function rr(r,t,o,n,s){try{let a=C(),l=T({apiKey:a}),b={};if(t!==void 0&&(b.vcpu=t),o!==void 0&&(b.memory=o),n!==void 0&&(b.disk_size=n),s!==void 0&&(b.allow_restart=s),Object.keys(b).length===0)throw new Error("At least one resource parameter must be provided");return await l.patch(v.CVM_RESIZE(r),b),!0}catch(a){throw new Error(`Failed to resize CVM: ${a instanceof Error?a.message:String(a)}`)}}import{createClient as _e}from"@phala/cloud";import{z as Ke}from"zod";async function Ue(r=!1){try{let t=C(),o=_e({apiKey:t}),n="teepods/available";r&&(n+="?v03x_only=1");let s=await(await o).get(n);return ce.parse(s)}catch(t){throw new Error(`Failed to get TEEPods: ${t instanceof Error?t.message:String(t)}`)}}async function gr(r){try{let t=C(),o=_e({apiKey:t}),s=(await Ue()).nodes.find(l=>l.teepod_id===Number(r));if(s&&s.images&&s.images.length>0)return s.images;let a=await(await o).get(v.TEEPOD_IMAGES(r));return Ke.array(J).parse(a)}catch(t){throw new Error(`Failed to get TEEPod images: ${t instanceof Error?t.message:String(t)}`)}}export{y as a,Rt as b,C as c,Et as d,Pt as e,At as f,at as g,lt as h,ct as i,pt as j,mt as k,ut as l,gt as m,Qe as n,Ae as o,Ie as p,$e as q,Me as r,De as s,Le as t,Y as u,W as v,se as w,ie as x,ae as y,ot as z,le as A,st as B,J as C,Oe as D,Ve as E,Ne as F,ce as G,pe as H,me as I,ue as J,ge as K,vt as L,be as M,jt as N,Wt as O,Kt as P,Ut as Q,Bt as R,Gt as S,Zt as T,Ht as U,Yt as V,Jt as W,qt as X,Xt as Y,Qt as Z,er as _,tr as $,rr as aa,Ue as ba,gr as ca};
|
58
|
+
//# sourceMappingURL=chunk-YJKUEQRT.js.map
|