@blaxel/core 0.3.13 → 0.3.18-dev.283
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/.tsbuildinfo +1 -1
- package/dist/cjs/client/sdk.gen.js +105 -3
- package/dist/cjs/common/settings.js +28 -3
- package/dist/cjs/common/settings.test.js +50 -0
- package/dist/cjs/common/shell.js +18 -0
- package/dist/cjs/sandbox/filesystem/filesystem.js +31 -11
- package/dist/cjs/sandbox/filesystem/filesystem.test.js +207 -2
- package/dist/cjs/sandbox/sandbox.js +124 -0
- package/dist/cjs/types/client/sdk.gen.d.ts +31 -1
- package/dist/cjs/types/client/types.gen.d.ts +368 -7
- package/dist/cjs/types/common/settings.d.ts +15 -0
- package/dist/cjs/types/common/shell.d.ts +13 -0
- package/dist/cjs/types/sandbox/sandbox.d.ts +56 -1
- package/dist/cjs/types/sandbox/schedule.d.ts +2 -2
- package/dist/cjs-browser/.tsbuildinfo +1 -1
- package/dist/cjs-browser/client/sdk.gen.js +105 -3
- package/dist/cjs-browser/common/settings.js +28 -3
- package/dist/cjs-browser/common/settings.test.js +50 -0
- package/dist/cjs-browser/common/shell.js +18 -0
- package/dist/cjs-browser/sandbox/filesystem/filesystem.js +31 -11
- package/dist/cjs-browser/sandbox/filesystem/filesystem.test.js +207 -2
- package/dist/cjs-browser/sandbox/sandbox.js +124 -0
- package/dist/cjs-browser/types/client/sdk.gen.d.ts +31 -1
- package/dist/cjs-browser/types/client/types.gen.d.ts +368 -7
- package/dist/cjs-browser/types/common/settings.d.ts +15 -0
- package/dist/cjs-browser/types/common/shell.d.ts +13 -0
- package/dist/cjs-browser/types/sandbox/sandbox.d.ts +56 -1
- package/dist/cjs-browser/types/sandbox/schedule.d.ts +2 -2
- package/dist/esm/.tsbuildinfo +1 -1
- package/dist/esm/client/sdk.gen.js +96 -0
- package/dist/esm/common/settings.js +28 -3
- package/dist/esm/common/settings.test.js +50 -0
- package/dist/esm/common/shell.js +15 -0
- package/dist/esm/sandbox/filesystem/filesystem.js +31 -11
- package/dist/esm/sandbox/filesystem/filesystem.test.js +208 -3
- package/dist/esm/sandbox/sandbox.js +125 -1
- package/dist/esm-browser/.tsbuildinfo +1 -1
- package/dist/esm-browser/client/sdk.gen.js +96 -0
- package/dist/esm-browser/common/settings.js +28 -3
- package/dist/esm-browser/common/settings.test.js +50 -0
- package/dist/esm-browser/common/shell.js +15 -0
- package/dist/esm-browser/sandbox/filesystem/filesystem.js +31 -11
- package/dist/esm-browser/sandbox/filesystem/filesystem.test.js +208 -3
- package/dist/esm-browser/sandbox/sandbox.js +125 -1
- package/package.json +1 -1
|
@@ -67,6 +67,23 @@ const TRANSIENT_SANDBOX_STATUSES = new Set([
|
|
|
67
67
|
]);
|
|
68
68
|
const TRANSIENT_STATUS_MAX_WAIT_MS = 30_000;
|
|
69
69
|
const TRANSIENT_STATUS_POLL_MS = 500;
|
|
70
|
+
// Archiving a filesystem, and restoring it, take as long as that filesystem is
|
|
71
|
+
// big — minutes for a few gigabytes.
|
|
72
|
+
const ARCHIVE_MAX_WAIT_MS = 1_800_000;
|
|
73
|
+
const ARCHIVE_WAIT_POLL_MS = 2_000;
|
|
74
|
+
// An archive is done when the sandbox is ARCHIVED; it is still under way while
|
|
75
|
+
// the record holds one of these.
|
|
76
|
+
const ARCHIVING_STATUSES = new Set(["ARCHIVING"]);
|
|
77
|
+
// A restore is done when the sandbox is DEPLOYED again; the instance is recreated
|
|
78
|
+
// before the archived filesystem is written back over its image.
|
|
79
|
+
const UNARCHIVING_STATUSES = new Set(["UNARCHIVING", "DEPLOYING", "BUILDING", "UPLOADING"]);
|
|
80
|
+
// The status the sandbox holds before the operation moves it, tolerated only
|
|
81
|
+
// while the operation is starting: an archive that fails hands the sandbox back
|
|
82
|
+
// as DEPLOYED and a restore that fails leaves it ARCHIVED, so reading the entry
|
|
83
|
+
// status once the operation has begun means it is over, not still running.
|
|
84
|
+
const ARCHIVE_ENTRY_STATUS = "DEPLOYED";
|
|
85
|
+
const UNARCHIVE_ENTRY_STATUS = "ARCHIVED";
|
|
86
|
+
const ARCHIVE_ENTRY_MAX_WAIT_MS = 30_000;
|
|
70
87
|
// A create that outlives the edge's 60s origin-read timeout gets a 504 from
|
|
71
88
|
// CloudFront while the control plane keeps deploying the sandbox for up to
|
|
72
89
|
// 300s (ENG-3662 timeout ladder inversion). The 504 body is edge HTML with no
|
|
@@ -206,6 +223,24 @@ class SandboxInstance {
|
|
|
206
223
|
throwOnError: true,
|
|
207
224
|
});
|
|
208
225
|
}
|
|
226
|
+
/**
|
|
227
|
+
* Restore this sandbox to one of its own snapshots. The sandbox keeps its
|
|
228
|
+
* name, its URLs and its previews: the running instance is torn down and
|
|
229
|
+
* rebuilt from the snapshot, so everything written since it was taken is
|
|
230
|
+
* lost unless it was snapshotted too.
|
|
231
|
+
*
|
|
232
|
+
* The restore is asked for without waiting on the guest, the same way a fork
|
|
233
|
+
* is: connections to a sandbox still resuming are retried by the gateway.
|
|
234
|
+
*
|
|
235
|
+
* @param snapshotId - ID of the snapshot to restore this sandbox to.
|
|
236
|
+
*/
|
|
237
|
+
async restore(snapshotId) {
|
|
238
|
+
const { data } = await (0, index_js_1.restoreSandboxSnapshot)({
|
|
239
|
+
path: { sandboxName: this.metadata.name, snapshotId },
|
|
240
|
+
throwOnError: true,
|
|
241
|
+
});
|
|
242
|
+
return data;
|
|
243
|
+
}
|
|
209
244
|
/**
|
|
210
245
|
* Fork this sandbox into a new sandbox or application.
|
|
211
246
|
*
|
|
@@ -354,6 +389,95 @@ class SandboxInstance {
|
|
|
354
389
|
}
|
|
355
390
|
return instance;
|
|
356
391
|
}
|
|
392
|
+
/**
|
|
393
|
+
* Archive a sandbox: keep its filesystem, stop the sandbox.
|
|
394
|
+
*
|
|
395
|
+
* The filesystem changes made over the image are exported to the archive store
|
|
396
|
+
* and the sandbox is shut down; memory and running processes are lost, and the
|
|
397
|
+
* saved processes start again from their configuration when the sandbox is
|
|
398
|
+
* unarchived. The export runs in the background: this waits until the sandbox
|
|
399
|
+
* is ARCHIVED, pass `{ wait: false }` to return as soon as it is launched.
|
|
400
|
+
*/
|
|
401
|
+
static async archive(sandboxName, options = {}) {
|
|
402
|
+
const { data } = await (0, index_js_1.archiveSandbox)({
|
|
403
|
+
path: { sandboxName },
|
|
404
|
+
throwOnError: true,
|
|
405
|
+
});
|
|
406
|
+
return SandboxInstance.waitForArchiveStatus(sandboxName, data, "ARCHIVED", ARCHIVING_STATUSES, ARCHIVE_ENTRY_STATUS, "archive", options);
|
|
407
|
+
}
|
|
408
|
+
/**
|
|
409
|
+
* Archive this sandbox: keep its filesystem, stop the sandbox.
|
|
410
|
+
*
|
|
411
|
+
* @see SandboxInstance.archive
|
|
412
|
+
*/
|
|
413
|
+
async archive(options = {}) {
|
|
414
|
+
const instance = await SandboxInstance.archive(this.metadata.name, options);
|
|
415
|
+
this.refreshFrom(instance);
|
|
416
|
+
return this;
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* Recreate an archived sandbox from its archive.
|
|
420
|
+
*
|
|
421
|
+
* The sandbox is started again from its image, and the archived filesystem is
|
|
422
|
+
* written back over it. The sandbox answers, and its terminal is reachable, while the archived
|
|
423
|
+
* filesystem is written back over its image. This waits until the restore is
|
|
424
|
+
* done and the saved processes are running again; pass `{ wait: false }` to
|
|
425
|
+
* return while the sandbox is still UNARCHIVING.
|
|
426
|
+
*/
|
|
427
|
+
static async unarchive(sandboxName, options = {}) {
|
|
428
|
+
const { data } = await (0, index_js_1.unarchiveSandbox)({
|
|
429
|
+
path: { sandboxName },
|
|
430
|
+
throwOnError: true,
|
|
431
|
+
});
|
|
432
|
+
return SandboxInstance.waitForArchiveStatus(sandboxName, data, "DEPLOYED", UNARCHIVING_STATUSES, UNARCHIVE_ENTRY_STATUS, "unarchive", options);
|
|
433
|
+
}
|
|
434
|
+
/**
|
|
435
|
+
* Recreate this sandbox from its archive.
|
|
436
|
+
*
|
|
437
|
+
* @see SandboxInstance.unarchive
|
|
438
|
+
*/
|
|
439
|
+
async unarchive(options = {}) {
|
|
440
|
+
const instance = await SandboxInstance.unarchive(this.metadata.name, options);
|
|
441
|
+
this.refreshFrom(instance);
|
|
442
|
+
return this;
|
|
443
|
+
}
|
|
444
|
+
// The subsystems (fs, process, previews, ...) hold the configuration object
|
|
445
|
+
// this instance was built with, so a refresh writes into it rather than
|
|
446
|
+
// replacing it. Anything the read did not carry, the forced URL of a session
|
|
447
|
+
// above all, is kept.
|
|
448
|
+
refreshFrom(instance) {
|
|
449
|
+
Object.assign(this.sandbox, instance.sandbox);
|
|
450
|
+
}
|
|
451
|
+
static async waitForArchiveStatus(sandboxName, launched, target, pending, entry, action, { wait = true, maxWait = ARCHIVE_MAX_WAIT_MS, interval = ARCHIVE_WAIT_POLL_MS }) {
|
|
452
|
+
if (!wait || launched.status === target) {
|
|
453
|
+
return SandboxInstance.attachH2Session(new SandboxInstance(launched));
|
|
454
|
+
}
|
|
455
|
+
const deadline = Date.now() + maxWait;
|
|
456
|
+
// The status the sandbox is given back at is tolerated while the operation
|
|
457
|
+
// turns into a status change, but never past the wait the caller asked for.
|
|
458
|
+
const entryDeadline = Date.now() + Math.min(ARCHIVE_ENTRY_MAX_WAIT_MS, maxWait);
|
|
459
|
+
let started = false;
|
|
460
|
+
for (;;) {
|
|
461
|
+
await new Promise((resolve) => setTimeout(resolve, interval));
|
|
462
|
+
const instance = await SandboxInstance.get(sandboxName);
|
|
463
|
+
const status = instance.status;
|
|
464
|
+
if (status === target) {
|
|
465
|
+
return instance;
|
|
466
|
+
}
|
|
467
|
+
if (pending.has(status ?? "")) {
|
|
468
|
+
started = true;
|
|
469
|
+
}
|
|
470
|
+
else if (status === entry && !started && Date.now() < entryDeadline) {
|
|
471
|
+
continue;
|
|
472
|
+
}
|
|
473
|
+
if (!pending.has(status ?? "")) {
|
|
474
|
+
throw new Error(`Sandbox ${sandboxName} is ${status} while it should ${action}`);
|
|
475
|
+
}
|
|
476
|
+
if (Date.now() >= deadline) {
|
|
477
|
+
throw new Error(`Sandbox ${sandboxName} is still ${status} after waiting ${Math.round(maxWait / 1000)}s for it to ${action}`);
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
}
|
|
357
481
|
static async get(sandboxName) {
|
|
358
482
|
const { data } = await (0, index_js_1.getSandbox)({
|
|
359
483
|
path: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch';
|
|
2
|
-
import type { ListAgentsData, CreateAgentData, DeleteAgentData, GetAgentData, UpdateAgentData, ListAgentRevisionsData, ListApplicationsData, CreateApplicationData, DeleteApplicationData, GetApplicationData, UpdateApplicationData, CreateApplicationCustomDomainData, ListApplicationRevisionsData, GetChangelogData, GetConfigurationData, ListCustomDomainsData, CreateCustomDomainData, DeleteCustomDomainData, GetCustomDomainData, UpdateCustomDomainData, ListCustomDomainSharesData, ShareCustomDomainData, UnshareCustomDomainData, VerifyCustomDomainData, ListDrivesData, CreateDriveData, DeleteDriveData, GetDriveData, UpdateDriveData, CreateDriveAccessTokenData, GetDriveByExternalIdData, GetDriveJwksData, ListAllEgressGatewaysData, GetEgressGatewayUsageData, ListAllEgressIpsData, GetWorkspaceFeaturesData, TestFeatureFlagData, ListFunctionsData, CreateFunctionData, DeleteFunctionData, GetFunctionData, UpdateFunctionData, ListFunctionRevisionsData, CleanupImagesData, ListImagesData, CreateImageData, DeleteImageData, GetImageData, ListImageSharesData, ShareImageData, ShareImageResponse, UnshareImageData, DeleteImageTagData, GetIntegrationData, ListIntegrationConnectionsData, CreateIntegrationConnectionData, DeleteIntegrationConnectionData, GetIntegrationConnectionData, UpdateIntegrationConnectionData, GetIntegrationConnectionModelEndpointConfigurationsData, ListIntegrationConnectionModelsData, GetIntegrationConnectionModelData, ListJobsData, CreateJobData, DeleteJobData, GetJobData, UpdateJobData, ListJobExecutionsData, CreateJobExecutionData, DeleteJobExecutionData, GetJobExecutionData, ListJobExecutionTasksData, ListJobRevisionsData, ListLocationsData, ListMcpHubDefinitionsData, ListModelsData, CreateModelData, DeleteModelData, GetModelData, UpdateModelData, ListModelRevisionsData, ListPendingImageSharesData, AcceptImageShareData, DeclineImageShareData, ListPoliciesData, CreatePolicyData, DeletePolicyData, GetPolicyData, UpdatePolicyData, GetPolicyUsagesData, ListPublicIpsData, ListSandboxHubDefinitionsData, ListSandboxesData, CreateSandboxData, DeleteSandboxData, GetSandboxData, UpdateSandboxData, ForkSandboxData, ListSandboxPreviewsData, CreateSandboxPreviewData, DeleteSandboxPreviewData, GetSandboxPreviewData, UpdateSandboxPreviewData, ListSandboxPreviewTokensData, CreateSandboxPreviewTokenData, DeleteSandboxPreviewTokenData, ListSandboxScheduleExecutionsData, ListSandboxSchedulesData, CreateSandboxScheduleData, DeleteSandboxScheduleData, GetSandboxScheduleData, UpdateSandboxScheduleData, ListSandboxSnapshotsData, CreateSandboxSnapshotData, DeleteSandboxSnapshotData, GetSandboxByExternalIdData, GetWorkspaceServiceAccountsData, CreateWorkspaceServiceAccountData, DeleteWorkspaceServiceAccountData, UpdateWorkspaceServiceAccountData, ListApiKeysForServiceAccountData, CreateApiKeyForServiceAccountData, DeleteApiKeyForServiceAccountData, ListTemplatesData, GetTemplateData, ListWorkspaceUsersData, InviteWorkspaceUserData, RemoveWorkspaceUserData, UpdateWorkspaceUserRoleData, ListVolumeTemplatesData, CreateVolumeTemplateData, DeleteVolumeTemplateData, GetVolumeTemplateData, UpdateVolumeTemplateData, DeleteVolumeTemplateVersionData, ListVolumesData, CreateVolumeData, DeleteVolumeData, GetVolumeData, UpdateVolumeData, GetVolumeByExternalIdData, ListVpcsData, CreateVpcData, DeleteVpcData, GetVpcData, ListEgressGatewaysData, CreateEgressGatewayData, DeleteEgressGatewayData, GetEgressGatewayData, ListEgressIpsData, CreateEgressIpData, DeleteEgressIpData, GetEgressIpData, ListWorkspacesData, CreateWorkspaceData, DeleteWorkspaceData, GetWorkspaceData, UpdateWorkspaceData, LeaveWorkspaceData, CheckWorkspaceAvailabilityData } from './types.gen.js';
|
|
2
|
+
import type { ListAgentsData, CreateAgentData, DeleteAgentData, GetAgentData, UpdateAgentData, ListAgentRevisionsData, ListApplicationsData, CreateApplicationData, DeleteApplicationData, GetApplicationData, UpdateApplicationData, CreateApplicationCustomDomainData, ListApplicationRevisionsData, GetChangelogData, GetConfigurationData, ListCustomDomainsData, CreateCustomDomainData, DeleteCustomDomainData, GetCustomDomainData, UpdateCustomDomainData, ListCustomDomainSharesData, ShareCustomDomainData, UnshareCustomDomainData, VerifyCustomDomainData, ListDrivesData, CreateDriveData, DeleteDriveData, GetDriveData, UpdateDriveData, CreateDriveAccessTokenData, GetDriveByExternalIdData, GetDriveJwksData, ListAllEgressGatewaysData, GetEgressGatewayUsageData, ListAllEgressIpsData, GetWorkspaceFeaturesData, TestFeatureFlagData, ListFunctionsData, CreateFunctionData, DeleteFunctionData, GetFunctionData, UpdateFunctionData, ListFunctionRevisionsData, CleanupImagesData, ListImagesData, CreateImageData, DeleteImageData, GetImageData, ListImageSharesData, ShareImageData, ShareImageResponse, UnshareImageData, DeleteImageTagData, GetIntegrationData, ListIntegrationConnectionsData, CreateIntegrationConnectionData, DeleteIntegrationConnectionData, GetIntegrationConnectionData, UpdateIntegrationConnectionData, GetIntegrationConnectionModelEndpointConfigurationsData, ListIntegrationConnectionModelsData, GetIntegrationConnectionModelData, ListJobsData, CreateJobData, DeleteJobData, GetJobData, UpdateJobData, ListJobExecutionsData, CreateJobExecutionData, DeleteJobExecutionData, GetJobExecutionData, ListJobExecutionTasksData, ListJobRevisionsData, ListLocationsData, ListMcpHubDefinitionsData, ListModelsData, CreateModelData, DeleteModelData, GetModelData, UpdateModelData, ListModelRevisionsData, ListPendingImageSharesData, AcceptImageShareData, DeclineImageShareData, ListPoliciesData, CreatePolicyData, DeletePolicyData, GetPolicyData, UpdatePolicyData, GetPolicyUsagesData, ListPublicIpsData, ListSandboxHubDefinitionsData, ListSandboxesData, CreateSandboxData, DeleteSandboxData, GetSandboxData, UpdateSandboxData, ArchiveSandboxData, ForkSandboxData, ListSandboxPreviewsData, CreateSandboxPreviewData, DeleteSandboxPreviewData, GetSandboxPreviewData, UpdateSandboxPreviewData, ListSandboxPreviewTokensData, CreateSandboxPreviewTokenData, DeleteSandboxPreviewTokenData, ListSandboxScheduleExecutionsData, ListSandboxSchedulesData, CreateSandboxScheduleData, DeleteSandboxScheduleData, GetSandboxScheduleData, UpdateSandboxScheduleData, ListSandboxSnapshotsData, CreateSandboxSnapshotData, DeleteSandboxSnapshotData, RestoreSandboxSnapshotData, UnarchiveSandboxData, GetSandboxByExternalIdData, ListScheduleExecutionsData, ListSchedulesData, GetSandboxScheduleMetricsData, GetWorkspaceServiceAccountsData, CreateWorkspaceServiceAccountData, DeleteWorkspaceServiceAccountData, UpdateWorkspaceServiceAccountData, ListApiKeysForServiceAccountData, CreateApiKeyForServiceAccountData, DeleteApiKeyForServiceAccountData, ListTemplatesData, GetTemplateData, ListWorkspaceUsersData, InviteWorkspaceUserData, RemoveWorkspaceUserData, UpdateWorkspaceUserRoleData, ListVolumeTemplatesData, CreateVolumeTemplateData, DeleteVolumeTemplateData, GetVolumeTemplateData, UpdateVolumeTemplateData, DeleteVolumeTemplateVersionData, ListVolumesData, CreateVolumeData, DeleteVolumeData, GetVolumeData, UpdateVolumeData, GetVolumeByExternalIdData, ListVpcsData, CreateVpcData, DeleteVpcData, GetVpcData, ListEgressGatewaysData, CreateEgressGatewayData, DeleteEgressGatewayData, GetEgressGatewayData, ListEgressIpsData, CreateEgressIpData, DeleteEgressIpData, GetEgressIpData, ListWorkspacesData, CreateWorkspaceData, DeleteWorkspaceData, GetWorkspaceData, UpdateWorkspaceData, LeaveWorkspaceData, CheckWorkspaceAvailabilityData } from './types.gen.js';
|
|
3
3
|
export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = ClientOptions<TData, ThrowOnError> & {
|
|
4
4
|
/**
|
|
5
5
|
* You can provide a client instance returned by `createClient()` instead of
|
|
@@ -516,6 +516,11 @@ export declare const getSandbox: <ThrowOnError extends boolean = false>(options:
|
|
|
516
516
|
* Updates a sandbox's configuration. Note that certain changes (like image or memory) may reset the sandbox state. Use lifecycle policies to control automatic cleanup.
|
|
517
517
|
*/
|
|
518
518
|
export declare const updateSandbox: <ThrowOnError extends boolean = false>(options: Options<UpdateSandboxData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen.js").Sandbox, import("./types.gen.js")._Error, ThrowOnError>;
|
|
519
|
+
/**
|
|
520
|
+
* Archive sandbox
|
|
521
|
+
* Archives a sandbox. The changes its filesystem accumulated over its image are exported to the archive store, then the sandbox is shut down while its definition is kept, so it can be recreated later with the same disk. Memory and running processes are not preserved, processes are started again from their configuration when the sandbox is unarchived.
|
|
522
|
+
*/
|
|
523
|
+
export declare const archiveSandbox: <ThrowOnError extends boolean = false>(options: Options<ArchiveSandboxData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen.js").Sandbox, import("./types.gen.js")._Error, ThrowOnError>;
|
|
519
524
|
/**
|
|
520
525
|
* Fork sandbox
|
|
521
526
|
* Forks a sandbox into a new sandbox or application. When forking to a sandbox, the target must not already exist (409 if it does). When forking to an application, a new revision is added if the app already exists, or a new application is created. This is a WIP endpoint — the full implementation depends on the execution plane.
|
|
@@ -608,11 +613,36 @@ export declare const createSandboxSnapshot: <ThrowOnError extends boolean = fals
|
|
|
608
613
|
* Deletes a snapshot of a sandbox by its ID.
|
|
609
614
|
*/
|
|
610
615
|
export declare const deleteSandboxSnapshot: <ThrowOnError extends boolean = false>(options: Options<DeleteSandboxSnapshotData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<void, import("./types.gen.js")._Error, ThrowOnError>;
|
|
616
|
+
/**
|
|
617
|
+
* Restore sandbox from snapshot
|
|
618
|
+
* Restores a sandbox to one of its own snapshots. The running sandbox is torn down and rebuilt from the snapshot under the same name and URLs, so everything it held since the snapshot was taken is lost unless it was itself snapshotted.
|
|
619
|
+
*/
|
|
620
|
+
export declare const restoreSandboxSnapshot: <ThrowOnError extends boolean = false>(options: Options<RestoreSandboxSnapshotData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen.js").SandboxRestoreResponse, import("./types.gen.js")._Error, ThrowOnError>;
|
|
621
|
+
/**
|
|
622
|
+
* Unarchive sandbox
|
|
623
|
+
* Recreates an archived sandbox from its archive. The recreated sandbox runs the current generation whatever generation it was archived from, restores the archived filesystem before anything starts, and starts the saved processes again with new process identifiers.
|
|
624
|
+
*/
|
|
625
|
+
export declare const unarchiveSandbox: <ThrowOnError extends boolean = false>(options: Options<UnarchiveSandboxData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen.js").Sandbox, import("./types.gen.js")._Error, ThrowOnError>;
|
|
611
626
|
/**
|
|
612
627
|
* Get sandbox by external ID
|
|
613
628
|
* Returns the most recent non-terminated sandbox matching the given external ID. If no active sandbox is found, returns 404.
|
|
614
629
|
*/
|
|
615
630
|
export declare const getSandboxByExternalId: <ThrowOnError extends boolean = false>(options: Options<GetSandboxByExternalIdData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen.js").Sandbox, import("./types.gen.js")._Error, ThrowOnError>;
|
|
631
|
+
/**
|
|
632
|
+
* List Workspace Schedule Executions
|
|
633
|
+
* Returns schedule execution submissions across the workspace, newest first by default. Status describes submission acceptance, not process completion. since and until are inclusive RFC 3339 bounds on creation time.
|
|
634
|
+
*/
|
|
635
|
+
export declare const listScheduleExecutions: <ThrowOnError extends boolean = false>(options?: Options<ListScheduleExecutionsData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen.js").SandboxScheduleExecutionList, unknown, ThrowOnError>;
|
|
636
|
+
/**
|
|
637
|
+
* List Workspace Schedules
|
|
638
|
+
* Returns schedule definitions across the workspace, newest first by default.
|
|
639
|
+
*/
|
|
640
|
+
export declare const listSchedules: <ThrowOnError extends boolean = false>(options?: Options<ListSchedulesData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen.js").SandboxScheduleEntryList, unknown, ThrowOnError>;
|
|
641
|
+
/**
|
|
642
|
+
* Get Sandbox Scheduling Metrics
|
|
643
|
+
* Returns active sandbox and scheduling metrics for a UTC minute window. since is inclusive and until is exclusive. The default window is the last 24 hours and the maximum is 7 days. Execution status describes submission acceptance, not process completion. Execution totals begin accumulating when metrics collection is enabled and can lag recent firings briefly.
|
|
644
|
+
*/
|
|
645
|
+
export declare const getSandboxScheduleMetrics: <ThrowOnError extends boolean = false>(options?: Options<GetSandboxScheduleMetricsData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen.js").SandboxScheduleMetrics, unknown, ThrowOnError>;
|
|
616
646
|
/**
|
|
617
647
|
* List service accounts
|
|
618
648
|
* Returns all service accounts in the workspace. Service accounts are machine identities for external systems to authenticate with Blaxel via OAuth or API keys.
|