@phala/cloud 0.2.0 → 0.2.1-beta.1
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/actions/cvms/commit_cvm_provision.d.ts +69 -21
- package/dist/actions/cvms/get_cvm_list.d.ts +16 -16
- package/dist/actions/cvms/provision_cvm.d.ts +132 -50
- package/dist/actions/index.d.ts +1 -1
- package/dist/actions/kms/get_kms_list.d.ts +4 -4
- package/dist/actions/list-instance-types.d.ts +295 -90
- package/dist/create-client.d.ts +21 -7
- package/dist/index.js +164 -48
- package/dist/index.mjs +154 -44
- package/dist/utils/errors.d.ts +137 -20
- package/dist/utils/index.d.ts +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -31,6 +31,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
31
31
|
var index_exports = {};
|
|
32
32
|
__export(index_exports, {
|
|
33
33
|
AddComposeHashSchema: () => AddComposeHashSchema,
|
|
34
|
+
AllFamiliesResponseSchema: () => AllFamiliesResponseSchema,
|
|
34
35
|
ApiErrorSchema: () => ApiErrorSchema,
|
|
35
36
|
AuthError: () => AuthError,
|
|
36
37
|
AvailableNodesSchema: () => AvailableNodesSchema,
|
|
@@ -55,6 +56,8 @@ __export(index_exports, {
|
|
|
55
56
|
DeleteCvmRequestSchema: () => DeleteCvmRequestSchema,
|
|
56
57
|
DeployAppAuthRequestSchema: () => DeployAppAuthRequestSchema,
|
|
57
58
|
DeployAppAuthSchema: () => DeployAppAuthSchema,
|
|
59
|
+
FamilyGroupSchema: () => FamilyGroupSchema,
|
|
60
|
+
FamilyInstanceTypesResponseSchema: () => FamilyInstanceTypesResponseSchema,
|
|
58
61
|
GetAppEnvEncryptPubKeyRequestSchema: () => GetAppEnvEncryptPubKeyRequestSchema,
|
|
59
62
|
GetAppEnvEncryptPubKeySchema: () => GetAppEnvEncryptPubKeySchema,
|
|
60
63
|
GetAvailableOSImagesRequestSchema: () => GetAvailableOSImagesRequestSchema,
|
|
@@ -74,7 +77,7 @@ __export(index_exports, {
|
|
|
74
77
|
GetKmsListSchema: () => GetKmsListSchema,
|
|
75
78
|
InstanceTypeSchema: () => InstanceTypeSchema,
|
|
76
79
|
KmsInfoSchema: () => KmsInfoSchema,
|
|
77
|
-
|
|
80
|
+
ListFamilyInstanceTypesRequestSchema: () => ListFamilyInstanceTypesRequestSchema,
|
|
78
81
|
ListWorkspacesSchema: () => ListWorkspacesSchema,
|
|
79
82
|
ManagedUserSchema: () => ManagedUserSchema,
|
|
80
83
|
MaxRetriesExceededError: () => MaxRetriesExceededError,
|
|
@@ -82,7 +85,6 @@ __export(index_exports, {
|
|
|
82
85
|
NextAppIdsRequestSchema: () => NextAppIdsRequestSchema,
|
|
83
86
|
NextAppIdsSchema: () => NextAppIdsSchema,
|
|
84
87
|
OSImageVariantSchema: () => OSImageVariantSchema,
|
|
85
|
-
PaginatedInstanceTypesSchema: () => PaginatedInstanceTypesSchema,
|
|
86
88
|
PaginationMetadataSchema: () => PaginationMetadataSchema,
|
|
87
89
|
PhalaCloudError: () => PhalaCloudError,
|
|
88
90
|
ProvisionCvmComposeFileUpdateRequestSchema: () => ProvisionCvmComposeFileUpdateRequestSchema,
|
|
@@ -90,6 +92,7 @@ __export(index_exports, {
|
|
|
90
92
|
ProvisionCvmRequestSchema: () => ProvisionCvmRequestSchema,
|
|
91
93
|
ProvisionCvmSchema: () => ProvisionCvmSchema,
|
|
92
94
|
RequestError: () => RequestError,
|
|
95
|
+
ResourceError: () => ResourceError,
|
|
93
96
|
RestartCvmRequestSchema: () => RestartCvmRequestSchema,
|
|
94
97
|
SUPPORTED_CHAINS: () => SUPPORTED_CHAINS,
|
|
95
98
|
ServerError: () => ServerError,
|
|
@@ -134,6 +137,7 @@ __export(index_exports, {
|
|
|
134
137
|
executeTransactionWithRetry: () => executeTransactionWithRetry,
|
|
135
138
|
extractNetworkClients: () => extractNetworkClients,
|
|
136
139
|
formatErrorMessage: () => formatErrorMessage,
|
|
140
|
+
formatStructuredError: () => formatStructuredError,
|
|
137
141
|
formatValidationErrors: () => formatValidationErrors,
|
|
138
142
|
getAppEnvEncryptPubKey: () => getAppEnvEncryptPubKey,
|
|
139
143
|
getAvailableNodes: () => getAvailableNodes,
|
|
@@ -154,7 +158,8 @@ __export(index_exports, {
|
|
|
154
158
|
getKmsList: () => getKmsList,
|
|
155
159
|
getValidationFields: () => getValidationFields,
|
|
156
160
|
getWorkspace: () => getWorkspace,
|
|
157
|
-
|
|
161
|
+
listAllInstanceTypeFamilies: () => listAllInstanceTypeFamilies,
|
|
162
|
+
listFamilyInstanceTypes: () => listFamilyInstanceTypes,
|
|
158
163
|
listWorkspaces: () => listWorkspaces,
|
|
159
164
|
nextAppIds: () => nextAppIds,
|
|
160
165
|
parseApiError: () => parseApiError,
|
|
@@ -186,7 +191,8 @@ __export(index_exports, {
|
|
|
186
191
|
safeGetKmsInfo: () => safeGetKmsInfo,
|
|
187
192
|
safeGetKmsList: () => safeGetKmsList,
|
|
188
193
|
safeGetWorkspace: () => safeGetWorkspace,
|
|
189
|
-
|
|
194
|
+
safeListAllInstanceTypeFamilies: () => safeListAllInstanceTypeFamilies,
|
|
195
|
+
safeListFamilyInstanceTypes: () => safeListFamilyInstanceTypes,
|
|
190
196
|
safeListWorkspaces: () => safeListWorkspaces,
|
|
191
197
|
safeNextAppIds: () => safeNextAppIds,
|
|
192
198
|
safeProvisionCvm: () => safeProvisionCvm,
|
|
@@ -230,8 +236,11 @@ var ApiErrorSchema = import_zod.z.object({
|
|
|
230
236
|
import_zod.z.object({
|
|
231
237
|
msg: import_zod.z.string(),
|
|
232
238
|
type: import_zod.z.string().optional(),
|
|
233
|
-
ctx: import_zod.z.record(import_zod.z.unknown()).optional()
|
|
234
|
-
|
|
239
|
+
ctx: import_zod.z.record(import_zod.z.unknown()).optional(),
|
|
240
|
+
loc: import_zod.z.array(import_zod.z.union([import_zod.z.string(), import_zod.z.number()])).optional(),
|
|
241
|
+
input: import_zod.z.unknown().optional()
|
|
242
|
+
}).passthrough()
|
|
243
|
+
// Allow additional fields
|
|
235
244
|
),
|
|
236
245
|
import_zod.z.record(import_zod.z.unknown())
|
|
237
246
|
]).optional(),
|
|
@@ -334,6 +343,9 @@ var UnknownError = class extends PhalaCloudError {
|
|
|
334
343
|
}
|
|
335
344
|
};
|
|
336
345
|
function extractFieldPath(loc) {
|
|
346
|
+
if (!loc || !Array.isArray(loc)) {
|
|
347
|
+
return "unknown";
|
|
348
|
+
}
|
|
337
349
|
const filtered = loc.filter((part) => {
|
|
338
350
|
if (typeof part === "string") {
|
|
339
351
|
return !["body", "query", "path", "header"].includes(part);
|
|
@@ -349,12 +361,21 @@ function parseValidationErrors(detail) {
|
|
|
349
361
|
message: typeof detail === "string" ? detail : "Validation error"
|
|
350
362
|
};
|
|
351
363
|
}
|
|
352
|
-
const errors = detail.map(
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
364
|
+
const errors = detail.map(
|
|
365
|
+
(item, index) => {
|
|
366
|
+
const field = extractFieldPath(item.loc);
|
|
367
|
+
let displayField = field;
|
|
368
|
+
if (field === "unknown" && item.type) {
|
|
369
|
+
displayField = item.type === "missing" ? "required field" : item.type;
|
|
370
|
+
}
|
|
371
|
+
return {
|
|
372
|
+
field: displayField,
|
|
373
|
+
message: item.msg,
|
|
374
|
+
type: item.type,
|
|
375
|
+
context: item.ctx
|
|
376
|
+
};
|
|
377
|
+
}
|
|
378
|
+
);
|
|
358
379
|
const count = errors.length;
|
|
359
380
|
const message = count === 1 ? `Validation failed: ${errors[0].message}` : `Validation failed (${count} issue${count > 1 ? "s" : ""})`;
|
|
360
381
|
return { errors, message };
|
|
@@ -397,13 +418,21 @@ function parseApiError(requestError) {
|
|
|
397
418
|
const status = requestError.status ?? 0;
|
|
398
419
|
const statusText = requestError.statusText ?? "Unknown Error";
|
|
399
420
|
const detail = requestError.detail;
|
|
421
|
+
const structured = parseStructuredError(detail);
|
|
422
|
+
if (structured) {
|
|
423
|
+
return new ResourceError(structured.message, {
|
|
424
|
+
status,
|
|
425
|
+
statusText,
|
|
426
|
+
detail,
|
|
427
|
+
errorCode: structured.error_code,
|
|
428
|
+
structuredDetails: structured.details,
|
|
429
|
+
suggestions: structured.suggestions,
|
|
430
|
+
links: structured.links
|
|
431
|
+
});
|
|
432
|
+
}
|
|
400
433
|
const errorType = categorizeErrorType(status);
|
|
401
434
|
const message = extractPrimaryMessage(status, detail, requestError.message);
|
|
402
|
-
const commonData = {
|
|
403
|
-
status,
|
|
404
|
-
statusText,
|
|
405
|
-
detail
|
|
406
|
-
};
|
|
435
|
+
const commonData = { status, statusText, detail };
|
|
407
436
|
if (errorType === "validation" && Array.isArray(detail)) {
|
|
408
437
|
const { errors } = parseValidationErrors(detail);
|
|
409
438
|
return new ValidationError(message, {
|
|
@@ -465,6 +494,67 @@ function getErrorMessage(error) {
|
|
|
465
494
|
}
|
|
466
495
|
return "Unknown error occurred";
|
|
467
496
|
}
|
|
497
|
+
var ResourceError = class extends BusinessError {
|
|
498
|
+
constructor(message, data) {
|
|
499
|
+
super(message, data);
|
|
500
|
+
this.isResourceError = true;
|
|
501
|
+
this.errorCode = data.errorCode;
|
|
502
|
+
this.structuredDetails = data.structuredDetails;
|
|
503
|
+
this.suggestions = data.suggestions;
|
|
504
|
+
this.links = data.links;
|
|
505
|
+
}
|
|
506
|
+
};
|
|
507
|
+
function parseStructuredError(detail) {
|
|
508
|
+
if (!detail || typeof detail !== "object") {
|
|
509
|
+
return null;
|
|
510
|
+
}
|
|
511
|
+
const obj = detail;
|
|
512
|
+
if (obj.error_code && typeof obj.error_code === "string" && obj.message && typeof obj.message === "string") {
|
|
513
|
+
return {
|
|
514
|
+
error_code: obj.error_code,
|
|
515
|
+
message: obj.message,
|
|
516
|
+
details: obj.details,
|
|
517
|
+
suggestions: obj.suggestions,
|
|
518
|
+
links: obj.links
|
|
519
|
+
};
|
|
520
|
+
}
|
|
521
|
+
return null;
|
|
522
|
+
}
|
|
523
|
+
function formatStructuredError(error, options) {
|
|
524
|
+
const { showErrorCode = true, showSuggestions = true, showLinks = true } = options ?? {};
|
|
525
|
+
const parts = [];
|
|
526
|
+
if (showErrorCode && error.errorCode) {
|
|
527
|
+
parts.push(`Error [${error.errorCode}]: ${error.message}`);
|
|
528
|
+
} else {
|
|
529
|
+
parts.push(error.message);
|
|
530
|
+
}
|
|
531
|
+
if (error.structuredDetails && error.structuredDetails.length > 0) {
|
|
532
|
+
parts.push("");
|
|
533
|
+
parts.push("Details:");
|
|
534
|
+
error.structuredDetails.forEach((d) => {
|
|
535
|
+
if (d.message) {
|
|
536
|
+
parts.push(` - ${d.message}`);
|
|
537
|
+
} else if (d.field && d.value !== void 0) {
|
|
538
|
+
parts.push(` - ${d.field}: ${d.value}`);
|
|
539
|
+
}
|
|
540
|
+
});
|
|
541
|
+
}
|
|
542
|
+
if (showSuggestions && error.suggestions && error.suggestions.length > 0) {
|
|
543
|
+
parts.push("");
|
|
544
|
+
parts.push("Suggestions:");
|
|
545
|
+
error.suggestions.forEach((s) => {
|
|
546
|
+
parts.push(` - ${s}`);
|
|
547
|
+
});
|
|
548
|
+
}
|
|
549
|
+
if (showLinks && error.links && error.links.length > 0) {
|
|
550
|
+
parts.push("");
|
|
551
|
+
parts.push("Learn more:");
|
|
552
|
+
error.links.forEach((link) => {
|
|
553
|
+
parts.push(` - ${link.label}: ${link.url}`);
|
|
554
|
+
});
|
|
555
|
+
}
|
|
556
|
+
return parts.join("\n");
|
|
557
|
+
}
|
|
468
558
|
|
|
469
559
|
// src/client.ts
|
|
470
560
|
var SUPPORTED_API_VERSIONS = ["2025-05-31", "2025-10-28"];
|
|
@@ -1022,10 +1112,6 @@ var { action: getAvailableNodes, safeAction: safeGetAvailableNodes } = defineSim
|
|
|
1022
1112
|
|
|
1023
1113
|
// src/actions/list-instance-types.ts
|
|
1024
1114
|
var import_zod5 = require("zod");
|
|
1025
|
-
var ListInstanceTypesRequestSchema = import_zod5.z.object({
|
|
1026
|
-
page: import_zod5.z.number().int().min(1).optional().default(1),
|
|
1027
|
-
page_size: import_zod5.z.number().int().min(1).max(1e3).optional().default(100)
|
|
1028
|
-
}).strict();
|
|
1029
1115
|
var InstanceTypeSchema = import_zod5.z.object({
|
|
1030
1116
|
id: import_zod5.z.string(),
|
|
1031
1117
|
name: import_zod5.z.string(),
|
|
@@ -1034,22 +1120,34 @@ var InstanceTypeSchema = import_zod5.z.object({
|
|
|
1034
1120
|
memory_mb: import_zod5.z.number(),
|
|
1035
1121
|
hourly_rate: import_zod5.z.string(),
|
|
1036
1122
|
requires_gpu: import_zod5.z.boolean(),
|
|
1037
|
-
|
|
1038
|
-
|
|
1123
|
+
default_disk_size_gb: import_zod5.z.number().default(20),
|
|
1124
|
+
family: import_zod5.z.string().nullable()
|
|
1039
1125
|
}).passthrough();
|
|
1040
|
-
var
|
|
1126
|
+
var FamilyGroupSchema = import_zod5.z.object({
|
|
1127
|
+
name: import_zod5.z.string(),
|
|
1128
|
+
items: import_zod5.z.array(InstanceTypeSchema),
|
|
1129
|
+
total: import_zod5.z.number()
|
|
1130
|
+
}).strict();
|
|
1131
|
+
var AllFamiliesResponseSchema = import_zod5.z.object({
|
|
1132
|
+
result: import_zod5.z.array(FamilyGroupSchema)
|
|
1133
|
+
}).strict();
|
|
1134
|
+
var FamilyInstanceTypesResponseSchema = import_zod5.z.object({
|
|
1041
1135
|
items: import_zod5.z.array(InstanceTypeSchema),
|
|
1042
1136
|
total: import_zod5.z.number(),
|
|
1043
|
-
|
|
1044
|
-
page_size: import_zod5.z.number(),
|
|
1045
|
-
pages: import_zod5.z.number()
|
|
1137
|
+
family: import_zod5.z.string()
|
|
1046
1138
|
}).strict();
|
|
1047
|
-
var
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1139
|
+
var ListFamilyInstanceTypesRequestSchema = import_zod5.z.object({
|
|
1140
|
+
family: import_zod5.z.string()
|
|
1141
|
+
}).strict();
|
|
1142
|
+
var { action: listAllInstanceTypeFamilies, safeAction: safeListAllInstanceTypeFamilies } = defineAction(
|
|
1143
|
+
AllFamiliesResponseSchema,
|
|
1144
|
+
async (client) => {
|
|
1145
|
+
return await client.get("/instance-types");
|
|
1146
|
+
}
|
|
1147
|
+
);
|
|
1148
|
+
var { action: listFamilyInstanceTypes, safeAction: safeListFamilyInstanceTypes } = defineAction(FamilyInstanceTypesResponseSchema, async (client, request) => {
|
|
1149
|
+
const validated = ListFamilyInstanceTypesRequestSchema.parse(request);
|
|
1150
|
+
return await client.get(`/instance-types/${validated.family}`);
|
|
1053
1151
|
});
|
|
1054
1152
|
|
|
1055
1153
|
// src/actions/workspaces/list_workspaces.ts
|
|
@@ -1269,6 +1367,7 @@ var ProvisionCvmSchema = import_zod10.z.object({
|
|
|
1269
1367
|
fmspc: import_zod10.z.string().nullable().optional(),
|
|
1270
1368
|
device_id: import_zod10.z.string().nullable().optional(),
|
|
1271
1369
|
os_image_hash: import_zod10.z.string().nullable().optional(),
|
|
1370
|
+
instance_type: import_zod10.z.string().nullable().optional(),
|
|
1272
1371
|
teepod_id: import_zod10.z.number().nullable().optional(),
|
|
1273
1372
|
// Will be transformed to node_id
|
|
1274
1373
|
node_id: import_zod10.z.number().nullable().optional(),
|
|
@@ -1282,19 +1381,24 @@ var ProvisionCvmSchema = import_zod10.z.object({
|
|
|
1282
1381
|
});
|
|
1283
1382
|
var ProvisionCvmRequestSchema = import_zod10.z.object({
|
|
1284
1383
|
node_id: import_zod10.z.number().optional(),
|
|
1285
|
-
// recommended
|
|
1384
|
+
// recommended - optional, system auto-selects if not specified
|
|
1286
1385
|
teepod_id: import_zod10.z.number().optional(),
|
|
1287
1386
|
// deprecated, for compatibility
|
|
1387
|
+
region: import_zod10.z.string().optional(),
|
|
1388
|
+
// optional - region filter for auto-selection
|
|
1288
1389
|
name: import_zod10.z.string(),
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1390
|
+
instance_type: import_zod10.z.string().default("tdx.small"),
|
|
1391
|
+
// defaults to "tdx.small"
|
|
1392
|
+
image: import_zod10.z.string().optional(),
|
|
1393
|
+
vcpu: import_zod10.z.number().optional(),
|
|
1394
|
+
memory: import_zod10.z.number().optional(),
|
|
1395
|
+
disk_size: import_zod10.z.number().optional(),
|
|
1293
1396
|
compose_file: import_zod10.z.object({
|
|
1294
1397
|
allowed_envs: import_zod10.z.array(import_zod10.z.string()).optional(),
|
|
1295
1398
|
pre_launch_script: import_zod10.z.string().optional(),
|
|
1296
1399
|
docker_compose_file: import_zod10.z.string().optional(),
|
|
1297
|
-
name: import_zod10.z.string().optional(),
|
|
1400
|
+
name: import_zod10.z.string().optional().default(""),
|
|
1401
|
+
// optional with default empty string
|
|
1298
1402
|
kms_enabled: import_zod10.z.boolean().optional(),
|
|
1299
1403
|
public_logs: import_zod10.z.boolean().optional(),
|
|
1300
1404
|
public_sysinfo: import_zod10.z.boolean().optional(),
|
|
@@ -1304,8 +1408,11 @@ var ProvisionCvmRequestSchema = import_zod10.z.object({
|
|
|
1304
1408
|
// deprecated, for compatibility
|
|
1305
1409
|
}),
|
|
1306
1410
|
listed: import_zod10.z.boolean().optional(),
|
|
1307
|
-
instance_type: import_zod10.z.string().nullable().optional(),
|
|
1308
1411
|
kms_id: import_zod10.z.string().optional(),
|
|
1412
|
+
kms: import_zod10.z.enum(["PHALA", "ETHEREUM", "BASE"]).optional(),
|
|
1413
|
+
// KMS type selection (defaults to PHALA)
|
|
1414
|
+
kms_contract: import_zod10.z.string().optional(),
|
|
1415
|
+
// KMS contract address for on-chain KMS
|
|
1309
1416
|
env_keys: import_zod10.z.array(import_zod10.z.string()).optional()
|
|
1310
1417
|
}).passthrough();
|
|
1311
1418
|
function handleGatewayCompatibility(appCompose) {
|
|
@@ -1330,7 +1437,8 @@ function handleGatewayCompatibility(appCompose) {
|
|
|
1330
1437
|
};
|
|
1331
1438
|
}
|
|
1332
1439
|
var { action: provisionCvm, safeAction: safeProvisionCvm } = defineAction(ProvisionCvmSchema, async (client, appCompose) => {
|
|
1333
|
-
const
|
|
1440
|
+
const validated = ProvisionCvmRequestSchema.parse(appCompose);
|
|
1441
|
+
const body = handleGatewayCompatibility(validated);
|
|
1334
1442
|
let requestBody = { ...body };
|
|
1335
1443
|
if (typeof body.node_id === "number") {
|
|
1336
1444
|
requestBody = { ...body, teepod_id: body.node_id };
|
|
@@ -1374,7 +1482,7 @@ var CommitCvmProvisionSchema = import_zod11.z.object({
|
|
|
1374
1482
|
var CommitCvmProvisionRequestSchema = import_zod11.z.object({
|
|
1375
1483
|
encrypted_env: import_zod11.z.string().optional().nullable(),
|
|
1376
1484
|
app_id: import_zod11.z.string(),
|
|
1377
|
-
compose_hash: import_zod11.z.string()
|
|
1485
|
+
compose_hash: import_zod11.z.string(),
|
|
1378
1486
|
kms_id: import_zod11.z.string().optional(),
|
|
1379
1487
|
contract_address: import_zod11.z.string().optional(),
|
|
1380
1488
|
deployer_address: import_zod11.z.string().optional(),
|
|
@@ -1917,8 +2025,10 @@ function createClient2(config = {}) {
|
|
|
1917
2025
|
safeGetCurrentUser,
|
|
1918
2026
|
getAvailableNodes,
|
|
1919
2027
|
safeGetAvailableNodes,
|
|
1920
|
-
|
|
1921
|
-
|
|
2028
|
+
listAllInstanceTypeFamilies,
|
|
2029
|
+
safeListAllInstanceTypeFamilies,
|
|
2030
|
+
listFamilyInstanceTypes,
|
|
2031
|
+
safeListFamilyInstanceTypes,
|
|
1922
2032
|
listWorkspaces,
|
|
1923
2033
|
safeListWorkspaces,
|
|
1924
2034
|
getWorkspace,
|
|
@@ -3420,6 +3530,7 @@ var import_verify_env_encrypt_public_key = require("@phala/dstack-sdk/verify-env
|
|
|
3420
3530
|
// Annotate the CommonJS export names for ESM import in node:
|
|
3421
3531
|
0 && (module.exports = {
|
|
3422
3532
|
AddComposeHashSchema,
|
|
3533
|
+
AllFamiliesResponseSchema,
|
|
3423
3534
|
ApiErrorSchema,
|
|
3424
3535
|
AuthError,
|
|
3425
3536
|
AvailableNodesSchema,
|
|
@@ -3444,6 +3555,8 @@ var import_verify_env_encrypt_public_key = require("@phala/dstack-sdk/verify-env
|
|
|
3444
3555
|
DeleteCvmRequestSchema,
|
|
3445
3556
|
DeployAppAuthRequestSchema,
|
|
3446
3557
|
DeployAppAuthSchema,
|
|
3558
|
+
FamilyGroupSchema,
|
|
3559
|
+
FamilyInstanceTypesResponseSchema,
|
|
3447
3560
|
GetAppEnvEncryptPubKeyRequestSchema,
|
|
3448
3561
|
GetAppEnvEncryptPubKeySchema,
|
|
3449
3562
|
GetAvailableOSImagesRequestSchema,
|
|
@@ -3463,7 +3576,7 @@ var import_verify_env_encrypt_public_key = require("@phala/dstack-sdk/verify-env
|
|
|
3463
3576
|
GetKmsListSchema,
|
|
3464
3577
|
InstanceTypeSchema,
|
|
3465
3578
|
KmsInfoSchema,
|
|
3466
|
-
|
|
3579
|
+
ListFamilyInstanceTypesRequestSchema,
|
|
3467
3580
|
ListWorkspacesSchema,
|
|
3468
3581
|
ManagedUserSchema,
|
|
3469
3582
|
MaxRetriesExceededError,
|
|
@@ -3471,7 +3584,6 @@ var import_verify_env_encrypt_public_key = require("@phala/dstack-sdk/verify-env
|
|
|
3471
3584
|
NextAppIdsRequestSchema,
|
|
3472
3585
|
NextAppIdsSchema,
|
|
3473
3586
|
OSImageVariantSchema,
|
|
3474
|
-
PaginatedInstanceTypesSchema,
|
|
3475
3587
|
PaginationMetadataSchema,
|
|
3476
3588
|
PhalaCloudError,
|
|
3477
3589
|
ProvisionCvmComposeFileUpdateRequestSchema,
|
|
@@ -3479,6 +3591,7 @@ var import_verify_env_encrypt_public_key = require("@phala/dstack-sdk/verify-env
|
|
|
3479
3591
|
ProvisionCvmRequestSchema,
|
|
3480
3592
|
ProvisionCvmSchema,
|
|
3481
3593
|
RequestError,
|
|
3594
|
+
ResourceError,
|
|
3482
3595
|
RestartCvmRequestSchema,
|
|
3483
3596
|
SUPPORTED_CHAINS,
|
|
3484
3597
|
ServerError,
|
|
@@ -3523,6 +3636,7 @@ var import_verify_env_encrypt_public_key = require("@phala/dstack-sdk/verify-env
|
|
|
3523
3636
|
executeTransactionWithRetry,
|
|
3524
3637
|
extractNetworkClients,
|
|
3525
3638
|
formatErrorMessage,
|
|
3639
|
+
formatStructuredError,
|
|
3526
3640
|
formatValidationErrors,
|
|
3527
3641
|
getAppEnvEncryptPubKey,
|
|
3528
3642
|
getAvailableNodes,
|
|
@@ -3543,7 +3657,8 @@ var import_verify_env_encrypt_public_key = require("@phala/dstack-sdk/verify-env
|
|
|
3543
3657
|
getKmsList,
|
|
3544
3658
|
getValidationFields,
|
|
3545
3659
|
getWorkspace,
|
|
3546
|
-
|
|
3660
|
+
listAllInstanceTypeFamilies,
|
|
3661
|
+
listFamilyInstanceTypes,
|
|
3547
3662
|
listWorkspaces,
|
|
3548
3663
|
nextAppIds,
|
|
3549
3664
|
parseApiError,
|
|
@@ -3575,7 +3690,8 @@ var import_verify_env_encrypt_public_key = require("@phala/dstack-sdk/verify-env
|
|
|
3575
3690
|
safeGetKmsInfo,
|
|
3576
3691
|
safeGetKmsList,
|
|
3577
3692
|
safeGetWorkspace,
|
|
3578
|
-
|
|
3693
|
+
safeListAllInstanceTypeFamilies,
|
|
3694
|
+
safeListFamilyInstanceTypes,
|
|
3579
3695
|
safeListWorkspaces,
|
|
3580
3696
|
safeNextAppIds,
|
|
3581
3697
|
safeProvisionCvm,
|