@phala/cloud 0.2.1-beta.2 → 0.2.1-beta.4

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/index.mjs CHANGED
@@ -1091,18 +1091,28 @@ var refineCvmId = (schema) => schema.refine(
1091
1091
  );
1092
1092
  var CvmIdBaseSchema = refineCvmId(CvmIdObjectSchema);
1093
1093
  var CvmIdSchema = CvmIdBaseSchema.transform((data) => {
1094
- let cvmId;
1094
+ let rawValue;
1095
1095
  if (data.id) {
1096
- cvmId = data.id;
1096
+ rawValue = data.id;
1097
1097
  } else if (data.uuid) {
1098
- cvmId = data.uuid.replace(/-/g, "");
1098
+ rawValue = data.uuid;
1099
1099
  } else if (data.app_id) {
1100
- cvmId = data.app_id.startsWith("app_") ? data.app_id : `app_${data.app_id}`;
1100
+ rawValue = data.app_id;
1101
1101
  } else if (data.instance_id) {
1102
- cvmId = data.instance_id.startsWith("instance_") ? data.instance_id : `instance_${data.instance_id}`;
1102
+ rawValue = data.instance_id;
1103
1103
  } else {
1104
1104
  throw new Error("No valid identifier provided");
1105
1105
  }
1106
+ const uuidRegex = /^[0-9a-f]{8}[-]?[0-9a-f]{4}[-]?4[0-9a-f]{3}[-]?[89ab][0-9a-f]{3}[-]?[0-9a-f]{12}$/i;
1107
+ const appIdRegex = /^[0-9a-f]{40}$/i;
1108
+ let cvmId;
1109
+ if (uuidRegex.test(rawValue)) {
1110
+ cvmId = rawValue.replace(/-/g, "");
1111
+ } else if (appIdRegex.test(rawValue)) {
1112
+ cvmId = `app_${rawValue}`;
1113
+ } else {
1114
+ cvmId = rawValue;
1115
+ }
1106
1116
  return { cvmId };
1107
1117
  });
1108
1118
 
@@ -1189,7 +1199,12 @@ var ProvisionCvmRequestSchema = z10.object({
1189
1199
  // KMS type selection (defaults to PHALA)
1190
1200
  kms_contract: z10.string().optional(),
1191
1201
  // KMS contract address for on-chain KMS
1192
- env_keys: z10.array(z10.string()).optional()
1202
+ env_keys: z10.array(z10.string()).optional(),
1203
+ // Manual nonce specification (Advanced - PHALA KMS only)
1204
+ nonce: z10.number().optional(),
1205
+ // User-specified nonce for deterministic app_id generation
1206
+ app_id: z10.string().optional()
1207
+ // Expected app_id (must match calculated app_id from nonce)
1193
1208
  }).passthrough();
