@phala/cloud 0.2.1-beta.3 → 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.js CHANGED
@@ -102,6 +102,8 @@ __export(index_exports, {
102
102
  StopCvmRequestSchema: () => StopCvmRequestSchema,
103
103
  TransactionError: () => TransactionError,
104
104
  UnknownError: () => UnknownError,
105
+ UpdateCvmEnvsRequestSchema: () => UpdateCvmEnvsRequestSchema,
106
+ UpdateCvmEnvsResultSchema: () => UpdateCvmEnvsResultSchema,
105
107
  UpdateCvmResourcesRequestSchema: () => UpdateCvmResourcesRequestSchema,
106
108
  UpdateCvmVisibilityRequestSchema: () => UpdateCvmVisibilityRequestSchema,
107
109
  UpdateOsImageRequestSchema: () => UpdateOsImageRequestSchema,
@@ -202,6 +204,7 @@ __export(index_exports, {
202
204
  safeShutdownCvm: () => safeShutdownCvm,
203
205
  safeStartCvm: () => safeStartCvm,
204
206
  safeStopCvm: () => safeStopCvm,
207
+ safeUpdateCvmEnvs: () => safeUpdateCvmEnvs,
205
208
  safeUpdateCvmResources: () => safeUpdateCvmResources,
206
209
  safeUpdateCvmVisibility: () => safeUpdateCvmVisibility,
207
210
  safeUpdateOsImage: () => safeUpdateOsImage,
@@ -211,6 +214,7 @@ __export(index_exports, {
211
214
  startCvm: () => startCvm,
212
215
  stopCvm: () => stopCvm,
213
216
  switchToNetwork: () => switchToNetwork,
217
+ updateCvmEnvs: () => updateCvmEnvs,
214
218
  updateCvmResources: () => updateCvmResources,
215
219
  updateCvmVisibility: () => updateCvmVisibility,
216
220
  updateOsImage: () => updateOsImage,
@@ -1316,18 +1320,28 @@ var refineCvmId = (schema) => schema.refine(
1316
1320
  );
1317
1321
  var CvmIdBaseSchema = refineCvmId(CvmIdObjectSchema);
1318
1322
  var CvmIdSchema = CvmIdBaseSchema.transform((data) => {
1319
- let cvmId;
1323
+ let rawValue;
1320
1324
  if (data.id) {
1321
- cvmId = data.id;
1325
+ rawValue = data.id;
1322
1326
  } else if (data.uuid) {
1323
- cvmId = data.uuid.replace(/-/g, "");
1327
+ rawValue = data.uuid;
1324
1328
  } else if (data.app_id) {
1325
- cvmId = data.app_id.startsWith("app_") ? data.app_id : `app_${data.app_id}`;
1329
+ rawValue = data.app_id;
1326
1330
  } else if (data.instance_id) {
1327
- cvmId = data.instance_id.startsWith("instance_") ? data.instance_id : `instance_${data.instance_id}`;
1331
+ rawValue = data.instance_id;
1328
1332
  } else {
1329
1333
  throw new Error("No valid identifier provided");
1330
1334
  }
1335
+ 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;
1336
+ const appIdRegex = /^[0-9a-f]{40}$/i;
1337
+ let cvmId;
1338
+ if (uuidRegex.test(rawValue)) {
1339
+ cvmId = rawValue.replace(/-/g, "");
1340
+ } else if (appIdRegex.test(rawValue)) {
1341
+ cvmId = `app_${rawValue}`;
1342
+ } else {
1343
+ cvmId = rawValue;
1344
+ }
1331
1345
  return { cvmId };
1332
1346
  });
1333
1347
 
@@ -1654,10 +1668,89 @@ var { action: commitCvmComposeFileUpdate, safeAction: safeCommitCvmComposeFileUp
1654
1668
  }
1655
1669
  );
1656
1670
 
1657
- // src/actions/kms/get_kms_info.ts
1671
+ // src/actions/cvms/update_cvm_envs.ts
1658
1672
  var import_zod15 = require("zod");
1659
- var GetKmsInfoRequestSchema = import_zod15.z.object({
1660
- kms_id: import_zod15.z.string().min(1, "KMS ID is required")
1673
+ var UpdateCvmEnvsRequestSchema = import_zod15.z.object({
1674
+ id: import_zod15.z.string().optional(),
1675
+ uuid: import_zod15.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(),
1676
+ app_id: import_zod15.z.string().refine(
1677
+ (val) => !val.startsWith("app_") && val.length === 40,
1678
+ "app_id should be 40 characters without prefix"
1679
+ ).transform((val) => val.startsWith("app_") ? val : `app_${val}`).optional(),
1680
+ instance_id: import_zod15.z.string().refine(
1681
+ (val) => !val.startsWith("instance_") && val.length === 40,
1682
+ "instance_id should be 40 characters without prefix"
1683
+ ).transform((val) => val.startsWith("instance_") ? val : `instance_${val}`).optional(),
1684
+ encrypted_env: import_zod15.z.string().describe("Encrypted environment variables (hex string)"),
1685
+ env_keys: import_zod15.z.array(import_zod15.z.string()).optional().describe("List of allowed environment variable keys"),
1686
+ compose_hash: import_zod15.z.string().optional().describe("Compose hash for verification (Phase 2, required when env_keys changes)"),
1687
+ transaction_hash: import_zod15.z.string().optional().describe(
1688
+ "On-chain transaction hash for verification (Phase 2, required when env_keys changes)"
1689
+ )
1690
+ }).refine(
1691
+ (data) => !!(data.id || data.uuid || data.app_id || data.instance_id),
1692
+ "One of id, uuid, app_id, or instance_id must be provided"
1693
+ ).transform((data) => {
1694
+ return {
1695
+ cvmId: data.id || data.uuid || data.app_id || data.instance_id,
1696
+ request: {
1697
+ encrypted_env: data.encrypted_env,
1698
+ env_keys: data.env_keys,
1699
+ compose_hash: data.compose_hash,
1700
+ transaction_hash: data.transaction_hash
1701
+ },
1702
+ _raw: data
1703
+ };
1704
+ });
1705
+ var UpdateCvmEnvsInProgressSchema = import_zod15.z.object({
1706
+ status: import_zod15.z.literal("in_progress"),
1707
+ message: import_zod15.z.string(),
1708
+ correlation_id: import_zod15.z.string(),
1709
+ allowed_envs_changed: import_zod15.z.boolean()
1710
+ });
1711
+ var UpdateCvmEnvsPreconditionRequiredSchema = import_zod15.z.object({
1712
+ status: import_zod15.z.literal("precondition_required"),
1713
+ message: import_zod15.z.string(),
1714
+ compose_hash: import_zod15.z.string(),
1715
+ app_id: import_zod15.z.string(),
1716
+ device_id: import_zod15.z.string(),
1717
+ kms_info: KmsInfoSchema
1718
+ });
1719
+ var UpdateCvmEnvsResultSchema = import_zod15.z.union([
1720
+ UpdateCvmEnvsInProgressSchema,
1721
+ UpdateCvmEnvsPreconditionRequiredSchema
1722
+ ]);
1723
+ var { action: updateCvmEnvs, safeAction: safeUpdateCvmEnvs } = defineAction(UpdateCvmEnvsResultSchema, async (client, request) => {
1724
+ const validatedRequest = UpdateCvmEnvsRequestSchema.parse(request);
1725
+ try {
1726
+ const response = await client.patch(
1727
+ `/cvms/${validatedRequest.cvmId}/envs`,
1728
+ validatedRequest.request
1729
+ );
1730
+ return response;
1731
+ } catch (error) {
1732
+ if (error instanceof PhalaCloudError && error.status === 428) {
1733
+ const detail = error.detail;
1734
+ if (detail && typeof detail === "object") {
1735
+ const detailObj = detail;
1736
+ return {
1737
+ status: "precondition_required",
1738
+ message: detailObj.message || "Compose hash verification required",
1739
+ compose_hash: detailObj.compose_hash,
1740
+ app_id: detailObj.app_id,
1741
+ device_id: detailObj.device_id,
1742
+ kms_info: detailObj.kms_info
1743
+ };
1744
+ }
1745
+ }
1746
+ throw error;
1747
+ }
1748
+ });
1749
+
1750
+ // src/actions/kms/get_kms_info.ts
1751
+ var import_zod16 = require("zod");
1752
+ var GetKmsInfoRequestSchema = import_zod16.z.object({
1753
+ kms_id: import_zod16.z.string().min(1, "KMS ID is required")
1661
1754
  });
1662
1755
  var { action: getKmsInfo, safeAction: safeGetKmsInfo } = defineAction(KmsInfoSchema, async (client, request) => {
1663
1756
  const validatedRequest = GetKmsInfoRequestSchema.parse(request);
@@ -1665,18 +1758,18 @@ var { action: getKmsInfo, safeAction: safeGetKmsInfo } = defineAction(KmsInfoSch
1665
1758
  });
1666
1759
 
1667
1760
  // src/actions/kms/get_kms_list.ts
1668
- var import_zod16 = require("zod");
1669
- var GetKmsListRequestSchema = import_zod16.z.object({
1670
- page: import_zod16.z.number().int().min(1).optional(),
1671
- page_size: import_zod16.z.number().int().min(1).optional(),
1672
- is_onchain: import_zod16.z.boolean().optional()
1761
+ var import_zod17 = require("zod");
1762
+ var GetKmsListRequestSchema = import_zod17.z.object({
1763
+ page: import_zod17.z.number().int().min(1).optional(),
1764
+ page_size: import_zod17.z.number().int().min(1).optional(),
1765
+ is_onchain: import_zod17.z.boolean().optional()
1673
1766
  }).strict();
1674
- var GetKmsListSchema = import_zod16.z.object({
1675
- items: import_zod16.z.array(KmsInfoSchema),
1676
- total: import_zod16.z.number(),
1677
- page: import_zod16.z.number(),
1678
- page_size: import_zod16.z.number(),
1679
- pages: import_zod16.z.number()
1767
+ var GetKmsListSchema = import_zod17.z.object({
1768
+ items: import_zod17.z.array(KmsInfoSchema),
1769
+ total: import_zod17.z.number(),
1770
+ page: import_zod17.z.number(),
1771
+ page_size: import_zod17.z.number(),
1772
+ pages: import_zod17.z.number()
1680
1773
  }).strict();
1681
1774
  var { action: getKmsList, safeAction: safeGetKmsList } = defineAction(GetKmsListSchema, async (client, request) => {
1682
1775
  const validatedRequest = GetKmsListRequestSchema.parse(request ?? {});
@@ -1684,17 +1777,17 @@ var { action: getKmsList, safeAction: safeGetKmsList } = defineAction(GetKmsList
1684
1777
  });
1685
1778
 
1686
1779
  // src/actions/kms/get_app_env_encrypt_pubkey.ts
1687
- var import_zod17 = require("zod");
1688
- var GetAppEnvEncryptPubKeyRequestSchema = import_zod17.z.object({
1689
- kms: import_zod17.z.string().min(1, "KMS ID or slug is required"),
1690
- app_id: import_zod17.z.string().refine(
1780
+ var import_zod18 = require("zod");
1781
+ var GetAppEnvEncryptPubKeyRequestSchema = import_zod18.z.object({
1782
+ kms: import_zod18.z.string().min(1, "KMS ID or slug is required"),
1783
+ app_id: import_zod18.z.string().refine(
1691
1784
  (val) => val.length === 40 || val.startsWith("0x") && val.length === 42,
1692
1785
  "App ID must be exactly 40 characters or 42 characters with 0x prefix"
1693
1786
  )
1694
1787
  }).strict();
1695
- var GetAppEnvEncryptPubKeySchema = import_zod17.z.object({
1696
- public_key: import_zod17.z.string(),
1697
- signature: import_zod17.z.string()
1788
+ var GetAppEnvEncryptPubKeySchema = import_zod18.z.object({
1789
+ public_key: import_zod18.z.string(),
1790
+ signature: import_zod18.z.string()
1698
1791
  }).strict();
1699
1792
  var { action: getAppEnvEncryptPubKey, safeAction: safeGetAppEnvEncryptPubKey } = defineAction(GetAppEnvEncryptPubKeySchema, async (client, payload) => {
1700
1793
  const validatedRequest = GetAppEnvEncryptPubKeyRequestSchema.parse(payload);
@@ -1702,15 +1795,15 @@ var { action: getAppEnvEncryptPubKey, safeAction: safeGetAppEnvEncryptPubKey } =
1702
1795
  });
1703
1796
 
1704
1797
  // src/actions/kms/next_app_ids.ts
1705
- var import_zod18 = require("zod");
1706
- var NextAppIdsRequestSchema = import_zod18.z.object({
1707
- counts: import_zod18.z.number().int().min(1).max(20).optional().default(1)
1798
+ var import_zod19 = require("zod");
1799
+ var NextAppIdsRequestSchema = import_zod19.z.object({
1800
+ counts: import_zod19.z.number().int().min(1).max(20).optional().default(1)
1708
1801
  }).strict();
1709
- var NextAppIdsSchema = import_zod18.z.object({
1710
- app_ids: import_zod18.z.array(
1711
- import_zod18.z.object({
1712
- app_id: import_zod18.z.string(),
1713
- nonce: import_zod18.z.number().int().min(0)
1802
+ var NextAppIdsSchema = import_zod19.z.object({
1803
+ app_ids: import_zod19.z.array(
1804
+ import_zod19.z.object({
1805
+ app_id: import_zod19.z.string(),
1806
+ nonce: import_zod19.z.number().int().min(0)
1714
1807
  })
1715
1808
  )
1716
1809
  }).strict();
@@ -1746,10 +1839,10 @@ var { action: shutdownCvm, safeAction: safeShutdownCvm } = defineAction(VMSchema
1746
1839
  });
1747
1840
 
1748
1841
  // src/actions/cvms/restart_cvm.ts
1749
- var import_zod19 = require("zod");
1842
+ var import_zod20 = require("zod");
1750
1843
  var RestartCvmRequestSchema = refineCvmId(
1751
1844
  CvmIdObjectSchema.extend({
1752
- force: import_zod19.z.boolean().optional()
1845
+ force: import_zod20.z.boolean().optional()
1753
1846
  })
1754
1847
  );
1755
1848
  var { action: restartCvm, safeAction: safeRestartCvm } = defineAction(VMSchema, async (client, request) => {
@@ -1760,10 +1853,10 @@ var { action: restartCvm, safeAction: safeRestartCvm } = defineAction(VMSchema,
1760
1853
  });
1761
1854
 
1762
1855
  // src/actions/cvms/delete_cvm.ts
1763
- var import_zod20 = require("zod");
1856
+ var import_zod21 = require("zod");
1764
1857
  var DeleteCvmRequestSchema = CvmIdSchema;
1765
1858
  var { action: deleteCvm, safeAction: safeDeleteCvm } = defineAction(
1766
- import_zod20.z.void(),
1859
+ import_zod21.z.void(),
1767
1860
  async (client, request) => {
1768
1861
  const { cvmId } = DeleteCvmRequestSchema.parse(request);
1769
1862
  await client.delete(`/cvms/${cvmId}`);
@@ -1772,41 +1865,41 @@ var { action: deleteCvm, safeAction: safeDeleteCvm } = defineAction(
1772
1865
  );
1773
1866
 
1774
1867
  // src/actions/cvms/get_cvm_stats.ts
1775
- var import_zod21 = require("zod");
1776
- var DiskInfoSchema = import_zod21.z.object({
1777
- name: import_zod21.z.string(),
1778
- mount_point: import_zod21.z.string(),
1779
- total_size: import_zod21.z.number(),
1780
- free_size: import_zod21.z.number()
1868
+ var import_zod22 = require("zod");
1869
+ var DiskInfoSchema = import_zod22.z.object({
1870
+ name: import_zod22.z.string(),
1871
+ mount_point: import_zod22.z.string(),
1872
+ total_size: import_zod22.z.number(),
1873
+ free_size: import_zod22.z.number()
1781
1874
  });
1782
- var SystemInfoSchema = import_zod21.z.object({
1783
- os_name: import_zod21.z.string(),
1784
- os_version: import_zod21.z.string(),
1785
- kernel_version: import_zod21.z.string(),
1786
- cpu_model: import_zod21.z.string(),
1787
- num_cpus: import_zod21.z.number(),
1788
- total_memory: import_zod21.z.number(),
1789
- available_memory: import_zod21.z.number(),
1790
- used_memory: import_zod21.z.number(),
1791
- free_memory: import_zod21.z.number(),
1792
- total_swap: import_zod21.z.number(),
1793
- used_swap: import_zod21.z.number(),
1794
- free_swap: import_zod21.z.number(),
1795
- uptime: import_zod21.z.number(),
1796
- loadavg_one: import_zod21.z.number(),
1797
- loadavg_five: import_zod21.z.number(),
1798
- loadavg_fifteen: import_zod21.z.number(),
1799
- disks: import_zod21.z.array(DiskInfoSchema)
1875
+ var SystemInfoSchema = import_zod22.z.object({
1876
+ os_name: import_zod22.z.string(),
1877
+ os_version: import_zod22.z.string(),
1878
+ kernel_version: import_zod22.z.string(),
1879
+ cpu_model: import_zod22.z.string(),
1880
+ num_cpus: import_zod22.z.number(),
1881
+ total_memory: import_zod22.z.number(),
1882
+ available_memory: import_zod22.z.number(),
1883
+ used_memory: import_zod22.z.number(),
1884
+ free_memory: import_zod22.z.number(),
1885
+ total_swap: import_zod22.z.number(),
1886
+ used_swap: import_zod22.z.number(),
1887
+ free_swap: import_zod22.z.number(),
1888
+ uptime: import_zod22.z.number(),
1889
+ loadavg_one: import_zod22.z.number(),
1890
+ loadavg_five: import_zod22.z.number(),
1891
+ loadavg_fifteen: import_zod22.z.number(),
1892
+ disks: import_zod22.z.array(DiskInfoSchema)
1800
1893
  });
1801
- var CvmSystemInfoSchema = import_zod21.z.object({
1802
- is_online: import_zod21.z.boolean(),
1803
- is_public: import_zod21.z.boolean().default(false),
1804
- error: import_zod21.z.string().nullable(),
1894
+ var CvmSystemInfoSchema = import_zod22.z.object({
1895
+ is_online: import_zod22.z.boolean(),
1896
+ is_public: import_zod22.z.boolean().default(false),
1897
+ error: import_zod22.z.string().nullable(),
1805
1898
  sysinfo: SystemInfoSchema.nullable(),
1806
- status: import_zod21.z.string().nullable(),
1807
- in_progress: import_zod21.z.boolean().default(false),
1808
- boot_progress: import_zod21.z.string().nullable(),
1809
- boot_error: import_zod21.z.string().nullable()
1899
+ status: import_zod22.z.string().nullable(),
1900
+ in_progress: import_zod22.z.boolean().default(false),
1901
+ boot_progress: import_zod22.z.string().nullable(),
1902
+ boot_error: import_zod22.z.string().nullable()
1810
1903
  });
1811
1904
  var GetCvmStatsRequestSchema = CvmIdSchema;
1812
1905
  var { action: getCvmStats, safeAction: safeGetCvmStats } = defineAction(CvmSystemInfoSchema, async (client, request) => {
@@ -1815,18 +1908,18 @@ var { action: getCvmStats, safeAction: safeGetCvmStats } = defineAction(CvmSyste
1815
1908
  });
1816
1909
 
1817
1910
  // src/actions/cvms/get_cvm_network.ts
1818
- var import_zod22 = require("zod");
1819
- var CvmNetworkUrlsSchema2 = import_zod22.z.object({
1820
- app: import_zod22.z.string(),
1821
- instance: import_zod22.z.string()
1911
+ var import_zod23 = require("zod");
1912
+ var CvmNetworkUrlsSchema2 = import_zod23.z.object({
1913
+ app: import_zod23.z.string(),
1914
+ instance: import_zod23.z.string()
1822
1915
  });
1823
- var CvmNetworkSchema = import_zod22.z.object({
1824
- is_online: import_zod22.z.boolean(),
1825
- is_public: import_zod22.z.boolean().default(true),
1826
- error: import_zod22.z.string().nullable(),
1827
- internal_ip: import_zod22.z.string().nullable(),
1828
- latest_handshake: import_zod22.z.string().nullable(),
1829
- public_urls: import_zod22.z.array(CvmNetworkUrlsSchema2).nullable()
1916
+ var CvmNetworkSchema = import_zod23.z.object({
1917
+ is_online: import_zod23.z.boolean(),
1918
+ is_public: import_zod23.z.boolean().default(true),
1919
+ error: import_zod23.z.string().nullable(),
1920
+ internal_ip: import_zod23.z.string().nullable(),
1921
+ latest_handshake: import_zod23.z.string().nullable(),
1922
+ public_urls: import_zod23.z.array(CvmNetworkUrlsSchema2).nullable()
1830
1923
  });
1831
1924
  var GetCvmNetworkRequestSchema = CvmIdSchema;
1832
1925
  var { action: getCvmNetwork, safeAction: safeGetCvmNetwork } = defineAction(CvmNetworkSchema, async (client, request) => {
@@ -1835,36 +1928,36 @@ var { action: getCvmNetwork, safeAction: safeGetCvmNetwork } = defineAction(CvmN
1835
1928
  });
1836
1929
 
1837
1930
  // src/actions/cvms/get_cvm_docker_compose.ts
1838
- var import_zod23 = require("zod");
1931
+ var import_zod24 = require("zod");
1839
1932
  var GetCvmDockerComposeRequestSchema = CvmIdSchema;
1840
- var { action: getCvmDockerCompose, safeAction: safeGetCvmDockerCompose } = defineAction(import_zod23.z.string(), async (client, request) => {
1933
+ var { action: getCvmDockerCompose, safeAction: safeGetCvmDockerCompose } = defineAction(import_zod24.z.string(), async (client, request) => {
1841
1934
  const { cvmId } = GetCvmDockerComposeRequestSchema.parse(request);
1842
1935
  return await client.get(`/cvms/${cvmId}/docker-compose.yml`);
1843
1936
  });
1844
1937
 
1845
1938
  // src/actions/cvms/get_cvm_containers_stats.ts
1846
- var import_zod24 = require("zod");
1847
- var ContainerInfoSchema = import_zod24.z.object({
1848
- id: import_zod24.z.string(),
1849
- names: import_zod24.z.array(import_zod24.z.string()),
1850
- image: import_zod24.z.string(),
1851
- image_id: import_zod24.z.string(),
1852
- command: import_zod24.z.string().nullable().optional(),
1853
- created: import_zod24.z.number(),
1854
- state: import_zod24.z.string(),
1855
- status: import_zod24.z.string(),
1856
- log_endpoint: import_zod24.z.string().nullable()
1939
+ var import_zod25 = require("zod");
1940
+ var ContainerInfoSchema = import_zod25.z.object({
1941
+ id: import_zod25.z.string(),
1942
+ names: import_zod25.z.array(import_zod25.z.string()),
1943
+ image: import_zod25.z.string(),
1944
+ image_id: import_zod25.z.string(),
1945
+ command: import_zod25.z.string().nullable().optional(),
1946
+ created: import_zod25.z.number(),
1947
+ state: import_zod25.z.string(),
1948
+ status: import_zod25.z.string(),
1949
+ log_endpoint: import_zod25.z.string().nullable()
1857
1950
  });
1858
- var CvmContainersStatsSchema = import_zod24.z.object({
1859
- is_online: import_zod24.z.boolean(),
1860
- is_public: import_zod24.z.boolean().default(true),
1861
- error: import_zod24.z.string().nullable(),
1862
- docker_compose_file: import_zod24.z.string().nullable(),
1863
- manifest_version: import_zod24.z.number().nullable(),
1864
- version: import_zod24.z.string().nullable(),
1865
- runner: import_zod24.z.string().nullable(),
1866
- features: import_zod24.z.array(import_zod24.z.string()).nullable(),
1867
- containers: import_zod24.z.array(ContainerInfoSchema).nullable()
1951
+ var CvmContainersStatsSchema = import_zod25.z.object({
1952
+ is_online: import_zod25.z.boolean(),
1953
+ is_public: import_zod25.z.boolean().default(true),
1954
+ error: import_zod25.z.string().nullable(),
1955
+ docker_compose_file: import_zod25.z.string().nullable(),
1956
+ manifest_version: import_zod25.z.number().nullable(),
1957
+ version: import_zod25.z.string().nullable(),
1958
+ runner: import_zod25.z.string().nullable(),
1959
+ features: import_zod25.z.array(import_zod25.z.string()).nullable(),
1960
+ containers: import_zod25.z.array(ContainerInfoSchema).nullable()
1868
1961
  });
1869
1962
  var GetCvmContainersStatsRequestSchema = CvmIdSchema;
1870
1963
  var { action: getCvmContainersStats, safeAction: safeGetCvmContainersStats } = defineAction(CvmContainersStatsSchema, async (client, request) => {
@@ -1873,62 +1966,62 @@ var { action: getCvmContainersStats, safeAction: safeGetCvmContainersStats } = d
1873
1966
  });
1874
1967
 
1875
1968
  // src/actions/cvms/get_cvm_attestation.ts
1876
- var import_zod25 = require("zod");
1877
- var CertificateSubjectSchema = import_zod25.z.object({
1878
- common_name: import_zod25.z.string().nullable(),
1879
- organization: import_zod25.z.string().nullable(),
1880
- country: import_zod25.z.string().nullable(),
1881
- state: import_zod25.z.string().nullable(),
1882
- locality: import_zod25.z.string().nullable()
1969
+ var import_zod26 = require("zod");
1970
+ var CertificateSubjectSchema = import_zod26.z.object({
1971
+ common_name: import_zod26.z.string().nullable(),
1972
+ organization: import_zod26.z.string().nullable(),
1973
+ country: import_zod26.z.string().nullable(),
1974
+ state: import_zod26.z.string().nullable(),
1975
+ locality: import_zod26.z.string().nullable()
1883
1976
  });
1884
- var CertificateIssuerSchema = import_zod25.z.object({
1885
- common_name: import_zod25.z.string().nullable(),
1886
- organization: import_zod25.z.string().nullable(),
1887
- country: import_zod25.z.string().nullable()
1977
+ var CertificateIssuerSchema = import_zod26.z.object({
1978
+ common_name: import_zod26.z.string().nullable(),
1979
+ organization: import_zod26.z.string().nullable(),
1980
+ country: import_zod26.z.string().nullable()
1888
1981
  });
1889
- var CertificateSchema = import_zod25.z.object({
1982
+ var CertificateSchema = import_zod26.z.object({
1890
1983
  subject: CertificateSubjectSchema,
1891
1984
  issuer: CertificateIssuerSchema,
1892
- serial_number: import_zod25.z.string(),
1893
- not_before: import_zod25.z.string(),
1985
+ serial_number: import_zod26.z.string(),
1986
+ not_before: import_zod26.z.string(),
1894
1987
  // datetime serialized as ISO string
1895
- not_after: import_zod25.z.string(),
1988
+ not_after: import_zod26.z.string(),
1896
1989
  // datetime serialized as ISO string
1897
- version: import_zod25.z.string(),
1898
- fingerprint: import_zod25.z.string(),
1899
- signature_algorithm: import_zod25.z.string(),
1900
- sans: import_zod25.z.array(import_zod25.z.string()).nullable(),
1901
- is_ca: import_zod25.z.boolean(),
1902
- position_in_chain: import_zod25.z.number().nullable(),
1903
- quote: import_zod25.z.string().nullable(),
1904
- app_id: import_zod25.z.string().nullable().optional(),
1905
- cert_usage: import_zod25.z.string().nullable().optional()
1990
+ version: import_zod26.z.string(),
1991
+ fingerprint: import_zod26.z.string(),
1992
+ signature_algorithm: import_zod26.z.string(),
1993
+ sans: import_zod26.z.array(import_zod26.z.string()).nullable(),
1994
+ is_ca: import_zod26.z.boolean(),
1995
+ position_in_chain: import_zod26.z.number().nullable(),
1996
+ quote: import_zod26.z.string().nullable(),
1997
+ app_id: import_zod26.z.string().nullable().optional(),
1998
+ cert_usage: import_zod26.z.string().nullable().optional()
1906
1999
  });
1907
- var EventLogSchema = import_zod25.z.object({
1908
- imr: import_zod25.z.number(),
1909
- event_type: import_zod25.z.number(),
1910
- digest: import_zod25.z.string(),
1911
- event: import_zod25.z.string(),
1912
- event_payload: import_zod25.z.string()
2000
+ var EventLogSchema = import_zod26.z.object({
2001
+ imr: import_zod26.z.number(),
2002
+ event_type: import_zod26.z.number(),
2003
+ digest: import_zod26.z.string(),
2004
+ event: import_zod26.z.string(),
2005
+ event_payload: import_zod26.z.string()
1913
2006
  });
1914
- var TcbInfoSchema = import_zod25.z.object({
1915
- mrtd: import_zod25.z.string(),
1916
- rootfs_hash: import_zod25.z.string().nullable().optional(),
1917
- rtmr0: import_zod25.z.string(),
1918
- rtmr1: import_zod25.z.string(),
1919
- rtmr2: import_zod25.z.string(),
1920
- rtmr3: import_zod25.z.string(),
1921
- event_log: import_zod25.z.array(EventLogSchema),
1922
- app_compose: import_zod25.z.string()
2007
+ var TcbInfoSchema = import_zod26.z.object({
2008
+ mrtd: import_zod26.z.string(),
2009
+ rootfs_hash: import_zod26.z.string().nullable().optional(),
2010
+ rtmr0: import_zod26.z.string(),
2011
+ rtmr1: import_zod26.z.string(),
2012
+ rtmr2: import_zod26.z.string(),
2013
+ rtmr3: import_zod26.z.string(),
2014
+ event_log: import_zod26.z.array(EventLogSchema),
2015
+ app_compose: import_zod26.z.string()
1923
2016
  });
1924
- var CvmAttestationSchema = import_zod25.z.object({
1925
- name: import_zod25.z.string().nullable(),
1926
- is_online: import_zod25.z.boolean(),
1927
- is_public: import_zod25.z.boolean().default(true),
1928
- error: import_zod25.z.string().nullable(),
1929
- app_certificates: import_zod25.z.array(CertificateSchema).nullable(),
2017
+ var CvmAttestationSchema = import_zod26.z.object({
2018
+ name: import_zod26.z.string().nullable(),
2019
+ is_online: import_zod26.z.boolean(),
2020
+ is_public: import_zod26.z.boolean().default(true),
2021
+ error: import_zod26.z.string().nullable(),
2022
+ app_certificates: import_zod26.z.array(CertificateSchema).nullable(),
1930
2023
  tcb_info: TcbInfoSchema.nullable(),
1931
- compose_file: import_zod25.z.string().nullable()
2024
+ compose_file: import_zod26.z.string().nullable()
1932
2025
  });
1933
2026
  var GetCvmAttestationRequestSchema = CvmIdSchema;
1934
2027
  var { action: getCvmAttestation, safeAction: safeGetCvmAttestation } = defineAction(CvmAttestationSchema, async (client, request) => {
@@ -1937,17 +2030,17 @@ var { action: getCvmAttestation, safeAction: safeGetCvmAttestation } = defineAct
1937
2030
  });
1938
2031
 
1939
2032
  // src/actions/cvms/update_cvm_resources.ts
1940
- var import_zod26 = require("zod");
2033
+ var import_zod27 = require("zod");
1941
2034
  var UpdateCvmResourcesRequestSchema = refineCvmId(
1942
2035
  CvmIdObjectSchema.extend({
1943
- vcpu: import_zod26.z.number().optional(),
1944
- memory: import_zod26.z.number().optional(),
1945
- disk_size: import_zod26.z.number().optional(),
1946
- instance_type: import_zod26.z.string().optional(),
1947
- allow_restart: import_zod26.z.boolean().optional()
2036
+ vcpu: import_zod27.z.number().optional(),
2037
+ memory: import_zod27.z.number().optional(),
2038
+ disk_size: import_zod27.z.number().optional(),
2039
+ instance_type: import_zod27.z.string().optional(),
2040
+ allow_restart: import_zod27.z.boolean().optional()
1948
2041
  })
1949
2042
  );
1950
- var { action: updateCvmResources, safeAction: safeUpdateCvmResources } = defineAction(import_zod26.z.void(), async (client, request) => {
2043
+ var { action: updateCvmResources, safeAction: safeUpdateCvmResources } = defineAction(import_zod27.z.void(), async (client, request) => {
1951
2044
  const parsed = UpdateCvmResourcesRequestSchema.parse(request);
1952
2045
  const { cvmId } = CvmIdSchema.parse(parsed);
1953
2046
  const { ...body } = parsed;
@@ -1956,11 +2049,11 @@ var { action: updateCvmResources, safeAction: safeUpdateCvmResources } = defineA
1956
2049
  });
1957
2050
 
1958
2051
  // src/actions/cvms/update_cvm_visibility.ts
1959
- var import_zod27 = require("zod");
2052
+ var import_zod28 = require("zod");
1960
2053
  var UpdateCvmVisibilityRequestSchema = refineCvmId(
1961
2054
  CvmIdObjectSchema.extend({
1962
- public_sysinfo: import_zod27.z.boolean(),
1963
- public_logs: import_zod27.z.boolean()
2055
+ public_sysinfo: import_zod28.z.boolean(),
2056
+ public_logs: import_zod28.z.boolean()
1964
2057
  })
1965
2058
  );
1966
2059
  var { action: updateCvmVisibility, safeAction: safeUpdateCvmVisibility } = defineAction(CvmLegacyDetailSchema, async (client, request) => {
@@ -1971,21 +2064,21 @@ var { action: updateCvmVisibility, safeAction: safeUpdateCvmVisibility } = defin
1971
2064
  });
1972
2065
 
1973
2066
  // src/actions/cvms/get_available_os_images.ts
1974
- var import_zod28 = require("zod");
1975
- var OSImageVariantSchema = import_zod28.z.object({
1976
- name: import_zod28.z.string(),
1977
- os_image_hash: import_zod28.z.string().nullable(),
1978
- is_current: import_zod28.z.boolean()
2067
+ var import_zod29 = require("zod");
2068
+ var OSImageVariantSchema = import_zod29.z.object({
2069
+ name: import_zod29.z.string(),
2070
+ os_image_hash: import_zod29.z.string().nullable(),
2071
+ is_current: import_zod29.z.boolean()
1979
2072
  });
1980
- var AvailableOSImageSchema2 = import_zod28.z.object({
1981
- version: import_zod28.z.union([
1982
- import_zod28.z.tuple([import_zod28.z.number(), import_zod28.z.number(), import_zod28.z.number(), import_zod28.z.number()]),
1983
- import_zod28.z.tuple([import_zod28.z.number(), import_zod28.z.number(), import_zod28.z.number()])
2073
+ var AvailableOSImageSchema2 = import_zod29.z.object({
2074
+ version: import_zod29.z.union([
2075
+ import_zod29.z.tuple([import_zod29.z.number(), import_zod29.z.number(), import_zod29.z.number(), import_zod29.z.number()]),
2076
+ import_zod29.z.tuple([import_zod29.z.number(), import_zod29.z.number(), import_zod29.z.number()])
1984
2077
  ]),
1985
2078
  prod: OSImageVariantSchema.nullable(),
1986
2079
  dev: OSImageVariantSchema.nullable()
1987
2080
  });
1988
- var GetAvailableOSImagesResponseSchema = import_zod28.z.array(AvailableOSImageSchema2);
2081
+ var GetAvailableOSImagesResponseSchema = import_zod29.z.array(AvailableOSImageSchema2);
1989
2082
  var GetAvailableOSImagesRequestSchema = CvmIdSchema;
1990
2083
  var { action: getAvailableOsImages, safeAction: safeGetAvailableOsImages } = defineAction(GetAvailableOSImagesResponseSchema, async (client, request) => {
1991
2084
  const { cvmId } = GetAvailableOSImagesRequestSchema.parse(request);
@@ -1993,13 +2086,13 @@ var { action: getAvailableOsImages, safeAction: safeGetAvailableOsImages } = def
1993
2086
  });
1994
2087
 
1995
2088
  // src/actions/cvms/update_os_image.ts
1996
- var import_zod29 = require("zod");
2089
+ var import_zod30 = require("zod");
1997
2090
  var UpdateOsImageRequestSchema = refineCvmId(
1998
2091
  CvmIdObjectSchema.extend({
1999
- os_image_name: import_zod29.z.string().min(1, "OS image name is required")
2092
+ os_image_name: import_zod30.z.string().min(1, "OS image name is required")
2000
2093
  })
2001
2094
  );
2002
- var { action: updateOsImage, safeAction: safeUpdateOsImage } = defineAction(import_zod29.z.void(), async (client, request) => {
2095
+ var { action: updateOsImage, safeAction: safeUpdateOsImage } = defineAction(import_zod30.z.void(), async (client, request) => {
2003
2096
  const parsed = UpdateOsImageRequestSchema.parse(request);
2004
2097
  const { cvmId } = CvmIdSchema.parse(parsed);
2005
2098
  const { os_image_name } = parsed;
@@ -2008,17 +2101,17 @@ var { action: updateOsImage, safeAction: safeUpdateOsImage } = defineAction(impo
2008
2101
  });
2009
2102
 
2010
2103
  // src/actions/cvms/get_cvm_state.ts
2011
- var import_zod30 = require("zod");
2012
- var CvmStateSchema = import_zod30.z.object({
2013
- id: import_zod30.z.string().optional(),
2014
- instance_id: import_zod30.z.string().optional(),
2015
- name: import_zod30.z.string(),
2016
- status: import_zod30.z.string(),
2017
- uptime: import_zod30.z.string().optional(),
2018
- exited_at: import_zod30.z.string().optional(),
2019
- boot_progress: import_zod30.z.string().optional(),
2020
- boot_error: import_zod30.z.string().optional(),
2021
- shutdown_progress: import_zod30.z.string().optional()
2104
+ var import_zod31 = require("zod");
2105
+ var CvmStateSchema = import_zod31.z.object({
2106
+ id: import_zod31.z.string().optional(),
2107
+ instance_id: import_zod31.z.string().optional(),
2108
+ name: import_zod31.z.string(),
2109
+ status: import_zod31.z.string(),
2110
+ uptime: import_zod31.z.string().optional(),
2111
+ exited_at: import_zod31.z.string().optional(),
2112
+ boot_progress: import_zod31.z.string().optional(),
2113
+ boot_error: import_zod31.z.string().optional(),
2114
+ shutdown_progress: import_zod31.z.string().optional()
2022
2115
  });
2023
2116
  var GetCvmStateRequestSchema = CvmIdSchema;
2024
2117
  var { action: getCvmState, safeAction: safeGetCvmState } = defineAction(CvmStateSchema, async (client, request) => {
@@ -2056,6 +2149,8 @@ function createClient2(config = {}) {
2056
2149
  safeProvisionCvmComposeFileUpdate,
2057
2150
  commitCvmComposeFileUpdate,
2058
2151
  safeCommitCvmComposeFileUpdate,
2152
+ updateCvmEnvs,
2153
+ safeUpdateCvmEnvs,
2059
2154
  startCvm,
2060
2155
  safeStartCvm,
2061
2156
  stopCvm,
@@ -2099,7 +2194,7 @@ function createClient2(config = {}) {
2099
2194
  }
2100
2195
 
2101
2196
  // src/actions/blockchains/deploy_app_auth.ts
2102
- var import_zod31 = require("zod");
2197
+ var import_zod32 = require("zod");
2103
2198
  var import_viem3 = require("viem");
2104
2199
  var import_accounts2 = require("viem/accounts");
2105
2200
 
@@ -2749,25 +2844,25 @@ var kmsAuthAbi = [
2749
2844
  anonymous: false
2750
2845
  }
2751
2846
  ];
2752
- var DeployAppAuthRequestBaseSchema = import_zod31.z.object({
2847
+ var DeployAppAuthRequestBaseSchema = import_zod32.z.object({
2753
2848
  // Chain configuration (conditionally required)
2754
- chain: import_zod31.z.unknown().optional(),
2755
- rpcUrl: import_zod31.z.string().optional(),
2849
+ chain: import_zod32.z.unknown().optional(),
2850
+ rpcUrl: import_zod32.z.string().optional(),
2756
2851
  // Contract configuration (required)
2757
- kmsContractAddress: import_zod31.z.string(),
2852
+ kmsContractAddress: import_zod32.z.string(),
2758
2853
  // Authentication mode: either privateKey OR walletClient (required, mutually exclusive)
2759
- privateKey: import_zod31.z.string().optional(),
2760
- walletClient: import_zod31.z.unknown().optional(),
2854
+ privateKey: import_zod32.z.string().optional(),
2855
+ walletClient: import_zod32.z.unknown().optional(),
2761
2856
  // Public client (optional, will create default if not provided)
2762
- publicClient: import_zod31.z.unknown().optional(),
2857
+ publicClient: import_zod32.z.unknown().optional(),
2763
2858
  // App configuration (optional)
2764
- allowAnyDevice: import_zod31.z.boolean().optional().default(false),
2765
- deviceId: import_zod31.z.string().optional().default("0000000000000000000000000000000000000000000000000000000000000000"),
2766
- composeHash: import_zod31.z.string().optional().default("0000000000000000000000000000000000000000000000000000000000000000"),
2767
- disableUpgrades: import_zod31.z.boolean().optional().default(false),
2859
+ allowAnyDevice: import_zod32.z.boolean().optional().default(false),
2860
+ deviceId: import_zod32.z.string().optional().default("0000000000000000000000000000000000000000000000000000000000000000"),
2861
+ composeHash: import_zod32.z.string().optional().default("0000000000000000000000000000000000000000000000000000000000000000"),
2862
+ disableUpgrades: import_zod32.z.boolean().optional().default(false),
2768
2863
  // Validation configuration (optional)
2769
- skipPrerequisiteChecks: import_zod31.z.boolean().optional().default(false),
2770
- minBalance: import_zod31.z.string().optional()
2864
+ skipPrerequisiteChecks: import_zod32.z.boolean().optional().default(false),
2865
+ minBalance: import_zod32.z.string().optional()
2771
2866
  // ETH amount as string, e.g., "0.01"
2772
2867
  }).passthrough();
2773
2868
  var DeployAppAuthRequestSchema = DeployAppAuthRequestBaseSchema.refine(
@@ -2795,13 +2890,13 @@ var DeployAppAuthRequestSchema = DeployAppAuthRequestBaseSchema.refine(
2795
2890
  path: ["chain"]
2796
2891
  }
2797
2892
  );
2798
- var DeployAppAuthSchema = import_zod31.z.object({
2799
- appId: import_zod31.z.string(),
2800
- appAuthAddress: import_zod31.z.string(),
2801
- deployer: import_zod31.z.string(),
2802
- transactionHash: import_zod31.z.string(),
2803
- blockNumber: import_zod31.z.bigint().optional(),
2804
- gasUsed: import_zod31.z.bigint().optional()
2893
+ var DeployAppAuthSchema = import_zod32.z.object({
2894
+ appId: import_zod32.z.string(),
2895
+ appAuthAddress: import_zod32.z.string(),
2896
+ deployer: import_zod32.z.string(),
2897
+ transactionHash: import_zod32.z.string(),
2898
+ blockNumber: import_zod32.z.bigint().optional(),
2899
+ gasUsed: import_zod32.z.bigint().optional()
2805
2900
  }).passthrough();
2806
2901
  function parseDeploymentResult(receipt, deployer, kmsContractAddress) {
2807
2902
  try {
@@ -3047,7 +3142,7 @@ async function safeDeployAppAuth(request, parameters) {
3047
3142
  }
3048
3143
 
3049
3144
  // src/actions/blockchains/add_compose_hash.ts
3050
- var import_zod32 = require("zod");
3145
+ var import_zod33 = require("zod");
3051
3146
  var import_viem4 = require("viem");
3052
3147
  var import_accounts3 = require("viem/accounts");
3053
3148
  var appAuthAbi = [
@@ -3065,29 +3160,29 @@ var appAuthAbi = [
3065
3160
  anonymous: false
3066
3161
  }
3067
3162
  ];
3068
- var AddComposeHashRequestSchema = import_zod32.z.object({
3163
+ var AddComposeHashRequestSchema = import_zod33.z.object({
3069
3164
  // Chain configuration (conditionally required)
3070
- chain: import_zod32.z.unknown().optional(),
3071
- rpcUrl: import_zod32.z.string().optional(),
3072
- appId: import_zod32.z.string(),
3073
- composeHash: import_zod32.z.string(),
3165
+ chain: import_zod33.z.unknown().optional(),
3166
+ rpcUrl: import_zod33.z.string().optional(),
3167
+ appId: import_zod33.z.string(),
3168
+ composeHash: import_zod33.z.string(),
3074
3169
  // Authentication mode: either privateKey OR walletClient (required, mutually exclusive)
3075
- privateKey: import_zod32.z.string().optional(),
3076
- walletClient: import_zod32.z.unknown().optional(),
3170
+ privateKey: import_zod33.z.string().optional(),
3171
+ walletClient: import_zod33.z.unknown().optional(),
3077
3172
  // Public client (optional, will create default if not provided)
3078
- publicClient: import_zod32.z.unknown().optional(),
3173
+ publicClient: import_zod33.z.unknown().optional(),
3079
3174
  // Validation configuration (optional)
3080
- skipPrerequisiteChecks: import_zod32.z.boolean().optional().default(false),
3081
- minBalance: import_zod32.z.string().optional(),
3175
+ skipPrerequisiteChecks: import_zod33.z.boolean().optional().default(false),
3176
+ minBalance: import_zod33.z.string().optional(),
3082
3177
  // ETH amount as string, e.g., "0.01"
3083
3178
  // Transaction control options
3084
- timeout: import_zod32.z.number().optional().default(12e4),
3085
- retryOptions: import_zod32.z.unknown().optional(),
3086
- signal: import_zod32.z.unknown().optional(),
3179
+ timeout: import_zod33.z.number().optional().default(12e4),
3180
+ retryOptions: import_zod33.z.unknown().optional(),
3181
+ signal: import_zod33.z.unknown().optional(),
3087
3182
  // Progress callbacks
3088
- onTransactionStateChange: import_zod32.z.function().optional(),
3089
- onTransactionSubmitted: import_zod32.z.function().optional(),
3090
- onTransactionConfirmed: import_zod32.z.function().optional()
3183
+ onTransactionStateChange: import_zod33.z.function().optional(),
3184
+ onTransactionSubmitted: import_zod33.z.function().optional(),
3185
+ onTransactionConfirmed: import_zod33.z.function().optional()
3091
3186
  }).passthrough().refine(
3092
3187
  (data) => {
3093
3188
  const hasPrivateKey = !!data.privateKey;
@@ -3111,12 +3206,12 @@ var AddComposeHashRequestSchema = import_zod32.z.object({
3111
3206
  path: ["chain"]
3112
3207
  }
3113
3208
  );
3114
- var AddComposeHashSchema = import_zod32.z.object({
3115
- composeHash: import_zod32.z.string(),
3116
- appId: import_zod32.z.string(),
3117
- transactionHash: import_zod32.z.string(),
3118
- blockNumber: import_zod32.z.bigint().optional(),
3119
- gasUsed: import_zod32.z.bigint().optional()
3209
+ var AddComposeHashSchema = import_zod33.z.object({
3210
+ composeHash: import_zod33.z.string(),
3211
+ appId: import_zod33.z.string(),
3212
+ transactionHash: import_zod33.z.string(),
3213
+ blockNumber: import_zod33.z.bigint().optional(),
3214
+ gasUsed: import_zod33.z.bigint().optional()
3120
3215
  }).passthrough();
3121
3216
  function parseComposeHashResult(receipt, composeHash, appAuthAddress, appId) {
3122
3217
  console.log(receipt.logs);
@@ -3308,13 +3403,13 @@ async function safeAddComposeHash(request, parameters) {
3308
3403
  }
3309
3404
 
3310
3405
  // src/actions/cvms/watch_cvm_state.ts
3311
- var import_zod33 = require("zod");
3312
- var WatchCvmStateParamsSchema = import_zod33.z.object({
3313
- target: import_zod33.z.string().describe("Target status to wait for (e.g., 'running', 'stopped')"),
3314
- interval: import_zod33.z.number().min(5).max(30).default(5).describe("Polling interval in seconds"),
3315
- timeout: import_zod33.z.number().min(10).max(600).default(300).describe("Timeout per attempt in seconds"),
3316
- maxRetries: import_zod33.z.number().min(0).default(Number.POSITIVE_INFINITY).describe("Maximum number of retry attempts (Infinity for unlimited)"),
3317
- retryDelay: import_zod33.z.number().min(0).default(5e3).describe("Delay between retries in milliseconds")
3406
+ var import_zod34 = require("zod");
3407
+ var WatchCvmStateParamsSchema = import_zod34.z.object({
3408
+ target: import_zod34.z.string().describe("Target status to wait for (e.g., 'running', 'stopped')"),
3409
+ interval: import_zod34.z.number().min(5).max(30).default(5).describe("Polling interval in seconds"),
3410
+ timeout: import_zod34.z.number().min(10).max(600).default(300).describe("Timeout per attempt in seconds"),
3411
+ maxRetries: import_zod34.z.number().min(0).default(Number.POSITIVE_INFINITY).describe("Maximum number of retry attempts (Infinity for unlimited)"),
3412
+ retryDelay: import_zod34.z.number().min(0).default(5e3).describe("Delay between retries in milliseconds")
3318
3413
  });
3319
3414
  var WatchCvmStateRequestSchema = WatchCvmStateParamsSchema;
3320
3415
  var WatchAbortedError = class extends Error {
@@ -3610,6 +3705,8 @@ var import_verify_env_encrypt_public_key = require("@phala/dstack-sdk/verify-env
3610
3705
  StopCvmRequestSchema,
3611
3706
  TransactionError,
3612
3707
  UnknownError,
3708
+ UpdateCvmEnvsRequestSchema,
3709
+ UpdateCvmEnvsResultSchema,
3613
3710
  UpdateCvmResourcesRequestSchema,
3614
3711
  UpdateCvmVisibilityRequestSchema,
3615
3712
  UpdateOsImageRequestSchema,
@@ -3710,6 +3807,7 @@ var import_verify_env_encrypt_public_key = require("@phala/dstack-sdk/verify-env
3710
3807
  safeShutdownCvm,
3711
3808
  safeStartCvm,
3712
3809
  safeStopCvm,
3810
+ safeUpdateCvmEnvs,
3713
3811
  safeUpdateCvmResources,
3714
3812
  safeUpdateCvmVisibility,
3715
3813
  safeUpdateOsImage,
@@ -3719,6 +3817,7 @@ var import_verify_env_encrypt_public_key = require("@phala/dstack-sdk/verify-env
3719
3817
  startCvm,
3720
3818
  stopCvm,
3721
3819
  switchToNetwork,
3820
+ updateCvmEnvs,
3722
3821
  updateCvmResources,
3723
3822
  updateCvmVisibility,
3724
3823
  updateOsImage,