@phala/cloud 0.0.1 → 0.0.3

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.
Files changed (68) hide show
  1. package/dist/actions/add_compose_hash.d.ts +63 -0
  2. package/dist/actions/add_compose_hash.d.ts.map +1 -0
  3. package/dist/actions/commit_cvm_compose_file_update.d.ts +143 -0
  4. package/dist/actions/commit_cvm_compose_file_update.d.ts.map +1 -0
  5. package/dist/actions/commit_cvm_provision.d.ts +209 -0
  6. package/dist/actions/commit_cvm_provision.d.ts.map +1 -0
  7. package/dist/actions/deploy_app_auth.d.ts +164 -0
  8. package/dist/actions/deploy_app_auth.d.ts.map +1 -0
  9. package/dist/actions/get_app_env_encrypt_pubkey.d.ts +30 -0
  10. package/dist/actions/get_app_env_encrypt_pubkey.d.ts.map +1 -0
  11. package/dist/actions/get_available_nodes.d.ts +572 -0
  12. package/dist/actions/get_available_nodes.d.ts.map +1 -0
  13. package/dist/actions/get_current_user.d.ts +92 -0
  14. package/dist/actions/get_current_user.d.ts.map +1 -0
  15. package/dist/actions/get_cvm_compose_file.d.ts +190 -0
  16. package/dist/actions/get_cvm_compose_file.d.ts.map +1 -0
  17. package/dist/actions/get_cvm_info.d.ts +73 -0
  18. package/dist/actions/get_cvm_info.d.ts.map +1 -0
  19. package/dist/actions/get_cvm_list.d.ts +392 -0
  20. package/dist/actions/get_cvm_list.d.ts.map +1 -0
  21. package/dist/actions/get_kms_info.d.ts +34 -0
  22. package/dist/actions/get_kms_info.d.ts.map +1 -0
  23. package/dist/actions/get_kms_list.d.ts +82 -0
  24. package/dist/actions/get_kms_list.d.ts.map +1 -0
  25. package/dist/actions/index.d.ts +15 -0
  26. package/dist/actions/index.d.ts.map +1 -0
  27. package/dist/actions/provision_cvm.d.ts +228 -0
  28. package/dist/actions/provision_cvm.d.ts.map +1 -0
  29. package/dist/actions/provision_cvm_compose_file_update.d.ts +313 -0
  30. package/dist/actions/provision_cvm_compose_file_update.d.ts.map +1 -0
  31. package/dist/client.d.ts +80 -0
  32. package/dist/client.d.ts.map +1 -0
  33. package/dist/index.d.ts +9 -2978
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js +91 -20
  36. package/dist/index.js.map +1 -0
  37. package/dist/index.mjs +89 -18
  38. package/dist/index.mjs.map +1 -0
  39. package/dist/parse_dotenv.d.ts +14 -0
  40. package/dist/parse_dotenv.d.ts.map +1 -0
  41. package/dist/types/client.d.ts +126 -0
  42. package/dist/types/client.d.ts.map +1 -0
  43. package/dist/types/common.d.ts +17 -0
  44. package/dist/types/common.d.ts.map +1 -0
  45. package/dist/types/cvm_info.d.ts +486 -0
  46. package/dist/types/cvm_info.d.ts.map +1 -0
  47. package/dist/types/index.d.ts +2 -0
  48. package/dist/types/index.d.ts.map +1 -0
  49. package/dist/types/kms_info.d.ts +28 -0
  50. package/dist/types/kms_info.d.ts.map +1 -0
  51. package/dist/utils/as-hex.d.ts +17 -0
  52. package/dist/utils/as-hex.d.ts.map +1 -0
  53. package/dist/utils/client-factories.d.ts +44 -0
  54. package/dist/utils/client-factories.d.ts.map +1 -0
  55. package/dist/utils/get_compose_hash.d.ts +15 -0
  56. package/dist/utils/get_compose_hash.d.ts.map +1 -0
  57. package/dist/utils/get_error_message.d.ts +3 -0
  58. package/dist/utils/get_error_message.d.ts.map +1 -0
  59. package/dist/utils/index.d.ts +9 -0
  60. package/dist/utils/index.d.ts.map +1 -0
  61. package/dist/utils/network.d.ts +101 -0
  62. package/dist/utils/network.d.ts.map +1 -0
  63. package/dist/utils/transaction.d.ts +81 -0
  64. package/dist/utils/transaction.d.ts.map +1 -0
  65. package/dist/utils/validate-parameters.d.ts +20 -0
  66. package/dist/utils/validate-parameters.d.ts.map +1 -0
  67. package/package.json +10 -4
  68. package/dist/index.d.mts +0 -2978
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAGrD,cAAc,SAAS,CAAC;AAGxB,cAAc,WAAW,CAAC;AAG1B,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EACL,cAAc,EACd,KAAK,MAAM,GACZ,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC"}
package/dist/index.js CHANGED
@@ -28,11 +28,11 @@ __export(index_exports, {
28
28
  CommitCvmProvisionRequestSchema: () => CommitCvmProvisionRequestSchema,
29
29
  CommitCvmProvisionSchema: () => CommitCvmProvisionSchema,
30
30
  CurrentUserSchema: () => CurrentUserSchema,
31
+ CvmLegacyDetailSchema: () => CvmLegacyDetailSchema,
31
32
  DeployAppAuthRequestSchema: () => DeployAppAuthRequestSchema,
32
33
  DeployAppAuthSchema: () => DeployAppAuthSchema,
33
34
  GetAppEnvEncryptPubKeySchema: () => GetAppEnvEncryptPubKeySchema,
34
35
  GetCvmComposeFileResultSchema: () => GetCvmComposeFileResultSchema,
35
- GetCvmInfoSchema: () => GetCvmInfoSchema,
36
36
  GetCvmListSchema: () => GetCvmListSchema,
37
37
  GetKmsListSchema: () => GetKmsListSchema,
38
38
  NetworkError: () => NetworkError,
@@ -65,7 +65,7 @@ __export(index_exports, {
65
65
  extractNetworkClients: () => extractNetworkClients,
66
66
  getAppEnvEncryptPubKey: () => getAppEnvEncryptPubKey,
67
67
  getAvailableNodes: () => getAvailableNodes,
68
- getComposeHash: () => import_dstack_sdk.getComposeHash,
68
+ getComposeHash: () => import_get_compose_hash2.getComposeHash,
69
69
  getCurrentUser: () => getCurrentUser,
70
70
  getCvmComposeFile: () => getCvmComposeFile,
71
71
  getCvmInfo: () => getCvmInfo,
@@ -73,6 +73,8 @@ __export(index_exports, {
73
73
  getErrorMessage: () => getErrorMessage,
74
74
  getKmsInfo: () => getKmsInfo,
75
75
  getKmsList: () => getKmsList,
76
+ parseEnv: () => parseEnv,
77
+ parseEnvVars: () => parseEnvVars,
76
78
  provisionCvm: () => provisionCvm,
77
79
  provisionCvmComposeFileUpdate: () => provisionCvmComposeFileUpdate,
78
80
  safeAddComposeHash: () => safeAddComposeHash,
@@ -93,7 +95,7 @@ __export(index_exports, {
93
95
  switchToNetwork: () => switchToNetwork,
94
96
  validateActionParameters: () => validateActionParameters,
95
97
  validateNetworkPrerequisites: () => validateNetworkPrerequisites,
96
- verifyEnvEncryptPublicKey: () => import_dstack_sdk2.verifyEnvEncryptPublicKey,
98
+ verifyEnvEncryptPublicKey: () => import_verify_env_encrypt_public_key.verifyEnvEncryptPublicKey,
97
99
  waitForTransactionReceipt: () => waitForTransactionReceipt
98
100
  });
99
101
  module.exports = __toCommonJS(index_exports);
@@ -171,13 +173,15 @@ var RequestError = class _RequestError extends Error {
171
173
  };
172
174
 
173
175
  // src/client.ts
176
+ var SUPPORTED_API_VERSIONS = ["2025-05-31"];
174
177
  var Client = class {
175
178
  constructor(config = {}) {
176
179
  const resolvedConfig = {
177
180
  ...config,
178
- apiKey: config.apiKey || process.env.PHALA_CLOUD_API_KEY,
179
- baseURL: config.baseURL || process.env.PHALA_CLOUD_API_PREFIX || "https://cloud-api.phala.network/api/v1"
181
+ apiKey: config.apiKey || process?.env?.PHALA_CLOUD_API_KEY,
182
+ baseURL: config.baseURL || process?.env?.PHALA_CLOUD_API_PREFIX || "https://cloud-api.phala.network/api/v1"
180
183
  };
184
+ const version = resolvedConfig.version && SUPPORTED_API_VERSIONS.includes(resolvedConfig.version) ? resolvedConfig.version : SUPPORTED_API_VERSIONS[0];
181
185
  this.config = resolvedConfig;
182
186
  if (!resolvedConfig.apiKey) {
183
187
  throw new Error(
@@ -190,6 +194,7 @@ var Client = class {
190
194
  timeout: timeout || 3e4,
191
195
  headers: {
192
196
  "X-API-Key": apiKey,
197
+ "X-Phala-Version": version,
193
198
  "Content-Type": "application/json",
194
199
  ...headers || {}
195
200
  },
@@ -1315,6 +1320,7 @@ var kmsAuthAbi = [
1315
1320
  var DeployAppAuthRequestBaseSchema = import_zod7.z.object({
1316
1321
  // Chain configuration (conditionally required)
1317
1322
  chain: import_zod7.z.unknown().optional(),
1323
+ rpcUrl: import_zod7.z.string().optional(),
1318
1324
  // Contract configuration (required)
1319
1325
  kmsContractAddress: import_zod7.z.string(),
1320
1326
  // Authentication mode: either privateKey OR walletClient (required, mutually exclusive)
@@ -1408,6 +1414,7 @@ async function deployAppAuth(request, parameters) {
1408
1414
  const validatedRequest = DeployAppAuthRequestSchema.parse(request);
1409
1415
  const {
1410
1416
  chain,
1417
+ rpcUrl,
1411
1418
  kmsContractAddress,
1412
1419
  privateKey,
1413
1420
  walletClient: providedWalletClient,
@@ -1446,7 +1453,7 @@ async function deployAppAuth(request, parameters) {
1446
1453
  }
1447
1454
  publicClient = (0, import_viem3.createPublicClient)({
1448
1455
  chain,
1449
- transport: (0, import_viem3.http)()
1456
+ transport: (0, import_viem3.http)(rpcUrl)
1450
1457
  });
1451
1458
  }
1452
1459
  if (!chain) {
@@ -1455,7 +1462,7 @@ async function deployAppAuth(request, parameters) {
1455
1462
  walletClient = (0, import_viem3.createWalletClient)({
1456
1463
  account,
1457
1464
  chain,
1458
- transport: (0, import_viem3.http)()
1465
+ transport: (0, import_viem3.http)(rpcUrl)
1459
1466
  });
1460
1467
  deployerAddress = account.address;
1461
1468
  chainId = chain.id;
@@ -1475,7 +1482,7 @@ async function deployAppAuth(request, parameters) {
1475
1482
  }
1476
1483
  publicClient = (0, import_viem3.createPublicClient)({
1477
1484
  chain,
1478
- transport: (0, import_viem3.http)()
1485
+ transport: (0, import_viem3.http)(rpcUrl)
1479
1486
  });
1480
1487
  }
1481
1488
  if (!walletClient.account?.address) {
@@ -1629,8 +1636,7 @@ var appAuthAbi = [
1629
1636
  var AddComposeHashRequestSchema = import_zod8.z.object({
1630
1637
  // Chain configuration (conditionally required)
1631
1638
  chain: import_zod8.z.unknown().optional(),
1632
- // Contract configuration (required)
1633
- kmsContractAddress: import_zod8.z.string(),
1639
+ rpcUrl: import_zod8.z.string().optional(),
1634
1640
  appId: import_zod8.z.string(),
1635
1641
  composeHash: import_zod8.z.string(),
1636
1642
  // Authentication mode: either privateKey OR walletClient (required, mutually exclusive)
@@ -1721,6 +1727,7 @@ async function addComposeHash(request, parameters) {
1721
1727
  const validatedRequest = AddComposeHashRequestSchema.parse(request);
1722
1728
  const {
1723
1729
  chain,
1730
+ rpcUrl,
1724
1731
  appId,
1725
1732
  composeHash,
1726
1733
  privateKey,
@@ -1746,13 +1753,13 @@ async function addComposeHash(request, parameters) {
1746
1753
  publicClient = providedPublicClient;
1747
1754
  } else {
1748
1755
  if (!chain) throw new Error("Chain required when creating publicClient");
1749
- publicClient = (0, import_viem4.createPublicClient)({ chain, transport: (0, import_viem4.http)() });
1756
+ publicClient = (0, import_viem4.createPublicClient)({ chain, transport: (0, import_viem4.http)(rpcUrl) });
1750
1757
  }
1751
1758
  if (!chain) throw new Error("Chain required when creating walletClient");
1752
1759
  walletClient = (0, import_viem4.createWalletClient)({
1753
1760
  account,
1754
1761
  chain,
1755
- transport: (0, import_viem4.http)()
1762
+ transport: (0, import_viem4.http)(rpcUrl)
1756
1763
  });
1757
1764
  address = account.address;
1758
1765
  chainId = chain.id;
@@ -1762,7 +1769,7 @@ async function addComposeHash(request, parameters) {
1762
1769
  publicClient = providedPublicClient;
1763
1770
  } else {
1764
1771
  if (!chain) throw new Error("Chain required when creating publicClient");
1765
- publicClient = (0, import_viem4.createPublicClient)({ chain, transport: (0, import_viem4.http)() });
1772
+ publicClient = (0, import_viem4.createPublicClient)({ chain, transport: (0, import_viem4.http)(rpcUrl) });
1766
1773
  }
1767
1774
  if (!walletClient.account?.address) {
1768
1775
  throw new Error("WalletClient must have an account with address");
@@ -2056,7 +2063,10 @@ async function safeCommitCvmComposeFileUpdate(client, request, parameters) {
2056
2063
  var import_zod12 = require("zod");
2057
2064
  var GetAppEnvEncryptPubKeyRequestSchema = import_zod12.z.object({
2058
2065
  kms: import_zod12.z.string().min(1, "KMS ID or slug is required"),
2059
- app_id: import_zod12.z.string().length(40, "App ID must be exactly 40 characters")
2066
+ app_id: import_zod12.z.string().refine(
2067
+ (val) => val.length === 40 || val.startsWith("0x") && val.length === 42,
2068
+ "App ID must be exactly 40 characters or 42 characters with 0x prefix"
2069
+ )
2060
2070
  }).strict();
2061
2071
  var GetAppEnvEncryptPubKeySchema = import_zod12.z.object({
2062
2072
  public_key: import_zod12.z.string(),
@@ -2162,9 +2172,37 @@ var CvmInfoSchema = import_zod13.z.object({
2162
2172
  gateway_domain: import_zod13.z.string().nullable(),
2163
2173
  public_urls: import_zod13.z.array(CvmNetworkUrlsSchema)
2164
2174
  }).partial();
2175
+ var CvmLegacyDetailSchema = import_zod13.z.object({
2176
+ id: import_zod13.z.number(),
2177
+ name: import_zod13.z.string(),
2178
+ status: import_zod13.z.string(),
2179
+ in_progress: import_zod13.z.boolean(),
2180
+ teepod_id: import_zod13.z.number().nullable(),
2181
+ teepod: CvmNodeSchema,
2182
+ app_id: import_zod13.z.string(),
2183
+ vm_uuid: import_zod13.z.string().nullable(),
2184
+ instance_id: import_zod13.z.string().nullable(),
2185
+ vcpu: import_zod13.z.number().nullable(),
2186
+ memory: import_zod13.z.number().nullable(),
2187
+ disk_size: import_zod13.z.number().nullable(),
2188
+ base_image: import_zod13.z.string(),
2189
+ encrypted_env_pubkey: import_zod13.z.string().nullable(),
2190
+ listed: import_zod13.z.boolean(),
2191
+ project_id: import_zod13.z.string().nullable(),
2192
+ project_type: import_zod13.z.string().nullable(),
2193
+ public_sysinfo: import_zod13.z.boolean(),
2194
+ public_logs: import_zod13.z.boolean(),
2195
+ dapp_dashboard_url: import_zod13.z.string().nullable(),
2196
+ syslog_endpoint: import_zod13.z.string().nullable(),
2197
+ kms_info: KMSInfoSchema.nullable(),
2198
+ contract_address: import_zod13.z.string().nullable(),
2199
+ deployer_address: import_zod13.z.string().nullable(),
2200
+ scheduled_delete_at: import_zod13.z.string().nullable(),
2201
+ public_urls: import_zod13.z.array(CvmNetworkUrlsSchema),
2202
+ gateway_domain: import_zod13.z.string().nullable()
2203
+ });
2165
2204
 
2166
2205
  // src/actions/get_cvm_info.ts
2167
- var GetCvmInfoSchema = CvmInfoSchema;
2168
2206
  var GetCvmInfoRequestSchema = import_zod14.z.object({
2169
2207
  id: import_zod14.z.string().optional(),
2170
2208
  uuid: import_zod14.z.string().regex(/^[0-9a-f]{8}[-]?[0-9a-f]{4}[-]?4[0-9a-f]{3}[-]?[89ab][0-9a-f]{3}[-]?[0-9a-f]{12}$/i).optional(),
@@ -2190,7 +2228,7 @@ async function getCvmInfo(client, request, parameters) {
2190
2228
  if (parameters?.schema === false) {
2191
2229
  return response;
2192
2230
  }
2193
- const schema = parameters?.schema || GetCvmInfoSchema;
2231
+ const schema = parameters?.schema || CvmLegacyDetailSchema;
2194
2232
  return schema.parse(response);
2195
2233
  }
2196
2234
  async function safeGetCvmInfo(client, request, parameters) {
@@ -2212,7 +2250,7 @@ async function safeGetCvmInfo(client, request, parameters) {
2212
2250
  data: httpResult.data
2213
2251
  };
2214
2252
  }
2215
- const schema = parameters?.schema || GetCvmInfoSchema;
2253
+ const schema = parameters?.schema || CvmLegacyDetailSchema;
2216
2254
  const validationResult = schema.safeParse(httpResult.data);
2217
2255
  return validationResult;
2218
2256
  }
@@ -2349,10 +2387,41 @@ async function safeGetKmsList(client, request, parameters) {
2349
2387
  return validationResult;
2350
2388
  }
2351
2389
 
2390
+ // src/parse_dotenv.ts
2391
+ var LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;
2392
+ function parseEnv(input) {
2393
+ const obj = {};
2394
+ let lines = input.toString();
2395
+ lines = lines.replace(/\r\n?/gm, "\n");
2396
+ let match;
2397
+ while ((match = LINE.exec(lines)) != null) {
2398
+ const key = match[1];
2399
+ if (!key) continue;
2400
+ let value = match[2] || "";
2401
+ value = value.trim();
2402
+ const maybeQuote = value[0];
2403
+ value = value.replace(/^(['"`])([\s\S]*)\1$/gm, "$2");
2404
+ if (maybeQuote === '"') {
2405
+ value = value.replace(/\\n/g, "\n");
2406
+ value = value.replace(/\\r/g, "\r");
2407
+ }
2408
+ obj[key] = value;
2409
+ }
2410
+ return obj;
2411
+ }
2412
+ function parseEnvVars(input) {
2413
+ const parsed = parseEnv(input);
2414
+ const result = [];
2415
+ for (const [key, value] of Object.entries(parsed)) {
2416
+ result.push({ key, value });
2417
+ }
2418
+ return result;
2419
+ }
2420
+
2352
2421
  // src/index.ts
2353
2422
  var import_encrypt_env_vars2 = require("@phala/dstack-sdk/encrypt-env-vars");
2354
- var import_dstack_sdk = require("@phala/dstack-sdk");
2355
- var import_dstack_sdk2 = require("@phala/dstack-sdk");
2423
+ var import_get_compose_hash2 = require("@phala/dstack-sdk/get-compose-hash");
2424
+ var import_verify_env_encrypt_public_key = require("@phala/dstack-sdk/verify-env-encrypt-public-key");
2356
2425
  // Annotate the CommonJS export names for ESM import in node:
2357
2426
  0 && (module.exports = {
2358
2427
  AddComposeHashSchema,
@@ -2363,11 +2432,11 @@ var import_dstack_sdk2 = require("@phala/dstack-sdk");
2363
2432
  CommitCvmProvisionRequestSchema,
2364
2433
  CommitCvmProvisionSchema,
2365
2434
  CurrentUserSchema,
2435
+ CvmLegacyDetailSchema,
2366
2436
  DeployAppAuthRequestSchema,
2367
2437
  DeployAppAuthSchema,
2368
2438
  GetAppEnvEncryptPubKeySchema,
2369
2439
  GetCvmComposeFileResultSchema,
2370
- GetCvmInfoSchema,
2371
2440
  GetCvmListSchema,
2372
2441
  GetKmsListSchema,
2373
2442
  NetworkError,
@@ -2408,6 +2477,8 @@ var import_dstack_sdk2 = require("@phala/dstack-sdk");
2408
2477
  getErrorMessage,
2409
2478
  getKmsInfo,
2410
2479
  getKmsList,
2480
+ parseEnv,
2481
+ parseEnvVars,
2411
2482
  provisionCvm,
2412
2483
  provisionCvmComposeFileUpdate,
2413
2484
  safeAddComposeHash,