@phala/cloud 0.2.1-beta.4 → 0.2.2
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/LICENSE +201 -0
- package/dist/actions/apps/get_app_cvms.d.ts +30 -0
- package/dist/actions/apps/get_app_info.d.ts +30 -0
- package/dist/actions/apps/get_app_list.d.ts +74 -0
- package/dist/actions/apps/get_app_revision_detail.d.ts +48 -0
- package/dist/actions/apps/get_app_revisions.d.ts +42 -0
- package/dist/actions/cvms/commit_cvm_compose_file_update.d.ts +7 -7
- package/dist/actions/cvms/commit_cvm_provision.d.ts +31 -31
- package/dist/actions/cvms/delete_cvm.d.ts +10 -7
- package/dist/actions/cvms/get_available_os_images.d.ts +10 -7
- package/dist/actions/cvms/get_cvm_attestation.d.ts +10 -7
- package/dist/actions/cvms/get_cvm_compose_file.d.ts +18 -15
- package/dist/actions/cvms/get_cvm_containers_stats.d.ts +14 -11
- package/dist/actions/cvms/get_cvm_docker_compose.d.ts +10 -7
- package/dist/actions/cvms/get_cvm_info.d.ts +19 -35
- package/dist/actions/cvms/get_cvm_list.d.ts +11 -537
- package/dist/actions/cvms/get_cvm_network.d.ts +10 -7
- package/dist/actions/cvms/get_cvm_prelaunch_script.d.ts +42 -0
- package/dist/actions/cvms/get_cvm_state.d.ts +10 -7
- package/dist/actions/cvms/get_cvm_stats.d.ts +10 -7
- package/dist/actions/cvms/get_cvm_status_batch.d.ts +167 -0
- package/dist/actions/cvms/provision_cvm.d.ts +404 -21
- package/dist/actions/cvms/provision_cvm_compose_file_update.d.ts +32 -32
- package/dist/actions/cvms/restart_cvm.d.ts +17 -14
- package/dist/actions/cvms/shutdown_cvm.d.ts +18 -15
- package/dist/actions/cvms/start_cvm.d.ts +18 -15
- package/dist/actions/cvms/stop_cvm.d.ts +18 -15
- package/dist/actions/cvms/update_cvm_envs.d.ts +32 -118
- package/dist/actions/cvms/update_cvm_resources.d.ts +13 -10
- package/dist/actions/cvms/update_cvm_visibility.d.ts +33 -14
- package/dist/actions/cvms/update_docker_compose.d.ts +420 -0
- package/dist/actions/cvms/update_os_image.d.ts +9 -6
- package/dist/actions/cvms/update_prelaunch_script.d.ts +417 -0
- package/dist/actions/cvms/watch_cvm_state.d.ts +1 -1
- package/dist/actions/get_available_nodes.d.ts +6 -6
- package/dist/actions/get_current_user.d.ts +36 -89
- package/dist/actions/index.d.ts +13 -2
- package/dist/actions/kms/get_app_env_encrypt_pubkey.d.ts +6 -6
- package/dist/actions/kms/get_kms_info.d.ts +6 -6
- package/dist/actions/kms/get_kms_list.d.ts +6 -6
- package/dist/actions/kms/next_app_ids.d.ts +6 -6
- package/dist/actions/list-instance-types.d.ts +16 -16
- package/dist/actions/workspaces/get_workspace.d.ts +8 -6
- package/dist/actions/workspaces/get_workspace_nodes.d.ts +313 -0
- package/dist/actions/workspaces/get_workspace_quotas.d.ts +1169 -0
- package/dist/actions/workspaces/list_workspaces.d.ts +24 -6
- package/dist/client.d.ts +49 -9
- package/dist/create-client.d.ts +72 -36
- package/dist/credentials/current_user_v20251028.d.ts +30 -0
- package/dist/credentials/current_user_v20260121.d.ts +276 -0
- package/dist/credentials/index.d.ts +4 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1713 -664
- package/dist/index.mjs +1627 -657
- package/dist/types/app_info_v20251028.d.ts +1266 -0
- package/dist/types/app_info_v20260121.d.ts +3385 -0
- package/dist/types/app_revision.d.ts +453 -0
- package/dist/types/client.d.ts +41 -3
- package/dist/types/cvm_id.d.ts +29 -11
- package/dist/types/cvm_info.d.ts +16 -502
- package/dist/types/cvm_info_v20251028.d.ts +988 -0
- package/dist/types/cvm_info_v20260121.d.ts +1333 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/version-mappings.d.ts +38 -0
- package/dist/utils/define-action.d.ts +15 -14
- package/dist/utils/errors.d.ts +2 -2
- package/dist/utils/hostname.d.ts +77 -0
- package/dist/utils/index.d.ts +1 -0
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -333,7 +333,11 @@ function formatStructuredError(error, options) {
|
|
|
333
333
|
}
|
|
334
334
|
|
|
335
335
|
// src/client.ts
|
|
336
|
-
var SUPPORTED_API_VERSIONS = [
|
|
336
|
+
var SUPPORTED_API_VERSIONS = [
|
|
337
|
+
"2025-10-28",
|
|
338
|
+
"2026-01-21"
|
|
339
|
+
];
|
|
340
|
+
var DEFAULT_API_VERSION = "2026-01-21";
|
|
337
341
|
var logger = debug("phala::api-client");
|
|
338
342
|
function formatHeaders(headers) {
|
|
339
343
|
return Object.entries(headers).map(([key, value]) => ` -H "${key}: ${value}"`).join("\n");
|
|
@@ -357,17 +361,19 @@ function formatResponse(status, statusText, headers, body) {
|
|
|
357
361
|
bodyStr
|
|
358
362
|
].filter(Boolean).join("\n");
|
|
359
363
|
}
|
|
360
|
-
var Client = class {
|
|
364
|
+
var Client = class _Client {
|
|
361
365
|
constructor(config = {}) {
|
|
362
366
|
this.emitter = mitt();
|
|
363
|
-
const
|
|
367
|
+
const resolvedApiKey = config.apiKey || process?.env?.PHALA_CLOUD_API_KEY;
|
|
368
|
+
const resolvedBaseURL = config.baseURL || process?.env?.PHALA_CLOUD_API_PREFIX || "https://cloud-api.phala.com/api/v1";
|
|
369
|
+
const version = config.version && SUPPORTED_API_VERSIONS.includes(config.version) ? config.version : DEFAULT_API_VERSION;
|
|
370
|
+
this.config = {
|
|
364
371
|
...config,
|
|
365
|
-
apiKey:
|
|
366
|
-
baseURL:
|
|
372
|
+
apiKey: resolvedApiKey,
|
|
373
|
+
baseURL: resolvedBaseURL,
|
|
374
|
+
version
|
|
367
375
|
};
|
|
368
|
-
const
|
|
369
|
-
this.config = resolvedConfig;
|
|
370
|
-
const { apiKey, baseURL, timeout, headers, useCookieAuth, onResponseError, ...fetchOptions } = resolvedConfig;
|
|
376
|
+
const { apiKey, baseURL, timeout, headers, useCookieAuth, onResponseError, ...fetchOptions } = this.config;
|
|
371
377
|
const requestHeaders = {
|
|
372
378
|
"X-Phala-Version": version,
|
|
373
379
|
"Content-Type": "application/json"
|
|
@@ -426,8 +432,8 @@ var Client = class {
|
|
|
426
432
|
},
|
|
427
433
|
// Generic handlers for response error (similar to request.ts)
|
|
428
434
|
onResponseError: ({ request, response, options }) => {
|
|
429
|
-
console.warn(`HTTP ${response.status}: ${response.url}`);
|
|
430
435
|
if (logger.enabled) {
|
|
436
|
+
console.warn(`HTTP ${response.status}: ${response.url}`);
|
|
431
437
|
const method = options.method || "GET";
|
|
432
438
|
const url = typeof request === "string" ? request : request.url;
|
|
433
439
|
logger(
|
|
@@ -463,6 +469,49 @@ var Client = class {
|
|
|
463
469
|
this.emitter.on(type, wrappedHandler);
|
|
464
470
|
}
|
|
465
471
|
// ===== Direct methods (throw on error) =====
|
|
472
|
+
/**
|
|
473
|
+
* Generic request method (throws PhalaCloudError on error)
|
|
474
|
+
*/
|
|
475
|
+
async request(url, options) {
|
|
476
|
+
try {
|
|
477
|
+
const method = options?.method || "GET";
|
|
478
|
+
return await this.fetchInstance(url, {
|
|
479
|
+
...options,
|
|
480
|
+
method
|
|
481
|
+
});
|
|
482
|
+
} catch (error) {
|
|
483
|
+
const requestError = this.convertToRequestError(error);
|
|
484
|
+
const phalaCloudError = this.emitError(requestError);
|
|
485
|
+
throw phalaCloudError;
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
/**
|
|
489
|
+
* Generic request method that returns the full response (status + headers + data)
|
|
490
|
+
*
|
|
491
|
+
* Unlike other direct methods, this does NOT throw for non-2xx HTTP statuses.
|
|
492
|
+
* It only throws for network/transport/unexpected errors.
|
|
493
|
+
*/
|
|
494
|
+
async requestFull(url, options) {
|
|
495
|
+
try {
|
|
496
|
+
const method = options?.method || "GET";
|
|
497
|
+
const response = await this.fetchInstance.raw(url, {
|
|
498
|
+
...options,
|
|
499
|
+
method,
|
|
500
|
+
ignoreResponseError: true
|
|
501
|
+
});
|
|
502
|
+
return {
|
|
503
|
+
status: response.status,
|
|
504
|
+
statusText: response.statusText,
|
|
505
|
+
headers: response.headers,
|
|
506
|
+
data: response._data,
|
|
507
|
+
ok: response.ok
|
|
508
|
+
};
|
|
509
|
+
} catch (error) {
|
|
510
|
+
const requestError = this.convertToRequestError(error);
|
|
511
|
+
const phalaCloudError = this.emitError(requestError);
|
|
512
|
+
throw phalaCloudError;
|
|
513
|
+
}
|
|
514
|
+
}
|
|
466
515
|
/**
|
|
467
516
|
* Perform GET request (throws PhalaCloudError on error)
|
|
468
517
|
*/
|
|
@@ -613,6 +662,34 @@ var Client = class {
|
|
|
613
662
|
async safeDelete(request, options) {
|
|
614
663
|
return this.safeRequest(() => this.delete(request, options));
|
|
615
664
|
}
|
|
665
|
+
/**
|
|
666
|
+
* Safe wrapper around the generic request method (returns SafeResult)
|
|
667
|
+
*/
|
|
668
|
+
async safeRequestMethod(url, options) {
|
|
669
|
+
return this.safeRequest(() => this.request(url, options));
|
|
670
|
+
}
|
|
671
|
+
/**
|
|
672
|
+
* Safe wrapper around requestFull (returns SafeResult)
|
|
673
|
+
*/
|
|
674
|
+
async safeRequestFull(url, options) {
|
|
675
|
+
return this.safeRequest(() => this.requestFull(url, options));
|
|
676
|
+
}
|
|
677
|
+
/**
|
|
678
|
+
* Create a new client with a different API version
|
|
679
|
+
*
|
|
680
|
+
* @example
|
|
681
|
+
* ```typescript
|
|
682
|
+
* const client = createClient(); // defaults to 2026-01-21
|
|
683
|
+
* const legacyClient = client.withVersion("2025-10-28");
|
|
684
|
+
* const data = await getCvmInfo(legacyClient, { id: "xxx" });
|
|
685
|
+
* ```
|
|
686
|
+
*/
|
|
687
|
+
withVersion(version) {
|
|
688
|
+
return new _Client({
|
|
689
|
+
...this.config,
|
|
690
|
+
version
|
|
691
|
+
});
|
|
692
|
+
}
|
|
616
693
|
/**
|
|
617
694
|
* Extend client with additional actions
|
|
618
695
|
*
|
|
@@ -640,8 +717,113 @@ function createClient(config = {}) {
|
|
|
640
717
|
return new Client(config);
|
|
641
718
|
}
|
|
642
719
|
|
|
643
|
-
// src/
|
|
720
|
+
// src/credentials/current_user_v20260121.ts
|
|
644
721
|
import { z as z2 } from "zod";
|
|
722
|
+
var UserInfoSchema = z2.object({
|
|
723
|
+
username: z2.string(),
|
|
724
|
+
email: z2.string(),
|
|
725
|
+
role: z2.enum(["admin", "user"]),
|
|
726
|
+
avatar: z2.string(),
|
|
727
|
+
email_verified: z2.boolean(),
|
|
728
|
+
totp_enabled: z2.boolean(),
|
|
729
|
+
has_backup_codes: z2.boolean(),
|
|
730
|
+
flag_has_password: z2.boolean()
|
|
731
|
+
}).passthrough();
|
|
732
|
+
var WorkspaceInfoSchema = z2.object({
|
|
733
|
+
id: z2.string(),
|
|
734
|
+
name: z2.string(),
|
|
735
|
+
slug: z2.string().nullable(),
|
|
736
|
+
tier: z2.string(),
|
|
737
|
+
role: z2.string(),
|
|
738
|
+
avatar: z2.string().nullable().optional()
|
|
739
|
+
}).passthrough();
|
|
740
|
+
var CreditsInfoSchema = z2.object({
|
|
741
|
+
balance: z2.string().or(z2.number()),
|
|
742
|
+
granted_balance: z2.string().or(z2.number()),
|
|
743
|
+
is_post_paid: z2.boolean(),
|
|
744
|
+
outstanding_amount: z2.string().or(z2.number()).nullable()
|
|
745
|
+
}).passthrough();
|
|
746
|
+
var CurrentUserV20260121Schema = z2.object({
|
|
747
|
+
user: UserInfoSchema,
|
|
748
|
+
workspace: WorkspaceInfoSchema,
|
|
749
|
+
credits: CreditsInfoSchema
|
|
750
|
+
}).passthrough();
|
|
751
|
+
|
|
752
|
+
// src/credentials/current_user_v20251028.ts
|
|
753
|
+
import { z as z3 } from "zod";
|
|
754
|
+
var CurrentUserV20251028Schema = z3.object({
|
|
755
|
+
username: z3.string(),
|
|
756
|
+
email: z3.string(),
|
|
757
|
+
credits: z3.number(),
|
|
758
|
+
granted_credits: z3.number(),
|
|
759
|
+
avatar: z3.string(),
|
|
760
|
+
team_name: z3.string(),
|
|
761
|
+
team_tier: z3.string()
|
|
762
|
+
}).passthrough();
|
|
763
|
+
|
|
764
|
+
// src/actions/get_current_user.ts
|
|
765
|
+
function getSchemaForVersion(version) {
|
|
766
|
+
return version === "2025-10-28" ? CurrentUserV20251028Schema : CurrentUserV20260121Schema;
|
|
767
|
+
}
|
|
768
|
+
async function getCurrentUser(client, parameters) {
|
|
769
|
+
const response = await client.get("/auth/me");
|
|
770
|
+
if (parameters?.schema === false) {
|
|
771
|
+
return response;
|
|
772
|
+
}
|
|
773
|
+
const schema = parameters?.schema || getSchemaForVersion(client.config.version);
|
|
774
|
+
return schema.parse(response);
|
|
775
|
+
}
|
|
776
|
+
async function safeGetCurrentUser(client, parameters) {
|
|
777
|
+
try {
|
|
778
|
+
const data = await getCurrentUser(client, parameters);
|
|
779
|
+
return { success: true, data };
|
|
780
|
+
} catch (error) {
|
|
781
|
+
if (error && typeof error === "object" && ("status" in error || "issues" in error)) {
|
|
782
|
+
return { success: false, error };
|
|
783
|
+
}
|
|
784
|
+
return {
|
|
785
|
+
success: false,
|
|
786
|
+
error: {
|
|
787
|
+
name: "Error",
|
|
788
|
+
message: error instanceof Error ? error.message : String(error)
|
|
789
|
+
}
|
|
790
|
+
};
|
|
791
|
+
}
|
|
792
|
+
}
|
|
793
|
+
|
|
794
|
+
// src/actions/get_available_nodes.ts
|
|
795
|
+
import { z as z5 } from "zod";
|
|
796
|
+
|
|
797
|
+
// src/types/kms_info.ts
|
|
798
|
+
import { z as z4 } from "zod";
|
|
799
|
+
|
|
800
|
+
// src/types/supported_chains.ts
|
|
801
|
+
import { anvil, base, mainnet } from "viem/chains";
|
|
802
|
+
var SUPPORTED_CHAINS = {
|
|
803
|
+
[mainnet.id]: mainnet,
|
|
804
|
+
[base.id]: base,
|
|
805
|
+
[anvil.id]: anvil
|
|
806
|
+
};
|
|
807
|
+
|
|
808
|
+
// src/types/kms_info.ts
|
|
809
|
+
var KmsInfoBaseSchema = z4.object({
|
|
810
|
+
id: z4.string(),
|
|
811
|
+
slug: z4.string().nullable(),
|
|
812
|
+
url: z4.string(),
|
|
813
|
+
version: z4.string(),
|
|
814
|
+
chain_id: z4.number().nullable(),
|
|
815
|
+
kms_contract_address: z4.string().nullable().transform((val) => val),
|
|
816
|
+
gateway_app_id: z4.string().nullable().transform((val) => val)
|
|
817
|
+
}).passthrough();
|
|
818
|
+
var KmsInfoSchema = KmsInfoBaseSchema.transform((data) => {
|
|
819
|
+
if (data.chain_id != null) {
|
|
820
|
+
const chain = SUPPORTED_CHAINS[data.chain_id];
|
|
821
|
+
if (chain) {
|
|
822
|
+
return { ...data, chain };
|
|
823
|
+
}
|
|
824
|
+
}
|
|
825
|
+
return data;
|
|
826
|
+
});
|
|
645
827
|
|
|
646
828
|
// src/utils/validate-parameters.ts
|
|
647
829
|
function validateActionParameters(parameters) {
|
|
@@ -789,95 +971,44 @@ function defineAction(schema, fn) {
|
|
|
789
971
|
};
|
|
790
972
|
}
|
|
791
973
|
|
|
792
|
-
// src/actions/get_current_user.ts
|
|
793
|
-
var CurrentUserSchema = z2.object({
|
|
794
|
-
username: z2.string(),
|
|
795
|
-
email: z2.string(),
|
|
796
|
-
credits: z2.number(),
|
|
797
|
-
granted_credits: z2.number(),
|
|
798
|
-
avatar: z2.string(),
|
|
799
|
-
team_name: z2.string(),
|
|
800
|
-
team_tier: z2.string()
|
|
801
|
-
}).passthrough();
|
|
802
|
-
var { action: getCurrentUser, safeAction: safeGetCurrentUser } = defineSimpleAction(
|
|
803
|
-
CurrentUserSchema,
|
|
804
|
-
async (client) => {
|
|
805
|
-
return await client.get("/auth/me");
|
|
806
|
-
}
|
|
807
|
-
);
|
|
808
|
-
|
|
809
|
-
// src/actions/get_available_nodes.ts
|
|
810
|
-
import { z as z4 } from "zod";
|
|
811
|
-
|
|
812
|
-
// src/types/kms_info.ts
|
|
813
|
-
import { z as z3 } from "zod";
|
|
814
|
-
|
|
815
|
-
// src/types/supported_chains.ts
|
|
816
|
-
import { anvil, base, mainnet } from "viem/chains";
|
|
817
|
-
var SUPPORTED_CHAINS = {
|
|
818
|
-
[mainnet.id]: mainnet,
|
|
819
|
-
[base.id]: base,
|
|
820
|
-
[anvil.id]: anvil
|
|
821
|
-
};
|
|
822
|
-
|
|
823
|
-
// src/types/kms_info.ts
|
|
824
|
-
var KmsInfoBaseSchema = z3.object({
|
|
825
|
-
id: z3.string(),
|
|
826
|
-
slug: z3.string().nullable(),
|
|
827
|
-
url: z3.string(),
|
|
828
|
-
version: z3.string(),
|
|
829
|
-
chain_id: z3.number().nullable(),
|
|
830
|
-
kms_contract_address: z3.string().nullable().transform((val) => val),
|
|
831
|
-
gateway_app_id: z3.string().nullable().transform((val) => val)
|
|
832
|
-
}).passthrough();
|
|
833
|
-
var KmsInfoSchema = KmsInfoBaseSchema.transform((data) => {
|
|
834
|
-
if (data.chain_id != null) {
|
|
835
|
-
const chain = SUPPORTED_CHAINS[data.chain_id];
|
|
836
|
-
if (chain) {
|
|
837
|
-
return { ...data, chain };
|
|
838
|
-
}
|
|
839
|
-
}
|
|
840
|
-
return data;
|
|
841
|
-
});
|
|
842
|
-
|
|
843
974
|
// src/actions/get_available_nodes.ts
|
|
844
|
-
var AvailableOSImageSchema =
|
|
845
|
-
name:
|
|
846
|
-
is_dev:
|
|
847
|
-
version:
|
|
848
|
-
|
|
849
|
-
|
|
975
|
+
var AvailableOSImageSchema = z5.object({
|
|
976
|
+
name: z5.string(),
|
|
977
|
+
is_dev: z5.boolean(),
|
|
978
|
+
version: z5.union([
|
|
979
|
+
z5.tuple([z5.number(), z5.number(), z5.number()]),
|
|
980
|
+
z5.tuple([z5.number(), z5.number(), z5.number(), z5.number()])
|
|
850
981
|
]),
|
|
851
|
-
os_image_hash:
|
|
982
|
+
os_image_hash: z5.string().nullable().optional()
|
|
852
983
|
}).passthrough();
|
|
853
|
-
var TeepodCapacitySchema =
|
|
854
|
-
teepod_id:
|
|
855
|
-
name:
|
|
856
|
-
listed:
|
|
857
|
-
resource_score:
|
|
858
|
-
remaining_vcpu:
|
|
859
|
-
remaining_memory:
|
|
860
|
-
remaining_cvm_slots:
|
|
861
|
-
images:
|
|
862
|
-
support_onchain_kms:
|
|
863
|
-
fmspc:
|
|
864
|
-
device_id:
|
|
865
|
-
region_identifier:
|
|
866
|
-
default_kms:
|
|
867
|
-
kms_list:
|
|
984
|
+
var TeepodCapacitySchema = z5.object({
|
|
985
|
+
teepod_id: z5.number(),
|
|
986
|
+
name: z5.string(),
|
|
987
|
+
listed: z5.boolean(),
|
|
988
|
+
resource_score: z5.number(),
|
|
989
|
+
remaining_vcpu: z5.number(),
|
|
990
|
+
remaining_memory: z5.number(),
|
|
991
|
+
remaining_cvm_slots: z5.number(),
|
|
992
|
+
images: z5.array(AvailableOSImageSchema),
|
|
993
|
+
support_onchain_kms: z5.boolean().optional(),
|
|
994
|
+
fmspc: z5.string().nullable().optional(),
|
|
995
|
+
device_id: z5.string().nullable().optional(),
|
|
996
|
+
region_identifier: z5.string().nullable().optional(),
|
|
997
|
+
default_kms: z5.string().nullable().optional(),
|
|
998
|
+
kms_list: z5.array(z5.string()).default([])
|
|
868
999
|
}).passthrough();
|
|
869
|
-
var ResourceThresholdSchema =
|
|
870
|
-
max_instances:
|
|
871
|
-
max_vcpu:
|
|
872
|
-
max_memory:
|
|
873
|
-
max_disk:
|
|
1000
|
+
var ResourceThresholdSchema = z5.object({
|
|
1001
|
+
max_instances: z5.number().nullable().optional(),
|
|
1002
|
+
max_vcpu: z5.number().nullable().optional(),
|
|
1003
|
+
max_memory: z5.number().nullable().optional(),
|
|
1004
|
+
max_disk: z5.number().nullable().optional()
|
|
874
1005
|
}).passthrough();
|
|
875
|
-
var AvailableNodesSchema =
|
|
876
|
-
tier:
|
|
1006
|
+
var AvailableNodesSchema = z5.object({
|
|
1007
|
+
tier: z5.string(),
|
|
877
1008
|
// TeamTier is string enum
|
|
878
1009
|
capacity: ResourceThresholdSchema,
|
|
879
|
-
nodes:
|
|
880
|
-
kms_list:
|
|
1010
|
+
nodes: z5.array(TeepodCapacitySchema),
|
|
1011
|
+
kms_list: z5.array(KmsInfoSchema)
|
|
881
1012
|
}).passthrough();
|
|
882
1013
|
var { action: getAvailableNodes, safeAction: safeGetAvailableNodes } = defineSimpleAction(
|
|
883
1014
|
AvailableNodesSchema,
|
|
@@ -887,33 +1018,33 @@ var { action: getAvailableNodes, safeAction: safeGetAvailableNodes } = defineSim
|
|
|
887
1018
|
);
|
|
888
1019
|
|
|
889
1020
|
// src/actions/list-instance-types.ts
|
|
890
|
-
import { z as
|
|
891
|
-
var InstanceTypeSchema =
|
|
892
|
-
id:
|
|
893
|
-
name:
|
|
894
|
-
description:
|
|
895
|
-
vcpu:
|
|
896
|
-
memory_mb:
|
|
897
|
-
hourly_rate:
|
|
898
|
-
requires_gpu:
|
|
899
|
-
default_disk_size_gb:
|
|
900
|
-
family:
|
|
1021
|
+
import { z as z6 } from "zod";
|
|
1022
|
+
var InstanceTypeSchema = z6.object({
|
|
1023
|
+
id: z6.string(),
|
|
1024
|
+
name: z6.string(),
|
|
1025
|
+
description: z6.string(),
|
|
1026
|
+
vcpu: z6.number(),
|
|
1027
|
+
memory_mb: z6.number(),
|
|
1028
|
+
hourly_rate: z6.string(),
|
|
1029
|
+
requires_gpu: z6.boolean(),
|
|
1030
|
+
default_disk_size_gb: z6.number().default(20),
|
|
1031
|
+
family: z6.string().nullable()
|
|
901
1032
|
}).passthrough();
|
|
902
|
-
var FamilyGroupSchema =
|
|
903
|
-
name:
|
|
904
|
-
items:
|
|
905
|
-
total:
|
|
1033
|
+
var FamilyGroupSchema = z6.object({
|
|
1034
|
+
name: z6.string(),
|
|
1035
|
+
items: z6.array(InstanceTypeSchema),
|
|
1036
|
+
total: z6.number()
|
|
906
1037
|
}).strict();
|
|
907
|
-
var AllFamiliesResponseSchema =
|
|
908
|
-
result:
|
|
1038
|
+
var AllFamiliesResponseSchema = z6.object({
|
|
1039
|
+
result: z6.array(FamilyGroupSchema)
|
|
909
1040
|
}).strict();
|
|
910
|
-
var FamilyInstanceTypesResponseSchema =
|
|
911
|
-
items:
|
|
912
|
-
total:
|
|
913
|
-
family:
|
|
1041
|
+
var FamilyInstanceTypesResponseSchema = z6.object({
|
|
1042
|
+
items: z6.array(InstanceTypeSchema),
|
|
1043
|
+
total: z6.number(),
|
|
1044
|
+
family: z6.string()
|
|
914
1045
|
}).strict();
|
|
915
|
-
var ListFamilyInstanceTypesRequestSchema =
|
|
916
|
-
family:
|
|
1046
|
+
var ListFamilyInstanceTypesRequestSchema = z6.object({
|
|
1047
|
+
family: z6.string()
|
|
917
1048
|
}).strict();
|
|
918
1049
|
var { action: listAllInstanceTypeFamilies, safeAction: safeListAllInstanceTypeFamilies } = defineAction(
|
|
919
1050
|
AllFamiliesResponseSchema,
|
|
@@ -927,22 +1058,23 @@ var { action: listFamilyInstanceTypes, safeAction: safeListFamilyInstanceTypes }
|
|
|
927
1058
|
});
|
|
928
1059
|
|
|
929
1060
|
// src/actions/workspaces/list_workspaces.ts
|
|
930
|
-
import { z as
|
|
931
|
-
var WorkspaceResponseSchema =
|
|
932
|
-
id:
|
|
933
|
-
name:
|
|
934
|
-
slug:
|
|
935
|
-
tier:
|
|
936
|
-
role:
|
|
937
|
-
|
|
1061
|
+
import { z as z7 } from "zod";
|
|
1062
|
+
var WorkspaceResponseSchema = z7.object({
|
|
1063
|
+
id: z7.string(),
|
|
1064
|
+
name: z7.string(),
|
|
1065
|
+
slug: z7.string().nullable(),
|
|
1066
|
+
tier: z7.string(),
|
|
1067
|
+
role: z7.string(),
|
|
1068
|
+
is_default: z7.boolean(),
|
|
1069
|
+
created_at: z7.string()
|
|
938
1070
|
}).passthrough();
|
|
939
|
-
var PaginationMetadataSchema =
|
|
940
|
-
has_more:
|
|
941
|
-
next_cursor:
|
|
942
|
-
total:
|
|
1071
|
+
var PaginationMetadataSchema = z7.object({
|
|
1072
|
+
has_more: z7.boolean(),
|
|
1073
|
+
next_cursor: z7.string().nullable(),
|
|
1074
|
+
total: z7.number().nullable()
|
|
943
1075
|
}).passthrough();
|
|
944
|
-
var ListWorkspacesSchema =
|
|
945
|
-
data:
|
|
1076
|
+
var ListWorkspacesSchema = z7.object({
|
|
1077
|
+
data: z7.array(WorkspaceResponseSchema),
|
|
946
1078
|
pagination: PaginationMetadataSchema
|
|
947
1079
|
}).passthrough();
|
|
948
1080
|
var { action: listWorkspaces, safeAction: safeListWorkspaces } = defineAction(ListWorkspacesSchema, async (client, request) => {
|
|
@@ -958,135 +1090,285 @@ var { action: getWorkspace, safeAction: safeGetWorkspace } = defineAction(Worksp
|
|
|
958
1090
|
return await client.get(`/workspaces/${teamSlug}`);
|
|
959
1091
|
});
|
|
960
1092
|
|
|
961
|
-
// src/types/
|
|
962
|
-
import { z as
|
|
963
|
-
var
|
|
964
|
-
id:
|
|
965
|
-
name:
|
|
966
|
-
status:
|
|
967
|
-
uptime:
|
|
968
|
-
app_url:
|
|
969
|
-
app_id:
|
|
970
|
-
instance_id:
|
|
971
|
-
configuration:
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
image_version: z7.string().nullable()
|
|
978
|
-
});
|
|
979
|
-
var ManagedUserSchema = z7.object({
|
|
980
|
-
id: z7.number(),
|
|
981
|
-
username: z7.string()
|
|
982
|
-
});
|
|
983
|
-
var CvmNodeSchema = z7.object({
|
|
984
|
-
id: z7.number(),
|
|
985
|
-
name: z7.string(),
|
|
986
|
-
region_identifier: z7.string().nullable().optional()
|
|
1093
|
+
// src/types/cvm_info_v20251028.ts
|
|
1094
|
+
import { z as z8 } from "zod";
|
|
1095
|
+
var VmInfoV20251028Schema = z8.object({
|
|
1096
|
+
id: z8.string(),
|
|
1097
|
+
name: z8.string(),
|
|
1098
|
+
status: z8.string(),
|
|
1099
|
+
uptime: z8.string(),
|
|
1100
|
+
app_url: z8.string().nullable(),
|
|
1101
|
+
app_id: z8.string(),
|
|
1102
|
+
instance_id: z8.string().nullable(),
|
|
1103
|
+
configuration: z8.any().optional(),
|
|
1104
|
+
exited_at: z8.string().nullable(),
|
|
1105
|
+
boot_progress: z8.string().nullable(),
|
|
1106
|
+
boot_error: z8.string().nullable(),
|
|
1107
|
+
shutdown_progress: z8.string().nullable(),
|
|
1108
|
+
image_version: z8.string().nullable()
|
|
987
1109
|
});
|
|
988
|
-
var
|
|
989
|
-
|
|
990
|
-
|
|
1110
|
+
var ManagedUserV20251028Schema = z8.object({
|
|
1111
|
+
id: z8.number(),
|
|
1112
|
+
username: z8.string()
|
|
991
1113
|
});
|
|
992
|
-
var
|
|
993
|
-
|
|
994
|
-
name:
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1114
|
+
var CvmNodeV20251028Schema = z8.object({
|
|
1115
|
+
id: z8.number(),
|
|
1116
|
+
name: z8.string(),
|
|
1117
|
+
region_identifier: z8.string().nullable().optional()
|
|
1118
|
+
});
|
|
1119
|
+
var MachineInfoV20251028Schema = z8.object({
|
|
1120
|
+
vcpu: z8.number(),
|
|
1121
|
+
memory: z8.number(),
|
|
1122
|
+
disk_size: z8.number(),
|
|
1123
|
+
gpu_count: z8.number().default(0)
|
|
1124
|
+
});
|
|
1125
|
+
var CvmNetworkUrlsV20251028Schema = z8.object({
|
|
1126
|
+
app: z8.string(),
|
|
1127
|
+
instance: z8.string()
|
|
1128
|
+
});
|
|
1129
|
+
var CvmInfoV20251028Schema = z8.object({
|
|
1130
|
+
hosted: VmInfoV20251028Schema,
|
|
1131
|
+
name: z8.string(),
|
|
1132
|
+
managed_user: ManagedUserV20251028Schema.nullable(),
|
|
1133
|
+
node: CvmNodeV20251028Schema.nullable(),
|
|
1134
|
+
listed: z8.boolean().default(false),
|
|
1135
|
+
status: z8.string(),
|
|
1136
|
+
in_progress: z8.boolean().default(false),
|
|
1137
|
+
dapp_dashboard_url: z8.string().nullable(),
|
|
1138
|
+
syslog_endpoint: z8.string().nullable(),
|
|
1139
|
+
allow_upgrade: z8.boolean().default(false),
|
|
1140
|
+
project_id: z8.string().nullable(),
|
|
1141
|
+
project_type: z8.string().nullable(),
|
|
1142
|
+
billing_period: z8.string().nullable(),
|
|
1007
1143
|
kms_info: KmsInfoSchema.nullable(),
|
|
1008
|
-
vcpu:
|
|
1009
|
-
memory:
|
|
1010
|
-
disk_size:
|
|
1011
|
-
gateway_domain:
|
|
1012
|
-
public_urls:
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1144
|
+
vcpu: z8.number().nullable(),
|
|
1145
|
+
memory: z8.number().nullable(),
|
|
1146
|
+
disk_size: z8.number().nullable(),
|
|
1147
|
+
gateway_domain: z8.string().nullable(),
|
|
1148
|
+
public_urls: z8.array(CvmNetworkUrlsV20251028Schema),
|
|
1149
|
+
machine_info: MachineInfoV20251028Schema.nullable().optional(),
|
|
1150
|
+
updated_at: z8.string().nullable().optional()
|
|
1151
|
+
});
|
|
1152
|
+
var CvmDetailV20251028Schema = z8.object({
|
|
1153
|
+
id: z8.number(),
|
|
1154
|
+
name: z8.string(),
|
|
1155
|
+
status: z8.string(),
|
|
1156
|
+
in_progress: z8.boolean().optional().default(false),
|
|
1157
|
+
teepod_id: z8.number().nullable(),
|
|
1158
|
+
teepod: CvmNodeV20251028Schema.optional().nullable(),
|
|
1159
|
+
app_id: z8.string(),
|
|
1160
|
+
vm_uuid: z8.string().nullable(),
|
|
1161
|
+
instance_id: z8.string().nullable(),
|
|
1162
|
+
vcpu: z8.number(),
|
|
1163
|
+
memory: z8.number(),
|
|
1164
|
+
disk_size: z8.number(),
|
|
1165
|
+
base_image: z8.string().nullable(),
|
|
1166
|
+
encrypted_env_pubkey: z8.string().nullable(),
|
|
1167
|
+
listed: z8.boolean().optional().default(false),
|
|
1168
|
+
project_id: z8.string().optional().nullable(),
|
|
1169
|
+
project_type: z8.string().optional().nullable(),
|
|
1170
|
+
instance_type: z8.string().optional().nullable(),
|
|
1171
|
+
public_sysinfo: z8.boolean().optional().default(false),
|
|
1172
|
+
public_logs: z8.boolean().optional().default(false),
|
|
1173
|
+
dapp_dashboard_url: z8.string().optional().nullable(),
|
|
1174
|
+
syslog_endpoint: z8.string().optional().nullable(),
|
|
1036
1175
|
kms_info: KmsInfoSchema.optional().nullable(),
|
|
1037
|
-
contract_address:
|
|
1038
|
-
deployer_address:
|
|
1039
|
-
scheduled_delete_at:
|
|
1040
|
-
public_urls:
|
|
1041
|
-
gateway_domain:
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1176
|
+
contract_address: z8.string().optional().nullable(),
|
|
1177
|
+
deployer_address: z8.string().optional().nullable(),
|
|
1178
|
+
scheduled_delete_at: z8.string().optional().nullable(),
|
|
1179
|
+
public_urls: z8.array(CvmNetworkUrlsV20251028Schema).optional().default([]),
|
|
1180
|
+
gateway_domain: z8.string().optional().nullable(),
|
|
1181
|
+
machine_info: MachineInfoV20251028Schema.optional().nullable(),
|
|
1182
|
+
updated_at: z8.string().optional().nullable()
|
|
1183
|
+
});
|
|
1184
|
+
var PaginatedCvmInfosV20251028Schema = z8.object({
|
|
1185
|
+
items: z8.array(CvmInfoV20251028Schema),
|
|
1186
|
+
total: z8.number(),
|
|
1187
|
+
page: z8.number(),
|
|
1188
|
+
page_size: z8.number(),
|
|
1189
|
+
pages: z8.number()
|
|
1190
|
+
});
|
|
1191
|
+
|
|
1192
|
+
// src/types/cvm_info_v20260121.ts
|
|
1193
|
+
import { z as z9 } from "zod";
|
|
1194
|
+
var BillingPeriodSchema = z9.enum(["skip", "hourly", "monthly"]);
|
|
1195
|
+
var KmsTypeSchema = z9.enum(["phala", "ethereum", "base", "legacy"]);
|
|
1196
|
+
var UserRefSchema = z9.object({
|
|
1197
|
+
object_type: z9.literal("user"),
|
|
1198
|
+
id: z9.string().nullable().optional(),
|
|
1199
|
+
username: z9.string().nullable().optional(),
|
|
1200
|
+
avatar_url: z9.string().nullable().optional()
|
|
1201
|
+
});
|
|
1202
|
+
var WorkspaceRefSchema = z9.object({
|
|
1203
|
+
object_type: z9.literal("workspace"),
|
|
1204
|
+
id: z9.string(),
|
|
1205
|
+
name: z9.string(),
|
|
1206
|
+
slug: z9.string().nullable().optional(),
|
|
1207
|
+
avatar_url: z9.string().nullable().optional()
|
|
1208
|
+
});
|
|
1209
|
+
var CvmResourceInfoV20260121Schema = z9.object({
|
|
1210
|
+
instance_type: z9.string().nullable().optional(),
|
|
1211
|
+
vcpu: z9.number().int().nullable().optional(),
|
|
1212
|
+
memory_in_gb: z9.number().nullable().optional(),
|
|
1213
|
+
disk_in_gb: z9.number().int().nullable().optional(),
|
|
1214
|
+
gpus: z9.number().int().nullable().optional(),
|
|
1215
|
+
compute_billing_price: z9.string().nullable().optional(),
|
|
1216
|
+
billing_period: BillingPeriodSchema.nullable().optional()
|
|
1217
|
+
});
|
|
1218
|
+
var CvmOsInfoV20260121Schema = z9.object({
|
|
1219
|
+
name: z9.string().nullable().optional(),
|
|
1220
|
+
version: z9.string().nullable().optional(),
|
|
1221
|
+
is_dev: z9.boolean().nullable().optional(),
|
|
1222
|
+
os_image_hash: z9.string().nullable().optional()
|
|
1223
|
+
});
|
|
1224
|
+
var CvmKmsInfoV20260121Schema = z9.object({
|
|
1225
|
+
chain_id: z9.number().int().nullable().optional(),
|
|
1226
|
+
dstack_kms_address: z9.string().nullable().optional(),
|
|
1227
|
+
dstack_app_address: z9.string().nullable().optional(),
|
|
1228
|
+
deployer_address: z9.string().nullable().optional(),
|
|
1229
|
+
rpc_endpoint: z9.string().nullable().optional(),
|
|
1230
|
+
encrypted_env_pubkey: z9.string().nullable().optional()
|
|
1231
|
+
});
|
|
1232
|
+
var CvmProgressInfoV20260121Schema = z9.object({
|
|
1233
|
+
target: z9.string().nullable().optional(),
|
|
1234
|
+
started_at: z9.string().nullable().optional(),
|
|
1235
|
+
correlation_id: z9.string().nullable().optional()
|
|
1236
|
+
});
|
|
1237
|
+
var CvmGatewayInfoV20260121Schema = z9.object({
|
|
1238
|
+
base_domain: z9.string().nullable().optional(),
|
|
1239
|
+
cname: z9.string().nullable().optional()
|
|
1240
|
+
});
|
|
1241
|
+
var NodeRefSchema = z9.object({
|
|
1242
|
+
object_type: z9.literal("node"),
|
|
1243
|
+
id: z9.number().int().nullable().optional(),
|
|
1244
|
+
name: z9.string().nullable().optional(),
|
|
1245
|
+
region: z9.string().nullable().optional(),
|
|
1246
|
+
device_id: z9.string().nullable().optional(),
|
|
1247
|
+
ppid: z9.string().nullable().optional(),
|
|
1248
|
+
status: z9.string().nullable().optional(),
|
|
1249
|
+
version: z9.string().nullable().optional()
|
|
1250
|
+
});
|
|
1251
|
+
var CvmNodeInfoV20260121Schema = NodeRefSchema;
|
|
1252
|
+
var CvmInfoV20260121Schema = z9.object({
|
|
1253
|
+
id: z9.string(),
|
|
1254
|
+
// hashed CvmId
|
|
1255
|
+
name: z9.string(),
|
|
1256
|
+
app_id: z9.string().nullable().optional(),
|
|
1257
|
+
vm_uuid: z9.string().nullable().optional(),
|
|
1258
|
+
resource: CvmResourceInfoV20260121Schema,
|
|
1259
|
+
node_info: NodeRefSchema.nullable().optional(),
|
|
1260
|
+
os: CvmOsInfoV20260121Schema.nullable().optional(),
|
|
1261
|
+
kms_type: KmsTypeSchema.nullable().optional(),
|
|
1262
|
+
kms_info: CvmKmsInfoV20260121Schema.nullable().optional(),
|
|
1263
|
+
status: z9.string(),
|
|
1264
|
+
progress: CvmProgressInfoV20260121Schema.nullable().optional(),
|
|
1265
|
+
compose_hash: z9.string().nullable().optional(),
|
|
1266
|
+
gateway: CvmGatewayInfoV20260121Schema,
|
|
1267
|
+
services: z9.array(z9.record(z9.any())).optional().default([]),
|
|
1268
|
+
endpoints: z9.array(CvmNetworkUrlsV20251028Schema).nullable().optional(),
|
|
1269
|
+
public_logs: z9.boolean().optional(),
|
|
1270
|
+
public_sysinfo: z9.boolean().optional(),
|
|
1271
|
+
public_tcbinfo: z9.boolean().optional(),
|
|
1272
|
+
gateway_enabled: z9.boolean().optional(),
|
|
1273
|
+
secure_time: z9.boolean().optional(),
|
|
1274
|
+
storage_fs: z9.string().optional(),
|
|
1275
|
+
workspace: WorkspaceRefSchema.nullable().optional(),
|
|
1276
|
+
creator: UserRefSchema.nullable().optional()
|
|
1277
|
+
});
|
|
1278
|
+
var CvmInfoDetailV20260121Schema = CvmInfoV20260121Schema.extend({
|
|
1279
|
+
compose_file: z9.union([z9.record(z9.any()), z9.string()]).nullable().optional()
|
|
1280
|
+
});
|
|
1281
|
+
var PaginatedCvmInfosV20260121Schema = z9.object({
|
|
1282
|
+
items: z9.array(CvmInfoV20260121Schema),
|
|
1283
|
+
total: z9.number(),
|
|
1284
|
+
page: z9.number(),
|
|
1285
|
+
page_size: z9.number(),
|
|
1286
|
+
pages: z9.number()
|
|
1066
1287
|
});
|
|
1067
1288
|
|
|
1068
1289
|
// src/types/cvm_id.ts
|
|
1069
|
-
import { z as
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1290
|
+
import { z as z10 } from "zod";
|
|
1291
|
+
|
|
1292
|
+
// src/utils/hostname.ts
|
|
1293
|
+
function isValidHostname(name) {
|
|
1294
|
+
if (typeof name !== "string" || name.length < 5 || name.length > 63) {
|
|
1295
|
+
return false;
|
|
1296
|
+
}
|
|
1297
|
+
return /^[a-zA-Z](?!.*--)([a-zA-Z0-9-]*[a-zA-Z0-9])?$/.test(name);
|
|
1298
|
+
}
|
|
1299
|
+
function convertToHostname(input) {
|
|
1300
|
+
if (typeof input !== "string") {
|
|
1301
|
+
return generateFallbackHostname();
|
|
1302
|
+
}
|
|
1303
|
+
let result = input;
|
|
1304
|
+
result = result.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
|
|
1305
|
+
result = result.replace(/_/g, "-");
|
|
1306
|
+
result = result.replace(/[^a-z0-9\s-]/gi, "-").replace(/\s+/g, "-");
|
|
1307
|
+
result = result.replace(/-+/g, "-").replace(/^-+/, "").replace(/-+$/, "");
|
|
1308
|
+
if (result.length === 0) {
|
|
1309
|
+
return generateFallbackHostname();
|
|
1310
|
+
}
|
|
1311
|
+
if (/^\d/.test(result)) {
|
|
1312
|
+
result = `dstack-app-${result}`;
|
|
1313
|
+
}
|
|
1314
|
+
if (result.length < 5) {
|
|
1315
|
+
result = `dstack-app-${result}`;
|
|
1316
|
+
}
|
|
1317
|
+
result = result.slice(0, 63).replace(/-+$/, "");
|
|
1318
|
+
if (result.length === 0) {
|
|
1319
|
+
return generateFallbackHostname();
|
|
1320
|
+
}
|
|
1321
|
+
if (!isValidHostname(result)) {
|
|
1322
|
+
return generateFallbackHostname();
|
|
1323
|
+
}
|
|
1324
|
+
return result;
|
|
1325
|
+
}
|
|
1326
|
+
function generateFallbackHostname() {
|
|
1327
|
+
const timestamp = Date.now().toString(36);
|
|
1328
|
+
const random = Math.random().toString(36).substring(2, 6);
|
|
1329
|
+
return `dstack-app-${timestamp}-${random}`;
|
|
1330
|
+
}
|
|
1331
|
+
function generateDefaultCvmName(prefix = "dstack-app") {
|
|
1332
|
+
const random = Array.from(
|
|
1333
|
+
{ length: 5 },
|
|
1334
|
+
() => "abcdefghijklmnopqrstuvwxyz0123456789"[Math.floor(Math.random() * 36)]
|
|
1335
|
+
).join("");
|
|
1336
|
+
const result = `${prefix}-${random}`;
|
|
1337
|
+
if (result.length > 63) {
|
|
1338
|
+
const shortRandom = Array.from(
|
|
1339
|
+
{ length: 3 },
|
|
1340
|
+
() => "abcdefghijklmnopqrstuvwxyz0123456789"[Math.floor(Math.random() * 36)]
|
|
1341
|
+
).join("");
|
|
1342
|
+
return `${prefix.slice(0, 55)}-${shortRandom}`;
|
|
1343
|
+
}
|
|
1344
|
+
return result;
|
|
1345
|
+
}
|
|
1346
|
+
|
|
1347
|
+
// src/types/cvm_id.ts
|
|
1348
|
+
var CvmIdObjectSchema = z10.object({
|
|
1349
|
+
/** Direct CVM ID (any format) - accepts any string including names */
|
|
1350
|
+
id: z10.string().optional(),
|
|
1073
1351
|
/** UUID format (with or without dashes) */
|
|
1074
|
-
uuid:
|
|
1352
|
+
uuid: z10.string().regex(
|
|
1075
1353
|
/^[0-9a-f]{8}[-]?[0-9a-f]{4}[-]?4[0-9a-f]{3}[-]?[89ab][0-9a-f]{3}[-]?[0-9a-f]{12}$/i,
|
|
1076
1354
|
"Invalid UUID format"
|
|
1077
1355
|
).optional(),
|
|
1078
1356
|
/** App ID (40 characters, optionally prefixed with 'app_id_') */
|
|
1079
|
-
app_id:
|
|
1357
|
+
app_id: z10.string().optional(),
|
|
1080
1358
|
/** Instance ID (40 characters, optionally prefixed with 'instance_') */
|
|
1081
|
-
instance_id:
|
|
1359
|
+
instance_id: z10.string().optional(),
|
|
1360
|
+
/** CVM name (RFC 1123 hostname format: 5-63 chars, starts with letter, alphanumeric + hyphens) */
|
|
1361
|
+
name: z10.string().refine(isValidHostname, {
|
|
1362
|
+
message: "Name must be 5-63 characters, start with letter, and contain only letters/numbers/hyphens"
|
|
1363
|
+
}).optional()
|
|
1082
1364
|
});
|
|
1083
1365
|
var refineCvmId = (schema) => schema.refine(
|
|
1084
1366
|
(data) => {
|
|
1085
1367
|
const obj = data;
|
|
1086
|
-
return !!(obj.id || obj.uuid || obj.app_id || obj.instance_id);
|
|
1368
|
+
return !!(obj.id || obj.uuid || obj.app_id || obj.instance_id || obj.name);
|
|
1087
1369
|
},
|
|
1088
1370
|
{
|
|
1089
|
-
message: "One of id, uuid, app_id, or
|
|
1371
|
+
message: "One of id, uuid, app_id, instance_id, or name must be provided"
|
|
1090
1372
|
}
|
|
1091
1373
|
);
|
|
1092
1374
|
var CvmIdBaseSchema = refineCvmId(CvmIdObjectSchema);
|
|
@@ -1100,6 +1382,8 @@ var CvmIdSchema = CvmIdBaseSchema.transform((data) => {
|
|
|
1100
1382
|
rawValue = data.app_id;
|
|
1101
1383
|
} else if (data.instance_id) {
|
|
1102
1384
|
rawValue = data.instance_id;
|
|
1385
|
+
} else if (data.name) {
|
|
1386
|
+
return { cvmId: data.name };
|
|
1103
1387
|
} else {
|
|
1104
1388
|
throw new Error("No valid identifier provided");
|
|
1105
1389
|
}
|
|
@@ -1118,46 +1402,84 @@ var CvmIdSchema = CvmIdBaseSchema.transform((data) => {
|
|
|
1118
1402
|
|
|
1119
1403
|
// src/actions/cvms/get_cvm_info.ts
|
|
1120
1404
|
var GetCvmInfoRequestSchema = CvmIdSchema;
|
|
1121
|
-
|
|
1405
|
+
function getSchemaForVersion2(version) {
|
|
1406
|
+
return version === "2025-10-28" ? CvmDetailV20251028Schema : CvmInfoDetailV20260121Schema;
|
|
1407
|
+
}
|
|
1408
|
+
async function getCvmInfo(client, request) {
|
|
1122
1409
|
const { cvmId } = GetCvmInfoRequestSchema.parse(request);
|
|
1123
|
-
|
|
1124
|
-
|
|
1410
|
+
const response = await client.get(`/cvms/${cvmId}`);
|
|
1411
|
+
const schema = getSchemaForVersion2(client.config.version);
|
|
1412
|
+
return schema.parse(response);
|
|
1413
|
+
}
|
|
1414
|
+
async function safeGetCvmInfo(client, request) {
|
|
1415
|
+
try {
|
|
1416
|
+
const data = await getCvmInfo(client, request);
|
|
1417
|
+
return { success: true, data };
|
|
1418
|
+
} catch (error) {
|
|
1419
|
+
if (error && typeof error === "object" && ("status" in error || "issues" in error)) {
|
|
1420
|
+
return { success: false, error };
|
|
1421
|
+
}
|
|
1422
|
+
return {
|
|
1423
|
+
success: false,
|
|
1424
|
+
error: {
|
|
1425
|
+
name: "Error",
|
|
1426
|
+
message: error instanceof Error ? error.message : String(error)
|
|
1427
|
+
}
|
|
1428
|
+
};
|
|
1429
|
+
}
|
|
1430
|
+
}
|
|
1125
1431
|
|
|
1126
1432
|
// src/actions/cvms/get_cvm_list.ts
|
|
1127
|
-
import { z as
|
|
1128
|
-
var GetCvmListRequestSchema =
|
|
1129
|
-
page:
|
|
1130
|
-
page_size:
|
|
1131
|
-
node_id:
|
|
1132
|
-
teepod_id:
|
|
1133
|
-
user_id:
|
|
1134
|
-
}).strict();
|
|
1135
|
-
var GetCvmListSchema = z9.object({
|
|
1136
|
-
items: z9.array(CvmInfoSchema),
|
|
1137
|
-
total: z9.number(),
|
|
1138
|
-
page: z9.number(),
|
|
1139
|
-
page_size: z9.number(),
|
|
1140
|
-
pages: z9.number()
|
|
1433
|
+
import { z as z11 } from "zod";
|
|
1434
|
+
var GetCvmListRequestSchema = z11.object({
|
|
1435
|
+
page: z11.number().int().min(1).optional(),
|
|
1436
|
+
page_size: z11.number().int().min(1).optional(),
|
|
1437
|
+
node_id: z11.number().int().min(1).optional(),
|
|
1438
|
+
teepod_id: z11.number().int().min(1).optional(),
|
|
1439
|
+
user_id: z11.string().optional()
|
|
1141
1440
|
}).strict();
|
|
1142
|
-
|
|
1441
|
+
function getSchemaForVersion3(version) {
|
|
1442
|
+
return version === "2025-10-28" ? PaginatedCvmInfosV20251028Schema : PaginatedCvmInfosV20260121Schema;
|
|
1443
|
+
}
|
|
1444
|
+
async function getCvmList(client, request) {
|
|
1143
1445
|
const validatedRequest = GetCvmListRequestSchema.parse(request ?? {});
|
|
1144
|
-
|
|
1145
|
-
|
|
1446
|
+
const response = await client.get("/cvms/paginated", { params: validatedRequest });
|
|
1447
|
+
const schema = getSchemaForVersion3(client.config.version);
|
|
1448
|
+
return schema.parse(response);
|
|
1449
|
+
}
|
|
1450
|
+
async function safeGetCvmList(client, request) {
|
|
1451
|
+
try {
|
|
1452
|
+
const data = await getCvmList(client, request);
|
|
1453
|
+
return { success: true, data };
|
|
1454
|
+
} catch (error) {
|
|
1455
|
+
if (error && typeof error === "object" && ("status" in error || "issues" in error)) {
|
|
1456
|
+
return { success: false, error };
|
|
1457
|
+
}
|
|
1458
|
+
return {
|
|
1459
|
+
success: false,
|
|
1460
|
+
error: {
|
|
1461
|
+
name: "Error",
|
|
1462
|
+
message: error instanceof Error ? error.message : String(error)
|
|
1463
|
+
}
|
|
1464
|
+
};
|
|
1465
|
+
}
|
|
1466
|
+
}
|
|
1146
1467
|
|
|
1147
1468
|
// src/actions/cvms/provision_cvm.ts
|
|
1148
|
-
import { z as
|
|
1149
|
-
var ProvisionCvmSchema =
|
|
1150
|
-
app_id:
|
|
1151
|
-
app_env_encrypt_pubkey:
|
|
1152
|
-
compose_hash:
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1469
|
+
import { z as z12 } from "zod";
|
|
1470
|
+
var ProvisionCvmSchema = z12.object({
|
|
1471
|
+
app_id: z12.string().nullable().optional(),
|
|
1472
|
+
app_env_encrypt_pubkey: z12.string().nullable().optional(),
|
|
1473
|
+
compose_hash: z12.string(),
|
|
1474
|
+
kms_info: KmsInfoSchema.nullable().optional(),
|
|
1475
|
+
fmspc: z12.string().nullable().optional(),
|
|
1476
|
+
device_id: z12.string().nullable().optional(),
|
|
1477
|
+
os_image_hash: z12.string().nullable().optional(),
|
|
1478
|
+
instance_type: z12.string().nullable().optional(),
|
|
1479
|
+
teepod_id: z12.number().nullable().optional(),
|
|
1158
1480
|
// Will be transformed to node_id
|
|
1159
|
-
node_id:
|
|
1160
|
-
kms_id:
|
|
1481
|
+
node_id: z12.number().nullable().optional(),
|
|
1482
|
+
kms_id: z12.string().nullable().optional()
|
|
1161
1483
|
}).passthrough().transform((data) => {
|
|
1162
1484
|
if ("teepod_id" in data && data.teepod_id !== void 0) {
|
|
1163
1485
|
const { teepod_id, ...rest } = data;
|
|
@@ -1165,47 +1487,55 @@ var ProvisionCvmSchema = z10.object({
|
|
|
1165
1487
|
}
|
|
1166
1488
|
return data;
|
|
1167
1489
|
});
|
|
1168
|
-
var
|
|
1169
|
-
|
|
1490
|
+
var NAME_VALIDATION_MESSAGE = "Name must be 5-63 characters, start with letter, and contain only letters/numbers/hyphens";
|
|
1491
|
+
var ProvisionCvmRequestSchema = z12.object({
|
|
1492
|
+
node_id: z12.number().optional(),
|
|
1170
1493
|
// recommended - optional, system auto-selects if not specified
|
|
1171
|
-
teepod_id:
|
|
1494
|
+
teepod_id: z12.number().optional(),
|
|
1172
1495
|
// deprecated, for compatibility
|
|
1173
|
-
region:
|
|
1496
|
+
region: z12.string().optional(),
|
|
1174
1497
|
// optional - region filter for auto-selection
|
|
1175
|
-
name:
|
|
1176
|
-
instance_type:
|
|
1177
|
-
// defaults to "tdx.small"
|
|
1178
|
-
image:
|
|
1179
|
-
vcpu:
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1498
|
+
name: z12.string().min(5, NAME_VALIDATION_MESSAGE).max(63, NAME_VALIDATION_MESSAGE).refine((val) => isValidHostname(val), NAME_VALIDATION_MESSAGE),
|
|
1499
|
+
instance_type: z12.string().optional(),
|
|
1500
|
+
// optional, defaults to "tdx.small" when no resource params specified
|
|
1501
|
+
image: z12.string().optional(),
|
|
1502
|
+
vcpu: z12.number().optional(),
|
|
1503
|
+
// deprecated, use instance_type instead
|
|
1504
|
+
memory: z12.number().optional(),
|
|
1505
|
+
// deprecated, use instance_type instead
|
|
1506
|
+
disk_size: z12.number().optional(),
|
|
1507
|
+
compose_file: z12.object({
|
|
1508
|
+
allowed_envs: z12.array(z12.string()).optional(),
|
|
1509
|
+
pre_launch_script: z12.string().optional(),
|
|
1510
|
+
docker_compose_file: z12.string().optional(),
|
|
1511
|
+
name: z12.string().optional().default(""),
|
|
1187
1512
|
// optional with default empty string
|
|
1188
|
-
kms_enabled:
|
|
1189
|
-
public_logs:
|
|
1190
|
-
public_sysinfo:
|
|
1191
|
-
gateway_enabled:
|
|
1513
|
+
kms_enabled: z12.boolean().optional(),
|
|
1514
|
+
public_logs: z12.boolean().optional(),
|
|
1515
|
+
public_sysinfo: z12.boolean().optional(),
|
|
1516
|
+
gateway_enabled: z12.boolean().optional(),
|
|
1192
1517
|
// recommended
|
|
1193
|
-
tproxy_enabled:
|
|
1518
|
+
tproxy_enabled: z12.boolean().optional()
|
|
1194
1519
|
// deprecated, for compatibility
|
|
1195
1520
|
}),
|
|
1196
|
-
listed:
|
|
1197
|
-
kms_id:
|
|
1198
|
-
kms:
|
|
1521
|
+
listed: z12.boolean().optional(),
|
|
1522
|
+
kms_id: z12.string().optional(),
|
|
1523
|
+
kms: z12.enum(["PHALA", "ETHEREUM", "BASE"]).optional(),
|
|
1199
1524
|
// KMS type selection (defaults to PHALA)
|
|
1200
|
-
kms_contract:
|
|
1525
|
+
kms_contract: z12.string().optional(),
|
|
1201
1526
|
// KMS contract address for on-chain KMS
|
|
1202
|
-
env_keys:
|
|
1527
|
+
env_keys: z12.array(z12.string()).optional(),
|
|
1203
1528
|
// Manual nonce specification (Advanced - PHALA KMS only)
|
|
1204
|
-
nonce:
|
|
1529
|
+
nonce: z12.number().optional(),
|
|
1205
1530
|
// User-specified nonce for deterministic app_id generation
|
|
1206
|
-
app_id:
|
|
1531
|
+
app_id: z12.string().optional()
|
|
1207
1532
|
// Expected app_id (must match calculated app_id from nonce)
|
|
1208
|
-
}).passthrough()
|
|
1533
|
+
}).passthrough().transform((data) => {
|
|
1534
|
+
if (!data.instance_type && !data.vcpu && !data.memory) {
|
|
1535
|
+
return { ...data, instance_type: "tdx.small" };
|
|
1536
|
+
}
|
|
1537
|
+
return data;
|
|
1538
|
+
});
|
|
1209
1539
|
function handleGatewayCompatibility(appCompose) {
|
|
1210
1540
|
if (!appCompose.compose_file) {
|
|
1211
1541
|
return appCompose;
|
|
@@ -1241,63 +1571,64 @@ var { action: provisionCvm, safeAction: safeProvisionCvm } = defineAction(Provis
|
|
|
1241
1571
|
});
|
|
1242
1572
|
|
|
1243
1573
|
// src/actions/cvms/commit_cvm_provision.ts
|
|
1244
|
-
import { z as
|
|
1245
|
-
var CommitCvmProvisionSchema =
|
|
1246
|
-
id:
|
|
1247
|
-
name:
|
|
1248
|
-
status:
|
|
1249
|
-
teepod_id:
|
|
1250
|
-
teepod:
|
|
1251
|
-
id:
|
|
1252
|
-
name:
|
|
1574
|
+
import { z as z13 } from "zod";
|
|
1575
|
+
var CommitCvmProvisionSchema = z13.object({
|
|
1576
|
+
id: z13.number(),
|
|
1577
|
+
name: z13.string(),
|
|
1578
|
+
status: z13.string(),
|
|
1579
|
+
teepod_id: z13.number(),
|
|
1580
|
+
teepod: z13.object({
|
|
1581
|
+
id: z13.number(),
|
|
1582
|
+
name: z13.string()
|
|
1253
1583
|
}).nullable(),
|
|
1254
|
-
user_id:
|
|
1255
|
-
app_id:
|
|
1256
|
-
vm_uuid:
|
|
1257
|
-
instance_id:
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1584
|
+
user_id: z13.number().nullable(),
|
|
1585
|
+
app_id: z13.string().nullable(),
|
|
1586
|
+
vm_uuid: z13.string().nullable(),
|
|
1587
|
+
instance_id: z13.string().nullable(),
|
|
1588
|
+
// Deprecated fields - will be removed in next API version
|
|
1589
|
+
app_url: z13.string().nullable().default(null),
|
|
1590
|
+
base_image: z13.string().nullable(),
|
|
1591
|
+
vcpu: z13.number(),
|
|
1592
|
+
memory: z13.number(),
|
|
1593
|
+
disk_size: z13.number(),
|
|
1594
|
+
manifest_version: z13.number().nullable().default(2),
|
|
1595
|
+
version: z13.string().nullable().default("1.0.0"),
|
|
1596
|
+
runner: z13.string().nullable().default("docker-compose"),
|
|
1597
|
+
docker_compose_file: z13.string().nullable(),
|
|
1598
|
+
features: z13.array(z13.string()).nullable().default(["kms", "tproxy-net"]),
|
|
1599
|
+
created_at: z13.string(),
|
|
1600
|
+
encrypted_env_pubkey: z13.string().nullable().optional(),
|
|
1601
|
+
app_auth_contract_address: z13.string().nullable().optional(),
|
|
1602
|
+
deployer_address: z13.string().nullable().optional()
|
|
1272
1603
|
}).passthrough();
|
|
1273
|
-
var CommitCvmProvisionRequestSchema =
|
|
1274
|
-
encrypted_env:
|
|
1275
|
-
app_id:
|
|
1276
|
-
compose_hash:
|
|
1277
|
-
kms_id:
|
|
1278
|
-
contract_address:
|
|
1279
|
-
deployer_address:
|
|
1280
|
-
env_keys:
|
|
1604
|
+
var CommitCvmProvisionRequestSchema = z13.object({
|
|
1605
|
+
encrypted_env: z13.string().optional().nullable(),
|
|
1606
|
+
app_id: z13.string(),
|
|
1607
|
+
compose_hash: z13.string(),
|
|
1608
|
+
kms_id: z13.string().optional(),
|
|
1609
|
+
contract_address: z13.string().optional(),
|
|
1610
|
+
deployer_address: z13.string().optional(),
|
|
1611
|
+
env_keys: z13.array(z13.string()).optional().nullable()
|
|
1281
1612
|
}).passthrough();
|
|
1282
1613
|
var { action: commitCvmProvision, safeAction: safeCommitCvmProvision } = defineAction(CommitCvmProvisionSchema, async (client, payload) => {
|
|
1283
1614
|
return await client.post("/cvms", payload);
|
|
1284
1615
|
});
|
|
1285
1616
|
|
|
1286
1617
|
// src/types/app_compose.ts
|
|
1287
|
-
import { z as
|
|
1288
|
-
var LooseAppComposeSchema =
|
|
1289
|
-
allowed_envs:
|
|
1290
|
-
docker_compose_file:
|
|
1291
|
-
features:
|
|
1292
|
-
name:
|
|
1293
|
-
manifest_version:
|
|
1294
|
-
kms_enabled:
|
|
1295
|
-
public_logs:
|
|
1296
|
-
public_sysinfo:
|
|
1297
|
-
tproxy_enabled:
|
|
1298
|
-
pre_launch_script:
|
|
1299
|
-
env_pubkey:
|
|
1300
|
-
salt:
|
|
1618
|
+
import { z as z14 } from "zod";
|
|
1619
|
+
var LooseAppComposeSchema = z14.object({
|
|
1620
|
+
allowed_envs: z14.array(z14.string()).optional(),
|
|
1621
|
+
docker_compose_file: z14.string(),
|
|
1622
|
+
features: z14.array(z14.string()).optional(),
|
|
1623
|
+
name: z14.string().optional(),
|
|
1624
|
+
manifest_version: z14.number().optional(),
|
|
1625
|
+
kms_enabled: z14.boolean().optional(),
|
|
1626
|
+
public_logs: z14.boolean().optional(),
|
|
1627
|
+
public_sysinfo: z14.boolean().optional(),
|
|
1628
|
+
tproxy_enabled: z14.boolean().optional(),
|
|
1629
|
+
pre_launch_script: z14.string().optional(),
|
|
1630
|
+
env_pubkey: z14.string().optional(),
|
|
1631
|
+
salt: z14.string().optional().nullable()
|
|
1301
1632
|
}).passthrough();
|
|
1302
1633
|
|
|
1303
1634
|
// src/utils/get_compose_hash.ts
|
|
@@ -1360,20 +1691,20 @@ var { action: getCvmComposeFile, safeAction: safeGetCvmComposeFile } = defineAct
|
|
|
1360
1691
|
});
|
|
1361
1692
|
|
|
1362
1693
|
// src/actions/cvms/provision_cvm_compose_file_update.ts
|
|
1363
|
-
import { z as
|
|
1364
|
-
var ProvisionCvmComposeFileUpdateRequestSchema =
|
|
1365
|
-
id:
|
|
1366
|
-
uuid:
|
|
1367
|
-
app_id:
|
|
1694
|
+
import { z as z15 } from "zod";
|
|
1695
|
+
var ProvisionCvmComposeFileUpdateRequestSchema = z15.object({
|
|
1696
|
+
id: z15.string().optional(),
|
|
1697
|
+
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(),
|
|
1698
|
+
app_id: z15.string().refine(
|
|
1368
1699
|
(val) => !val.startsWith("app_") && val.length === 40,
|
|
1369
1700
|
"app_id should be 40 characters without prefix"
|
|
1370
1701
|
).transform((val) => val.startsWith("app_") ? val : `app_${val}`).optional(),
|
|
1371
|
-
instance_id:
|
|
1702
|
+
instance_id: z15.string().refine(
|
|
1372
1703
|
(val) => !val.startsWith("instance_") && val.length === 40,
|
|
1373
1704
|
"instance_id should be 40 characters without prefix"
|
|
1374
1705
|
).transform((val) => val.startsWith("instance_") ? val : `instance_${val}`).optional(),
|
|
1375
1706
|
app_compose: LooseAppComposeSchema,
|
|
1376
|
-
update_env_vars:
|
|
1707
|
+
update_env_vars: z15.boolean().optional().nullable()
|
|
1377
1708
|
}).refine(
|
|
1378
1709
|
(data) => !!(data.id || data.uuid || data.app_id || data.instance_id),
|
|
1379
1710
|
"One of id, uuid, app_id, or instance_id must be provided"
|
|
@@ -1384,10 +1715,10 @@ var ProvisionCvmComposeFileUpdateRequestSchema = z13.object({
|
|
|
1384
1715
|
_raw: data
|
|
1385
1716
|
};
|
|
1386
1717
|
});
|
|
1387
|
-
var ProvisionCvmComposeFileUpdateResultSchema =
|
|
1388
|
-
app_id:
|
|
1389
|
-
device_id:
|
|
1390
|
-
compose_hash:
|
|
1718
|
+
var ProvisionCvmComposeFileUpdateResultSchema = z15.object({
|
|
1719
|
+
app_id: z15.string().nullable(),
|
|
1720
|
+
device_id: z15.string().nullable(),
|
|
1721
|
+
compose_hash: z15.string(),
|
|
1391
1722
|
kms_info: KmsInfoSchema.nullable().optional()
|
|
1392
1723
|
}).passthrough();
|
|
1393
1724
|
var { action: provisionCvmComposeFileUpdate, safeAction: safeProvisionCvmComposeFileUpdate } = defineAction(ProvisionCvmComposeFileUpdateResultSchema, async (client, request) => {
|
|
@@ -1399,22 +1730,22 @@ var { action: provisionCvmComposeFileUpdate, safeAction: safeProvisionCvmCompose
|
|
|
1399
1730
|
});
|
|
1400
1731
|
|
|
1401
1732
|
// src/actions/cvms/commit_cvm_compose_file_update.ts
|
|
1402
|
-
import { z as
|
|
1403
|
-
var CommitCvmComposeFileUpdateRequestSchema =
|
|
1404
|
-
id:
|
|
1405
|
-
uuid:
|
|
1406
|
-
app_id:
|
|
1733
|
+
import { z as z16 } from "zod";
|
|
1734
|
+
var CommitCvmComposeFileUpdateRequestSchema = z16.object({
|
|
1735
|
+
id: z16.string().optional(),
|
|
1736
|
+
uuid: z16.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(),
|
|
1737
|
+
app_id: z16.string().refine(
|
|
1407
1738
|
(val) => !val.startsWith("app_") && val.length === 40,
|
|
1408
1739
|
"app_id should be 40 characters without prefix"
|
|
1409
1740
|
).transform((val) => val.startsWith("app_") ? val : `app_${val}`).optional(),
|
|
1410
|
-
instance_id:
|
|
1741
|
+
instance_id: z16.string().refine(
|
|
1411
1742
|
(val) => !val.startsWith("instance_") && val.length === 40,
|
|
1412
1743
|
"instance_id should be 40 characters without prefix"
|
|
1413
1744
|
).transform((val) => val.startsWith("instance_") ? val : `instance_${val}`).optional(),
|
|
1414
|
-
compose_hash:
|
|
1415
|
-
encrypted_env:
|
|
1416
|
-
env_keys:
|
|
1417
|
-
update_env_vars:
|
|
1745
|
+
compose_hash: z16.string().min(1, "Compose hash is required"),
|
|
1746
|
+
encrypted_env: z16.string().optional(),
|
|
1747
|
+
env_keys: z16.array(z16.string()).optional(),
|
|
1748
|
+
update_env_vars: z16.boolean().optional().nullable()
|
|
1418
1749
|
}).refine(
|
|
1419
1750
|
(data) => !!(data.id || data.uuid || data.app_id || data.instance_id),
|
|
1420
1751
|
"One of id, uuid, app_id, or instance_id must be provided"
|
|
@@ -1423,10 +1754,10 @@ var CommitCvmComposeFileUpdateRequestSchema = z14.object({
|
|
|
1423
1754
|
compose_hash: data.compose_hash,
|
|
1424
1755
|
encrypted_env: data.encrypted_env,
|
|
1425
1756
|
env_keys: data.env_keys,
|
|
1426
|
-
update_env_vars:
|
|
1757
|
+
update_env_vars: data.update_env_vars ?? void 0,
|
|
1427
1758
|
_raw: data
|
|
1428
1759
|
}));
|
|
1429
|
-
var CommitCvmComposeFileUpdateSchema =
|
|
1760
|
+
var CommitCvmComposeFileUpdateSchema = z16.any().transform(() => void 0);
|
|
1430
1761
|
var { action: commitCvmComposeFileUpdate, safeAction: safeCommitCvmComposeFileUpdate } = defineAction(
|
|
1431
1762
|
CommitCvmComposeFileUpdateSchema,
|
|
1432
1763
|
async (client, request) => {
|
|
@@ -1434,36 +1765,27 @@ var { action: commitCvmComposeFileUpdate, safeAction: safeCommitCvmComposeFileUp
|
|
|
1434
1765
|
return await client.patch(`/cvms/${validatedRequest.cvmId}/compose_file`, {
|
|
1435
1766
|
compose_hash: validatedRequest.compose_hash,
|
|
1436
1767
|
encrypted_env: validatedRequest.encrypted_env,
|
|
1437
|
-
env_keys: validatedRequest.env_keys
|
|
1768
|
+
env_keys: validatedRequest.env_keys,
|
|
1769
|
+
update_env_vars: validatedRequest.update_env_vars
|
|
1438
1770
|
});
|
|
1439
1771
|
}
|
|
1440
1772
|
);
|
|
1441
1773
|
|
|
1442
1774
|
// src/actions/cvms/update_cvm_envs.ts
|
|
1443
|
-
import { z as
|
|
1444
|
-
var UpdateCvmEnvsRequestSchema =
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
(
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
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"
|
|
1775
|
+
import { z as z17 } from "zod";
|
|
1776
|
+
var UpdateCvmEnvsRequestSchema = refineCvmId(
|
|
1777
|
+
CvmIdObjectSchema.extend({
|
|
1778
|
+
encrypted_env: z17.string().describe("Encrypted environment variables (hex string)"),
|
|
1779
|
+
env_keys: z17.array(z17.string()).optional().describe("List of allowed environment variable keys"),
|
|
1780
|
+
compose_hash: z17.string().optional().describe("Compose hash for verification (Phase 2, required when env_keys changes)"),
|
|
1781
|
+
transaction_hash: z17.string().optional().describe(
|
|
1782
|
+
"On-chain transaction hash for verification (Phase 2, required when env_keys changes)"
|
|
1783
|
+
)
|
|
1784
|
+
})
|
|
1464
1785
|
).transform((data) => {
|
|
1786
|
+
const { cvmId } = CvmIdSchema.parse(data);
|
|
1465
1787
|
return {
|
|
1466
|
-
cvmId
|
|
1788
|
+
cvmId,
|
|
1467
1789
|
request: {
|
|
1468
1790
|
encrypted_env: data.encrypted_env,
|
|
1469
1791
|
env_keys: data.env_keys,
|
|
@@ -1473,21 +1795,21 @@ var UpdateCvmEnvsRequestSchema = z15.object({
|
|
|
1473
1795
|
_raw: data
|
|
1474
1796
|
};
|
|
1475
1797
|
});
|
|
1476
|
-
var UpdateCvmEnvsInProgressSchema =
|
|
1477
|
-
status:
|
|
1478
|
-
message:
|
|
1479
|
-
correlation_id:
|
|
1480
|
-
allowed_envs_changed:
|
|
1798
|
+
var UpdateCvmEnvsInProgressSchema = z17.object({
|
|
1799
|
+
status: z17.literal("in_progress"),
|
|
1800
|
+
message: z17.string(),
|
|
1801
|
+
correlation_id: z17.string(),
|
|
1802
|
+
allowed_envs_changed: z17.boolean()
|
|
1481
1803
|
});
|
|
1482
|
-
var UpdateCvmEnvsPreconditionRequiredSchema =
|
|
1483
|
-
status:
|
|
1484
|
-
message:
|
|
1485
|
-
compose_hash:
|
|
1486
|
-
app_id:
|
|
1487
|
-
device_id:
|
|
1804
|
+
var UpdateCvmEnvsPreconditionRequiredSchema = z17.object({
|
|
1805
|
+
status: z17.literal("precondition_required"),
|
|
1806
|
+
message: z17.string(),
|
|
1807
|
+
compose_hash: z17.string(),
|
|
1808
|
+
app_id: z17.string(),
|
|
1809
|
+
device_id: z17.string(),
|
|
1488
1810
|
kms_info: KmsInfoSchema
|
|
1489
1811
|
});
|
|
1490
|
-
var UpdateCvmEnvsResultSchema =
|
|
1812
|
+
var UpdateCvmEnvsResultSchema = z17.union([
|
|
1491
1813
|
UpdateCvmEnvsInProgressSchema,
|
|
1492
1814
|
UpdateCvmEnvsPreconditionRequiredSchema
|
|
1493
1815
|
]);
|
|
@@ -1500,7 +1822,81 @@ var { action: updateCvmEnvs, safeAction: safeUpdateCvmEnvs } = defineAction(Upda
|
|
|
1500
1822
|
);
|
|
1501
1823
|
return response;
|
|
1502
1824
|
} catch (error) {
|
|
1503
|
-
if (error instanceof PhalaCloudError && error.status ===
|
|
1825
|
+
if (error instanceof PhalaCloudError && error.status === 465) {
|
|
1826
|
+
const detail = error.detail;
|
|
1827
|
+
if (detail && typeof detail === "object") {
|
|
1828
|
+
const detailObj = detail;
|
|
1829
|
+
return {
|
|
1830
|
+
status: "precondition_required",
|
|
1831
|
+
message: detailObj.message || "Compose hash verification required",
|
|
1832
|
+
compose_hash: detailObj.compose_hash,
|
|
1833
|
+
app_id: detailObj.app_id,
|
|
1834
|
+
device_id: detailObj.device_id,
|
|
1835
|
+
kms_info: detailObj.kms_info
|
|
1836
|
+
};
|
|
1837
|
+
}
|
|
1838
|
+
}
|
|
1839
|
+
throw error;
|
|
1840
|
+
}
|
|
1841
|
+
});
|
|
1842
|
+
|
|
1843
|
+
// src/actions/cvms/update_docker_compose.ts
|
|
1844
|
+
import { z as z18 } from "zod";
|
|
1845
|
+
var UpdateDockerComposeRequestSchema = refineCvmId(
|
|
1846
|
+
CvmIdObjectSchema.extend({
|
|
1847
|
+
docker_compose_file: z18.string().describe("Docker Compose YAML content"),
|
|
1848
|
+
compose_hash: z18.string().optional().describe("Compose hash for verification (Phase 2, contract-owned KMS only)"),
|
|
1849
|
+
transaction_hash: z18.string().optional().describe("On-chain transaction hash for verification (Phase 2, contract-owned KMS only)")
|
|
1850
|
+
})
|
|
1851
|
+
).transform((data) => {
|
|
1852
|
+
const { cvmId } = CvmIdSchema.parse(data);
|
|
1853
|
+
return {
|
|
1854
|
+
cvmId,
|
|
1855
|
+
request: {
|
|
1856
|
+
docker_compose_file: data.docker_compose_file,
|
|
1857
|
+
compose_hash: data.compose_hash,
|
|
1858
|
+
transaction_hash: data.transaction_hash
|
|
1859
|
+
},
|
|
1860
|
+
_raw: data
|
|
1861
|
+
};
|
|
1862
|
+
});
|
|
1863
|
+
var UpdateDockerComposeInProgressSchema = z18.object({
|
|
1864
|
+
status: z18.literal("in_progress"),
|
|
1865
|
+
message: z18.string(),
|
|
1866
|
+
correlation_id: z18.string()
|
|
1867
|
+
});
|
|
1868
|
+
var UpdateDockerComposePreconditionRequiredSchema = z18.object({
|
|
1869
|
+
status: z18.literal("precondition_required"),
|
|
1870
|
+
message: z18.string(),
|
|
1871
|
+
compose_hash: z18.string(),
|
|
1872
|
+
app_id: z18.string(),
|
|
1873
|
+
device_id: z18.string(),
|
|
1874
|
+
kms_info: KmsInfoSchema
|
|
1875
|
+
});
|
|
1876
|
+
var UpdateDockerComposeResultSchema = z18.union([
|
|
1877
|
+
UpdateDockerComposeInProgressSchema,
|
|
1878
|
+
UpdateDockerComposePreconditionRequiredSchema
|
|
1879
|
+
]);
|
|
1880
|
+
var { action: updateDockerCompose, safeAction: safeUpdateDockerCompose } = defineAction(UpdateDockerComposeResultSchema, async (client, request) => {
|
|
1881
|
+
const validatedRequest = UpdateDockerComposeRequestSchema.parse(request);
|
|
1882
|
+
const headers = {
|
|
1883
|
+
"Content-Type": "text/yaml"
|
|
1884
|
+
};
|
|
1885
|
+
if (validatedRequest.request.compose_hash) {
|
|
1886
|
+
headers["X-Compose-Hash"] = validatedRequest.request.compose_hash;
|
|
1887
|
+
}
|
|
1888
|
+
if (validatedRequest.request.transaction_hash) {
|
|
1889
|
+
headers["X-Transaction-Hash"] = validatedRequest.request.transaction_hash;
|
|
1890
|
+
}
|
|
1891
|
+
try {
|
|
1892
|
+
const response = await client.patch(
|
|
1893
|
+
`/cvms/${validatedRequest.cvmId}/docker-compose`,
|
|
1894
|
+
validatedRequest.request.docker_compose_file,
|
|
1895
|
+
{ headers }
|
|
1896
|
+
);
|
|
1897
|
+
return response;
|
|
1898
|
+
} catch (error) {
|
|
1899
|
+
if (error instanceof PhalaCloudError && error.status === 465) {
|
|
1504
1900
|
const detail = error.detail;
|
|
1505
1901
|
if (detail && typeof detail === "object") {
|
|
1506
1902
|
const detailObj = detail;
|
|
@@ -1518,10 +1914,92 @@ var { action: updateCvmEnvs, safeAction: safeUpdateCvmEnvs } = defineAction(Upda
|
|
|
1518
1914
|
}
|
|
1519
1915
|
});
|
|
1520
1916
|
|
|
1917
|
+
// src/actions/cvms/update_prelaunch_script.ts
|
|
1918
|
+
import { z as z19 } from "zod";
|
|
1919
|
+
var UpdatePreLaunchScriptRequestSchema = refineCvmId(
|
|
1920
|
+
CvmIdObjectSchema.extend({
|
|
1921
|
+
pre_launch_script: z19.string().describe("Pre-launch script content (shell script)"),
|
|
1922
|
+
compose_hash: z19.string().optional().describe("Compose hash for verification (Phase 2, contract-owned KMS only)"),
|
|
1923
|
+
transaction_hash: z19.string().optional().describe("On-chain transaction hash for verification (Phase 2, contract-owned KMS only)")
|
|
1924
|
+
})
|
|
1925
|
+
).transform((data) => {
|
|
1926
|
+
const { cvmId } = CvmIdSchema.parse(data);
|
|
1927
|
+
return {
|
|
1928
|
+
cvmId,
|
|
1929
|
+
request: {
|
|
1930
|
+
pre_launch_script: data.pre_launch_script,
|
|
1931
|
+
compose_hash: data.compose_hash,
|
|
1932
|
+
transaction_hash: data.transaction_hash
|
|
1933
|
+
},
|
|
1934
|
+
_raw: data
|
|
1935
|
+
};
|
|
1936
|
+
});
|
|
1937
|
+
var UpdatePreLaunchScriptInProgressSchema = z19.object({
|
|
1938
|
+
status: z19.literal("in_progress"),
|
|
1939
|
+
message: z19.string(),
|
|
1940
|
+
correlation_id: z19.string()
|
|
1941
|
+
});
|
|
1942
|
+
var UpdatePreLaunchScriptPreconditionRequiredSchema = z19.object({
|
|
1943
|
+
status: z19.literal("precondition_required"),
|
|
1944
|
+
message: z19.string(),
|
|
1945
|
+
compose_hash: z19.string(),
|
|
1946
|
+
app_id: z19.string(),
|
|
1947
|
+
device_id: z19.string(),
|
|
1948
|
+
kms_info: KmsInfoSchema
|
|
1949
|
+
});
|
|
1950
|
+
var UpdatePreLaunchScriptResultSchema = z19.union([
|
|
1951
|
+
UpdatePreLaunchScriptInProgressSchema,
|
|
1952
|
+
UpdatePreLaunchScriptPreconditionRequiredSchema
|
|
1953
|
+
]);
|
|
1954
|
+
var { action: updatePreLaunchScript, safeAction: safeUpdatePreLaunchScript } = defineAction(UpdatePreLaunchScriptResultSchema, async (client, request) => {
|
|
1955
|
+
const validatedRequest = UpdatePreLaunchScriptRequestSchema.parse(request);
|
|
1956
|
+
const headers = {
|
|
1957
|
+
"Content-Type": "text/plain"
|
|
1958
|
+
};
|
|
1959
|
+
if (validatedRequest.request.compose_hash) {
|
|
1960
|
+
headers["X-Compose-Hash"] = validatedRequest.request.compose_hash;
|
|
1961
|
+
}
|
|
1962
|
+
if (validatedRequest.request.transaction_hash) {
|
|
1963
|
+
headers["X-Transaction-Hash"] = validatedRequest.request.transaction_hash;
|
|
1964
|
+
}
|
|
1965
|
+
try {
|
|
1966
|
+
const response = await client.patch(
|
|
1967
|
+
`/cvms/${validatedRequest.cvmId}/pre-launch-script`,
|
|
1968
|
+
validatedRequest.request.pre_launch_script,
|
|
1969
|
+
{ headers }
|
|
1970
|
+
);
|
|
1971
|
+
return response;
|
|
1972
|
+
} catch (error) {
|
|
1973
|
+
if (error instanceof PhalaCloudError && error.status === 465) {
|
|
1974
|
+
const detail = error.detail;
|
|
1975
|
+
if (detail && typeof detail === "object") {
|
|
1976
|
+
const detailObj = detail;
|
|
1977
|
+
return {
|
|
1978
|
+
status: "precondition_required",
|
|
1979
|
+
message: detailObj.message || "Compose hash verification required",
|
|
1980
|
+
compose_hash: detailObj.compose_hash,
|
|
1981
|
+
app_id: detailObj.app_id,
|
|
1982
|
+
device_id: detailObj.device_id,
|
|
1983
|
+
kms_info: detailObj.kms_info
|
|
1984
|
+
};
|
|
1985
|
+
}
|
|
1986
|
+
}
|
|
1987
|
+
throw error;
|
|
1988
|
+
}
|
|
1989
|
+
});
|
|
1990
|
+
|
|
1991
|
+
// src/actions/cvms/get_cvm_prelaunch_script.ts
|
|
1992
|
+
import { z as z20 } from "zod";
|
|
1993
|
+
var GetCvmPreLaunchScriptRequestSchema = CvmIdSchema;
|
|
1994
|
+
var { action: getCvmPreLaunchScript, safeAction: safeGetCvmPreLaunchScript } = defineAction(z20.string(), async (client, request) => {
|
|
1995
|
+
const { cvmId } = GetCvmPreLaunchScriptRequestSchema.parse(request);
|
|
1996
|
+
return await client.get(`/cvms/${cvmId}/pre-launch-script`);
|
|
1997
|
+
});
|
|
1998
|
+
|
|
1521
1999
|
// src/actions/kms/get_kms_info.ts
|
|
1522
|
-
import { z as
|
|
1523
|
-
var GetKmsInfoRequestSchema =
|
|
1524
|
-
kms_id:
|
|
2000
|
+
import { z as z21 } from "zod";
|
|
2001
|
+
var GetKmsInfoRequestSchema = z21.object({
|
|
2002
|
+
kms_id: z21.string().min(1, "KMS ID is required")
|
|
1525
2003
|
});
|
|
1526
2004
|
var { action: getKmsInfo, safeAction: safeGetKmsInfo } = defineAction(KmsInfoSchema, async (client, request) => {
|
|
1527
2005
|
const validatedRequest = GetKmsInfoRequestSchema.parse(request);
|
|
@@ -1529,18 +2007,18 @@ var { action: getKmsInfo, safeAction: safeGetKmsInfo } = defineAction(KmsInfoSch
|
|
|
1529
2007
|
});
|
|
1530
2008
|
|
|
1531
2009
|
// src/actions/kms/get_kms_list.ts
|
|
1532
|
-
import { z as
|
|
1533
|
-
var GetKmsListRequestSchema =
|
|
1534
|
-
page:
|
|
1535
|
-
page_size:
|
|
1536
|
-
is_onchain:
|
|
2010
|
+
import { z as z22 } from "zod";
|
|
2011
|
+
var GetKmsListRequestSchema = z22.object({
|
|
2012
|
+
page: z22.number().int().min(1).optional(),
|
|
2013
|
+
page_size: z22.number().int().min(1).optional(),
|
|
2014
|
+
is_onchain: z22.boolean().optional()
|
|
1537
2015
|
}).strict();
|
|
1538
|
-
var GetKmsListSchema =
|
|
1539
|
-
items:
|
|
1540
|
-
total:
|
|
1541
|
-
page:
|
|
1542
|
-
page_size:
|
|
1543
|
-
pages:
|
|
2016
|
+
var GetKmsListSchema = z22.object({
|
|
2017
|
+
items: z22.array(KmsInfoSchema),
|
|
2018
|
+
total: z22.number(),
|
|
2019
|
+
page: z22.number(),
|
|
2020
|
+
page_size: z22.number(),
|
|
2021
|
+
pages: z22.number()
|
|
1544
2022
|
}).strict();
|
|
1545
2023
|
var { action: getKmsList, safeAction: safeGetKmsList } = defineAction(GetKmsListSchema, async (client, request) => {
|
|
1546
2024
|
const validatedRequest = GetKmsListRequestSchema.parse(request ?? {});
|
|
@@ -1548,17 +2026,17 @@ var { action: getKmsList, safeAction: safeGetKmsList } = defineAction(GetKmsList
|
|
|
1548
2026
|
});
|
|
1549
2027
|
|
|
1550
2028
|
// src/actions/kms/get_app_env_encrypt_pubkey.ts
|
|
1551
|
-
import { z as
|
|
1552
|
-
var GetAppEnvEncryptPubKeyRequestSchema =
|
|
1553
|
-
kms:
|
|
1554
|
-
app_id:
|
|
2029
|
+
import { z as z23 } from "zod";
|
|
2030
|
+
var GetAppEnvEncryptPubKeyRequestSchema = z23.object({
|
|
2031
|
+
kms: z23.string().min(1, "KMS ID or slug is required"),
|
|
2032
|
+
app_id: z23.string().refine(
|
|
1555
2033
|
(val) => val.length === 40 || val.startsWith("0x") && val.length === 42,
|
|
1556
2034
|
"App ID must be exactly 40 characters or 42 characters with 0x prefix"
|
|
1557
2035
|
)
|
|
1558
2036
|
}).strict();
|
|
1559
|
-
var GetAppEnvEncryptPubKeySchema =
|
|
1560
|
-
public_key:
|
|
1561
|
-
signature:
|
|
2037
|
+
var GetAppEnvEncryptPubKeySchema = z23.object({
|
|
2038
|
+
public_key: z23.string(),
|
|
2039
|
+
signature: z23.string()
|
|
1562
2040
|
}).strict();
|
|
1563
2041
|
var { action: getAppEnvEncryptPubKey, safeAction: safeGetAppEnvEncryptPubKey } = defineAction(GetAppEnvEncryptPubKeySchema, async (client, payload) => {
|
|
1564
2042
|
const validatedRequest = GetAppEnvEncryptPubKeyRequestSchema.parse(payload);
|
|
@@ -1566,15 +2044,15 @@ var { action: getAppEnvEncryptPubKey, safeAction: safeGetAppEnvEncryptPubKey } =
|
|
|
1566
2044
|
});
|
|
1567
2045
|
|
|
1568
2046
|
// src/actions/kms/next_app_ids.ts
|
|
1569
|
-
import { z as
|
|
1570
|
-
var NextAppIdsRequestSchema =
|
|
1571
|
-
counts:
|
|
2047
|
+
import { z as z24 } from "zod";
|
|
2048
|
+
var NextAppIdsRequestSchema = z24.object({
|
|
2049
|
+
counts: z24.number().int().min(1).max(20).optional().default(1)
|
|
1572
2050
|
}).strict();
|
|
1573
|
-
var NextAppIdsSchema =
|
|
1574
|
-
app_ids:
|
|
1575
|
-
|
|
1576
|
-
app_id:
|
|
1577
|
-
nonce:
|
|
2051
|
+
var NextAppIdsSchema = z24.object({
|
|
2052
|
+
app_ids: z24.array(
|
|
2053
|
+
z24.object({
|
|
2054
|
+
app_id: z24.string(),
|
|
2055
|
+
nonce: z24.number().int().min(0)
|
|
1578
2056
|
})
|
|
1579
2057
|
)
|
|
1580
2058
|
}).strict();
|
|
@@ -1585,6 +2063,36 @@ var { action: nextAppIds, safeAction: safeNextAppIds } = defineAction(NextAppIds
|
|
|
1585
2063
|
return await client.get(`/kms/phala/next_app_id?${params.toString()}`);
|
|
1586
2064
|
});
|
|
1587
2065
|
|
|
2066
|
+
// src/types/cvm_info.ts
|
|
2067
|
+
import { z as z25 } from "zod";
|
|
2068
|
+
var VMSchema = z25.object({
|
|
2069
|
+
id: z25.number(),
|
|
2070
|
+
name: z25.string(),
|
|
2071
|
+
status: z25.string(),
|
|
2072
|
+
teepod_id: z25.number(),
|
|
2073
|
+
teepod: z25.object({
|
|
2074
|
+
id: z25.number(),
|
|
2075
|
+
name: z25.string(),
|
|
2076
|
+
region_identifier: z25.string().nullable().optional()
|
|
2077
|
+
}).optional().nullable(),
|
|
2078
|
+
user_id: z25.number().optional().nullable(),
|
|
2079
|
+
app_id: z25.string(),
|
|
2080
|
+
vm_uuid: z25.string().nullable(),
|
|
2081
|
+
instance_id: z25.string().nullable(),
|
|
2082
|
+
app_url: z25.string().optional().nullable(),
|
|
2083
|
+
base_image: z25.string().nullable(),
|
|
2084
|
+
vcpu: z25.number(),
|
|
2085
|
+
memory: z25.number(),
|
|
2086
|
+
disk_size: z25.number(),
|
|
2087
|
+
manifest_version: z25.number().optional().nullable(),
|
|
2088
|
+
version: z25.string().optional().nullable(),
|
|
2089
|
+
runner: z25.string().optional().nullable(),
|
|
2090
|
+
docker_compose_file: z25.string().optional().nullable(),
|
|
2091
|
+
features: z25.array(z25.string()).optional().nullable(),
|
|
2092
|
+
created_at: z25.string(),
|
|
2093
|
+
encrypted_env_pubkey: z25.string().nullable()
|
|
2094
|
+
});
|
|
2095
|
+
|
|
1588
2096
|
// src/actions/cvms/start_cvm.ts
|
|
1589
2097
|
var StartCvmRequestSchema = CvmIdSchema;
|
|
1590
2098
|
var { action: startCvm, safeAction: safeStartCvm } = defineAction(VMSchema, async (client, request) => {
|
|
@@ -1610,10 +2118,10 @@ var { action: shutdownCvm, safeAction: safeShutdownCvm } = defineAction(VMSchema
|
|
|
1610
2118
|
});
|
|
1611
2119
|
|
|
1612
2120
|
// src/actions/cvms/restart_cvm.ts
|
|
1613
|
-
import { z as
|
|
2121
|
+
import { z as z26 } from "zod";
|
|
1614
2122
|
var RestartCvmRequestSchema = refineCvmId(
|
|
1615
2123
|
CvmIdObjectSchema.extend({
|
|
1616
|
-
force:
|
|
2124
|
+
force: z26.boolean().optional()
|
|
1617
2125
|
})
|
|
1618
2126
|
);
|
|
1619
2127
|
var { action: restartCvm, safeAction: safeRestartCvm } = defineAction(VMSchema, async (client, request) => {
|
|
@@ -1624,10 +2132,10 @@ var { action: restartCvm, safeAction: safeRestartCvm } = defineAction(VMSchema,
|
|
|
1624
2132
|
});
|
|
1625
2133
|
|
|
1626
2134
|
// src/actions/cvms/delete_cvm.ts
|
|
1627
|
-
import { z as
|
|
2135
|
+
import { z as z27 } from "zod";
|
|
1628
2136
|
var DeleteCvmRequestSchema = CvmIdSchema;
|
|
1629
2137
|
var { action: deleteCvm, safeAction: safeDeleteCvm } = defineAction(
|
|
1630
|
-
|
|
2138
|
+
z27.void(),
|
|
1631
2139
|
async (client, request) => {
|
|
1632
2140
|
const { cvmId } = DeleteCvmRequestSchema.parse(request);
|
|
1633
2141
|
await client.delete(`/cvms/${cvmId}`);
|
|
@@ -1636,41 +2144,41 @@ var { action: deleteCvm, safeAction: safeDeleteCvm } = defineAction(
|
|
|
1636
2144
|
);
|
|
1637
2145
|
|
|
1638
2146
|
// src/actions/cvms/get_cvm_stats.ts
|
|
1639
|
-
import { z as
|
|
1640
|
-
var DiskInfoSchema =
|
|
1641
|
-
name:
|
|
1642
|
-
mount_point:
|
|
1643
|
-
total_size:
|
|
1644
|
-
free_size:
|
|
1645
|
-
});
|
|
1646
|
-
var SystemInfoSchema =
|
|
1647
|
-
os_name:
|
|
1648
|
-
os_version:
|
|
1649
|
-
kernel_version:
|
|
1650
|
-
cpu_model:
|
|
1651
|
-
num_cpus:
|
|
1652
|
-
total_memory:
|
|
1653
|
-
available_memory:
|
|
1654
|
-
used_memory:
|
|
1655
|
-
free_memory:
|
|
1656
|
-
total_swap:
|
|
1657
|
-
used_swap:
|
|
1658
|
-
free_swap:
|
|
1659
|
-
uptime:
|
|
1660
|
-
loadavg_one:
|
|
1661
|
-
loadavg_five:
|
|
1662
|
-
loadavg_fifteen:
|
|
1663
|
-
disks:
|
|
1664
|
-
});
|
|
1665
|
-
var CvmSystemInfoSchema =
|
|
1666
|
-
is_online:
|
|
1667
|
-
is_public:
|
|
1668
|
-
error:
|
|
2147
|
+
import { z as z28 } from "zod";
|
|
2148
|
+
var DiskInfoSchema = z28.object({
|
|
2149
|
+
name: z28.string(),
|
|
2150
|
+
mount_point: z28.string(),
|
|
2151
|
+
total_size: z28.number(),
|
|
2152
|
+
free_size: z28.number()
|
|
2153
|
+
});
|
|
2154
|
+
var SystemInfoSchema = z28.object({
|
|
2155
|
+
os_name: z28.string(),
|
|
2156
|
+
os_version: z28.string(),
|
|
2157
|
+
kernel_version: z28.string(),
|
|
2158
|
+
cpu_model: z28.string(),
|
|
2159
|
+
num_cpus: z28.number(),
|
|
2160
|
+
total_memory: z28.number(),
|
|
2161
|
+
available_memory: z28.number(),
|
|
2162
|
+
used_memory: z28.number(),
|
|
2163
|
+
free_memory: z28.number(),
|
|
2164
|
+
total_swap: z28.number(),
|
|
2165
|
+
used_swap: z28.number(),
|
|
2166
|
+
free_swap: z28.number(),
|
|
2167
|
+
uptime: z28.number(),
|
|
2168
|
+
loadavg_one: z28.number(),
|
|
2169
|
+
loadavg_five: z28.number(),
|
|
2170
|
+
loadavg_fifteen: z28.number(),
|
|
2171
|
+
disks: z28.array(DiskInfoSchema)
|
|
2172
|
+
});
|
|
2173
|
+
var CvmSystemInfoSchema = z28.object({
|
|
2174
|
+
is_online: z28.boolean(),
|
|
2175
|
+
is_public: z28.boolean().default(false),
|
|
2176
|
+
error: z28.string().nullable(),
|
|
1669
2177
|
sysinfo: SystemInfoSchema.nullable(),
|
|
1670
|
-
status:
|
|
1671
|
-
in_progress:
|
|
1672
|
-
boot_progress:
|
|
1673
|
-
boot_error:
|
|
2178
|
+
status: z28.string().nullable(),
|
|
2179
|
+
in_progress: z28.boolean().default(false),
|
|
2180
|
+
boot_progress: z28.string().nullable(),
|
|
2181
|
+
boot_error: z28.string().nullable()
|
|
1674
2182
|
});
|
|
1675
2183
|
var GetCvmStatsRequestSchema = CvmIdSchema;
|
|
1676
2184
|
var { action: getCvmStats, safeAction: safeGetCvmStats } = defineAction(CvmSystemInfoSchema, async (client, request) => {
|
|
@@ -1679,18 +2187,18 @@ var { action: getCvmStats, safeAction: safeGetCvmStats } = defineAction(CvmSyste
|
|
|
1679
2187
|
});
|
|
1680
2188
|
|
|
1681
2189
|
// src/actions/cvms/get_cvm_network.ts
|
|
1682
|
-
import { z as
|
|
1683
|
-
var
|
|
1684
|
-
app:
|
|
1685
|
-
instance:
|
|
1686
|
-
});
|
|
1687
|
-
var CvmNetworkSchema =
|
|
1688
|
-
is_online:
|
|
1689
|
-
is_public:
|
|
1690
|
-
error:
|
|
1691
|
-
internal_ip:
|
|
1692
|
-
latest_handshake:
|
|
1693
|
-
public_urls:
|
|
2190
|
+
import { z as z29 } from "zod";
|
|
2191
|
+
var CvmNetworkUrlsSchema = z29.object({
|
|
2192
|
+
app: z29.string(),
|
|
2193
|
+
instance: z29.string()
|
|
2194
|
+
});
|
|
2195
|
+
var CvmNetworkSchema = z29.object({
|
|
2196
|
+
is_online: z29.boolean(),
|
|
2197
|
+
is_public: z29.boolean().default(true),
|
|
2198
|
+
error: z29.string().nullable(),
|
|
2199
|
+
internal_ip: z29.string().nullable(),
|
|
2200
|
+
latest_handshake: z29.string().nullable(),
|
|
2201
|
+
public_urls: z29.array(CvmNetworkUrlsSchema).nullable()
|
|
1694
2202
|
});
|
|
1695
2203
|
var GetCvmNetworkRequestSchema = CvmIdSchema;
|
|
1696
2204
|
var { action: getCvmNetwork, safeAction: safeGetCvmNetwork } = defineAction(CvmNetworkSchema, async (client, request) => {
|
|
@@ -1699,36 +2207,36 @@ var { action: getCvmNetwork, safeAction: safeGetCvmNetwork } = defineAction(CvmN
|
|
|
1699
2207
|
});
|
|
1700
2208
|
|
|
1701
2209
|
// src/actions/cvms/get_cvm_docker_compose.ts
|
|
1702
|
-
import { z as
|
|
2210
|
+
import { z as z30 } from "zod";
|
|
1703
2211
|
var GetCvmDockerComposeRequestSchema = CvmIdSchema;
|
|
1704
|
-
var { action: getCvmDockerCompose, safeAction: safeGetCvmDockerCompose } = defineAction(
|
|
2212
|
+
var { action: getCvmDockerCompose, safeAction: safeGetCvmDockerCompose } = defineAction(z30.string(), async (client, request) => {
|
|
1705
2213
|
const { cvmId } = GetCvmDockerComposeRequestSchema.parse(request);
|
|
1706
2214
|
return await client.get(`/cvms/${cvmId}/docker-compose.yml`);
|
|
1707
2215
|
});
|
|
1708
2216
|
|
|
1709
2217
|
// src/actions/cvms/get_cvm_containers_stats.ts
|
|
1710
|
-
import { z as
|
|
1711
|
-
var ContainerInfoSchema =
|
|
1712
|
-
id:
|
|
1713
|
-
names:
|
|
1714
|
-
image:
|
|
1715
|
-
image_id:
|
|
1716
|
-
command:
|
|
1717
|
-
created:
|
|
1718
|
-
state:
|
|
1719
|
-
status:
|
|
1720
|
-
log_endpoint:
|
|
1721
|
-
});
|
|
1722
|
-
var CvmContainersStatsSchema =
|
|
1723
|
-
is_online:
|
|
1724
|
-
is_public:
|
|
1725
|
-
error:
|
|
1726
|
-
docker_compose_file:
|
|
1727
|
-
manifest_version:
|
|
1728
|
-
version:
|
|
1729
|
-
runner:
|
|
1730
|
-
features:
|
|
1731
|
-
containers:
|
|
2218
|
+
import { z as z31 } from "zod";
|
|
2219
|
+
var ContainerInfoSchema = z31.object({
|
|
2220
|
+
id: z31.string(),
|
|
2221
|
+
names: z31.array(z31.string()),
|
|
2222
|
+
image: z31.string(),
|
|
2223
|
+
image_id: z31.string(),
|
|
2224
|
+
command: z31.string().nullable().optional(),
|
|
2225
|
+
created: z31.number(),
|
|
2226
|
+
state: z31.string(),
|
|
2227
|
+
status: z31.string(),
|
|
2228
|
+
log_endpoint: z31.string().nullable()
|
|
2229
|
+
});
|
|
2230
|
+
var CvmContainersStatsSchema = z31.object({
|
|
2231
|
+
is_online: z31.boolean(),
|
|
2232
|
+
is_public: z31.boolean().default(true),
|
|
2233
|
+
error: z31.string().nullable(),
|
|
2234
|
+
docker_compose_file: z31.string().nullable(),
|
|
2235
|
+
manifest_version: z31.number().nullable(),
|
|
2236
|
+
version: z31.string().nullable(),
|
|
2237
|
+
runner: z31.string().nullable(),
|
|
2238
|
+
features: z31.array(z31.string()).nullable(),
|
|
2239
|
+
containers: z31.array(ContainerInfoSchema).nullable()
|
|
1732
2240
|
});
|
|
1733
2241
|
var GetCvmContainersStatsRequestSchema = CvmIdSchema;
|
|
1734
2242
|
var { action: getCvmContainersStats, safeAction: safeGetCvmContainersStats } = defineAction(CvmContainersStatsSchema, async (client, request) => {
|
|
@@ -1737,62 +2245,62 @@ var { action: getCvmContainersStats, safeAction: safeGetCvmContainersStats } = d
|
|
|
1737
2245
|
});
|
|
1738
2246
|
|
|
1739
2247
|
// src/actions/cvms/get_cvm_attestation.ts
|
|
1740
|
-
import { z as
|
|
1741
|
-
var CertificateSubjectSchema =
|
|
1742
|
-
common_name:
|
|
1743
|
-
organization:
|
|
1744
|
-
country:
|
|
1745
|
-
state:
|
|
1746
|
-
locality:
|
|
1747
|
-
});
|
|
1748
|
-
var CertificateIssuerSchema =
|
|
1749
|
-
common_name:
|
|
1750
|
-
organization:
|
|
1751
|
-
country:
|
|
1752
|
-
});
|
|
1753
|
-
var CertificateSchema =
|
|
2248
|
+
import { z as z32 } from "zod";
|
|
2249
|
+
var CertificateSubjectSchema = z32.object({
|
|
2250
|
+
common_name: z32.string().nullable(),
|
|
2251
|
+
organization: z32.string().nullable(),
|
|
2252
|
+
country: z32.string().nullable(),
|
|
2253
|
+
state: z32.string().nullable(),
|
|
2254
|
+
locality: z32.string().nullable()
|
|
2255
|
+
});
|
|
2256
|
+
var CertificateIssuerSchema = z32.object({
|
|
2257
|
+
common_name: z32.string().nullable(),
|
|
2258
|
+
organization: z32.string().nullable(),
|
|
2259
|
+
country: z32.string().nullable()
|
|
2260
|
+
});
|
|
2261
|
+
var CertificateSchema = z32.object({
|
|
1754
2262
|
subject: CertificateSubjectSchema,
|
|
1755
2263
|
issuer: CertificateIssuerSchema,
|
|
1756
|
-
serial_number:
|
|
1757
|
-
not_before:
|
|
2264
|
+
serial_number: z32.string(),
|
|
2265
|
+
not_before: z32.string(),
|
|
1758
2266
|
// datetime serialized as ISO string
|
|
1759
|
-
not_after:
|
|
2267
|
+
not_after: z32.string(),
|
|
1760
2268
|
// datetime serialized as ISO string
|
|
1761
|
-
version:
|
|
1762
|
-
fingerprint:
|
|
1763
|
-
signature_algorithm:
|
|
1764
|
-
sans:
|
|
1765
|
-
is_ca:
|
|
1766
|
-
position_in_chain:
|
|
1767
|
-
quote:
|
|
1768
|
-
app_id:
|
|
1769
|
-
cert_usage:
|
|
1770
|
-
});
|
|
1771
|
-
var EventLogSchema =
|
|
1772
|
-
imr:
|
|
1773
|
-
event_type:
|
|
1774
|
-
digest:
|
|
1775
|
-
event:
|
|
1776
|
-
event_payload:
|
|
1777
|
-
});
|
|
1778
|
-
var TcbInfoSchema =
|
|
1779
|
-
mrtd:
|
|
1780
|
-
rootfs_hash:
|
|
1781
|
-
rtmr0:
|
|
1782
|
-
rtmr1:
|
|
1783
|
-
rtmr2:
|
|
1784
|
-
rtmr3:
|
|
1785
|
-
event_log:
|
|
1786
|
-
app_compose:
|
|
1787
|
-
});
|
|
1788
|
-
var CvmAttestationSchema =
|
|
1789
|
-
name:
|
|
1790
|
-
is_online:
|
|
1791
|
-
is_public:
|
|
1792
|
-
error:
|
|
1793
|
-
app_certificates:
|
|
2269
|
+
version: z32.string(),
|
|
2270
|
+
fingerprint: z32.string(),
|
|
2271
|
+
signature_algorithm: z32.string(),
|
|
2272
|
+
sans: z32.array(z32.string()).nullable(),
|
|
2273
|
+
is_ca: z32.boolean(),
|
|
2274
|
+
position_in_chain: z32.number().nullable(),
|
|
2275
|
+
quote: z32.string().nullable(),
|
|
2276
|
+
app_id: z32.string().nullable().optional(),
|
|
2277
|
+
cert_usage: z32.string().nullable().optional()
|
|
2278
|
+
});
|
|
2279
|
+
var EventLogSchema = z32.object({
|
|
2280
|
+
imr: z32.number(),
|
|
2281
|
+
event_type: z32.number(),
|
|
2282
|
+
digest: z32.string(),
|
|
2283
|
+
event: z32.string(),
|
|
2284
|
+
event_payload: z32.string()
|
|
2285
|
+
});
|
|
2286
|
+
var TcbInfoSchema = z32.object({
|
|
2287
|
+
mrtd: z32.string(),
|
|
2288
|
+
rootfs_hash: z32.string().nullable().optional(),
|
|
2289
|
+
rtmr0: z32.string(),
|
|
2290
|
+
rtmr1: z32.string(),
|
|
2291
|
+
rtmr2: z32.string(),
|
|
2292
|
+
rtmr3: z32.string(),
|
|
2293
|
+
event_log: z32.array(EventLogSchema),
|
|
2294
|
+
app_compose: z32.string()
|
|
2295
|
+
});
|
|
2296
|
+
var CvmAttestationSchema = z32.object({
|
|
2297
|
+
name: z32.string().nullable(),
|
|
2298
|
+
is_online: z32.boolean(),
|
|
2299
|
+
is_public: z32.boolean().default(true),
|
|
2300
|
+
error: z32.string().nullable(),
|
|
2301
|
+
app_certificates: z32.array(CertificateSchema).nullable(),
|
|
1794
2302
|
tcb_info: TcbInfoSchema.nullable(),
|
|
1795
|
-
compose_file:
|
|
2303
|
+
compose_file: z32.string().nullable()
|
|
1796
2304
|
});
|
|
1797
2305
|
var GetCvmAttestationRequestSchema = CvmIdSchema;
|
|
1798
2306
|
var { action: getCvmAttestation, safeAction: safeGetCvmAttestation } = defineAction(CvmAttestationSchema, async (client, request) => {
|
|
@@ -1801,17 +2309,17 @@ var { action: getCvmAttestation, safeAction: safeGetCvmAttestation } = defineAct
|
|
|
1801
2309
|
});
|
|
1802
2310
|
|
|
1803
2311
|
// src/actions/cvms/update_cvm_resources.ts
|
|
1804
|
-
import { z as
|
|
2312
|
+
import { z as z33 } from "zod";
|
|
1805
2313
|
var UpdateCvmResourcesRequestSchema = refineCvmId(
|
|
1806
2314
|
CvmIdObjectSchema.extend({
|
|
1807
|
-
vcpu:
|
|
1808
|
-
memory:
|
|
1809
|
-
disk_size:
|
|
1810
|
-
instance_type:
|
|
1811
|
-
allow_restart:
|
|
2315
|
+
vcpu: z33.number().optional(),
|
|
2316
|
+
memory: z33.number().optional(),
|
|
2317
|
+
disk_size: z33.number().optional(),
|
|
2318
|
+
instance_type: z33.string().optional(),
|
|
2319
|
+
allow_restart: z33.boolean().optional()
|
|
1812
2320
|
})
|
|
1813
2321
|
);
|
|
1814
|
-
var { action: updateCvmResources, safeAction: safeUpdateCvmResources } = defineAction(
|
|
2322
|
+
var { action: updateCvmResources, safeAction: safeUpdateCvmResources } = defineAction(z33.void(), async (client, request) => {
|
|
1815
2323
|
const parsed = UpdateCvmResourcesRequestSchema.parse(request);
|
|
1816
2324
|
const { cvmId } = CvmIdSchema.parse(parsed);
|
|
1817
2325
|
const { ...body } = parsed;
|
|
@@ -1820,14 +2328,14 @@ var { action: updateCvmResources, safeAction: safeUpdateCvmResources } = defineA
|
|
|
1820
2328
|
});
|
|
1821
2329
|
|
|
1822
2330
|
// src/actions/cvms/update_cvm_visibility.ts
|
|
1823
|
-
import { z as
|
|
2331
|
+
import { z as z34 } from "zod";
|
|
1824
2332
|
var UpdateCvmVisibilityRequestSchema = refineCvmId(
|
|
1825
2333
|
CvmIdObjectSchema.extend({
|
|
1826
|
-
public_sysinfo:
|
|
1827
|
-
public_logs:
|
|
2334
|
+
public_sysinfo: z34.boolean(),
|
|
2335
|
+
public_logs: z34.boolean()
|
|
1828
2336
|
})
|
|
1829
2337
|
);
|
|
1830
|
-
var { action: updateCvmVisibility, safeAction: safeUpdateCvmVisibility } = defineAction(
|
|
2338
|
+
var { action: updateCvmVisibility, safeAction: safeUpdateCvmVisibility } = defineAction(CvmDetailV20251028Schema, async (client, request) => {
|
|
1831
2339
|
const parsed = UpdateCvmVisibilityRequestSchema.parse(request);
|
|
1832
2340
|
const { cvmId } = CvmIdSchema.parse(parsed);
|
|
1833
2341
|
const { public_sysinfo, public_logs } = parsed;
|
|
@@ -1835,21 +2343,21 @@ var { action: updateCvmVisibility, safeAction: safeUpdateCvmVisibility } = defin
|
|
|
1835
2343
|
});
|
|
1836
2344
|
|
|
1837
2345
|
// src/actions/cvms/get_available_os_images.ts
|
|
1838
|
-
import { z as
|
|
1839
|
-
var OSImageVariantSchema =
|
|
1840
|
-
name:
|
|
1841
|
-
os_image_hash:
|
|
1842
|
-
is_current:
|
|
1843
|
-
});
|
|
1844
|
-
var AvailableOSImageSchema2 =
|
|
1845
|
-
version:
|
|
1846
|
-
|
|
1847
|
-
|
|
2346
|
+
import { z as z35 } from "zod";
|
|
2347
|
+
var OSImageVariantSchema = z35.object({
|
|
2348
|
+
name: z35.string(),
|
|
2349
|
+
os_image_hash: z35.string().nullable(),
|
|
2350
|
+
is_current: z35.boolean()
|
|
2351
|
+
});
|
|
2352
|
+
var AvailableOSImageSchema2 = z35.object({
|
|
2353
|
+
version: z35.union([
|
|
2354
|
+
z35.tuple([z35.number(), z35.number(), z35.number(), z35.number()]),
|
|
2355
|
+
z35.tuple([z35.number(), z35.number(), z35.number()])
|
|
1848
2356
|
]),
|
|
1849
2357
|
prod: OSImageVariantSchema.nullable(),
|
|
1850
2358
|
dev: OSImageVariantSchema.nullable()
|
|
1851
2359
|
});
|
|
1852
|
-
var GetAvailableOSImagesResponseSchema =
|
|
2360
|
+
var GetAvailableOSImagesResponseSchema = z35.array(AvailableOSImageSchema2);
|
|
1853
2361
|
var GetAvailableOSImagesRequestSchema = CvmIdSchema;
|
|
1854
2362
|
var { action: getAvailableOsImages, safeAction: safeGetAvailableOsImages } = defineAction(GetAvailableOSImagesResponseSchema, async (client, request) => {
|
|
1855
2363
|
const { cvmId } = GetAvailableOSImagesRequestSchema.parse(request);
|
|
@@ -1857,13 +2365,13 @@ var { action: getAvailableOsImages, safeAction: safeGetAvailableOsImages } = def
|
|
|
1857
2365
|
});
|
|
1858
2366
|
|
|
1859
2367
|
// src/actions/cvms/update_os_image.ts
|
|
1860
|
-
import { z as
|
|
2368
|
+
import { z as z36 } from "zod";
|
|
1861
2369
|
var UpdateOsImageRequestSchema = refineCvmId(
|
|
1862
2370
|
CvmIdObjectSchema.extend({
|
|
1863
|
-
os_image_name:
|
|
2371
|
+
os_image_name: z36.string().min(1, "OS image name is required")
|
|
1864
2372
|
})
|
|
1865
2373
|
);
|
|
1866
|
-
var { action: updateOsImage, safeAction: safeUpdateOsImage } = defineAction(
|
|
2374
|
+
var { action: updateOsImage, safeAction: safeUpdateOsImage } = defineAction(z36.void(), async (client, request) => {
|
|
1867
2375
|
const parsed = UpdateOsImageRequestSchema.parse(request);
|
|
1868
2376
|
const { cvmId } = CvmIdSchema.parse(parsed);
|
|
1869
2377
|
const { os_image_name } = parsed;
|
|
@@ -1872,17 +2380,17 @@ var { action: updateOsImage, safeAction: safeUpdateOsImage } = defineAction(z30.
|
|
|
1872
2380
|
});
|
|
1873
2381
|
|
|
1874
2382
|
// src/actions/cvms/get_cvm_state.ts
|
|
1875
|
-
import { z as
|
|
1876
|
-
var CvmStateSchema =
|
|
1877
|
-
id:
|
|
1878
|
-
instance_id:
|
|
1879
|
-
name:
|
|
1880
|
-
status:
|
|
1881
|
-
uptime:
|
|
1882
|
-
exited_at:
|
|
1883
|
-
boot_progress:
|
|
1884
|
-
boot_error:
|
|
1885
|
-
shutdown_progress:
|
|
2383
|
+
import { z as z37 } from "zod";
|
|
2384
|
+
var CvmStateSchema = z37.object({
|
|
2385
|
+
id: z37.string().optional(),
|
|
2386
|
+
instance_id: z37.string().optional(),
|
|
2387
|
+
name: z37.string(),
|
|
2388
|
+
status: z37.string(),
|
|
2389
|
+
uptime: z37.string().optional(),
|
|
2390
|
+
exited_at: z37.string().optional(),
|
|
2391
|
+
boot_progress: z37.string().optional(),
|
|
2392
|
+
boot_error: z37.string().optional(),
|
|
2393
|
+
shutdown_progress: z37.string().optional()
|
|
1886
2394
|
});
|
|
1887
2395
|
var GetCvmStateRequestSchema = CvmIdSchema;
|
|
1888
2396
|
var { action: getCvmState, safeAction: safeGetCvmState } = defineAction(CvmStateSchema, async (client, request) => {
|
|
@@ -1922,6 +2430,12 @@ function createClient2(config = {}) {
|
|
|
1922
2430
|
safeCommitCvmComposeFileUpdate,
|
|
1923
2431
|
updateCvmEnvs,
|
|
1924
2432
|
safeUpdateCvmEnvs,
|
|
2433
|
+
updateDockerCompose,
|
|
2434
|
+
safeUpdateDockerCompose,
|
|
2435
|
+
updatePreLaunchScript,
|
|
2436
|
+
safeUpdatePreLaunchScript,
|
|
2437
|
+
getCvmPreLaunchScript,
|
|
2438
|
+
safeGetCvmPreLaunchScript,
|
|
1925
2439
|
startCvm,
|
|
1926
2440
|
safeStartCvm,
|
|
1927
2441
|
stopCvm,
|
|
@@ -1964,8 +2478,147 @@ function createClient2(config = {}) {
|
|
|
1964
2478
|
return client.extend(allActions);
|
|
1965
2479
|
}
|
|
1966
2480
|
|
|
2481
|
+
// src/types/app_info_v20251028.ts
|
|
2482
|
+
import { z as z38 } from "zod";
|
|
2483
|
+
var CvmBasicInfoV20251028Schema = z38.object({
|
|
2484
|
+
vm_uuid: z38.string().nullable(),
|
|
2485
|
+
app_id: z38.string(),
|
|
2486
|
+
name: z38.string().default(""),
|
|
2487
|
+
status: z38.string(),
|
|
2488
|
+
vcpu: z38.number().int(),
|
|
2489
|
+
memory: z38.number().int(),
|
|
2490
|
+
disk_size: z38.number().int(),
|
|
2491
|
+
teepod_id: z38.number().int(),
|
|
2492
|
+
teepod_name: z38.string(),
|
|
2493
|
+
region_identifier: z38.string().nullable().optional(),
|
|
2494
|
+
kms_type: z38.string().nullable().optional(),
|
|
2495
|
+
instance_type: z38.string().nullable().optional(),
|
|
2496
|
+
listed: z38.boolean().nullable().optional(),
|
|
2497
|
+
base_image: z38.string().nullable().optional(),
|
|
2498
|
+
kms_slug: z38.string().nullable().optional(),
|
|
2499
|
+
kms_id: z38.string().nullable().optional(),
|
|
2500
|
+
instance_id: z38.string().nullable().optional(),
|
|
2501
|
+
machine_info: MachineInfoV20251028Schema.nullable().optional(),
|
|
2502
|
+
updated_at: z38.string().nullable().optional()
|
|
2503
|
+
});
|
|
2504
|
+
var DstackAppFullResponseV20251028Schema = z38.object({
|
|
2505
|
+
id: z38.string(),
|
|
2506
|
+
name: z38.string(),
|
|
2507
|
+
app_id: z38.string(),
|
|
2508
|
+
app_provision_type: z38.string().nullable().optional(),
|
|
2509
|
+
app_icon_url: z38.string().nullable().optional(),
|
|
2510
|
+
created_at: z38.string(),
|
|
2511
|
+
kms_type: z38.string(),
|
|
2512
|
+
current_cvm: CvmBasicInfoV20251028Schema.nullable().optional(),
|
|
2513
|
+
cvms: z38.array(CvmBasicInfoV20251028Schema).default([]),
|
|
2514
|
+
cvm_count: z38.number().int().default(0)
|
|
2515
|
+
});
|
|
2516
|
+
var DstackAppMinimalResponseV20251028Schema = z38.object({
|
|
2517
|
+
id: z38.null().optional(),
|
|
2518
|
+
app_id: z38.string(),
|
|
2519
|
+
name: z38.null().optional(),
|
|
2520
|
+
app_provision_type: z38.null().optional(),
|
|
2521
|
+
app_icon_url: z38.null().optional(),
|
|
2522
|
+
created_at: z38.null().optional(),
|
|
2523
|
+
kms_type: z38.null().optional(),
|
|
2524
|
+
current_cvm: z38.null().optional(),
|
|
2525
|
+
cvms: z38.null().optional(),
|
|
2526
|
+
cvm_count: z38.null().optional()
|
|
2527
|
+
});
|
|
2528
|
+
var DstackAppWithCvmResponseV20251028Schema = z38.union([
|
|
2529
|
+
DstackAppFullResponseV20251028Schema,
|
|
2530
|
+
DstackAppMinimalResponseV20251028Schema
|
|
2531
|
+
]);
|
|
2532
|
+
var DstackAppListResponseV20251028Schema = z38.object({
|
|
2533
|
+
dstack_apps: z38.array(DstackAppWithCvmResponseV20251028Schema),
|
|
2534
|
+
page: z38.number().int(),
|
|
2535
|
+
page_size: z38.number().int(),
|
|
2536
|
+
total: z38.number().int(),
|
|
2537
|
+
total_pages: z38.number().int()
|
|
2538
|
+
});
|
|
2539
|
+
|
|
2540
|
+
// src/types/app_info_v20260121.ts
|
|
2541
|
+
import { z as z39 } from "zod";
|
|
2542
|
+
var DstackAppFullResponseV20260121Schema = z39.object({
|
|
2543
|
+
id: z39.string(),
|
|
2544
|
+
name: z39.string(),
|
|
2545
|
+
app_id: z39.string(),
|
|
2546
|
+
app_provision_type: z39.string().nullable().optional(),
|
|
2547
|
+
app_icon_url: z39.string().nullable().optional(),
|
|
2548
|
+
created_at: z39.string(),
|
|
2549
|
+
kms_type: z39.string(),
|
|
2550
|
+
current_cvm: CvmInfoV20260121Schema.nullable().optional(),
|
|
2551
|
+
cvms: z39.array(CvmInfoV20260121Schema).default([]),
|
|
2552
|
+
cvm_count: z39.number().int().default(0)
|
|
2553
|
+
});
|
|
2554
|
+
var DstackAppMinimalResponseV20260121Schema = z39.object({
|
|
2555
|
+
id: z39.null().optional(),
|
|
2556
|
+
app_id: z39.string(),
|
|
2557
|
+
name: z39.null().optional(),
|
|
2558
|
+
app_provision_type: z39.null().optional(),
|
|
2559
|
+
app_icon_url: z39.null().optional(),
|
|
2560
|
+
created_at: z39.null().optional(),
|
|
2561
|
+
kms_type: z39.null().optional(),
|
|
2562
|
+
current_cvm: z39.null().optional(),
|
|
2563
|
+
cvms: z39.null().optional(),
|
|
2564
|
+
cvm_count: z39.null().optional()
|
|
2565
|
+
});
|
|
2566
|
+
var DstackAppWithCvmResponseV20260121Schema = z39.union([
|
|
2567
|
+
DstackAppFullResponseV20260121Schema,
|
|
2568
|
+
DstackAppMinimalResponseV20260121Schema
|
|
2569
|
+
]);
|
|
2570
|
+
var DstackAppListResponseV20260121Schema = z39.object({
|
|
2571
|
+
dstack_apps: z39.array(DstackAppWithCvmResponseV20260121Schema),
|
|
2572
|
+
page: z39.number().int(),
|
|
2573
|
+
page_size: z39.number().int(),
|
|
2574
|
+
total: z39.number().int(),
|
|
2575
|
+
total_pages: z39.number().int()
|
|
2576
|
+
});
|
|
2577
|
+
|
|
2578
|
+
// src/types/app_revision.ts
|
|
2579
|
+
import { z as z40 } from "zod";
|
|
2580
|
+
var CvmRefSchema = z40.object({
|
|
2581
|
+
object_type: z40.literal("cvm"),
|
|
2582
|
+
id: z40.string().nullable().optional(),
|
|
2583
|
+
name: z40.string().nullable().optional(),
|
|
2584
|
+
app_id: z40.string().nullable().optional(),
|
|
2585
|
+
vm_uuid: z40.string().nullable().optional()
|
|
2586
|
+
});
|
|
2587
|
+
var AppRevisionResponseSchema = z40.object({
|
|
2588
|
+
app_id: z40.string(),
|
|
2589
|
+
vm_uuid: z40.string(),
|
|
2590
|
+
compose_hash: z40.string(),
|
|
2591
|
+
created_at: z40.string(),
|
|
2592
|
+
trace_id: z40.string().nullable().optional(),
|
|
2593
|
+
operation_type: z40.string(),
|
|
2594
|
+
triggered_by: UserRefSchema.nullable().optional(),
|
|
2595
|
+
cvm: CvmRefSchema.nullable().optional(),
|
|
2596
|
+
workspace: WorkspaceRefSchema.nullable().optional()
|
|
2597
|
+
});
|
|
2598
|
+
var AppRevisionDetailResponseSchema = z40.object({
|
|
2599
|
+
app_id: z40.string(),
|
|
2600
|
+
vm_uuid: z40.string(),
|
|
2601
|
+
compose_hash: z40.string(),
|
|
2602
|
+
compose_file: z40.union([z40.record(z40.any()), z40.string()]).nullable().optional(),
|
|
2603
|
+
encrypted_env: z40.string(),
|
|
2604
|
+
user_config: z40.string(),
|
|
2605
|
+
created_at: z40.string(),
|
|
2606
|
+
trace_id: z40.string().nullable().optional(),
|
|
2607
|
+
operation_type: z40.string(),
|
|
2608
|
+
triggered_by: UserRefSchema.nullable().optional(),
|
|
2609
|
+
cvm: CvmRefSchema.nullable().optional(),
|
|
2610
|
+
workspace: WorkspaceRefSchema.nullable().optional()
|
|
2611
|
+
});
|
|
2612
|
+
var AppRevisionsResponseSchema = z40.object({
|
|
2613
|
+
revisions: z40.array(AppRevisionResponseSchema),
|
|
2614
|
+
total: z40.number().int(),
|
|
2615
|
+
page: z40.number().int(),
|
|
2616
|
+
page_size: z40.number().int(),
|
|
2617
|
+
total_pages: z40.number().int()
|
|
2618
|
+
});
|
|
2619
|
+
|
|
1967
2620
|
// src/actions/blockchains/deploy_app_auth.ts
|
|
1968
|
-
import { z as
|
|
2621
|
+
import { z as z41 } from "zod";
|
|
1969
2622
|
import {
|
|
1970
2623
|
createPublicClient as createPublicClient2,
|
|
1971
2624
|
createWalletClient as createWalletClient2,
|
|
@@ -2626,25 +3279,25 @@ var kmsAuthAbi = [
|
|
|
2626
3279
|
anonymous: false
|
|
2627
3280
|
}
|
|
2628
3281
|
];
|
|
2629
|
-
var DeployAppAuthRequestBaseSchema =
|
|
3282
|
+
var DeployAppAuthRequestBaseSchema = z41.object({
|
|
2630
3283
|
// Chain configuration (conditionally required)
|
|
2631
|
-
chain:
|
|
2632
|
-
rpcUrl:
|
|
3284
|
+
chain: z41.unknown().optional(),
|
|
3285
|
+
rpcUrl: z41.string().optional(),
|
|
2633
3286
|
// Contract configuration (required)
|
|
2634
|
-
kmsContractAddress:
|
|
3287
|
+
kmsContractAddress: z41.string(),
|
|
2635
3288
|
// Authentication mode: either privateKey OR walletClient (required, mutually exclusive)
|
|
2636
|
-
privateKey:
|
|
2637
|
-
walletClient:
|
|
3289
|
+
privateKey: z41.string().optional(),
|
|
3290
|
+
walletClient: z41.unknown().optional(),
|
|
2638
3291
|
// Public client (optional, will create default if not provided)
|
|
2639
|
-
publicClient:
|
|
3292
|
+
publicClient: z41.unknown().optional(),
|
|
2640
3293
|
// App configuration (optional)
|
|
2641
|
-
allowAnyDevice:
|
|
2642
|
-
deviceId:
|
|
2643
|
-
composeHash:
|
|
2644
|
-
disableUpgrades:
|
|
3294
|
+
allowAnyDevice: z41.boolean().optional().default(false),
|
|
3295
|
+
deviceId: z41.string().optional().default("0000000000000000000000000000000000000000000000000000000000000000"),
|
|
3296
|
+
composeHash: z41.string().optional().default("0000000000000000000000000000000000000000000000000000000000000000"),
|
|
3297
|
+
disableUpgrades: z41.boolean().optional().default(false),
|
|
2645
3298
|
// Validation configuration (optional)
|
|
2646
|
-
skipPrerequisiteChecks:
|
|
2647
|
-
minBalance:
|
|
3299
|
+
skipPrerequisiteChecks: z41.boolean().optional().default(false),
|
|
3300
|
+
minBalance: z41.string().optional()
|
|
2648
3301
|
// ETH amount as string, e.g., "0.01"
|
|
2649
3302
|
}).passthrough();
|
|
2650
3303
|
var DeployAppAuthRequestSchema = DeployAppAuthRequestBaseSchema.refine(
|
|
@@ -2672,13 +3325,13 @@ var DeployAppAuthRequestSchema = DeployAppAuthRequestBaseSchema.refine(
|
|
|
2672
3325
|
path: ["chain"]
|
|
2673
3326
|
}
|
|
2674
3327
|
);
|
|
2675
|
-
var DeployAppAuthSchema =
|
|
2676
|
-
appId:
|
|
2677
|
-
appAuthAddress:
|
|
2678
|
-
deployer:
|
|
2679
|
-
transactionHash:
|
|
2680
|
-
blockNumber:
|
|
2681
|
-
gasUsed:
|
|
3328
|
+
var DeployAppAuthSchema = z41.object({
|
|
3329
|
+
appId: z41.string(),
|
|
3330
|
+
appAuthAddress: z41.string(),
|
|
3331
|
+
deployer: z41.string(),
|
|
3332
|
+
transactionHash: z41.string(),
|
|
3333
|
+
blockNumber: z41.bigint().optional(),
|
|
3334
|
+
gasUsed: z41.bigint().optional()
|
|
2682
3335
|
}).passthrough();
|
|
2683
3336
|
function parseDeploymentResult(receipt, deployer, kmsContractAddress) {
|
|
2684
3337
|
try {
|
|
@@ -2924,7 +3577,7 @@ async function safeDeployAppAuth(request, parameters) {
|
|
|
2924
3577
|
}
|
|
2925
3578
|
|
|
2926
3579
|
// src/actions/blockchains/add_compose_hash.ts
|
|
2927
|
-
import { z as
|
|
3580
|
+
import { z as z42 } from "zod";
|
|
2928
3581
|
import {
|
|
2929
3582
|
createPublicClient as createPublicClient3,
|
|
2930
3583
|
createWalletClient as createWalletClient3,
|
|
@@ -2948,29 +3601,29 @@ var appAuthAbi = [
|
|
|
2948
3601
|
anonymous: false
|
|
2949
3602
|
}
|
|
2950
3603
|
];
|
|
2951
|
-
var AddComposeHashRequestSchema =
|
|
3604
|
+
var AddComposeHashRequestSchema = z42.object({
|
|
2952
3605
|
// Chain configuration (conditionally required)
|
|
2953
|
-
chain:
|
|
2954
|
-
rpcUrl:
|
|
2955
|
-
appId:
|
|
2956
|
-
composeHash:
|
|
3606
|
+
chain: z42.unknown().optional(),
|
|
3607
|
+
rpcUrl: z42.string().optional(),
|
|
3608
|
+
appId: z42.string(),
|
|
3609
|
+
composeHash: z42.string(),
|
|
2957
3610
|
// Authentication mode: either privateKey OR walletClient (required, mutually exclusive)
|
|
2958
|
-
privateKey:
|
|
2959
|
-
walletClient:
|
|
3611
|
+
privateKey: z42.string().optional(),
|
|
3612
|
+
walletClient: z42.unknown().optional(),
|
|
2960
3613
|
// Public client (optional, will create default if not provided)
|
|
2961
|
-
publicClient:
|
|
3614
|
+
publicClient: z42.unknown().optional(),
|
|
2962
3615
|
// Validation configuration (optional)
|
|
2963
|
-
skipPrerequisiteChecks:
|
|
2964
|
-
minBalance:
|
|
3616
|
+
skipPrerequisiteChecks: z42.boolean().optional().default(false),
|
|
3617
|
+
minBalance: z42.string().optional(),
|
|
2965
3618
|
// ETH amount as string, e.g., "0.01"
|
|
2966
3619
|
// Transaction control options
|
|
2967
|
-
timeout:
|
|
2968
|
-
retryOptions:
|
|
2969
|
-
signal:
|
|
3620
|
+
timeout: z42.number().optional().default(12e4),
|
|
3621
|
+
retryOptions: z42.unknown().optional(),
|
|
3622
|
+
signal: z42.unknown().optional(),
|
|
2970
3623
|
// Progress callbacks
|
|
2971
|
-
onTransactionStateChange:
|
|
2972
|
-
onTransactionSubmitted:
|
|
2973
|
-
onTransactionConfirmed:
|
|
3624
|
+
onTransactionStateChange: z42.function().optional(),
|
|
3625
|
+
onTransactionSubmitted: z42.function().optional(),
|
|
3626
|
+
onTransactionConfirmed: z42.function().optional()
|
|
2974
3627
|
}).passthrough().refine(
|
|
2975
3628
|
(data) => {
|
|
2976
3629
|
const hasPrivateKey = !!data.privateKey;
|
|
@@ -2994,12 +3647,12 @@ var AddComposeHashRequestSchema = z33.object({
|
|
|
2994
3647
|
path: ["chain"]
|
|
2995
3648
|
}
|
|
2996
3649
|
);
|
|
2997
|
-
var AddComposeHashSchema =
|
|
2998
|
-
composeHash:
|
|
2999
|
-
appId:
|
|
3000
|
-
transactionHash:
|
|
3001
|
-
blockNumber:
|
|
3002
|
-
gasUsed:
|
|
3650
|
+
var AddComposeHashSchema = z42.object({
|
|
3651
|
+
composeHash: z42.string(),
|
|
3652
|
+
appId: z42.string(),
|
|
3653
|
+
transactionHash: z42.string(),
|
|
3654
|
+
blockNumber: z42.bigint().optional(),
|
|
3655
|
+
gasUsed: z42.bigint().optional()
|
|
3003
3656
|
}).passthrough();
|
|
3004
3657
|
function parseComposeHashResult(receipt, composeHash, appAuthAddress, appId) {
|
|
3005
3658
|
console.log(receipt.logs);
|
|
@@ -3190,14 +3843,63 @@ async function safeAddComposeHash(request, parameters) {
|
|
|
3190
3843
|
}
|
|
3191
3844
|
}
|
|
3192
3845
|
|
|
3846
|
+
// src/actions/workspaces/get_workspace_nodes.ts
|
|
3847
|
+
import { z as z43 } from "zod";
|
|
3848
|
+
var NodeRefSchema2 = NodeRefSchema;
|
|
3849
|
+
var NodeInfoSchema = NodeRefSchema2;
|
|
3850
|
+
var GetWorkspaceNodesSchema = z43.object({
|
|
3851
|
+
items: z43.array(NodeRefSchema2),
|
|
3852
|
+
total: z43.number(),
|
|
3853
|
+
page: z43.number(),
|
|
3854
|
+
page_size: z43.number(),
|
|
3855
|
+
pages: z43.number()
|
|
3856
|
+
}).passthrough();
|
|
3857
|
+
var { action: getWorkspaceNodes, safeAction: safeGetWorkspaceNodes } = defineAction(GetWorkspaceNodesSchema, async (client, request) => {
|
|
3858
|
+
const { teamSlug, page, pageSize } = request;
|
|
3859
|
+
const queryParams = new URLSearchParams();
|
|
3860
|
+
if (page !== void 0) queryParams.append("page", page.toString());
|
|
3861
|
+
if (pageSize !== void 0) queryParams.append("page_size", pageSize.toString());
|
|
3862
|
+
const url = queryParams.toString() ? `/workspaces/${teamSlug}/nodes?${queryParams.toString()}` : `/workspaces/${teamSlug}/nodes`;
|
|
3863
|
+
return await client.get(url);
|
|
3864
|
+
});
|
|
3865
|
+
|
|
3866
|
+
// src/actions/workspaces/get_workspace_quotas.ts
|
|
3867
|
+
import { z as z44 } from "zod";
|
|
3868
|
+
var QuotaMetricSchema = z44.object({
|
|
3869
|
+
limit: z44.number(),
|
|
3870
|
+
remaining: z44.number()
|
|
3871
|
+
}).passthrough();
|
|
3872
|
+
var WorkspaceQuotasSchema = z44.object({
|
|
3873
|
+
vm_slots: QuotaMetricSchema,
|
|
3874
|
+
vcpu: QuotaMetricSchema,
|
|
3875
|
+
memory_mb: QuotaMetricSchema,
|
|
3876
|
+
disk_gb: QuotaMetricSchema
|
|
3877
|
+
}).passthrough();
|
|
3878
|
+
var WorkspaceReservedGpuQuotaSchema = z44.object({
|
|
3879
|
+
gpus: QuotaMetricSchema,
|
|
3880
|
+
in_use: z44.number(),
|
|
3881
|
+
misconfigured: z44.number()
|
|
3882
|
+
}).passthrough();
|
|
3883
|
+
var GetWorkspaceQuotasSchema = z44.object({
|
|
3884
|
+
team_slug: z44.string(),
|
|
3885
|
+
tier: z44.string(),
|
|
3886
|
+
quotas: WorkspaceQuotasSchema,
|
|
3887
|
+
reserved_nodes: QuotaMetricSchema,
|
|
3888
|
+
reserved_gpu: WorkspaceReservedGpuQuotaSchema,
|
|
3889
|
+
as_of: z44.string()
|
|
3890
|
+
}).passthrough();
|
|
3891
|
+
var { action: getWorkspaceQuotas, safeAction: safeGetWorkspaceQuotas } = defineAction(GetWorkspaceQuotasSchema, async (client, request) => {
|
|
3892
|
+
return await client.get(`/workspaces/${request.teamSlug}/quotas`);
|
|
3893
|
+
});
|
|
3894
|
+
|
|
3193
3895
|
// src/actions/cvms/watch_cvm_state.ts
|
|
3194
|
-
import { z as
|
|
3195
|
-
var WatchCvmStateParamsSchema =
|
|
3196
|
-
target:
|
|
3197
|
-
interval:
|
|
3198
|
-
timeout:
|
|
3199
|
-
maxRetries:
|
|
3200
|
-
retryDelay:
|
|
3896
|
+
import { z as z45 } from "zod";
|
|
3897
|
+
var WatchCvmStateParamsSchema = z45.object({
|
|
3898
|
+
target: z45.string().describe("Target status to wait for (e.g., 'running', 'stopped')"),
|
|
3899
|
+
interval: z45.number().min(5).max(30).default(5).describe("Polling interval in seconds"),
|
|
3900
|
+
timeout: z45.number().min(10).max(600).default(300).describe("Timeout per attempt in seconds"),
|
|
3901
|
+
maxRetries: z45.number().min(0).default(Number.POSITIVE_INFINITY).describe("Maximum number of retry attempts (Infinity for unlimited)"),
|
|
3902
|
+
retryDelay: z45.number().min(0).default(5e3).describe("Delay between retries in milliseconds")
|
|
3201
3903
|
});
|
|
3202
3904
|
var WatchCvmStateRequestSchema = WatchCvmStateParamsSchema;
|
|
3203
3905
|
var WatchAbortedError = class extends Error {
|
|
@@ -3384,6 +4086,195 @@ function sleep(ms, signal) {
|
|
|
3384
4086
|
});
|
|
3385
4087
|
}
|
|
3386
4088
|
|
|
4089
|
+
// src/actions/cvms/get_cvm_status_batch.ts
|
|
4090
|
+
import { z as z46 } from "zod";
|
|
4091
|
+
var CvmStatusSchema = z46.object({
|
|
4092
|
+
vm_uuid: z46.string(),
|
|
4093
|
+
status: z46.string(),
|
|
4094
|
+
uptime: z46.string().nullable().optional(),
|
|
4095
|
+
in_progress: z46.boolean(),
|
|
4096
|
+
boot_progress: z46.string().nullable().optional(),
|
|
4097
|
+
boot_error: z46.string().nullable().optional(),
|
|
4098
|
+
operation_type: z46.string().nullable().optional(),
|
|
4099
|
+
operation_started_at: z46.string().nullable().optional(),
|
|
4100
|
+
correlation_id: z46.string().nullable().optional()
|
|
4101
|
+
});
|
|
4102
|
+
var GetCvmStatusBatchResponseSchema = z46.record(z46.string(), CvmStatusSchema);
|
|
4103
|
+
var GetCvmStatusBatchRequestSchema = z46.object({
|
|
4104
|
+
vmUuids: z46.array(z46.string())
|
|
4105
|
+
});
|
|
4106
|
+
var { action: getCvmStatusBatch, safeAction: safeGetCvmStatusBatch } = defineAction(GetCvmStatusBatchResponseSchema, async (client, request) => {
|
|
4107
|
+
const { vmUuids } = GetCvmStatusBatchRequestSchema.parse(request);
|
|
4108
|
+
return await client.post("/status/batch", { vm_uuids: vmUuids });
|
|
4109
|
+
});
|
|
4110
|
+
|
|
4111
|
+
// src/actions/apps/get_app_list.ts
|
|
4112
|
+
import { z as z47 } from "zod";
|
|
4113
|
+
var GetAppListRequestSchema = z47.object({
|
|
4114
|
+
page: z47.number().int().min(1).optional(),
|
|
4115
|
+
page_size: z47.number().int().min(1).max(100).optional(),
|
|
4116
|
+
search: z47.string().optional(),
|
|
4117
|
+
status: z47.array(z47.string()).optional(),
|
|
4118
|
+
listed: z47.boolean().optional(),
|
|
4119
|
+
base_image: z47.string().optional(),
|
|
4120
|
+
instance_type: z47.string().optional(),
|
|
4121
|
+
kms_slug: z47.string().optional(),
|
|
4122
|
+
kms_type: z47.string().optional(),
|
|
4123
|
+
teepod_name: z47.string().optional(),
|
|
4124
|
+
region: z47.string().optional()
|
|
4125
|
+
}).strict();
|
|
4126
|
+
function getSchemaForVersion4(version) {
|
|
4127
|
+
return version === "2025-10-28" ? DstackAppListResponseV20251028Schema : DstackAppListResponseV20260121Schema;
|
|
4128
|
+
}
|
|
4129
|
+
async function getAppList(client, request) {
|
|
4130
|
+
const validatedRequest = GetAppListRequestSchema.parse(request ?? {});
|
|
4131
|
+
const response = await client.get("/apps", { params: validatedRequest });
|
|
4132
|
+
const schema = getSchemaForVersion4(client.config.version);
|
|
4133
|
+
return schema.parse(response);
|
|
4134
|
+
}
|
|
4135
|
+
async function safeGetAppList(client, request) {
|
|
4136
|
+
try {
|
|
4137
|
+
const data = await getAppList(client, request);
|
|
4138
|
+
return { success: true, data };
|
|
4139
|
+
} catch (error) {
|
|
4140
|
+
if (error && typeof error === "object" && ("status" in error || "issues" in error)) {
|
|
4141
|
+
return { success: false, error };
|
|
4142
|
+
}
|
|
4143
|
+
return {
|
|
4144
|
+
success: false,
|
|
4145
|
+
error: {
|
|
4146
|
+
name: "Error",
|
|
4147
|
+
message: error instanceof Error ? error.message : String(error)
|
|
4148
|
+
}
|
|
4149
|
+
};
|
|
4150
|
+
}
|
|
4151
|
+
}
|
|
4152
|
+
|
|
4153
|
+
// src/actions/apps/get_app_info.ts
|
|
4154
|
+
import { z as z48 } from "zod";
|
|
4155
|
+
var GetAppInfoRequestSchema = z48.object({
|
|
4156
|
+
appId: z48.string().min(1)
|
|
4157
|
+
}).strict();
|
|
4158
|
+
function getSchemaForVersion5(version) {
|
|
4159
|
+
return version === "2025-10-28" ? DstackAppWithCvmResponseV20251028Schema : DstackAppWithCvmResponseV20260121Schema;
|
|
4160
|
+
}
|
|
4161
|
+
async function getAppInfo(client, request) {
|
|
4162
|
+
const { appId } = GetAppInfoRequestSchema.parse(request);
|
|
4163
|
+
const response = await client.get(`/apps/${appId}`);
|
|
4164
|
+
const schema = getSchemaForVersion5(client.config.version);
|
|
4165
|
+
return schema.parse(response);
|
|
4166
|
+
}
|
|
4167
|
+
async function safeGetAppInfo(client, request) {
|
|
4168
|
+
try {
|
|
4169
|
+
const data = await getAppInfo(client, request);
|
|
4170
|
+
return { success: true, data };
|
|
4171
|
+
} catch (error) {
|
|
4172
|
+
if (error && typeof error === "object" && ("status" in error || "issues" in error)) {
|
|
4173
|
+
return { success: false, error };
|
|
4174
|
+
}
|
|
4175
|
+
return {
|
|
4176
|
+
success: false,
|
|
4177
|
+
error: {
|
|
4178
|
+
name: "Error",
|
|
4179
|
+
message: error instanceof Error ? error.message : String(error)
|
|
4180
|
+
}
|
|
4181
|
+
};
|
|
4182
|
+
}
|
|
4183
|
+
}
|
|
4184
|
+
|
|
4185
|
+
// src/actions/apps/get_app_cvms.ts
|
|
4186
|
+
import { z as z49 } from "zod";
|
|
4187
|
+
var GetAppCvmsRequestSchema = z49.object({
|
|
4188
|
+
appId: z49.string().min(1)
|
|
4189
|
+
}).strict();
|
|
4190
|
+
function getSchemaForVersion6(version) {
|
|
4191
|
+
return version === "2025-10-28" ? z49.array(CvmInfoV20251028Schema) : z49.array(CvmInfoV20260121Schema);
|
|
4192
|
+
}
|
|
4193
|
+
async function getAppCvms(client, request) {
|
|
4194
|
+
const { appId } = GetAppCvmsRequestSchema.parse(request);
|
|
4195
|
+
const response = await client.get(`/apps/${appId}/cvms`);
|
|
4196
|
+
const schema = getSchemaForVersion6(client.config.version);
|
|
4197
|
+
return schema.parse(response);
|
|
4198
|
+
}
|
|
4199
|
+
async function safeGetAppCvms(client, request) {
|
|
4200
|
+
try {
|
|
4201
|
+
const data = await getAppCvms(client, request);
|
|
4202
|
+
return { success: true, data };
|
|
4203
|
+
} catch (error) {
|
|
4204
|
+
if (error && typeof error === "object" && ("status" in error || "issues" in error)) {
|
|
4205
|
+
return { success: false, error };
|
|
4206
|
+
}
|
|
4207
|
+
return {
|
|
4208
|
+
success: false,
|
|
4209
|
+
error: {
|
|
4210
|
+
name: "Error",
|
|
4211
|
+
message: error instanceof Error ? error.message : String(error)
|
|
4212
|
+
}
|
|
4213
|
+
};
|
|
4214
|
+
}
|
|
4215
|
+
}
|
|
4216
|
+
|
|
4217
|
+
// src/actions/apps/get_app_revisions.ts
|
|
4218
|
+
import { z as z50 } from "zod";
|
|
4219
|
+
var GetAppRevisionsRequestSchema = z50.object({
|
|
4220
|
+
appId: z50.string().min(1),
|
|
4221
|
+
page: z50.number().int().min(1).optional(),
|
|
4222
|
+
page_size: z50.number().int().min(1).max(1e3).optional()
|
|
4223
|
+
}).strict();
|
|
4224
|
+
async function getAppRevisions(client, request) {
|
|
4225
|
+
const { appId, ...params } = GetAppRevisionsRequestSchema.parse(request);
|
|
4226
|
+
const response = await client.get(`/apps/${appId}/revisions`, { params });
|
|
4227
|
+
return AppRevisionsResponseSchema.parse(response);
|
|
4228
|
+
}
|
|
4229
|
+
async function safeGetAppRevisions(client, request) {
|
|
4230
|
+
try {
|
|
4231
|
+
const data = await getAppRevisions(client, request);
|
|
4232
|
+
return { success: true, data };
|
|
4233
|
+
} catch (error) {
|
|
4234
|
+
if (error && typeof error === "object" && ("status" in error || "issues" in error)) {
|
|
4235
|
+
return { success: false, error };
|
|
4236
|
+
}
|
|
4237
|
+
return {
|
|
4238
|
+
success: false,
|
|
4239
|
+
error: {
|
|
4240
|
+
name: "Error",
|
|
4241
|
+
message: error instanceof Error ? error.message : String(error)
|
|
4242
|
+
}
|
|
4243
|
+
};
|
|
4244
|
+
}
|
|
4245
|
+
}
|
|
4246
|
+
|
|
4247
|
+
// src/actions/apps/get_app_revision_detail.ts
|
|
4248
|
+
import { z as z51 } from "zod";
|
|
4249
|
+
var GetAppRevisionDetailRequestSchema = z51.object({
|
|
4250
|
+
appId: z51.string().min(1),
|
|
4251
|
+
composeHash: z51.string().min(1),
|
|
4252
|
+
rawComposeFile: z51.boolean().optional()
|
|
4253
|
+
}).strict();
|
|
4254
|
+
async function getAppRevisionDetail(client, request) {
|
|
4255
|
+
const { appId, composeHash, rawComposeFile } = GetAppRevisionDetailRequestSchema.parse(request);
|
|
4256
|
+
const params = rawComposeFile !== void 0 ? { raw_compose_file: rawComposeFile } : void 0;
|
|
4257
|
+
const response = await client.get(`/apps/${appId}/revisions/${composeHash}`, { params });
|
|
4258
|
+
return AppRevisionDetailResponseSchema.parse(response);
|
|
4259
|
+
}
|
|
4260
|
+
async function safeGetAppRevisionDetail(client, request) {
|
|
4261
|
+
try {
|
|
4262
|
+
const data = await getAppRevisionDetail(client, request);
|
|
4263
|
+
return { success: true, data };
|
|
4264
|
+
} catch (error) {
|
|
4265
|
+
if (error && typeof error === "object" && ("status" in error || "issues" in error)) {
|
|
4266
|
+
return { success: false, error };
|
|
4267
|
+
}
|
|
4268
|
+
return {
|
|
4269
|
+
success: false,
|
|
4270
|
+
error: {
|
|
4271
|
+
name: "Error",
|
|
4272
|
+
message: error instanceof Error ? error.message : String(error)
|
|
4273
|
+
}
|
|
4274
|
+
};
|
|
4275
|
+
}
|
|
4276
|
+
}
|
|
4277
|
+
|
|
3387
4278
|
// src/parse_dotenv.ts
|
|
3388
4279
|
var LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;
|
|
3389
4280
|
function parseEnv(input) {
|
|
@@ -3425,33 +4316,65 @@ export {
|
|
|
3425
4316
|
AddComposeHashSchema,
|
|
3426
4317
|
AllFamiliesResponseSchema,
|
|
3427
4318
|
ApiErrorSchema,
|
|
4319
|
+
AppRevisionDetailResponseSchema,
|
|
4320
|
+
AppRevisionResponseSchema,
|
|
4321
|
+
AppRevisionsResponseSchema,
|
|
3428
4322
|
AuthError,
|
|
4323
|
+
CurrentUserV20260121Schema as AuthResponseSchema,
|
|
3429
4324
|
AvailableNodesSchema,
|
|
4325
|
+
BillingPeriodSchema,
|
|
3430
4326
|
BusinessError,
|
|
3431
4327
|
CommitCvmComposeFileUpdateRequestSchema,
|
|
3432
4328
|
CommitCvmComposeFileUpdateSchema,
|
|
3433
4329
|
CommitCvmProvisionRequestSchema,
|
|
3434
4330
|
CommitCvmProvisionSchema,
|
|
3435
|
-
|
|
4331
|
+
CreditsInfoSchema,
|
|
4332
|
+
CurrentUserV20251028Schema as CurrentUserSchema,
|
|
4333
|
+
CurrentUserV20251028Schema,
|
|
4334
|
+
CurrentUserV20260121Schema,
|
|
3436
4335
|
CvmAttestationSchema,
|
|
4336
|
+
CvmBasicInfoV20251028Schema,
|
|
3437
4337
|
CvmContainersStatsSchema,
|
|
4338
|
+
CvmDetailV20251028Schema,
|
|
4339
|
+
CvmGatewayInfoV20260121Schema,
|
|
3438
4340
|
CvmIdBaseSchema,
|
|
3439
4341
|
CvmIdObjectSchema,
|
|
3440
4342
|
CvmIdSchema,
|
|
3441
|
-
|
|
3442
|
-
|
|
4343
|
+
CvmInfoDetailV20260121Schema,
|
|
4344
|
+
CvmInfoV20251028Schema,
|
|
4345
|
+
CvmInfoV20260121Schema,
|
|
4346
|
+
CvmKmsInfoV20260121Schema,
|
|
3443
4347
|
CvmNetworkSchema,
|
|
3444
|
-
|
|
3445
|
-
|
|
4348
|
+
CvmNetworkUrlsV20251028Schema,
|
|
4349
|
+
CvmNodeInfoV20260121Schema,
|
|
4350
|
+
CvmNodeV20251028Schema,
|
|
4351
|
+
CvmOsInfoV20260121Schema,
|
|
4352
|
+
CvmProgressInfoV20260121Schema,
|
|
4353
|
+
CvmRefSchema,
|
|
4354
|
+
CvmResourceInfoV20260121Schema,
|
|
3446
4355
|
CvmStateSchema,
|
|
4356
|
+
CvmStatusSchema,
|
|
3447
4357
|
CvmSystemInfoSchema,
|
|
3448
4358
|
DeleteCvmRequestSchema,
|
|
3449
4359
|
DeployAppAuthRequestSchema,
|
|
3450
4360
|
DeployAppAuthSchema,
|
|
4361
|
+
DstackAppFullResponseV20251028Schema,
|
|
4362
|
+
DstackAppFullResponseV20260121Schema,
|
|
4363
|
+
DstackAppListResponseV20251028Schema,
|
|
4364
|
+
DstackAppListResponseV20260121Schema,
|
|
4365
|
+
DstackAppMinimalResponseV20251028Schema,
|
|
4366
|
+
DstackAppMinimalResponseV20260121Schema,
|
|
4367
|
+
DstackAppWithCvmResponseV20251028Schema,
|
|
4368
|
+
DstackAppWithCvmResponseV20260121Schema,
|
|
3451
4369
|
FamilyGroupSchema,
|
|
3452
4370
|
FamilyInstanceTypesResponseSchema,
|
|
4371
|
+
GetAppCvmsRequestSchema,
|
|
3453
4372
|
GetAppEnvEncryptPubKeyRequestSchema,
|
|
3454
4373
|
GetAppEnvEncryptPubKeySchema,
|
|
4374
|
+
GetAppInfoRequestSchema,
|
|
4375
|
+
GetAppListRequestSchema,
|
|
4376
|
+
GetAppRevisionDetailRequestSchema,
|
|
4377
|
+
GetAppRevisionsRequestSchema,
|
|
3455
4378
|
GetAvailableOSImagesRequestSchema,
|
|
3456
4379
|
GetAvailableOSImagesResponseSchema,
|
|
3457
4380
|
GetCvmAttestationRequestSchema,
|
|
@@ -3460,29 +4383,40 @@ export {
|
|
|
3460
4383
|
GetCvmDockerComposeRequestSchema,
|
|
3461
4384
|
GetCvmInfoRequestSchema,
|
|
3462
4385
|
GetCvmListRequestSchema,
|
|
3463
|
-
GetCvmListSchema,
|
|
3464
4386
|
GetCvmNetworkRequestSchema,
|
|
4387
|
+
GetCvmPreLaunchScriptRequestSchema,
|
|
3465
4388
|
GetCvmStateRequestSchema,
|
|
3466
4389
|
GetCvmStatsRequestSchema,
|
|
4390
|
+
GetCvmStatusBatchRequestSchema,
|
|
4391
|
+
GetCvmStatusBatchResponseSchema,
|
|
3467
4392
|
GetKmsInfoRequestSchema,
|
|
3468
4393
|
GetKmsListRequestSchema,
|
|
3469
4394
|
GetKmsListSchema,
|
|
4395
|
+
GetWorkspaceNodesSchema,
|
|
4396
|
+
GetWorkspaceQuotasSchema,
|
|
3470
4397
|
InstanceTypeSchema,
|
|
3471
4398
|
KmsInfoSchema,
|
|
4399
|
+
KmsTypeSchema,
|
|
3472
4400
|
ListFamilyInstanceTypesRequestSchema,
|
|
3473
4401
|
ListWorkspacesSchema,
|
|
3474
|
-
|
|
4402
|
+
MachineInfoV20251028Schema,
|
|
4403
|
+
ManagedUserV20251028Schema,
|
|
3475
4404
|
MaxRetriesExceededError,
|
|
3476
4405
|
NetworkError,
|
|
3477
4406
|
NextAppIdsRequestSchema,
|
|
3478
4407
|
NextAppIdsSchema,
|
|
4408
|
+
NodeInfoSchema,
|
|
4409
|
+
NodeRefSchema,
|
|
3479
4410
|
OSImageVariantSchema,
|
|
4411
|
+
PaginatedCvmInfosV20251028Schema,
|
|
4412
|
+
PaginatedCvmInfosV20260121Schema,
|
|
3480
4413
|
PaginationMetadataSchema,
|
|
3481
4414
|
PhalaCloudError,
|
|
3482
4415
|
ProvisionCvmComposeFileUpdateRequestSchema,
|
|
3483
4416
|
ProvisionCvmComposeFileUpdateResultSchema,
|
|
3484
4417
|
ProvisionCvmRequestSchema,
|
|
3485
4418
|
ProvisionCvmSchema,
|
|
4419
|
+
QuotaMetricSchema,
|
|
3486
4420
|
RequestError,
|
|
3487
4421
|
ResourceError,
|
|
3488
4422
|
RestartCvmRequestSchema,
|
|
@@ -3498,13 +4432,23 @@ export {
|
|
|
3498
4432
|
UpdateCvmEnvsResultSchema,
|
|
3499
4433
|
UpdateCvmResourcesRequestSchema,
|
|
3500
4434
|
UpdateCvmVisibilityRequestSchema,
|
|
4435
|
+
UpdateDockerComposeRequestSchema,
|
|
4436
|
+
UpdateDockerComposeResultSchema,
|
|
3501
4437
|
UpdateOsImageRequestSchema,
|
|
4438
|
+
UpdatePreLaunchScriptRequestSchema,
|
|
4439
|
+
UpdatePreLaunchScriptResultSchema,
|
|
4440
|
+
UserInfoSchema,
|
|
4441
|
+
UserRefSchema,
|
|
3502
4442
|
VMSchema,
|
|
3503
4443
|
ValidationError,
|
|
3504
|
-
|
|
4444
|
+
VmInfoV20251028Schema,
|
|
3505
4445
|
WalletError,
|
|
3506
4446
|
WatchAbortedError,
|
|
3507
4447
|
WatchCvmStateRequestSchema,
|
|
4448
|
+
WorkspaceInfoSchema,
|
|
4449
|
+
WorkspaceQuotasSchema,
|
|
4450
|
+
WorkspaceRefSchema,
|
|
4451
|
+
WorkspaceReservedGpuQuotaSchema,
|
|
3508
4452
|
WorkspaceResponseSchema,
|
|
3509
4453
|
addComposeHash,
|
|
3510
4454
|
addNetwork,
|
|
@@ -3514,6 +4458,7 @@ export {
|
|
|
3514
4458
|
checkNetworkStatus,
|
|
3515
4459
|
commitCvmComposeFileUpdate,
|
|
3516
4460
|
commitCvmProvision,
|
|
4461
|
+
convertToHostname,
|
|
3517
4462
|
createClient as createBaseClient,
|
|
3518
4463
|
createClient2 as createClient,
|
|
3519
4464
|
createClientsFromBrowser,
|
|
@@ -3534,7 +4479,14 @@ export {
|
|
|
3534
4479
|
formatErrorMessage,
|
|
3535
4480
|
formatStructuredError,
|
|
3536
4481
|
formatValidationErrors,
|
|
4482
|
+
generateDefaultCvmName,
|
|
4483
|
+
generateFallbackHostname,
|
|
4484
|
+
getAppCvms,
|
|
3537
4485
|
getAppEnvEncryptPubKey,
|
|
4486
|
+
getAppInfo,
|
|
4487
|
+
getAppList,
|
|
4488
|
+
getAppRevisionDetail,
|
|
4489
|
+
getAppRevisions,
|
|
3538
4490
|
getAvailableNodes,
|
|
3539
4491
|
getAvailableOsImages,
|
|
3540
4492
|
getComposeHash2 as getComposeHash,
|
|
@@ -3546,13 +4498,18 @@ export {
|
|
|
3546
4498
|
getCvmInfo,
|
|
3547
4499
|
getCvmList,
|
|
3548
4500
|
getCvmNetwork,
|
|
4501
|
+
getCvmPreLaunchScript,
|
|
3549
4502
|
getCvmState,
|
|
3550
4503
|
getCvmStats,
|
|
4504
|
+
getCvmStatusBatch,
|
|
3551
4505
|
getErrorMessage,
|
|
3552
4506
|
getKmsInfo,
|
|
3553
4507
|
getKmsList,
|
|
3554
4508
|
getValidationFields,
|
|
3555
4509
|
getWorkspace,
|
|
4510
|
+
getWorkspaceNodes,
|
|
4511
|
+
getWorkspaceQuotas,
|
|
4512
|
+
isValidHostname,
|
|
3556
4513
|
listAllInstanceTypeFamilies,
|
|
3557
4514
|
listFamilyInstanceTypes,
|
|
3558
4515
|
listWorkspaces,
|
|
@@ -3570,7 +4527,12 @@ export {
|
|
|
3570
4527
|
safeCommitCvmProvision,
|
|
3571
4528
|
safeDeleteCvm,
|
|
3572
4529
|
safeDeployAppAuth,
|
|
4530
|
+
safeGetAppCvms,
|
|
3573
4531
|
safeGetAppEnvEncryptPubKey,
|
|
4532
|
+
safeGetAppInfo,
|
|
4533
|
+
safeGetAppList,
|
|
4534
|
+
safeGetAppRevisionDetail,
|
|
4535
|
+
safeGetAppRevisions,
|
|
3574
4536
|
safeGetAvailableNodes,
|
|
3575
4537
|
safeGetAvailableOsImages,
|
|
3576
4538
|
safeGetCurrentUser,
|
|
@@ -3581,11 +4543,15 @@ export {
|
|
|
3581
4543
|
safeGetCvmInfo,
|
|
3582
4544
|
safeGetCvmList,
|
|
3583
4545
|
safeGetCvmNetwork,
|
|
4546
|
+
safeGetCvmPreLaunchScript,
|
|
3584
4547
|
safeGetCvmState,
|
|
3585
4548
|
safeGetCvmStats,
|
|
4549
|
+
safeGetCvmStatusBatch,
|
|
3586
4550
|
safeGetKmsInfo,
|
|
3587
4551
|
safeGetKmsList,
|
|
3588
4552
|
safeGetWorkspace,
|
|
4553
|
+
safeGetWorkspaceNodes,
|
|
4554
|
+
safeGetWorkspaceQuotas,
|
|
3589
4555
|
safeListAllInstanceTypeFamilies,
|
|
3590
4556
|
safeListFamilyInstanceTypes,
|
|
3591
4557
|
safeListWorkspaces,
|
|
@@ -3599,7 +4565,9 @@ export {
|
|
|
3599
4565
|
safeUpdateCvmEnvs,
|
|
3600
4566
|
safeUpdateCvmResources,
|
|
3601
4567
|
safeUpdateCvmVisibility,
|
|
4568
|
+
safeUpdateDockerCompose,
|
|
3602
4569
|
safeUpdateOsImage,
|
|
4570
|
+
safeUpdatePreLaunchScript,
|
|
3603
4571
|
safeValidateActionParameters,
|
|
3604
4572
|
shutdownCvm,
|
|
3605
4573
|
sortObject,
|
|
@@ -3609,7 +4577,9 @@ export {
|
|
|
3609
4577
|
updateCvmEnvs,
|
|
3610
4578
|
updateCvmResources,
|
|
3611
4579
|
updateCvmVisibility,
|
|
4580
|
+
updateDockerCompose,
|
|
3612
4581
|
updateOsImage,
|
|
4582
|
+
updatePreLaunchScript,
|
|
3613
4583
|
validateActionParameters,
|
|
3614
4584
|
validateNetworkPrerequisites,
|
|
3615
4585
|
verifyEnvEncryptPublicKey,
|