1194
1209
  function handleGatewayCompatibility(appCompose) {
1195
1210
  if (!appCompose.compose_file) {
@@ -1424,10 +1439,89 @@ var { action: commitCvmComposeFileUpdate, safeAction: safeCommitCvmComposeFileUp
1424
1439
  }
1425
1440
  );
1426
1441
 
1427
- // src/actions/kms/get_kms_info.ts
1442
+ // src/actions/cvms/update_cvm_envs.ts
1428
1443
  import { z as z15 } from "zod";
1429
- var GetKmsInfoRequestSchema = z15.object({
1430
- kms_id: z15.string().min(1, "KMS ID is required")
1444
+ var UpdateCvmEnvsRequestSchema = z15.object({
1445
+ id: z15.string().optional(),
1446
+ uuid: z15.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(),
1447
+ app_id: z15.string().refine(
1448
+ (val) => !val.startsWith("app_") && val.length === 40,
1449
+ "app_id should be 40 characters without prefix"
1450
+ ).transform((val) => val.startsWith("app_") ? val : `app_${val}`).optional(),
1451
+ instance_id: z15.string().refine(
1452
+ (val) => !val.startsWith("instance_") && val.length === 40,
1453
+ "instance_id should be 40 characters without prefix"
1454
+ ).transform((val) => val.startsWith("instance_") ? val : `instance_${val}`).optional(),
1455
+ encrypted_env: z15.string().describe("Encrypted environment variables (hex string)"),
1456
+ env_keys: z15.array(z15.string()).optional().describe("List of allowed environment variable keys"),
1457
+ compose_hash: z15.string().optional().describe("Compose hash for verification (Phase 2, required when env_keys changes)"),
1458
+ transaction_hash: z15.string().optional().describe(
1459
+ "On-chain transaction hash for verification (Phase 2, required when env_keys changes)"
1460
+ )
1461
+ }).refine(
1462
+ (data) => !!(data.id || data.uuid || data.app_id || data.instance_id),
1463
+ "One of id, uuid, app_id, or instance_id must be provided"
1464
+ ).transform((data) => {
1465
+ return {
1466
+ cvmId: data.id || data.uuid || data.app_id || data.instance_id,
1467
+ request: {
1468
+ encrypted_env: data.encrypted_env,
1469
+ env_keys: data.env_keys,
1470
+ compose_hash: data.compose_hash,
1471
+ transaction_hash: data.transaction_hash
1472
+ },
1473
+ _raw: data
1474
+ };
1475
+ });
1476
+ var UpdateCvmEnvsInProgressSchema = z15.object({
1477
+ status: z15.literal("in_progress"),
1478
+ message: z15.string(),
1479
+ correlation_id: z15.string(),
1480
+ allowed_envs_changed: z15.boolean()
1481
+ });
1482
+ var UpdateCvmEnvsPreconditionRequiredSchema = z15.object({
1483
+ status: z15.literal("precondition_required"),
1484
+ message: z15.string(),
1485
+ compose_hash: z15.string(),
1486
+ app_id: z15.string(),
1487
+ device_id: z15.string(),
1488
+ kms_info: KmsInfoSchema
1489
+ });
1490
+ var UpdateCvmEnvsResultSchema = z15.union([
1491
+ UpdateCvmEnvsInProgressSchema,
1492
+ UpdateCvmEnvsPreconditionRequiredSchema
1493
+ ]);
1494
+ var { action: updateCvmEnvs, safeAction: safeUpdateCvmEnvs } = defineAction(UpdateCvmEnvsResultSchema, async (client, request) => {
1495
+ const validatedRequest = UpdateCvmEnvsRequestSchema.parse(request);
1496
+ try {
1497
+ const response = await client.patch(
1498
+ `/cvms/${validatedRequest.cvmId}/envs`,
1499
+ validatedRequest.request
1500
+ );
1501
+ return response;
1502
+ } catch (error) {
1503
+ if (error instanceof PhalaCloudError && error.status === 428) {
1504
+ const detail = error.detail;
1505
+ if (detail && typeof detail === "object") {
1506
+ const detailObj = detail;
1507
+ return {
1508
+ status: "precondition_required",
1509
+ message: detailObj.message || "Compose hash verification required",
1510
+ compose_hash: detailObj.compose_hash,
1511
+ app_id: detailObj.app_id,
1512
+ device_id: detailObj.device_id,
1513
+ kms_info: detailObj.kms_info
1514
+ };
1515
+ }
1516
+ }
1517
+ throw error;
1518
+ }
1519
+ });
1520
+
1521
+ // src/actions/kms/get_kms_info.ts
1522
+ import { z as z16 } from "zod";
1523
+ var GetKmsInfoRequestSchema = z16.object({
1524
+ kms_id: z16.string().min(1, "KMS ID is required")
1431
1525
  });
1432
1526
  var { action: getKmsInfo, safeAction: safeGetKmsInfo } = defineAction(KmsInfoSchema, async (client, request) => {
1433
1527
  const validatedRequest = GetKmsInfoRequestSchema.parse(request);
@@ -1435,18 +1529,18 @@ var { action: getKmsInfo, safeAction: safeGetKmsInfo } = defineAction(KmsInfoSch
1435
1529
  });
1436
1530
 
1437
1531
  // src/actions/kms/get_kms_list.ts
1438
- import { z as z16 } from "zod";
1439
- var GetKmsListRequestSchema = z16.object({
1440
- page: z16.number().int().min(1).optional(),
1441
- page_size: z16.number().int().min(1).optional(),
1442
- is_onchain: z16.boolean().optional()
1532
+ import { z as z17 } from "zod";
1533
+ var GetKmsListRequestSchema = z17.object({
1534
+ page: z17.number().int().min(1).optional(),
1535
+ page_size: z17.number().int().min(1).optional(),
1536
+ is_onchain: z17.boolean().optional()
1443
1537
  }).strict();
1444
- var GetKmsListSchema = z16.object({
1445
- items: z16.array(KmsInfoSchema),
1446
- total: z16.number(),
1447
- page: z16.number(),
1448
- page_size: z16.number(),
1449
- pages: z16.number()
1538
+ var GetKmsListSchema = z17.object({
1539
+ items: z17.array(KmsInfoSchema),
1540
+ total: z17.number(),
1541
+ page: z17.number(),
1542
+ page_size: z17.number(),
1543
+ pages: z17.number()
1450
1544
  }).strict();
1451
1545
  var { action: getKmsList, safeAction: safeGetKmsList } = defineAction(GetKmsListSchema, async (client, request) => {
1452
1546
  const validatedRequest = GetKmsListRequestSchema.parse(request ?? {});
@@ -1454,17 +1548,17 @@ var { action: getKmsList, safeAction: safeGetKmsList } = defineAction(GetKmsList
1454
1548
  });
1455
1549
 
1456
1550
  // src/actions/kms/get_app_env_encrypt_pubkey.ts
1457
- import { z as z17 } from "zod";
1458
- var GetAppEnvEncryptPubKeyRequestSchema = z17.object({
1459
- kms: z17.string().min(1, "KMS ID or slug is required"),
1460
- app_id: z17.string().refine(
1551
+ import { z as z18 } from "zod";
1552
+ var GetAppEnvEncryptPubKeyRequestSchema = z18.object({
1553
+ kms: z18.string().min(1, "KMS ID or slug is required"),
1554
+ app_id: z18.string().refine(
1461
1555
  (val) => val.length === 40 || val.startsWith("0x") && val.length === 42,
1462
1556
  "App ID must be exactly 40 characters or 42 characters with 0x prefix"
1463
1557
  )
1464
1558
  }).strict();
1465
- var GetAppEnvEncryptPubKeySchema = z17.object({
1466
- public_key: z17.string(),
1467
- signature: z17.string()
1559
+ var GetAppEnvEncryptPubKeySchema = z18.object({
1560
+ public_key: z18.string(),
1561
+ signature: z18.string()
1468
1562
  }).strict();
1469
1563
  var { action: getAppEnvEncryptPubKey, safeAction: safeGetAppEnvEncryptPubKey } = defineAction(GetAppEnvEncryptPubKeySchema, async (client, payload) => {
1470
1564
  const validatedRequest = GetAppEnvEncryptPubKeyRequestSchema.parse(payload);
@@ -1472,15 +1566,15 @@ var { action: getAppEnvEncryptPubKey, safeAction: safeGetAppEnvEncryptPubKey } =
1472
1566
  });
1473
1567
 
1474
1568
  // src/actions/kms/next_app_ids.ts
1475
- import { z as z18 } from "zod";
1476
- var NextAppIdsRequestSchema = z18.object({
1477
- counts: z18.number().int().min(1).max(20).optional().default(1)
1569
+ import { z as z19 } from "zod";
1570
+ var NextAppIdsRequestSchema = z19.object({
1571
+ counts: z19.number().int().min(1).max(20).optional().default(1)
1478
1572
  }).strict();
1479
- var NextAppIdsSchema = z18.object({
1480
- app_ids: z18.array(
1481
- z18.object({
1482
- app_id: z18.string(),
1483
- nonce: z18.number().int().min(0)
1573
+ var NextAppIdsSchema = z19.object({
1574
+ app_ids: z19.array(
1575
+ z19.object({
1576
+ app_id: z19.string(),
1577
+ nonce: z19.number().int().min(0)
1484
1578
  })
1485
1579
  )
1486
1580
  }).strict();
@@ -1516,10 +1610,10 @@ var { action: shutdownCvm, safeAction: safeShutdownCvm } = defineAction(VMSchema
1516
1610
  });
1517
1611
 
1518
1612
  // src/actions/cvms/restart_cvm.ts
1519
- import { z as z19 } from "zod";
1613
+ import { z as z20 } from "zod";
1520
1614
  var RestartCvmRequestSchema = refineCvmId(
1521
1615
  CvmIdObjectSchema.extend({
1522
- force: z19.boolean().optional()
1616
+ force: z20.boolean().optional()
1523
1617
  })
1524
1618
  );
1525
1619
  var { action: restartCvm, safeAction: safeRestartCvm } = defineAction(VMSchema, async (client, request) => {
@@ -1530,10 +1624,10 @@ var { action: restartCvm, safeAction: safeRestartCvm } = defineAction(VMSchema,
1530
1624
  });
1531
1625
 
1532
1626
  // src/actions/cvms/delete_cvm.ts
1533
- import { z as z20 } from "zod";
1627
+ import { z as z21 } from "zod";
1534
1628
  var DeleteCvmRequestSchema = CvmIdSchema;
1535
1629
  var { action: deleteCvm, safeAction: safeDeleteCvm } = defineAction(
1536
- z20.void(),
1630
+ z21.void(),
1537
1631
  async (client, request) => {
1538
1632
  const { cvmId } = DeleteCvmRequestSchema.parse(request);
1539
1633
  await client.delete(`/cvms/${cvmId}`);
@@ -1542,41 +1636,41 @@ var { action: deleteCvm, safeAction: safeDeleteCvm } = defineAction(
1542
1636
  );
1543
1637
 
1544
1638
  // src/actions/cvms/get_cvm_stats.ts
1545
- import { z as z21 } from "zod";
1546
- var DiskInfoSchema = z21.object({
1547
- name: z21.string(),
1548
- mount_point: z21.string(),
1549
- total_size: z21.number(),
1550
- free_size: z21.number()
1639
+ import { z as z22 } from "zod";
1640
+ var DiskInfoSchema = z22.object({
1641
+ name: z22.string(),
1642
+ mount_point: z22.string(),
1643
+ total_size: z22.number(),
1644
+ free_size: z22.number()
1551
1645
  });
1552
- var SystemInfoSchema = z21.object({
1553
- os_name: z21.string(),
1554
- os_version: z21.string(),
1555
- kernel_version: z21.string(),
1556
- cpu_model: z21.string(),
1557
- num_cpus: z21.number(),
1558
- total_memory: z21.number(),
1559
- available_memory: z21.number(),
1560
- used_memory: z21.number(),
1561
- free_memory: z21.number(),
1562
- total_swap: z21.number(),
1563
- used_swap: z21.number(),
1564
- free_swap: z21.number(),
1565
- uptime: z21.number(),
1566
- loadavg_one: z21.number(),
1567
- loadavg_five: z21.number(),
1568
- loadavg_fifteen: z21.number(),
1569
- disks: z21.array(DiskInfoSchema)
1646
+ var SystemInfoSchema = z22.object({
1647
+ os_name: z22.string(),
1648
+ os_version: z22.string(),
1649
+ kernel_version: z22.string(),
1650
+ cpu_model: z22.string(),
1651
+ num_cpus: z22.number(),
1652
+ total_memory: z22.number(),
1653
+ available_memory: z22.number(),
1654
+ used_memory: z22.number(),
1655
+ free_memory: z22.number(),
1656
+ total_swap: z22.number(),
1657
+ used_swap: z22.number(),
1658
+ free_swap: z22.number(),
1659
+ uptime: z22.number(),
1660
+ loadavg_one: z22.number(),
1661
+ loadavg_five: z22.number(),
1662
+ loadavg_fifteen: z22.number(),
1663
+ disks: z22.array(DiskInfoSchema)
1570
1664
  });
1571
- var CvmSystemInfoSchema = z21.object({
1572
- is_online: z21.boolean(),
1573
- is_public: z21.boolean().default(false),
1574
- error: z21.string().nullable(),
1665
+ var CvmSystemInfoSchema = z22.object({
1666
+ is_online: z22.boolean(),
1667
+ is_public: z22.boolean().default(false),
1668
+ error: z22.string().nullable(),
1575
1669
  sysinfo: SystemInfoSchema.nullable(),
1576
- status: z21.string().nullable(),
1577
- in_progress: z21.boolean().default(false),
1578
- boot_progress: z21.string().nullable(),
1579
- boot_error: z21.string().nullable()
1670
+ status: z22.string().nullable(),
1671
+ in_progress: z22.boolean().default(false),
1672
+ boot_progress: z22.string().nullable(),
1673
+ boot_error: z22.string().nullable()
1580
1674
  });
1581
1675
  var GetCvmStatsRequestSchema = CvmIdSchema;
1582
1676
  var { action: getCvmStats, safeAction: safeGetCvmStats } = defineAction(CvmSystemInfoSchema, async (client, request) => {
@@ -1585,18 +1679,18 @@ var { action: getCvmStats, safeAction: safeGetCvmStats } = defineAction(CvmSyste
1585
1679
  });
1586
1680
 
1587
1681
  // src/actions/cvms/get_cvm_network.ts
1588
- import { z as z22 } from "zod";
1589
- var CvmNetworkUrlsSchema2 = z22.object({
1590
- app: z22.string(),
1591
- instance: z22.string()
1682
+ import { z as z23 } from "zod";
1683
+ var CvmNetworkUrlsSchema2 = z23.object({
1684
+ app: z23.string(),
1685
+ instance: z23.string()
1592
1686
  });
1593
- var CvmNetworkSchema = z22.object({
1594
- is_online: z22.boolean(),
1595
- is_public: z22.boolean().default(true),
1596
- error: z22.string().nullable(),
1597
- internal_ip: z22.string().nullable(),
1598
- latest_handshake: z22.string().nullable(),
1599
- public_urls: z22.array(CvmNetworkUrlsSchema2).nullable()
1687
+ var CvmNetworkSchema = z23.object({
1688
+ is_online: z23.boolean(),
1689
+ is_public: z23.boolean().default(true),
1690
+ error: z23.string().nullable(),
1691
+ internal_ip: z23.string().nullable(),
1692
+ latest_handshake: z23.string().nullable(),
1693
+ public_urls: z23.array(CvmNetworkUrlsSchema2).nullable()
1600
1694
  });
1601
1695
  var GetCvmNetworkRequestSchema = CvmIdSchema;
1602
1696
  var { action: getCvmNetwork, safeAction: safeGetCvmNetwork } = defineAction(CvmNetworkSchema, async (client, request) => {
@@ -1605,36 +1699,36 @@ var { action: getCvmNetwork, safeAction: safeGetCvmNetwork } = defineAction(CvmN
1605
1699
  });
1606
1700
 
1607
1701
  // src/actions/cvms/get_cvm_docker_compose.ts
1608
- import { z as z23 } from "zod";
1702
+ import { z as z24 } from "zod";
1609
1703
  var GetCvmDockerComposeRequestSchema = CvmIdSchema;
1610
- var { action: getCvmDockerCompose, safeAction: safeGetCvmDockerCompose } = defineAction(z23.string(), async (client, request) => {
1704
+ var { action: getCvmDockerCompose, safeAction: safeGetCvmDockerCompose } = defineAction(z24.string(), async (client, request) => {
1611
1705
  const { cvmId } = GetCvmDockerComposeRequestSchema.parse(request);
1612
1706
  return await client.get(`/cvms/${cvmId}/docker-compose.yml`);
1613
1707
  });
1614
1708
 
1615
1709
  // src/actions/cvms/get_cvm_containers_stats.ts
1616
- import { z as z24 } from "zod";
1617
- var ContainerInfoSchema = z24.object({
1618
- id: z24.string(),
1619
- names: z24.array(z24.string()),
1620
- image: z24.string(),
1621
- image_id: z24.string(),
1622
- command: z24.string().nullable().optional(),
1623
- created: z24.number(),
1624
- state: z24.string(),
1625
- status: z24.string(),
1626
- log_endpoint: z24.string().nullable()
1710
+ import { z as z25 } from "zod";
1711
+ var ContainerInfoSchema = z25.object({
1712
+ id: z25.string(),
1713
+ names: z25.array(z25.string()),
1714
+ image: z25.string(),
1715
+ image_id: z25.string(),
1716
+ command: z25.string().nullable().optional(),
1717
+ created: z25.number(),
1718
+ state: z25.string(),
1719
+ status: z25.string(),
1720
+ log_endpoint: z25.string().nullable()
1627
1721
  });
1628
- var CvmContainersStatsSchema = z24.object({
1629
- is_online: z24.boolean(),
1630
- is_public: z24.boolean().default(true),
1631
- error: z24.string().nullable(),
1632
- docker_compose_file: z24.string().nullable(),
1633
- manifest_version: z24.number().nullable(),
1634
- version: z24.string().nullable(),
1635
- runner: z24.string().nullable(),
1636
- features: z24.array(z24.string()).nullable(),
1637
- containers: z24.array(ContainerInfoSchema).nullable()
1722
+ var CvmContainersStatsSchema = z25.object({
1723
+ is_online: z25.boolean(),
1724
+ is_public: z25.boolean().default(true),
1725
+ error: z25.string().nullable(),
1726
+ docker_compose_file: z25.string().nullable(),
1727
+ manifest_version: z25.number().nullable(),
1728
+ version: z25.string().nullable(),
1729
+ runner: z25.string().nullable(),
1730
+ features: z25.array(z25.string()).nullable(),
1731
+ containers: z25.array(ContainerInfoSchema).nullable()
1638
1732
  });
1639
1733
  var GetCvmContainersStatsRequestSchema = CvmIdSchema;
1640
1734
  var { action: getCvmContainersStats, safeAction: safeGetCvmContainersStats } = defineAction(CvmContainersStatsSchema, async (client, request) => {
@@ -1643,62 +1737,62 @@ var { action: getCvmContainersStats, safeAction: safeGetCvmContainersStats } = d
1643
1737
  });
1644
1738
 
1645
1739
  // src/actions/cvms/get_cvm_attestation.ts
1646
- import { z as z25 } from "zod";
1647
- var CertificateSubjectSchema = z25.object({
1648
- common_name: z25.string().nullable(),
1649
- organization: z25.string().nullable(),
1650
- country: z25.string().nullable(),
1651
- state: z25.string().nullable(),
1652
- locality: z25.string().nullable()
1740
+ import { z as z26 } from "zod";
1741
+ var CertificateSubjectSchema = z26.object({
1742
+ common_name: z26.string().nullable(),
1743
+ organization: z26.string().nullable(),
1744
+ country: z26.string().nullable(),
1745
+ state: z26.string().nullable(),
1746
+ locality: z26.string().nullable()
1653
1747
  });
1654
- var CertificateIssuerSchema = z25.object({
1655
- common_name: z25.string().nullable(),
1656
- organization: z25.string().nullable(),
1657
- country: z25.string().nullable()
1748
+ var CertificateIssuerSchema = z26.object({
1749
+ common_name: z26.string().nullable(),
1750
+ organization: z26.string().nullable(),
1751
+ country: z26.string().nullable()
1658
1752
  });
1659
- var CertificateSchema = z25.object({
1753
+ var CertificateSchema = z26.object({
1660
1754
  subject: CertificateSubjectSchema,
1661
1755
  issuer: CertificateIssuerSchema,
1662
- serial_number: z25.string(),
1663
- not_before: z25.string(),
1756
+ serial_number: z26.string(),
1757
+ not_before: z26.string(),
1664
1758
  // datetime serialized as ISO string
1665
- not_after: z25.string(),
1759
+ not_after: z26.string(),
1666
1760
  // datetime serialized as ISO string
1667
- version: z25.string(),
1668
- fingerprint: z25.string(),
1669
- signature_algorithm: z25.string(),
1670
- sans: z25.array(z25.string()).nullable(),
1671
- is_ca: z25.boolean(),
1672
- position_in_chain: z25.number().nullable(),
1673
- quote: z25.string().nullable(),
1674
- app_id: z25.string().nullable().optional(),
1675
- cert_usage: z25.string().nullable().optional()
1761
+ version: z26.string(),
1762
+ fingerprint: z26.string(),
1763
+ signature_algorithm: z26.string(),
1764
+ sans: z26.array(z26.string()).nullable(),
1765
+ is_ca: z26.boolean(),
1766
+ position_in_chain: z26.number().nullable(),
1767
+ quote: z26.string().nullable(),
1768
+ app_id: z26.string().nullable().optional(),
1769
+ cert_usage: z26.string().nullable().optional()
1676
1770
  });
1677
- var EventLogSchema = z25.object({
1678
- imr: z25.number(),
1679
- event_type: z25.number(),
1680
- digest: z25.string(),
1681
- event: z25.string(),
1682
- event_payload: z25.string()
1771
+ var EventLogSchema = z26.object({
1772
+ imr: z26.number(),
1773
+ event_type: z26.number(),
1774
+ digest: z26.string(),
1775
+ event: z26.string(),
1776
+ event_payload: z26.string()
1683
1777
  });
1684
- var TcbInfoSchema = z25.object({
1685
- mrtd: z25.string(),
1686
- rootfs_hash: z25.string().nullable().optional(),
1687
- rtmr0: z25.string(),
1688
- rtmr1: z25.string(),
1689
- rtmr2: z25.string(),
1690
- rtmr3: z25.string(),
1691
- event_log: z25.array(EventLogSchema),
1692
- app_compose: z25.string()
1778
+ var TcbInfoSchema = z26.object({
1779
+ mrtd: z26.string(),
1780
+ rootfs_hash: z26.string().nullable().optional(),
1781
+ rtmr0: z26.string(),
1782
+ rtmr1: z26.string(),
1783
+ rtmr2: z26.string(),
1784
+ rtmr3: z26.string(),
1785
+ event_log: z26.array(EventLogSchema),
1786
+ app_compose: z26.string()
1693
1787
  });
1694
- var CvmAttestationSchema = z25.object({
1695
- name: z25.string().nullable(),
1696
- is_online: z25.boolean(),
1697
- is_public: z25.boolean().default(true),
1698
- error: z25.string().nullable(),
1699
- app_certificates: z25.array(CertificateSchema).nullable(),
1788
+ var CvmAttestationSchema = z26.object({
1789
+ name: z26.string().nullable(),
1790
+ is_online: z26.boolean(),
1791
+ is_public: z26.boolean().default(true),
1792
+ error: z26.string().nullable(),
1793
+ app_certificates: z26.array(CertificateSchema).nullable(),
1700
1794
  tcb_info: TcbInfoSchema.nullable(),
1701
- compose_file: z25.string().nullable()
1795
+ compose_file: z26.string().nullable()
1702
1796
  });
1703
1797
  var GetCvmAttestationRequestSchema = CvmIdSchema;
1704
1798
  var { action: getCvmAttestation, safeAction: safeGetCvmAttestation } = defineAction(CvmAttestationSchema, async (client, request) => {
@@ -1707,17 +1801,17 @@ var { action: getCvmAttestation, safeAction: safeGetCvmAttestation } = defineAct
1707
1801
  });
1708
1802
 
1709
1803
  // src/actions/cvms/update_cvm_resources.ts
1710
- import { z as z26 } from "zod";
1804
+ import { z as z27 } from "zod";
1711
1805
  var UpdateCvmResourcesRequestSchema = refineCvmId(
1712
1806
  CvmIdObjectSchema.extend({
1713
- vcpu: z26.number().optional(),
1714
- memory: z26.number().optional(),
1715
- disk_size: z26.number().optional(),
1716
- instance_type: z26.string().optional(),
1717
- allow_restart: z26.boolean().optional()
1807
+ vcpu: z27.number().optional(),
1808
+ memory: z27.number().optional(),
1809
+ disk_size: z27.number().optional(),
1810
+ instance_type: z27.string().optional(),
1811
+ allow_restart: z27.boolean().optional()
1718
1812
  })
1719
1813
  );
1720
- var { action: updateCvmResources, safeAction: safeUpdateCvmResources } = defineAction(z26.void(), async (client, request) => {
1814
+ var { action: updateCvmResources, safeAction: safeUpdateCvmResources } = defineAction(z27.void(), async (client, request) => {
1721
1815
  const parsed = UpdateCvmResourcesRequestSchema.parse(request);
1722
1816
  const { cvmId } = CvmIdSchema.parse(parsed);
1723
1817
  const { ...body } = parsed;
@@ -1726,11 +1820,11 @@ var { action: updateCvmResources, safeAction: safeUpdateCvmResources } = defineA
1726
1820
  });
1727
1821
 
1728
1822
  // src/actions/cvms/update_cvm_visibility.ts
1729
- import { z as z27 } from "zod";
1823
+ import { z as z28 } from "zod";
1730
1824
  var UpdateCvmVisibilityRequestSchema = refineCvmId(
1731
1825
  CvmIdObjectSchema.extend({
1732
- public_sysinfo: z27.boolean(),
1733
- public_logs: z27.boolean()
1826
+ public_sysinfo: z28.boolean(),
1827
+ public_logs: z28.boolean()
1734
1828
  })
1735
1829
  );
1736
1830
  var { action: updateCvmVisibility, safeAction: safeUpdateCvmVisibility } = defineAction(CvmLegacyDetailSchema, async (client, request) => {
@@ -1741,21 +1835,21 @@ var { action: updateCvmVisibility, safeAction: safeUpdateCvmVisibility } = defin
1741
1835
  });
1742
1836
 
1743
1837
  // src/actions/cvms/get_available_os_images.ts
1744
- import { z as z28 } from "zod";
1745
- var OSImageVariantSchema = z28.object({
1746
- name: z28.string(),
1747
- os_image_hash: z28.string().nullable(),
1748
- is_current: z28.boolean()
1838
+ import { z as z29 } from "zod";
1839
+ var OSImageVariantSchema = z29.object({
1840
+ name: z29.string(),
1841
+ os_image_hash: z29.string().nullable(),
1842
+ is_current: z29.boolean()
1749
1843
  });
1750
- var AvailableOSImageSchema2 = z28.object({
1751
- version: z28.union([
1752
- z28.tuple([z28.number(), z28.number(), z28.number(), z28.number()]),
1753
- z28.tuple([z28.number(), z28.number(), z28.number()])
1844
+ var AvailableOSImageSchema2 = z29.object({
1845
+ version: z29.union([
1846
+ z29.tuple([z29.number(), z29.number(), z29.number(), z29.number()]),
1847
+ z29.tuple([z29.number(), z29.number(), z29.number()])
1754
1848
  ]),
1755
1849
  prod: OSImageVariantSchema.nullable(),
1756
1850
  dev: OSImageVariantSchema.nullable()
1757
1851
  });
1758
- var GetAvailableOSImagesResponseSchema = z28.array(AvailableOSImageSchema2);
1852
+ var GetAvailableOSImagesResponseSchema = z29.array(AvailableOSImageSchema2);
1759
1853
  var GetAvailableOSImagesRequestSchema = CvmIdSchema;
1760
1854
  var { action: getAvailableOsImages, safeAction: safeGetAvailableOsImages } = defineAction(GetAvailableOSImagesResponseSchema, async (client, request) => {
1761
1855
  const { cvmId } = GetAvailableOSImagesRequestSchema.parse(request);
@@ -1763,13 +1857,13 @@ var { action: getAvailableOsImages, safeAction: safeGetAvailableOsImages } = def
1763
1857
  });
1764
1858
 
1765
1859
  // src/actions/cvms/update_os_image.ts
1766
- import { z as z29 } from "zod";
1860
+ import { z as z30 } from "zod";
1767
1861
  var UpdateOsImageRequestSchema = refineCvmId(
1768
1862
  CvmIdObjectSchema.extend({
1769
- os_image_name: z29.string().min(1, "OS image name is required")
1863
+ os_image_name: z30.string().min(1, "OS image name is required")
1770
1864
  })
1771
1865
  );
1772
- var { action: updateOsImage, safeAction: safeUpdateOsImage } = defineAction(z29.void(), async (client, request) => {
1866
+ var { action: updateOsImage, safeAction: safeUpdateOsImage } = defineAction(z30.void(), async (client, request) => {
1773
1867
  const parsed = UpdateOsImageRequestSchema.parse(request);
1774
1868
  const { cvmId } = CvmIdSchema.parse(parsed);
1775
1869
  const { os_image_name } = parsed;
@@ -1778,17 +1872,17 @@ var { action: updateOsImage, safeAction: safeUpdateOsImage } = defineAction(z29.
1778
1872
  });
1779
1873
 
1780
1874
  // src/actions/cvms/get_cvm_state.ts
1781
- import { z as z30 } from "zod";
1782
- var CvmStateSchema = z30.object({
1783
- id: z30.string().optional(),
1784
- instance_id: z30.string().optional(),
1785
- name: z30.string(),
1786
- status: z30.string(),
1787
- uptime: z30.string().optional(),
1788
- exited_at: z30.string().optional(),
1789
- boot_progress: z30.string().optional(),
1790
- boot_error: z30.string().optional(),
1791
- shutdown_progress: z30.string().optional()
1875
+ import { z as z31 } from "zod";
1876
+ var CvmStateSchema = z31.object({
1877
+ id: z31.string().optional(),
1878
+ instance_id: z31.string().optional(),
1879
+ name: z31.string(),
1880
+ status: z31.string(),
1881
+ uptime: z31.string().optional(),
1882
+ exited_at: z31.string().optional(),
1883
+ boot_progress: z31.string().optional(),
1884
+ boot_error: z31.string().optional(),
1885
+ shutdown_progress: z31.string().optional()
1792
1886
  });
1793
1887
  var GetCvmStateRequestSchema = CvmIdSchema;
1794
1888
  var { action: getCvmState, safeAction: safeGetCvmState } = defineAction(CvmStateSchema, async (client, request) => {
@@ -1826,6 +1920,8 @@ function createClient2(config = {}) {
1826
1920
  safeProvisionCvmComposeFileUpdate,
1827
1921
  commitCvmComposeFileUpdate,
1828
1922
  safeCommitCvmComposeFileUpdate,
1923
+ updateCvmEnvs,
1924
+ safeUpdateCvmEnvs,
1829
1925
  startCvm,
1830
1926
  safeStartCvm,
1831
1927
  stopCvm,
@@ -1869,7 +1965,7 @@ function createClient2(config = {}) {
1869
1965
  }
1870
1966
 
1871
1967
  // src/actions/blockchains/deploy_app_auth.ts
1872
- import { z as z31 } from "zod";
1968
+ import { z as z32 } from "zod";
1873
1969
  import {
1874
1970
  createPublicClient as createPublicClient2,
1875
1971
  createWalletClient as createWalletClient2,
@@ -2530,25 +2626,25 @@ var kmsAuthAbi = [
2530
2626
  anonymous: false
2531
2627
  }
2532
2628
  ];
2533
- var DeployAppAuthRequestBaseSchema = z31.object({
2629
+ var DeployAppAuthRequestBaseSchema = z32.object({
2534
2630
  // Chain configuration (conditionally required)
2535
- chain: z31.unknown().optional(),
2536
- rpcUrl: z31.string().optional(),
2631
+ chain: z32.unknown().optional(),
2632
+ rpcUrl: z32.string().optional(),
2537
2633
  // Contract configuration (required)
2538
- kmsContractAddress: z31.string(),
2634
+ kmsContractAddress: z32.string(),
2539
2635
  // Authentication mode: either privateKey OR walletClient (required, mutually exclusive)
2540
- privateKey: z31.string().optional(),
2541
- walletClient: z31.unknown().optional(),
2636
+ privateKey: z32.string().optional(),
2637
+ walletClient: z32.unknown().optional(),
2542
2638
  // Public client (optional, will create default if not provided)
2543
- publicClient: z31.unknown().optional(),
2639
+ publicClient: z32.unknown().optional(),
2544
2640
  // App configuration (optional)
2545
- allowAnyDevice: z31.boolean().optional().default(false),
2546
- deviceId: z31.string().optional().default("0000000000000000000000000000000000000000000000000000000000000000"),
2547
- composeHash: z31.string().optional().default("0000000000000000000000000000000000000000000000000000000000000000"),
2548
- disableUpgrades: z31.boolean().optional().default(false),
2641
+ allowAnyDevice: z32.boolean().optional().default(false),
2642
+ deviceId: z32.string().optional().default("0000000000000000000000000000000000000000000000000000000000000000"),
2643
+ composeHash: z32.string().optional().default("0000000000000000000000000000000000000000000000000000000000000000"),
2644
+ disableUpgrades: z32.boolean().optional().default(false),
2549
2645
  // Validation configuration (optional)
2550
- skipPrerequisiteChecks: z31.boolean().optional().default(false),
2551
- minBalance: z31.string().optional()
2646
+ skipPrerequisiteChecks: z32.boolean().optional().default(false),
2647
+ minBalance: z32.string().optional()
2552
2648
  // ETH amount as string, e.g., "0.01"
2553
2649
  }).passthrough();
2554
2650
  var DeployAppAuthRequestSchema = DeployAppAuthRequestBaseSchema.refine(
@@ -2576,13 +2672,13 @@ var DeployAppAuthRequestSchema = DeployAppAuthRequestBaseSchema.refine(
2576
2672
  path: ["chain"]
2577
2673
  }
2578
2674
  );
2579
- var DeployAppAuthSchema = z31.object({
2580
- appId: z31.string(),
2581
- appAuthAddress: z31.string(),
2582
- deployer: z31.string(),
2583
- transactionHash: z31.string(),
2584
- blockNumber: z31.bigint().optional(),
2585
- gasUsed: z31.bigint().optional()
2675
+ var DeployAppAuthSchema = z32.object({
2676
+ appId: z32.string(),
2677
+ appAuthAddress: z32.string(),
2678
+ deployer: z32.string(),
2679
+ transactionHash: z32.string(),
2680
+ blockNumber: z32.bigint().optional(),
2681
+ gasUsed: z32.bigint().optional()
2586
2682
  }).passthrough();
2587
2683
  function parseDeploymentResult(receipt, deployer, kmsContractAddress) {
2588
2684
  try {
@@ -2828,7 +2924,7 @@ async function safeDeployAppAuth(request, parameters) {
2828
2924
  }
2829
2925
 
2830
2926
  // src/actions/blockchains/add_compose_hash.ts
2831
- import { z as z32 } from "zod";
2927
+ import { z as z33 } from "zod";
2832
2928
  import {
2833
2929
  createPublicClient as createPublicClient3,
2834
2930
  createWalletClient as createWalletClient3,
@@ -2852,29 +2948,29 @@ var appAuthAbi = [
2852
2948
  anonymous: false
2853
2949
  }
2854
2950
  ];
2855
- var AddComposeHashRequestSchema = z32.object({
2951
+ var AddComposeHashRequestSchema = z33.object({
2856
2952
  // Chain configuration (conditionally required)
2857
- chain: z32.unknown().optional(),
2858
- rpcUrl: z32.string().optional(),
2859
- appId: z32.string(),
2860
- composeHash: z32.string(),
2953
+ chain: z33.unknown().optional(),
2954
+ rpcUrl: z33.string().optional(),
2955
+ appId: z33.string(),
2956
+ composeHash: z33.string(),
2861
2957
  // Authentication mode: either privateKey OR walletClient (required, mutually exclusive)
2862
- privateKey: z32.string().optional(),
2863
- walletClient: z32.unknown().optional(),
2958
+ privateKey: z33.string().optional(),
2959
+ walletClient: z33.unknown().optional(),
2864
2960
  // Public client (optional, will create default if not provided)
2865
- publicClient: z32.unknown().optional(),
2961
+ publicClient: z33.unknown().optional(),
2866
2962
  // Validation configuration (optional)
2867
- skipPrerequisiteChecks: z32.boolean().optional().default(false),
2868
- minBalance: z32.string().optional(),
2963
+ skipPrerequisiteChecks: z33.boolean().optional().default(false),
2964
+ minBalance: z33.string().optional(),
2869
2965
  // ETH amount as string, e.g., "0.01"
2870
2966
  // Transaction control options
2871
- timeout: z32.number().optional().default(12e4),
2872
- retryOptions: z32.unknown().optional(),
2873
- signal: z32.unknown().optional(),
2967
+ timeout: z33.number().optional().default(12e4),
2968
+ retryOptions: z33.unknown().optional(),
2969
+ signal: z33.unknown().optional(),
2874
2970
  // Progress callbacks
2875
- onTransactionStateChange: z32.function().optional(),
2876
- onTransactionSubmitted: z32.function().optional(),
2877
- onTransactionConfirmed: z32.function().optional()
2971
+ onTransactionStateChange: z33.function().optional(),
2972
+ onTransactionSubmitted: z33.function().optional(),
2973
+ onTransactionConfirmed: z33.function().optional()
2878
2974
  }).passthrough().refine(
2879
2975
  (data) => {
2880
2976
  const hasPrivateKey = !!data.privateKey;
@@ -2898,12 +2994,12 @@ var AddComposeHashRequestSchema = z32.object({
2898
2994
  path: ["chain"]
2899
2995
  }
2900
2996
  );
2901
- var AddComposeHashSchema = z32.object({
2902
- composeHash: z32.string(),
2903
- appId: z32.string(),
2904
- transactionHash: z32.string(),
2905
- blockNumber: z32.bigint().optional(),
2906
- gasUsed: z32.bigint().optional()
2997
+ var AddComposeHashSchema = z33.object({
2998
+ composeHash: z33.string(),
2999
+ appId: z33.string(),
3000
+ transactionHash: z33.string(),
3001
+ blockNumber: z33.bigint().optional(),
3002
+ gasUsed: z33.bigint().optional()
2907
3003
  }).passthrough();
2908
3004
  function parseComposeHashResult(receipt, composeHash, appAuthAddress, appId) {
2909
3005
  console.log(receipt.logs);
@@ -3095,13 +3191,13 @@ async function safeAddComposeHash(request, parameters) {
3095
3191
  }
3096
3192
 
3097
3193
  // src/actions/cvms/watch_cvm_state.ts
3098
- import { z as z33 } from "zod";
3099
- var WatchCvmStateParamsSchema = z33.object({
3100
- target: z33.string().describe("Target status to wait for (e.g., 'running', 'stopped')"),
3101
- interval: z33.number().min(5).max(30).default(5).describe("Polling interval in seconds"),
3102
- timeout: z33.number().min(10).max(600).default(300).describe("Timeout per attempt in seconds"),
3103
- maxRetries: z33.number().min(0).default(Number.POSITIVE_INFINITY).describe("Maximum number of retry attempts (Infinity for unlimited)"),
3104
- retryDelay: z33.number().min(0).default(5e3).describe("Delay between retries in milliseconds")
3194
+ import { z as z34 } from "zod";
3195
+ var WatchCvmStateParamsSchema = z34.object({
3196
+ target: z34.string().describe("Target status to wait for (e.g., 'running', 'stopped')"),
3197
+ interval: z34.number().min(5).max(30).default(5).describe("Polling interval in seconds"),
3198
+ timeout: z34.number().min(10).max(600).default(300).describe("Timeout per attempt in seconds"),
3199
+ maxRetries: z34.number().min(0).default(Number.POSITIVE_INFINITY).describe("Maximum number of retry attempts (Infinity for unlimited)"),
3200
+ retryDelay: z34.number().min(0).default(5e3).describe("Delay between retries in milliseconds")
3105
3201
  });
3106
3202
  var WatchCvmStateRequestSchema = WatchCvmStateParamsSchema;
3107
3203
  var WatchAbortedError = class extends Error {
@@ -3390,6 +3486,7 @@ export {
3390
3486
  RequestError,
3391
3487
  ResourceError,
3392
3488
  RestartCvmRequestSchema,
3489
+ SUPPORTED_API_VERSIONS,
3393
3490
  SUPPORTED_CHAINS,
3394
3491
  ServerError,
3395
3492
  ShutdownCvmRequestSchema,
@@ -3397,6 +3494,8 @@ export {
3397
3494
  StopCvmRequestSchema,
3398
3495
  TransactionError,
3399
3496
  UnknownError,
3497
+ UpdateCvmEnvsRequestSchema,
3498
+ UpdateCvmEnvsResultSchema,
3400
3499
  UpdateCvmResourcesRequestSchema,
3401
3500
  UpdateCvmVisibilityRequestSchema,
3402
3501
  UpdateOsImageRequestSchema,
@@ -3497,6 +3596,7 @@ export {
3497
3596
  safeShutdownCvm,
3498
3597
  safeStartCvm,
3499
3598
  safeStopCvm,
3599
+ safeUpdateCvmEnvs,
3500
3600
  safeUpdateCvmResources,
3501
3601
  safeUpdateCvmVisibility,
3502
3602
  safeUpdateOsImage,
@@ -3506,6 +3606,7 @@ export {
3506
3606
  startCvm,
3507
3607
  stopCvm,
3508
3608
  switchToNetwork,
3609
+ updateCvmEnvs,
3509
3610
  updateCvmResources,
3510
3611
  updateCvmVisibility,
3511
3612
  updateOsImage,