@phala/cloud 0.0.10 → 0.0.11

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
@@ -45,12 +45,15 @@ __export(index_exports, {
45
45
  DeployAppAuthRequestSchema: () => DeployAppAuthRequestSchema,
46
46
  DeployAppAuthSchema: () => DeployAppAuthSchema,
47
47
  GetAppEnvEncryptPubKeySchema: () => GetAppEnvEncryptPubKeySchema,
48
- GetCvmComposeFileResultSchema: () => GetCvmComposeFileResultSchema,
49
48
  GetCvmListSchema: () => GetCvmListSchema,
50
49
  GetKmsListSchema: () => GetKmsListSchema,
50
+ InstanceTypeSchema: () => InstanceTypeSchema,
51
51
  KmsInfoSchema: () => KmsInfoSchema,
52
+ ListWorkspacesSchema: () => ListWorkspacesSchema,
52
53
  ManagedUserSchema: () => ManagedUserSchema,
53
54
  NetworkError: () => NetworkError,
55
+ PaginatedInstanceTypesSchema: () => PaginatedInstanceTypesSchema,
56
+ PaginationMetadataSchema: () => PaginationMetadataSchema,
54
57
  ProvisionCvmComposeFileUpdateRequestSchema: () => ProvisionCvmComposeFileUpdateRequestSchema,
55
58
  ProvisionCvmComposeFileUpdateResultSchema: () => ProvisionCvmComposeFileUpdateResultSchema,
56
59
  ProvisionCvmRequestSchema: () => ProvisionCvmRequestSchema,
@@ -60,6 +63,7 @@ __export(index_exports, {
60
63
  TransactionError: () => TransactionError,
61
64
  VmInfoSchema: () => VmInfoSchema,
62
65
  WalletError: () => WalletError,
66
+ WorkspaceResponseSchema: () => WorkspaceResponseSchema,
63
67
  addComposeHash: () => addComposeHash,
64
68
  addNetwork: () => addNetwork,
65
69
  asHex: () => asHex,
@@ -90,6 +94,9 @@ __export(index_exports, {
90
94
  getErrorMessage: () => getErrorMessage,
91
95
  getKmsInfo: () => getKmsInfo,
92
96
  getKmsList: () => getKmsList,
97
+ getWorkspace: () => getWorkspace,
98
+ listInstanceTypes: () => listInstanceTypes,
99
+ listWorkspaces: () => listWorkspaces,
93
100
  parseEnv: () => parseEnv,
94
101
  parseEnvVars: () => parseEnvVars,
95
102
  provisionCvm: () => provisionCvm,
@@ -106,6 +113,9 @@ __export(index_exports, {
106
113
  safeGetCvmList: () => safeGetCvmList,
107
114
  safeGetKmsInfo: () => safeGetKmsInfo,
108
115
  safeGetKmsList: () => safeGetKmsList,
116
+ safeGetWorkspace: () => safeGetWorkspace,
117
+ safeListInstanceTypes: () => safeListInstanceTypes,
118
+ safeListWorkspaces: () => safeListWorkspaces,
109
119
  safeProvisionCvm: () => safeProvisionCvm,
110
120
  safeProvisionCvmComposeFileUpdate: () => safeProvisionCvmComposeFileUpdate,
111
121
  safeValidateActionParameters: () => safeValidateActionParameters,
@@ -2082,8 +2092,11 @@ async function safeAddComposeHash(request, parameters) {
2082
2092
  }
2083
2093
 
2084
2094
  // src/actions/get_cvm_compose_file.ts
2095
+ var import_zod11 = require("zod");
2096
+
2097
+ // src/types/app_compose.ts
2085
2098
  var import_zod10 = require("zod");
2086
- var GetCvmComposeFileResultSchema = import_zod10.z.object({
2099
+ var LooseAppComposeSchema = import_zod10.z.object({
2087
2100
  allowed_envs: import_zod10.z.array(import_zod10.z.string()).optional(),
2088
2101
  docker_compose_file: import_zod10.z.string(),
2089
2102
  features: import_zod10.z.array(import_zod10.z.string()).optional(),
@@ -2095,14 +2108,16 @@ var GetCvmComposeFileResultSchema = import_zod10.z.object({
2095
2108
  tproxy_enabled: import_zod10.z.boolean().optional(),
2096
2109
  pre_launch_script: import_zod10.z.string().optional()
2097
2110
  }).passthrough();
2098
- var GetCvmComposeFileRequestSchema = import_zod10.z.object({
2099
- id: import_zod10.z.string().optional(),
2100
- uuid: import_zod10.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(),
2101
- app_id: import_zod10.z.string().refine(
2111
+
2112
+ // src/actions/get_cvm_compose_file.ts
2113
+ var GetCvmComposeFileRequestSchema = import_zod11.z.object({
2114
+ id: import_zod11.z.string().optional(),
2115
+ uuid: import_zod11.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(),
2116
+ app_id: import_zod11.z.string().refine(
2102
2117
  (val) => !val.startsWith("app_") && val.length === 40,
2103
2118
  "app_id should be 40 characters without prefix"
2104
2119
  ).transform((val) => val.startsWith("app_") ? val : `app_${val}`).optional(),
2105
- instance_id: import_zod10.z.string().refine(
2120
+ instance_id: import_zod11.z.string().refine(
2106
2121
  (val) => !val.startsWith("instance_") && val.length === 40,
2107
2122
  "instance_id should be 40 characters without prefix"
2108
2123
  ).transform((val) => val.startsWith("instance_") ? val : `instance_${val}`).optional()
@@ -2119,7 +2134,7 @@ async function getCvmComposeFile(client, request, parameters) {
2119
2134
  if (parameters?.schema === false) {
2120
2135
  return response;
2121
2136
  }
2122
- const schema = parameters?.schema || GetCvmComposeFileResultSchema;
2137
+ const schema = parameters?.schema || LooseAppComposeSchema;
2123
2138
  return schema.parse(response);
2124
2139
  }
2125
2140
  async function safeGetCvmComposeFile(client, request, parameters) {
@@ -2134,44 +2149,38 @@ async function safeGetCvmComposeFile(client, request, parameters) {
2134
2149
  if (parameters?.schema === false) {
2135
2150
  return { success: true, data: httpResult.data };
2136
2151
  }
2137
- const schema = parameters?.schema || GetCvmComposeFileResultSchema;
2152
+ const schema = parameters?.schema || LooseAppComposeSchema;
2138
2153
  return schema.safeParse(httpResult.data);
2139
2154
  }
2140
2155
 
2141
2156
  // src/actions/provision_cvm_compose_file_update.ts
2142
- var import_zod11 = require("zod");
2143
- var ProvisionCvmComposeFileUpdateRequestSchema = import_zod11.z.object({
2144
- id: import_zod11.z.string().optional(),
2145
- uuid: import_zod11.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(),
2146
- app_id: import_zod11.z.string().refine(
2157
+ var import_zod12 = require("zod");
2158
+ var ProvisionCvmComposeFileUpdateRequestSchema = import_zod12.z.object({
2159
+ id: import_zod12.z.string().optional(),
2160
+ uuid: import_zod12.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(),
2161
+ app_id: import_zod12.z.string().refine(
2147
2162
  (val) => !val.startsWith("app_") && val.length === 40,
2148
2163
  "app_id should be 40 characters without prefix"
2149
2164
  ).transform((val) => val.startsWith("app_") ? val : `app_${val}`).optional(),
2150
- instance_id: import_zod11.z.string().refine(
2165
+ instance_id: import_zod12.z.string().refine(
2151
2166
  (val) => !val.startsWith("instance_") && val.length === 40,
2152
2167
  "instance_id should be 40 characters without prefix"
2153
2168
  ).transform((val) => val.startsWith("instance_") ? val : `instance_${val}`).optional(),
2154
- app_compose: import_zod11.z.object({
2155
- allowed_envs: import_zod11.z.array(import_zod11.z.string()).optional(),
2156
- docker_compose_file: import_zod11.z.string().min(1, "Docker compose file is required"),
2157
- name: import_zod11.z.string(),
2158
- kms_enabled: import_zod11.z.boolean().optional(),
2159
- public_logs: import_zod11.z.boolean().optional(),
2160
- public_sysinfo: import_zod11.z.boolean().optional(),
2161
- pre_launch_script: import_zod11.z.string().optional()
2162
- })
2169
+ app_compose: LooseAppComposeSchema,
2170
+ update_env_vars: import_zod12.z.boolean().optional().nullable()
2163
2171
  }).refine(
2164
2172
  (data) => !!(data.id || data.uuid || data.app_id || data.instance_id),
2165
2173
  "One of id, uuid, app_id, or instance_id must be provided"
2166
2174
  ).transform((data) => ({
2167
2175
  cvmId: data.id || data.uuid || data.app_id || data.instance_id,
2168
2176
  request: data.app_compose,
2177
+ update_env_vars: data.update_env_vars,
2169
2178
  _raw: data
2170
2179
  }));
2171
- var ProvisionCvmComposeFileUpdateResultSchema = import_zod11.z.object({
2172
- app_id: import_zod11.z.string().nullable(),
2173
- device_id: import_zod11.z.string().nullable(),
2174
- compose_hash: import_zod11.z.string(),
2180
+ var ProvisionCvmComposeFileUpdateResultSchema = import_zod12.z.object({
2181
+ app_id: import_zod12.z.string().nullable(),
2182
+ device_id: import_zod12.z.string().nullable(),
2183
+ compose_hash: import_zod12.z.string(),
2175
2184
  kms_info: KmsInfoSchema.nullable().optional()
2176
2185
  }).passthrough();
2177
2186
  async function provisionCvmComposeFileUpdate(client, request, parameters) {
@@ -2206,21 +2215,22 @@ async function safeProvisionCvmComposeFileUpdate(client, request, parameters) {
2206
2215
  }
2207
2216
 
2208
2217
  // src/actions/commit_cvm_compose_file_update.ts
2209
- var import_zod12 = require("zod");
2210
- var CommitCvmComposeFileUpdateRequestSchema = import_zod12.z.object({
2211
- id: import_zod12.z.string().optional(),
2212
- uuid: import_zod12.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(),
2213
- app_id: import_zod12.z.string().refine(
2218
+ var import_zod13 = require("zod");
2219
+ var CommitCvmComposeFileUpdateRequestSchema = import_zod13.z.object({
2220
+ id: import_zod13.z.string().optional(),
2221
+ uuid: import_zod13.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(),
2222
+ app_id: import_zod13.z.string().refine(
2214
2223
  (val) => !val.startsWith("app_") && val.length === 40,
2215
2224
  "app_id should be 40 characters without prefix"
2216
2225
  ).transform((val) => val.startsWith("app_") ? val : `app_${val}`).optional(),
2217
- instance_id: import_zod12.z.string().refine(
2226
+ instance_id: import_zod13.z.string().refine(
2218
2227
  (val) => !val.startsWith("instance_") && val.length === 40,
2219
2228
  "instance_id should be 40 characters without prefix"
2220
2229
  ).transform((val) => val.startsWith("instance_") ? val : `instance_${val}`).optional(),
2221
- compose_hash: import_zod12.z.string().min(1, "Compose hash is required"),
2222
- encrypted_env: import_zod12.z.string().optional(),
2223
- env_keys: import_zod12.z.array(import_zod12.z.string()).optional()
2230
+ compose_hash: import_zod13.z.string().min(1, "Compose hash is required"),
2231
+ encrypted_env: import_zod13.z.string().optional(),
2232
+ env_keys: import_zod13.z.array(import_zod13.z.string()).optional(),
2233
+ update_env_vars: import_zod13.z.boolean().optional().nullable()
2224
2234
  }).refine(
2225
2235
  (data) => !!(data.id || data.uuid || data.app_id || data.instance_id),
2226
2236
  "One of id, uuid, app_id, or instance_id must be provided"
@@ -2229,9 +2239,10 @@ var CommitCvmComposeFileUpdateRequestSchema = import_zod12.z.object({
2229
2239
  compose_hash: data.compose_hash,
2230
2240
  encrypted_env: data.encrypted_env,
2231
2241
  env_keys: data.env_keys,
2242
+ update_env_vars: !!data.update_env_vars,
2232
2243
  _raw: data
2233
2244
  }));
2234
- var CommitCvmComposeFileUpdateSchema = import_zod12.z.any().transform(() => void 0);
2245
+ var CommitCvmComposeFileUpdateSchema = import_zod13.z.any().transform(() => void 0);
2235
2246
  async function commitCvmComposeFileUpdate(client, request, parameters) {
2236
2247
  const validatedRequest = CommitCvmComposeFileUpdateRequestSchema.parse(request);
2237
2248
  const response = await client.patch(`/cvms/${validatedRequest.cvmId}/compose_file`, {
@@ -2266,17 +2277,17 @@ async function safeCommitCvmComposeFileUpdate(client, request, parameters) {
2266
2277
  }
2267
2278
 
2268
2279
  // src/actions/get_app_env_encrypt_pubkey.ts
2269
- var import_zod13 = require("zod");
2270
- var GetAppEnvEncryptPubKeyRequestSchema = import_zod13.z.object({
2271
- kms: import_zod13.z.string().min(1, "KMS ID or slug is required"),
2272
- app_id: import_zod13.z.string().refine(
2280
+ var import_zod14 = require("zod");
2281
+ var GetAppEnvEncryptPubKeyRequestSchema = import_zod14.z.object({
2282
+ kms: import_zod14.z.string().min(1, "KMS ID or slug is required"),
2283
+ app_id: import_zod14.z.string().refine(
2273
2284
  (val) => val.length === 40 || val.startsWith("0x") && val.length === 42,
2274
2285
  "App ID must be exactly 40 characters or 42 characters with 0x prefix"
2275
2286
  )
2276
2287
  }).strict();
2277
- var GetAppEnvEncryptPubKeySchema = import_zod13.z.object({
2278
- public_key: import_zod13.z.string(),
2279
- signature: import_zod13.z.string()
2288
+ var GetAppEnvEncryptPubKeySchema = import_zod14.z.object({
2289
+ public_key: import_zod14.z.string(),
2290
+ signature: import_zod14.z.string()
2280
2291
  }).strict();
2281
2292
  var getAppEnvEncryptPubKey = async (client, payload, parameters) => {
2282
2293
  const validatedRequest = GetAppEnvEncryptPubKeyRequestSchema.parse(payload);
@@ -2313,15 +2324,15 @@ var safeGetAppEnvEncryptPubKey = async (client, payload, parameters) => {
2313
2324
  };
2314
2325
 
2315
2326
  // src/actions/get_cvm_info.ts
2316
- var import_zod14 = require("zod");
2317
- var GetCvmInfoRequestSchema = import_zod14.z.object({
2318
- id: import_zod14.z.string().optional(),
2319
- 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(),
2320
- app_id: import_zod14.z.string().refine(
2327
+ var import_zod15 = require("zod");
2328
+ var GetCvmInfoRequestSchema = import_zod15.z.object({
2329
+ id: import_zod15.z.string().optional(),
2330
+ 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(),
2331
+ app_id: import_zod15.z.string().refine(
2321
2332
  (val) => !val.startsWith("app_") && val.length === 40,
2322
2333
  "app_id should be 40 characters without prefix"
2323
2334
  ).transform((val) => val.startsWith("app_") ? val : `app_${val}`).optional(),
2324
- instance_id: import_zod14.z.string().refine(
2335
+ instance_id: import_zod15.z.string().refine(
2325
2336
  (val) => !val.startsWith("instance_") && val.length === 40,
2326
2337
  "instance_id should be 40 characters without prefix"
2327
2338
  ).transform((val) => val.startsWith("instance_") ? val : `instance_${val}`).optional()
@@ -2367,18 +2378,18 @@ async function safeGetCvmInfo(client, request, parameters) {
2367
2378
  }
2368
2379
 
2369
2380
  // src/actions/get_cvm_list.ts
2370
- var import_zod15 = require("zod");
2371
- var GetCvmListRequestSchema = import_zod15.z.object({
2372
- page: import_zod15.z.number().int().min(1).optional(),
2373
- page_size: import_zod15.z.number().int().min(1).optional(),
2374
- node_id: import_zod15.z.number().int().min(1).optional()
2381
+ var import_zod16 = require("zod");
2382
+ var GetCvmListRequestSchema = import_zod16.z.object({
2383
+ page: import_zod16.z.number().int().min(1).optional(),
2384
+ page_size: import_zod16.z.number().int().min(1).optional(),
2385
+ node_id: import_zod16.z.number().int().min(1).optional()
2375
2386
  }).strict();
2376
- var GetCvmListSchema = import_zod15.z.object({
2377
- items: import_zod15.z.array(CvmInfoSchema),
2378
- total: import_zod15.z.number(),
2379
- page: import_zod15.z.number(),
2380
- page_size: import_zod15.z.number(),
2381
- pages: import_zod15.z.number()
2387
+ var GetCvmListSchema = import_zod16.z.object({
2388
+ items: import_zod16.z.array(CvmInfoSchema),
2389
+ total: import_zod16.z.number(),
2390
+ page: import_zod16.z.number(),
2391
+ page_size: import_zod16.z.number(),
2392
+ pages: import_zod16.z.number()
2382
2393
  }).strict();
2383
2394
  async function getCvmList(client, request, parameters) {
2384
2395
  const validatedRequest = GetCvmListRequestSchema.parse(request ?? {});
@@ -2415,9 +2426,9 @@ async function safeGetCvmList(client, request, parameters) {
2415
2426
  }
2416
2427
 
2417
2428
  // src/actions/get_kms_info.ts
2418
- var import_zod16 = require("zod");
2419
- var GetKmsInfoRequestSchema = import_zod16.z.object({
2420
- kms_id: import_zod16.z.string().min(1, "KMS ID is required")
2429
+ var import_zod17 = require("zod");
2430
+ var GetKmsInfoRequestSchema = import_zod17.z.object({
2431
+ kms_id: import_zod17.z.string().min(1, "KMS ID is required")
2421
2432
  });
2422
2433
  async function getKmsInfo(client, request, parameters) {
2423
2434
  const validatedRequest = GetKmsInfoRequestSchema.parse(request);
@@ -2451,18 +2462,18 @@ async function safeGetKmsInfo(client, request, parameters) {
2451
2462
  }
2452
2463
 
2453
2464
  // src/actions/get_kms_list.ts
2454
- var import_zod17 = require("zod");
2455
- var GetKmsListRequestSchema = import_zod17.z.object({
2456
- page: import_zod17.z.number().int().min(1).optional(),
2457
- page_size: import_zod17.z.number().int().min(1).optional(),
2458
- is_onchain: import_zod17.z.boolean().optional()
2465
+ var import_zod18 = require("zod");
2466
+ var GetKmsListRequestSchema = import_zod18.z.object({
2467
+ page: import_zod18.z.number().int().min(1).optional(),
2468
+ page_size: import_zod18.z.number().int().min(1).optional(),
2469
+ is_onchain: import_zod18.z.boolean().optional()
2459
2470
  }).strict();
2460
- var GetKmsListSchema = import_zod17.z.object({
2461
- items: import_zod17.z.array(KmsInfoSchema),
2462
- total: import_zod17.z.number(),
2463
- page: import_zod17.z.number(),
2464
- page_size: import_zod17.z.number(),
2465
- pages: import_zod17.z.number()
2471
+ var GetKmsListSchema = import_zod18.z.object({
2472
+ items: import_zod18.z.array(KmsInfoSchema),
2473
+ total: import_zod18.z.number(),
2474
+ page: import_zod18.z.number(),
2475
+ page_size: import_zod18.z.number(),
2476
+ pages: import_zod18.z.number()
2466
2477
  }).strict();
2467
2478
  async function getKmsList(client, request, parameters) {
2468
2479
  const validatedRequest = GetKmsListRequestSchema.parse(request ?? {});
@@ -2498,6 +2509,148 @@ async function safeGetKmsList(client, request, parameters) {
2498
2509
  return validationResult;
2499
2510
  }
2500
2511
 
2512
+ // src/actions/workspaces/list_workspaces.ts
2513
+ var import_zod19 = require("zod");
2514
+ var WorkspaceResponseSchema = import_zod19.z.object({
2515
+ id: import_zod19.z.string(),
2516
+ name: import_zod19.z.string(),
2517
+ slug: import_zod19.z.string().nullable(),
2518
+ tier: import_zod19.z.string(),
2519
+ role: import_zod19.z.string(),
2520
+ created_at: import_zod19.z.string()
2521
+ }).passthrough();
2522
+ var PaginationMetadataSchema = import_zod19.z.object({
2523
+ has_more: import_zod19.z.boolean(),
2524
+ next_cursor: import_zod19.z.string().nullable(),
2525
+ total: import_zod19.z.number().nullable()
2526
+ }).passthrough();
2527
+ var ListWorkspacesSchema = import_zod19.z.object({
2528
+ data: import_zod19.z.array(WorkspaceResponseSchema),
2529
+ pagination: PaginationMetadataSchema
2530
+ }).passthrough();
2531
+ async function listWorkspaces(client, parameters) {
2532
+ validateActionParameters(parameters);
2533
+ const queryParams = new URLSearchParams();
2534
+ if (parameters?.cursor) queryParams.append("cursor", parameters.cursor);
2535
+ if (parameters?.limit) queryParams.append("limit", parameters.limit.toString());
2536
+ const url = queryParams.toString() ? `/workspaces?${queryParams.toString()}` : "/workspaces";
2537
+ const response = await client.get(url);
2538
+ if (parameters?.schema === false) {
2539
+ return response;
2540
+ }
2541
+ const schema = parameters?.schema || ListWorkspacesSchema;
2542
+ return schema.parse(response);
2543
+ }
2544
+ async function safeListWorkspaces(client, parameters) {
2545
+ const parameterValidationError = safeValidateActionParameters(parameters);
2546
+ if (parameterValidationError) {
2547
+ return parameterValidationError;
2548
+ }
2549
+ const queryParams = new URLSearchParams();
2550
+ if (parameters?.cursor) queryParams.append("cursor", parameters.cursor);
2551
+ if (parameters?.limit) queryParams.append("limit", parameters.limit.toString());
2552
+ const url = queryParams.toString() ? `/workspaces?${queryParams.toString()}` : "/workspaces";
2553
+ const httpResult = await client.safeGet(url);
2554
+ if (!httpResult.success) {
2555
+ return httpResult;
2556
+ }
2557
+ if (parameters?.schema === false) {
2558
+ return { success: true, data: httpResult.data };
2559
+ }
2560
+ const schema = parameters?.schema || ListWorkspacesSchema;
2561
+ return schema.safeParse(httpResult.data);
2562
+ }
2563
+
2564
+ // src/actions/workspaces/get_workspace.ts
2565
+ async function getWorkspace(client, teamSlug, parameters) {
2566
+ validateActionParameters(parameters);
2567
+ const response = await client.get(`/workspaces/${teamSlug}`);
2568
+ if (parameters?.schema === false) {
2569
+ return response;
2570
+ }
2571
+ const schema = parameters?.schema || WorkspaceResponseSchema;
2572
+ return schema.parse(response);
2573
+ }
2574
+ async function safeGetWorkspace(client, teamSlug, parameters) {
2575
+ const parameterValidationError = safeValidateActionParameters(parameters);
2576
+ if (parameterValidationError) {
2577
+ return parameterValidationError;
2578
+ }
2579
+ const httpResult = await client.safeGet(`/workspaces/${teamSlug}`);
2580
+ if (!httpResult.success) {
2581
+ return httpResult;
2582
+ }
2583
+ if (parameters?.schema === false) {
2584
+ return { success: true, data: httpResult.data };
2585
+ }
2586
+ const schema = parameters?.schema || WorkspaceResponseSchema;
2587
+ return schema.safeParse(httpResult.data);
2588
+ }
2589
+
2590
+ // src/actions/list-instance-types.ts
2591
+ var import_zod20 = require("zod");
2592
+ var ListInstanceTypesRequestSchema = import_zod20.z.object({
2593
+ page: import_zod20.z.number().int().min(1).optional().default(1),
2594
+ page_size: import_zod20.z.number().int().min(1).max(1e3).optional().default(100)
2595
+ }).strict();
2596
+ var InstanceTypeSchema = import_zod20.z.object({
2597
+ id: import_zod20.z.string(),
2598
+ name: import_zod20.z.string(),
2599
+ description: import_zod20.z.string(),
2600
+ vcpu: import_zod20.z.number(),
2601
+ memory_mb: import_zod20.z.number(),
2602
+ hourly_rate: import_zod20.z.string(),
2603
+ requires_gpu: import_zod20.z.boolean(),
2604
+ public: import_zod20.z.boolean(),
2605
+ enabled: import_zod20.z.boolean()
2606
+ }).passthrough();
2607
+ var PaginatedInstanceTypesSchema = import_zod20.z.object({
2608
+ items: import_zod20.z.array(InstanceTypeSchema),
2609
+ total: import_zod20.z.number(),
2610
+ page: import_zod20.z.number(),
2611
+ page_size: import_zod20.z.number(),
2612
+ pages: import_zod20.z.number()
2613
+ }).strict();
2614
+ async function listInstanceTypes(client, request, parameters) {
2615
+ const validatedRequest = ListInstanceTypesRequestSchema.parse(request ?? {});
2616
+ validateActionParameters(parameters);
2617
+ const queryParams = new URLSearchParams();
2618
+ queryParams.append("page", validatedRequest.page.toString());
2619
+ queryParams.append("page_size", validatedRequest.page_size.toString());
2620
+ const response = await client.get(`/api/instance-types?${queryParams.toString()}`);
2621
+ if (parameters?.schema === false) {
2622
+ return response;
2623
+ }
2624
+ const schema = parameters?.schema || PaginatedInstanceTypesSchema;
2625
+ return schema.parse(response);
2626
+ }
2627
+ async function safeListInstanceTypes(client, request, parameters) {
2628
+ const requestValidation = ListInstanceTypesRequestSchema.safeParse(request ?? {});
2629
+ if (!requestValidation.success) {
2630
+ return requestValidation;
2631
+ }
2632
+ const parameterValidationError = safeValidateActionParameters(parameters);
2633
+ if (parameterValidationError) {
2634
+ return parameterValidationError;
2635
+ }
2636
+ const queryParams = new URLSearchParams();
2637
+ queryParams.append("page", requestValidation.data.page.toString());
2638
+ queryParams.append("page_size", requestValidation.data.page_size.toString());
2639
+ const httpResult = await client.safeGet(`/api/instance-types?${queryParams.toString()}`);
2640
+ if (!httpResult.success) {
2641
+ return httpResult;
2642
+ }
2643
+ if (parameters?.schema === false) {
2644
+ return {
2645
+ success: true,
2646
+ data: httpResult.data
2647
+ };
2648
+ }
2649
+ const schema = parameters?.schema || PaginatedInstanceTypesSchema;
2650
+ const validationResult = schema.safeParse(httpResult.data);
2651
+ return validationResult;
2652
+ }
2653
+
2501
2654
  // src/parse_dotenv.ts
2502
2655
  var LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;
2503
2656
  function parseEnv(input) {
@@ -2550,12 +2703,15 @@ var import_verify_env_encrypt_public_key = require("@phala/dstack-sdk/verify-env
2550
2703
  DeployAppAuthRequestSchema,
2551
2704
  DeployAppAuthSchema,
2552
2705
  GetAppEnvEncryptPubKeySchema,
2553
- GetCvmComposeFileResultSchema,
2554
2706
  GetCvmListSchema,
2555
2707
  GetKmsListSchema,
2708
+ InstanceTypeSchema,
2556
2709
  KmsInfoSchema,
2710
+ ListWorkspacesSchema,
2557
2711
  ManagedUserSchema,
2558
2712
  NetworkError,
2713
+ PaginatedInstanceTypesSchema,
2714
+ PaginationMetadataSchema,
2559
2715
  ProvisionCvmComposeFileUpdateRequestSchema,
2560
2716
  ProvisionCvmComposeFileUpdateResultSchema,
2561
2717
  ProvisionCvmRequestSchema,
@@ -2565,6 +2721,7 @@ var import_verify_env_encrypt_public_key = require("@phala/dstack-sdk/verify-env
2565
2721
  TransactionError,
2566
2722
  VmInfoSchema,
2567
2723
  WalletError,
2724
+ WorkspaceResponseSchema,
2568
2725
  addComposeHash,
2569
2726
  addNetwork,
2570
2727
  asHex,
@@ -2595,6 +2752,9 @@ var import_verify_env_encrypt_public_key = require("@phala/dstack-sdk/verify-env
2595
2752
  getErrorMessage,
2596
2753
  getKmsInfo,
2597
2754
  getKmsList,
2755
+ getWorkspace,
2756
+ listInstanceTypes,
2757
+ listWorkspaces,
2598
2758
  parseEnv,
2599
2759
  parseEnvVars,
2600
2760
  provisionCvm,
@@ -2611,6 +2771,9 @@ var import_verify_env_encrypt_public_key = require("@phala/dstack-sdk/verify-env
2611
2771
  safeGetCvmList,
2612
2772
  safeGetKmsInfo,
2613
2773
  safeGetKmsList,
2774
+ safeGetWorkspace,
2775
+ safeListInstanceTypes,
2776
+ safeListWorkspaces,
2614
2777
  safeProvisionCvm,
2615
2778
  safeProvisionCvmComposeFileUpdate,
2616
2779
  safeValidateActionParameters,